Skip to main content

Create .deb files easily using python package metadata

Project description

Debby

Create .deb files easily using python package metadata

Installation

You can install this package with pip.

$ pip install debby

Links

Documentation

Source Code - GitHub

PyPI - debby

Usage

This tool creates the directory structure (including the control file) to then create a .deb package with dpkg-deb.

You may provide a template for the control file (see Control File Template) or provide the metadata directly via the command line or environment variables.

You may also provide files to include in the package with -f/--file option, which may be passed multiple times.

You may also provide a source for the metadata (see Metadata Sources). You can also specify specific metadata values via the command line. If no metadata source is provided, and all the required metadata is not provided via the command line, an error will be raised.

OUT_DIR=$(debby -f path/to/binary /usr/bin/binary -f path/to/config /etc/config --pyproject pyproject.toml)
dpkg-deb --build $OUT_DIR

Metadata Sources

Currently, the following metadata sources are supported:

  • --pyproject: Reads the metadata from the given pyproject.toml file, according to the PEP 621 specification.
  • --poetry: Reads the metadata from the given pyproject.toml file, according to Poetry's specification.

Control File Template

It is possible to provide a template for the control file with -t/--template path/to/control.template. If provided, this template will be used to generate the control file instead of creating one from scratch. The template should be a text file with the following allowed placeholders.

Placeholder Description Examples
{meta.name} The name of the package debby
{meta.source} The source of the package debby
{meta.version} The version of the package 0.1.0
{meta.section} The section of the package misc, python
{meta.priority} The priority of the package optional
{meta.architecture} The architecture of the package all
{meta.eessential} The essential status of the package yes, no
{meta.maintainer} The maintainer of the package Abraham Murciano <abrahammurciano@gmail.com>
{meta.description} The description of the package Create .deb files easily using python package metadata
{meta.homepage} The homepage of the package https://abrahammurciano.github.io/debby/debby
{meta.depends} The dependencies of the package python3, jq, pv (>= 1.0.0)
{meta.recommends} The recommended packages of the package jq, pv (>= 1.0.0)
{meta.suggests} The suggested packages of the package jq, pv (>= 1.0.0)
{meta.enhances} The enhanced packages of the package jq, pv (>= 1.0.0)
{meta.breaks} The packages that this package breaks jq, pv (>= 1.0.0)
{meta.conflicts} The packages that this package conflicts with jq, pv (>= 1.0.0)
{files.total_size} The total size of all the files given with the -f/--file option 123456

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

debby-1.0.4.tar.gz (20.8 kB view details)

Uploaded Source

Built Distribution

debby-1.0.4-py3-none-any.whl (23.6 kB view details)

Uploaded Python 3

File details

Details for the file debby-1.0.4.tar.gz.

File metadata

  • Download URL: debby-1.0.4.tar.gz
  • Upload date:
  • Size: 20.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.8.2 CPython/3.8.18 Linux/6.5.0-1018-azure

File hashes

Hashes for debby-1.0.4.tar.gz
Algorithm Hash digest
SHA256 4aa684dcb09e30ce2f5236b029c73d5e681d44f6515c69b254936a2b9c57c4e0
MD5 8bae6b9503cec7f75edc7dc331b36d88
BLAKE2b-256 6e4a1b92a0f1d748b7494bd13be96c37907d0bc2dab3ec7930edb7ef065bd269

See more details on using hashes here.

File details

Details for the file debby-1.0.4-py3-none-any.whl.

File metadata

  • Download URL: debby-1.0.4-py3-none-any.whl
  • Upload date:
  • Size: 23.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.8.2 CPython/3.8.18 Linux/6.5.0-1018-azure

File hashes

Hashes for debby-1.0.4-py3-none-any.whl
Algorithm Hash digest
SHA256 3e9751ecb30c700bb079e8126cc39c9c94a09fe4acdae8c366441b60baa4988a
MD5 91beda9fbb89e241a80681e3899d4502
BLAKE2b-256 11468b0bc7306113931f6dd84f8265f9ab70b4fb5b7e8e725695633739f32bc7

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