Skip to main content

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 only supported on Linux, python >= 3.10.

[!CAUTION] Risk Warning: BPM 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.

Installation

pipx

You can use pipx to install BPM.

pipx install bin-package-manager

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).

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

BPM automatically determines the file structure in the asset and installs it to the appropriate location on the system. The current installation is like:

  1. install binary
  2. merge the lib, include, share, man, bin directories into the system
  3. install completions

BPM automatically adds the .old suffix to existing files to avoid overwrite. The .old files will be restored in uninstalling.

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

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

bin_package_manager-1.1.0.tar.gz (12.5 kB view details)

Uploaded Source

Built Distribution

bin_package_manager-1.1.0-py3-none-any.whl (14.8 kB view details)

Uploaded Python 3

File details

Details for the file bin_package_manager-1.1.0.tar.gz.

File metadata

  • Download URL: bin_package_manager-1.1.0.tar.gz
  • Upload date:
  • Size: 12.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.6.1 CPython/3.11.7 Linux/6.6.14-1-lily

File hashes

Hashes for bin_package_manager-1.1.0.tar.gz
Algorithm Hash digest
SHA256 a1cef01149cf07ab2947fcae21951fdc0246aa342fabc922f41c1276ff12d846
MD5 279fdfa48c607a483277b7ddf43fea1e
BLAKE2b-256 039da7267d6974b73d543ebf9c293f8fee82d88b04eade4328e037dbdc4d702e

See more details on using hashes here.

File details

Details for the file bin_package_manager-1.1.0-py3-none-any.whl.

File metadata

File hashes

Hashes for bin_package_manager-1.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 833e0d239c98f92c7e474969aefaefe18a49226121faa1662afb9589f561313e
MD5 7f20fd8117eee1ce5724790465c91fac
BLAKE2b-256 55ab5bfb18beb9287146eb604a6ef1f5d7f34822901b4b7a7a7fc69cfb0e1b51

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page