Skip to main content

Comps XML file manipulation library

Project description

libcomps

Libcomps is alternative for yum.comps library. It's written in pure C as library with Python bindings.

Building

Requirements

for automatic build system:

for libcomps library:

for python bindings:

for C library tests:

for documentation build:

for rpm building:

Building

  1. clone this repository git clone https://github.com/rpm-software-management/libcomps.git

  2. from the checkout dir:

     mkdir build
     cd build/
     cmake ../libcomps
     make
    
  3. building the documentation:

     make docs
     make pydocs
    

Building rpm package

You can use tito for building rpm package. From checkout dir:

    tito build --rpm --test

Building Python package

To create a binary "wheel" distribution, use:

python setup.py bdist_wheel

To create a source distribution, use:

python setup.py sdist

Installing source distributions require the installer of the package to have all of the build dependencies installed on their system, since they compile the code during installation. Binary distributions are pre-compiled, but they are likely not portable between substantially different systems, e.g. Fedora and Ubuntu.

Note: if you are building a bdist or installing the sdist on a system with an older version of Pip, you may need to install the scikit-build Python package first.

To install either of these packages, use:

pip install dist/{{ package name }}

To create an "editable" install of libcomps, use:

python setup.py develop

Note: To recompile the libraries and binaries, you muse re-run this command.

Installing

  • After successful build run: make install
  • Or install rpm package

Testing

After build, you can find test for C library in tests directory, starting with test_ prefix. Binding tests are at (for now) same directory as python binding library. You can run python __test.py or python3 __test.py (even without installing library) for tests bindings. Also this unittest serves as python bindings documentation (for now).

Documentation

After build, documentation is in docs directory. Documentation is built in html xml and latex format. Only uncomplete documentation for C library is available at the moment. Look at bindings unittest __test.py__ for python bindings usage.

Contribution

Here's the most direct way to get your work merged into the project.

  1. Fork the project

  2. Clone down your fork

  3. Implement your feature or bug fix and commit changes

  4. If the change fixes a bug at Red Hat bugzilla, or if it is important to the end user, add the following block to the commit message:

    = changelog =
    msg:           message to be included in the changelog
    type:          one of: bugfix/enhancement/security (this field is required when message is present)
    resolves:      URLs to bugs or issues resolved by this commit (can be specified multiple times)
    related:       URLs to any related bugs or issues (can be specified multiple times)
    
    • For example::

      = changelog =
      msg: Do not skip type=mandatory in xml output
      type: bugfix
      resolves: https://bugzilla.redhat.com/show_bug.cgi?id=1771224
      
    • For your convenience, you can also use git commit template by running the following command in the top-level directory of this project:

      git config commit.template ./.git-commit-template
      
  5. Push the branch to your fork

  6. Send a pull request for your branch

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

libcomps-0.1.23.post1.tar.gz (4.0 MB view details)

Uploaded Source

Built Distributions

If you're not sure about the file name format, learn more about wheel file names.

libcomps-0.1.23.post1-cp314-cp314t-manylinux_2_28_x86_64.whl (1.2 MB view details)

Uploaded CPython 3.14tmanylinux: glibc 2.28+ x86-64

libcomps-0.1.23.post1-cp314-cp314t-manylinux_2_28_aarch64.whl (1.1 MB view details)

Uploaded CPython 3.14tmanylinux: glibc 2.28+ ARM64

libcomps-0.1.23.post1-cp314-cp314-manylinux_2_28_x86_64.whl (1.2 MB view details)

Uploaded CPython 3.14manylinux: glibc 2.28+ x86-64

libcomps-0.1.23.post1-cp314-cp314-manylinux_2_28_aarch64.whl (1.1 MB view details)

Uploaded CPython 3.14manylinux: glibc 2.28+ ARM64

