diff --git a/README.md b/README.md index 817fa07..5316943 100644 --- a/README.md +++ b/README.md @@ -20,7 +20,7 @@ if __name__ == "__main__": app.listen(host="127.0.0.1", port=8000) ``` -Install the canonical SmallOS master dependency, the package, and test tools: +Install the pinned SmallOS v1.2.0 release, the package, and test tools: ```console python3 -m pip install -r requirements.txt diff --git a/RELEASING.md b/RELEASING.md index ed91051..1122b2e 100644 --- a/RELEASING.md +++ b/RELEASING.md @@ -45,11 +45,13 @@ python3 -m twine check dist/* ## Publishing boundary The automated process creates a GitHub release; it does not publish to PyPI. -SmallServer currently installs SmallOS from its canonical Git `master` branch +SmallServer currently installs the canonical SmallOS `v1.2.0` GitHub release through `requirements.txt`, while `pyproject.toml` intentionally has no runtime dependency declaration. Publishing the wheel to PyPI before SmallOS has an -installable release dependency would give users an incomplete installation. +installable package-index dependency would give users an incomplete +installation. -Add PyPI trusted publishing only after SmallOS has a stable package release, -SmallServer declares that dependency in `pyproject.toml`, and an installed-wheel -test proves a clean environment receives every runtime dependency. +Add PyPI trusted publishing only after SmallOS has a stable package-index +release, SmallServer declares that dependency in `pyproject.toml`, and an +installed-wheel test proves a clean environment receives every runtime +dependency. diff --git a/guide/development.md b/guide/development.md index bb0f035..590651c 100644 --- a/guide/development.md +++ b/guide/development.md @@ -2,7 +2,7 @@ ## Set up -Use Python 3.10 or newer and install the canonical SmallOS master checkout plus +Use Python 3.10 or newer and install the pinned SmallOS v1.2.0 release plus SmallServer in editable mode: ```console diff --git a/guide/getting-started.md b/guide/getting-started.md index 1871378..9ff45e0 100644 --- a/guide/getting-started.md +++ b/guide/getting-started.md @@ -2,17 +2,18 @@ ## Requirements -SmallServer requires Python 3.10 or newer. During development, -`requirements.txt` installs SmallOS from the canonical GitHub `master` branch; -SmallServer itself declares no package-index runtime dependency yet. +SmallServer requires Python 3.10 or newer. `requirements.txt` installs the +canonical SmallOS GitHub release tagged `v1.2.0`; SmallServer itself declares +no package-index runtime dependency yet. ```console python3 -m pip install -r requirements.txt python3 -m pip install -e . ``` -The first command needs Git and network access. Pin the SmallOS revision in -your own deployment lock or build process if reproducibility matters. +The first command needs Git and network access. The release tag makes the +SmallOS source revision reproducible; deployments should still lock all of +their transitive build dependencies. ## Create an application diff --git a/guide/platforms-kernels.md b/guide/platforms-kernels.md index e29f0df..fd0ce11 100644 --- a/guide/platforms-kernels.md +++ b/guide/platforms-kernels.md @@ -12,9 +12,10 @@ that runtime, and starts it. If the dependency or Unix kernel is unavailable, it raises `ServerConfigurationError` and asks the caller to provide a suitable runtime. -The canonical SmallOS dependency is installed from GitHub `master` by -`requirements.txt`. Python package metadata intentionally has no runtime -dependency until SmallOS has an unambiguous published distribution contract. +The canonical SmallOS dependency is installed from the GitHub `v1.2.0` release +tag by `requirements.txt`. Python package metadata intentionally has no runtime +dependency until SmallOS has an unambiguous package-index distribution +contract. ## Custom and constrained kernels diff --git a/requirements.txt b/requirements.txt index 9d050d1..cea0232 100644 --- a/requirements.txt +++ b/requirements.txt @@ -1,3 +1,3 @@ -# Install SmallOS directly from its canonical master branch. The PyPI package -# name is not yet available to this project. --e git+https://github.com/MikiEEE/SmallOS.git@master#egg=SmallPackage +# Install the canonical SmallOS v1.2.0 GitHub release. The distribution is not +# yet consumed from a package index by this project. +SmallPackage @ git+https://github.com/MikiEEE/SmallOS.git@v1.2.0