pygbif


Namepygbif JSON
Version 0.6.4 PyPI version JSON
download
home_pagehttp://github.com/gbif/pygbif
SummaryPython client for GBIF
upload_time2024-03-12 12:19:32
maintainer
docs_urlNone
authorScott Chamberlain
requires_python
licenseMIT
keywords gbif biodiversity specimens api web-services occurrences species taxonomy
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            pygbif
======

|pypi| |docs| |ghactions| |coverage| |black|

Python client for the `GBIF API <https://www.gbif.org/developer/summary>`_

`Source on GitHub at gbif/pygbif <https://github.com/gbif/pygbif>`_

Other GBIF clients:

* R: `rgbif`, `ropensci/rgbif <https://github.com/ropensci/rgbif>`_
* Ruby: `gbifrb`, `sckott/gbifrb <https://github.com/sckott/gbifrb>`_
* PHP: `php-gbif`, `restelae/php-gbif <https://gitlab.res-telae.cat/restelae/php-gbif>`_

Contributing: `CONTRIBUTING.md <https://github.com/gbif/pygbif/blob/master/.github/CONTRIBUTING.md>`_

Installation
============

Stable from pypi

.. code-block:: console

    pip install pygbif

Development version

.. code-block:: console

    [sudo] pip install git+git://github.com/gbif/pygbif.git#egg=pygbif


`pygbif` is split up into modules for each of the major groups of API methods.

* Registry - Datasets, Nodes, Installations, Networks, Organizations
* Species - Taxonomic names
* Occurrences - Occurrence data, including the download API
* Maps - Maps, get raster maps from GBIF as png or mvt

You can import the entire library, or each module individually as needed.

In addition there is a utils module, currently with one method: `wkt_rewind`, and
a `caching` method to manage whether HTTP requests are cached or not. See `?pygbif.caching`.

Registry module
===============

registry module API:

* `organizations`
* `nodes`
* `networks`
* `installations`
* `datasets`
* `dataset_metrics`
* `dataset_suggest`
* `dataset_search`

Example usage:

.. code-block:: python

    from pygbif import registry
    registry.dataset_metrics(uuid='3f8a1297-3259-4700-91fc-acc4170b27ce')

Species module
==============

species module API:

* `name_backbone`
* `name_suggest`
* `name_usage`
* `name_lookup`
* `name_parser`

Example usage:

.. code-block:: python

    from pygbif import species
    species.name_suggest(q='Puma concolor')

Occurrences module
==================

registry module API:

* `search`
* `get`
* `get_verbatim`
* `get_fragment`
* `count`
* `count_basisofrecord`
* `count_year`
* `count_datasets`
* `count_countries`
* `count_schema`
* `count_publishingcountries`
* `download`
* `download_meta`
* `download_list`
* `download_get`

Example usage:

.. code-block:: python

    from pygbif import occurrences as occ
    occ.search(taxonKey = 3329049)
    occ.get(key = 252408386)
    occ.count(isGeoreferenced = True)
    occ.download('basisOfRecord = PRESERVED_SPECIMEN')
    occ.download('taxonKey = 3119195')
    occ.download('decimalLatitude > 50')
    occ.download_list(user = "sckott", limit = 5)
    occ.download_meta(key = "0000099-140929101555934")
    occ.download_get("0000066-140928181241064")

Maps module
===========

maps module API:

* `map`

Example usage:

.. code-block:: python

    from pygbif import maps
    out = maps.map(taxonKey = 212, year = 1998, bin = "hex",
           hexPerTile = 30, style = "classic-noborder.poly")
    out.response
    out.path
    out.img
    out.plot()

.. image:: https://github.com/gbif/pygbif/raw/master/gbif_map.png
   :width: 25%
   :scale: 25%

utils module
============

utils module API:

* `wkt_rewind`

Example usage:

.. code-block:: python

    from pygbif import utils
    x = 'POLYGON((144.6 13.2, 144.6 13.6, 144.9 13.6, 144.9 13.2, 144.6 13.2))'
    utils.wkt_rewind(x)



