funcd-bundle
Bundles a Python funcd function for deployment: the handler, the exact
versions of its runtime dependencies from uv.lock installed for the funcd runtime's Linux platform, and
its funcdctl.yaml. funcdctl push turns the bundle into one OCI artifact.
uv add --dev funcd-bundle
uv run funcd-bundle # dist/<name>/ for linux/<host arch>
uv run funcd-bundle --platform linux/amd64 # from any host
funcdctl push dist/<name> <ref> --entry handler.py
- Functions: every
<name>.funcdctl.yamlin the project is a function<name>; with none,funcdctl.yamlis one named after the project directory. The handler is the manifest'smain, else<name>.py(orhandler.pyforfuncdctl.yaml) beside the manifest, asfuncdctl devreads it. A handler in a subdirectory is copied with its directory. - Dependencies:
uv export --frozen --no-devof the project, withoutfuncd-shimand the packages only it needs (the runtime ships them). Registry packages install as wheels only (--only-binary :all:) for CPython 3.14 and manylinux glibc 2.36, with their locked hashes. Workspace members are built as pure-Python wheels. - Check: the vendored modules the handler imports are imported in
python:3.14-slim-bookwormfor the target platform (--no-checkskips it). A foreign platform needs QEMU on the Docker host. - Hermetic:
--hermetic, orhermetic = truein[tool.funcd-bundle], installs with pip inside that image and then runspost-install, withFUNCD_BUNDLE_DIRandPYTHONPATHset to the bundle:
[tool.funcd-bundle]
hermetic = true
post-install = ["python", "scripts/install_extensions.py"]
Docker steps copy files in and out with docker cp and bind no host path.
Metadata
Release files for funcd-bundle 0.3.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 | |
|---|---|---|---|
| funcd_bundle-0.3.1.tar.gz | 38.7 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| funcd_bundle-0.3.1-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 47.6 kB
Release files / funcd_bundle-0.3.1.tar.gz
| Download URL | funcd_bundle-0.3.1.tar.gz |
|---|---|
| Size | 38.7 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
2a88fc5dc7c4213b784e7caa24b0d2f4b530ed75e7f9d7215f05b23ace2921ad
|
|
BLAKE2b-256 checksum How to use checksums |
93bae4b99394a3d569874c7372cc2f8c63eeadefa0cf256f90a20d1e06b58084
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Oct 2, 2026.
Transparency logRelease files / funcd_bundle-0.3.1-py3-none-any.whl
| Download URL | funcd_bundle-0.3.1-py3-none-any.whl |
|---|---|
| Size | 8.9 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
5a83ebae5e793304ab187c39439c01656c0b17acb53a35ba12f3088aa71c4be0
|
|
BLAKE2b-256 checksum How to use checksums |
42471a5e3ff5c15a7ffc7f718cc3ac32c6a4a20f1ef334ee87a5f17444a0c145
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Oct 2, 2026.
Transparency log