A python client for the Global Biological Information Facility (GBIF) API
Project description
library_of_life
library_of_life
is a Python package that provides a client interface for interacting with the Global Biodiversity Information Facility (GBIF) API. The library is organized into submodules representing different APIs within the GBIF service, making it easy to access various resources related to biodiversity data.
Table of Contents
- Installation
- Quick Start
- Modules
- Caching
- Authentication
- Contributing
- Donating$$$
- License
- Documentation
Installation
You can install library_of_life
via pip:
pip install library_of_life
Quick Start
Here's a quick example to get you started with library_of_life
:
from library_of_life.registry.datasets import Datasets
from library_of_life.species.name_usage import NameUsage
# Initialize the Datasets and NameUsage classes
dataset_client = Datasets()
name_usage_client = NameUsage()
# List current datasets matching specified parameters
dataset = dataset_client.list_datasets(dataset_type="SAMPLING_EVENT", limit=10)
print(dataset)
# Return all vernacular species names by a specific usage key
vernacular_names= name_usage_client.get_usage_vernacular_names_by_usage_key(5231190)
print(vernacular_names)
Modules
Each module is composed of separate submodules reflecting the divisions in the GBIF APIs. Within each of these submodules is a class and appropriate methods for accessing the data and resources available for the respective endpoints.
Registry
For now the registry module only contains the principal methods, but it will be updated in the future to include all of the methods.
Submodules
datasets
publishing_orgs
participant_nodes
networks
tech_installations
collections
institutions
institutions_and_collections
derived_datasets
Species
Submodules
name_usage
name_search
name_parser
Occurrence
Submodules
single_occurrence
search
downloads
download_format
download_stats
metrics
inventories
gadm_regions
country_usages
organization_usages
Maps
Submodules
maps
Literature
Submodules
literature
Validator (pre-dev)
Vocabulary
Submodules
vocabularies
concepts
tags
languages
Caching
Each class contains an optional caching feature using requests_cache. Simply set use_caching to True when initializing the respective class.
Authentication
As some features of the GBIF API require authentication (POST, PUT, DETETE methods), this package handles both basic authentication (username and password) and OAuth2 authentication. This is dealt with at the class level. The default is for basic authentication, but if OAuth is desired, simply pass auth_type="OAuth" when initializing the class, as wellas the necessary credentials. Future versions may handle this with a config file.
Contributing
Contributions are welcome! If you would like to contribute to the development of library_of_life
, please follow these steps:
- Fork the repository.
- Create a new branch (
git checkout -b feature/your-feature
). - Commit your changes (
git commit -am 'Add new feature'
). - Push to the branch (
git push origin feature/your-feature
). - Create a new Pull Request.
Donating$$$
If you find this project helpful and would like to support its development, consider making a donation.
License
This project is licensed under the MIT License. See the LCENSE file for more details.
Documentation
For more information, read the docs
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Hashes for library_of_life-0.4.1-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | afa031bed8ea590f81b489a29dd77feeb1afadd278fac8782089daed5821ec3f |
|
MD5 | e47ea1341d940525665940b61114c0b3 |
|
BLAKE2b-256 | 901d9e5848aa402995ad8077619dc5680c6eaf2d1c060039477cea1002811834 |