https://github.com/stuartmackay/ebird-checklists
eBird Checklists is a Django starter project for building web sites that analyse data from the eBird API.
https://github.com/stuartmackay/ebird-checklists
data-loader database-models django ebird
Last synced: 8 months ago
JSON representation
eBird Checklists is a Django starter project for building web sites that analyse data from the eBird API.
- Host: GitHub
- URL: https://github.com/stuartmackay/ebird-checklists
- Owner: StuartMacKay
- License: mit
- Created: 2024-12-26T15:50:50.000Z (about 1 year ago)
- Default Branch: master
- Last Pushed: 2025-03-22T17:38:12.000Z (11 months ago)
- Last Synced: 2025-04-13T01:47:42.693Z (10 months ago)
- Topics: data-loader, database-models, django, ebird
- Language: Python
- Homepage:
- Size: 1.94 MB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.rst
- License: LICENSE
- Citation: CITATION.cff
Awesome Lists containing this project
README
# eBird Checklists
eBird Checklists is a Django starter project for building web sites that analyse
data from the eBird API.
## Overview
The Cornell Laboratory of Ornithology in Ithaca, New York runs the eBird database
which collects observations of birds from all over the world. This data is published
via an [API](https://documenter.getpostman.com/view/664302/S1ENwy59) which is free to use (once you have registered). eBird Checklists
is a starter project (template) for creating a Django-based web site with a data
feed from eBird for any country, or region in the world.
## Getting Started
To get started, you will need to [sign up](https://secure.birds.cornell.edu/identity/account/create) for an eBird account, if you don't
already have one and [register](https://ebird.org/data/download) to get an API key. Make sure you read and
understand the [Terms of use](https://www.birds.cornell.edu/home/ebird-api-terms-of-use/), and remember bandwidth and servers cost money,
so don't abuse the service.
Next, get a copy of the repository:
git clone https://git.sr.ht/~smackay/ebird-checklists
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
Create an admin user:
python manage.py createsuperuser
Create a copy of the .env.example file and add your API key:
cp .env.example .env
For example:
EBIRD_API_KEY=
EBIRD_LOCALE=en
The EBIRD_LOCALE environment variable is used when loading species information
from the eBird taxonomy. The code is used to determine which [language](https://ebird.freshdesk.com/en/support/solutions/articles/48000804865-bird-names-in-ebird-common-name-translations-) to
use for the species common and family names.
Now, download data from the API:
python manage.py load_api new 2 US-NY-109
This loads all the checklists, submitted in the past two days by birders
in Tompkins County, New York, where the Cornell Lab is based. You can use
any location code used by eBird, whether it's for a country, state/region,
or county. Remember, read the [Terms of use](https://www.birds.cornell.edu/home/ebird-api-terms-of-use/).
It's time to start the server:
python manage.py runserver
Finally, visit the home page to view the checklists:
http://localhost:8000/
This project gives you a basic web site, which is reasonably well documented.
The source code will be simple to adapt if you are familiar with Django at any
skill level. The rest is up to you.
To see a real site, developed using this code-base, please visit, https://www.ebirders.pt
## Project Information
* Documentation: https://ebird-checklists.readthedocs.io/en/latest/
* Issues: https://todo.sr.ht/~smackay/ebird-checklists
* Repository: https://git.sr.ht/~smackay/ebird-checklists
* Announcements: https://lists.sr.ht/~smackay/ebirders-discuss
* Discussions: https://lists.sr.ht/~smackay/ebirders-announce
* Development: https://lists.sr.ht/~smackay/ebirders-devel
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](https://opensource.org/licenses/MIT) license.