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
Release files for little-cheesemonger 0.2.1
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| little-cheesemonger-0.2.1.tar.gz | 13.3 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| little_cheesemonger-0.2.1-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 31.2 kB
Release files / little-cheesemonger-0.2.1.tar.gz
| Download URL | little-cheesemonger-0.2.1.tar.gz |
|---|---|
| Size | 13.3 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
4904c515b4b4416724348ddc2c5c2afdc271346cdd52c5d594f949d769ee6239
|
|
BLAKE2b-256 checksum How to use checksums |
2b224fce9796596da55653e6bf62e7f29519a0a8c889cec432679843df82be3a
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is 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
|
Release files / little_cheesemonger-0.2.1-py3-none-any.whl
| Download URL | little_cheesemonger-0.2.1-py3-none-any.whl |
|---|---|
| Size | 17.9 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
dc8793327bce5688c87a7c0781b67258fb49a3512a5831bb157b7732d8af5ab1
|
|
BLAKE2b-256 checksum How to use checksums |
34cf44bb4768fef2244f230421d9b0afb479c9ba358e475e0d5b99948376e8c5
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is 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
|