ebird-api-requests 4.1.0__tar.gz → 4.1.1__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (22) hide show
  1. {ebird_api_requests-4.1.0/src/ebird_api_requests.egg-info → ebird_api_requests-4.1.1}/PKG-INFO +1 -1
  2. {ebird_api_requests-4.1.0 → ebird_api_requests-4.1.1}/pyproject.toml +2 -2
  3. {ebird_api_requests-4.1.0 → ebird_api_requests-4.1.1}/src/ebird/api/requests/__init__.py +1 -1
  4. {ebird_api_requests-4.1.0 → ebird_api_requests-4.1.1}/src/ebird/api/requests/hotspots.py +9 -4
  5. {ebird_api_requests-4.1.0 → ebird_api_requests-4.1.1}/src/ebird/api/requests/utils.py +2 -0
  6. {ebird_api_requests-4.1.0 → ebird_api_requests-4.1.1/src/ebird_api_requests.egg-info}/PKG-INFO +1 -1
  7. {ebird_api_requests-4.1.0 → ebird_api_requests-4.1.1}/LICENSE.txt +0 -0
  8. {ebird_api_requests-4.1.0 → ebird_api_requests-4.1.1}/README.md +0 -0
  9. {ebird_api_requests-4.1.0 → ebird_api_requests-4.1.1}/setup.cfg +0 -0
  10. {ebird_api_requests-4.1.0 → ebird_api_requests-4.1.1}/setup.py +0 -0
  11. {ebird_api_requests-4.1.0 → ebird_api_requests-4.1.1}/src/ebird/api/requests/checklists.py +0 -0
  12. {ebird_api_requests-4.1.0 → ebird_api_requests-4.1.1}/src/ebird/api/requests/client.py +0 -0
  13. {ebird_api_requests-4.1.0 → ebird_api_requests-4.1.1}/src/ebird/api/requests/constants.py +0 -0
  14. {ebird_api_requests-4.1.0 → ebird_api_requests-4.1.1}/src/ebird/api/requests/observations.py +0 -0
  15. {ebird_api_requests-4.1.0 → ebird_api_requests-4.1.1}/src/ebird/api/requests/regions.py +0 -0
  16. {ebird_api_requests-4.1.0 → ebird_api_requests-4.1.1}/src/ebird/api/requests/species.py +0 -0
  17. {ebird_api_requests-4.1.0 → ebird_api_requests-4.1.1}/src/ebird/api/requests/statistics.py +0 -0
  18. {ebird_api_requests-4.1.0 → ebird_api_requests-4.1.1}/src/ebird/api/requests/taxonomy.py +0 -0
  19. {ebird_api_requests-4.1.0 → ebird_api_requests-4.1.1}/src/ebird/api/requests/validation.py +0 -0
  20. {ebird_api_requests-4.1.0 → ebird_api_requests-4.1.1}/src/ebird_api_requests.egg-info/SOURCES.txt +0 -0
  21. {ebird_api_requests-4.1.0 → ebird_api_requests-4.1.1}/src/ebird_api_requests.egg-info/dependency_links.txt +0 -0
  22. {ebird_api_requests-4.1.0 → ebird_api_requests-4.1.1}/src/ebird_api_requests.egg-info/top_level.txt +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: ebird-api-requests
3
- Version: 4.1.0
3
+ Version: 4.1.1
4
4
  Summary: A python library for accessing the eBird API, version 2.0
5
5
  Author-email: Stuart MacKay <smackay@flagstonesoftware.com>
6
6
  License: MIT License
@@ -29,7 +29,7 @@ license = {text = "MIT License"}
29
29
  name = "ebird-api-requests"
30
30
  readme = "README.md"
31
31
  requires-python = ">= 3.10"
32
- version = "4.1.0"
32
+ version = "4.1.1"
33
33
 
34
34
  [project.urls]
35
35
  Repository = "https://github.com/StuartMacKay/ebird-api-requests.git"
@@ -37,7 +37,7 @@ Issues = "https://github.com/StuartMacKay/ebird-api-requests/issues"
37
37
  Changelog = "https://github.com/StuartMacKay/ebird-api-requests/blob/master/CHANGELOG.md"
38
38
 
39
39
  [tool.bumpversion]
40
- current_version = "4.1.0"
40
+ current_version = "4.1.1"
41
41
  parse = "(?P<major>\\d+)\\.(?P<minor>\\d+)\\.(?P<patch>\\d+)"
42
42
  serialize = ["{major}.{minor}.{patch}"]
43
43
  ignore_missing_version = false
@@ -2,7 +2,7 @@
2
2
 
3
3
  """A set of wrapper functions for accessing the eBird API."""
4
4
 
5
- __version__ = "4.1.0"
5
+ __version__ = "4.1.1"
6
6
 
7
7
  from ebird.api.requests.checklists import get_checklist, get_visits
8
8
  from ebird.api.requests.client import Client
@@ -1,5 +1,6 @@
1
1
  """Functions for fetching information about hotspots."""
2
2
 
3
+ from json import JSONDecodeError
3
4
  from urllib.error import HTTPError
4
5
 
5
6
  from ebird.api.requests.utils import call
@@ -124,8 +125,8 @@ def get_hotspot(token, loc_id):
124
125
  """Get the geographical details of a hotspot.
125
126
 
126
127
  The call only work for hotspots. If you use the identifier for a private
127
- location the eBird API will return HTTP 410 Gone and an HttpError will be
128
- raised.
128
+ location the eBird API will return an empty response (as of Oct 2026) and
129
+ a JSONDecodeError will be raised.
129
130
 
130
131
  This maps to the end point in the eBird API 2.0,
131
132
  https://documenter.getpostman.com/view/664302/S1ENwy59?version=latest#e25218db-566b-4d8b-81ca-e79a8f68c599
@@ -143,6 +144,8 @@ def get_hotspot(token, loc_id):
143
144
 
144
145
  :raises HTTPError if the eBird API returns an error.
145
146
 
147
+ :raises JSONDecodeError if the JSON data returned by the API is invalid.
148
+
146
149
  """
147
150
  url = HOTSPOT_INFO_URL % clean_location(loc_id)
148
151
 
@@ -185,11 +188,13 @@ def get_location(token, loc_id):
185
188
 
186
189
  # get_region() does not return "isHotspot" in the results, so we
187
190
  # try get_hotspot() first and if the call fails with HTTP 410 Gone,
188
- # indicating it's a private location, we call get_region and
189
- # massage the result.
191
+ # or as of Oct 2026, HTTP 200 and an empty response, indicating
192
+ # it's a private location, we call get_region and massage the result.
190
193
 
191
194
  try:
192
195
  return get_hotspot(token, loc_id)
196
+ except JSONDecodeError:
197
+ pass
193
198
  except HTTPError as err:
194
199
  if err.code != 410:
195
200
  raise
@@ -182,6 +182,8 @@ def call(url, params, headers, max_retries=3, backoff_factor=1.0):
182
182
 
183
183
  :raises HTTPError if the eBird API returns an error.
184
184
 
185
+ :raises JSONDecodeError if the JSON data returned by the API is invalid.
186
+
185
187
  """
186
188
  filtered = filter_parameters(params)
187
189
  mapped = map_parameters(filtered)
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: ebird-api-requests
3
- Version: 4.1.0
3
+ Version: 4.1.1
4
4
  Summary: A python library for accessing the eBird API, version 2.0
5
5
  Author-email: Stuart MacKay <smackay@flagstonesoftware.com>
6
6
  License: MIT License