pheval 0.5.7__tar.gz → 0.5.8__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.

Potentially problematic release.


This version of pheval might be problematic. Click here for more details.

Files changed (53) hide show
  1. {pheval-0.5.7 → pheval-0.5.8}/PKG-INFO +1 -1
  2. {pheval-0.5.7 → pheval-0.5.8}/pyproject.toml +1 -1
  3. {pheval-0.5.7 → pheval-0.5.8}/src/pheval/implementations/__init__.py +7 -3
  4. pheval-0.5.8/src/pheval/implementations/pheval_class_resolver.py +40 -0
  5. {pheval-0.5.7 → pheval-0.5.8}/LICENSE +0 -0
  6. {pheval-0.5.7 → pheval-0.5.8}/README.md +0 -0
  7. {pheval-0.5.7 → pheval-0.5.8}/src/pheval/__init__.py +0 -0
  8. {pheval-0.5.7 → pheval-0.5.8}/src/pheval/analyse/__init__.py +0 -0
  9. {pheval-0.5.7 → pheval-0.5.8}/src/pheval/analyse/benchmark.py +0 -0
  10. {pheval-0.5.7 → pheval-0.5.8}/src/pheval/analyse/benchmark_db_manager.py +0 -0
  11. {pheval-0.5.7 → pheval-0.5.8}/src/pheval/analyse/benchmark_output_type.py +0 -0
  12. {pheval-0.5.7 → pheval-0.5.8}/src/pheval/analyse/binary_classification_curves.py +0 -0
  13. {pheval-0.5.7 → pheval-0.5.8}/src/pheval/analyse/binary_classification_stats.py +0 -0
  14. {pheval-0.5.7 → pheval-0.5.8}/src/pheval/analyse/generate_plots.py +0 -0
  15. {pheval-0.5.7 → pheval-0.5.8}/src/pheval/analyse/generate_rank_comparisons.py +0 -0
  16. {pheval-0.5.7 → pheval-0.5.8}/src/pheval/analyse/rank_stats.py +0 -0
  17. {pheval-0.5.7 → pheval-0.5.8}/src/pheval/analyse/run_data_parser.py +0 -0
  18. {pheval-0.5.7 → pheval-0.5.8}/src/pheval/cli.py +0 -0
  19. {pheval-0.5.7 → pheval-0.5.8}/src/pheval/cli_pheval.py +0 -0
  20. {pheval-0.5.7 → pheval-0.5.8}/src/pheval/cli_pheval_utils.py +0 -0
  21. {pheval-0.5.7 → pheval-0.5.8}/src/pheval/config_parser.py +0 -0
  22. {pheval-0.5.7 → pheval-0.5.8}/src/pheval/infra/__init__.py +0 -0
  23. {pheval-0.5.7 → pheval-0.5.8}/src/pheval/infra/exomiserdb.py +0 -0
  24. {pheval-0.5.7 → pheval-0.5.8}/src/pheval/post_processing/__init__.py +0 -0
  25. {pheval-0.5.7 → pheval-0.5.8}/src/pheval/post_processing/phenopacket_truth_set.py +0 -0
  26. {pheval-0.5.7 → pheval-0.5.8}/src/pheval/post_processing/post_processing.py +0 -0
  27. {pheval-0.5.7 → pheval-0.5.8}/src/pheval/post_processing/validate_result_format.py +0 -0
  28. {pheval-0.5.7 → pheval-0.5.8}/src/pheval/prepare/__init__.py +0 -0
  29. {pheval-0.5.7 → pheval-0.5.8}/src/pheval/prepare/create_noisy_phenopackets.py +0 -0
  30. {pheval-0.5.7 → pheval-0.5.8}/src/pheval/prepare/create_spiked_vcf.py +0 -0
  31. {pheval-0.5.7 → pheval-0.5.8}/src/pheval/prepare/custom_exceptions.py +0 -0
  32. {pheval-0.5.7 → pheval-0.5.8}/src/pheval/prepare/prepare_corpus.py +0 -0
  33. {pheval-0.5.7 → pheval-0.5.8}/src/pheval/prepare/update_phenopacket.py +0 -0
  34. {pheval-0.5.7 → pheval-0.5.8}/src/pheval/resources/alternate_ouputs/CADA_results.txt +0 -0
  35. {pheval-0.5.7 → pheval-0.5.8}/src/pheval/resources/alternate_ouputs/DeepPVP_results.txt +0 -0
  36. {pheval-0.5.7 → pheval-0.5.8}/src/pheval/resources/alternate_ouputs/OVA_results.txt +0 -0
  37. {pheval-0.5.7 → pheval-0.5.8}/src/pheval/resources/alternate_ouputs/Phen2Gene_results.json +0 -0
  38. {pheval-0.5.7 → pheval-0.5.8}/src/pheval/resources/alternate_ouputs/Phenolyzer_results.txt +0 -0
  39. {pheval-0.5.7 → pheval-0.5.8}/src/pheval/resources/alternate_ouputs/lirical_results.tsv +0 -0
  40. {pheval-0.5.7 → pheval-0.5.8}/src/pheval/resources/alternate_ouputs/svanna_results.tsv +0 -0
  41. {pheval-0.5.7 → pheval-0.5.8}/src/pheval/resources/hgnc_complete_set.txt +0 -0
  42. {pheval-0.5.7 → pheval-0.5.8}/src/pheval/run_metadata.py +0 -0
  43. {pheval-0.5.7 → pheval-0.5.8}/src/pheval/runners/__init__.py +0 -0
  44. {pheval-0.5.7 → pheval-0.5.8}/src/pheval/runners/runner.py +0 -0
  45. {pheval-0.5.7 → pheval-0.5.8}/src/pheval/utils/__init__.py +0 -0
  46. {pheval-0.5.7 → pheval-0.5.8}/src/pheval/utils/docs_gen.py +0 -0
  47. {pheval-0.5.7 → pheval-0.5.8}/src/pheval/utils/docs_gen.sh +0 -0
  48. {pheval-0.5.7 → pheval-0.5.8}/src/pheval/utils/exomiser.py +0 -0
  49. {pheval-0.5.7 → pheval-0.5.8}/src/pheval/utils/file_utils.py +0 -0
  50. {pheval-0.5.7 → pheval-0.5.8}/src/pheval/utils/logger.py +0 -0
  51. {pheval-0.5.7 → pheval-0.5.8}/src/pheval/utils/phenopacket_utils.py +0 -0
  52. {pheval-0.5.7 → pheval-0.5.8}/src/pheval/utils/semsim_utils.py +0 -0
  53. {pheval-0.5.7 → pheval-0.5.8}/src/pheval/utils/utils.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.3
