Skip to main content

xeno-canto.org API Wrapper

Project description

xeno-canto API Wrapper

xeno-canto-py is an API wrapper designed to help users easily download xeno-canto.org recordings and associated information.

Originally created to aid in data collection and filtering for the training of machine learning models.

Installation

Use the package manager pip to install xeno-canto-py, or copy and paste the xenocanto.py file into your working directory.

pip install xeno-canto

Usage

get_json and get_mp3 can be used to retrieve the JSON file and recordings from a query. Queries must be made according to the conventions detailed on the xeno-canto.org API search tips page found here.

The following commands will retrieve the query information for the genus Otis through get_json and then the recordings through get_mp3. Both functions will return a list of file paths to the newly saved files for further use if required.

import xenocanto


json_list = xenocanto.get_json(['gen:Otis'])
mp3_list = xenocanto.get_mp3(json_list)

get_rec calls get_json with the provided query and immediately calls get_mp3 afterwards.

The following command will produce the same result as above.

import xenocanto

xenocanto.get_rec(['gen:Otis'])

This will generate two folders, queries and recordings which will contain the JSON files with query data and recordings as MP3 files respectively.

The following will generate metadata in JSON form for machine learning models, assuming we are using the default recordings directory in the project folder. gen_meta will also accept a custom path if your recording library is located elsewhere.

import xenocanto

xenocanto.gen_meta()

Metadata is saved to the local directory as metadata.json formatted as shown below.

{["list":{"id":1, "label":value}]}

Roadmap

  • Add filtering of recordings folders (mainly by quality and background species)
  • Add entrypoints for easier use

I am always open to suggestions for features!

Contributing

All pull requests are welcome! If any issues are found, please do not hesitate to bring them to my attention.

Acknowledgements

Thank you to the team at xeno-canto.org and all its contributors for putting together such an amazing database.

License

MIT

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

xeno-canto-1.1.0.tar.gz (5.4 kB view details)

Uploaded Source

File details

Details for the file xeno-canto-1.1.0.tar.gz.

File metadata

  • Download URL: xeno-canto-1.1.0.tar.gz
  • Upload date:
  • Size: 5.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.13.0 pkginfo/1.5.0.1 requests/2.21.0 setuptools/40.6.2 requests-toolbelt/0.9.1 tqdm/4.31.1 CPython/3.7.3

File hashes

Hashes for xeno-canto-1.1.0.tar.gz
Algorithm Hash digest
SHA256 0da8858b90b69e8f672198a11ee87fcacf9291a1b3fa68bab9d14f9569be8fac
MD5 2cf602d04937e0e1b4826c20976ceee3
BLAKE2b-256 43774086fd9564ade52d90db5cc752e3511962a20e068934afe726a9ba716363

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page