Skip to main content

salute-api

Shared FastAPI runtime for Salute NLP scenarios: webhook, health, Pydantic message models, device-aware logging, and a MetricsSender protocol.

Install from PyPI:

pip install salute-api
# or
uv add salute-api

Quiz apps can still path-depend on a local checkout:

dependencies = ["salute-api"]

[tool.uv.sources]
salute-api = { path = "../salute-api", editable = true }

Layout

src/salute_api/   FastAPI factory, models, logging, metrics, scenario walker
tests/            contract and logging tests
ci/pipeline.py    release version and API compatibility checks

Ruff and ty settings in this pyproject.toml are the shared baseline. Apps extend the ruff config with:

[tool.ruff]
extend = "../salute-api/pyproject.toml"

Checks

uv sync
uv run ruff check .
uv run ruff format --check .
uv run ty check src tests
uv run pytest
uv run python ci/pipeline.py check

Release

version in pyproject.toml and __version__ in src/salute_api/__init__.py must be the same numeric x.x.x. On the default branch, GitLab CI lints, tests, classifies the API diff as patch, minor, or major, writes that version, rebuilds, and waits. The deploy job is manual. It tags vX.Y.Z and uploads dist/ to PyPI.

Set masked CI variables before deploying:

Tag pipelines are skipped, so the tag push does not publish again.

Local build:

uv build
uv publish
# or with an explicit token:
# uv publish --token $UV_PUBLISH_TOKEN

Release files for salute-api 0.1.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 salute-api 0.1.0
File Size Uploaded
salute_api-0.1.0.tar.gz 18.8 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for salute-api 0.1.0
File Interpreter ABI Platform
salute_api-0.1.0-py3-none-any.whl Python 3 none any Details

Total release size: 45.0 kB

Release files / salute_api-0.1.0.tar.gz

Download URL salute_api-0.1.0.tar.gz
Size 18.8 kB
Tags Source
SHA-256 checksum
How to use checksums
8a8de4793ba79f98d3e597c0cb5f235606965e49323ade4e3d28ac0821b552ae
BLAKE2b-256 checksum
How to use checksums
02ea3dda8f114bc4324460459a359e976f34d4a4ad89de66f7f85af6187b3330
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.9.30 {"installer":{"name":"uv","version":"0.9.30","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Debian GNU/Linux","version":"12","id":"bookworm","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

Release files / salute_api-0.1.0-py3-none-any.whl

Download URL salute_api-0.1.0-py3-none-any.whl
Size 26.2 kB
Tags Python 3
SHA-256 checksum
How to use checksums
299d897530b46c945a065506c77a2dda0e8f54ac51018297a1bb1dbb08dd8001
BLAKE2b-256 checksum
How to use checksums
bf1286f70062762bcbeb3561e1fa429ff81bc56d30d02df00691db33ca8af4be
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.9.30 {"installer":{"name":"uv","version":"0.9.30","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Debian GNU/Linux","version":"12","id":"bookworm","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

This release

0.1.0 This release

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