Skip to content

v1.0.0 — Overhaul

Compare
Choose a tag to compare
@jwodder jwodder released this 31 Oct 22:33
· 88 commits to master since this release
v1.0.0
  • Removed deprecated functionality:
    • DistributionPackage.get_digests()
    • PyPISimple.get_projects()
    • PyPISimple.get_project_files()
    • parse_simple_index()
    • parse_project_page()
    • parse_links()
  • Drop support for Python 3.6
  • Support Python 3.11
  • IndexPage, ProjectPage, DistributionPackage, and Link have been changed from NamedTuples to dataclasses
  • Replaced DistributionPackage.yanked with separate is_yanked and yanked_reason attributes
  • parse_filename() now raises an UnparsableFilenameError on unparsable filenames instead of returning a triple of Nones
  • PyPISimple.get_project_page() now raises a NoSuchProjectError on 404 responses instead of returning None
  • The functions for parsing data into IndexPage and ProjectPage instances have been replaced with classmethods:
    • parse_repo_index_page()IndexPage.from_html()
    • parse_repo_index_json()IndexPage.from_json_data()
    • parse_repo_index_response()IndexPage.from_response()
    • parse_repo_links()RepositoryPage.from_html()
    • parse_repo_project_page()ProjectPage.from_html()
    • parse_repo_project_json()ProjectPage.from_json_data()
    • parse_repo_project_response()ProjectPage.from_response()
  • Add a RepositoryPage class for representing the return value of parse_repo_links() (now called RepositoryPage.from_html())
  • Renamed DistributionPackage.from_pep691_details() to from_json_data()
  • PyPISimple.stream_project_names() now accepts JSON responses
  • Use pydantic internally to parse JSON responses
  • Added constants for passing to PyPISimple and its methods in order to specify the Accept header to send