Skip to content

eBird Checklists is a reusable Django app for loading data from eBird into a database.

License

Notifications You must be signed in to change notification settings

StuartMacKay/ebird-checklists

Repository files navigation

eBird Checklists

eBird Checklists is a reusable Django app for loading data from eBird into a database.

Overview

Observations submitted to eBird are available from three sources:

  1. The eBird Basic Dataset
  2. Records from Download My Data in your eBird account
  3. 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.

Install

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.

Demo

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.

Project Information

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.

About

eBird Checklists is a reusable Django app for loading data from eBird into a database.

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages