Skip to main content

Environment model

Project description

EnvServ

Before starting, install dotenv

pip install python-dotenv

EnvServ - Model view for easy Python development

Example №1

# file: .env
FirstVar = Hello, world!
SecondVar = 42
ThirdVar = 23
from envserv import EnvBase

class MyEnv(EnvBase):
    __envfile__ = '.env'

    FirstVar: str
    SecondVar: int
    ThirdVar: float

env = MyEnv()

print(env) # EnvServ(FirstVar:<class 'str'> = Hello, world!, SecondVar:<class 'int'> = 42, ThirdVar:<class 'float'> = 23.0)
print(env.FirstVar, env.SecondVar,env.ThirdVar) # Hello, world! 42 23.0
print(type(env.FirstVar), type(env.SecondVar), type(env.ThirdVar)) # <class 'str'> <class 'int'> <class 'float'>

Example №2

from envserv import EnvBase

class MyEnv(EnvBase):
    __envfile__ = '.env'

    FirstVar: str

env = MyEnv()

env.FirstVar = "New variable value" # Also changes a variable in the .env file

print(env) # EnvServ(FirstVar:<class 'str'> = New variable value)
print(env.FirstVar) # New variable value
print(type(env.FirstVar)) # <class 'str'>

Example №3

# file: .env
pass = 100
from envserv import EnvBase, variable

class MyEnv(EnvBase):
    __envfile__ = '.env'
    
    pass_: int = variable(alias='pass',overwrite=False)

env = MyEnv()

print(env) # EnvServ(pass_:<class 'int'> = 100)
print(env.pass_) # 100
print(type(env.pass_)) # <class 'int'>

env.pass_ = 1 # envserv.errors.EnvVariableError: Error overwriting variable pass_: It cannot be overwritten

Example №4

# file: .env
A = Text
ERR = this is error
C = [1, 2, 3, 4, 5]
D = {1: 2, 3: 4}
E = null
F = {1,2,3,4,5}
from envserv import EnvBase, Variable

class MyEnv(EnvBase):
    __envfile__ = '.env'
    
    A: str
    B: int = Variable(alias="ERR", error=False)
    C: list
    D: dict
    E: None
    F: set
    not_in: str = "test"


env = MyEnv()
print(env.all())
print(env.json())

# Output:
# {'A': 'Text', 'B': 'this is error', 'C': [1, 2, 3, 4, 5], 'D': {1: 2, 3: 4}, 'E': None, 'F': {1, 2, 3, 4, 5}, 'not_in': 'test'}
# {"A": "Text", "B": "this is error", "C": [1, 2, 3, 4, 5], "D": {"1": 2, "3": 4}, "E": null, "F": [1, 2, 3, 4, 5], "not_in": "test"}

Example 5

# file: .env
json_string = {"checked": null}
from envserv import EnvBase
from envserv.typing import JSON

class MyEnv(EnvBase):
    __envfile__ = '.env'
    
    json_string: JSON


env = MyEnv()
print(env.all())
print(env.json())

# Output:
# {'json_string': {'checked': None}}
# {"json_string": {"checked": null}}

Version logger

1.0.8

  • Added JSON support
  • Added CI/CD
  • Version filtering changed from latest to first
  • Code refactoring

1.0.7

  • Fixed variable function

1.0.6

  • Added the ability to have a default value for .env variable
  • Fixed reading of .env file

1.0.5

  • Code refactoring has been completed
  • Added class Variable
  • Added toString parameter to all() function and added json() function

1.0.4

  • Added support for the list, dict and None variable
  • Added parameter encoding to the class instance
  • Added function all() to display the dictionary

1.0.3

  • Fix alias param
  • Fix error message

1.0.2

  • Added setting for docker-compose (Variable __envfile__ does not need to be written)

1.0.1

  • Added rules for variable (beta)

1.0.0

  • Model added
  • Added variable change
  • Added class instance information output

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

envserv-1.0.8.tar.gz (5.4 kB view details)

Uploaded Source

Built Distribution

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

envserv-1.0.8-py3-none-any.whl (6.4 kB view details)

Uploaded Python 3

File details

Details for the file envserv-1.0.8.tar.gz.

File metadata

  • Download URL: envserv-1.0.8.tar.gz
  • Upload date:
  • Size: 5.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for envserv-1.0.8.tar.gz
Algorithm Hash digest
SHA256 82307adccc154922dfd35a1aab85922d8a1c0c631b08929a67011bd155dcea9e
MD5 6a07537497771dd216fa2acb81b4cb57
BLAKE2b-256 0f860b1ddac2f94c2fc96fd386500a8b752c550c4cd4165d21cef4daf509fdb6

See more details on using hashes here.

File details

Details for the file envserv-1.0.8-py3-none-any.whl.

File metadata

  • Download URL: envserv-1.0.8-py3-none-any.whl
  • Upload date:
  • Size: 6.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for envserv-1.0.8-py3-none-any.whl
Algorithm Hash digest
SHA256 73f998f034c4f7c979be80c1e1d9833bc25fe13e8bf609fa9e1e557c07b1c1b4
MD5 eafcc030cab43205a30674fc6c0faefe
BLAKE2b-256 72023fe41c6be60bacf8f9d296613b96b26b71513a15ee1c4b076e68e7a0216a

See more details on using hashes here.

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