Skip to content

Commit 322f40e

Browse files
authored
Merge pull request TangleML#18 from TangleML/piforge/tangle-cli-fix/stable-0-1-0-release-be54bff
chore: prepare 0.1.0 stable release
2 parents 7404e49 + fd945bd commit 322f40e

5 files changed

Lines changed: 12 additions & 12 deletions

File tree

README.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -101,7 +101,7 @@ uv run tangle api --help
101101
uv run tangle sdk pipelines validate pipeline.yaml
102102
```
103103

104-
Custom API/codegen users can still run codegen from the fully capable install; generating bindings does not require removing the official `tangle-api` package. For project-local generated APIs, generate into a local source tree such as `src/tangle_api/generated` (and `src/tangle_api/schema/openapi.json` when you want `tangle api --schema-source official`) and run from that project so local `src/tangle_api` shadows site-packages. For packaged custom APIs, publish/provide a distribution named `tangle-api` with a version compatible with this `tangle-cli` release (for example `0.0.1a3+yourorg` for a `tangle-cli` dependency on `tangle-api==0.0.1a3`) via a private index, `--find-links`, or uv sources. As an expert escape hatch, `--no-deps` installs only `tangle-cli` and skips all dependencies, so that environment must manually provide every required runtime dependency plus its generated/custom `tangle_api`; this is acceptable for controlled codegen/custom scenarios but not normal UX.
104+
Custom API/codegen users can still run codegen from the fully capable install; generating bindings does not require removing the official `tangle-api` package. For project-local generated APIs, generate into a local source tree such as `src/tangle_api/generated` (and `src/tangle_api/schema/openapi.json` when you want `tangle api --schema-source official`) and run from that project so local `src/tangle_api` shadows site-packages. For packaged custom APIs, publish/provide a distribution named `tangle-api` with a version compatible with this `tangle-cli` release (for example `0.1.0+yourorg` for a `tangle-cli` dependency on `tangle-api==0.1.0`) via a private index, `--find-links`, or uv sources. As an expert escape hatch, `--no-deps` installs only `tangle-cli` and skips all dependencies, so that environment must manually provide every required runtime dependency plus its generated/custom `tangle_api`; this is acceptable for controlled codegen/custom scenarios but not normal UX.
105105

106106
## Agent skills
107107

@@ -350,7 +350,7 @@ uv run python -m tangle_cli.openapi.codegen \
350350
--out src/tangle_api/generated
351351
```
352352

353-
That project-local `tangle_api` package can be an editable/package source tree. If you ship the custom API bindings as a wheel or source distribution, use the distribution name `tangle-api` and a compatible version for the `tangle-cli` release you are using. A PEP 440 local version such as `0.0.1a3+yourorg` can satisfy a public `==0.0.1a3` dependency while distinguishing your private build. Provide that package through your private index, `--find-links`, or uv source configuration so the resolver chooses it instead of the public official package.
353+
That project-local `tangle_api` package can be an editable/package source tree. If you ship the custom API bindings as a wheel or source distribution, use the distribution name `tangle-api` and a compatible version for the `tangle-cli` release you are using. A PEP 440 local version such as `0.1.0+yourorg` can satisfy a public `==0.1.0` dependency while distinguishing your private build. Provide that package through your private index, `--find-links`, or uv source configuration so the resolver chooses it instead of the public official package.
354354

355355
Generate from a backend checkout explicitly:
356356

packages/tangle-api/pyproject.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
[project]
22
name = "tangle-api"
3-
version = "0.0.1a3"
3+
version = "0.1.0"
44
description = "Checked-in generated Tangle API models and operation proxies"
55
readme = "README.md"
66
authors = [

pyproject.toml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
[project]
22
name = "tangle-cli"
3-
version = "0.0.1a3"
3+
version = "0.1.0"
44
description = "CLI for Tangle, the open-source ML pipeline orchestration platform"
55
readme = "README.md"
66
authors = [
@@ -18,7 +18,7 @@ dependencies = [
1818
"pydantic>=2.0",
1919
"pyyaml>=6.0",
2020
"requests>=2.32.0",
21-
"tangle-api==0.0.1a3",
21+
"tangle-api==0.1.0",
2222
"tomli>=2.0; python_version < '3.11'",
2323
]
2424

tests/test_packaging.py

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -179,8 +179,8 @@ def test_tangle_cli_wheel_supports_expert_no_deps_import_path_without_tangle_api
179179
requires_dist = [line for line in metadata.splitlines() if line.startswith("Requires-Dist: ")]
180180
assert not any(name.startswith("tangle_api/") for name in names)
181181
assert "tangle_cli/openapi/openapi.json" not in names
182-
assert "Version: 0.0.1a3" in metadata
183-
assert "Requires-Dist: tangle-api==0.0.1a3" in requires_dist
182+
assert "Version: 0.1.0" in metadata
183+
assert "Requires-Dist: tangle-api==0.1.0" in requires_dist
184184
assert not any("extra == 'native'" in line for line in requires_dist)
185185
assert "Provides-Extra: native" in metadata
186186
assert "tangle = tangle_cli.cli:main" in entry_points
@@ -208,7 +208,7 @@ def test_tangle_cli_wheel_supports_expert_no_deps_import_path_without_tangle_api
208208

209209

210210
def test_custom_tangle_api_local_version_can_satisfy_cli_pin() -> None:
211-
assert Version("0.0.1a3+yourorg") in SpecifierSet("==0.0.1a3")
211+
assert Version("0.1.0+yourorg") in SpecifierSet("==0.1.0")
212212

213213

214214
def test_tangle_cli_wheel_api_refresh_builds_in_expert_no_deps_fallback(tmp_path) -> None:
@@ -397,7 +397,7 @@ def test_default_wheels_provide_static_client_binding(tmp_path) -> None:
397397
metadata = archive.read(metadata_name).decode()
398398

399399
requires_dist = [line for line in metadata.splitlines() if line.startswith("Requires-Dist: ")]
400-
assert "Version: 0.0.1a3" in metadata
400+
assert "Version: 0.1.0" in metadata
401401
assert "Requires-Dist: pydantic>=2.0" in requires_dist
402402
assert not any("tangle-cli" in line for line in requires_dist)
403403
env = {**os.environ, "PYTHONPATH": os.pathsep.join([str(cli_wheel), str(api_wheel)])}

uv.lock

Lines changed: 3 additions & 3 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)