2 Commits
Author SHA1 Message Date
Iñigo Etxaniz 65520d0c74 templating 2026-08-07 16:10:10 +00:00
Iñigo Etxaniz 64b219fd32 templated project version 2026-08-07 16:09:51 +00:00
3 changed files with 29 additions and 1 deletions
+1
View File
@@ -3,3 +3,4 @@ build/
*.egg-info/ *.egg-info/
__pycache__/ __pycache__/
*.pyc *.pyc
pyproject.toml
+27
View File
@@ -4,6 +4,33 @@ Python library for scripts running in an i7 job container. It gives a script thr
plant signals (read and write) through the job's sidecar, the customer database through the plant signals (read and write) through the job's sidecar, the customer database through the
db-controller, and millisecond time helpers. db-controller, and millisecond time helpers.
## Versioning and the pyproject template
There is no `pyproject.toml` in this repository. It is generated from
`pyproject.toml.tmpl`, and its version comes from the git tag that triggered the build:
```toml
version = "{{vless .TagName}}"
```
gitea-sidecar renders every `*.tmpl` file in the source to its name minus the suffix before
building the wheel, so a tag of `v0.1.1` produces version `0.1.1``vless` strips the
leading `v`, which git wants and PEP 440 does not. `.TagName` and `.CommitID` are also
available for anything else worth stamping.
The tag is therefore the only place a version is written. Do not add a hardcoded version
back into the template: the build would keep producing that one version, and publishing a
second tag would fail because the package file already exists.
**Building locally** needs the same render step, since the file the build tools look for is
not in the repository:
```bash
sed 's/{{vless .TagName}}/0.0.0.dev0/' pyproject.toml.tmpl > pyproject.toml
```
`pyproject.toml` is gitignored, so a local copy never reaches a build.
## Availability ## Availability
Inside a job container the library is already importable — the scheduler mounts the SDK Inside a job container the library is already importable — the scheduler mounts the SDK
+1 -1
View File
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
[project] [project]
name = "i7lib" name = "i7lib"
version = "0.1.0" version = "{{vless .TagName}}"
description = "i7 library for scripts" description = "i7 library for scripts"
readme = "README.md" readme = "README.md"
requires-python = ">=3.8" requires-python = ">=3.8"