PixV is an image version control system designed to efficiently manage image changes, minimizing storage usage. Accessible as a Python package via pip install pixv, PixV utilizes a graph data structure, where each node represents a version. The project boasts numerous features for accessing different versions and offers versatile functionalities.
- Installation
- Features
- Optimizations
- Dependencies
- Future Development Goals
- Authors
- License
Install PixV with pip
pip install pixv
python3 feature.py add path/to/image.png --author "Name of author"
python3 feature.py add path/to/image.png --message "commit_message" --author "Name of author"
Displays all the versions of the image availiable in the project along with their uuid ,author ,time, commit_message.
To use the function run the following command in your terminal :
python3 feature.py logs path/to/image.png
Commands :
Push: python3 feature.py push path/to/image.png
Pull: python3 feature.py push path/to/image.png
Commands:
Forward : python3 feature.py forward path/to/image.png
Revert : python3 feature.py revert path/to/image.png
python3 feature.py shift path/to/image.png --id [unique id of the version]
Using this function the user will be able to visualize the complete graph structure in the terminal.
python3 feature.py hist [image.png]
The graph structure will look like this:
Using this function user can locate where head is pointing.
python3 feature.py locate path/to/image.png
Brings back the original version of the image
Command: python3 feature.py original path/to/image.png
We've enhanced the version control system to minimize storage usage by storing only the changes between consecutive versions.
If you want to create your own server for file sharing :
Run the file_server.py