The release workflow was already right; what it would have uploaded was not. `fluksio` had no readme, so its PyPI page would have been blank — the app repo's own README is a contributor's map of `frontend/` and `docker/`, which is the wrong front page for `pip install fluksio`. It now has one of its own, aimed at somebody who landed on the project page. Both distributions gain authors, urls, keywords and classifiers; `twine check` passes clean on all four artifacts where it warned on two before. The workflow publishes `fluksio-worker` first, because `fluksio` depends on it and the other order leaves a few seconds — the whole of a first release — in which the dependency cannot be resolved. `--check-url` makes a re-run skip what is already uploaded rather than failing on it, which matters because a version on PyPI can never be replaced. Licence metadata is deliberately still absent: LICENSE is MIT in somebody else's name, inherited from the template this was scaffolded from, and whose it should be is not a decision to make in a commit. NOTEPAD carries it. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_012ue1tkFWB1bcGy3aWhCKpU
53 lines
1.7 KiB
TOML
53 lines
1.7 KiB
TOML
[project]
|
|
name = "fluksio-worker"
|
|
version = "0.1.0"
|
|
description = "Runs Fluksio nodes on a machine the engine cannot reach"
|
|
readme = "README.md"
|
|
requires-python = ">=3.10"
|
|
authors = [{ name = "Fluksio", email = "stroblme@posteo.de" }]
|
|
keywords = ["automation", "workflow", "distributed", "worker", "gpu"]
|
|
classifiers = [
|
|
"Development Status :: 3 - Alpha",
|
|
"Intended Audience :: Developers",
|
|
"Intended Audience :: Science/Research",
|
|
"Operating System :: MacOS",
|
|
"Operating System :: POSIX :: Linux",
|
|
"Programming Language :: Python :: 3",
|
|
"Programming Language :: Python :: 3.10",
|
|
"Programming Language :: Python :: 3.11",
|
|
"Programming Language :: Python :: 3.12",
|
|
"Programming Language :: Python :: 3.13",
|
|
"Topic :: Home Automation",
|
|
"Topic :: Scientific/Engineering",
|
|
"Topic :: System :: Distributed Computing",
|
|
]
|
|
dependencies = [
|
|
"websockets>=12",
|
|
]
|
|
|
|
[project.urls]
|
|
Homepage = "https://fluksio.com"
|
|
Documentation = "https://docs.fluksio.com/code/workers/"
|
|
|
|
[project.scripts]
|
|
fluksio-worker = "fluksio_worker.agent:main"
|
|
|
|
[build-system]
|
|
requires = ["hatchling"]
|
|
build-backend = "hatchling.build"
|
|
|
|
[tool.hatch.build.targets.wheel]
|
|
packages = ["fluksio_worker"]
|
|
|
|
[tool.ruff]
|
|
# The engine's config, so both distributions are linted the same way.
|
|
extend = "../backend/pyproject.toml"
|
|
|
|
[tool.ruff.lint.per-file-ignores]
|
|
# This one takes its own directory off sys.path before the rest of its imports
|
|
# run, which is the whole point of doing it there.
|
|
"fluksio_worker/worker_main.py" = ["E402"]
|
|
# Copied onto another machine it has no logger configured before it tells you
|
|
# the one dependency it is missing.
|
|
"fluksio_worker/agent.py" = ["T201"]
|