Here’s a comprehensive documentation for your Bucket Dependency Manager, designed for easy understanding and practical use.
Bucket is a lightweight, flexible dependency manager designed for managing projects in any language. With features like branching, version control, and pull request management, it supports collaborative development and simplifies dependency handling.
- Dependency Management: Add, edit, list, install, and remove dependencies.
- Branching: Create, switch, list, and delete branches for isolated development workflows.
- Versioning: Save, list, and rollback to specific project states with version snapshots.
- Pull Requests: Create, list, view, and approve pull requests between branches.
- Entrypoint Commands: Set and run entrypoint commands for your project.
Ensure you have Python 3.12 or later installed.
pip install bktThe CLI commands are invoked using bucket or bucket<version> (e.g. bucket6) after installation.
To start using Bucket in a project:
bucket initThis creates a .bucket directory and sets up the necessary structure.
- Add a dependency by specifying its name, source, and optional version or install command:
bucket dep add --name <name> --source <source> --version <version> --install-command <command>- List all dependencies:
bucket dep list
- Remove a dependency:
bucket dep rm <name>
- Install dependencies:
bucket dep install <name>
bucket dep add --name requests --source https://pypi.org/project/requests --version 2.31 --install-command "pip install requests==2.31"Branches allow isolated development for specific dependencies.
- Create a branch:
bucket branch create --name <branch-name>
- Switch to a branch:
bucket branch switch --name <branch-name>
- List branches:
bucket branch list
- Delete a branch:
bucket branch rm --name <branch-name>
Collaborate by merging changes using pull requests.
- Create a pull request:
bucket pr create --source <source-branch> --target <target-branch> --description "<description>"
- Approve and merge a pull request:
bucket pr approve --id1 <pr-id> --id2 <pr-id2>
- List open pull requests:
bucket pr list
- View a pull request:
bucket pr info --id1 <pr-id> --id2 <pr-id2>
Track changes with snapshots of your project's state.
- Save a version:
bucket vs commit
- List saved versions:
bucket vs history - Rollback to a version:
bucket vs rollback --id1 <commit-id> --id2 <commit-id2>
Destroy the .bucket setup if no longer needed:
bucket destroy- Initialize a new project:
bucket init
- Create and switch to a feature branch:
bucket branch create flask-dependency bucket branch switch flask-dependency
- Add Flask dependency:
bucket dep add --name flask --source https://pypi.org/project/flask --version 2.2.3 --install-command "pip install flask==2.2.3" - Commit the addition:
bucket vs commit
- Create a pull request to merge changes:
bucket pr create --source flask-dependency --target main --description "Add Flask dependency to project." - Approve and merge the pull request:
bucket pr approve 20242311 170224
Run the following for detailed command help:
bucket --helpFeedback and contributions are welcome! Open issues or submit pull requests on the GitHub repository.
This project is licensed under the Makoschin Free Software License (MFSL) Version 2.0. See the source code headers for more details.