nerdd-module 0.3.44__tar.gz → 0.3.46__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 (101) hide show
  1. {nerdd_module-0.3.44 → nerdd_module-0.3.46}/PKG-INFO +1 -1
  2. {nerdd_module-0.3.44 → nerdd_module-0.3.46}/nerdd_module/input/list_reader.py +3 -3
  3. {nerdd_module-0.3.44 → nerdd_module-0.3.46}/nerdd_module/input/string_reader.py +5 -2
  4. {nerdd_module-0.3.44 → nerdd_module-0.3.46}/nerdd_module/output/file_writer.py +23 -2
  5. {nerdd_module-0.3.44 → nerdd_module-0.3.46}/nerdd_module.egg-info/PKG-INFO +1 -1
  6. {nerdd_module-0.3.44 → nerdd_module-0.3.46}/pyproject.toml +1 -1
  7. {nerdd_module-0.3.44 → nerdd_module-0.3.46}/LICENSE +0 -0
  8. {nerdd_module-0.3.44 → nerdd_module-0.3.46}/README.md +0 -0
  9. {nerdd_module-0.3.44 → nerdd_module-0.3.46}/nerdd_module/__init__.py +0 -0
  10. {nerdd_module-0.3.44 → nerdd_module-0.3.46}/nerdd_module/cli.py +0 -0
  11. {nerdd_module-0.3.44 → nerdd_module-0.3.46}/nerdd_module/config/__init__.py +0 -0
  12. {nerdd_module-0.3.44 → nerdd_module-0.3.46}/nerdd_module/config/configuration.py +0 -0
  13. {nerdd_module-0.3.44 → nerdd_module-0.3.46}/nerdd_module/config/default_configuration.py +0 -0
  14. {nerdd_module-0.3.44 → nerdd_module-0.3.46}/nerdd_module/config/dict_configuration.py +0 -0
  15. {nerdd_module-0.3.44 → nerdd_module-0.3.46}/nerdd_module/config/merged_configuration.py +0 -0
  16. {nerdd_module-0.3.44 → nerdd_module-0.3.46}/nerdd_module/config/models.py +0 -0
  17. {nerdd_module-0.3.44 → nerdd_module-0.3.46}/nerdd_module/config/package_configuration.py +0 -0
  18. {nerdd_module-0.3.44 → nerdd_module-0.3.46}/nerdd_module/config/search_yaml_configuration.py +0 -0
  19. {nerdd_module-0.3.44 → nerdd_module-0.3.46}/nerdd_module/config/yaml_configuration.py +0 -0
  20. {nerdd_module-0.3.44 → nerdd_module-0.3.46}/nerdd_module/converters/__init__.py +0 -0
  21. {nerdd_module-0.3.44 → nerdd_module-0.3.46}/nerdd_module/converters/basic_type_converter.py +0 -0
  22. {nerdd_module-0.3.44 → nerdd_module-0.3.46}/nerdd_module/converters/converter.py +0 -0
  23. {nerdd_module-0.3.44 → nerdd_module-0.3.46}/nerdd_module/converters/converter_config.py +0 -0
  24. {nerdd_module-0.3.44 → nerdd_module-0.3.46}/nerdd_module/converters/mol_converter.py +0 -0
  25. {nerdd_module-0.3.44 → nerdd_module-0.3.46}/nerdd_module/converters/problem_list_converter.py +0 -0
  26. {nerdd_module-0.3.44 → nerdd_module-0.3.46}/nerdd_module/converters/representation_converter.py +0 -0
  27. {nerdd_module-0.3.44 → nerdd_module-0.3.46}/nerdd_module/converters/source_list_converter.py +0 -0
  28. {nerdd_module-0.3.44 → nerdd_module-0.3.46}/nerdd_module/converters/void_converter.py +0 -0
  29. {nerdd_module-0.3.44 → nerdd_module-0.3.46}/nerdd_module/input/__init__.py +0 -0
  30. {nerdd_module-0.3.44 → nerdd_module-0.3.46}/nerdd_module/input/depth_first_explorer.py +0 -0
  31. {nerdd_module-0.3.44 → nerdd_module-0.3.46}/nerdd_module/input/explorer.py +0 -0
  32. {nerdd_module-0.3.44 → nerdd_module-0.3.46}/nerdd_module/input/file_reader.py +0 -0
  33. {nerdd_module-0.3.44 → nerdd_module-0.3.46}/nerdd_module/input/gzip_reader.py +0 -0
  34. {nerdd_module-0.3.44 → nerdd_module-0.3.46}/nerdd_module/input/inchi_reader.py +0 -0
  35. {nerdd_module-0.3.44 → nerdd_module-0.3.46}/nerdd_module/input/mol_reader.py +0 -0
  36. {nerdd_module-0.3.44 → nerdd_module-0.3.46}/nerdd_module/input/reader.py +0 -0
  37. {nerdd_module-0.3.44 → nerdd_module-0.3.46}/nerdd_module/input/reader_config.py +0 -0
  38. {nerdd_module-0.3.44 → nerdd_module-0.3.46}/nerdd_module/input/sdf_reader.py +0 -0
  39. {nerdd_module-0.3.44 → nerdd_module-0.3.46}/nerdd_module/input/smiles_reader.py +0 -0
  40. {nerdd_module-0.3.44 → nerdd_module-0.3.46}/nerdd_module/input/stream_reader.py +0 -0
  41. {nerdd_module-0.3.44 → nerdd_module-0.3.46}/nerdd_module/input/tar_reader.py +0 -0
  42. {nerdd_module-0.3.44 → nerdd_module-0.3.46}/nerdd_module/input/zip_reader.py +0 -0
  43. {nerdd_module-0.3.44 → nerdd_module-0.3.46}/nerdd_module/model/__init__.py +0 -0
  44. {nerdd_module-0.3.44 → nerdd_module-0.3.46}/nerdd_module/model/assign_name_step.py +0 -0
  45. {nerdd_module-0.3.44 → nerdd_module-0.3.46}/nerdd_module/model/convert_representations_step.py +0 -0
  46. {nerdd_module-0.3.44 → nerdd_module-0.3.46}/nerdd_module/model/enforce_schema_step.py +0 -0
  47. {nerdd_module-0.3.44 → nerdd_module-0.3.46}/nerdd_module/model/model.py +0 -0
  48. {nerdd_module-0.3.44 → nerdd_module-0.3.46}/nerdd_module/model/prediction_step.py +0 -0
  49. {nerdd_module-0.3.44 → nerdd_module-0.3.46}/nerdd_module/model/read_input_step.py +0 -0
  50. {nerdd_module-0.3.44 → nerdd_module-0.3.46}/nerdd_module/model/write_output_step.py +0 -0
  51. {nerdd_module-0.3.44 → nerdd_module-0.3.46}/nerdd_module/output/__init__.py +0 -0
  52. {nerdd_module-0.3.44 → nerdd_module-0.3.46}/nerdd_module/output/csv_writer.py +0 -0
  53. {nerdd_module-0.3.44 → nerdd_module-0.3.46}/nerdd_module/output/iterator_writer.py +0 -0
  54. {nerdd_module-0.3.44 → nerdd_module-0.3.46}/nerdd_module/output/pandas_writer.py +0 -0
  55. {nerdd_module-0.3.44 → nerdd_module-0.3.46}/nerdd_module/output/record_list_writer.py +0 -0
  56. {nerdd_module-0.3.44 → nerdd_module-0.3.46}/nerdd_module/output/sdf_writer.py +0 -0
  57. {nerdd_module-0.3.44 → nerdd_module-0.3.46}/nerdd_module/output/writer.py +0 -0
  58. {nerdd_module-0.3.44 → nerdd_module-0.3.46}/nerdd_module/output/writer_config.py +0 -0
  59. {nerdd_module-0.3.44 → nerdd_module-0.3.46}/nerdd_module/polyfills/__init__.py +0 -0
  60. {nerdd_module-0.3.44 → nerdd_module-0.3.46}/nerdd_module/polyfills/block_logs.py +0 -0
  61. {nerdd_module-0.3.44 → nerdd_module-0.3.46}/nerdd_module/polyfills/files.py +0 -0
  62. {nerdd_module-0.3.44 → nerdd_module-0.3.46}/nerdd_module/polyfills/get_entry_points.py +0 -0
  63. {nerdd_module-0.3.44 → nerdd_module-0.3.46}/nerdd_module/polyfills/literal.py +0 -0
  64. {nerdd_module-0.3.44 → nerdd_module-0.3.46}/nerdd_module/polyfills/typed_dict.py +0 -0
  65. {nerdd_module-0.3.44 → nerdd_module-0.3.46}/nerdd_module/polyfills/types.py +0 -0
  66. {nerdd_module-0.3.44 → nerdd_module-0.3.46}/nerdd_module/polyfills/version.py +0 -0
  67. {nerdd_module-0.3.44 → nerdd_module-0.3.46}/nerdd_module/preprocessing/__init__.py +0 -0
  68. {nerdd_module-0.3.44 → nerdd_module-0.3.46}/nerdd_module/preprocessing/check_valid_smiles.py +0 -0
  69. {nerdd_module-0.3.44 → nerdd_module-0.3.46}/nerdd_module/preprocessing/chembl_structure_pipeline.py +0 -0
  70. {nerdd_module-0.3.44 → nerdd_module-0.3.46}/nerdd_module/preprocessing/filter_by_element.py +0 -0
  71. {nerdd_module-0.3.44 → nerdd_module-0.3.46}/nerdd_module/preprocessing/filter_by_weight.py +0 -0
  72. {nerdd_module-0.3.44 → nerdd_module-0.3.46}/nerdd_module/preprocessing/preprocessing_step.py +0 -0
  73. {nerdd_module-0.3.44 → nerdd_module-0.3.46}/nerdd_module/preprocessing/remove_small_fragments.py +0 -0
  74. {nerdd_module-0.3.44 → nerdd_module-0.3.46}/nerdd_module/preprocessing/remove_stereochemistry.py +0 -0
  75. {nerdd_module-0.3.44 → nerdd_module-0.3.46}/nerdd_module/preprocessing/sanitize.py +0 -0
  76. {nerdd_module-0.3.44 → nerdd_module-0.3.46}/nerdd_module/problem.py +0 -0
  77. {nerdd_module-0.3.44 → nerdd_module-0.3.46}/nerdd_module/py.typed +0 -0
  78. {nerdd_module-0.3.44 → nerdd_module-0.3.46}/nerdd_module/steps/__init__.py +0 -0
  79. {nerdd_module-0.3.44 → nerdd_module-0.3.46}/nerdd_module/steps/map_step.py +0 -0
  80. {nerdd_module-0.3.44 → nerdd_module-0.3.46}/nerdd_module/steps/output_step.py +0 -0
  81. {nerdd_module-0.3.44 → nerdd_module-0.3.46}/nerdd_module/steps/step.py +0 -0
  82. {nerdd_module-0.3.44 → nerdd_module-0.3.46}/nerdd_module/tests/__init__.py +0 -0
  83. {nerdd_module-0.3.44 → nerdd_module-0.3.46}/nerdd_module/tests/checks.py +0 -0
  84. {nerdd_module-0.3.44 → nerdd_module-0.3.46}/nerdd_module/tests/files.py +0 -0
  85. {nerdd_module-0.3.44 → nerdd_module-0.3.46}/nerdd_module/tests/models/AtomicMassModel.py +0 -0
  86. {nerdd_module-0.3.44 → nerdd_module-0.3.46}/nerdd_module/tests/models/MolWeightModel.py +0 -0
  87. {nerdd_module-0.3.44 → nerdd_module-0.3.46}/nerdd_module/tests/models/__init__.py +0 -0
  88. {nerdd_module-0.3.44 → nerdd_module-0.3.46}/nerdd_module/tests/predictions.py +0 -0
  89. {nerdd_module-0.3.44 → nerdd_module-0.3.46}/nerdd_module/tests/preprocessing/DummyPreprocessingStep.py +0 -0
  90. {nerdd_module-0.3.44 → nerdd_module-0.3.46}/nerdd_module/tests/preprocessing/__init__.py +0 -0
  91. {nerdd_module-0.3.44 → nerdd_module-0.3.46}/nerdd_module/tests/representations.py +0 -0
  92. {nerdd_module-0.3.44 → nerdd_module-0.3.46}/nerdd_module/util/__init__.py +0 -0
  93. {nerdd_module-0.3.44 → nerdd_module-0.3.46}/nerdd_module/util/call_with_mappings.py +0 -0
  94. {nerdd_module-0.3.44 → nerdd_module-0.3.46}/nerdd_module/util/package.py +0 -0
  95. {nerdd_module-0.3.44 → nerdd_module-0.3.46}/nerdd_module/version.py +0 -0
  96. {nerdd_module-0.3.44 → nerdd_module-0.3.46}/nerdd_module.egg-info/SOURCES.txt +0 -0
  97. {nerdd_module-0.3.44 → nerdd_module-0.3.46}/nerdd_module.egg-info/dependency_links.txt +0 -0
  98. {nerdd_module-0.3.44 → nerdd_module-0.3.46}/nerdd_module.egg-info/requires.txt +0 -0
  99. {nerdd_module-0.3.44 → nerdd_module-0.3.46}/nerdd_module.egg-info/top_level.txt +0 -0
  100. {nerdd_module-0.3.44 → nerdd_module-0.3.46}/setup.cfg +0 -0
  101. {nerdd_module-0.3.44 → nerdd_module-0.3.46}/tests/test_features.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: nerdd-module
