Skip to main content

Debutizer

Debutizer is a tool for managing APT packages, targeted at users who need to manage a suite of potentially interdependent packages and want to do so with minimal boilerplate and modern continuous integration tooling.


Lint Status Test Status Docs Status Code style: black Imports: isort


Installation

Naturally, Debutizer is available for installation as an APT repository, through a PPA. If you're running on a Debian-based distribution, Debutizer can be installed with the following commands:

sudo add-apt-repository ppa:velovix/debutizer
sudo apt update
sudo apt install debutizer

PyPI

Debutizer is also available on PyPI and can be installed like any other Python package. This is a good option for non-Debian Linux environments, but you will need to install Debutizer's system dependencies yourself.

Pipx is the recommended way to install through PyPI, as it gives Debutizer its own virtual environment to run in.

pipx install debutizer

You can check if Debutizer's system dependencies are available by running debutizer check.

From Source

Start by cloning the repository:

git clone https://github.com/velovix/debutizer

Then, assuming you have Python 3.6+ and Pip installed, run the following command in the directory you cloned into:

pip3 install --constraint constraints.txt .

This will take care of installing Python dependencies through Pip, but system dependencies will have to be installed manually. Use debutizer check to see which, if any, system dependencies are missing.

Development

If you find a bug or need a new feature from Debutizer, please feel free to create an issue! If you're feeling especially generous and would like to send a pull request, take a look at this section for how to get started.

Dev Dependencies

Development dependencies can be installed using Pip with the dev extra included. This should be done in a virtualenv.

pip3 install --constraint constraints.txt ".[dev]"

This project uses a constraints.txt file to pin dependencies. Since Debutizer is often run as an APT package that uses distribution-supplied versions of our Python dependencies, this pinning is mostly done for the benefit of keeping development environments consistent.

If you need to update the pinned version for a given dependency, you can run the following commands within your virtualenv.

pip3 update <dependency>
pip3 freeze --exclude debutizer --exclude python-debian > constraints.txt

Linting

Debutizer makes use of a few linting tools to keep code style consistent and to reduce bugs. The CI will run these for you and fail if there are issues, but you may find it convenient to set up the pre-commit hooks as well.

pre-commit install

Testing

Debutizer uses PyTest for automated testing. Unit tests can be run with the following command:

pytest tests/unit

Unfortunately, because integration tests build packages with pbuilder, running integration tests requires sudo. Using sudo with a virtualenv is a bit tricky, but this unintuitive command will do it:

sudo $(which python) -m pytest tests

Metadata

Release files for debutizer 0.14.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for debutizer 0.14.0
File Size Uploaded Provenance
debutizer-0.14.0.tar.gz 77.6 kB Without provenance Details

Built distribution (wheel)

Table of built distributions (wheels) for debutizer 0.14.0
File Interpreter ABI Platform
debutizer-0.14.0-py3-none-any.whl Python 3 none any Details

Total release size: 170.6 kB

Release files / debutizer-0.14.0.tar.gz

Download URL debutizer-0.14.0.tar.gz
Size 77.6 kB
Tags Source
SHA-256 checksum
How to use checksums
6ad60909ed6e9845f482c5918cce62559807a54fa0411d4d605391a49909f9e6
BLAKE2b-256 checksum
How to use checksums
38b5f31b227d3df88c235810d0ecfb14b5451a63bbce216f1ce2d3df502f08cd
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/5.1.0 CPython/3.9.19

Release files / debutizer-0.14.0-py3-none-any.whl

Download URL debutizer-0.14.0-py3-none-any.whl
Size 93.0 kB
Tags Python 3
SHA-256 checksum
How to use checksums
c3b13a0bd717cd0d593c100b5fd3611a6b3b95891ab0a8901011f4f6fdf1d940
BLAKE2b-256 checksum
How to use checksums
e2fe9c9e771a333b9935a962a3b33aa0d5113c282f4415c61f3b9d7e624e1b87
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/5.1.0 CPython/3.9.19

Security for debutizer 0.14.0

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page