Skip to main content

A simple Django app for managing a bird breeding colony

Project description

bird-colony

bird-colony is a Django application used to manage bird colonies (including breeding colonies). You may find that it can also be used for non-avian species. There's also support for storing information about samples associated with animals in the colony, like genomic DNA or song recordings.

There is a growing collection of views that can be used to browse the database and perform common updates (like adding clutches). There is also a JSON API that supports a variety of search queries.

bird-colony is licensed for you to use under the BSD License. See COPYING for details

Quick start

You'll need to have a basic understanding of how to use Django. Requires Python 3.8+ and Django 4.0+.

  1. Install the package using pip: pip install django-bird-colony.

  2. Add birds and some dependencies to your INSTALLED_APPS setting like this:

INSTALLED_APPS = (
    ...
    'rest_framework',
    'django_filters',
    'birds',
)
  1. Include the birds URLconf in your project urls.py like this::
url(r'^birds/', include('birds.urls'))
  1. Run python manage.py migrate to create the database tables. If this is a new django install, run python migrate.py createsuperuser to create your admin user.

  2. Run python manage.py loaddata bird_colony_starter_kit to create some useful initial records.

  3. Start the development server (python manage.py runserver) and visit http://127.0.0.1:8000/admin/birds/ to set up your colony, as described in the next section.

  4. Visit http://127.0.0.1:8000/birds/ to use views.

Make sure to consult the Django documentation on deployment if you are at all concerned about security.

Initial setup

This is a work in progress. Before you start entering birds and events, you need to set up some tables using the Django admin app.

Required steps:

  1. Edit species records in the Species table. The bird_colony_starter_kit fixture will create a record for zebra finches. The code field is used to give animals their names, so if you have zebra finches and use zebf as your code, your birds will be named zebf_red_1 and so forth.
  2. Edit and add locations to the Locations table. You need to have at least one location created. The main use for this field is to allow you to find where a bird is by looking at the last event.
  3. Edit and create new event types in the Status codes table. Common event types include hatched, added, moved, died, used for anatomy, etc. For each status code, indicate whether it adds or removes a bird from the colony. When you create an event that removes a bird, it will appear as no longer alive. The hatched event is special, because if you add a bird to the database using the Add new bird view using this code, the system will require you to enter the bird's parents. (If you don't know the bird's parents, you can always create it manually in the admin interface)

Optional steps:

  1. If your bands are colored, add your colors to the Colors table. This will affect the short name for your animals.
  2. If you're going to be adding samples to the databse, add or edit Sample locations and Sample types in the admin interface.
  3. Add additional users to the database. This is particularly useful if you want to allow specific users to reserve animals.
  4. If you want to change some of the boilerplate text on the entry forms, you'll need to install the app from source. The templates are found under birds/templates/birds in the source directory.

Changelog

In the 0.4.0 release, the primary key for animal records became the animal's uuid. To migrate from previous version, data must be exported as JSON under the 0.3.999 release and then imported under 0.4.0

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

django_bird_colony-0.11.7.tar.gz (63.3 kB view details)

Uploaded Source

Built Distribution

django_bird_colony-0.11.7-py3-none-any.whl (96.0 kB view details)

Uploaded Python 3

File details

Details for the file django_bird_colony-0.11.7.tar.gz.

File metadata

  • Download URL: django_bird_colony-0.11.7.tar.gz
  • Upload date:
  • Size: 63.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.11.9

File hashes

Hashes for django_bird_colony-0.11.7.tar.gz
Algorithm Hash digest
SHA256 e46a650d9c6ecfa304b6a9ac4ffb93cf193e53fbc00217262351c96979b2b20c
MD5 37f298774079c87d4de953db66d27af7
BLAKE2b-256 881a32aaa16d11e4e57afa67c268c41f04407bc1fc261bd7bbdc482e341408e2

See more details on using hashes here.

File details

Details for the file django_bird_colony-0.11.7-py3-none-any.whl.

File metadata

File hashes

Hashes for django_bird_colony-0.11.7-py3-none-any.whl
Algorithm Hash digest
SHA256 b7b6324da1b1ac1daafc4b217b85411d4b32dd41af19c007c6965fb2c661b904
MD5 8411343ca0353a683b3061a1d67997f4
BLAKE2b-256 5e7cd91dcd483eb51471732f2cdc3cd1cac593de839433c54c76b9c51343f096

See more details on using hashes here.

Supported by

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