Skip to main content

kyoslib_py

KYOS shared lib code as python package.

Usage

Example code:

from kyoslib_py.simulation import Simulation
simulation_set = Simulation()

Installation

pip install kyoslib_py

Dependencies

Python 3.11+


Development

Command Description
task Run lint + typecheck + test + security
task install Install all dependencies
task lint Run ruff format check + ruff lint
task format Auto-format and fix with ruff
task typecheck Run ty type checker
task test Run pytest
task test:coverage Run pytest with coverage report
task security Run bandit SAST + uv audit
task security:bandit Run bandit SAST scanner
task security:audit Check deps for known CVEs
task build Build the sdist and wheel into dist/
task publish Build and publish to PyPI (needs UV_PUBLISH_TOKEN)
task docs:serve Live preview of the documentation
task docs:build Check that the documentation builds without errors
task docs:deploy Deploy the documentation to GitHub Pages
task clean Remove build artifacts and caches

Adding dependencies

uv add <package>
uv add --dev <package>

Documentation

The package documentation is generated by MkDocs and published at https://kyosenergy.github.io/kyoslib_py/. After task install, start a local preview server with:

task docs:serve

Releasing

  1. Bump version in pyproject.toml and add a matching entry to docs/changelog.md (CI checks that the version is in the changelog).
  2. On merge to master, CI creates a tag for the new version and sends a publish-to-pypi repository dispatch event, which triggers the Deploy kyoslib_py workflow that builds and publishes the package to PyPI.

CI

On every PR to master:

  • lint — ruff format + ruff lint
  • typecheck — ty
  • test — pytest, on every supported Python version (3.11, 3.12, 3.13)
  • audit — uv audit (known CVEs in deps)
  • bandit — bandit SAST scan of src
  • secret-scan — gitleaks (committed secrets)
  • docs — mkdocs build --strict
  • build — uv build (sdist and wheel), once lint, typecheck, test, audit, bandit and secret-scan pass
  • version — the pyproject.toml version is listed in docs/changelog.md

On merge to master:

  • A tag is created if the version is new, and the package is published to PyPI
  • The documentation is deployed to GitHub Pages

Renovatebot opens PRs for dependency updates. The uv-lock-regen workflow regenerates uv.lock automatically on Renovate PRs.


Project structure

src/
  kyoslib_py/      # the package
tests/             # pytest suite
docs/              # MkDocs sources
mkdocs.yml         # MkDocs config
pyproject.toml     # project metadata + tool config
Taskfile.yml       # task runner
renovate.json      # dependency update config

Metadata

Release files for kyoslib_py 5.7.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for kyoslib_py 5.7.0
File Size Uploaded
kyoslib_py-5.7.0.tar.gz 82.2 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for kyoslib_py 5.7.0
File Interpreter ABI Platform
kyoslib_py-5.7.0-py3-none-any.whl Python 3 none any Details

Total release size: 152.9 kB

Release files / kyoslib_py-5.7.0.tar.gz

Download URL kyoslib_py-5.7.0.tar.gz
Size 82.2 kB
Tags Source
SHA-256 checksum
How to use checksums
3791cb2f72f3bf2fa7dd8cd7d0ca09619adc35fe29a46d70ac1b96f08db2de42
BLAKE2b-256 checksum
How to use checksums
47940dd7730d1151589f84a3f9f051d1ec62e1230cdd9f6a1ed1f8a914e13daf
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.12.21 {"installer":{"name":"uv","version":"0.12.21","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

Release files / kyoslib_py-5.7.0-py3-none-any.whl

Download URL kyoslib_py-5.7.0-py3-none-any.whl
Size 70.7 kB
Tags Python 3
SHA-256 checksum
How to use checksums
1260bdbb7f9a063a675e5e8014667f327ff4310cacab760dae4fdc7b64b4a9b5
BLAKE2b-256 checksum
How to use checksums
2bde0fcb8997ebabd53196b2099c78587ac8610768c0016e9d5f7a432a37a669
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.12.21 {"installer":{"name":"uv","version":"0.12.21","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

Release history Release notifications | RSS feed

5.7.2

2 release files

5.7.1

2 release files

This release

5.7.0 This release

2 release files

5.6.2

2 release files

5.6.1

2 release files

5.6.0

2 release files

5.5.8

2 release files

5.5.7

2 release files

5.5.6

2 release files

5.5.5

2 release files

5.5.4

2 release files

5.5.3

2 release files

5.5.0

2 release files

5.4.6

2 release files

5.4.5

2 release files

5.4.4

2 release files

5.4.3

2 release files

5.4.2

2 release files

5.4.1

2 release files

5.4.0

2 release files

5.3.4

2 release files

5.3.3

2 release files

5.3.2

2 release files

5.3.1

2 release files

5.3.0

2 release files

5.2.8

2 release files

5.2.7

2 release files

5.2.6

2 release files

5.2.5

2 release files

5.2.4

2 release files

5.2.3

2 release files

5.2.2

1 release file

5.2.1

2 release files

5.2.0

2 release files

5.1.1

2 release files

5.1.0

2 release files

5.0.7

2 release files

5.0.6

2 release files

5.0.5

2 release files

5.0.4

2 release files

5.0.3

2 release files

5.0.2

2 release files

5.0.1

2 release files

5.0.0

2 release files

4.1.1

2 release files

4.1.0

2 release files

4.0.2

2 release files

4.0.1

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page