nerdd-module 0.3.20__tar.gz → 0.3.22__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.
Files changed (99) hide show
  1. {nerdd_module-0.3.20 → nerdd_module-0.3.22}/PKG-INFO +2 -2
  2. {nerdd_module-0.3.20 → nerdd_module-0.3.22}/nerdd_module/config/package_configuration.py +11 -15
  3. {nerdd_module-0.3.20 → nerdd_module-0.3.22}/nerdd_module/config/search_yaml_configuration.py +5 -3
  4. {nerdd_module-0.3.20 → nerdd_module-0.3.22}/nerdd_module/converters/__init__.py +1 -0
  5. nerdd_module-0.3.22/nerdd_module/converters/source_list_converter.py +29 -0
  6. {nerdd_module-0.3.20 → nerdd_module-0.3.22}/nerdd_module/model/simple_model.py +28 -23
  7. {nerdd_module-0.3.20 → nerdd_module-0.3.22}/nerdd_module.egg-info/PKG-INFO +2 -2
  8. {nerdd_module-0.3.20 → nerdd_module-0.3.22}/nerdd_module.egg-info/SOURCES.txt +1 -0
  9. {nerdd_module-0.3.20 → nerdd_module-0.3.22}/pyproject.toml +1 -1
  10. {nerdd_module-0.3.20 → nerdd_module-0.3.22}/LICENSE +0 -0
  11. {nerdd_module-0.3.20 → nerdd_module-0.3.22}/README.md +0 -0
  12. {nerdd_module-0.3.20 → nerdd_module-0.3.22}/nerdd_module/__init__.py +0 -0
  13. {nerdd_module-0.3.20 → nerdd_module-0.3.22}/nerdd_module/cli.py +0 -0
  14. {nerdd_module-0.3.20 → nerdd_module-0.3.22}/nerdd_module/config/__init__.py +0 -0
  15. {nerdd_module-0.3.20 → nerdd_module-0.3.22}/nerdd_module/config/configuration.py +0 -0
  16. {nerdd_module-0.3.20 → nerdd_module-0.3.22}/nerdd_module/config/default_configuration.py +0 -0
  17. {nerdd_module-0.3.20 → nerdd_module-0.3.22}/nerdd_module/config/dict_configuration.py +0 -0
  18. {nerdd_module-0.3.20 → nerdd_module-0.3.22}/nerdd_module/config/merged_configuration.py +0 -0
  19. {nerdd_module-0.3.20 → nerdd_module-0.3.22}/nerdd_module/config/models.py +0 -0
  20. {nerdd_module-0.3.20 → nerdd_module-0.3.22}/nerdd_module/config/yaml_configuration.py +0 -0
  21. {nerdd_module-0.3.20 → nerdd_module-0.3.22}/nerdd_module/converters/basic_type_converter.py +0 -0
  22. {nerdd_module-0.3.20 → nerdd_module-0.3.22}/nerdd_module/converters/converter.py +0 -0
  23. {nerdd_module-0.3.20 → nerdd_module-0.3.22}/nerdd_module/converters/converter_config.py +0 -0
  24. {nerdd_module-0.3.20 → nerdd_module-0.3.22}/nerdd_module/converters/mol_converter.py +0 -0
  25. {nerdd_module-0.3.20 → nerdd_module-0.3.22}/nerdd_module/converters/problem_list_converter.py +0 -0
  26. {nerdd_module-0.3.20 → nerdd_module-0.3.22}/nerdd_module/converters/representation_converter.py +0 -0
  27. {nerdd_module-0.3.20 → nerdd_module-0.3.22}/nerdd_module/converters/void_converter.py +0 -0
  28. {nerdd_module-0.3.20 → nerdd_module-0.3.22}/nerdd_module/input/__init__.py +0 -0
  29. {nerdd_module-0.3.20 → nerdd_module-0.3.22}/nerdd_module/input/depth_first_explorer.py +0 -0
  30. {nerdd_module-0.3.20 → nerdd_module-0.3.22}/nerdd_module/input/explorer.py +0 -0
  31. {nerdd_module-0.3.20 → nerdd_module-0.3.22}/nerdd_module/input/file_reader.py +0 -0
  32. {nerdd_module-0.3.20 → nerdd_module-0.3.22}/nerdd_module/input/gzip_reader.py +0 -0
  33. {nerdd_module-0.3.20 → nerdd_module-0.3.22}/nerdd_module/input/inchi_reader.py +0 -0
  34. {nerdd_module-0.3.20 → nerdd_module-0.3.22}/nerdd_module/input/list_reader.py +0 -0
  35. {nerdd_module-0.3.20 → nerdd_module-0.3.22}/nerdd_module/input/mol_reader.py +0 -0
  36. {nerdd_module-0.3.20 → nerdd_module-0.3.22}/nerdd_module/input/reader.py +0 -0
  37. {nerdd_module-0.3.20 → nerdd_module-0.3.22}/nerdd_module/input/reader_config.py +0 -0
  38. {nerdd_module-0.3.20 → nerdd_module-0.3.22}/nerdd_module/input/sdf_reader.py +0 -0
  39. {nerdd_module-0.3.20 → nerdd_module-0.3.22}/nerdd_module/input/smiles_reader.py +0 -0
  40. {nerdd_module-0.3.20 → nerdd_module-0.3.22}/nerdd_module/input/string_reader.py +0 -0
  41. {nerdd_module-0.3.20 → nerdd_module-0.3.22}/nerdd_module/input/tar_reader.py +0 -0
  42. {nerdd_module-0.3.20 → nerdd_module-0.3.22}/nerdd_module/input/zip_reader.py +0 -0
  43. {nerdd_module-0.3.20 → nerdd_module-0.3.22}/nerdd_module/model/__init__.py +0 -0
  44. {nerdd_module-0.3.20 → nerdd_module-0.3.22}/nerdd_module/model/assign_mol_id_step.py +0 -0
  45. {nerdd_module-0.3.20 → nerdd_module-0.3.22}/nerdd_module/model/assign_name_step.py +0 -0
  46. {nerdd_module-0.3.20 → nerdd_module-0.3.22}/nerdd_module/model/convert_representations_step.py +0 -0
  47. {nerdd_module-0.3.20 → nerdd_module-0.3.22}/nerdd_module/model/enforce_schema_step.py +0 -0
  48. {nerdd_module-0.3.20 → nerdd_module-0.3.22}/nerdd_module/model/model.py +0 -0
  49. {nerdd_module-0.3.20 → nerdd_module-0.3.22}/nerdd_module/model/read_input_step.py +0 -0
  50. {nerdd_module-0.3.20 → nerdd_module-0.3.22}/nerdd_module/model/write_output_step.py +0 -0
  51. {nerdd_module-0.3.20 → nerdd_module-0.3.22}/nerdd_module/output/__init__.py +0 -0
  52. {nerdd_module-0.3.20 → nerdd_module-0.3.22}/nerdd_module/output/csv_writer.py +0 -0
  53. {nerdd_module-0.3.20 → nerdd_module-0.3.22}/nerdd_module/output/file_writer.py +0 -0
  54. {nerdd_module-0.3.20 → nerdd_module-0.3.22}/nerdd_module/output/iterator_writer.py +0 -0
  55. {nerdd_module-0.3.20 → nerdd_module-0.3.22}/nerdd_module/output/pandas_writer.py +0 -0
  56. {nerdd_module-0.3.20 → nerdd_module-0.3.22}/nerdd_module/output/record_list_writer.py +0 -0
  57. {nerdd_module-0.3.20 → nerdd_module-0.3.22}/nerdd_module/output/sdf_writer.py +0 -0
  58. {nerdd_module-0.3.20 → nerdd_module-0.3.22}/nerdd_module/output/writer.py +0 -0
  59. {nerdd_module-0.3.20 → nerdd_module-0.3.22}/nerdd_module/polyfills/__init__.py +0 -0
  60. {nerdd_module-0.3.20 → nerdd_module-0.3.22}/nerdd_module/polyfills/block_logs.py +0 -0
  61. {nerdd_module-0.3.20 → nerdd_module-0.3.22}/nerdd_module/polyfills/files.py +0 -0
  62. {nerdd_module-0.3.20 → nerdd_module-0.3.22}/nerdd_module/polyfills/get_entry_points.py +0 -0
  63. {nerdd_module-0.3.20 → nerdd_module-0.3.22}/nerdd_module/polyfills/literal.py +0 -0
  64. {nerdd_module-0.3.20 → nerdd_module-0.3.22}/nerdd_module/polyfills/typed_dict.py +0 -0
  65. {nerdd_module-0.3.20 → nerdd_module-0.3.22}/nerdd_module/polyfills/types.py +0 -0
  66. {nerdd_module-0.3.20 → nerdd_module-0.3.22}/nerdd_module/polyfills/version.py +0 -0
  67. {nerdd_module-0.3.20 → nerdd_module-0.3.22}/nerdd_module/preprocessing/__init__.py +0 -0
  68. {nerdd_module-0.3.20 → nerdd_module-0.3.22}/nerdd_module/preprocessing/check_valid_smiles.py +0 -0
  69. {nerdd_module-0.3.20 → nerdd_module-0.3.22}/nerdd_module/preprocessing/chembl_structure_pipeline.py +0 -0
  70. {nerdd_module-0.3.20 → nerdd_module-0.3.22}/nerdd_module/preprocessing/filter_by_element.py +0 -0
  71. {nerdd_module-0.3.20 → nerdd_module-0.3.22}/nerdd_module/preprocessing/filter_by_weight.py +0 -0
  72. {nerdd_module-0.3.20 → nerdd_module-0.3.22}/nerdd_module/preprocessing/preprocessing_step.py +0 -0
  73. {nerdd_module-0.3.20 → nerdd_module-0.3.22}/nerdd_module/preprocessing/remove_stereochemistry.py +0 -0
  74. {nerdd_module-0.3.20 → nerdd_module-0.3.22}/nerdd_module/preprocessing/sanitize.py +0 -0
  75. {nerdd_module-0.3.20 → nerdd_module-0.3.22}/nerdd_module/problem.py +0 -0
  76. {nerdd_module-0.3.20 → nerdd_module-0.3.22}/nerdd_module/py.typed +0 -0
  77. {nerdd_module-0.3.20 → nerdd_module-0.3.22}/nerdd_module/steps/__init__.py +0 -0
  78. {nerdd_module-0.3.20 → nerdd_module-0.3.22}/nerdd_module/steps/map_step.py +0 -0
  79. {nerdd_module-0.3.20 → nerdd_module-0.3.22}/nerdd_module/steps/output_step.py +0 -0
  80. {nerdd_module-0.3.20 → nerdd_module-0.3.22}/nerdd_module/steps/step.py +0 -0
  81. {nerdd_module-0.3.20 → nerdd_module-0.3.22}/nerdd_module/tests/__init__.py +0 -0
  82. {nerdd_module-0.3.20 → nerdd_module-0.3.22}/nerdd_module/tests/checks.py +0 -0
  83. {nerdd_module-0.3.20 → nerdd_module-0.3.22}/nerdd_module/tests/files.py +0 -0
  84. {nerdd_module-0.3.20 → nerdd_module-0.3.22}/nerdd_module/tests/models/AtomicMassModel.py +0 -0
  85. {nerdd_module-0.3.20 → nerdd_module-0.3.22}/nerdd_module/tests/models/MolWeightModel.py +0 -0
  86. {nerdd_module-0.3.20 → nerdd_module-0.3.22}/nerdd_module/tests/models/__init__.py +0 -0
  87. {nerdd_module-0.3.20 → nerdd_module-0.3.22}/nerdd_module/tests/predictions.py +0 -0
  88. {nerdd_module-0.3.20 → nerdd_module-0.3.22}/nerdd_module/tests/preprocessing/DummyPreprocessingStep.py +0 -0
  89. {nerdd_module-0.3.20 → nerdd_module-0.3.22}/nerdd_module/tests/preprocessing/__init__.py +0 -0
  90. {nerdd_module-0.3.20 → nerdd_module-0.3.22}/nerdd_module/tests/representations.py +0 -0
  91. {nerdd_module-0.3.20 → nerdd_module-0.3.22}/nerdd_module/util/__init__.py +0 -0
  92. {nerdd_module-0.3.20 → nerdd_module-0.3.22}/nerdd_module/util/call_with_mappings.py +0 -0
  93. {nerdd_module-0.3.20 → nerdd_module-0.3.22}/nerdd_module/util/package.py +0 -0
  94. {nerdd_module-0.3.20 → nerdd_module-0.3.22}/nerdd_module/version.py +0 -0
  95. {nerdd_module-0.3.20 → nerdd_module-0.3.22}/nerdd_module.egg-info/dependency_links.txt +0 -0
  96. {nerdd_module-0.3.20 → nerdd_module-0.3.22}/nerdd_module.egg-info/requires.txt +0 -0
  97. {nerdd_module-0.3.20 → nerdd_module-0.3.22}/nerdd_module.egg-info/top_level.txt +0 -0
  98. {nerdd_module-0.3.20 → nerdd_module-0.3.22}/setup.cfg +0 -0
  99. {nerdd_module-0.3.20 → nerdd_module-0.3.22}/tests/test_features.py +0 -0
