Skip to main content

Hetman Kit Environment is a developer-centric environment variable manager. It leverages the Hetman Pipeline engine to treat environment variables not just as strings, but as strictly validated and transformed data structures.

Project description

Hetman Logo

Hetman Kit Environment is a developer-centric environment variable manager. It leverages the Hetman Pipeline engine to treat environment variables not just as strings, but as strictly validated and transformed data structures.

Installation

pip install hetman-kit-env

Why use this?

Standard os.environ.get returns strings and provides no validation. Hetman Kit Environment allows you to:

  1. Validate length, patterns, and types immediately.
  2. Transform values (lowercase, strip, cast) during retrieval.
  3. Parse JSON structures stored in environment strings automatically.
  4. Enforce existence for missing variables.

Usage Example

from hetman_kit_env import EnvironmentVariable
from pipeline import Condition, Match, Transform

# Set the path for your .env file
EnvironmentVariable.dotenv_path = ".env"

# Define a validated environment variable
# This will raise an exception if the key is missing or validation fails
SECRET_KEY = EnvironmentVariable[str](
    name="SECRET_KEY",
    type=str,
    conditions={
        Condition.ExactLength: 32
    },
    matches={
        Match.Text.Letters: None
    },
    transform={
        Transform.Lowercase: None
    }
)

# Access the processed value
print(SECRET_KEY.get)

Pythonic Access Patterns

You don't have to manually call .get every time. The EnvironmentVariable instance implements magic methods to make your code cleaner:

  • Direct Comparison: Use == to compare the variable directly with a value.

    if SECRET_KEY == "expected_hash_value":
        ...
    
  • Boolean Logic: Use it directly in if statements to check if the value is truthy.

    DEBUG_MODE = EnvironmentVariable[bool](name="DEBUG", optional=True)
    
    if DEBUG_MODE:
        print("Debug is enabled")
    
  • String Conversion: Use it directly in f-strings or print().

    print(f"API_URL: {API_URL}")
    
  • Callable shorthand: Call the object like a function to get the value.

    current_key = SECRET_KEY()
    

Core Features

  • Strict Typing: Use Python generics EnvironmentVariable[T] for better IDE support and type safety.
  • JSON Ready: Built-in json.loads support for complex environment configurations.
  • Pipeline Integration: Full access to the Pipeline execution flow (Type Check -> Setup -> Conditions -> Matches -> Transformations).
  • Singleton .env Loading: The .env file is loaded once and shared across all instances.

Documentation

This package uses the Hetman Pipeline logic for its core processing. To learn more about available conditions, matches, and transformations, visit Official Documentation

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

hetman_kit_env-0.2.0.tar.gz (8.7 kB view details)

Uploaded Source

Built Distribution

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

hetman_kit_env-0.2.0-py3-none-any.whl (9.6 kB view details)

Uploaded Python 3

File details

Details for the file hetman_kit_env-0.2.0.tar.gz.

File metadata

  • Download URL: hetman_kit_env-0.2.0.tar.gz
  • Upload date:
  • Size: 8.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for hetman_kit_env-0.2.0.tar.gz
Algorithm Hash digest
SHA256 fe885cab7236be33750e412bb2b5dcbe386bc5fc8a670324c4d5164eab8d5bfa
MD5 432bc261fa19026c4d6674f48f1bcfc5
BLAKE2b-256 815a2ec1d0fcedcaee9909fc85ebf2e78ed22f34b1ad7c7807df1d7ffe60d1a2

See more details on using hashes here.

Provenance

The following attestation bundles were made for hetman_kit_env-0.2.0.tar.gz:

Publisher: python-publish.yml on hetman-app/hetman-kit-env

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

File details

Details for the file hetman_kit_env-0.2.0-py3-none-any.whl.

File metadata

  • Download URL: hetman_kit_env-0.2.0-py3-none-any.whl
  • Upload date:
  • Size: 9.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for hetman_kit_env-0.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 960e7ad32a68d4a5417a0918c6e0a4d803f056973937a63061a609f45987d679
MD5 2a622cf0494e9db518f5256fe21065bc
BLAKE2b-256 64e667ad733900a903f7882e802ece2c5762226eb836d07c57165ee8a6fde2ed

See more details on using hashes here.

Provenance

The following attestation bundles were made for hetman_kit_env-0.2.0-py3-none-any.whl:

Publisher: python-publish.yml on hetman-app/hetman-kit-env

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