Python interface to Kew data
Project description
Library for easy access to Kew’s nomenclatural and taxonomic services. Hides the intricacies of using the HTTP API.
IPNI
Module for searching IPNI data and looking up individual records.
Simple search
import pykew.ipni as ipni
result = ipni.search('Poa annua')
Advanced search
import pykew.ipni as ipni
from pykew.ipni_terms import Name
query = { Name.genus: 'Poa', Name.species: 'annua' }
res = ipni.search(query)
Available Search Terms
To build complex queries, use the search terms available in ipni_terms. Query term are grouped into the modules Name, Author, and Publication.
Name
added
author
basionym
basionym_author
bibliographic_reference
citation_type
collection_number
collectors
distribution
family
full_name
genus
in_powo
infrafamily
infragenus
infraspecies
modified
name_status
published
published_in
publishing_author
rank
scientific_name
species
species_author
version
Publication
standard_form
bph_number
date
isbn
issn
lc_number
preceded_by
superceded_by
title
tl2_author
tl2_number
Filtering
You can filter a given result set by taxonomic rank.
import pykew.ipni as ipni
from pykew.ipni_terms import Filters
res = ipni.search('Poa', filters = Filters.infraspecific)
Available Filters
Filters
familial
infrafamilial
generic
infrageneric
specific
infraspecific
Using results
Results sets are returned as an iterator which can be manipulated as you generally would in python. The result object also implements size() efficiently - it does not fetch all results to count them.
import pykew.ipni as ipni
from pykew.ipni_terms import Name
query = { Name.genus: 'Poa', Name.species: 'annua' }
res = ipni.search(query)
res.size()
[r['name'] for r in res if 'name' in r]
POWO
Module for searching POWO data and looking up individual records. Taxonomic data is returned by default, but other associated such as distributions and descriptive text can also be retrieved.
Simple search
import pykew.powo as powo
result = powo.search('Poa annua')
Advanced search
import pykew.powo as powo
from pykew.powo_terms import Name
query = { Name.genus: 'Poa', Name.species: 'annua' }
res = powo.search(query)
Available Search Terms
To build complex queries, use the search terms available in powo_terms. Query term are grouped into the modules Name, Characteristic, and Geography.
Name
full_name
common_name
kingdom
family
genus
species
author
Characteristic
summary
appearance
characteristic
flower
fruit
leaf
inflorescence
seed
cloning
use
Geography
distribution
Filtering
You can filter a given result set by accepted taxa, taxa with images, and taxonomic rank.
import pykew.powo as powo
from pykew.powo_terms import Filters
res = powo.search('Poa', filters = [Filters.accepted, Filters.species])
Available Filters
Filters
accepted
has_images
families
genera
species
infraspecies
Individual record
import pykew.powo as powo
res = powo.lookup('urn:lsid:ipni.org:names:320035-2')
Extra Data
The standard data returned by the POWO api includes taxonomic and nomenclatural information, but there are other data you can request.
Currently you can only retrieve distribution data, but other data should be exposed in the future.
import pykew.powo as powo
res = powo.lookup('urn:lsid:ipni.org:names:320035-2', include=['distribution'])
native_to = [d['name'] for d in res['distribution']['natives']]
Using results
Results sets are returned as an iterator which can be manipulated as you generally would in python. The result object also implements size() efficiently - it does not fetch all results to count them.
import pykew.powo as powo
from pykew.powo_terms import Name, Geography
query = { Name.genus: 'Poa', Geography.distribution: 'Africa' }
res = powo.search(query)
res.size()
[r['name'] for r in res if 'name' in r]
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
File details
Details for the file pykew-0.1.3.tar.gz
.
File metadata
- Download URL: pykew-0.1.3.tar.gz
- Upload date:
- Size: 7.0 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/1.13.0 pkginfo/1.5.0.1 requests/2.21.0 setuptools/41.0.1 requests-toolbelt/0.9.1 tqdm/4.31.1 CPython/3.5.6
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 919883d9a5680bef4f016002ce3855f9629a44c1c6990f327cf7e30b6ecd7c3c |
|
MD5 | 1241bcb20f4282ce7bfe15c83e904a1c |
|
BLAKE2b-256 | f4ab986a0f46ee18d72f590b3eb48517b222afeaa01afaf6824f6f32c8bb9317 |