BiomedicalAISystem 2026.5.0__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 (52) hide show
  1. biomedicalaisystem-2026.5.0/.gitignore +112 -0
  2. biomedicalaisystem-2026.5.0/BiomedicalAISystem/__init__.py +108 -0
  3. biomedicalaisystem-2026.5.0/BiomedicalAISystem/skills_catalog.json +31978 -0
  4. biomedicalaisystem-2026.5.0/LICENSE +21 -0
  5. biomedicalaisystem-2026.5.0/PKG-INFO +1199 -0
  6. biomedicalaisystem-2026.5.0/README.md +1116 -0
  7. biomedicalaisystem-2026.5.0/biokernel/README.md +266 -0
  8. biomedicalaisystem-2026.5.0/biokernel/STRATEGY_IMPROVEMENT_PLAN.md +115 -0
  9. biomedicalaisystem-2026.5.0/biokernel/__init__.py +31 -0
  10. biomedicalaisystem-2026.5.0/biokernel/adapters/__init__.py +1 -0
  11. biomedicalaisystem-2026.5.0/biokernel/adapters/anthropic_adapter.py +296 -0
  12. biomedicalaisystem-2026.5.0/biokernel/adapters/claude_adapter.py +326 -0
  13. biomedicalaisystem-2026.5.0/biokernel/adapters/factory.py +118 -0
  14. biomedicalaisystem-2026.5.0/biokernel/adapters/gemini_adapter.py +164 -0
  15. biomedicalaisystem-2026.5.0/biokernel/adapters/local_adapter.py +205 -0
  16. biomedicalaisystem-2026.5.0/biokernel/adapters/openai_adapter.py +367 -0
  17. biomedicalaisystem-2026.5.0/biokernel/adapters/openai_runtime_adapter.py +273 -0
  18. biomedicalaisystem-2026.5.0/biokernel/adapters/runtime_adapter.py +91 -0
  19. biomedicalaisystem-2026.5.0/biokernel/biokernel/__init__.py +1 -0
  20. biomedicalaisystem-2026.5.0/biokernel/biokernel/mcp_server.py +390 -0
  21. biomedicalaisystem-2026.5.0/biokernel/biokernel/router.py +186 -0
  22. biomedicalaisystem-2026.5.0/biokernel/biokernel/server.py +546 -0
  23. biomedicalaisystem-2026.5.0/biokernel/biokernel/workflow_engine.py +276 -0
  24. biomedicalaisystem-2026.5.0/biokernel/cli.py +335 -0
  25. biomedicalaisystem-2026.5.0/biokernel/config.yaml +75 -0
  26. biomedicalaisystem-2026.5.0/biokernel/dashboard.py +292 -0
  27. biomedicalaisystem-2026.5.0/biokernel/demo_app.py +83 -0
  28. biomedicalaisystem-2026.5.0/biokernel/evaluator/__init__.py +1 -0
  29. biomedicalaisystem-2026.5.0/biokernel/evaluator/eval_engine.py +559 -0
  30. biomedicalaisystem-2026.5.0/biokernel/examples/single_cell_qc.yaml +49 -0
  31. biomedicalaisystem-2026.5.0/biokernel/interface/__init__.py +1 -0
  32. biomedicalaisystem-2026.5.0/biokernel/interface/llm_provider.py +120 -0
  33. biomedicalaisystem-2026.5.0/biokernel/observability.py +116 -0
  34. biomedicalaisystem-2026.5.0/biokernel/optimizer/TUTORIAL_USDL_TRANSPILER.md +77 -0
  35. biomedicalaisystem-2026.5.0/biokernel/optimizer/__init__.py +1 -0
  36. biomedicalaisystem-2026.5.0/biokernel/optimizer/meta_prompter.py +189 -0
  37. biomedicalaisystem-2026.5.0/biokernel/optimizer/usdl_transpiler.py +325 -0
  38. biomedicalaisystem-2026.5.0/biokernel/schema/__init__.py +1 -0
  39. biomedicalaisystem-2026.5.0/biokernel/schema/io_types.py +271 -0
  40. biomedicalaisystem-2026.5.0/biokernel/schema/usdl_schema_v1.json +317 -0
  41. biomedicalaisystem-2026.5.0/biokernel/skills_catalog.py +226 -0
  42. biomedicalaisystem-2026.5.0/biokernel/tests/__init__.py +1 -0
  43. biomedicalaisystem-2026.5.0/biokernel/tests/conftest.py +17 -0
  44. biomedicalaisystem-2026.5.0/biokernel/tests/test_eval_engine.py +195 -0
  45. biomedicalaisystem-2026.5.0/biokernel/tests/test_router.py +179 -0
  46. biomedicalaisystem-2026.5.0/biokernel/tests/test_schema.py +148 -0
  47. biomedicalaisystem-2026.5.0/biokernel/tests/test_transpiler.py +131 -0
  48. biomedicalaisystem-2026.5.0/biokernel/tests/test_workflow_engine.py +178 -0
  49. biomedicalaisystem-2026.5.0/biokernel/utils/__init__.py +1 -0
  50. biomedicalaisystem-2026.5.0/biokernel/utils/usdl_generator.py +153 -0
  51. biomedicalaisystem-2026.5.0/pyproject.toml +147 -0
  52. biomedicalaisystem-2026.5.0/skills_catalog.json +31978 -0
