smallsteps 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.
- {smallsteps-0.1.2 → smallsteps-0.1.3}/PKG-INFO +6 -6
- {smallsteps-0.1.2 → smallsteps-0.1.3}/README.md +5 -5
- {smallsteps-0.1.2 → smallsteps-0.1.3}/pyproject.toml +2 -2
- {smallsteps-0.1.2 → smallsteps-0.1.3}/uv.lock +4 -4
- {smallsteps-0.1.2 → smallsteps-0.1.3}/.github/actions/smallsteps/action.yaml +0 -0
- {smallsteps-0.1.2 → smallsteps-0.1.3}/.github/workflows/ci.yaml +0 -0
- {smallsteps-0.1.2 → smallsteps-0.1.3}/.gitignore +0 -0
- {smallsteps-0.1.2 → smallsteps-0.1.3}/.python-version +0 -0
- {smallsteps-0.1.2 → smallsteps-0.1.3}/smallsteps.toml +0 -0
- {smallsteps-0.1.2 → smallsteps-0.1.3}/src/smallsteps/__init__.py +0 -0
- {smallsteps-0.1.2 → smallsteps-0.1.3}/src/smallsteps/ci_adapter.py +0 -0
- {smallsteps-0.1.2 → smallsteps-0.1.3}/src/smallsteps/cli.py +0 -0
- {smallsteps-0.1.2 → smallsteps-0.1.3}/src/smallsteps/cli_helpers.py +0 -0
- {smallsteps-0.1.2 → smallsteps-0.1.3}/src/smallsteps/command_runner.py +0 -0
- {smallsteps-0.1.2 → smallsteps-0.1.3}/src/smallsteps/config_adapter.py +0 -0
- {smallsteps-0.1.2 → smallsteps-0.1.3}/src/smallsteps/parsing.py +0 -0
- {smallsteps-0.1.2 → smallsteps-0.1.3}/src/smallsteps/prober.py +0 -0
- {smallsteps-0.1.2 → smallsteps-0.1.3}/src/smallsteps/ratchet.py +0 -0
- {smallsteps-0.1.2 → smallsteps-0.1.3}/tests/__init__.py +0 -0
- {smallsteps-0.1.2 → smallsteps-0.1.3}/tests/helpers.py +0 -0
- {smallsteps-0.1.2 → smallsteps-0.1.3}/tests/test_cli.py +0 -0
- {smallsteps-0.1.2 → smallsteps-0.1.3}/tests/test_command_runner.py +0 -0
- {smallsteps-0.1.2 → smallsteps-0.1.3}/tests/test_prober.py +0 -0
- {smallsteps-0.1.2 → smallsteps-0.1.3}/tests/test_ratchet.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: smallsteps
|
|
3
|
-
Version: 0.1.
|
|
3
|
+
Version: 0.1.3
|
|
4
4
|
Summary: Add your description here
|
|
5
5
|
Requires-Python: >=3.12
|
|
6
6
|
Requires-Dist: pydantic>=2.13.4
|
|
@@ -12,7 +12,7 @@ Description-Content-Type: text/markdown
|
|
|
12
12
|
Smallsteps allows you to declare ratchets – metrics that must increase over time – and to enforce them via testing or CI pipelines.
|
|
13
13
|
|
|
14
14
|
A typical situation: you want to add test coverage as a health check.
|
|
15
|
-
Initially your coverage is at 42% so you create a CI gate that fails if it falls under 40%. Now you have your baseline secured – so far so good. You make a resolution to yourself
|
|
15
|
+
Initially your coverage is at 42% so you create a CI gate that fails if it falls under 40%. Now you have your baseline secured – so far so good. You make a resolution to yourself: you will increase your coverage and bump up the minimum percentage frequently.
|
|
16
16
|
**Somehow that never happens and your coverage stays at 42%.**
|
|
17
17
|
|
|
18
18
|
With smallsteps you declare your goal of 80% coverage and that you want to reach it in 100 days. Smallsteps computes the necessary percentage that must be met for each day (e.g. after 50 days you need 60% coverage) and fails if the goal is not met.
|
|
@@ -48,9 +48,9 @@ command = "uv run pytest --cov --cov-report=json > /dev/null && jq -r '.totals.p
|
|
|
48
48
|
**Note**
|
|
49
49
|
|
|
50
50
|
- You don't need to memorize the command parameters, `smallsteps add` walks you through them interactively.
|
|
51
|
-
- Ratchets can be increasing or decreasing. Percentages (56%) are parsed as floats (.56). So make sure that your goal matches the
|
|
51
|
+
- Ratchets can be increasing or decreasing. Percentages (56% with explicit "%") are parsed as floats (.56). So make sure that your goal format matches the command output: if the output is plain 56, the goal should also be 56. If its 56%, the goal must be 56% or .56.
|
|
52
52
|
|
|
53
|
-
You can inspect, add or modify the ratchets using the
|
|
53
|
+
You can inspect, add or modify the ratchets using the toml file.
|
|
54
54
|
|
|
55
55
|
### Checking your Ratchets
|
|
56
56
|
|
|
@@ -70,7 +70,7 @@ shows that on the goal date the check will fail if we do not achieve 80% test co
|
|
|
70
70
|
|
|
71
71
|
### CI and reading values from env
|
|
72
72
|
|
|
73
|
-
|
|
73
|
+
By default, running smallsteps check executes the underlying shell commands to gather active metrics. In modern CI/CD, you may prefer to compute metrics once during separate pipeline steps rather than using Smallsteps as a heavy task orchestrator.
|
|
74
74
|
|
|
75
75
|
By default smallsteps looks for environment variables matching the ratchets before running the command. E.g. if `SMALLSTEPS_PYTEST_COVERAGE` is present, the coverage is not re-computed. You can use this in CI to pass outputs from test workflow into the smallsteps action. To get a scaffolding github action with the required input vars for your ratchets run `uvx smallsteps ci`.
|
|
76
76
|
|
|
@@ -78,7 +78,7 @@ Have a look at [the action](.github/actions/smallsteps/action.yaml) and the whol
|
|
|
78
78
|
|
|
79
79
|
## Installation
|
|
80
80
|
|
|
81
|
-
This
|
|
81
|
+
This documentation assumes you are using `uv`, hence you don't need to do anything despite using the uv tool command (`uvx`) to install and run smallsteps.
|
|
82
82
|
|
|
83
83
|
# License
|
|
84
84
|
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
Smallsteps allows you to declare ratchets – metrics that must increase over time – and to enforce them via testing or CI pipelines.
|
|
4
4
|
|
|
5
5
|
A typical situation: you want to add test coverage as a health check.
|
|
6
|
-
Initially your coverage is at 42% so you create a CI gate that fails if it falls under 40%. Now you have your baseline secured – so far so good. You make a resolution to yourself
|
|
6
|
+
Initially your coverage is at 42% so you create a CI gate that fails if it falls under 40%. Now you have your baseline secured – so far so good. You make a resolution to yourself: you will increase your coverage and bump up the minimum percentage frequently.
|
|
7
7
|
**Somehow that never happens and your coverage stays at 42%.**
|
|
8
8
|
|
|
9
9
|
With smallsteps you declare your goal of 80% coverage and that you want to reach it in 100 days. Smallsteps computes the necessary percentage that must be met for each day (e.g. after 50 days you need 60% coverage) and fails if the goal is not met.
|
|
@@ -39,9 +39,9 @@ command = "uv run pytest --cov --cov-report=json > /dev/null && jq -r '.totals.p
|
|
|
39
39
|
**Note**
|
|
40
40
|
|
|
41
41
|
- You don't need to memorize the command parameters, `smallsteps add` walks you through them interactively.
|
|
42
|
-
- Ratchets can be increasing or decreasing. Percentages (56%) are parsed as floats (.56). So make sure that your goal matches the
|
|
42
|
+
- Ratchets can be increasing or decreasing. Percentages (56% with explicit "%") are parsed as floats (.56). So make sure that your goal format matches the command output: if the output is plain 56, the goal should also be 56. If its 56%, the goal must be 56% or .56.
|
|
43
43
|
|
|
44
|
-
You can inspect, add or modify the ratchets using the
|
|
44
|
+
You can inspect, add or modify the ratchets using the toml file.
|
|
45
45
|
|
|
46
46
|
### Checking your Ratchets
|
|
47
47
|
|
|
@@ -61,7 +61,7 @@ shows that on the goal date the check will fail if we do not achieve 80% test co
|
|
|
61
61
|
|
|
62
62
|
### CI and reading values from env
|
|
63
63
|
|
|
64
|
-
|
|
64
|
+
By default, running smallsteps check executes the underlying shell commands to gather active metrics. In modern CI/CD, you may prefer to compute metrics once during separate pipeline steps rather than using Smallsteps as a heavy task orchestrator.
|
|
65
65
|
|
|
66
66
|
By default smallsteps looks for environment variables matching the ratchets before running the command. E.g. if `SMALLSTEPS_PYTEST_COVERAGE` is present, the coverage is not re-computed. You can use this in CI to pass outputs from test workflow into the smallsteps action. To get a scaffolding github action with the required input vars for your ratchets run `uvx smallsteps ci`.
|
|
67
67
|
|
|
@@ -69,7 +69,7 @@ Have a look at [the action](.github/actions/smallsteps/action.yaml) and the whol
|
|
|
69
69
|
|
|
70
70
|
## Installation
|
|
71
71
|
|
|
72
|
-
This
|
|
72
|
+
This documentation assumes you are using `uv`, hence you don't need to do anything despite using the uv tool command (`uvx`) to install and run smallsteps.
|
|
73
73
|
|
|
74
74
|
# License
|
|
75
75
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
[project]
|
|
2
2
|
name = "smallsteps"
|
|
3
|
-
version = "0.1.
|
|
3
|
+
version = "0.1.3"
|
|
4
4
|
description = "Add your description here"
|
|
5
5
|
readme = "README.md"
|
|
6
6
|
requires-python = ">=3.12"
|
|
@@ -30,7 +30,7 @@ requires = ["hatchling"]
|
|
|
30
30
|
build-backend = "hatchling.build"
|
|
31
31
|
|
|
32
32
|
[tool.bumpversion]
|
|
33
|
-
current_version = "0.1.
|
|
33
|
+
current_version = "0.1.3"
|
|
34
34
|
commit = true
|
|
35
35
|
tag = true
|
|
36
36
|
tag_name = "v{new_version}"
|
|
@@ -374,7 +374,7 @@ wheels = [
|
|
|
374
374
|
|
|
375
375
|
[[package]]
|
|
376
376
|
name = "pytest"
|
|
377
|
-
version = "9.
|
|
377
|
+
version = "9.1.1"
|
|
378
378
|
source = { registry = "https://pypi.org/simple" }
|
|
379
379
|
dependencies = [
|
|
380
380
|
{ name = "colorama", marker = "sys_platform == 'win32'" },
|
|
@@ -383,9 +383,9 @@ dependencies = [
|
|
|
383
383
|
{ name = "pluggy" },
|
|
384
384
|
{ name = "pygments" },
|
|
385
385
|
]
|
|
386
|
-
sdist = { url = "https://files.pythonhosted.org/packages/
|
|
386
|
+
sdist = { url = "https://files.pythonhosted.org/packages/e4/47/b9efed96c114afcfa3c9d3fe98a76a1d14c74a9e266d397cf6eb64be5e01/pytest-9.1.1.tar.gz", hash = "sha256:1088fbde8f2b49d95a549a195707afa7a76a3ce9bcadc26b6d71f0ffda5fe313", size = 1636369, upload-time = "2026-06-19T10:58:32.857Z" }
|
|
387
387
|
wheels = [
|
|
388
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
388
|
+
{ url = "https://files.pythonhosted.org/packages/24/25/1de2678b631f5a49215c6c96fff41ba892b0a34df68d6d80292b1b48aa7f/pytest-9.1.1-py3-none-any.whl", hash = "sha256:37a86b45efb9a47a61a36449063e8e18d0cab3161329fc099eb21783169c4f0c", size = 386536, upload-time = "2026-06-19T10:58:31.347Z" },
|
|
389
389
|
]
|
|
390
390
|
|
|
391
391
|
[[package]]
|
|
@@ -486,7 +486,7 @@ wheels = [
|
|
|
486
486
|
|
|
487
487
|
[[package]]
|
|
488
488
|
name = "smallsteps"
|
|
489
|
-
version = "0.1.
|
|
489
|
+
version = "0.1.2"
|
|
490
490
|
source = { editable = "." }
|
|
491
491
|
dependencies = [
|
|
492
492
|
{ name = "pydantic" },
|
|
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
|
|
File without changes
|
|
File without changes
|
|
File without changes
|