Skip to main content

Read rpm archive files

Project description

rpmfile

Build Status Actions Status PyPI version

Tools for inspecting RPM files in python. This module is modeled after the tarfile module.

Install

$ python -m pip install -U rpmfile

If you want to use rpmfile with zstd compressed rpms, you'll need to install the zstandard module.

zstd also requires that you are using Python >= 3.5

$ python -m pip install -U zstandard

Example

See the tests for more examples.

import rpmfile

with rpmfile.open('file.rpm') as rpm:

    # Inspect the RPM headers
    print(rpm.headers.keys())
    print(rpm.headers.get('arch', 'noarch'))

    # Extract a fileobject from the archive
    fd = rpm.extractfile('./usr/bin/script')
    print(fd.read())

    for member in rpm.getmembers():
        print(member)

Command line usage

You can use rpmfile via it's module invocation or via rpmfile command if your PATH environment variable is configured correctly. Pass --help for all options.

List RPM contents

curl -sfL 'https://example.com/some.rpm.gz' | gzip -d - | python -m rpmfile -l -
./path/to/file

Extract files

curl -sfL 'https://example.com/some.rpm.gz' | gzip -d - | rpmfile -xv -
./path/to/file

Extract files to directory

curl -sfL 'https://example.com/some.rpm.gz' | gzip -d - | rpmfile -xvC /tmp -
/tmp/path/to/file

Classes

  • rpmfile.RPMFile: The RPMFile object provides an interface to a RPM archive
  • rpmfile.RPMInfo: An RPMInfo object represents one member in a RPMFile.

Contributing

The black formater should be used on all files before submitting a contribution. Version 19.10b0.

$ pip install black==19.10b0
$ black .

Code in this module was borrowed from:

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

rpmfile-1.0.6.tar.gz (18.1 kB view details)

Uploaded Source

Built Distribution

rpmfile-1.0.6-py3-none-any.whl (19.6 kB view details)

Uploaded Python 3

File details

Details for the file rpmfile-1.0.6.tar.gz.

File metadata

  • Download URL: rpmfile-1.0.6.tar.gz
  • Upload date:
  • Size: 18.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.2.0 pkginfo/1.6.1 requests/2.25.0 setuptools/49.2.1 requests-toolbelt/0.9.1 tqdm/4.53.0 CPython/3.8.6

File hashes

Hashes for rpmfile-1.0.6.tar.gz
Algorithm Hash digest
SHA256 078ad1afeecb30806f7fa06177aaa0274ca616cb77605dd76037f1a16f4babff
MD5 4552c31f851830a148b4f2a7397ca569
BLAKE2b-256 42234f3af9ee139299346c675322a757a1eae0194ec7746132c82a16d8cfa382

See more details on using hashes here.

File details

Details for the file rpmfile-1.0.6-py3-none-any.whl.

File metadata

  • Download URL: rpmfile-1.0.6-py3-none-any.whl
  • Upload date:
  • Size: 19.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.2.0 pkginfo/1.6.1 requests/2.25.0 setuptools/51.1.1 requests-toolbelt/0.9.1 tqdm/4.53.0 CPython/3.7.6

File hashes

Hashes for rpmfile-1.0.6-py3-none-any.whl
Algorithm Hash digest
SHA256 4f0a25ac630f2ff72fa2045d7eee2aa74b9c52829c137fd2c729a7ccb8209e77
MD5 6f94bedcb7f14cd04a2226e2d290f3b1
BLAKE2b-256 59628f2987b4b9201c0740fd20e535bff98895d6cebd2158a4f510f29d5e880c

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