@@ -0,0 +1,112 @@
1
+ # =============================================================================
2
+ # Universal Biomedical Skills - Git Ignore
3
+ # =============================================================================
4
+
5
+ # Python
6
+ __pycache__/
7
+ *.py[cod]
8
+ *$py.class
9
+ *.so
10
+ .Python
11
+ build/
12
+ develop-eggs/
13
+ dist/
14
+ downloads/
15
+ eggs/
16
+ .eggs/
17
+ lib/
18
+ lib64/
19
+ parts/
20
+ sdist/
21
+ var/
22
+ wheels/
23
+ *.egg-info/
24
+ .installed.cfg
25
+ *.egg
26
+
27
+ # Virtual Environments
28
+ venv/
29
+ ENV/
30
+ env/
31
+ .venv/
32
+ test_demonstration/venv/
33
+
34
+ # Environment Variables
35
+ .env
36
+ .env.local
37
+ *.env
38
+
39
+ # Jupyter Notebooks
40
+ .ipynb_checkpoints/
41
+ *.ipynb_checkpoints
42
+
43
+ # IDEs and Editors
44
+ .idea/
45
+ .vscode/
46
+ *.swp
47
+ *.swo
48
+ *~
49
+ .project
50
+ .pydevproject
51
+ .settings/
52
+
53
+ # OS Files
54
+ .DS_Store
55
+ .DS_Store?
56
+ ._*
57
+ .Spotlight-V100
58
+ .Trashes
59
+ ehthumbs.db
60
+ Thumbs.db
61
+
62
+ # =============================================================================
63
+ # Data Files (Large/Generated)
64
+ # =============================================================================
65
+ *.h5ad
66
+ *.h5
67
+ *.mtx
68
+ *.mtx.gz
69
+ *.tsv.gz
70
+ *.csv.gz
71
+
72
+ # Test Data Directories
73
+ scRNAsedata/
74
+ analyzed_data/
75
+ qc_results/
76
+ qc_results_demo/
77
+
78
+ # =============================================================================
79
+ # Archive (External References & Old Versions)
80
+ # =============================================================================
81
+ archive/
82
+
83
+ # =============================================================================
84
+ # Sensitive Files
85
+ # =============================================================================
86
+ token.txt
87
+ *.token
88
+ credentials.json
89
+ secrets.yaml
90
+ *.pem
91
+ *.key
92
+
93
+ # =============================================================================
94
+ # Temporary Files
95
+ # =============================================================================
96
+ *.tmp
97
+ *.temp
98
+ *.log
99
+ *.bak
100
+ .~lock.*
101
+
102
+ # =============================================================================
103
+ # Build Outputs
104
+ # =============================================================================
105
+ platform/build/
106
+ platform/output/
107
+ platform/reports/
108
+
109
+ # =============================================================================
110
+ # Claude Code
111
+ # =============================================================================
112
+ .claude/
@@ -0,0 +1,108 @@
1
+ # BiomedicalAISystem — Universal Life-Science & Clinical AI Skills Platform
2
+ # Copyright (c) 2026 MD Babu Mia, PhD <md.babu.mia@mssm.edu>
3
+ # Icahn School of Medicine at Mount Sinai.
4
+ # Released under the MIT License (see LICENSE).
5
+
6
+ """
7
+ BiomedicalAISystem
8
+ ==================
9
+
10
+ A research-grade, agentic AI platform for orchestrating biomedical *skills*
11
+ across multiple LLM providers (Anthropic, OpenAI, Google, local models).
12
+
13
+ ``BiomedicalAISystem`` is the distribution name; the runtime engine is the
14
+ ``biokernel`` package. This top-level module re-exports the public API of
15
+ ``biokernel`` so either import path works::
16
+
17
+ import BiomedicalAISystem as bas
18
+ print(bas.__version__)
19
+
20
+ # equivalent, lower-level entry point
21
+ import biokernel
22
+
23
+ Key capabilities
24
+ ----------------
25
+ - Universal Skill Description Language (USDL) — write-once, deploy-anywhere skills
26
+ - Semantic routing for intelligent skill matching
27
+ - DAG-based workflow engine for multi-agent orchestration
28
+ - Cross-platform evaluation with biomedical-domain rubrics
29
+ - MCP (Model Context Protocol) server for tool integration
30
+
31
+ Bundled data
32
+ ------------
33
+ The curated skills catalog is shipped with the package and can be located via
34
+ :func:`catalog_path`.
35
+ """
36
+
37
+ from __future__ import annotations
38
+
39
+ from importlib import import_module
40
+ from pathlib import Path
41
+ from typing import Any
42
+
43
+ # Re-export everything the runtime engine exposes.
44
+ import biokernel as _biokernel
45
+
46
+ try: # Prefer the installed distribution version, fall back to the engine's.
47
+ from importlib.metadata import PackageNotFoundError, version as _dist_version
48
+
49
+ try:
50
+ __version__ = _dist_version("BiomedicalAISystem")
51
+ except PackageNotFoundError: # running from a source checkout
52
+ __version__ = _biokernel.__version__
53
+ except Exception: # pragma: no cover - extremely old Pythons
54
+ __version__ = _biokernel.__version__
55
+ __author__ = _biokernel.__author__
56
+ __email__ = _biokernel.__email__
57
+ __institution__ = getattr(_biokernel, "__institution__", "")
58
+
59
+ # Make the engine importable as an attribute, e.g. BiomedicalAISystem.biokernel
60
+ biokernel = _biokernel
61
+
62
+ _DATA_DIR = Path(__file__).resolve().parent
63
+
64
+
65
+ def catalog_path() -> Path:
66
+ """Return the filesystem path to the bundled ``skills_catalog.json``."""
67
+ return _DATA_DIR / "skills_catalog.json"
68
+
69
+
70
+ def load_catalog() -> Any:
71
+ """Load and return the bundled skills catalog as a Python object."""
72
+ import json
73
+
74
+ with catalog_path().open("r", encoding="utf-8") as fh:
75
+ return json.load(fh)
76
+
77
+
78
+ def cli() -> None:
79
+ """Entry point shim for the ``biomedical-ai`` console script."""
80
+ from biokernel.cli import main as _main
81
+
82
+ _main()
83
+
84
+
85
+ def __getattr__(name: str) -> Any:
86
+ """Transparently proxy attribute access to the ``biokernel`` package."""
87
+ try:
88
+ return getattr(_biokernel, name)
89
+ except AttributeError:
90
+ # Allow access to biokernel submodules, e.g. BiomedicalAISystem.schema
91
+ try:
92
+ return import_module(f"biokernel.{name}")
93
+ except ModuleNotFoundError as exc: # pragma: no cover
94
+ raise AttributeError(
95
+ f"module 'BiomedicalAISystem' has no attribute {name!r}"
96
+ ) from exc
97
+
98
+
99
+ __all__ = [
100
+ "__version__",
101
+ "__author__",
102
+ "__email__",
103
+ "__institution__",
104
+ "biokernel",
105
+ "catalog_path",
106
+ "load_catalog",
107
+ "cli",
108
+ ]