Web based management to catalog things including state and location etc. using Python/Django.
 
 
Go to file
Jens Diemer 2e664b60ff
Merge pull request #148 from jedie/release
Release as 0.19.1
2023-08-17 21:37:44 +02:00
.github/workflows Migrate from "poetry-python" to "managed-django-project" 2023-07-21 18:33:22 +02:00
inventory Release as 0.19.1 2023-08-17 21:35:37 +02:00
inventory_project Update requirements 2023-08-04 17:52:16 +02:00
.editorconfig Apply manageprojects updates 2023-04-04 15:40:19 +02:00
.flake8 Project updates 2022-12-22 09:53:42 +01:00
.gitignore Update from project template 2023-08-17 18:29:15 +02:00
.travis.yml init 2020-10-14 10:10:21 +02:00
AUTHORS Added translations to Catalan and Spanish. Po files need to be compiled. 2021-11-24 10:53:58 +01:00
LICENSE init 2020-10-14 10:10:21 +02:00
README.md Release as 0.19.1 2023-08-17 21:37:29 +02:00
manage.py Migrate from "poetry-python" to "managed-django-project" 2023-07-21 18:33:22 +02:00
pyproject.toml Update requirements 2023-08-17 21:24:06 +02:00
requirements.dev.txt Update requirements 2023-08-17 21:24:06 +02:00
requirements.txt Update requirements 2023-08-17 21:24:06 +02:00

README.md

PyInventory

Web based management to catalog things including state and location etc. using Python/Django. Store information in WYSIWYG-HTML-Editor field and tag them and add Files, Images and Links to them.

tests codecov PyInventory @ PyPi Python Versions License GPL-3.0-or-later

Install PyInventory with YunoHost

pyinventory_ynh allows you to install PyInventory quickly and simply on a YunoHost server. If you don't have YunoHost, please consult the guide to learn how to install it.

Pull requests welcome!

about

The focus of this project is on the management of retro computing hardware.

Current features:

  • Web-based
  • Multiuser ready (Every user see and manage only his own entries)
  • Chaotic warehousing
    • Grouped "Items" e.g.: Graphics card Foo is in computer Bar
  • Data structure kept as general as possible
  • Manage information to every item:
    • Description: free WYSIWYG-HTML-Editor field
    • Storage location
    • State
    • Images, Files and Web-Links
    • receiving and delivering (when, from whom, at what price, etc.)
  • Manage "Memos" (Information independent of item/location):
    • A free WYSIWYG-HTML-Editor field
    • Tags
    • Images, Files and Web-Links

Future ideas:

  • 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... ;)

Screenshots

More screenshots are here: jedie.github.io/tree/master/screenshots/PyInventory

PyInventory v0.2.0 screenshot 1.png


PyInventory v0.11.0 screenshot memo 1.png


PyInventory v0.1.0 screenshot 2.png


PyInventory v0.1.0 screenshot 3.png


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.:

normal user example

More screenshots are here: jedie.github.io/tree/master/screenshots/PyInventory

local development installation

e.g.:

# Clone project (Use your fork SSH url!):
~$ git clone https://github.com/jedie/PyInventory.git
~$ cd PyInventory
~/PyInventory$ ./manage.py

Helpful for writing and debugging unittests is to run a local test server. e.g.:

~/PyInventory$ ./manage.py run_dev_server

The web page is available via: http://127.0.0.1:8000/

You can also pass a other port number or ipaddr:port combination. See: ./manage.py run_dev_server --help

Run tests, e.g.:

~/PyInventory$ ./manage.py test
~/PyInventory$ ./manage.py coverage
~/PyInventory$ ./manage.py tox

Install Playwright browsers, e.g.:

~/PyInventory$ .venv/bin/playwright install

Run only Playwright tests with the Playwright Inspector, e.g.:

~/PyInventory$ PWDEBUG=1 ./manage.py test --tag playwright

Backwards-incompatible changes

v0.19.0

  • Remove "/development/" (unmaintained "docker-compose" installation), please use YunoHost ;)
  • Removed django-processinfo and django-axes in test project.
  • Remove poetry, pytest and devshell
  • Use pip-tools, unittests and manage_django_project

history

Homepage http://github.com/jedie/PyInventory
PyPi https://pypi.org/project/PyInventory/

Discuss here:

donation