without this change, running 'hatch build' in my environment (Ubuntu LTS 22.04) fails with: File "/home/jo.diaz/.local/share/hatch/env/virtual/function-sdk-python/wwDZoZBv/function-sdk-python-build/lib/python3.11/site-packages/hatchling/builders/wheel.py", line 231, in default_only_include return self.default_file_selection_options.only_include ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/home/jo.diaz/.pyenv/versions/3.11.6/lib/python3.11/functools.py", line 1001, in __get__ val = self.func(instance) ^^^^^^^^^^^^^^^^^^^ File "/home/jo.diaz/.local/share/hatch/env/virtual/function-sdk-python/wwDZoZBv/function-sdk-python-build/lib/python3.11/site-packages/hatchling/builders/wheel.py", line 219, in default_file_selection_options raise ValueError(message) ValueError: Unable to determine which files to ship inside the wheel using the following heuristics: https://hatch.pypa.io/latest/plugins/builder/wheel/#default-file-selection At least one file selection option must be defined in the `tool.hatch.build.targets.wheel` table, see: https://hatch.pypa.io/latest/config/build/ As an example, if you intend to ship a directory named `foo` that resides within a `src` directory located at the root of your project, you can define the following: [tool.hatch.build.targets.wheel] packages = ["src/foo"] with the change, the build succeeds Signed-off-by: Joel Diaz <jo.diaz@celonis.com> |
||
---|---|---|
.github | ||
crossplane/function | ||
tests | ||
.gitignore | ||
LICENSE | ||
README.md | ||
pyproject.toml | ||
renovate.json |
README.md
function-sdk-python
The Python SDK for writing composition functions.
This SDK is currently a beta. We try to avoid breaking changes, but it will not have a stable API until it reaches v1.0.0. It follows the same contributing guidelines as Crossplane.
To learn how to use this SDK:
The RunFunctionRequest
and RunFunctionResponse
types provided by this SDK
are generated from a proto3 protocol buffer schema. Their fields behave
similarly to built-in Python types like lists and dictionaries, but there are
some differences. Read the generated code documentation to familiarize yourself
with the the differences.
Contributing
This project follows the Crossplane contributing guidelines, where applicable to Python. It is linted, tested, and built using Hatch.
Some useful commands:
# Generate gRPC stubs.
hatch run generate:protoc
# Lint the code.
hatch run lint:check
# Run unit tests.
hatch run test:unit
# Build an sdist and wheel.
hatch build