This is a simple environment variable solution for .json file, which is based on 'os' and 'json' lib
Project description
Introduce
- This pak opened base on MIT Licence
- This is a simple environment variable solution for .json file
- It's based on 'os' and 'json' libs
- Use this lib you don't need to worry type issue of 'os.environ' it's all handled by this pak
Install
pip install json-env-sln
Example
Use case
{
"str": "Asashishi",
"bool_str": "true",
"int_str": "107",
"float_str": "1.07",
"none_str": "null",
"none": null,
"bool": false,
"int": 107,
"float": 1.07,
"array": [
"Asashishi",
"true",
"107",
"1.07",
"null",
null,
false,
107,
1.07
],
"object": {
"str": "Asashishi",
"bool_str": "true",
"int_str": "107",
"float_str": "1.07",
"none_str": "null",
"none": null,
"bool": false,
"int": 107,
"float": 1.07,
"array": [
"Asashishi",
"true",
"107",
"1.07",
"null",
null,
false,
107,
1.07
]
}
}
How to use
import os
import time
from json_env import load_env, get_env
start: float = time.time()
# load env from json file
load_env(os.path.join(os.getcwd(),"env.json"))
# log the variables and variable's type
print(get_env("str"), type(get_env("str")))
print(get_env("bool_str"), type(get_env("bool_str")))
print(get_env("int_str"), type(get_env("int_str")))
print(get_env("float_str"), type(get_env("float_str")))
print(get_env("none_str"), type(get_env("none_str")))
print(get_env("none"), type(get_env("none")))
print(get_env("bool"), type(get_env("bool")))
print(get_env("int"), type(get_env("int")))
print(get_env("float"), type(get_env("float")))
print(get_env("array"), type(get_env("array")))
array: list = get_env("array")
for item in array:
print(type(item))
print(get_env("object"), type(get_env("object")))
json_object: dict = get_env("object")
for key, val in json_object.items():
print(type(val))
print(f"Test total time cost: {time.time() - start}s")
The results are
Asashishi <class 'str'>
true <class 'str'>
107 <class 'str'>
1.07 <class 'str'>
null <class 'str'>
None <class 'NoneType'>
False <class 'bool'>
107 <class 'int'>
1.07 <class 'float'>
['Asashishi', 'true', '107', '1.07', 'null', None, False, 107, 1.07] <class 'list'>
<class 'str'>
<class 'str'>
<class 'str'>
<class 'str'>
<class 'str'>
<class 'NoneType'>
<class 'bool'>
<class 'int'>
<class 'float'>
{'str': 'Asashishi', 'bool_str': 'true', 'int_str': '107', 'float_str': '1.07', 'none_str': 'null', 'none': None, 'bool': False, 'int': 107, 'float': 1.07, 'array': ['Asashishi', 'true', '107', '1.07', 'null', None, False, 107, 1.07]} <class 'dict'>
<class 'str'>
<class 'str'>
<class 'str'>
<class 'str'>
<class 'str'>
<class 'NoneType'>
<class 'bool'>
<class 'int'>
<class 'float'>
<class 'list'>
Test total time cost: 0.001172780990600586s
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
json_env_sln-1.0.9.tar.gz
(3.6 kB
view details)
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file json_env_sln-1.0.9.tar.gz.
File metadata
- Download URL: json_env_sln-1.0.9.tar.gz
- Upload date:
- Size: 3.6 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.1
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
9ab3679314914cfd67f353fbdd9a5a045581eb854eeeae7a4c3cbfb9ffd2b79b
|
|
| MD5 |
48eca4987a9288442ac0b4fdf144e50a
|
|
| BLAKE2b-256 |
cb23f29becefd325c2c80a4e98d5e83ba379386d15084d129d5742bc58e0bc01
|
File details
Details for the file json_env_sln-1.0.9-py3-none-any.whl.
File metadata
- Download URL: json_env_sln-1.0.9-py3-none-any.whl
- Upload date:
- Size: 4.3 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.1
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
a9b644e9507327127cd670bb1f05028318ed10a25d4b1cd06dec747b6b4f16ee
|
|
| MD5 |
0711baaa8f561059bc45fff4bb78b948
|
|
| BLAKE2b-256 |
9b0a93ab8b370c7f32250524653486482fd02461b647552a12412147484b69ca
|