-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathpyproject.toml
More file actions
64 lines (58 loc) · 1.98 KB
/
pyproject.toml
File metadata and controls
64 lines (58 loc) · 1.98 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
# Turnkey Python workspace root
#
# This pyproject.toml declares the uv workspace that aggregates all Python
# packages in the monorepo. Members each have their own pyproject.toml; this
# root file pins workspace membership, shared dev tooling, and the resolution
# entry point for `uv sync` / `uv lock`.
#
# After modifying dependencies in any member, regenerate the Buck2/Nix
# dependency file:
# uv lock
# uv export --all-packages --no-dev --format pylock.toml -o pylock.toml
# pydeps-gen --lock pylock.toml -o python-deps.toml
[project]
name = "turnkey"
version = "0.1.0"
description = "Turnkey toolchain management for Nix flakes"
requires-python = ">=3.11"
# Listing workspace members as dependencies makes the default `uv sync`
# install all of them (editable). Non-packaged example members are pulled
# in for dependency resolution only.
dependencies = [
"turnkey-buck",
"turnkey-buildsystem",
"turnkey-cargo",
"turnkey-cfg",
"turnkey-example-python-hello",
"turnkey-example-python-hello-deps",
]
[dependency-groups]
# Auto-installed by 'uv sync' / 'uv run' (PEP 735). Keep dev tooling here
# rather than [project.optional-dependencies] so the bare 'uv run pytest'
# flow doesn't fall through to a system pytest that can't see the venv's
# editable workspace installs.
dev = [
"pytest>=7.0",
]
[tool.uv.workspace]
members = [
"src/python/cargo",
"src/python/buck",
"src/python/buildsystem",
"src/python/cfg",
"src/examples/python-hello",
"src/examples/python-hello-deps",
]
[tool.uv.sources]
turnkey-buck = { workspace = true }
turnkey-buildsystem = { workspace = true }
turnkey-cargo = { workspace = true }
turnkey-cfg = { workspace = true }
turnkey-example-python-hello = { workspace = true }
turnkey-example-python-hello-deps = { workspace = true }
[tool.uv]
# The workspace root itself isn't a packaged project — it exists only to
# anchor the workspace and the shared lockfile.
package = false
[tool.pytest.ini_options]
testpaths = ["src/python"]