envo - smart environment variables handling
Define environmental variables in python and activate hot reloaded shells for them.
Features
Initialisation of variables in a given directory (creates common variables file too)
user@pc:/project$ envo local --init # creates local environment python files
Easy and dynamic handling in .py files (See documentation to learn more)
Provides addons like handling virtual environments
user@pc:/project$ envo local --init=venv # will add .venv to PATH
Automatic env variables generation based on defined python variables
Activating shells for a given environment
user@pc:/project$ envo local
🐣(project)user@pc:/project$
🐣(project)user@pc:/project$ exit
user@pc:/project$ envo prod
🔥(project)user@pc:/project$
Saving variables to a regular .env file
user@pc:/project$ envo local dump
Printing variables (handy for non interactive CLIs like CI or docker)
user@pc:/project$ envo local dry-run
Detects undefined variables.
Perfect for switching kubernetes contexts and devops tasks
Example
Initialising environment
user@pc:/project$ envo local init
Will create env_comm.py and env_local.py
# env_comm.py
class ProjectEnvComm(Env):
class Meta(Env.Meta):
name: str = "my_project'
verbose_run = True
def init(self) -> None:
super().init()
@command
def hello_world(self) -> None:
print("Hello world!")
ThisEnv = ProjectEnvComm
# env_local.py
class ProjectLocalEnv(ProjectEnvComm):
class Meta(ProjectEnvComm.Meta):
stage: str = "local"
emoji: str = "🐣"
def init(self) -> None:
super().init()
ThisEnv = ProjectLocalEnv
Example usage:
user@pc:/project$ envo # short for "envo local"
🐣(my_project)user@pc:/project$ hello_world
Hello world!
Metadata
Release files for envo 1.6.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 | Actions |
|---|---|---|---|---|
| envo-1.6.0.tar.gz | 25.6 kB | Without provenance | Details for envo-1.6.0.tar.gz |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| envo-1.6.0-py3-none-any.whl | Python 3 | none | any | Details for envo-1.6.0-py3-none-any.whl |
Total release size: 57.3 kB
Release files / envo-1.6.0.tar.gz
| Download URL | envo-1.6.0.tar.gz |
|---|---|
| Size | 25.6 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
43041f9669da06f9f96e6e4567c3cd9a978a8de277d2443dd67a488ded68d94f
|
|
BLAKE2b-256 checksum How to use checksums |
34c12fcc914dd39d7107ee59d5f267861f6292111ea5b61f3845a03408e01537
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.12.10 {"installer":{"name":"uv","version":"0.12.10","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
|
Release files / envo-1.6.0-py3-none-any.whl
| Download URL | envo-1.6.0-py3-none-any.whl |
|---|---|
| Size | 31.7 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
ddb693977579ff6eb002ee8b1009236b1d67c577824ab4578ec15858fe8d2242
|
|
BLAKE2b-256 checksum How to use checksums |
624acdacbb241ad4a17831a41b11ecb81bc7eed606503abc24bcd4e9a5c48abf
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.12.10 {"installer":{"name":"uv","version":"0.12.10","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
|
Security for envo 1.6.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.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A 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.
To learn more about protecting yourself from malicious actors, visit our package security documentation.