Skip to main content

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.

https://travis-ci.com/RBGKew/pykew.svg?branch=master https://badge.fury.io/py/pykew.svg

IPNI

Module for searching IPNI data and looking up individual records.

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.

Files for pykew, version 0.1.2
Filename, size File type Python version Upload date Hashes
Filename, size pykew-0.1.2-py2.py3-none-any.whl (11.4 kB) File type Wheel Python version py2.py3 Upload date Hashes View hashes
Filename, size pykew-0.1.2.tar.gz (7.4 kB) File type Source Python version None Upload date Hashes View hashes

Supported by

Elastic Elastic Search Pingdom Pingdom Monitoring Google Google BigQuery Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN SignalFx SignalFx Supporter DigiCert DigiCert EV certificate StatusPage StatusPage Status page