Package: idigbio
A python client for theiDigBioiDigBio v2 API.Installationpip install idigbioIf you want to use the Pandas Data Frame interface you need to install
pandas as well.pip install idigbio pandasIf you see InsecurePlatformWarning or have other SSL certificate verification issues, you may
wish to install urllib3 with the secure extra.pip install urllib3[secure]Basic UsageReturning JSON from the API.importidigbioapi=idigbio.json()json_output=api.search_records()Returning a Pandas Data Frame.importidigbioapi=idigbio.pandas()pandas_output=api.search_records()See theSearch API docsfor info about
the endpoint parameters.ExamplesView a Record By UUIDimportidigbioapi=idigbio.json()record=api.view("records","1db58713-1c7f-4838-802d-be784e444c4a")Search for a Record by scientific nameimportidigbioapi=idigbio.json()record_list=api.search_records(rq={"scientificname":"puma concolor"})Search for Records that have imagesimportidigbioapi=idigbio.json()record_list=api.search_records(rq={"scientificname":"puma concolor","hasImage":True})Search for a MediaRecords by record propertyimportidigbioapi=idigbio.json()mediarecord_list=api.search_media(rq={"scientificname":"puma concolor","hasImage":True})Create a heat map for a genusimportidigbioapi=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 genusimportidigbioapi=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 boximportidigbioapi=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 dataimportidigbioapi=idigbio.json()summary_data=api.top_records(fields=["kingdom","phylum"])Get the number of Records for a search by scientific nameimportidigbioapi=idigbio.json()count=api.count_records(rq={"scientificname":"puma concolor"})Get the number of MediaRecords for a search by scientific nameimportidigbioapi=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 yearsimportidigbioapi=idigbio.json()histogram_data=api.datehist(rq={"scientificname":"puma concolor"},top_fields=["institutioncode"],min_date="2005-01-01")DevelopmentTo contribute code to this project, please submit a pull request to the repo on github:https://github.com/idigbio/idigbio-python-client/To set up a development environment, run the following from inside a python virtual environment
in your local repo directory:pip install -e .Release History0.8.5 (2018-03-16)Newadd debug command-line option0.8.4 (2017-06-07)Newadd full-featured example script fetch_media.py to download media from iDigBioadd documentation for fetch_mediaChangesremove fetch_media_based_on_query.py which is superceded by fetch_media.py0.8.3.3 (2017-05-17)Newadd an example to examples directory to download media based on search queryChangesminor changes to documentation, unit testsremove hard-coded path to tmp directory0.8.2 (2017-05-10)Newcount_recordsets() function returns number of recordsets in iDigBio0.8.1 (2016-08-29)Send etag with file on upload to verify correctness0.6.1 (2016-04-08)ChangesAdd media_type to upload functionality.0.6.0 (2016-03-30)ChangesMake pandas an extra requirements, update docsNewSpecify auth for api backendUpload image capability (requires auth)0.5.0 (2016-02-24)ChangesDon’t excludedata.*fields if requested specificallyFixstatsanddatehistapi calls to respect parameters;
param names changed to use python style and match server params.0.4.3 (2016-02-23)Bugfixesno results no longer errs in the pandas client.limit correctly limits to specified record, not next larger batch sizeMiscellaneousClarify targetted python versions