Petpy

Latest version: v2.4.21

Safety actively analyzes 682487 Python packages for vulnerabilities to keep your Python projects secure.

Scan your dependencies

Page 2 of 6

2.2.0

* Support for Python 3.5 has been discontinued.
* The `animals()` method has been updated to include new parameters provided by Petfinder's `animal`
endpoint. These 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.

2.1.3

* `organization_id` parameter in the `animals` method should now only return animals from specified organization IDs.

2.1.2

New release includes a bug fix and some additional changes for checking total usage against the Petfinder API.

- `animal_type` parameter used in the `animals()` 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.

Thank you to contributor [ma755](https://github.com/ma7555) for submitting the pull request.

2.1.1

Small update release to fix the `distance` parameter logic when searching for pets using the `animals()` or
`organizations()` methods. Thank you to contributor [ljlevins](https://github.com/ljlevins) for submitting the pull
request.

2.1.0

The `2.1.0` release of `petpy` implements several user-defined exceptions to help users debug any
errors that may occur. Although the `petpy` library attempts to find any invalid passed parameter values and raise the
appropriate error before the call to the Petfinder API is made to reduce the number of calls made to the API; however,
some errors cannot be caught until after the API call is made. This update introduces these custom, user-defined
exceptions for debugging error responses from the Petfinder API. For more information on the Petfinder API error
definitions, please see the [Petfinder API documentation](https://www.petfinder.com/developers/v2/docs/#errors).

The following is a list of the new user-defined exceptions.

- `PetfinderInvalidCredentials`
- Raised when a user enters invalid API key and secret key credentials.
- `PetfinderInsufficientAccess`
- Raised when a [status code 403](https://httpstatuses.com/403) occurs. This error would typically be
raised when the current authentication token to the Petfinder API has expired and requires the connnection
to be re-authenticated.
- `PetfinderResourceNotFound`
- Raised when a [status code 404](https://httpstatuses.com/404) occurs.
- `PetfinderUnexpectedError`
- Raised when a [status code 500](https://httpstatuses.com/500) occurs.
- `PetfinderInvalidParameters`
- Raised when a [400 status code](https://httpstatuses.com/400) occurs. The exception will include the invalid
parameters detected by the Petfinder API and include those parameters as part of the error output as a JSON object.
For more information on this error, please see the
[Petfinder API documentation](https://www.petfinder.com/developers/v2/docs/#err-00002).
- Please note the `petpy` library will attempt to catch any invalid parameters before the API call is made to avoid
extraneous issuage of the API, but if an invalid parameter does get through then this error should help provide
the necessary information for users to debug any errors related to their chosen parameters.

The following other changes have been made in the `2.1.0` release.

- The `host` and `auth` attributes of the `Petfinder` class are now private (to the extent that Python allows private
attributes, denoted with an underscore in front of the attribute).

2.0.2

Minor bug fix release with following:

- `breeds()` method now correctly returns data when a single animal type is supplied.
- `animals()` method now properly displays the correct error message when the `distance` parameter is
0 <= distance <= 500.

Page 2 of 6

© 2024 Safety CLI Cybersecurity Inc. All Rights Reserved.