Skip to content

v3.0.0 Release

Latest

Choose a tag to compare

@amaanjaved1 amaanjaved1 released this 25 Apr 22:57

Changelog

3.0.0

Breaking Changes

  • RMPClientConfig.from_env() removed. Pass RMPClientConfig() directly; there is no longer an env-var-driven constructor.
  • RMPClientConfig.rate_limit_per_minute removed. Rate limiting is now handled internally by a fixed-capacity TokenBucket and is no longer configurable via config.
  • School model: city, state, country replaced by location. The three separate fields are merged into a single location: Optional[str] (e.g. "Toronto, ON, Canada").
  • ProfessorSearchResult and SchoolSearchResult: page field removed. Both result types are now cursor-only — the page: int field is gone.
  • search_schools() and search_professors(): page parameter removed, cursor parameter added. Paginate by passing cursor=result.next_cursor.
  • Professor.url field removed.
  • RatingSummary model removed.

New Features

  • Full school support: get_school(), get_compare_schools(), get_school_ratings_page(), iter_school_ratings().
  • New models: SchoolRating, SchoolRatingsPage, CompareSchoolsResult.
  • Iterators: iter_professors_for_school(), iter_professor_ratings() — both handle cursor pagination automatically.
  • get_professor_ratings_page() now accepts a course_filter parameter.
  • Rating gains details, thumbs_up, thumbs_down fields.
  • extras module (all re-exported from rmp_client): analyze_sentiment, SentimentResult, is_valid_comment, normalize_comment, ValidationResult, CommentIssue, build_course_mapping, clean_course_label.
  • TokenBucket is now publicly exported from rmp_client.

2.1.2

  • Docs favicon and README badge cache updates.

2.1.0

  • Helpers (formerly dedupe): normalize_comment strips HTML by default and supports strip_punctuation; is_valid_comment returns a ValidationResult with valid and issues instead of a boolean, checking for empty, too short, all caps, excessive repeats, and no alphabetic characters.
  • Ingest example: Updated to use is_valid_comment(...).valid for the new return type.