pyp2spec
This project is a thought descendant of specfile_generator.
It aims to generate working Fedora RPM spec file for Python projects. The produced spec files must be compliant with the current Python Packaging Guidelines (in effect since 2021). It utilizes the benefits of pyproject-rpm-macros.
It is under development.
What it will do
The project will consist of two parts:
- pyp2conf: gathers of all the necessary information to produce a spec file and stores it in a configuration file - not available yet
- conf2spec: produces working spec file using all the information from configuration file - a limited set of functionalities is available
Configuration file specification
Configuration data is stored in a TOML file.
TBD
How to run
To run whatever this project offers at this point, install to your virtual environment the dependencies from requirements.txt:
python -m pip install -r requirements.txt
Until the configuration file specification is set, you can use the test files to run the script:
python conf2spec.py -f tests/test_config/pyp2spec_click.conf
Tests
Test framework used in the project is pytest. The tests use pytest-regresssions extension used to generate spec files to compare. The tests use betamax to record API calls and replay them from the prerecorded cassettes. To run the tests, run following commands:
python -m pip install pytest pytest-regresssions betamax
python -m pytest -vv
License
The code is licensed under MIT.
The spec file template - template.spec and the filed generated by the tool are licensed under CC0 1.0 Universal.