Releases: jwodder/pypi-simple
Releases · jwodder/pypi-simple
v1.7.0 — Support PEP 792
- Support Python 3.13
- Bugfix: Fix parsing of PEP 708
alternate-locations
fields in JSON project pages (Previous versions looked for the field in the wrong location) - Support PEP 792
status
andstatus_reason
attributes added toProjectPage
andRepositoryPage
ProjectStatus
enum addedSUPPORTED_REPOSITORY_VERSION
increased to"1.4"
v1.6.1 — Update `SUPPORTED_REPOSITORY_VERSION`
SUPPORTED_REPOSITORY_VERSION
increased to"1.3"
for compatibility with PEP 740
v1.6.0 — Support PEP 740
- Drop support for Python 3.7
- Support PEP 740
provenance_sha256
andprovenance_url
fields added toDistributionPackage
get_provenance()
method added toPyPISimple
NoProvenanceError
exception type added
- Add
url
fields to theDigestMismatchError
,NoDigestsError
, andNoMetadataError
classes
v1.5.0 — Custom headers and decoding metadata
- Bugfix: Fix parsing of "true"
data-core-metadata
attributes and handling of the attribute's absence (contributed by @thatch)DistributionPackage.has_metadata
will now beNone
if this attribute was absent in the HTML returned by PyPI. Previously, it would beFalse
under this circumstance.
- Added
PyPISimple.get_package_metadata_bytes()
(contributed by @thatch) PyPISimple.get_package_metadata()
now always decodes responses as UTF-8 (contributed by @thatch)- Request methods now take optional
headers
arguments (contributed by @thatch)
v1.4.1 — Fix `get_project_page()`
- Migrated from setuptools to hatch
- Bugfix: When no
accept
argument is passed toPyPISimple.get_project_page()
, actually fall back to the value supplied on client instantiation, as documented (contributed by @thatch)
v1.4.0 — Support PEP 708
- Support PEP 708
tracks
andalternate_locations
attributes added toProjectPage
pypi_meta
,tracks
, andalternate_locations
attributes added toRepositoryPage
SUPPORTED_REPOSITORY_VERSION
increased to"1.2"
v1.3.0 — Fetching metadata
- Support Python 3.12
- Update for PEP 714
- Gave
PyPISimple
aget_package_metadata()
method - Added an examples page to the documentation
v1.2.0 — Update pydantic to v2.0
Version 1.2.0
v1.1.0 — Support PEP 700
- Support PEP 700
versions
field added toProjectPage
size
andupload_time
fields added toDistributionPackage
SUPPORTED_REPOSITORY_VERSION
increased to"1.1"
v1.0.0 — Overhaul
- 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
, andLink
have been changed from NamedTuples to dataclasses- Replaced
DistributionPackage.yanked
with separateis_yanked
andyanked_reason
attributes parse_filename()
now raises anUnparsableFilenameError
on unparsable filenames instead of returning a triple ofNone
sPyPISimple.get_project_page()
now raises aNoSuchProjectError
on 404 responses instead of returningNone
- The functions for parsing data into
IndexPage
andProjectPage
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 ofparse_repo_links()
(now calledRepositoryPage.from_html()
) - Renamed
DistributionPackage.from_pep691_details()
tofrom_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 theAccept
header to send