libcomps-0.1.23.post1-cp313-cp313-manylinux_2_28_x86_64.whl (1.2 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.28+ x86-64

libcomps-0.1.23.post1-cp313-cp313-manylinux_2_28_aarch64.whl (1.1 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.28+ ARM64

libcomps-0.1.23.post1-cp312-cp312-manylinux_2_28_x86_64.whl (1.2 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.28+ x86-64

libcomps-0.1.23.post1-cp312-cp312-manylinux_2_28_aarch64.whl (1.1 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.28+ ARM64

libcomps-0.1.23.post1-cp311-cp311-manylinux_2_28_x86_64.whl (1.2 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.28+ x86-64

libcomps-0.1.23.post1-cp311-cp311-manylinux_2_28_aarch64.whl (1.1 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.28+ ARM64

libcomps-0.1.23.post1-cp310-cp310-manylinux_2_28_x86_64.whl (1.2 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.28+ x86-64

libcomps-0.1.23.post1-cp310-cp310-manylinux_2_28_aarch64.whl (1.1 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.28+ ARM64

libcomps-0.1.23.post1-cp39-cp39-manylinux_2_28_x86_64.whl (1.1 MB view details)

Uploaded CPython 3.9manylinux: glibc 2.28+ x86-64

libcomps-0.1.23.post1-cp39-cp39-manylinux_2_28_aarch64.whl (1.1 MB view details)

Uploaded CPython 3.9manylinux: glibc 2.28+ ARM64

File details

Details for the file libcomps-0.1.23.post1.tar.gz.

File metadata

  • Download URL: libcomps-0.1.23.post1.tar.gz
  • Upload date:
  • Size: 4.0 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for libcomps-0.1.23.post1.tar.gz
Algorithm Hash digest
SHA256 5a0d6243de24898a15e42e02b2c19abaf773e7fa89aa6ee080bff50eddf09921
MD5 74b2c2ae1d8bbfd2ee9cf6bc850c2338
BLAKE2b-256 349d83453a652822de597aaa1646081361d22034544a85a300f963b718cc9020

See more details on using hashes here.

File details

Details for the file libcomps-0.1.23.post1-cp314-cp314t-manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for libcomps-0.1.23.post1-cp314-cp314t-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 bcf732e79d4f925ed2a827abe6f9732f75db0d119821114bbf4e3d954f5497aa
MD5 ed9721325849c6182887176920aa4d13
BLAKE2b-256 580db22da556fe4ecb3ab18a77ea9bf03890942e2854b6d7169ef6aecc239be8

See more details on using hashes here.

File details

Details for the file libcomps-0.1.23.post1-cp314-cp314t-manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for libcomps-0.1.23.post1-cp314-cp314t-manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 919446358925650cfee917f4243e2fe279bafe50017d6cb188c93f3be7c06fde
MD5 9df441ccbe92a9f15a7c040bc763a66a
BLAKE2b-256 bd163c5fb0f4bce0eff2ca08fbd15c8923bbd35dc8fafdf007216a025143104d

See more details on using hashes here.

File details

Details for the file libcomps-0.1.23.post1-cp314-cp314-manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for libcomps-0.1.23.post1-cp314-cp314-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 ceda740a93d9413b1bad1db24c219f956d3e84cc62cfea11f79eb07275d234b8
MD5 493919aa59f2acca4a912a36e25b6f88
BLAKE2b-256 04c1e8cd5edb77e3a89a7de8743e18e218ed12a3453a32e1fd6e44bd8a535a8f

See more details on using hashes here.

File details

Details for the file libcomps-0.1.23.post1-cp314-cp314-manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for libcomps-0.1.23.post1-cp314-cp314-manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 95ea75ed0c36aece6b57054fa840ba7da5093bcad0ffebfb89dccd0112b20278
MD5 b3849307cdd05a574cd6e4fd7fa8d3f5
BLAKE2b-256 702efbe7b0d115ab8a90ec816619a046f106768dda41afb131c5d9f1fbab5bb5

See more details on using hashes here.

File details

Details for the file libcomps-0.1.23.post1-cp313-cp313-manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for libcomps-0.1.23.post1-cp313-cp313-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 f1077fe5d83dcaeadfc632243814bf5f84f2a64afc5684f6aca4df0b2b229134
MD5 e91e70e8126be644d4cfd1ba532f9538
BLAKE2b-256 ad3084daf530fad808275adaab15691f8bcc6551eb9c28c313f67bbfdc460bf3

See more details on using hashes here.

File details

Details for the file libcomps-0.1.23.post1-cp313-cp313-manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for libcomps-0.1.23.post1-cp313-cp313-manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 0f74d3129e46513a408c2fda9c3fff683596fb5ceac46510f1b21faf0782c4e4
MD5 34ea176f3157ef156ef22f6636d7e3f2
BLAKE2b-256 d36576161f4963cefb79369fcececa701241bc7e944807cd1fcc92cbcbdfa49c

See more details on using hashes here.

File details

Details for the file libcomps-0.1.23.post1-cp312-cp312-manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for libcomps-0.1.23.post1-cp312-cp312-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 72a16518e0c53d68fc34d4951df61bd6a54db634548504f64274e4649e93d629
MD5 c02eaaa493cb6e1a06014b53b36c8ecf
BLAKE2b-256 0b7e5612f8315c8794fd18fdf326e1653762d22fce2b8fb6a1d2766797bb89eb

See more details on using hashes here.

File details

Details for the file libcomps-0.1.23.post1-cp312-cp312-manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for libcomps-0.1.23.post1-cp312-cp312-manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 be6c831a6c0c1503a9e4a798d8f270c25af230658451f5652a32e7cb28a84774
MD5 143cd7516b684ca74efafd2ab9cf9f56
BLAKE2b-256 5ad4303384ecb46f5df7f485eb51a88ca63e51ce90f9fbe02a60ed262dd154ce

See more details on using hashes here.

File details

Details for the file libcomps-0.1.23.post1-cp311-cp311-manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for libcomps-0.1.23.post1-cp311-cp311-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 ddadb672784438c4ac0306e8a46ba4c091246f94a4906e3dfd31c1dece6b0bf3
MD5 cb210cbfc0401855a3691e8382ca0c83
BLAKE2b-256 8f531d9d745edcd67745a559f3a0473a0562c79412500c8746200f90ff33e9b2

See more details on using hashes here.

File details

Details for the file libcomps-0.1.23.post1-cp311-cp311-manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for libcomps-0.1.23.post1-cp311-cp311-manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 28fc379cc88c78738e2fbfd7c89c68d819ccc597fd9da413f6e58ca73963fc0e
MD5 11d359b0d16526ae0e831662e0b81b9b
BLAKE2b-256 0bc290aef5b99b27b0a4d0f421177510173858b87543f6662ea1fa96da3073b0

See more details on using hashes here.

File details

Details for the file libcomps-0.1.23.post1-cp310-cp310-manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for libcomps-0.1.23.post1-cp310-cp310-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 8ac0e541be96dc8c1aee369063263fd6042ea60c84390a5bcce02d5c521d9761
MD5 aaef434d3858cb03ca91695ebb111cb9
BLAKE2b-256 d28dc8c9ac424651063655a65df5195d9224571752a712880a189529ee9a7b59

See more details on using hashes here.

File details

Details for the file libcomps-0.1.23.post1-cp310-cp310-manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for libcomps-0.1.23.post1-cp310-cp310-manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 9aa9cb3ea20469264fd8e4ab382395412563941d650a36aa0356530fb6ad85e8
MD5 f6323c4afcd426d18ba3aeed14b2e4e6
BLAKE2b-256 473b6c9bee853922792dd199147cc4483d7df9da3f08ff42e6fa8798a6eaf6b8

See more details on using hashes here.

File details

Details for the file libcomps-0.1.23.post1-cp39-cp39-manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for libcomps-0.1.23.post1-cp39-cp39-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 c1e30789e2e4260660bec5db61b7226d5557a2776b28ceabda100b1fbd8f74dd
MD5 e7c8867dd903537e252ca9264427fd4b
BLAKE2b-256 487a91484b79cafa90f24aecc456c644837ff193f56060726d2b9d88bee76c94

See more details on using hashes here.

File details

Details for the file libcomps-0.1.23.post1-cp39-cp39-manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for libcomps-0.1.23.post1-cp39-cp39-manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 fdf4d539b9971f09ca652df0d9dbd3dc2e8883665a91c1be0da3cccdd5f35e9b
MD5 2afba5e394e0e4dca5d92f23dac85631
BLAKE2b-256 2aac63e6b137646d2e0774743cb412feb85226896dc1c96f154009d29db575f8

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page