Contributors
============

* `Scott Chamberlain <https://github.com/sckott>`_
* `Robert Forkel <https://github.com/xrotwang>`_
* `Jan Legind <https://github.com/jlegind>`_
* `Stijn Van Hoey <https://github.com/stijnvanhoey>`_
* `Peter Desmet <https://github.com/peterdesmet>`_
* `Nicolas Noé <https://github.com/niconoe>`_

Meta
====

* License: MIT, see `LICENSE file <LICENSE>`_
* Please note that this project is released with a `Contributor Code of Conduct <CONDUCT.md>`_. By participating in this project you agree to abide by its terms.

.. |pypi| image:: https://img.shields.io/pypi/v/pygbif.svg
   :target: https://pypi.python.org/pypi/pygbif

.. |docs| image:: https://readthedocs.org/projects/pygbif/badge/?version=latest
   :target: http://pygbif.rtfd.org/

.. |ghactions| image:: https://github.com/gbif/pygbif/workflows/Python/badge.svg
   :target: https://github.com/gbif/pygbif/actions?query=workflow%3APython

.. |coverage| image:: https://codecov.io/gh/gbif/pygbif/branch/master/graph/badge.svg?token=frXPREGk1D
   :target: https://codecov.io/gh/gbif/pygbif

.. |black| image:: https://img.shields.io/badge/code%20style-black-000000.svg
   :target: https://github.com/psf/black




Changelog
=========
0.6.4 (2024-03-12)
------------------
- fixed a bug in building the documentation with readthedocs `138`, `129`
- tests now run against live GBIF APIs `101`, `128`  
- updated caching.py since the ``remove_expired_responses`` method is deprecated. `126`

0.6.3 (2023-05-25)
------------------
- added support for predicates: ``isNull``, ``isNotNull``, ``in`` and ``not`` `92`, `102` and `103` 
- added support for nested queries/dictionaries `104`
- deprecated the ``add_predicate`` function and added ``add_pred_dict`` to accomodate for newly supported predicates to ensure that the arguments that are sent are added in the payload function `108`
- added support for multiple download formats `105`
- updated operators and look-up tables `107`
- included documentation on newly supported predicates and dictionaries `106`

0.6.2 (2023-01-24)
------------------
- update to fix requesting GBIF downloads
- minor documentation updates `95` and `99`

0.6.1 (2022-06-23)
------------------
- update to fix broken dependencies `93`
- minor documentation updates

0.6.0 (2021-07-08)
------------------
- Fix for `occurrences.download` when giving `geometry` as a string rather than using `add_geometry`; predicates were being split on whitespace, which doesn't work for WKT `81` `84`
- Moved to using the `logging` module instead of `print()` for giving information on occurrence download methods `78`
- Clarify that `occurrences.count` for length 1 inputs only; see `occurrences.search` for > 1 value `75` `77`
- Improved documentation for `species.name_usage` method, mostly for the `language` parameter `68`
- Gains download method `download_cancel` for cancelling/deleting a download request `59`

