lemon-oxygen-72498
10/11/2022, 2:36 PMlibs/geometry
with code in libs/geometry/kaiko/geometry
and libs/geometry/pyproject.toml
looks like this:
[build-system]
requires = ["poetry-core>=1.0.0"]
build-backend = "poetry.core.masonry.api"
[tool.poetry]
name = "kaiko-geometry"
version = "0.0.1"
description = "Kaiko's shared library to help manipulating shape and geometric primitives."
authors = [
"Axel Lagre <axel@kaiko.ai>"
]
packages = [
{ include = "kaiko" }
]
When I package the library with ./pants package libs/geometry
, I get a wheel whose python code is in directory libs/geometry/kaiko/geometry
in the wheel. Whereas the code should be in kaiko/geometry
(because that's the package name). If I poetry build
instead of pants
I get the expected behavior.
Any clue as to what I am missing in libs/geometry/BUILD
? Here is its content:
python_requirements(name="kaiko-geometry-reqs") # Used for local sandboxes, dependencies are pinned
poetry_requirements(name="kaiko-geometry-poetry-reqs") # Used for deployment, dependencies are loose
python_sources(
name="kaiko-geometry",
sources=["kaiko/geometry/**/*.py"],
dependencies=[
":kaiko-geometry-reqs#numpy",
]
)
python_distribution( # <https://www.pantsbuild.org/docs/python-distributions>
name="kaiko-geometry-dist",
dependencies=[":kaiko-geometry-poetry-reqs", ":kaiko-geometry"],
provides=python_artifact(
name="kaiko-geometry-dist",
version="0.0.1"
),
sdist = False # only use wheel
)
refined-addition-53644
10/11/2022, 2:49 PMlemon-oxygen-72498
10/11/2022, 2:50 PM[source]
root_patterns = ["/"]
refined-addition-53644
10/11/2022, 2:52 PMfrom kaiko.gemotry import ..
Then your root pattern should have
root_patterns = ["/", "/lib/geometry]
lemon-oxygen-72498
10/11/2022, 2:53 PM[source]
marker_filenames = ["pyproject.toml"]