coloph-env 0.1.0__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.
@@ -0,0 +1,23 @@
1
+ name: CI
2
+ on: [push, pull_request]
3
+ permissions:
4
+ contents: read
5
+ jobs:
6
+ test:
7
+ runs-on: ubuntu-latest
8
+ strategy:
9
+ matrix:
10
+ python: ['3.12', '3.13', '3.14']
11
+ steps:
12
+ - uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1
13
+ with:
14
+ persist-credentials: false
15
+ - uses: astral-sh/setup-uv@c771a70e6277c0a99b617c7a806ffedaca235ff9
16
+ with:
17
+ version: '0.12.10'
18
+ enable-cache: false
19
+ - run: uv sync --locked --python '${{ matrix.python }}' --group dev
20
+ - run: uv run ruff check .
21
+ - run: uv run ruff format --check .
22
+ - run: uv run mypy
23
+ - run: uv run pytest
@@ -0,0 +1,54 @@
1
+ name: Publish to PyPI
2
+ on:
3
+ release:
4
+ types: [published]
5
+ permissions: {}
6
+ jobs:
7
+ build:
8
+ runs-on: ubuntu-latest
9
+ permissions:
10
+ contents: read
11
+ steps:
12
+ - uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1
13
+ with:
14
+ ref: ${{ github.event.release.tag_name }}
15
+ persist-credentials: false
16
+ - uses: astral-sh/setup-uv@c771a70e6277c0a99b617c7a806ffedaca235ff9
17
+ with:
18
+ version: '0.12.10'
19
+ enable-cache: false
20
+ - run: uv sync --locked --python 3.12 --group dev
21
+ - run: uv run ruff check .
22
+ - run: uv run ruff format --check .
23
+ - run: uv run mypy
24
+ - run: uv run pytest
25
+ - run: uv run python scripts/release.py build --tag "$RELEASE_TAG"
26
+ env:
27
+ RELEASE_TAG: ${{ github.event.release.tag_name }}
28
+ - uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a
29
+ with:
30
+ name: distributions
31
+ path: dist/
32
+ publish:
33
+ needs: build
34
+ runs-on: ubuntu-latest
35
+ environment: pypi
36
+ permissions:
37
+ contents: read
38
+ id-token: write
39
+ steps:
40
+ - uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1
41
+ with:
42
+ ref: ${{ github.event.release.tag_name }}
43
+ persist-credentials: false
44
+ - uses: astral-sh/setup-uv@c771a70e6277c0a99b617c7a806ffedaca235ff9
45
+ with:
46
+ version: '0.12.10'
47
+ enable-cache: false
48
+ - uses: actions/download-artifact@3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c
49
+ with:
50
+ name: distributions
51
+ path: dist/
52
+ - run: uv run --no-project --python 3.12 python scripts/release.py publish --tag "$RELEASE_TAG"
53
+ env:
54
+ RELEASE_TAG: ${{ github.event.release.tag_name }}
@@ -0,0 +1,10 @@
1
+ .venv/
2
+ __pycache__/
3
+ *.py[cod]
4
+ .pytest_cache/
5
+ .ruff_cache/
6
+ .mypy_cache/
7
+ dist/
8
+ *.egg-info/
9
+ .env
10
+ .env.*
@@ -0,0 +1,16 @@
1
+ # Working on coloph-env
2
+
3
+ Keep this package small. Solve established problems with explicit behavior.
4
+ Keep design and implementation in the same feature issue.
5
+ Use plain English and concrete examples. Read README.md for the public contract.
6
+ Public documents must stand alone. Never link or refer to private repositories.
7
+
8
+ Keep every configuration value explicit. Do not add field defaults or lazy loading.
9
+ Keep application schemas, runtime identity, deployment, and secret storage outside this package.
10
+ Use structured validation errors. Never include input values or parser exception text in diagnostics.
11
+ Unexpected parser exceptions must propagate. Catch ValueError for invalid input only.
12
+
13
+ Before a release, run Ruff, mypy, pytest, and the artifact smoke tests in docs/releasing.md.
14
+ Keep the package version in pyproject.toml. Never duplicate it in source code.
15
+ Release tags must identify the tested commit on the public main branch.
16
+ Never replace a published version or tag. Publish changes under a new version.