0.5.0 (2020-09-29)
------------------
- `occurrences.search` now supports `recordedByID` and `identifiedByID` search parameters `62`
- clean up the Contributing file, thanks @niconoe `64`
- clean up internal imports in the library, thanks @niconoe `65`
- fix usage of `is` and `==`, was using them inappropriately sometimes (via https://realpython.com/python-is-identity-vs-equality/), `69`
- remove redundant parameter in a doc string, thanks @faroit `71`
- make a test for internal fxn `gbif_GET_write` more general to avoid errors if GBIF changes content type response header slightly `72`

0.4.0 (2019-11-20)
------------------
- changed base url to https for all requests; was already https for maps and downloads in previous versions
- occurrences, species, and registry modules gain docstrings with brief summary of each method
- pygbif gains ability to cache http requests. caching is off by default. See `?pygbif.caching` for all the details `52` `56` via @nleguillarme
- made note in docs that if you are trying to get the same behavior as the GBIF website for name searching, `species.name_backbone` is likely what you want `55` thanks @qgroom
- for parameters that expect a `bool`, convert them to lowercase strings internally before doing HTTP requests

0.3.0 (2019-01-25)
------------------
- pygbif is Python 3 only now `19`
- Gains maps module with maps.map method for working with the GBIF maps API `41` `49`
- Gains new module utils with one method `wkt_rewind`  `46` thanks @aubreymoore for the inspiration
- Fixed bug in registry.installations: typo in one of the parameters `identifierTyp` instead of `identifierType` `48` thanks @data-biodiversity-aq
- Link to GitHub issues from Changelog 🎉
- Fix a occurrence download test `47`
- Much more thorough docs `25`

0.2.0 (2016-10-18)
------------------
- Download methods much improved `16` `27` thanks @jlegind @stijnvanhoey @peterdesmet !
- MULTIPOLYGON now supported in `geometry` parameter `35`
- Fixed docs for `occurrences.get`, and `occurrences.get_verbatim`, `occurrences.get_fragment` and demo that used occurrence keys that no longer exist in GBIF `39`
- Added `organizations` method to `registry` module `12`
- Added remainder of datasets methods: `registry.dataset_search` (including faceting support `37`) and `registry.dataset_suggest`, for the `/dataset/search` and `/dataset/suggest` routes, respectively `40`
- Added remainder of species methods: `species.name_lookup` (including faceting support `38`) and `species.name_usage`, for the `/species/search` and `/species` routes, respectively `18`
- Added more tests to cover new methods
- Changed `species.name_suggest` to give back data stucture as received from GBIF. We used to parse out the classification data, but for simplicity and speed, that is left up to the user now.
- `start` parameter in `species.name_suggest`, `occurrences.download_list`, `registry.organizations`, `registry.nodes`, `registry.networks`, and `registry.installations`, changed to `offset` to match GBIF API and match usage throughout remainder of `pygbif`

0.1.5.4 (2016-10-01)
--------------------
- Added many new `occurrence.search` parameters, including `repatriated`, `kingdomKey`, `phylumKey`, `classKey`, `orderKey`, `familyKey`, `genusKey`, `subgenusKey`, `establishmentMeans`, `facet`, `facetMincount`, `facetMultiselect`, and support for facet paging via	`**kwargs` `30` `34`
- Fixes to `**kwargs` in `occurrence.search` so that facet parameters can be parsed correctly and `requests` GET	request options are collected correctly `36`
- Added `spellCheck` parameter to `occurrence.search` that goes along with the `q` parameter to optionally spell check full text searches `31`

0.1.4 (2016-06-04)
------------------
- Added variable types throughout docs
- Changed default `limit` value to 300 for `occurrences.search` method
- `tox` now included, via @xrotwang `20`
- Added more registry methods `11`
- Started occurrence download methods `16`
- Added more names methods `18`
- All requests now send user-agent headers with `requests` and `pygbif` versions `13`
- Bug fix for `occurrences.download_get` `23`
- Fixed bad example for `occurrences.get` `22`
- Fixed wheel to be universal for 2 and 3 `10`
- Improved documentation a lot, autodoc methods now

0.1.1 (2015-11-03)
------------------
- Fixed distribution for pypi

0.1.0 (2015-11-02)
------------------
- First release

            

Raw data

            {
    "_id": null,
    "home_page": "http://github.com/gbif/pygbif",
    "name": "pygbif",
    "maintainer": "",
    "docs_url": null,
    "requires_python": "",
    "maintainer_email": "",
    "keywords": "gbif,biodiversity,specimens,API,web-services,occurrences,species,taxonomy",
    "author": "Scott Chamberlain",
    "author_email": "myrmecocystus@gmail.com",
    "download_url": "https://files.pythonhosted.org/packages/4a/20/9d6d02ed8ea74bd6546f79e9ec9f323c1b5eee87df86ee505627127ffcd2/pygbif-0.6.4.tar.gz",
    "platform": null,
    "description": "pygbif\r\n======\r\n\r\n|pypi| |docs| |ghactions| |coverage| |black|\r\n\r\nPython client for the `GBIF API <https://www.gbif.org/developer/summary>`_\r\n\r\n`Source on GitHub at gbif/pygbif <https://github.com/gbif/pygbif>`_\r\n\r\nOther GBIF clients:\r\n\r\n* R: `rgbif`, `ropensci/rgbif <https://github.com/ropensci/rgbif>`_\r\n* Ruby: `gbifrb`, `sckott/gbifrb <https://github.com/sckott/gbifrb>`_\r\n* PHP: `php-gbif`, `restelae/php-gbif <https://gitlab.res-telae.cat/restelae/php-gbif>`_\r\n\r\nContributing: `CONTRIBUTING.md <https://github.com/gbif/pygbif/blob/master/.github/CONTRIBUTING.md>`_\r\n\r\nInstallation\r\n============\r\n\r\nStable from pypi\r\n\r\n.. code-block:: console\r\n\r\n    pip install pygbif\r\n\r\nDevelopment version\r\n\r\n.. code-block:: console\r\n\r\n    [sudo] pip install git+git://github.com/gbif/pygbif.git#egg=pygbif\r\n\r\n\r\n`pygbif` is split up into modules for each of the major groups of API methods.\r\n\r\n* Registry - Datasets, Nodes, Installations, Networks, Organizations\r\n* Species - Taxonomic names\r\n* Occurrences - Occurrence data, including the download API\r\n* Maps - Maps, get raster maps from GBIF as png or mvt\r\n\r\nYou can import the entire library, or each module individually as needed.\r\n\r\nIn addition there is a utils module, currently with one method: `wkt_rewind`, and\r\na `caching` method to manage whether HTTP requests are cached or not. See `?pygbif.caching`.\r\n\r\nRegistry module\r\n===============\r\n\r\nregistry module API:\r\n\r\n* `organizations`\r\n* `nodes`\r\n* `networks`\r\n* `installations`\r\n* `datasets`\r\n* `dataset_metrics`\r\n* `dataset_suggest`\r\n* `dataset_search`\r\n\r\nExample usage:\r\n\r\n.. code-block:: python\r\n\r\n    from pygbif import registry\r\n    registry.dataset_metrics(uuid='3f8a1297-3259-4700-91fc-acc4170b27ce')\r\n\r\nSpecies module\r\n==============\r\n\r\nspecies module API:\r\n\r\n* `name_backbone`\r\n* `name_suggest`\r\n* `name_usage`\r\n* `name_lookup`\r\n* `name_parser`\r\n\r\nExample usage:\r\n\r\n.. code-block:: python\r\n\r\n    from pygbif import species\r\n    species.name_suggest(q='Puma concolor')\r\n\r\nOccurrences module\r\n==================\r\n\r\nregistry module API:\r\n\r\n* `search`\r\n* `get`\r\n* `get_verbatim`\r\n* `get_fragment`\r\n* `count`\r\n* `count_basisofrecord`\r\n* `count_year`\r\n* `count_datasets`\r\n* `count_countries`\r\n* `count_schema`\r\n* `count_publishingcountries`\r\n* `download`\r\n* `download_meta`\r\n* `download_list`\r\n* `download_get`\r\n\r\nExample usage:\r\n\r\n.. code-block:: python\r\n\r\n    from pygbif import occurrences as occ\r\n    occ.search(taxonKey = 3329049)\r\n    occ.get(key = 252408386)\r\n    occ.count(isGeoreferenced = True)\r\n    occ.download('basisOfRecord = PRESERVED_SPECIMEN')\r\n    occ.download('taxonKey = 3119195')\r\n    occ.download('decimalLatitude > 50')\r\n    occ.download_list(user = \"sckott\", limit = 5)\r\n    occ.download_meta(key = \"0000099-140929101555934\")\r\n    occ.download_get(\"0000066-140928181241064\")\r\n\r\nMaps module\r\n===========\r\n\r\nmaps module API:\r\n\r\n* `map`\r\n\r\nExample usage:\r\n\r\n.. code-block:: python\r\n\r\n    from pygbif import maps\r\n    out = maps.map(taxonKey = 212, year = 1998, bin = \"hex\",\r\n           hexPerTile = 30, style = \"classic-noborder.poly\")\r\n    out.response\r\n    out.path\r\n    out.img\r\n    out.plot()\r\n\r\n.. image:: https://github.com/gbif/pygbif/raw/master/gbif_map.png\r\n   :width: 25%\r\n   :scale: 25%\r\n\r\nutils module\r\n============\r\n\r\nutils module API:\r\n\r\n* `wkt_rewind`\r\n\r\nExample usage:\r\n\r\n.. code-block:: python\r\n\r\n    from pygbif import utils\r\n    x = 'POLYGON((144.6 13.2, 144.6 13.6, 144.9 13.6, 144.9 13.2, 144.6 13.2))'\r\n    utils.wkt_rewind(x)\r\n\r\n\r\n\r\nContributors\r\n============\r\n\r\n* `Scott Chamberlain <https://github.com/sckott>`_\r\n* `Robert Forkel <https://github.com/xrotwang>`_\r\n* `Jan Legind <https://github.com/jlegind>`_\r\n* `Stijn Van Hoey <https://github.com/stijnvanhoey>`_\r\n* `Peter Desmet <https://github.com/peterdesmet>`_\r\n* `Nicolas No\u00e9 <https://github.com/niconoe>`_\r\n\r\nMeta\r\n====\r\n\r\n* License: MIT, see `LICENSE file <LICENSE>`_\r\n* Please note that this project is released with a `Contributor Code of Conduct <CONDUCT.md>`_. By participating in this project you agree to abide by its terms.\r\n\r\n.. |pypi| image:: https://img.shields.io/pypi/v/pygbif.svg\r\n   :target: https://pypi.python.org/pypi/pygbif\r\n\r\n.. |docs| image:: https://readthedocs.org/projects/pygbif/badge/?version=latest\r\n   :target: http://pygbif.rtfd.org/\r\n\r\n.. |ghactions| image:: https://github.com/gbif/pygbif/workflows/Python/badge.svg\r\n   :target: https://github.com/gbif/pygbif/actions?query=workflow%3APython\r\n\r\n.. |coverage| image:: https://codecov.io/gh/gbif/pygbif/branch/master/graph/badge.svg?token=frXPREGk1D\r\n   :target: https://codecov.io/gh/gbif/pygbif\r\n\r\n.. |black| image:: https://img.shields.io/badge/code%20style-black-000000.svg\r\n   :target: https://github.com/psf/black\r\n\r\n\r\n\r\n\r\nChangelog\r\n=========\r\n0.6.4 (2024-03-12)\r\n------------------\r\n- fixed a bug in building the documentation with readthedocs `138`, `129`\r\n- tests now run against live GBIF APIs `101`, `128`  \r\n- updated caching.py since the ``remove_expired_responses`` method is deprecated. `126`\r\n\r\n0.6.3 (2023-05-25)\r\n------------------\r\n- added support for predicates: ``isNull``, ``isNotNull``, ``in`` and ``not`` `92`, `102` and `103` \r\n- added support for nested queries/dictionaries `104`\r\n- deprecated the ``add_predicate`` function and added ``add_pred_dict`` to accomodate for newly supported predicates to ensure that the arguments that are sent are added in the payload function `108`\r\n- added support for multiple download formats `105`\r\n- updated operators and look-up tables `107`\r\n- included documentation on newly supported predicates and dictionaries `106`\r\n\r\n0.6.2 (2023-01-24)\r\n------------------\r\n- update to fix requesting GBIF downloads\r\n- minor documentation updates `95` and `99`\r\n\r\n0.6.1 (2022-06-23)\r\n------------------\r\n- update to fix broken dependencies `93`\r\n- minor documentation updates\r\n\r\n0.6.0 (2021-07-08)\r\n------------------\r\n- Fix for `occurrences.download` when giving `geometry` as a string rather than using `add_geometry`; predicates were being split on whitespace, which doesn't work for WKT `81` `84`\r\n- Moved to using the `logging` module instead of `print()` for giving information on occurrence download methods `78`\r\n- Clarify that `occurrences.count` for length 1 inputs only; see `occurrences.search` for > 1 value `75` `77`\r\n- Improved documentation for `species.name_usage` method, mostly for the `language` parameter `68`\r\n- Gains download method `download_cancel` for cancelling/deleting a download request `59`\r\n\r\n0.5.0 (2020-09-29)\r\n------------------\r\n- `occurrences.search` now supports `recordedByID` and `identifiedByID` search parameters `62`\r\n- clean up the Contributing file, thanks @niconoe `64`\r\n- clean up internal imports in the library, thanks @niconoe `65`\r\n- fix usage of `is` and `==`, was using them inappropriately sometimes (via https://realpython.com/python-is-identity-vs-equality/), `69`\r\n- remove redundant parameter in a doc string, thanks @faroit `71`\r\n- make a test for internal fxn `gbif_GET_write` more general to avoid errors if GBIF changes content type response header slightly `72`\r\n\r\n0.4.0 (2019-11-20)\r\n------------------\r\n- changed base url to https for all requests; was already https for maps and downloads in previous versions\r\n- occurrences, species, and registry modules gain docstrings with brief summary of each method\r\n- pygbif gains ability to cache http requests. caching is off by default. See `?pygbif.caching` for all the details `52` `56` via @nleguillarme\r\n- made note in docs that if you are trying to get the same behavior as the GBIF website for name searching, `species.name_backbone` is likely what you want `55` thanks @qgroom\r\n- for parameters that expect a `bool`, convert them to lowercase strings internally before doing HTTP requests\r\n\r\n0.3.0 (2019-01-25)\r\n------------------\r\n- pygbif is Python 3 only now `19`\r\n- Gains maps module with maps.map method for working with the GBIF maps API `41` `49`\r\n- Gains new module utils with one method `wkt_rewind`  `46` thanks @aubreymoore for the inspiration\r\n- Fixed bug in registry.installations: typo in one of the parameters `identifierTyp` instead of `identifierType` `48` thanks @data-biodiversity-aq\r\n- Link to GitHub issues from Changelog \ud83c\udf89\r\n- Fix a occurrence download test `47`\r\n- Much more thorough docs `25`\r\n\r\n0.2.0 (2016-10-18)\r\n------------------\r\n- Download methods much improved `16` `27` thanks @jlegind @stijnvanhoey @peterdesmet !\r\n- MULTIPOLYGON now supported in `geometry` parameter `35`\r\n- Fixed docs for `occurrences.get`, and `occurrences.get_verbatim`, `occurrences.get_fragment` and demo that used occurrence keys that no longer exist in GBIF `39`\r\n- Added `organizations` method to `registry` module `12`\r\n- Added remainder of datasets methods: `registry.dataset_search` (including faceting support `37`) and `registry.dataset_suggest`, for the `/dataset/search` and `/dataset/suggest` routes, respectively `40`\r\n- Added remainder of species methods: `species.name_lookup` (including faceting support `38`) and `species.name_usage`, for the `/species/search` and `/species` routes, respectively `18`\r\n- Added more tests to cover new methods\r\n- Changed `species.name_suggest` to give back data stucture as received from GBIF. We used to parse out the classification data, but for simplicity and speed, that is left up to the user now.\r\n- `start` parameter in `species.name_suggest`, `occurrences.download_list`, `registry.organizations`, `registry.nodes`, `registry.networks`, and `registry.installations`, changed to `offset` to match GBIF API and match usage throughout remainder of `pygbif`\r\n\r\n0.1.5.4 (2016-10-01)\r\n--------------------\r\n- Added many new `occurrence.search` parameters, including `repatriated`, `kingdomKey`, `phylumKey`, `classKey`, `orderKey`, `familyKey`, `genusKey`, `subgenusKey`, `establishmentMeans`, `facet`, `facetMincount`, `facetMultiselect`, and support for facet paging via\t`**kwargs` `30` `34`\r\n- Fixes to `**kwargs` in `occurrence.search` so that facet parameters can be parsed correctly and `requests` GET\trequest options are collected correctly `36`\r\n- Added `spellCheck` parameter to `occurrence.search` that goes along with the `q` parameter to optionally spell check full text searches `31`\r\n\r\n0.1.4 (2016-06-04)\r\n------------------\r\n- Added variable types throughout docs\r\n- Changed default `limit` value to 300 for `occurrences.search` method\r\n- `tox` now included, via @xrotwang `20`\r\n- Added more registry methods `11`\r\n- Started occurrence download methods `16`\r\n- Added more names methods `18`\r\n- All requests now send user-agent headers with `requests` and `pygbif` versions `13`\r\n- Bug fix for `occurrences.download_get` `23`\r\n- Fixed bad example for `occurrences.get` `22`\r\n- Fixed wheel to be universal for 2 and 3 `10`\r\n- Improved documentation a lot, autodoc methods now\r\n\r\n0.1.1 (2015-11-03)\r\n------------------\r\n- Fixed distribution for pypi\r\n\r\n0.1.0 (2015-11-02)\r\n------------------\r\n- First release\r\n",
    "bugtrack_url": null,
    "license": "MIT",
    "summary": "Python client for GBIF",
    "version": "0.6.4",
    "project_urls": {
        "Download": "https://github.com/gbif/pygbif/archive/refs/tags/v0.6.4.tar.gz",
        "Homepage": "http://github.com/gbif/pygbif"
    },
    "split_keywords": [
        "gbif",
        "biodiversity",
        "specimens",
        "api",
        "web-services",
        "occurrences",
        "species",
        "taxonomy"
    ],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "44d6f44d144470cc999360dfe06f7dd29ad7b500ae41758e106a8b6e28087acb",
                "md5": "2b3aaaa214bc34b9ca43b69632fe138c",
                "sha256": "e687a9520523ce908a700e8169e32383a0db27b50dc4b6c277bb0bc7fb8835df"
            },
            "downloads": -1,
            "filename": "pygbif-0.6.4-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "2b3aaaa214bc34b9ca43b69632fe138c",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": null,
            "size": 64251,
            "upload_time": "2024-03-12T12:19:30",
            "upload_time_iso_8601": "2024-03-12T12:19:30.078786Z",
            "url": "https://files.pythonhosted.org/packages/44/d6/f44d144470cc999360dfe06f7dd29ad7b500ae41758e106a8b6e28087acb/pygbif-0.6.4-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "4a209d6d02ed8ea74bd6546f79e9ec9f323c1b5eee87df86ee505627127ffcd2",
                "md5": "c1b02b7599eb63d9eb4a0beffab01644",
                "sha256": "92abe83814ec348649710a97f8f5130410dd6fae71d879ff24c7c81f54c38ab7"
            },
            "downloads": -1,
            "filename": "pygbif-0.6.4.tar.gz",
            "has_sig": false,
            "md5_digest": "c1b02b7599eb63d9eb4a0beffab01644",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": null,
            "size": 55549,
            "upload_time": "2024-03-12T12:19:32",
            "upload_time_iso_8601": "2024-03-12T12:19:32.094154Z",
            "url": "https://files.pythonhosted.org/packages/4a/20/9d6d02ed8ea74bd6546f79e9ec9f323c1b5eee87df86ee505627127ffcd2/pygbif-0.6.4.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2024-03-12 12:19:32",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "gbif",
    "github_project": "pygbif",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": true,
    "requirements": [],
    "tox": true,
    "lcname": "pygbif"
}
        
Elapsed time: 0.20835s