Metadata-Version: 2.1
Name: envserv
Version: 1.0.1
Summary: Environment model
Author-email: txello <txello@inbox.ru>
Project-URL: Homepage, https://github.com/txello/EnvServ
Project-URL: Issues, https://github.com/txello/EnvServ/issues
Classifier: Programming Language :: Python :: 3
Classifier: License :: OSI Approved :: MIT License
Classifier: Operating System :: OS Independent
Requires-Python: >=3.8
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: python-dotenv ==1.0.1

# EnvServ

###  Before starting, install ```dotenv```
```console
pip install python-dotenv
```

### EnvServ - Model view for easy Python development

Example №1:

```env
# file: .env
FirstVar = Hello, world!
SecondVar = 42
ThirdVar = 23
```

```python
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:
```python
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 №2:
```env
# file: .env
pass = 100
```
```python
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
```

# Version logger:

### 1.0.0
* Model added
* Added variable change
* Added class instance information output

### 1.0.1
* Added rules for variable (beta)
