Skip to content

Latest commit

 

History

161 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

lab-inventory

ProjectStatus Version BuildStatus License PythonVersions

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

Quick start

  1. Requires Python 3.10+. Runs on Django 4.2 LTS and 5.2.
  2. Install the package from pypi: pip install django-lab-inventory. Worth putting in a virtualenv.
  3. Add inventory to your INSTALLED_APPS setting like this:
INSTALLED_APPS = (
    ...
    'widget_tweaks',  # For form tweaking
    'django_filters',
    'inventory',
)
  1. Include inventory in urlpatterns in your project urls.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),
  1. Run python manage.py migrate to create the inventory models.
  2. 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).
  3. Visit http://127.0.0.1:8000/inventory/ to use views.

Development

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. Settings are in nbank_registry/tests/settings.py. By default tests run against an in-memory sqlite database. To test against postgres, run uv sync --group postgres and set NBANK_TEST_DB=postgres (see settings.py for connection env vars).

About

lab inventory management

Resources

Stars

51 stars

Watchers

2 watching

Forks

Releases

Packages

Used by

Contributors

Languages