Skip to main content

Python client for GBIF

Project description

pygbif

pypi docs travis coverage

Python client for the GBIF API

Source on GitHub at sckott/pygbif

Other GBIF clients:

Installation

Stable from pypi

pip install pygbif

Development version

[sudo] pip install git+git://github.com/sckott/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:

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:

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:

from pygbif import occurrences as occ
occ.search(taxonKey = 3329049)
occ.get(key = 252408386)
occ.count(isGeoreferenced = True)
occ.download('basisOfRecord = LITERATURE')
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:

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()
https://github.com/sckott/pygbif/raw/master/gbif_map.png

utils module

utils module API:

  • wkt_rewind

Example usage:

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)

Meta

Changelog

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

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Files for pygbif, version 0.4.0
Filename, size File type Python version Upload date Hashes
Filename, size pygbif-0.4.0-py2.py3-none-any.whl (61.1 kB) File type Wheel Python version py2.py3 Upload date Hashes View
Filename, size pygbif-0.4.0.tar.gz (45.7 kB) File type Source Python version None Upload date Hashes View

Supported by

Pingdom Pingdom Monitoring Google Google Object Storage and Download Analytics Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN DigiCert DigiCert EV certificate StatusPage StatusPage Status page