Releases: aschleg/petpy
Releases · aschleg/petpy
2.4.22 Release
2.4.2 Hotfix Release
Version 2.4.2
- Another hotfix for correctly incrementing re-tries in the event of a 500 error.
2.4.1 Release
Version 2.4.1
- Hotfix to correct issue with change released in 2.4.0 that would return a sparse JSON result
if an animal ID couldn't be found. - There seems to be some intermittent issues with the Petfinder API (at the time of this writing November 7th, 2024)
where an increased volume of500
errors are being raised, at least according to my own testing. A
change has been made to attempt an API call three times in the event of a500
error rather than immediately
raising a500
status code. If a non-authentication request reaches the three count retry, a sparse JSON dictionary
is returned with the response code.- If anyone else has experienced this, please let me know.
2.4.0 Release
Version 2.4.0
- Implemented rate-limiting for API calls that could potentially exceed the quotas
set by Petfinder (50 calls/second, 1,000/day). An exponential backoff strategy is employed when rates exceed
the given limits and tries ten more times before giving up and returning the collected results. - Access token that is generated on first initialization of Petfinder should now refresh automatically
after expiring. - Removed the
max_page_warning
that would be displayed when there were fewer total pages
in the Petfinder API results to those requested in thepages
parameter. - A
response
key has been added to the returned animal or organization object. If an ID isn't found,
theresponse
value will be 404. - Type annotations have been added to the
Petfinder
methods.
petpy 2.3.1 Release
Removed rate check limits that were causing errors with trying to call more than one page for several endpoint functions.
petpy 2.3.0 Release
- Added several additional search filters to the
animals()
function.declawed
: Filters results by animals that are marked as declawed.house_trained
: Filters results by animals that are house trained.special_needs
: Filters results by animals that have special needs
- Search filters that can take multiple values in the
animals()
function, includingage
,gender
,status
,animal_type
,size
, andcoat
, should now correctly accept both comma-delimited strings, such asage='baby,'young'
and lists or tuples. - The required version for
pandas
has been updated to at least version1.0.0
.
petpy 2.2.0 release
- Support for Python 3.5 has been discontinued.
- The
animals()
method has been updated to include new parameters provided by Petfinder'sanimal
endpoint. This parameters include:good_with_cats
: Boolean for filtering animals that are designated as good with cats.good_with_children
: Boolean for filtering animals that are designated as good with children.good_with_dogs
: Boolean for filtering animals that are designated as good with dogs.before_date
: Returns results published before the specified time.after_date
: Returns results published after the specified time.
petpy 2.1.3 release
organization_id
parameter in theanimals
method should now only return animals from specified organization IDs.
petpy 2.1.2 Release
New release includes a bug fix and some additional changes for checking total usage against the Petfinder API.
animal_type
parameter used in theanimals()
endpoint has been corrected and should be working properly.- New methods for checking the usage of the supplied API key against the limits defined by the Petfinder API have been implemented to better help warn users when they are approaching their API request limit.
- If the
max_pages
parameter exceeds 10,000, a warning will be issued to give the user the opportunity to continue or limit their results to 10,000 pages. - When the API limits are exceeded, a
RuntimeError
will be issued.
- If the
Thank you to contributor ma755 for submitting the pull request.
petpy 2.1.1 Release
Small update release to fix the distance
parameter logic when searching for pets using the animals()
or
organizations()
methods. Thank you to contributor ljlevins for submitting the pull request.