2
2
  Name: pheval
3
- Version: 0.5.7
3
+ Version: 0.5.8
4
4
  Summary:
5
5
  Author: Yasemin Bridges
6
6
  Author-email: y.bridges@qmul.ac.uk
@@ -1,6 +1,6 @@
1
1
  [tool.poetry]
2
2
  name = "pheval"
3
- version = "0.5.7"
3
+ version = "0.5.8"
4
4
  description = ""
5
5
  authors = ["Yasemin Bridges <y.bridges@qmul.ac.uk>",
6
6
  "Julius Jacobsen <j.jacobsen@qmul.ac.uk>",
@@ -4,6 +4,7 @@ from functools import cache
4
4
 
5
5
  from class_resolver import ClassResolver
6
6
 
7
+ from pheval.implementations.pheval_class_resolver import PhevalClassResolver
7
8
  from pheval.runners.runner import PhEvalRunner
8
9
 
9
10
 
@@ -14,9 +15,11 @@ def get_implementation_resolver() -> ClassResolver[PhEvalRunner]:
14
15
  Returns:
15
16
  ClassResolver[PhEvalRunner]: _description_
16
17
  """
17
- implementation_resolver: ClassResolver[PhEvalRunner] = ClassResolver.from_subclasses(
18
- PhEvalRunner,
19
- suffix="Implementation",
18
+ implementation_resolver: PhevalClassResolver[PhEvalRunner] = (
19
+ PhevalClassResolver.from_subclasses(
20
+ PhEvalRunner,
21
+ suffix="Implementation",
22
+ )
20
23
  )
21
24
 
22
25
  # implementation_resolver.synonyms.update(
@@ -34,5 +37,6 @@ def get_implementation_resolver() -> ClassResolver[PhEvalRunner]:
34
37
  # See also:
35
38
  # https://packaging.python.org/en/latest/specifications/entry-points/
36
39
  # https://class-resolver.readthedocs.io/en/latest/api/class_resolver.ClassResolver.html#class_resolver.ClassResolver.register_entrypoint
40
+
37
41
  implementation_resolver.register_entrypoint("pheval.plugins")
38
42
  return implementation_resolver
@@ -0,0 +1,40 @@
1
+ # Dependencies taken from class_resolver:
2
+ # https://github.com/cthoyt/class-resolver/blob/5e51b41d08381e1754f3445c5ce4fcea4f6612d6/src/class_resolver/base.py#L276
3
+ from importlib.metadata import entry_points
4
+
5
+ # Dependency from importlib.metadata:
6
+ # https://github.com/cthoyt/class-resolver/blob/5e51b41d08381e1754f3445c5ce4fcea4f6612d6/src/class_resolver/utils.py#L45
7
+ from typing import TypeVar
8
+
9
+ from class_resolver import ClassResolver
10
+
11
+ from pheval.utils.logger import get_logger
12
+
13
+ X = TypeVar("X")
14
+ logger = get_logger()
15
+
16
+
17
+ # Create a custom ClassResolver class to modify the _from_entrypoint method.
18
+ class PhevalClassResolver(ClassResolver):
19
+ def __init__(self, *args, **kwargs) -> None:
20
+ super().__init__(*args, **kwargs)
21
+
22
+ # Modified _from_entrypoint method to raise error instead of warning
23
+ @staticmethod
24
+ def _from_entrypoint_custom(group: str) -> set[X]:
25
+ elements: set[X] = set()
26
+ for entry in entry_points(group=group):
27
+ try:
28
+ element = entry.load()
29
+ logger.info(f"Loaded {entry.name} correctly")
30
+ except (ImportError, AttributeError):
31
+ logger.warn(f"could not load {entry.name}. See error message below.")
32
+ raise
33
+ else:
34
+ elements.add(element)
35
+ return elements
36
+
37
+ def register_entrypoint(self, group: str) -> None:
38
+ """Register additional entries from an entrypoint."""
39
+ for element in self._from_entrypoint_custom(group).difference(self.lookup_dict.values()):
40
+ self.register(element)
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes