Skip to main content

Web based management to catalog things including state and location etc. using Python/Django.

Project description

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$ ./devshell.py

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

~/PyInventory$ ./devshell.py run_testserver

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: ./devshell.py run_testserver --help

Run tests, e.g.:

~/PyInventory$ ./devshell.py pytest

Call manage commands from test project, e.g.:

~/PyInventory$ ./devshell.py manage --help

Backwards-incompatible changes

v0.7.0

Docker-Compose usage: The MEDIA files was not stored on a docker volumes.

You should backup rhe media files before update the containers!

e.g.:

~/PyInventory/deployment$ make shell_inventory
root@inventory:/django# cp -Rfv /media/ /django_volumes/media/

The files are stored locally here:

~/PyInventory/deployment$ ls -la volumes/django/media/

Now, update the containers and copy the files back.

v0.5.0

Git branches "main" and "deployment" was merged into one. Files are separated into: "/src/" and "/development/"

history

links

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

Discuss here:

donation

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

pyinventory-0.18.1.tar.gz (87.0 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

pyinventory-0.18.1-py3-none-any.whl (132.8 kB view details)

Uploaded Python 3

File details

Details for the file pyinventory-0.18.1.tar.gz.

File metadata

  • Download URL: pyinventory-0.18.1.tar.gz
  • Upload date:
  • Size: 87.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.10.6

File hashes

Hashes for pyinventory-0.18.1.tar.gz
Algorithm Hash digest
SHA256 af33d246f84d8bfeb293659dd419a034a545b736db0919868a24e5175b734c08
MD5 38d416f423002605ee29774e0b568fbf
BLAKE2b-256 c638087b5f1e73941e7612c781f902f888ebf2a3eef0c23a3af367e3ffd3b305

See more details on using hashes here.

File details

Details for the file pyinventory-0.18.1-py3-none-any.whl.

File metadata

  • Download URL: pyinventory-0.18.1-py3-none-any.whl
  • Upload date:
  • Size: 132.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.10.6

File hashes

Hashes for pyinventory-0.18.1-py3-none-any.whl
Algorithm Hash digest
SHA256 81f2ef61f436a1e1476c877c2d74d8973b844aaccefdd9047bacb19bda439d55
MD5 26d0fed3b3f1c8e63a21e893b291b497
BLAKE2b-256 34c49561f5139ab6bcedc7b0c024caa6416bd15731dbe8bd378e4f04b0703a45

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page