@@ -1,6 +1,6 @@
1
- Metadata-Version: 2.1
1
+ Metadata-Version: 2.2
2
2
  Name: nerdd-module
3
- Version: 0.3.20
3
+ Version: 0.3.22
4
4
  Summary: Base package to create NERDD modules
5
5
  Author-email: Steffen Hirte <steffen.hirte@univie.ac.at>
6
6
  Maintainer-email: Steffen Hirte <steffen.hirte@univie.ac.at>
@@ -19,23 +19,19 @@ class PackageConfiguration(Configuration):
19
19
  remaining_path = package_path[1:]
20
20
 
21
21
  # get the resource directory
22
- try:
23
- root_dir = files(package_root)
24
- except ModuleNotFoundError:
25
- root_dir = None
22
+ root_dir = files(package_root)
23
+ assert root_dir is not None
26
24
 
27
25
  self.config: Configuration = DictConfiguration({})
28
- if root_dir is not None:
29
- # navigate to the config file
30
- config_file = root_dir.joinpath(*remaining_path, filename)
31
-
32
- if config_file is not None and config_file.is_file():
33
- logger.info(f"Found configuration file in package: {config_file}")
34
- self.config = YamlConfiguration(
35
- config_file.open(), base_path=root_dir.joinpath(*remaining_path)
36
- )
37
- else:
38
- self.config = DictConfiguration({})
26
+
27
+ # navigate to the config file
28
+ config_file = root_dir.joinpath(*remaining_path, filename)
29
+ assert config_file is not None and config_file.is_file()
30
+
31
+ logger.info(f"Found configuration file in package: {config_file}")
32
+ self.config = YamlConfiguration(
33
+ config_file.open(), base_path=root_dir.joinpath(*remaining_path)
34
+ )
39
35
 
