paramflow 0.4.2__tar.gz → 0.5__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {paramflow-0.4.2/paramflow.egg-info → paramflow-0.5}/PKG-INFO +1 -1
- paramflow-0.5/paramflow/__pycache__/params.cpython-313.pyc +0 -0
- paramflow-0.5/paramflow/__pycache__/parser.cpython-313.pyc +0 -0
- {paramflow-0.4.2 → paramflow-0.5}/paramflow/params.py +5 -3
- {paramflow-0.4.2 → paramflow-0.5}/paramflow/parser.py +13 -0
- {paramflow-0.4.2 → paramflow-0.5/paramflow.egg-info}/PKG-INFO +1 -1
- {paramflow-0.4.2 → paramflow-0.5}/setup.py +1 -1
- paramflow-0.4.2/paramflow/__pycache__/params.cpython-313.pyc +0 -0
- paramflow-0.4.2/paramflow/__pycache__/parser.cpython-313.pyc +0 -0
- {paramflow-0.4.2 → paramflow-0.5}/LICENSE +0 -0
- {paramflow-0.4.2 → paramflow-0.5}/MANIFEST.in +0 -0
- {paramflow-0.4.2 → paramflow-0.5}/README.md +0 -0
- {paramflow-0.4.2 → paramflow-0.5}/paramflow/__init__.py +0 -0
- {paramflow-0.4.2 → paramflow-0.5}/paramflow/__pycache__/__init__.cpython-312.pyc +0 -0
- {paramflow-0.4.2 → paramflow-0.5}/paramflow/__pycache__/__init__.cpython-313.pyc +0 -0
- {paramflow-0.4.2 → paramflow-0.5}/paramflow/__pycache__/convert.cpython-312.pyc +0 -0
- {paramflow-0.4.2 → paramflow-0.5}/paramflow/__pycache__/convert.cpython-313.pyc +0 -0
- {paramflow-0.4.2 → paramflow-0.5}/paramflow/__pycache__/frozen.cpython-312.pyc +0 -0
- {paramflow-0.4.2 → paramflow-0.5}/paramflow/__pycache__/frozen.cpython-313.pyc +0 -0
- {paramflow-0.4.2 → paramflow-0.5}/paramflow/__pycache__/frozen_test.cpython-312-pytest-8.3.4.pyc +0 -0
- {paramflow-0.4.2 → paramflow-0.5}/paramflow/__pycache__/params.cpython-312.pyc +0 -0
- {paramflow-0.4.2 → paramflow-0.5}/paramflow/__pycache__/params_test.cpython-312-pytest-8.3.4.pyc +0 -0
- {paramflow-0.4.2 → paramflow-0.5}/paramflow/__pycache__/parser.cpython-312.pyc +0 -0
- {paramflow-0.4.2 → paramflow-0.5}/paramflow/convert.py +0 -0
- {paramflow-0.4.2 → paramflow-0.5}/paramflow/frozen.py +0 -0
- {paramflow-0.4.2 → paramflow-0.5}/paramflow.egg-info/SOURCES.txt +0 -0
- {paramflow-0.4.2 → paramflow-0.5}/paramflow.egg-info/dependency_links.txt +0 -0
- {paramflow-0.4.2 → paramflow-0.5}/paramflow.egg-info/requires.txt +0 -0
- {paramflow-0.4.2 → paramflow-0.5}/paramflow.egg-info/top_level.txt +0 -0
- {paramflow-0.4.2 → paramflow-0.5}/pyproject.toml +0 -0
- {paramflow-0.4.2 → paramflow-0.5}/setup.cfg +0 -0
|
Binary file
|
|
Binary file
|
|
@@ -6,13 +6,13 @@ from typing import List, Dict, Optional, Union, Final, Type, Tuple
|
|
|
6
6
|
|
|
7
7
|
from paramflow.convert import convert_type
|
|
8
8
|
from paramflow.frozen import freeze, ParamsDict
|
|
9
|
-
from paramflow.parser import PARSER_MAP, EnvParser, ArgsParser, DotEnvParser, Parser
|
|
9
|
+
from paramflow.parser import PARSER_MAP, EnvParser, ArgsParser, DotEnvParser, Parser, DictParser
|
|
10
10
|
|
|
11
11
|
ENV_SOURCE: Final[str] = 'env'
|
|
12
12
|
ARGS_SOURCE: Final[str] = 'args'
|
|
13
13
|
|
|
14
14
|
|
|
15
|
-
def load(*sources: str | Tuple[str, ...],
|
|
15
|
+
def load(*sources: str | Tuple[str, ...] | dict | Tuple[dict, ...],
|
|
16
16
|
meta_env_prefix: str = 'P_',
|
|
17
17
|
meta_args_prefix: str = '',
|
|
18
18
|
env_prefix: str = 'P_',
|
|
@@ -75,7 +75,9 @@ def parse(parsers: List[Parser], default_profile: str, target_profile: str):
|
|
|
75
75
|
def build_parsers(sources: List[str], meta: Dict[str, any]):
|
|
76
76
|
parsers = []
|
|
77
77
|
for source in sources:
|
|
78
|
-
if source
|
|
78
|
+
if isinstance(source, dict):
|
|
79
|
+
parser = DictParser(source)
|
|
80
|
+
elif source == ARGS_SOURCE:
|
|
79
81
|
parser = ArgsParser(meta.args_prefix, meta.default_profile, meta.profile, descr='Parameters')
|
|
80
82
|
elif source == ENV_SOURCE:
|
|
81
83
|
parser = EnvParser(meta.env_prefix, meta.default_profile, meta.profile)
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import argparse
|
|
2
2
|
import configparser
|
|
3
|
+
import copy
|
|
3
4
|
import json
|
|
4
5
|
import os
|
|
5
6
|
import sys
|
|
@@ -17,6 +18,18 @@ class Parser(ABC):
|
|
|
17
18
|
pass
|
|
18
19
|
|
|
19
20
|
|
|
21
|
+
class DictParser(Parser):
|
|
22
|
+
|
|
23
|
+
def __init__(self, params):
|
|
24
|
+
self.params = params
|
|
25
|
+
|
|
26
|
+
def __call__(self, *args) -> Dict[str, any]:
|
|
27
|
+
return {
|
|
28
|
+
'default': copy.deepcopy(self.params),
|
|
29
|
+
'__source__': ['dict'],
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
|
|
20
33
|
class TomlParser(Parser):
|
|
21
34
|
|
|
22
35
|
def __init__(self, path: str):
|
|
Binary file
|
|
Binary file
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{paramflow-0.4.2 → paramflow-0.5}/paramflow/__pycache__/frozen_test.cpython-312-pytest-8.3.4.pyc
RENAMED
|
File without changes
|
|
File without changes
|
{paramflow-0.4.2 → paramflow-0.5}/paramflow/__pycache__/params_test.cpython-312-pytest-8.3.4.pyc
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|