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.

Current status: Just start the project. Nothing is done, nothing is useable, yet ;)

Pull requests welcome!

Build Status on github

github.com/jedie/PyInventory/actions

Build Status on travis-ci.org

travis-ci.org/jedie/PyInventory

Coverage Status on codecov.io

codecov.io/gh/jedie/PyInventory

Coverage Status on coveralls.io

coveralls.io/r/jedie/PyInventory

Status on landscape.io

landscape.io/github/jedie/PyInventory/master

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

install

There exists two kind of installation/usage:

  • local virtualenv (without docker)

  • docker-compose

see below

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.
install-compose      Install "docker-compose", too
up                   Start containers via docker-compose
down                 Stop all containers
prune                Cleanup docker
build                Update docker container build
logs                 Display docker logs from all containers
dbbackup             Backup database
dbrestore            Restore a database backup
restart              Restart all containers

.env

Create a .env file, for some settings, e.g.:

# enable Django-Debug-Toolbar:
ENABLE_DJDT=1

local install without docker

# 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/

docker-compose usage

Install docker, e.g.: https://docs.docker.com/engine/install/ubuntu/

# Install "docker-compose" via poetry extras:
~/PyInventory$ make install-compose

# Start containers via docker-compose:
~/PyInventory$ make up

Notes:

  • at the first start it takes a little while until the database is created

  • The web page is available via: http://localhost:8000/

Screenshots

PyInventory v0.2.0 screenshot 1.png


PyInventory v0.1.0 screenshot 2.png


PyInventory v0.1.0 screenshot 3.png


Multi user usage

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

Nothing, yet ;)

history

  • compare v0.2.0…master dev

    • tbc

  • v0.2.0 - 24.10.2020

    • Simplify item change list by nested item

    • Activate Django-Import/Export

    • Implement multi user usage

    • Add Django-dbbackup

    • Add docker-compose usage

  • v0.1.0 - 17.10.2020

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

donation


Note: this file is generated from README.creole 2020-10-24 19:34:25 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.2.0.tar.gz (33.9 kB view details)

Uploaded Source

Built Distribution

PyInventory-0.2.0-py3-none-any.whl (39.4 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: PyInventory-0.2.0.tar.gz
  • Upload date:
  • Size: 33.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.2.0 pkginfo/1.6.0 requests/2.24.0 setuptools/44.0.0 requests-toolbelt/0.9.1 tqdm/4.50.2 CPython/3.8.5

File hashes

Hashes for PyInventory-0.2.0.tar.gz
Algorithm Hash digest
SHA256 6000577872c7f2ac399b1fbe85c131f5ae535585e9a6205da851a0bfef0e0bad
MD5 db7df507b0ddc11691ff7f56cba6e358
BLAKE2b-256 d4efa41f88d7bdd96b544a6dbaa21534f1085936d0709b0efbd84957a08f4d19

See more details on using hashes here.

File details

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

File metadata

  • Download URL: PyInventory-0.2.0-py3-none-any.whl
  • Upload date:
  • Size: 39.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.2.0 pkginfo/1.6.0 requests/2.24.0 setuptools/44.0.0 requests-toolbelt/0.9.1 tqdm/4.50.2 CPython/3.8.5

File hashes

Hashes for PyInventory-0.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 f40ab7a283bdcb57eaebd97f87546f6a2fb241520aacaf7becd502cce4902b8f
MD5 13a560131387ef64f6555ab7d7ba21a0
BLAKE2b-256 171c5d6f92adcf7bf4c9ccd981098cab317d9aa26b0185a4c80fd10c89516fc9

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