40
36
  def _get_dict(self) -> dict:
41
37
  return self.config._get_dict()
@@ -12,7 +12,9 @@ logger = logging.getLogger(__name__)
12
12
 
13
13
 
14
14
  class SearchYamlConfiguration(DictConfiguration):
15
- def __init__(self, start: str, base_path: Optional[str] = None) -> None:
15
+ def __init__(
16
+ self, start: str, base_path: Optional[str] = None, filename: str = "nerdd.yml"
17
+ ) -> None:
16
18
  # provide a default configuration if no configuration file is found
17
19
  config: Configuration = DictConfiguration({})
18
20
 
@@ -22,8 +24,8 @@ class SearchYamlConfiguration(DictConfiguration):
22
24
  # reached)
23
25
  leaf = start
24
26
  while True:
25
- if os.path.isfile(os.path.join(leaf, "nerdd.yml")):
26
- default_config_file = os.path.join(leaf, "nerdd.yml")
27
+ if os.path.isfile(os.path.join(leaf, filename)):
28
+ default_config_file = os.path.join(leaf, filename)
27
29
  break
28
30
  elif leaf == os.path.dirname(leaf): # reached root
29
31
  default_config_file = None
@@ -4,4 +4,5 @@ from .converter_config import *
4
4
  from .mol_converter import *
