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.
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
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.:
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
- dev
- tbc
- v0.16.0 - 14.09.2022
- Update requirements
- Bugfix missing CK-Editor
- Replace Creole base README with markdown
- Remove Docker stuff from README
- v0.15.0 - 19.08.2022
- Speedup item change list by prefetch "location"
- Better changelists for super users
- Add
./devsetup.py manage seed_data
command to fill the database for development - Update requirements
- Update project setup
- v0.14.0 - 24.07.2022
- Fix #102 by remove limitation of item parents.
- Remove "Group Items" functionality
- Replace "Group Items" change list filter by "Limit tree depth" for Item and Location.
- Display Item and Location as a tree.
- v0.13.1 - 21.07.2022
- Rename git "master" branch into "main"
- Update CI/Test setup:
- Use darker and pytest-darker as code formatter
- Run tests with Python 3.10, too and update requirements
- Replace Selenium tests with Playwright
- v0.13.0 - 01.01.2022
- v0.12.0 - 22.11.2021
- NEW: Protect user to overwrite newer Item/Memo/Location with a older one (e.g.: in other browser TAB)
- update requirements
- v0.11.0 - 09.10.2021
- NEW: Memo model/admin: Store Information (incl. images/files/links) independent of items/locations
- Bugfix CKEditor sizes and fix toolbar (e.g.: remove useless pdf generator button and add sourcecode function)
- v0.10.1 - 09.10.2021
- Update to Django 3.1.x
- Don't make requests to the a name for a Link, if we already have one or if last request was not long ago.
- v0.10.0 - 29.09.2021
- Group item: default "automatic" mode and can be disabled by filter action
- v0.9.4 - 15.09.2021
- Pin
psycopg < 2.9
because of https://github.com/psycopg/psycopg2/issues/1293
- Pin
- v0.9.3 - 15.09.2021
- Optimize "items" changelist queries
- Update requirements
- Expand
run_testserver
command and recognize address and port argument
- v0.9.2 - 11.05.2021
- Update requirements
- Fix error handling if item link is broken
- v0.9.1 - 28.04.2021
- NEW: Besides images, it's now possible to add file(s) to items, too.
- Add a auto login if Django dev. server is used.
- v0.9.0 - 11.04.2021
- Use https://github.com/jedie/dev-shell for development
- v0.8.4 - 19.01.2021
- Search items in change list by "kind" and "tags", too
- update requirements
- v0.8.3 - 29.12.2020
- update requirements
- remove colorama from direct dependencies
- Small project setup changes
- v0.8.2 - 20.12.2020
- Bugfix #33: Upload images to new created Items
- v0.8.1 - 09.12.2020
- Fix migration: Don't create "/media/migrate.log" if there is nothing to migrate
- Fix admin redirect by using the url pattern name
- YunoHost app package created
- update requirements
- v0.8.0 - 06.12.2020
- Outsource the "MEDIA file serve" part into django.tools.serve_media_app
- v0.7.0 - 23.11.2020
- Change deployment setup:
- Replace uwsgi with gunicorn
- make deploy setup more generic by renaming "inventory" to "django"
- Bugfix MEDIA path: store the files on a docker volumes
- run app server as normal user and not root
- pull all docker images before build
- Change deployment setup:
- v0.6.0 - 15.11.2020
- User can store images to every item: The image can only be accessed by the same user.
- v0.5.0 - 14.11.2020
- Merge separate git branches into one: "/src/" and "/development/" #19
- v0.4.2 - 13.11.2020
- Serve static files by Caddy
- Setup CKEditor file uploads: Store files into random sub directory
- reduce CKEditor plugins
- v0.4.1 - 2.11.2020
- Small bugfixes
- v0.4.0 - 1.11.2020
- 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
- v0.3.2 - 26.10.2020
- Bugfix missing translations
- v0.3.0 - 26.10.2020
- setup production usage:
- Use caddy server as reverse proxy
- Use uWSGI as application server
- autogenerate
secret.txt
file forsettings.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
andloaddata
- setup production usage:
- 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 ;)
links
Homepage | http://github.com/jedie/PyInventory |
PyPi | https://pypi-hypernode.com/project/PyInventory/ |
Discuss here:
- vogons.org Forum Thread (en)
- Python-Forum (de)
- VzEkC e. V. Forum Thread (de)
- dosreloaded.de Forum Thread (de)
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
Built Distribution
File details
Details for the file PyInventory-0.16.0.tar.gz
.
File metadata
- Download URL: PyInventory-0.16.0.tar.gz
- Upload date:
- Size: 81.5 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.1 CPython/3.9.5
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 130f9f5474928cf1989fb578e453fec75cedabf2ce1425db5bb38f462896a3d8 |
|
MD5 | 0e7d0ea9fd8a41caade2a431bddb69a3 |
|
BLAKE2b-256 | 47060ef6ae4656d4b3e655949b0558a8fe4fdd6fc4b52048ce472b429cab677b |
File details
Details for the file PyInventory-0.16.0-py3-none-any.whl
.
File metadata
- Download URL: PyInventory-0.16.0-py3-none-any.whl
- Upload date:
- Size: 122.1 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.1 CPython/3.9.5
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | ff7d36eb42775f05d2ab12b22f361d1ac7cbf324c25505cb6ec5745371701eb1 |
|
MD5 | 69c4d742d4685ab3cee98a19fd415e2b |
|
BLAKE2b-256 | 254c08c4ee3866298a68452d27b148f3402f157d3ac593ab8b34507e44ff3f6e |