zehut
Agents-first identity layer for Linux hosts.
zehut provisions and tracks machine-local identities — system-backed
(real OS users via useradd) plus sub-users (metadata-only identities
owned by a system-backed parent) — and gives each one a deterministic
email address from a configured domain. A separate CLI consumes zehut's
users.json registry to provide secrets management on top of this
identity foundation.
Install
uv tool install zehut
The same tool is also published as identity-cli (uv tool install identity-cli) and installs two interchangeable commands — zehut and
identity. Use whichever name you prefer; every example below works the
same with identity substituted for zehut.
Quick start
# One-time bootstrap (needs sudo).
sudo $(which zehut) init --domain agents.example.com --default-backend system
# Create a system-backed user — the parent identity (an "agent").
sudo $(which zehut) user create agent --nick Ali --about "QA agent"
# Create sub-users owned by the agent — e.g. per-bot identities.
# Sub-users must have a system-backed parent; deleting the parent
# cascade-deletes every sub-user under it.
sudo $(which zehut) user create bot1 --subuser --parent agent --about "scraper"
# List, show, switch.
zehut user list
zehut user show agent
zehut user switch agent # system: exec sudo -u agent -i
eval "$(zehut user switch bot1)" # sub-user: sets ZEHUT_IDENTITY
# Health check.
zehut doctor
Documentation
License
MIT. See LICENSE.
Metadata
Release files for zehut 1.2.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | |
|---|---|---|---|---|
| zehut-1.2.0.tar.gz | 206.0 kB | With provenance | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| zehut-1.2.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 242.3 kB
Release files / zehut-1.2.0.tar.gz
| Download URL | zehut-1.2.0.tar.gz |
|---|---|
| Size | 206.0 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
f5568d9d1778b15e566307332ca5f37b76f01c122c155da0e920b847ab73a216
|
|
BLAKE2b-256 checksum How to use checksums |
1cf21094626c3f956d7c85051100cdf1022c508c40bc1360663d78ce699dc7d9
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.13
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Jun 23, 2026.
Transparency logRelease files / zehut-1.2.0-py3-none-any.whl
| Download URL | zehut-1.2.0-py3-none-any.whl |
|---|---|
| Size | 36.4 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
28e4c07ceb62c1f5908666b19c9a9ec94da59c68fd7504a91b0bea01593de6f4
|
|
BLAKE2b-256 checksum How to use checksums |
22aafd06732beea2a7eaf6e62af47728cefcc9d3fce15ef64764a83d3f71a961
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.13
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Jun 23, 2026.
Transparency logSecurity for zehut 1.2.0
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
Full provenance
All 2 files in this release have been uploaded with provenance metadata.
Attestation for zehut-1.2.0.tar.gz
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Jun 23, 2026.
Transparency logA note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.