5
5
  from .problem_list_converter import *
6
6
  from .representation_converter import *
7
+ from .source_list_converter import *
7
8
  from .void_converter import *
@@ -0,0 +1,29 @@
1
+ import logging
2
+ from typing import Any
3
+
4
+ from .converter import Converter
5
+ from .converter_config import ConverterConfig
6
+
7
+ __all__ = ["SourceListIdentityConverter", "SourceListConverter"]
8
+
9
+ logger = logging.getLogger(__name__)
10
+
11
+
12
+ class SourceListIdentityConverter(Converter):
13
+ def _convert(self, input: Any, context: dict) -> Any:
14
+ return input
15
+
16
+ config = ConverterConfig(
17
+ data_types="source_list",
18
+ output_formats=["pandas", "iterator", "record_list"],
19
+ )
20
+
21
+
22
+ class SourceListConverter(Converter):
23
+ def _convert(self, input: Any, context: dict) -> Any:
24
+ return " / ".join(source for source in input)
25
+
26
+ config = ConverterConfig(
27
+ data_types="source_list",
28
+ output_formats=["csv", "sdf"],
29
+ )
@@ -32,10 +32,9 @@ __all__ = ["SimpleModel"]
32
32
  class SimpleModel(Model):
33
33
  def __init__(self, preprocessing_steps: Iterable[Step] = []) -> None:
34
34
  super().__init__()
