lab-inventory is a Django application used by our lab to to track inventory and orders. The basic idea is that users add items that can be purchased to the database, and then associate them with orders when they want to get the item. This allows us to quickly locate information about things we have purchased throughout the history of the lab. There is also some rudimentary support for keeping track of where items are located in the lab, when their warranties expire, and other useful information.
You’ll probably need some familiarity with Django and some knowledge about how to deploy a web application to use it.
lab-inventory is licensed for you to use under the BSD 3-Clause License. See COPYING for details
- Requires Python 3.10+. Runs on Django 4.2 LTS and 5.1.
- Install the package from pypi:
pip install django-lab-inventory. Worth putting in a virtualenv. - Add
inventoryto your INSTALLED_APPS setting like this:
INSTALLED_APPS = (
...
'widget_tweaks', # For form tweaking
'django_filters',
'inventory',
)- Include inventory in
urlpatternsin your projecturls.py. Some of the views link to the admin interface, so make sure that is included, too:
path("inventory/", include("inventory.urls")),
path("admin/", admin.site.urls),- Run
python manage.py migrateto create the inventory models. - Start the development server and visit http://127.0.0.1:8000/admin/inventory/ to create items, vendors, manufacturers, etc. (you’ll need the Admin app enabled).
- Visit http://127.0.0.1:8000/inventory/ to use views.
Recommend using uv for development.
Run uv sync to create a virtual environment and install
dependencies. uv sync --no-dev --frozen for deployment.
Testing: uv run pytest. Requires a test database, will use settings
from inventory/test/settings.py.