A wrapper for pip, to give better utils to python projects dependency management
Project description
barn
barn is a Python-based command-line interface (CLI) tool that simplifies package management by providing an intuitive set of commands. It was inspired by the yarn counterpart from Javascript. Hence the interface was kept as similar as possible, so that if you are familiar with yarn you should pickup barn relatively fast.
Note Barn is just a pip wrapper, so package resolution is still completely up to pip and your installed pip version
Features
- Install packages
- Add new packages
- Initialize new projects with interactive prompts
- Ability to define script scoped to your project, like you would do with a package.json
⚠️ A small invite to caution
Barn is still in development and can be unstable. More over:
- It currently only supports python 3.9 and it is only officially tested on 3.9.13
- It still lacks core feature that hopefully will be added soon
How to use
You can install barn directly with the following pip command:
Note You are encouraged to install barn globally on your system
pip install python-barn
You can initialise an empty directory to be a barn project by running:
barn init
This will launch an interactive prompt asking for details such as project name, description, author, etc.
In case your project already exists and it's not an empty folder, you can create the project.yaml
file with the following content:
name: my-project
description: Some description
version: 0.1.0
author: your-name or your team name
scripts:
- start: python ./main.py
- test: echo "Not implemented"
license: your-license
Install project dependencies
barn
or
barn install
Add a new package:
barn add <package-name>
Remove a package:
barn remove <package-name>
To setup custom scripts
In the project.yaml, you can specify bash scripts by adding to the scripts section:
scripts:
- start: python ./main.py
Once you have your script defined you can run:
barn <script-name>
In this case:
barn start
This will run your script in the context of the project, with the correct python version and pointing to the correct virtual environment
Contributing
Contributions are welcome! Please feel free to submit a Pull Request.
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 python_barn-0.11.0.tar.gz
.
File metadata
- Download URL: python_barn-0.11.0.tar.gz
- Upload date:
- Size: 8.0 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.0.0 CPython/3.12.3
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 7fb682e3e92bbb21f8ec89c8c343a10ba6eb1d14d7054c7368853f2acbc5517a |
|
MD5 | 294db31a41ecfdcee3bd2427bbf7d3f5 |
|
BLAKE2b-256 | a575f08669b0e8ffbf4326b72634c2349ebbd872f4c512f6d445e8caca024509 |
File details
Details for the file python_barn-0.11.0-py3-none-any.whl
.
File metadata
- Download URL: python_barn-0.11.0-py3-none-any.whl
- Upload date:
- Size: 10.5 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.0.0 CPython/3.12.3
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | fcda6827f598d17814f500482b7124692ce5fe8e5c214152abf85a2585deb496 |
|
MD5 | cd45207d88f09c60d69bc3adc41368f7 |
|
BLAKE2b-256 | c9152ddebce9430664ba8e01517529ef47432e566c8d4eec8c59a3a589a6d369 |