Skip to main content

Utilities to parse Debian package, copyright and control files.

Project description

The Python package debut is a collection of utilities to parse various Debian package manifests, machine readable copyright and control files collectively known as the Debian 822 format (based on the RFC822 email format).

Why the name debut? That’s a portmanteau of DEBian and UTilities!

Origin

This library is based on a heavily modified and remixed combination of original code with code from other origins:

Why?

Why create this seemingly redundant library? The official python-debian tools and several other utilities already provide similar capabilities!

On the surface this is correct, but there are several reasons for a new utility:

  • Existing tools parse control files strictly. This library tries to be more flexible. For instance it can recognize and fix some almost correct copyright files that are not fully “machine readable” but close enough to the spec to be worthy of recovery.

  • Several of these tools have to deal with legacy compatibility. We do not have such a need. For instance, the Python standard library email module and one line of code is enough to parse a Debian 822 file fields. I doubt that this feature was available in the standard library when python-debian was started but it is here now and this vastly simplifies the code.

  • The focus of this library is to parse and inspect control files, not to emit and create them, so the code and tests can be much simpler. For instance, rather than using more complex case-insensitive dictionary keys while preserving case for Deb822-like objects, this library uses lower case keys throughout.

  • The official python-debian library is GPL-licensed making it it hard to combine with Apache-licensed libraries. I tried to work out a licensing change for python-debian with all its authors such that it could be integrated in permissive-licensed Python tools. Even though most current maintainers and contributors were OK with that relicensing to a permissive or an LGPL license, I could not get a reply and agreement from some important legacy authors: therefore the relicensing was not possible.

License

SPDX-License-Identifier: Apache-2.0 AND BSD-3-Clause AND MIT

This software combines software from several origins with different licenses. All of these licenses apply as all original files have been refactored and remixed significantly:

Copyright nexB Inc. and others.
Copyright (c) 2018 Peter Odding.
Copyright 2017 The Climate Corporation (https://climate.com)
Copyright (c) 2014-2019 Security Innovation, Inc
Copyright 2013 Agustin Henze <tin@sluc.org.ar>

Note that the tests/ may also contain files using other FOSS licenses.

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

debut-0.9.8.tar.gz (133.1 kB view details)

Uploaded Source

Built Distribution

debut-0.9.8-py2.py3-none-any.whl (39.0 kB view details)

Uploaded Python 2 Python 3

File details

Details for the file debut-0.9.8.tar.gz.

File metadata

  • Download URL: debut-0.9.8.tar.gz
  • Upload date:
  • Size: 133.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.23.0 setuptools/49.1.0 requests-toolbelt/0.9.1 tqdm/4.46.1 CPython/3.6.9

File hashes

Hashes for debut-0.9.8.tar.gz
Algorithm Hash digest
SHA256 b353e1d826d0be80a7268762efd99ba05f9d1df1aef0553fb7ea17c670bee85c
MD5 06e89ee95281c712d4d796983be17020
BLAKE2b-256 cf2d023df9e6305b306f8e73c3be711d97ed154d87a756c43c5d6a6219244f50

See more details on using hashes here.

Provenance

File details

Details for the file debut-0.9.8-py2.py3-none-any.whl.

File metadata

  • Download URL: debut-0.9.8-py2.py3-none-any.whl
  • Upload date:
  • Size: 39.0 kB
  • Tags: Python 2, Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.23.0 setuptools/49.1.0 requests-toolbelt/0.9.1 tqdm/4.46.1 CPython/3.6.9

File hashes

Hashes for debut-0.9.8-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 edd4ff3d265ca5bf645c73d6863a886d34743152d215a5de094c4d31fa6943e3
MD5 37a77e6af0fa65d2263a0d8a045d2aed
BLAKE2b-256 44c3b63fe5a167e4b8317d2bc7a3eb5d75123607e9fb53f0652e2bc8e61cd3e5

See more details on using hashes here.

Provenance

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