35
- assert isinstance(preprocessing_steps, Iterable), (
36
- f"Expected Iterable for argument preprocessing_steps, "
37
- f"got {type(preprocessing_steps)}"
38
- )
35
+ assert isinstance(
36
+ preprocessing_steps, Iterable
37
+ ), f"Expected Iterable for argument preprocessing_steps, got {type(preprocessing_steps)}"
39
38
  assert all(isinstance(step, Step) for step in preprocessing_steps), (
40
39
  f"Expected all elements of preprocessing_steps to be of type Step, "
41
40
  f"got {[type(step) for step in preprocessing_steps if not isinstance(step, Step)]}"
@@ -79,14 +78,6 @@ class SimpleModel(Model):
79
78
  pass
80
79
 
81
80
  def _get_base_config(self) -> Union[Configuration, dict]:
82
- return {}
83
-
84
- def _get_config(self) -> Configuration:
85
- # get base configuration specified in this class
86
- base_config = self._get_base_config()
87
- if isinstance(base_config, dict):
88
- base_config = DictConfiguration(base_config)
89
-
90
81
  # get the class of the nerdd module, e.g. <CypstrateModel>
91
82
  nerdd_module_class = self.__class__
92
83
 
@@ -97,17 +88,30 @@ class SimpleModel(Model):
97
88
  # get the root module name, e.g. "cypstrate"
98
89
  root_module = python_module.split(".")[0]
99
90
 
100
- configs = [
101
- DefaultConfiguration(self),
102
- # TODO: remove "."
103
- SearchYamlConfiguration(get_file_path_to_instance(self) or "."),
104
- PackageConfiguration(f"{root_module}.data"),
105
- # base config comes last -> highest priority
106
- base_config,
107
- ]
91
+ configs: List[Configuration] = []
92
+
93
+ try:
94
+ configs.append( # TODO: remove "."
95
+ SearchYamlConfiguration(get_file_path_to_instance(self) or ".")
96
+ )
97
+ except Exception:
98
+ pass
99
+
100
+ try:
101
+ configs.append(PackageConfiguration(f"{root_module}.data", filename="nerdd.yml"))
102
+ except Exception:
103
+ pass
104
+
105
+ return MergedConfiguration(*configs)
106
+
107
+ def _get_config(self) -> Configuration:
108
+ # get base configuration specified in this class
109
+ base_config = self._get_base_config()
110
+ if isinstance(base_config, dict):
111
+ base_config = DictConfiguration(base_config)
108
112
 
109
113
  # add default properties mol_id, raw_input, etc.
110
- task = MergedConfiguration(*configs).get_dict().task
114
+ task = base_config.get_dict().task
111
115
 
112
116
  # check whether we need to add to add a property "atom_id" or "derivative_id"
113
117
  task_based_property = []
@@ -138,7 +142,7 @@ class SimpleModel(Model):
138
142
  {
139
143
  "name": "source",
140
144
  "visible_name": "Source",
141
- "type": "string",
145
+ "type": "source_list",
142
146
  "visible": False,
143
147
  },
144
148
  {"name": "name", "visible_name": "Name", "type": "string"},
@@ -179,8 +183,9 @@ class SimpleModel(Model):
179
183
  ]
180
184
 
181
185
  configs = [
186
+ DefaultConfiguration(self),
182
187
  DictConfiguration({"result_properties": default_properties_start}),
183
- *configs,
188
+ base_config,
184
189
  DictConfiguration({"result_properties": default_properties_end}),
185
190
  ]
186
191
 
@@ -1,6 +1,6 @@
1
- Metadata-Version: 2.1
1
+ Metadata-Version: 2.2
2
2
  Name: nerdd-module
3
- Version: 0.3.20
3
+ Version: 0.3.22
4
4
  Summary: Base package to create NERDD modules
5
5
  Author-email: Steffen Hirte <steffen.hirte@univie.ac.at>
6
6
  Maintainer-email: Steffen Hirte <steffen.hirte@univie.ac.at>
@@ -27,6 +27,7 @@ nerdd_module/converters/converter_config.py
27
27
  nerdd_module/converters/mol_converter.py
28
28
  nerdd_module/converters/problem_list_converter.py
29
29
  nerdd_module/converters/representation_converter.py
30
+ nerdd_module/converters/source_list_converter.py
30
31
  nerdd_module/converters/void_converter.py
31
32
  nerdd_module/input/__init__.py
32
33
  nerdd_module/input/depth_first_explorer.py
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
4
4
 
5
5
  [project]
6
6
  name = "nerdd-module"
7
- version = "0.3.20"
7
+ version = "0.3.22"
8
8
  description = "Base package to create NERDD modules"
9
9
  readme = "README.md"
10
10
  license = { file = "LICENSE" }
File without changes
File without changes
File without changes