release-devkit 0.1.2__tar.gz → 0.1.3__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {release_devkit-0.1.2 → release_devkit-0.1.3}/.github/workflows/ci.yml +1 -1
- {release_devkit-0.1.2 → release_devkit-0.1.3}/PKG-INFO +1 -1
- {release_devkit-0.1.2 → release_devkit-0.1.3}/pyproject.toml +1 -1
- {release_devkit-0.1.2 → release_devkit-0.1.3}/ruff.base.toml +6 -0
- {release_devkit-0.1.2 → release_devkit-0.1.3}/src/release_devkit/create_release.py +1 -1
- {release_devkit-0.1.2 → release_devkit-0.1.3}/src/release_devkit/ensure_release_pr.py +1 -1
- {release_devkit-0.1.2 → release_devkit-0.1.3}/src/release_devkit/feeds.py +1 -1
- {release_devkit-0.1.2 → release_devkit-0.1.3}/src/release_devkit/fetch_ci_artifacts.py +1 -1
- {release_devkit-0.1.2 → release_devkit-0.1.3}/src/release_devkit/mirror_images.py +1 -1
- release_devkit-0.1.3/src/release_devkit/py.typed +0 -0
- {release_devkit-0.1.2 → release_devkit-0.1.3}/tests/test_config.py +3 -4
- {release_devkit-0.1.2 → release_devkit-0.1.3}/tests/test_feeds.py +1 -1
- {release_devkit-0.1.2 → release_devkit-0.1.3}/tests/test_plan.py +4 -4
- release_devkit-0.1.2/src/release_devkit/__init__.py +0 -35
- {release_devkit-0.1.2 → release_devkit-0.1.3}/.gitattributes +0 -0
- {release_devkit-0.1.2 → release_devkit-0.1.3}/.github/workflows/release.yml +0 -0
- {release_devkit-0.1.2 → release_devkit-0.1.3}/.gitignore +0 -0
- {release_devkit-0.1.2 → release_devkit-0.1.3}/AGENTS.md +0 -0
- {release_devkit-0.1.2 → release_devkit-0.1.3}/CLAUDE.md +0 -0
- {release_devkit-0.1.2 → release_devkit-0.1.3}/LICENSE +0 -0
- {release_devkit-0.1.2 → release_devkit-0.1.3}/NOTICE +0 -0
- {release_devkit-0.1.2 → release_devkit-0.1.3}/README.md +0 -0
- {release_devkit-0.1.2 → release_devkit-0.1.3}/publish-config.json +0 -0
- {release_devkit-0.1.2 → release_devkit-0.1.3}/ruff.toml +0 -0
- /release_devkit-0.1.2/src/release_devkit/py.typed → /release_devkit-0.1.3/src/release_devkit/__init__.py +0 -0
- {release_devkit-0.1.2 → release_devkit-0.1.3}/src/release_devkit/config.py +0 -0
- {release_devkit-0.1.2 → release_devkit-0.1.3}/src/release_devkit/ledger.py +0 -0
- {release_devkit-0.1.2 → release_devkit-0.1.3}/src/release_devkit/plan.py +0 -0
- {release_devkit-0.1.2 → release_devkit-0.1.3}/src/release_devkit/publish_dev.py +0 -0
- {release_devkit-0.1.2 → release_devkit-0.1.3}/src/release_devkit/publish_packages.py +0 -0
- {release_devkit-0.1.2 → release_devkit-0.1.3}/uv.lock +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.5
|
|
2
2
|
Name: release-devkit
|
|
3
|
-
Version: 0.1.
|
|
3
|
+
Version: 0.1.3
|
|
4
4
|
Summary: Publication machinery: per-package tag ledger, path-diff change detection, ephemeral version patching, and per-registry feed adapters (nuget, npm/UPM) driven by a declarative consumer-owned config
|
|
5
5
|
License-File: LICENSE
|
|
6
6
|
License-File: NOTICE
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
[project]
|
|
2
2
|
name = "release-devkit"
|
|
3
|
-
version = "0.1.
|
|
3
|
+
version = "0.1.3"
|
|
4
4
|
description = "Publication machinery: per-package tag ledger, path-diff change detection, ephemeral version patching, and per-registry feed adapters (nuget, npm/UPM) driven by a declarative consumer-owned config"
|
|
5
5
|
requires-python = ">=3.13"
|
|
6
6
|
dependencies = [
|
|
@@ -194,5 +194,11 @@ ignore = [
|
|
|
194
194
|
# that pytest consumes implicitly; pytest-style test classes need no self use
|
|
195
195
|
"**/tests/**" = ["S101", "ARG001", "ARG002", "PLR6301"]
|
|
196
196
|
|
|
197
|
+
[lint.ruff]
|
|
198
|
+
# RUF067 in strict mode: __init__.py files must be empty — no re-exports, no
|
|
199
|
+
# side effects. Consumers import submodule paths (from pkg.mod import thing);
|
|
200
|
+
# the package layout is the public surface.
|
|
201
|
+
strictly-empty-init-modules = true
|
|
202
|
+
|
|
197
203
|
[lint.flake8-builtins]
|
|
198
204
|
ignorelist = ["id", "map"]
|
|
@@ -7,7 +7,7 @@ from tempfile import NamedTemporaryFile
|
|
|
7
7
|
from typing import Annotated
|
|
8
8
|
|
|
9
9
|
import typer
|
|
10
|
-
from bashrun import bash, bash_output
|
|
10
|
+
from bashrun.bash import bash, bash_output
|
|
11
11
|
from pydantic_settings import BaseSettings
|
|
12
12
|
from docker_devkit.context_sha import compute_service_shas
|
|
13
13
|
from ci_devkit.ci_step import ci_step
|
|
@@ -7,7 +7,7 @@ from pathlib import Path
|
|
|
7
7
|
from subprocess import CalledProcessError
|
|
8
8
|
from typing import Protocol
|
|
9
9
|
|
|
10
|
-
from bashrun import bash, bash_output
|
|
10
|
+
from bashrun.bash import bash, bash_output
|
|
11
11
|
|
|
12
12
|
NUGET_SOURCE = "https://api.nuget.org/v3/index.json"
|
|
13
13
|
PYPI_SIMPLE_INDEX = "https://pypi.org/simple/"
|
|
File without changes
|
|
@@ -4,8 +4,7 @@ from pathlib import Path
|
|
|
4
4
|
import pytest
|
|
5
5
|
from pydantic import ValidationError
|
|
6
6
|
|
|
7
|
-
import
|
|
8
|
-
from release_devkit import load_config, select_packages
|
|
7
|
+
from release_devkit.config import PackageConfig, load_config, select_packages
|
|
9
8
|
|
|
10
9
|
|
|
11
10
|
def write_config(tmp_path: Path, payload: dict[str, object]) -> Path:
|
|
@@ -126,11 +125,11 @@ def test_load_config_rejects_unknown_dependency_pin(tmp_path: Path):
|
|
|
126
125
|
load_config(write_config(tmp_path, payload_with_unknown_pin()))
|
|
127
126
|
|
|
128
127
|
|
|
129
|
-
def package_names(packages: list[
|
|
128
|
+
def package_names(packages: list[PackageConfig]) -> list[str]:
|
|
130
129
|
return [package.name for package in packages]
|
|
131
130
|
|
|
132
131
|
|
|
133
|
-
def loaded_packages(tmp_path: Path) -> list[
|
|
132
|
+
def loaded_packages(tmp_path: Path) -> list[PackageConfig]:
|
|
134
133
|
return load_config(write_config(tmp_path, base_payload())).packages
|
|
135
134
|
|
|
136
135
|
|
|
@@ -1,15 +1,15 @@
|
|
|
1
1
|
from pathlib import Path
|
|
2
2
|
|
|
3
|
-
from release_devkit import
|
|
4
|
-
|
|
3
|
+
from release_devkit.config import PackageConfig
|
|
4
|
+
from release_devkit.ledger import is_stable_version
|
|
5
|
+
from release_devkit.plan import (
|
|
6
|
+
TagLedger,
|
|
5
7
|
compute_plan,
|
|
6
8
|
next_version,
|
|
7
9
|
render_dev_summary,
|
|
8
10
|
render_summary,
|
|
9
11
|
resolved_dependency_versions,
|
|
10
12
|
)
|
|
11
|
-
from release_devkit.ledger import is_stable_version
|
|
12
|
-
from release_devkit.plan import TagLedger
|
|
13
13
|
|
|
14
14
|
|
|
15
15
|
def test_is_stable_version_rejects_prerelease_suffixes():
|
|
@@ -1,35 +0,0 @@
|
|
|
1
|
-
from .config import AppConfig, PackageConfig, PublishConfig, load_config, select_packages
|
|
2
|
-
from .feeds import Feed, NuGetFeed, NpmFeed, PublishRequest, build_feeds, pep440_dev_version, semver_dev_version
|
|
3
|
-
from .ledger import GitLedger
|
|
4
|
-
from .plan import (
|
|
5
|
-
PackagePlan,
|
|
6
|
-
TagLedger,
|
|
7
|
-
compute_plan,
|
|
8
|
-
next_version,
|
|
9
|
-
render_dev_summary,
|
|
10
|
-
render_summary,
|
|
11
|
-
resolved_dependency_versions,
|
|
12
|
-
)
|
|
13
|
-
|
|
14
|
-
__all__ = [
|
|
15
|
-
"AppConfig",
|
|
16
|
-
"Feed",
|
|
17
|
-
"GitLedger",
|
|
18
|
-
"NpmFeed",
|
|
19
|
-
"NuGetFeed",
|
|
20
|
-
"PackageConfig",
|
|
21
|
-
"PackagePlan",
|
|
22
|
-
"PublishConfig",
|
|
23
|
-
"PublishRequest",
|
|
24
|
-
"TagLedger",
|
|
25
|
-
"build_feeds",
|
|
26
|
-
"compute_plan",
|
|
27
|
-
"load_config",
|
|
28
|
-
"next_version",
|
|
29
|
-
"pep440_dev_version",
|
|
30
|
-
"render_dev_summary",
|
|
31
|
-
"render_summary",
|
|
32
|
-
"resolved_dependency_versions",
|
|
33
|
-
"select_packages",
|
|
34
|
-
"semver_dev_version",
|
|
35
|
-
]
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|