3
- Version: 0.3.44
3
+ Version: 0.3.46
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>
@@ -1,5 +1,5 @@
1
- from io import BytesIO, StringIO
2
- from typing import Any, BinaryIO, Iterable, Iterator
1
+ from io import IOBase
2
+ from typing import Any, Iterable, Iterator
3
3
 
4
4
  from .reader import ExploreCallable, MoleculeEntry, Reader
5
5
 
@@ -12,7 +12,7 @@ class ListReader(Reader):
12
12
 
13
13
  def read(self, input_iterable: Any, explore: ExploreCallable) -> Iterator[MoleculeEntry]:
14
14
  assert isinstance(input_iterable, Iterable) and not isinstance(
15
- input_iterable, (str, bytes, BytesIO, StringIO, BinaryIO)
15
+ input_iterable, (str, bytes, IOBase)
16
16
  ), f"input must be an iterable, but is {type(input_iterable)}"
17
17
 
18
18
  for entry in input_iterable:
@@ -11,9 +11,12 @@ class StringReader(Reader):
11
11
  super().__init__()
12
12
 
13
13
  def read(self, input: Any, explore: ExploreCallable) -> Iterator[MoleculeEntry]:
14
- assert isinstance(input, str)
14
+ assert isinstance(input, (str, bytes))
15
15
 
