Python Client for the iDigBio Search API
Project description
A python client for the idigbio v2 API
pip install idigbio
For documentation of the endpoint parameters go to: https://github.com/idigbio/idigbio-search-api/wiki
Two Forms
Returning JSON from the API.
import idigbio
api = idigbio.json()
json_output = api.search_records()
Returning a Pandas Data Frame from the JSON API.
import idigbio
api = idigbio.pandas()
pandas_output = api.search_records()
Examples
View a Record By UUID
import idigbio
api = idigbio.json()
record = api.view("records","1db58713-1c7f-4838-802d-be784e444c4a")
Search for a Record by scientific name
import idigbio
api = idigbio.json()
record_list = api.search_records(rq={"scientificname": "puma concolor"})
Search for Records that have images
import idigbio
api = idigbio.json()
record_list = api.search_records(rq={"scientificname": "puma concolor", "hasImage": True})
Search for a MediaRecords by record property
import idigbio
api = idigbio.json()
mediarecord_list = api.search_media(rq={"scientificname": "puma concolor", "hasImage": True})
Create a heat map for a genus
import idigbio
api = idigbio.json()
m = api.create_map(rq={"genus": "acer"}, t="geohash")
m.save_map_image("acer_map_geohash", 2)
Create a point map for a genus
import idigbio
api = idigbio.json()
m = api.create_map(rq={"genus": "acer"}, t="points")
m.save_map_image("acer_map_points", 2)
Create a zoomed in point map for a bounding box
import idigbio
api = idigbio.json()
bbox = {"type": "geo_bounding_box", "bottom_right": {"lat": 29.642979999999998, "lon": -82.00}, "top_left": {"lat": 29.66298, "lon": -82.35315800000001}}
m = api.create_map(
rq={"geopoint": bbox}
)
m.save_map_image("test.png", None, bbox=bbox)
Create a summary of kingdom and phylum data
import idigbio
api = idigbio.json()
summary_data = api.top_records(fields=["kingdom","phylum"])
Get the number of Records for a search by scientific name
import idigbio
api = idigbio.json()
count = api.count_records(rq={"scientificname": "puma concolor"})
Get the number of MediaRecords for a search by scientific name
import idigbio
api = idigbio.json()
count = api.count_media(rq={"scientificname": "puma concolor"})
Get the histogram of Collection Dates for a search by record property, for the last 10 years
import idigbio
api = idigbio.json()
histogram_data = api.datehist(rq={"scientificname": "puma concolor"},fields=["institutioncode"],minDate="2005-01-01")
Release History
0.4.3 (???)
Bugfixes
no results no longer errs in the pandas client.
limit correctly limits to specified record, not next larger batch size
Miscellaneous
Clarify targetted python versions
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.