Skip to main content

Deploy Rust workers, static frontends, and worker-static services to Tovuk.

Project description

tovuk

Python CLI package for deploying Rust workers, static frontends, and worker-static services to Tovuk. It installs or downloads the same native Tovuk binary used by npm, Homebrew, and Cargo. PyPI requires Python to install and launch the package, but it does not require Node.js, npm, or any JavaScript runtime.

pipx install tovuk
tovuk init hello-service --template worker-static-rust-tanstack
cd hello-service/web && bun install && cd ..
tovuk check --json
tovuk deploy --dry-run --json
tovuk preview
tovuk deploy --wait --json

From a worker-static repo root, tovuk deploy reads one root tovuk.toml, builds the worker and frontend roots, and returns one service URL with /api/* routed to the Rust worker.

Rust worker deploys require cargo fmt --all --check, locked release-mode cargo check, locked release-mode tests, and strict all-target, all-feature Clippy with panic/unwrap bans plus resource-sensitive lints.

Static frontend deploys require TypeScript browser source, stable native type-aware TypeScript checks, native linting such as oxlint, biome check, or deno lint, and Fallow dead-code, semantic duplicate-code, and health gates.

The npm package is also available:

npm install -g tovuk
tovuk deploy

The Python package exposes the same agent command surface as npm:

tovuk capabilities
tovuk pricing --json
tovuk deploy --dry-run --json
tovuk me
tovuk usage --json
tovuk activity --json
tovuk service list
tovuk service show service_1 --json
tovuk service delete service_1 --json
tovuk deploys --service service_1
tovuk builds
tovuk logs --deploy deploy_1 --limit 100 --json
tovuk env list --service service_1
tovuk env set --service service_1 API_KEY=value
tovuk env delete --service service_1 API_KEY
tovuk domains add --service service_1 api.example.com
tovuk domains verify --service service_1 api.example.com
tovuk storage list --service service_1 --json
tovuk storage upload --service service_1 ./logo.png uploads/logo.png --public --json
tovuk storage download --service service_1 uploads/logo.png ./logo.png --json
tovuk storage delete --service service_1 uploads/logo.png --json
tovuk platform --service service_1 --json
tovuk database create --service service_1 DB --json
tovuk kv create --service service_1 CACHE --json
tovuk kv put --service service_1 CACHE user:1 '{"name":"Ada"}' --json
tovuk kv get --service service_1 CACHE user:1 --json
tovuk kv bulk put --service service_1 CACHE '[{"key":"feature:search","value":"enabled"}]' --json
tovuk kv bulk get --service service_1 CACHE feature:search user:1 --json
tovuk kv bulk delete --service service_1 CACHE feature:search old:key --json
tovuk queue create --service service_1 jobs --json
tovuk queue send --service service_1 jobs '{"task":"sync"}' --json
tovuk queue send-batch --service service_1 jobs '[{"body":{"task":"sync"}},{"body":{"task":"index"}}]' --json
tovuk queue metrics --service service_1 jobs --json
tovuk cron create --service service_1 nightly "0 0 * * *" --json
tovuk cron update --service service_1 nightly "*/15 * * * *" --json
tovuk cron disable --service service_1 nightly --json
tovuk cron enable --service service_1 nightly --json
tovuk state create --service service_1 Room --json
tovuk state put --service service_1 Room room-1 counter 1 --json
tovuk state get --service service_1 Room room-1 counter --json
tovuk binding create --service service_1 AUTH_SERVICE --target auth-service --json
tovuk limit set worker_requests --period day --value 100000 --json
tovuk billing checkout --json
tovuk billing portal
tovuk support create "Deploy failed" "Agent retried deploy after check." --service service_1 --build job_1 --deploy deploy_1 --failing-command "tovuk deploy --wait --json" --first-log-line "cargo check failed in src/main.rs" --json
tovuk support list --json
tovuk support resolve ticket_0123456789abcdef0123 --json

tovuk pricing --json includes plan pricing and product meter metadata, so agents can choose the correct product and cap the right meters before heavy work. tovuk usage --json includes billingEstimate.lineItems for current-month cost estimates. tovuk deploy --dry-run --json combines tovuk.toml, quality checks, capability meters, account limits, and billingEstimate before deploy, without creating a build.

tovuk storage upload automatically switches to multipart transfer for files larger than 100 MiB.

Agent repair loop:

tovuk check --json
tovuk deploy --dry-run --json
tovuk deploy --wait --json
tovuk logs --build job_1 --json

Fix the first failed agent_instruction. If a build fails, inspect build logs, fix the first actionable log error, rerun check, then redeploy.

On first deploy, the CLI opens browser login, waits for GitHub or Google, stores the Tovuk session in the OS credential store when available, and continues the deploy. Later commands reuse that session.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

tovuk-0.1.73.tar.gz (4.6 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

tovuk-0.1.73-py3-none-any.whl (5.1 kB view details)

Uploaded Python 3

File details

Details for the file tovuk-0.1.73.tar.gz.

File metadata

  • Download URL: tovuk-0.1.73.tar.gz
  • Upload date:
  • Size: 4.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for tovuk-0.1.73.tar.gz
Algorithm Hash digest
SHA256 b4349574047ebc2962b2af384fa0febb4923c84ea8b6cd7b71b9a5d0656721c4
MD5 6add877dd9d9a4c7f2c09fcfe8b1cd2b
BLAKE2b-256 090175090661b972cd9598b98ce95c30ea7fb17913e14d09923cf6493a551bcc

See more details on using hashes here.

Provenance

The following attestation bundles were made for tovuk-0.1.73.tar.gz:

Publisher: publish-pypi.yml on tovuk/tovuk

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file tovuk-0.1.73-py3-none-any.whl.

File metadata

  • Download URL: tovuk-0.1.73-py3-none-any.whl
  • Upload date:
  • Size: 5.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for tovuk-0.1.73-py3-none-any.whl
Algorithm Hash digest
SHA256 1b19d301e5b75529b1b5e6c6c7c34c3b1972e9ab80986c62d43eedf3cec5d201
MD5 6c6c60032d19edccf21fc07c21ff92b8
BLAKE2b-256 b5efb22de3f6f215e39d3e834bce8866978579bfd7ef9be23441473ac8c2a39e

See more details on using hashes here.

Provenance

The following attestation bundles were made for tovuk-0.1.73-py3-none-any.whl:

Publisher: publish-pypi.yml on tovuk/tovuk

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page