Git-style CLI for versioned Infisical environment workflows
Project description
inf-hub
inf-hub (ih) is a small, practical “git for envs” built on top of Infisical.
It helps you manage environment variables as a versioned operational workflow (pull, push, history, rollback) while keeping project context in each folder.
Infisical can be self-hosted, including free/self-managed setups:
- https://infisical.com/
- https://github.com/Infisical/infisical
- https://infisical.com/docs/self-hosting/overview
What it does
- Git-style CLI for env workflows:
pull,push,history,rollback - Folder-local context via
.inf(tokenId,projectId,environment) - Multi-token model: one credential per
tokenIdin keyring (tokenId:{tokenId}) - Saved token list for validation and interactive selection
- Interactive menus (questionary) backed by live API data
- Clear one-line success messages with target env/file info
Install
pipx install inf-hub
# or
pip install inf-hub
Main commands:
ihih-dc
Interactive-first workflow
All core commands are designed to run comfortably in interactive mode:
- guided prompts and selection menus (questionary)
- API-backed choices for project/environment
- Token selection from saved list (populated via
ih register token)
Minimal first-run
1) Set API URL
export INFISICAL_API_URL="https://your-infisical-host"
2) Register token
ih register token
By default, ih register token:
- Extracts org-id from JWT
- Requires a unique
tokenIdname - Stores secret in keyring as
tokenId:{tokenId}
3) Initialize current folder
ih init folder
This creates .inf in current directory. Commands then use local context unless overridden by flags.
Quick usage
# Pull remote env to local file (.env by default)
ih pull
# Print env to stdout (no file write)
ih pull -p
# Push local .env (default)
ih push
# Push custom file
ih push -f .env.prod
# Update local .env keys only (no remote changes)
ih update -k API_URL -v https://... -k DEBUG -v false
# Interactive local update (key list from remote + local file)
ih update
# Secret history
ih history --name API_KEY
# Rollback and sync local file (.env default, or custom with -f)
ih rollback --name API_KEY --version 2 -f .env.rollback
Command map
ih register tokenih unregister tokenih init folderih create projectih list orgs|projects|identitiesih set TYPE --value VALUEih unset TYPEih pull [-f path | -p]ih push [-f path]ih update [-f path | (-k KEY -v VALUE)...]ih history --name NAMEih rollback --name NAME --version N [-f path]
Notes
ih set/unsetalways target local.infcontext.- If a command targets an unknown tokenId, it fails and asks you to run
ih register token. ih pushalways pushes a full env file (.envby default).ih updateonly updates local files and never writes to remote.
Architecture
- Technical architecture and contributor guide: docs/ARCHITECTURE.md
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
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file inf_hub-0.2.5.tar.gz.
File metadata
- Download URL: inf_hub-0.2.5.tar.gz
- Upload date:
- Size: 17.5 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
eae713795fe7fa4683aa5eb7e95248c9cf4c55a7e3fe71f5d6c64541893ab44c
|
|
| MD5 |
d9f7d20fe62b04bdfebdc5a1c51e0c8a
|
|
| BLAKE2b-256 |
c8df3fc7afb6f0802315e4089a524002383ab1e3d59696b4a8c17002a175ce47
|
File details
Details for the file inf_hub-0.2.5-py3-none-any.whl.
File metadata
- Download URL: inf_hub-0.2.5-py3-none-any.whl
- Upload date:
- Size: 17.8 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
25b8b939233d0f21606de417013d1f6c4288b4ed5ab8422067e34263ccacf16b
|
|
| MD5 |
aa7777c2cb2ecb2a399ff4ae7ae0d260
|
|
| BLAKE2b-256 |
08f6bb9cff9ca2000feb4315c79dda12353f5263069ec636a114393104ae8f08
|