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)

# You can call to get the raw value (Clean variable)
API_PORT: int = EnvironmentVariable[int](name="API_PORT", type=int)()

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.1.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.1-py3-none-any.whl (9.7 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: hetman_kit_env-0.2.1.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.1.tar.gz
Algorithm Hash digest
SHA256 22f4b26dd6f6e29b30a237938848a92a1561019acbd711947d8c70a6077daca7
MD5 a31a645b57c5db8a2f8e476b50d1ba0f
BLAKE2b-256 a60281191dd607eb26f25d00b16d6c14a82a9ddcefd8a75cdb5435056c4f67cb

See more details on using hashes here.

Provenance

The following attestation bundles were made for hetman_kit_env-0.2.1.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.1-py3-none-any.whl.

File metadata

  • Download URL: hetman_kit_env-0.2.1-py3-none-any.whl
  • Upload date:
  • Size: 9.7 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.1-py3-none-any.whl
Algorithm Hash digest
SHA256 781007e1b2b2511ac5b5808436202b55a29639e81eda6a7cff10ac3752baa6f3
MD5 7190b0367abb42f2cfc788943adc6806
BLAKE2b-256 6958e758000cb41c369e7c0e0a8be7c56e5d7c8adb047f9f3cf807ac860df051

See more details on using hashes here.

Provenance

The following attestation bundles were made for hetman_kit_env-0.2.1-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