PyInv
Online Quartermaster and Inventory System.
Features
Current Featureset
Asset oriented inventory system
Based around a hierarchical tree of assets, some of which contain others.
Track asset models and manufacturers, including the history thereof
Track countable items, where only the quantity and location matter
Human-friendly Asset Code format with Damm checksum
(WIP) REST API
Planned
Powerful auditing engine
Printer Support
Report generation
Barcode scanner support
Deployment
PyInv requires Python 3.8 or higher.
The Django deployment guidelines are and should be used.
You’ll need to run a couple of management commands to get going:
./manage.py initialise # Initialise the inventory
./manage.py createsuperuser
Modelling the Real World
PyInv models the items that it tracks as a hierarchical tree of Asset
objects.
Almost every Asset
is contained within another Asset
, which is marked as its location.
Every Asset
has a location, asset code and model. Asset Models are grouped by Manufacturer.
Special Locations
PyInv will generate some Assets for you when it is first initialised:
The World Asset
The root asset at the top of the tree is called the World Asset and everything is contained within it.
Notably, the World Asset is the only Asset with it’s location set to null
.
Unknown Location
The Unknown Location is a special location that all lost Assets are sent to.
When a lost Asset is found, it is moved to the location that it has been found in.
People
When items are in the possession of an individual, it is not always practical to track exactly where the asset is. It is usually enough to know that it is under the care of the person.
By default, PyInv will create a People
container for you to group all people that have looked after or are currently looking after assets.
Note
It is not required to use the People
container, so feel free to delete it if you model things differently.
Disposed Location
When an Asset is disposed or destroyed, it will be moved to the Disposed Asset.
Assets should never be deleted from the system to preserve history. Disposed Assets will disappear from search.
Note
This is fundamentally different to Unknown Location as we are certain that an Asset no longer exists if it is disposed.