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.
- biomedicalaisystem-2026.5.0/.gitignore +112 -0
- biomedicalaisystem-2026.5.0/BiomedicalAISystem/__init__.py +108 -0
- biomedicalaisystem-2026.5.0/BiomedicalAISystem/skills_catalog.json +31978 -0
- biomedicalaisystem-2026.5.0/LICENSE +21 -0
- biomedicalaisystem-2026.5.0/PKG-INFO +1199 -0
- biomedicalaisystem-2026.5.0/README.md +1116 -0
- biomedicalaisystem-2026.5.0/biokernel/README.md +266 -0
- biomedicalaisystem-2026.5.0/biokernel/STRATEGY_IMPROVEMENT_PLAN.md +115 -0
- biomedicalaisystem-2026.5.0/biokernel/__init__.py +31 -0
- biomedicalaisystem-2026.5.0/biokernel/adapters/__init__.py +1 -0
- biomedicalaisystem-2026.5.0/biokernel/adapters/anthropic_adapter.py +296 -0
- biomedicalaisystem-2026.5.0/biokernel/adapters/claude_adapter.py +326 -0
- biomedicalaisystem-2026.5.0/biokernel/adapters/factory.py +118 -0
- biomedicalaisystem-2026.5.0/biokernel/adapters/gemini_adapter.py +164 -0
- biomedicalaisystem-2026.5.0/biokernel/adapters/local_adapter.py +205 -0
- biomedicalaisystem-2026.5.0/biokernel/adapters/openai_adapter.py +367 -0
- biomedicalaisystem-2026.5.0/biokernel/adapters/openai_runtime_adapter.py +273 -0
- biomedicalaisystem-2026.5.0/biokernel/adapters/runtime_adapter.py +91 -0
- biomedicalaisystem-2026.5.0/biokernel/biokernel/__init__.py +1 -0
- biomedicalaisystem-2026.5.0/biokernel/biokernel/mcp_server.py +390 -0
- biomedicalaisystem-2026.5.0/biokernel/biokernel/router.py +186 -0
- biomedicalaisystem-2026.5.0/biokernel/biokernel/server.py +546 -0
- biomedicalaisystem-2026.5.0/biokernel/biokernel/workflow_engine.py +276 -0
- biomedicalaisystem-2026.5.0/biokernel/cli.py +335 -0
- biomedicalaisystem-2026.5.0/biokernel/config.yaml +75 -0
- biomedicalaisystem-2026.5.0/biokernel/dashboard.py +292 -0
- biomedicalaisystem-2026.5.0/biokernel/demo_app.py +83 -0
- biomedicalaisystem-2026.5.0/biokernel/evaluator/__init__.py +1 -0
- biomedicalaisystem-2026.5.0/biokernel/evaluator/eval_engine.py +559 -0
- biomedicalaisystem-2026.5.0/biokernel/examples/single_cell_qc.yaml +49 -0
- biomedicalaisystem-2026.5.0/biokernel/interface/__init__.py +1 -0
- biomedicalaisystem-2026.5.0/biokernel/interface/llm_provider.py +120 -0
- biomedicalaisystem-2026.5.0/biokernel/observability.py +116 -0
- biomedicalaisystem-2026.5.0/biokernel/optimizer/TUTORIAL_USDL_TRANSPILER.md +77 -0
- biomedicalaisystem-2026.5.0/biokernel/optimizer/__init__.py +1 -0
- biomedicalaisystem-2026.5.0/biokernel/optimizer/meta_prompter.py +189 -0
- biomedicalaisystem-2026.5.0/biokernel/optimizer/usdl_transpiler.py +325 -0
- biomedicalaisystem-2026.5.0/biokernel/schema/__init__.py +1 -0
- biomedicalaisystem-2026.5.0/biokernel/schema/io_types.py +271 -0
- biomedicalaisystem-2026.5.0/biokernel/schema/usdl_schema_v1.json +317 -0
- biomedicalaisystem-2026.5.0/biokernel/skills_catalog.py +226 -0
- biomedicalaisystem-2026.5.0/biokernel/tests/__init__.py +1 -0
- biomedicalaisystem-2026.5.0/biokernel/tests/conftest.py +17 -0
- biomedicalaisystem-2026.5.0/biokernel/tests/test_eval_engine.py +195 -0
- biomedicalaisystem-2026.5.0/biokernel/tests/test_router.py +179 -0
- biomedicalaisystem-2026.5.0/biokernel/tests/test_schema.py +148 -0
- biomedicalaisystem-2026.5.0/biokernel/tests/test_transpiler.py +131 -0
- biomedicalaisystem-2026.5.0/biokernel/tests/test_workflow_engine.py +178 -0
- biomedicalaisystem-2026.5.0/biokernel/utils/__init__.py +1 -0
- biomedicalaisystem-2026.5.0/biokernel/utils/usdl_generator.py +153 -0
- biomedicalaisystem-2026.5.0/pyproject.toml +147 -0
- 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
|
+
]
|