Package: django-bird-colony
bird-colonybird-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 detailsQuick startYou'll need to have a basic understanding of how to useDjango. Requires Python 3.8+ and Django 4.0+.Install the package using pip:pip install django-bird-colony.Addbirdsand some dependencies to your INSTALLED_APPS setting like this:INSTALLED_APPS=(...'rest_framework','django_filters','birds',)Include the birds URLconf in your project urls.py like this::url(r'^birds/',include('birds.urls'))Runpython manage.py migrateto create the database tables. If this is a new django install, runpython migrate.py createsuperuserto create your admin user.Runpython manage.py loaddata bird_colony_starter_kitto create some useful initial records.Start the development server (python manage.py runserver) and visithttp://127.0.0.1:8000/admin/birds/to set up your colony, as described in the next section.Visithttp://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 setupThis 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:Edit species records in theSpeciestable. Thebird_colony_starter_kitfixture will create a record for zebra finches. Thecodefield is used to give animals their names, so if you have zebra finches and usezebfas your code, your birds will be namedzebf_red_1and so forth.Edit and add locations to theLocationstable. 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.Edit and create new event types in theStatus codestable. Common event types includehatched,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. Thehatchedevent is special, because if you add a bird to the database using theAdd new birdview 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:If your bands are colored, add your colors to theColorstable. This will affect the short name for your animals.If you're going to be adding samples to the databse, add or editSample locationsandSample typesin the admin interface.Add additional users to the database. This is particularly useful if you want to allow specific users to reserve animals.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 underbirds/templates/birdsin the source directory.ChangelogIn 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