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!
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 | |
|---|---|---|---|
| envo-1.6.0.tar.gz | 25.6 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| envo-1.6.0-py3-none-any.whl | Python 3 | none | any | Details |
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}
|