https://github.com/dptech-corp/bohr-agent-sdk
Science Score: 36.0%
This score indicates how likely this project is to be science-related based on various indicators:
-
○CITATION.cff file
-
✓codemeta.json file
Found codemeta.json file -
✓.zenodo.json file
Found .zenodo.json file -
○DOI references
-
○Academic publication links
-
✓Committers with academic emails
1 of 14 committers (7.1%) from academic institutions -
○Institutional organization owner
-
○JOSS paper metadata
-
○Scientific vocabulary similarity
Low similarity (16.0%) to scientific vocabulary
Repository
Basic Info
- Host: GitHub
- Owner: dptech-corp
- Language: Python
- Default Branch: master
- Size: 4.5 MB
Statistics
- Stars: 5
- Watchers: 4
- Forks: 10
- Open Issues: 2
- Releases: 0
Metadata Files
README.md
Bohrium Science Agent SDK
Transform Scientific Software into AI Assistants — 3 Steps to Intelligent Transformation
📖 Introduction
The Bohrium platform introduces the bohr-agent-sdk Scientific Agent Development Kit, enabling AI systems to truly execute professional scientific tasks and helping developers quickly build their own specialized research agents. Through a three-step process — Invoking MCP Tools, Orchestrating Agent Workflows, and Deploying Services — any scientific software can be rapidly transformed into an AI assistant.
✨ Core Features
🎯 Intelligent Task Management: Simplified Development, Standardized Output
With a decorator pattern, just a few annotations can quickly transform scientific computing programs into MCP standard services. Built-in application templates turn scattered research code into standardized, reusable intelligent components.
🔧 Multi-Backend Framework Support
Supports mainstream Agent open frameworks including Google ADK, Langraph, and Camel, providing flexible choices for developers familiar with different technology stacks.
☁️ Flexible Deployment: Local Development, Cloud Production
Dual-mode architecture supports seamless transition between development and production. Local environments enable rapid iteration and feature validation, while Bohrium's cloud GPU clusters handle production-grade computing tasks. The SDK automatically manages the complete workflow of task scheduling, status monitoring, and result collection, with built-in file transfer mechanisms for handling large-scale data uploads and downloads. Developers focus on core algorithm implementation while infrastructure management is fully automated.
🖼️ Visual Interactive Interface: Professional Presentation, Intuitive Operation
Based on the modern React framework, deploy fully-featured web applications with one click. Built-in 3D molecular visualization engine supports multiple structure formats and rendering modes for interactive molecular structure display. Real-time data synchronization ensures instant computing status updates, while multi-session management supports parallel task processing. Integrated with enterprise-grade features including file management, project switching, and permission control. Transform command-line tools into professional visual applications, significantly enhancing user experience and tool usability.
🖼️ Interface Showcase
Scientific Computing Master Console
Visual Interactive Interface
🚀 Quick Start
Installation
bash
pip install bohr-agent-sdk -i https://pypi.org/simple --upgrade
Build Your Research Agent in 3 Steps
Step 1: Get Project Templates
```bash
Get calculation project template
dp-agent fetch scaffolding --type=calculation
Get device control project template
dp-agent fetch scaffolding --type=device
Get configuration file
dp-agent fetch config ```
Step 2: Develop Your Agent
Lab Mode Development Example
```python from typing import Dict, TypedDict from dp.agent.device.device import Device, action, BaseParams, SuccessResult
class TakePictureParams(BaseParams): """Picture taking parameters""" horizontal_width: str # Image horizontal width
class PictureData(TypedDict): """Picture data structure""" image_id: str
class PictureResult(SuccessResult): """Picture taking result""" data: PictureData
class MyDevice(Device): """Custom device class""" devicename = "mydevice"
@action("take_picture")
def take_picture(self, params: TakePictureParams) -> PictureResult:
"""
Execute picture taking action
Through the @action decorator, automatically register this method as an MCP standard service
"""
hw = params.get("horizontal_width", "default")
# Execute actual device control logic
return PictureResult(
message=f"Picture taken with {self.device_name}",
data={"image_id": "image_123"}
)
```
Cloud Mode Development Example
```python """ MCP protocol-based cloud device control example """ import signal import sys from dp.agent.cloud import mcp, getmqttcloudinstance from dp.agent.device.device import TescanDevice, registermcp_tools
def signalhandler(sig, frame): """Graceful shutdown handling""" print("Shutting down...") getmqttcloudinstance().stop() sys.exit(0)
def main(): """Start cloud services""" print("Starting Tescan Device Twin Cloud Services...")
# Register signal handler
signal.signal(signal.SIGINT, signal_handler)
# Create device instance
device = TescanDevice(mcp, device)
# Automatically register device tools to MCP server
# register_mcp_tools implements automatic registration through Python introspection
register_mcp_tools(device)
# Start MCP server
print("Starting MCP server...")
mcp.run(transport="sse")
if name == "main": main() ```
Step 3: Run and Deploy
```bash
Local lab environment
dp-agent run tool device
Cloud computing environment
dp-agent run tool cloud
Scientific calculation mode
dp-agent run tool calculation
Start agent (with Web UI)
dp-agent run agent --config
Debug mode
dp-agent run debug ```
🏗️ Project Structure
After running dp-agent fetch scaffolding, you'll get a standardized project structure:
your-project/
├── lab/ # Lab mode
│ ├── __init__.py
│ └── tescan_device.py # Device control implementation
├── cloud/ # Cloud mode
│ ├── __init__.py
│ └── mcp_server.py # MCP service implementation
├── calculation/ # Calculation mode
│ └── __init__.py
├── .env # Environment configuration
└── main.py # Main program entry
⚙️ Configuration
Configure necessary environment variables in the .env file:
```bash
MQTT connection configuration
MQTTINSTANCEID=yourinstanceid MQTTENDPOINT=yourendpoint MQTTDEVICEID=yourdeviceid MQTTGROUPID=yourgroupid MQTTAK=youraccesskey MQTTSK=yoursecretkey
Computing resource configuration
BOHRIUMUSERNAME=yourusername BOHRIUMPASSWORD=yourpassword ```
Note: The dp-agent fetch config command automatically downloads configuration files and replaces dynamic variables (such as MQTTDEVICEID). For security reasons, this feature is only available in internal network environments.
🎯 Application Scenarios
- Materials Science Computing: Molecular dynamics simulation, first-principles calculations
- Bioinformatics Analysis: Gene sequence analysis, protein structure prediction
- Laboratory Equipment Control: Intelligent control of research equipment such as electron microscopes and X-ray diffractometers
- Data Processing Workflows: Automated data cleaning, analysis, and visualization
- Machine Learning Training: Model training, hyperparameter optimization, result evaluation
🔧 Advanced Features
File Management
```bash
Upload files to cloud
dp-agent artifact upload
Download cloud files
dp-agent artifact download
Task Monitoring
The SDK provides real-time task status monitoring, supporting: - Task queue management - Computing resource scheduling - Automatic result collection - Exception handling and retry mechanisms
📚 Documentation & Support
Owner
- Name: DP Technology
- Login: dptech-corp
- Kind: organization
- Location: China
- Website: https://www.dp.tech/en
- Repositories: 9
- Profile: https://github.com/dptech-corp
GitHub Events
Total
- Watch event: 2
- Push event: 28
- Pull request review event: 1
- Pull request event: 37
- Fork event: 7
- Create event: 9
Last Year
- Watch event: 2
- Push event: 28
- Pull request review event: 1
- Pull request event: 37
- Fork event: 7
- Create event: 9
Committers
Last synced: 7 months ago
Top Committers
| Name | Commits | |
|---|---|---|
| lhapppppy | 1****y@u****m | 87 |
| zjgemi | l****n@1****m | 64 |
| hzt | z****g@g****m | 25 |
| liupeng | l****g@d****h | 16 |
| FingerLiu | l****n@g****m | 9 |
| Devin AI | 1****]@u****m | 5 |
| Tuosheng Jiao | t****o@u****u | 4 |
| DP | dp@D****l | 3 |
| J | 1****o@u****m | 2 |
| YiTian Yang | 7****0@u****m | 2 |
| duanzhifeng | 1****4@q****m | 2 |
| Rasic2 | 1****1@q****m | 1 |
| SchrodingersCattt | g****2@1****m | 1 |
| lhappy | l****y@M****l | 1 |
Committer Domains (Top 20 + Academic)
Issues and Pull Requests
Last synced: 7 months ago
All Time
- Total issues: 1
- Total pull requests: 28
- Average time to close issues: N/A
- Average time to close pull requests: about 5 hours
- Total issue authors: 1
- Total pull request authors: 5
- Average comments per issue: 0.0
- Average comments per pull request: 0.0
- Merged pull requests: 15
- Bot issues: 0
- Bot pull requests: 0
Past Year
- Issues: 1
- Pull requests: 28
- Average time to close issues: N/A
- Average time to close pull requests: about 5 hours
- Issue authors: 1
- Pull request authors: 5
- Average comments per issue: 0.0
- Average comments per pull request: 0.0
- Merged pull requests: 15
- Bot issues: 0
- Bot pull requests: 0
Top Authors
Issue Authors
- lhhhappy (1)
Pull Request Authors
- zjgemi (20)
- lhhhappy (5)
- Lonya0 (1)
- Rasic2 (1)
- SchrodingersCattt (1)
Top Labels
Issue Labels
Pull Request Labels
Packages
- Total packages: 1
-
Total downloads:
- pypi 554 last-month
- Total dependent packages: 0
- Total dependent repositories: 0
- Total versions: 23
- Total maintainers: 1
pypi.org: bohr-agent-sdk
SDK for scientific agents
- Homepage: https://github.com/dptech-corp/bohr-agent-sdk/
- Documentation: https://bohr-agent-sdk.readthedocs.io/
- License: MIT
-
Latest release: 0.1.104
published 6 months ago
Rankings
Maintainers (1)
Dependencies
- click >=8.0.0
- mcp *
- python-dotenv >=1.0.0
- typing-extensions >=4.8.0
- aiohttp >=3.9.1
- click *
- mcp *
- paho-mqtt >=1.6.1
- python-dotenv >=1.0.0
- redis >=5.0.1
- typing-extensions >=4.8.0
- annotated-types 0.7.0
- anyio 4.9.0
- certifi 2025.1.31
- click 8.1.8
- colorama 0.4.6
- exceptiongroup 1.2.2
- h11 0.14.0
- httpcore 1.0.8
- httpx 0.28.1
- httpx-sse 0.4.0
- idna 3.10
- mcp 1.6.0
- pydantic 2.11.3
- pydantic-core 2.33.1
- pydantic-settings 2.8.1
- python-dotenv 1.1.0
- science-agent-sdk *
- sniffio 1.3.1
- sse-starlette 2.2.1
- starlette 0.46.2
- typing-extensions 4.13.2
- typing-inspection 0.4.0
- uvicorn 0.34.1