Skip to main content

Hyperlightweight process hypervisor for single-server deployments

Project description

tenement

Hyperlightweight process hypervisor for single-server deployments.

tenement spawns and supervises processes with Unix socket communication, health checks, and automatic restarts. No Docker, no Kubernetes, no complexity—just fast, simple process management.

Installation

curl -LsSf https://tenement.dev/install.sh | sh

Or with pip/uv:

pip install tenement
# or
uv tool install tenement

Or with Cargo:

cargo install tenement

Quick Start

1. Create a config file

# tenement.toml
[process.api]
command = "./my-api"
socket = "/tmp/api-{id}.sock"
health = "/health"

[process.api.env]
DATABASE_PATH = "{data_dir}/{id}/app.db"

2. Spawn an instance

$ tenement spawn api --id user123
Spawned api:user123
Socket: /tmp/api-user123.sock

3. Manage instances

$ tenement ps
INSTANCE             SOCKET                         UPTIME     HEALTH
api:user123          /tmp/api-user123.sock          2m         healthy

$ tenement stop api:user123
Stopped api:user123

Why tenement?

Alternative Problem
Docker Heavy, slow cold starts, network overhead
systemd No on-demand spawn, no routing
K8s/Nomad Overkill for single server
Bash scripts No health checks, no supervision

tenement gives you:

  • Sub-second cold starts - Rust binaries + Unix sockets = instant
  • On-demand spawn - Processes start when first requested
  • Auto-restart - Health checks with automatic recovery
  • Zero overhead - Direct Unix socket IPC, no network layer
  • Simple config - One TOML file defines everything

Documentation

Full documentation at tenement.dev

License

Apache 2.0 - Use it however you want.

Project details


Download files

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

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distributions

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

tenement-0.1.3-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.2 MB view details)

Uploaded Python 3manylinux: glibc 2.17+ x86-64

tenement-0.1.3-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (1.1 MB view details)

Uploaded Python 3manylinux: glibc 2.17+ ARM64

tenement-0.1.3-py3-none-macosx_11_0_arm64.whl (1.1 MB view details)

Uploaded Python 3macOS 11.0+ ARM64

tenement-0.1.3-py3-none-macosx_10_12_x86_64.whl (1.1 MB view details)

Uploaded Python 3macOS 10.12+ x86-64

File details

Details for the file tenement-0.1.3-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for tenement-0.1.3-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 960291ae48def7a273c047b5a0a9bec254f56e2da0be0357831fac56118f8a8b
MD5 e448bdd236a89e3ce3c97ec9f0bcc907
BLAKE2b-256 464ca06977112d575b862bd956a7a6137522897606b55a4e39a2eeda59de54ac

See more details on using hashes here.

Provenance

The following attestation bundles were made for tenement-0.1.3-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl:

Publisher: release.yml on russellromney/tenement

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

File details

Details for the file tenement-0.1.3-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for tenement-0.1.3-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 3e05405409176dad7b96f5885731a407cc0cff7e33b59358971409627bea72c6
MD5 4b96a2f568058432802c13dbd35b14d9
BLAKE2b-256 52996697099dd3ac1475670b6de6972edd455ce9515904e38565b5a792098265

See more details on using hashes here.

Provenance

The following attestation bundles were made for tenement-0.1.3-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl:

Publisher: release.yml on russellromney/tenement

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

File details

Details for the file tenement-0.1.3-py3-none-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for tenement-0.1.3-py3-none-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 5b0aab9c470c2a2ace6903ddc3384ef541a22508a345a463329e4dcdd3e1e089
MD5 26a4ba96e89878afea1e5ae042368143
BLAKE2b-256 7fe8a979212bfac638f7f744f3f16d7b9d77146766bf1a30bf950a8b2254d9fc

See more details on using hashes here.

Provenance

The following attestation bundles were made for tenement-0.1.3-py3-none-macosx_11_0_arm64.whl:

Publisher: release.yml on russellromney/tenement

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

File details

Details for the file tenement-0.1.3-py3-none-macosx_10_12_x86_64.whl.

File metadata

File hashes

Hashes for tenement-0.1.3-py3-none-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 3967e1b78946300786b8668c696251a5bf46b0e78415d44ea84bb68fcd2d55c7
MD5 f9ed2edcd02fcaf39d27bc4ccaaac29c
BLAKE2b-256 18b6b62de65fcc555f435fb37c308612931b09178db6c5014f2a6b1174fd6c54

See more details on using hashes here.

Provenance

The following attestation bundles were made for tenement-0.1.3-py3-none-macosx_10_12_x86_64.whl:

Publisher: release.yml on russellromney/tenement

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