Modify an environment to build and bundle a Python package into a manylinux wheel.
Project description
little-cheesemonger
little-cheesemonger is a package that can set up a manylinux build environment to compile a
correctly linked manylinux wheel. Configuration data is loaded from a pyproject.toml file, or
a custom data loader can be implemented.
Installation
pip install little-cheesemonger==0.2.1
Quickstart
To trigger environment setup, either run little-cheesemonger from the root directory of a package, or pass the path to the package you want compiled. The package must contain configuration data in its pyproject.toml file for environment setup to work.
little-cheesemonger path/to/package
Default Configuration
The manylinux image version is controlled by last section of the configuration heading. The latest tag is always used.
[tool.little-cheesemonger.manylinux2014_x86_64]
environment_variables = [
"FOO=BAR"
]
system_dependencies = [
"atlas"
]
python_dependencies = [
"nyancat==0.1.2"
]
python_versions = [
"cp36-cp36m"
"cp38-cp38"
]
steps = [
"touch /foobar.txt"
]
environment_variablesis a list of environment variables to set in the container prior to building the wheel. They are expected to be inKEY=VALUEformat.system_dependenciesis a list of CentOS system dependencies to install viaYUM. They are expected to be inpackage-versionformat.python_dependenciesis a list of Python dependencies to install viapip. They are expected to be inpackage==versionformat. They are currently installed for all available versions of Python in a given manylinux image.python_versionsis a list of Python versions to install Python dependencies for in a given manylinux image. They are expected to follow the Python installation directory naming convention from in the specified manyliniux image, ex.cp36-cp36m. Python version names can be found by runningls /opt/pythonin a manylinux image.stepsis a list of steps to execute via bash. Package building and uploading could be implemented here, orlittle-cheesemongercould be integrated into a larger system!
Custom Data Loader
You can pass the path to an importable function, as well as positional and keyword arguments to little-cheesemonger to customize how configuration data is loaded.
little-cheesemonger --data-loader path.to.function --loader-arg foo --loader-kwarg foo=bar
Custom data loader functions must accept directory as the first argument with positional and keyword arguments passed to the loader function after. The function must return a dictionary of configuration data matching the fields above.
def my_custom_loader(directory: Path, ...) -> Dict:
pass
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file little-cheesemonger-0.2.1.tar.gz.
File metadata
- Download URL: little-cheesemonger-0.2.1.tar.gz
- Upload date:
- Size: 13.3 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.4.2 importlib_metadata/4.8.1 pkginfo/1.7.1 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.9.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
4904c515b4b4416724348ddc2c5c2afdc271346cdd52c5d594f949d769ee6239
|
|
| MD5 |
5cfa43df5619448b146f05dc5549ab65
|
|
| BLAKE2b-256 |
2b224fce9796596da55653e6bf62e7f29519a0a8c889cec432679843df82be3a
|
File details
Details for the file little_cheesemonger-0.2.1-py3-none-any.whl.
File metadata
- Download URL: little_cheesemonger-0.2.1-py3-none-any.whl
- Upload date:
- Size: 17.9 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.4.2 importlib_metadata/4.8.1 pkginfo/1.7.1 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.9.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
dc8793327bce5688c87a7c0781b67258fb49a3512a5831bb157b7732d8af5ab1
|
|
| MD5 |
7ca632c9b856aaeabb78d8d7991feabe
|
|
| BLAKE2b-256 |
34cf44bb4768fef2244f230421d9b0afb479c9ba358e475e0d5b99948376e8c5
|