Bin package manager, a package manager based on Github release
Project description
bin package manager
English | 简体中文
Bin package manager (BPM) is a Github release-based package manager that allows users to install and manage binaries from any Github release.
BPM is currently supported on Linux and Windows, python >= 3.10.
[!CAUTION] Risk Warning: BPM on Linux may damage your computer. By using BPM to install software, you accept this risk and trust third-party Github release packagers.
Why use it?
In non-rolling release Linux distributions, the version of softwares in official source are often too low to use some new features.
Rolling distributions, such as Archlinux, are also unable to install software from the AUR as root.
A common way to manage packages on Windows is scoop, but it requires the packager to maintain a "manifest" list.
Installation
BPM needs to be installed to root user.
pip
Linux
sudo pip install bin-package-manager --break-system-packages
sudo bpm
Note the risk of potentially breaking system packages.
Windows
pip install bin-package-manager
bpm
pipx
You can use pipx to install BPM.
sudo pipx install bin-package-manager
pipx will only install for the current user, so sudo
is required. Alternatively, you can track on this issue and use other methods mentioned there.
Source code
If you don't want to use pipx, you can also download and use the source code.
BPM depends on Python modules: requests
, tqdm
, py7zr
(optional), please install them manually.
git clone https://github.com/lxl66566/bpm.git
cd bpm
python3 -m bpm
# or use poetry to install dependencies and run: `poetry install && poetry run python -m bpm`
Usage
- Install:
bpm i <package>
- Run
bpm -h
for more help.
How it works
Linux
BPM automatically determines the file structure in the asset and installs it to the appropriate location on the system. The current installation is like:
- install binary
- merge the
lib
,include
,share
,man
,bin
directories into the system - install completions
BPM automatically adds the .old
suffix to existing files to avoid overwrite. The .old
files will be restored in uninstalling.
Windows
BPM downloads asset into %userprofile%/bpm/app/<name>
and creates shortcuts for the executables to %userprofile%/bpm/bin
, which is added to %path%
.
Develop
git clone https://github.com/lxl66566/bpm.git
cd bpm
poetry install
poetry run python -m unittest bpm/**/*.py # run tests
TODO
- no pre release
- try install
- windows support
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 bin_package_manager-2.0.0.tar.gz
.
File metadata
- Download URL: bin_package_manager-2.0.0.tar.gz
- Upload date:
- Size: 15.2 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/1.7.1 CPython/3.12.2 Windows/11
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 15134210e07ecb2002ae69f5a883c554fe874fde1a5d2f8095de249b16b06346 |
|
MD5 | 2267da93bb08be88695f6c29b1c8ab40 |
|
BLAKE2b-256 | cb19b58007f124cf86a051edbded9c96925f4487fa7f94921139ff13603e4042 |
File details
Details for the file bin_package_manager-2.0.0-py3-none-any.whl
.
File metadata
- Download URL: bin_package_manager-2.0.0-py3-none-any.whl
- Upload date:
- Size: 18.7 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/1.7.1 CPython/3.12.2 Windows/11
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 0ba727c62ba1a06c176ed0c092b7ac7ab70ca969ace4bc744fc61083d02dbdd7 |
|
MD5 | d41068cfb99297cb00009d06c9b63795 |
|
BLAKE2b-256 | 8ad1c17783329d37388791a675d6378abfd2b527e9f53360a4222d4c863e2cf2 |