Skip to main content
Python Software Foundation 20th Year Anniversary Fundraiser  Donate today!

Parses Debian Control-File formats.

Project description


A simple parser for Debian control file formats.

Once initialized, it exposes three attributes with information from the input Control File, and one method to export the information to a JSON file.

A CLI functionality may be added later.


Install using pip:

$ pip install --user deb-parse


Import it in your project

from deb_parse.parser import Parser

Initialze it with a valid Control File path or a string that follows the schema:

my_parser = Parse("/var/lib/dpkg/status")
  • Note: A TypeError is raised if the input is not str
  • Note: A ValueError is raised if the input string or path don't follow the schema

If everything goes well, my_parser will now have three accessible attributes:

  • my_parser.pkg_names outputs a list of package names in the input
  • my_parser.raw_pkg_info outputs a list of raw dict objects as seen in input
  • my_parser.clean_pkg_info outputs a list of cleaned up dict objects with more useful information



['libws-commons-util-java', 'python-pkg-resources', 'tcpd', ... ]

[{'name': 'libws-commons-util-java', 'details': {'status': 'install ok installed', 'priority': 'optional', 'section': 'java', 'installed-size': '101', 'maintainer': 'Ubuntu Developers <>', 'architecture': 'all', 'version': '1.0.1-7', 'description': 'Common utilities from the Apache Web Services Project\n This is a small collection of utility classes, that allow high\n performance XML processing based on SAX.', 'original-maintainer': 'Debian Java Maintainers <>', 'homepage': ''}}, ... ]

[{'name': 'libws-commons-util-java', 'details': {'version': '1.0.1-7', 'synopsis': 'Common utilities from the Apache Web Services Project', 'description': 'This is a small collection of utility classes, that allow high\nperformance XML processing based on SAX.', 'depends': None, 'alt_depends': None, 'reverse_depends': None}}, ... ]

If you want, you can also dump the parsed information in a JSON file using .to_json_file():


  • outfile=str, default: './datastore/dpkgs.json'
  • names_only=bool, default: False (if True outputs list of names and cancels raw option)
  • raw=bool, default: False (if True outputs raw parse)

If both options are False, JSON will be based on clean package information


For working on deb-parse, you will need Python >= 3.7 and pipenv installed. Configure pipenv to create its .venv in the current folder if you want to use the VS-Code settings. With these installed, run the following command to create a virtualenv for the project and fetch the dependencies:

$ pipenv install --dev

Next, activate the virtual environment and get to work:

$ pipenv shell
(deb-parse) $

Project details

Download files

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

Files for deb-parse, version 0.1.1
Filename, size File type Python version Upload date Hashes
Filename, size deb_parse-0.1.1-py3-none-any.whl (5.4 kB) File type Wheel Python version py3 Upload date Hashes View
Filename, size deb_parse-0.1.1.tar.gz (4.7 kB) File type Source Python version None Upload date Hashes View

Supported by

AWS AWS Cloud computing Datadog Datadog Monitoring DigiCert DigiCert EV certificate Facebook / Instagram Facebook / Instagram PSF Sponsor Fastly Fastly CDN Google Google Object Storage and Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Salesforce Salesforce PSF Sponsor Sentry Sentry Error logging StatusPage StatusPage Status page