eBird Checklists is a reusable Django app for loading data from eBird into a database.
Observations submitted to eBird are available from three sources:
- The eBird Basic Dataset
- Records from Download My Data in your eBird account
- Records downloaded from the eBird API 2.0
This project contains loaders and models to take data from each of these sources and load it into a database. The models also have custom QuerySets which implement the most common queries, providing an easy to use API for accessing the data.
You can use either pip or uv to download the package from PyPI and install it into a virtualenv:
pip install ebird-checklists
or:
uv add ebird-checklists
Update INSTALLED_APPS
in your Django setting:
INSTALLED_APPS = [
...
ebird.checklists
]
Finally, run the migrations to create the tables:
python manage.py migrate
Everything is now ready to load data from one of the sources above. The
project documentation has detailed instructions in the Loading Data
section. Please see 'Project Information' below.
If you check out the code from the repository there is a fully functioning Django site, and a sample data file for the eBird Basic Dataset, that you can use to see the app in action.
git clone git@github.com:StuartMacKay/ebird-checklists.git
cd ebird-checklists
Create the virtual environment:
uv venv
Activate it:
source venv/bin/activate
Install the requirements:
uv sync
Run the database migrations:
python manage.py migrate
Load the sample data from the eBird Basic Dataset:
python manage.py load_csv data/downloads/ebird_basic_dataset_sample.csv
Create a user:
python manage.py createsuperuser
Run the demo:
python manage.py runserver
Now log into the Django Admin <http:localhost:8000/admin> to browse the tables.
- Documentation: https://ebird-checklists.readthedocs.io/en/latest/
- Issues: https://github.com/StuartMacKay/ebird-checklists/issues
- Repository: https://github.com/StuartMacKay/ebird-checklists
The app is tested on Python 3.8+, and officially supports Django 4.2, 5.0 and 5.1.
eBird Checklists is released under the terms of the MIT license.