# pychub-pdm-plugin
This pychub plugin is part of the pychub-build-plugins project. If you are here,
you should already be familiar with pychub. If not, please read the pychub
documentation. You can find it on [github](https://github.com/Steve973/pychub),
or on [pypi](https://pypi.org/project/pychub/). The information located in those
locations will describe the operation of pychub. This document will describe
how to use pychub in a `pyproject.toml` file when building with pdm.
## Prerequisites
You should already have a `pyproject.toml` file that builds a wheel of your
project with the pdm build backend. Once you have completed that, you can
continue by adding the `pychub-pdm-plugin` to your `pyproject.toml` file.
## Using the Plugin
Usage of the plugin is straightforward, and only requires the addition of the
plugin to your `pyproject.toml` file, and the standard `pychub` configuration.
### Adding the Plugin To Your `pyproject.toml` File
Amend your `[build-system]` section so that the `requires` array includes the
plugin name:
```toml
[build-system]
requires = ["pdm-backend", "pychub-pdm-plugin"]
build-backend = "pdm.backend"
```
### Configuring the Plugin
Add the `pychub` configuration to your `pyproject.toml` file according to the
`pychub` documentation. Here is an example:
```toml
[tool.pychub.package]
name = "test-proj"
version = "0.0.1"
wheel = "dist/test_pkg-0.0.1-py3-none-any.whl"
includes = [
"includes/README.md::docs/",
"includes/test.cfg::conf/",
"includes/info.txt::etc/other.txt",
"includes/test.txt"
]
[tool.pychub.package.scripts]
pre = ["scripts/pre_script.sh"]
post = ["scripts/post_script.sh"]
[tool.pychub.package.metadata]
maintainer = "you@example.com"
test = "pdm"
```
### Plugin Execution
Once you have configured the plugin, you can run `pdm build` and the plugin
will execute. Your `dist` directory will contain the wheel and the `pychub`
file.
Raw data
{
"_id": null,
"home_page": null,
"name": "pychub-pdm-plugin",
"maintainer": null,
"docs_url": null,
"requires_python": ">=3.9",
"maintainer_email": null,
"keywords": "bundle, chub, executable, package, packaging, zipapp",
"author": "Steve Storck",
"author_email": "steve973@gmail.com",
"download_url": "https://files.pythonhosted.org/packages/26/28/b305144bbfdc5da51699a2c6ff71c6d99cd6af82396040284829cb0b94ca/pychub_pdm_plugin-1.0.3.tar.gz",
"platform": null,
"description": "# pychub-pdm-plugin\n\nThis pychub plugin is part of the pychub-build-plugins project. If you are here,\nyou should already be familiar with pychub. If not, please read the pychub\ndocumentation. You can find it on [github](https://github.com/Steve973/pychub),\nor on [pypi](https://pypi.org/project/pychub/). The information located in those\nlocations will describe the operation of pychub. This document will describe\nhow to use pychub in a `pyproject.toml` file when building with pdm.\n\n## Prerequisites\n\nYou should already have a `pyproject.toml` file that builds a wheel of your\nproject with the pdm build backend. Once you have completed that, you can\ncontinue by adding the `pychub-pdm-plugin` to your `pyproject.toml` file.\n\n## Using the Plugin\n\nUsage of the plugin is straightforward, and only requires the addition of the\nplugin to your `pyproject.toml` file, and the standard `pychub` configuration.\n\n### Adding the Plugin To Your `pyproject.toml` File\n\nAmend your `[build-system]` section so that the `requires` array includes the\nplugin name:\n\n```toml\n[build-system]\nrequires = [\"pdm-backend\", \"pychub-pdm-plugin\"]\nbuild-backend = \"pdm.backend\"\n```\n\n### Configuring the Plugin\n\nAdd the `pychub` configuration to your `pyproject.toml` file according to the\n`pychub` documentation. Here is an example:\n\n```toml\n[tool.pychub.package]\nname = \"test-proj\"\nversion = \"0.0.1\"\nwheel = \"dist/test_pkg-0.0.1-py3-none-any.whl\"\nincludes = [\n \"includes/README.md::docs/\",\n \"includes/test.cfg::conf/\",\n \"includes/info.txt::etc/other.txt\",\n \"includes/test.txt\"\n]\n\n[tool.pychub.package.scripts]\npre = [\"scripts/pre_script.sh\"]\npost = [\"scripts/post_script.sh\"]\n\n[tool.pychub.package.metadata]\nmaintainer = \"you@example.com\"\ntest = \"pdm\"\n```\n\n### Plugin Execution\n\nOnce you have configured the plugin, you can run `pdm build` and the plugin\nwill execute. Your `dist` directory will contain the wheel and the `pychub`\nfile.\n\n",
"bugtrack_url": null,
"license": "MIT",
"summary": "Pdm build plugin for pychub",
"version": "1.0.3",
"project_urls": null,
"split_keywords": [
"bundle",
" chub",
" executable",
" package",
" packaging",
" zipapp"
],
"urls": [
{
"comment_text": null,
"digests": {
"blake2b_256": "66112d1caeb3bfb314814ca4a858056eb519f541e894244d5497dc26b53fa5ec",
"md5": "22462b91e01dc2ef077ef5a092f0b9ec",
"sha256": "e070dfa2386c0fe0aafa361eccc2df009cc9887bfc9d029a80e800d420e80ae9"
},
"downloads": -1,
"filename": "pychub_pdm_plugin-1.0.3-py3-none-any.whl",
"has_sig": false,
"md5_digest": "22462b91e01dc2ef077ef5a092f0b9ec",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.9",
"size": 3109,
"upload_time": "2025-09-08T23:46:46",
"upload_time_iso_8601": "2025-09-08T23:46:46.581115Z",
"url": "https://files.pythonhosted.org/packages/66/11/2d1caeb3bfb314814ca4a858056eb519f541e894244d5497dc26b53fa5ec/pychub_pdm_plugin-1.0.3-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "2628b305144bbfdc5da51699a2c6ff71c6d99cd6af82396040284829cb0b94ca",
"md5": "a68b11ae17d05e2e9cf83208d0b95bbc",
"sha256": "be942d6ef33c64db251b2549e533b10bed176fecc44dd87e86072fd3fbf2c874"
},
"downloads": -1,
"filename": "pychub_pdm_plugin-1.0.3.tar.gz",
"has_sig": false,
"md5_digest": "a68b11ae17d05e2e9cf83208d0b95bbc",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.9",
"size": 2293,
"upload_time": "2025-09-08T23:46:50",
"upload_time_iso_8601": "2025-09-08T23:46:50.372429Z",
"url": "https://files.pythonhosted.org/packages/26/28/b305144bbfdc5da51699a2c6ff71c6d99cd6af82396040284829cb0b94ca/pychub_pdm_plugin-1.0.3.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2025-09-08 23:46:50",
"github": false,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"lcname": "pychub-pdm-plugin"
}