Metadata-Version: 2.4
Name: pyrmp
Version: 0.1.5
Summary: A Python wrapper for the RateMyProfessor GraphQL API
Project-URL: Homepage, https://github.com/yourusername/pyrmp
Project-URL: Repository, https://github.com/yourusername/pyrmp
Project-URL: Issues, https://github.com/yourusername/pyrmp/issues
Author-email: Aarush <aarush@example.com>
License: MPL-2.0
License-File: LICENSE
Keywords: api,education,graphql,ratemyprofessor,ratings
Classifier: Development Status :: 4 - Beta
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: Mozilla Public License 2.0 (MPL 2.0)
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Classifier: Topic :: Software Development :: Libraries :: Python Modules
Requires-Python: >=3.10
Requires-Dist: gql[all]>=4.0.0
Provides-Extra: dev
Requires-Dist: pytest-asyncio>=0.21.0; extra == 'dev'
Requires-Dist: pytest-cov>=4.0.0; extra == 'dev'
Requires-Dist: pytest>=7.0.0; extra == 'dev'
Requires-Dist: requests>=2.28.0; extra == 'dev'
Description-Content-Type: text/markdown

# pyrmp

Python wrapper for the RateMyProfessor GraphQL API.

## Install

```bash
pip install pyrmp
```

Or install directly from GitHub:

```bash
pip install git+https://github.com/aarush-murari/pyrmp.git
```

## Quick Start

```python
from pyrmp import RateMyProfessorClient

with RateMyProfessorClient() as client:
    # Search for teachers (returns ratings by default)
    teachers = client.search_teachers("John Smith")
    for teacher in teachers.items:
        print(f"{teacher.full_name} - {teacher.avg_rating}/5 ({teacher.num_ratings} ratings)")

    # Get teacher details
    details = client.get_teacher_details(teachers.items[0].id)
    print(f"Department: {details.department}")
    print(f"Would take again: {details.would_take_again_percent}%")

    # Get ratings
    ratings = client.get_teacher_ratings(details.id, count=5)
    for rating in ratings.items:
        print(f"  {rating.clarity_rating}/5 - {rating.comment[:50]}")
```

## CLI

```bash
# Search teachers (includes ratings)
pyrmp search "John Smith" --count 10

# Get teacher details
pyrmp teacher "John Smith"

# Get ratings for a teacher
pyrmp ratings "Teacher-941174"

# Search schools
pyrmp schools "MIT"

# JSON output (pipe to jq)
pyrmp search "John Smith" --json | jq '.[] | .name'

# Hide IDs
pyrmp search "John Smith" --no-ids
```

## Documentation

See [the Sphynx documentation](https://aarush-murari.github.io/pyrmp/api.html#exceptions) for full API reference, examples, and advanced usage.

## License

MPL-2.0
