Web based management to catalog things including state and location etc. using Python/Django.
Project description
Web based management to catalog things including state and location etc. using Python/Django.
The project is in an early stage of development. Some things are already implemented and usable. But there is still a lot to do.
Pull requests welcome!
about
The focus of this project is on the management of retro computing hardware.
Plan:
Web-based
Multiuser ready
Chaotic warehousing
Grouped “Storage”: Graphics card is in computer XY
Data structure kept as general as possible
You should be able to add the following to the items:
Storage location
State
Pictures
URLs
receiving and delivering (when, from whom, at what price, etc.)
Information: Publicly visible yes/no
A public list of existing items (think about it, you can set in your profile if you want to)
administration a wish & exchange list
any many more… ;)
git branches
Currently we have two main branches:
git branch |
description |
---|---|
`master`_ |
The main PyInventory source code |
`deployment`_ |
separate project to deploy PyInventory for production use case |
install
There exists two kind of installation/usage:
local development installation using poetry
production use with docker-compose
This README (in git master branch) contains only the information about local develompment installation.
Read deployment README for instruction to install PyInventory on a root server.
prepare
~$ git clone https://github.com/jedie/PyInventory.git ~$ cd PyInventory ~/PyInventory$ make help List all commands install-poetry install or update poetry install install PyInventory via poetry manage-update Collectstatic + makemigration + migrate update update the sources and installation lint Run code formatters and linter fix-code-style Fix code formatting tox-listenvs List all tox test environments tox Run pytest via tox with all environments tox-py36 Run pytest via tox with *python v3.6* tox-py37 Run pytest via tox with *python v3.7* tox-py38 Run pytest via tox with *python v3.8* pytest Run pytest update-rst-readme update README.rst from README.creole publish Release new version to PyPi run-dev-server Run the django dev server in endless loop. messages Make and compile locales message files run-server Run the gunicorn server in endless loop. backup Backup everything create-starter Create starter file. dbbackup Backup database dbrestore Restore a database backup
local development installation
# install or update Poetry: ~/PyInventory$ make install-poetry # install PyInventory via poetry: ~/PyInventory$ make install ... # Collectstatic + makemigration + migrate: ~/PyInventory$ make manage-update # Create a django super user: ~/PyInventory$ ./manage.sh createsuperuser # start local dev. web server: ~/PyInventory$ make run-dev-server
The web page is available via: http://127.0.0.1:8000/
Screenshots
Multi user support
PyInventory supports multiple users. The idea:
Every normal user sees only his own created database entries
All users used the Django admin
Note: All created Tags are shared for all existing users!
So setup a normal user:
Set “Staff status”
Unset “Superuser status”
Add user to “normal_user” group
Don’t add any additional permissions
e.g.:
Backwards-incompatible changes
Nothing, yet ;)
history
-
tbc
-
Move docker stuff and production use information into separate git branch
Add django-axes: keeping track of suspicious logins and brute-force attack blocking
Add django-processinfo: collect information about the running server processes
-
Bugfix missing translations
-
setup production usage:
Use caddy server as reverse proxy
Use uWSGI as application server
autogenerate secret.txt file for settings.SECRET_KEY
Fix settings
split settings for local development and production use
Bugfix init: move “setup user group” from checks into “post migrate” signal handler
Bugfix for using manage commands dumpdata and loaddata
-
Simplify item change list by nested item
Activate Django-Import/Export
Implement multi user usage
Add Django-dbbackup
Add docker-compose usage
-
Enhance models, admin and finish project setup
v0.0.1 - 14.10.2020
Just create a pre-alpha release to save the PyPi package name ;)
links
Homepage |
|
PyPi |
Discuss here:
donation
Note: this file is generated from README.creole 2020-11-01 20:29:20 with "python-creole"
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file PyInventory-0.4.0.tar.gz
.
File metadata
- Download URL: PyInventory-0.4.0.tar.gz
- Upload date:
- Size: 40.7 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.2.0 pkginfo/1.6.1 requests/2.24.0 setuptools/44.0.0 requests-toolbelt/0.9.1 tqdm/4.51.0 CPython/3.8.5
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 379d75e0db4c316415848959fe944c33d454fd693713b36457dbb2b6bacefbf8 |
|
MD5 | 3b587d0ae67524dc6435d3ae74471bc2 |
|
BLAKE2b-256 | 833d9502abf6e51579704631bc5a49ed11d50e35f44702ef976a1d4002053af3 |
File details
Details for the file PyInventory-0.4.0-py3-none-any.whl
.
File metadata
- Download URL: PyInventory-0.4.0-py3-none-any.whl
- Upload date:
- Size: 63.7 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.2.0 pkginfo/1.6.1 requests/2.24.0 setuptools/44.0.0 requests-toolbelt/0.9.1 tqdm/4.51.0 CPython/3.8.5
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 6c00a941c4410e8a0440e587a6dbdf714568cc4c2f7806a7383fc37373652c06 |
|
MD5 | da7e1d726efe2aaedc484f0a787b3842 |
|
BLAKE2b-256 | b632016a1cec0a2dc57cb8560e6a9c058e74af3c0556a5678a21da43ad9d22a0 |