Skip to main content

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!

Build Status on github

github.com/jedie/PyInventory/actions

Coverage Status on codecov.io

codecov.io/gh/jedie/PyInventory

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 and Files

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

Project structure

There are two main directories:

directory

description

`/src/`_

The main PyInventory source code

`/deployment/`_

deploy PyInventory for production use case

install

There exists these kind of installation/usage:

  • local development installation using poetry

  • production use with docker-compose on a root server

  • Install as YunoHost App via pyinventory_ynh

This README contains only the information about local development installation.

Read /deployment/README for instruction to install PyInventory on a root server.

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

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

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

local docker dev run

You can run the deployment docker containers with current source code with:

~/PyInventory$ make run-docker-dev-server

Just hit Cntl-C to stop the containers

The web page is available via: https://localhost/

Screenshots

PyInventory v0.2.0 screenshot 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

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 “master” and “deployment” was merged into one. Files are separated into: “/src/” and “/development/”

history

donation


Note: this file is generated from README.creole 2021-09-15 21:28:39 with "python-creole"

Project details


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.9.4.tar.gz (54.5 kB view details)

Uploaded Source

Built Distribution

PyInventory-0.9.4-py3-none-any.whl (83.1 kB view details)

Uploaded Python 3

File details

Details for the file PyInventory-0.9.4.tar.gz.

File metadata

  • Download URL: PyInventory-0.9.4.tar.gz
  • Upload date:
  • Size: 54.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.2 importlib_metadata/4.8.1 pkginfo/1.7.1 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.2 CPython/3.8.10

File hashes

Hashes for PyInventory-0.9.4.tar.gz
Algorithm Hash digest
SHA256 e1b43540f77793811d4edfcdcc82db5f73697f96ce44861c0cfa07a0b91df7e6
MD5 06ee3a74833f0afdbba2d21bd644f410
BLAKE2b-256 a5a26c57268a7e3bd937d7019aa9e954276e1b23668ec463cd1a629655fd49d0

See more details on using hashes here.

File details

Details for the file PyInventory-0.9.4-py3-none-any.whl.

File metadata

  • Download URL: PyInventory-0.9.4-py3-none-any.whl
  • Upload date:
  • Size: 83.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.2 importlib_metadata/4.8.1 pkginfo/1.7.1 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.2 CPython/3.8.10

File hashes

Hashes for PyInventory-0.9.4-py3-none-any.whl
Algorithm Hash digest
SHA256 fd1420f32b952b831321b134a96187232c1d8474564df1bac43f0c7a07dd62f3
MD5 b47d479775a03de77483923e53ebbdab
BLAKE2b-256 222c3ec84c5d0106384ee74ae4ac82bfb18950be7cb8acd8b3f8b01b524bb31e

See more details on using hashes here.

Supported by

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