Skip to content

Commit b2f4a03

Browse files
committed
Make it easier to import meta
1 parent c13c974 commit b2f4a03

3 files changed

Lines changed: 51 additions & 32 deletions

File tree

autonima.egg-info/SOURCES.txt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -44,6 +44,7 @@ autonima/utils/__init__.py
4444
autonima/utils/base.py
4545
autonima/utils/criteria.py
4646
tests/test_annotation_incremental_caching.py
47+
tests/test_annotation_retry.py
4748
tests/test_basic.py
4849
tests/test_confidence_reporting.py
4950
tests/test_criteria_mapping.py

autonima/__init__.py

Lines changed: 48 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -21,37 +21,60 @@
2121
__author__ = "Autonima Development Team"
2222
__description__ = "LLM-powered automated systematic review and meta-analysis"
2323

24-
from .pipeline import AutonimaPipeline
25-
from .config import PipelineConfig
24+
__all__ = []
2625

27-
# Import retrieval module components
28-
from .retrieval import BaseRetriever, PubGetRetriever
26+
# Core pipeline/config imports may rely on optional dependencies in submodules.
27+
try:
28+
from .pipeline import AutonimaPipeline
29+
from .config import PipelineConfig
30+
31+
__all__.extend(["AutonimaPipeline", "PipelineConfig"])
32+
except ImportError:
33+
pass
2934

30-
# Import coordinate parsing module components
31-
from .coordinates import CoordinatePoint, Analysis, ParseAnalysesOutput, parse_tables, CoordinateParsingClient
35+
# Retrieval module components (optional dependency: pubget and related stack)
36+
try:
37+
from .retrieval import BaseRetriever, PubGetRetriever
3238

33-
# Import LLM module components
34-
from .llm.client import GenericLLMClient
39+
__all__.extend(["BaseRetriever", "PubGetRetriever"])
40+
except ImportError:
41+
pass
3542

36-
# Import meta-analysis module components
43+
# Coordinate parsing module components
44+
try:
45+
from .coordinates import (
46+
CoordinatePoint,
47+
Analysis,
48+
ParseAnalysesOutput,
49+
parse_tables,
50+
CoordinateParsingClient,
51+
)
52+
53+
__all__.extend(
54+
[
55+
"CoordinatePoint",
56+
"Analysis",
57+
"ParseAnalysesOutput",
58+
"parse_tables",
59+
"CoordinateParsingClient",
60+
]
61+
)
62+
except ImportError:
63+
pass
64+
65+
# LLM client (optional dependency: openai)
66+
try:
67+
from .llm.client import GenericLLMClient
68+
69+
__all__.append("GenericLLMClient")
70+
except ImportError:
71+
pass
72+
73+
# Meta-analysis module components (optional dependency: nimare)
3774
try:
3875
from .meta import run_meta_analyses
76+
3977
HAS_META = True
78+
__all__.append("run_meta_analyses")
4079
except ImportError:
4180
HAS_META = False
42-
43-
__all__ = [
44-
"AutonimaPipeline",
45-
"PipelineConfig",
46-
"BaseRetriever",
47-
"PubGetRetriever",
48-
"CoordinatePoint",
49-
"Analysis",
50-
"ParseAnalysesOutput",
51-
"parse_tables",
52-
"CoordinateParsingClient",
53-
"GenericLLMClient"
54-
]
55-
56-
if HAS_META:
57-
__all__.append("run_meta_analyses")

autonima/meta.py

Lines changed: 2 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -107,8 +107,7 @@ def _normalize_include_ids(include_ids) -> Optional[Set[str]]:
107107

108108

109109
def _load_and_sanitize_data(studyset_file: Path, annotation_file: Path):
110-
"""Load and sanitize NiMADS studyset + annotation payloads."""
111-
from .coordinates.nimads_models import sanitize_studyset_dict, sanitize_annotation_dict
110+
"""Load NiMADS studyset + annotation payloads with minimal normalization."""
112111

113112
print("Loading studyset JSON...")
114113
with open(studyset_file, "r") as f:
@@ -118,13 +117,9 @@ def _load_and_sanitize_data(studyset_file: Path, annotation_file: Path):
118117
with open(annotation_file, "r") as f:
119118
annotation_data = json.load(f)
120119

121-
print("Sanitizing studyset data...")
122-
studyset_data = sanitize_studyset_dict(studyset_data)
123-
124-
print("Sanitizing annotation data...")
120+
print("Normalizing annotation data...")
125121
if isinstance(annotation_data, list):
126122
annotation_data = annotation_data[0] if annotation_data else {}
127-
annotation_data = sanitize_annotation_dict(annotation_data)
128123

129124
return studyset_data, annotation_data
130125

0 commit comments

Comments
 (0)