16
- with BytesIO(input.encode("utf-8")) as f:
16
+ if isinstance(input, str):
17
+ input = input.encode("utf-8")
18
+
19
+ with BytesIO(input) as f:
17
20
  yield from explore(f)
18
21
 
19
22
  def __repr__(self) -> str:
@@ -1,5 +1,6 @@
1
1
  import codecs
2
2
  from abc import abstractmethod
3
+ from io import BufferedIOBase, TextIOBase, TextIOWrapper
3
4
  from pathlib import Path
4
5
  from typing import IO, Any, BinaryIO, Iterable, TextIO, Union
5
6
 
@@ -14,6 +15,13 @@ __all__ = ["FileWriter", "FileLike"]
14
15
  FileLike = Union[str, Path, TextIO, BinaryIO]
15
16
 
16
17
 
18
+ def is_bytes_stream(stream: Union[TextIO, BinaryIO]) -> bool:
19
+ if hasattr(stream, "buffer"):
20
+ return False
21
+ else:
22
+ return True
23
+
24
+
17
25
  class FileWriter(Writer):
18
26
  """Abstract class for writers."""
19
27
 
@@ -28,8 +36,21 @@ class FileWriter(Writer):
28
36
  with open(self._output_file, mode) as f:
29
37
  self._write(f, entries)
30
38
  else:
31
- self._write(self._output_file, entries)
32
- self._output_file.flush()
39
+ if self._writes_bytes == is_bytes_stream(self._output_file):
40
+ stream = self._output_file
41
+ elif self._writes_bytes:
42
+ # underlying writer expects str (but the writer wants to write bytes)
43
+ assert isinstance(self._output_file, TextIOBase) and hasattr(
44
+ self._output_file, "buffer"
45
+ )
46
+ stream = self._output_file.buffer
47
+ elif not self._writes_bytes:
48
+ # underlying writer expects bytes (but the writer wants to write str)
49
+ assert isinstance(self._output_file, BufferedIOBase)
50
+ stream = TextIOWrapper(self._output_file, encoding="utf-8")
51
+
52
+ self._write(stream, entries)
53
+ stream.flush()
33
54
 
34
55
  @abstractmethod
35
56
  def _write(self, output: IO[Any], entries: Iterable[dict]) -> None:
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: nerdd-module
3
- Version: 0.3.44
3
+ Version: 0.3.46
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>
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
4
4
 
5
5
  [project]
6
6
  name = "nerdd-module"
7
- version = "0.3.44"
7
+ version = "0.3.46"
8
8
  description = "Base package to create NERDD modules"
9
9
  readme = "README.md"
10
10
  license = "BSD-3-Clause"
File without changes
File without changes
File without changes