starwhisper-observability-calc


Namestarwhisper-observability-calc JSON
Version 1.0.3 PyPI version JSON
download
home_pageNone
Summary天文可观测性计算器 - 支持恒星、深空天体和太阳系天体的可观测性计算,提供MCP和Web服务
upload_time2025-07-10 00:14:51
maintainerNone
docs_urlNone
authorNone
requires_python>=3.8
licenseMIT
keywords astronomy observability mcp model-context-protocol astropy simbad starwhisper observatory calculation uvx fastmcp
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # StarWhisper Observatory Calculator

[![PyPI version](https://badge.fury.io/py/starwhisper-observation-calculator.svg)](https://badge.fury.io/py/starwhisper-observation-calculator)
[![Python versions](https://img.shields.io/pypi/pyversions/starwhisper-observation-calculator.svg)](https://pypi.org/project/starwhisper-observation-calculator/)
[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)

一个用于计算天文目标可观测性的Python包,支持恒星、深空天体和太阳系天体。提供MCP(Model Context Protocol)服务接口,可与支持MCP的AI助手集成。

## 🌟 主要特性

- 🔭 **多目标支持**: 恒星、深空天体、太阳系天体
- 📍 **灵活观测站**: 支持自定义观测站位置
- 🌙 **月距约束**: 考虑月球干扰的可观测性分析
- 📊 **高度曲线**: 生成24小时高度变化曲线
- 🌐 **Web API**: 提供RESTful API接口
- 🤖 **MCP服务**: 标准MCP协议,支持AI助手集成
- 📱 **命令行工具**: 简单易用的CLI界面

## 🚀 快速开始

### 安装

```bash
# 基本安装
pip install starwhisper-observation-calculator

# 或使用 uv
uv pip install starwhisper-observation-calculator

# 安装Web服务支持
pip install starwhisper-observation-calculator[web]

# 安装完整功能
pip install starwhisper-observation-calculator[all]
```

### 基本使用

```python
from starwhisper_observation_calculator import ObservabilityCalculator

# 创建计算器(默认兴隆观测站)
calculator = ObservabilityCalculator(
    latitude=40.393333,
    longitude=117.575278,
    altitude=900.0
)

# 计算Vega可观测性
result = calculator.calculate_observability("Vega")
print(result)
```

### 命令行使用

```bash
# 基本使用
observability-calculator Vega

# 指定观测站
observability-calculator moon --latitude 40.393333 --longitude 117.575278

# 自定义约束条件
observability-calculator M31 --min-altitude 20 --min-moon-separation 45
```

## 🤖 MCP服务

本包提供完整的MCP服务,可与支持MCP的AI助手(如Claude Desktop、Cursor等)集成。

### 启动MCP服务

#### 方法一:使用 uvx(推荐,无需安装)

```bash
# 直接运行MCP服务
uvx starwhisper-observation-calculator

# 运行计算器
uvx starwhisper-observation-calculator --calculator Vega

# 启动Web服务
uvx starwhisper-observation-calculator --web --port 8080
```

#### 方法二:本地安装后使用

```bash
# 启动MCP服务
observability-mcp

# 或直接使用python模块
python -m starwhisper_observation_calculator.mcp_server
```

### MCP配置

#### 方法一:使用 uvx(推荐)

```json
{
  "mcpServers": {
    "starwhisper-observation": {
      "command": "uvx",
      "args": ["starwhisper-observation-calculator"],
      "env": {}
    }
  }
}
```

#### 方法二:本地安装后使用

```json
{
  "mcpServers": {
    "starwhisper-observation": {
      "command": "observability-mcp",
      "args": [],
      "env": {}
    }
  }
}
```

### 在AI助手中使用

安装并配置MCP服务后,你可以直接与AI助手对话:

```
用户: 请计算Vega在兴隆观测站的可观测性
AI助手: 我来为您计算Vega在兴隆观测站的可观测性...

[自动调用MCP工具: calculate_observability]
参数: latitude=40.393333, longitude=117.575278, target_name="Vega"

结果: 
🌟 Vega 可观测性分析报告

📍 观测站: 40.393333°, 117.575278°, 900.0m
🌌 坐标: 18:36:56.3363, +38:47:01.280  
📊 当前高度: 45.23°
✅ 可观测性: 可观测
🎯 约束条件: 高度✅ 月距✅
```

## 🌐 Web服务

### 启动Web服务

```bash
# 启动Web服务
observability-web

# 或指定端口
observability-web --port 8080
```

### API接口

- `GET /` - Web界面
- `GET /docs` - API文档
- `POST /observability` - 计算可观测性
- `POST /observability/batch` - 批量计算
- `GET /targets/supported` - 获取支持的目标
- `GET /observatories` - 获取预设观测站

### 使用示例

```bash
# 计算Vega可观测性
curl -X POST "http://localhost:8000/observability" \
  -H "Content-Type: application/json" \
  -d '{
    "latitude": 40.393333,
    "longitude": 117.575278,
    "target_name": "Vega"
  }'
```

## 📊 支持的目标

### 太阳系天体
- sun, moon, mercury, venus, mars, jupiter, saturn, uranus, neptune, pluto

### 恒星
- Vega, Sirius, Polaris, Rigel, Betelgeuse, Altair, Deneb, Arcturus, Spica, Antares

### 深空天体
- M31, M42, M13, M57, M27, M51, M104, M87

## 📍 预设观测站

- **兴隆观测站**: 40.393333°, 117.575278°, 900m
- **新昌观测站**: 29.501784°, 120.905740°, 0m
- **帕洛马天文台**: 33.3563°, -116.8650°, 1712m

## 🔧 高级配置

### 自定义观测站

```python
from starwhisper_observation_calculator import ObservabilityCalculator

calculator = ObservabilityCalculator(
    latitude=your_latitude,
    longitude=your_longitude,
    altitude=your_altitude,
    timezone="Asia/Shanghai"
)
```

### 约束条件

```python
result = calculator.calculate_observability(
    target_name="Vega",
    min_altitude=20.0,        # 最小地平高度
    min_moon_separation=45.0, # 最小月距
    time_range_hours=48       # 检查时间范围
)
```

## 🛠️ 开发

### 安装开发依赖

```bash
# 克隆项目
git clone https://github.com/wangcunshi/StarWhisper-observation-calculator.git
cd StarWhisper-observation-calculator

# 安装开发依赖
pip install -e .[dev]

# 或使用 uv
uv pip install -e .[dev]
```

### 运行测试

```bash
# 测试核心功能
python -c "from starwhisper_observation_calculator import ObservabilityCalculator; print('✅ 导入成功')"

# 测试MCP服务
observability-mcp

# 测试Web服务
observability-web
```

### 代码格式化

```bash
# 格式化代码
black src tests
isort src tests

# 类型检查
mypy src
```

## 📄 许可证

本项目采用 MIT 许可证,详见 [LICENSE](LICENSE) 文件。

## 🤝 贡献

欢迎提交 Issue 和 Pull Request!

1. Fork 项目
2. 创建功能分支 (`git checkout -b feature/amazing-feature`)
3. 提交更改 (`git commit -m 'Add amazing feature'`)
4. 推送到分支 (`git push origin feature/amazing-feature`)
5. 创建 Pull Request

## 📞 支持

- 📧 邮箱: wangcunshi@nao.cas.cn
- 🐛 Issues: [GitHub Issues](https://github.com/wangcunshi/StarWhisper-observation-calculator/issues)
- 📖 文档: [GitHub README](https://github.com/wangcunshi/StarWhisper-observation-calculator#readme)

## 📝 更新日志

### v1.0.0
- 🎉 首次发布
- ✨ 支持恒星、深空天体和太阳系天体
- 🤖 MCP服务支持
- 🌐 Web API接口
- 📱 命令行工具
- 📊 高度曲线生成
- 🌙 月距约束检查

---

⭐ 如果这个项目对你有帮助,请给它一个 Star! 

            

Raw data

            {
    "_id": null,
    "home_page": null,
    "name": "starwhisper-observability-calc",
    "maintainer": null,
    "docs_url": null,
    "requires_python": ">=3.8",
    "maintainer_email": "Cunshi Wang <wangcunshi@nao.cas.cn>",
    "keywords": "astronomy, observability, mcp, model-context-protocol, astropy, simbad, starwhisper, observatory, calculation, uvx, fastmcp",
    "author": null,
    "author_email": "Cunshi Wang <wangcunshi@nao.cas.cn>",
    "download_url": "https://files.pythonhosted.org/packages/de/78/fc85966a03b307ff8b0c4fd4e594da90fb2214231f547e75f71a1624d001/starwhisper_observability_calc-1.0.3.tar.gz",
    "platform": null,
    "description": "# StarWhisper Observatory Calculator\r\n\r\n[![PyPI version](https://badge.fury.io/py/starwhisper-observation-calculator.svg)](https://badge.fury.io/py/starwhisper-observation-calculator)\r\n[![Python versions](https://img.shields.io/pypi/pyversions/starwhisper-observation-calculator.svg)](https://pypi.org/project/starwhisper-observation-calculator/)\r\n[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)\r\n\r\n\u4e00\u4e2a\u7528\u4e8e\u8ba1\u7b97\u5929\u6587\u76ee\u6807\u53ef\u89c2\u6d4b\u6027\u7684Python\u5305\uff0c\u652f\u6301\u6052\u661f\u3001\u6df1\u7a7a\u5929\u4f53\u548c\u592a\u9633\u7cfb\u5929\u4f53\u3002\u63d0\u4f9bMCP\uff08Model Context Protocol\uff09\u670d\u52a1\u63a5\u53e3\uff0c\u53ef\u4e0e\u652f\u6301MCP\u7684AI\u52a9\u624b\u96c6\u6210\u3002\r\n\r\n## \ud83c\udf1f \u4e3b\u8981\u7279\u6027\r\n\r\n- \ud83d\udd2d **\u591a\u76ee\u6807\u652f\u6301**: \u6052\u661f\u3001\u6df1\u7a7a\u5929\u4f53\u3001\u592a\u9633\u7cfb\u5929\u4f53\r\n- \ud83d\udccd **\u7075\u6d3b\u89c2\u6d4b\u7ad9**: \u652f\u6301\u81ea\u5b9a\u4e49\u89c2\u6d4b\u7ad9\u4f4d\u7f6e\r\n- \ud83c\udf19 **\u6708\u8ddd\u7ea6\u675f**: \u8003\u8651\u6708\u7403\u5e72\u6270\u7684\u53ef\u89c2\u6d4b\u6027\u5206\u6790\r\n- \ud83d\udcca **\u9ad8\u5ea6\u66f2\u7ebf**: \u751f\u621024\u5c0f\u65f6\u9ad8\u5ea6\u53d8\u5316\u66f2\u7ebf\r\n- \ud83c\udf10 **Web API**: \u63d0\u4f9bRESTful API\u63a5\u53e3\r\n- \ud83e\udd16 **MCP\u670d\u52a1**: \u6807\u51c6MCP\u534f\u8bae\uff0c\u652f\u6301AI\u52a9\u624b\u96c6\u6210\r\n- \ud83d\udcf1 **\u547d\u4ee4\u884c\u5de5\u5177**: \u7b80\u5355\u6613\u7528\u7684CLI\u754c\u9762\r\n\r\n## \ud83d\ude80 \u5feb\u901f\u5f00\u59cb\r\n\r\n### \u5b89\u88c5\r\n\r\n```bash\r\n# \u57fa\u672c\u5b89\u88c5\r\npip install starwhisper-observation-calculator\r\n\r\n# \u6216\u4f7f\u7528 uv\r\nuv pip install starwhisper-observation-calculator\r\n\r\n# \u5b89\u88c5Web\u670d\u52a1\u652f\u6301\r\npip install starwhisper-observation-calculator[web]\r\n\r\n# \u5b89\u88c5\u5b8c\u6574\u529f\u80fd\r\npip install starwhisper-observation-calculator[all]\r\n```\r\n\r\n### \u57fa\u672c\u4f7f\u7528\r\n\r\n```python\r\nfrom starwhisper_observation_calculator import ObservabilityCalculator\r\n\r\n# \u521b\u5efa\u8ba1\u7b97\u5668\uff08\u9ed8\u8ba4\u5174\u9686\u89c2\u6d4b\u7ad9\uff09\r\ncalculator = ObservabilityCalculator(\r\n    latitude=40.393333,\r\n    longitude=117.575278,\r\n    altitude=900.0\r\n)\r\n\r\n# \u8ba1\u7b97Vega\u53ef\u89c2\u6d4b\u6027\r\nresult = calculator.calculate_observability(\"Vega\")\r\nprint(result)\r\n```\r\n\r\n### \u547d\u4ee4\u884c\u4f7f\u7528\r\n\r\n```bash\r\n# \u57fa\u672c\u4f7f\u7528\r\nobservability-calculator Vega\r\n\r\n# \u6307\u5b9a\u89c2\u6d4b\u7ad9\r\nobservability-calculator moon --latitude 40.393333 --longitude 117.575278\r\n\r\n# \u81ea\u5b9a\u4e49\u7ea6\u675f\u6761\u4ef6\r\nobservability-calculator M31 --min-altitude 20 --min-moon-separation 45\r\n```\r\n\r\n## \ud83e\udd16 MCP\u670d\u52a1\r\n\r\n\u672c\u5305\u63d0\u4f9b\u5b8c\u6574\u7684MCP\u670d\u52a1\uff0c\u53ef\u4e0e\u652f\u6301MCP\u7684AI\u52a9\u624b\uff08\u5982Claude Desktop\u3001Cursor\u7b49\uff09\u96c6\u6210\u3002\r\n\r\n### \u542f\u52a8MCP\u670d\u52a1\r\n\r\n#### \u65b9\u6cd5\u4e00\uff1a\u4f7f\u7528 uvx\uff08\u63a8\u8350\uff0c\u65e0\u9700\u5b89\u88c5\uff09\r\n\r\n```bash\r\n# \u76f4\u63a5\u8fd0\u884cMCP\u670d\u52a1\r\nuvx starwhisper-observation-calculator\r\n\r\n# \u8fd0\u884c\u8ba1\u7b97\u5668\r\nuvx starwhisper-observation-calculator --calculator Vega\r\n\r\n# \u542f\u52a8Web\u670d\u52a1\r\nuvx starwhisper-observation-calculator --web --port 8080\r\n```\r\n\r\n#### \u65b9\u6cd5\u4e8c\uff1a\u672c\u5730\u5b89\u88c5\u540e\u4f7f\u7528\r\n\r\n```bash\r\n# \u542f\u52a8MCP\u670d\u52a1\r\nobservability-mcp\r\n\r\n# \u6216\u76f4\u63a5\u4f7f\u7528python\u6a21\u5757\r\npython -m starwhisper_observation_calculator.mcp_server\r\n```\r\n\r\n### MCP\u914d\u7f6e\r\n\r\n#### \u65b9\u6cd5\u4e00\uff1a\u4f7f\u7528 uvx\uff08\u63a8\u8350\uff09\r\n\r\n```json\r\n{\r\n  \"mcpServers\": {\r\n    \"starwhisper-observation\": {\r\n      \"command\": \"uvx\",\r\n      \"args\": [\"starwhisper-observation-calculator\"],\r\n      \"env\": {}\r\n    }\r\n  }\r\n}\r\n```\r\n\r\n#### \u65b9\u6cd5\u4e8c\uff1a\u672c\u5730\u5b89\u88c5\u540e\u4f7f\u7528\r\n\r\n```json\r\n{\r\n  \"mcpServers\": {\r\n    \"starwhisper-observation\": {\r\n      \"command\": \"observability-mcp\",\r\n      \"args\": [],\r\n      \"env\": {}\r\n    }\r\n  }\r\n}\r\n```\r\n\r\n### \u5728AI\u52a9\u624b\u4e2d\u4f7f\u7528\r\n\r\n\u5b89\u88c5\u5e76\u914d\u7f6eMCP\u670d\u52a1\u540e\uff0c\u4f60\u53ef\u4ee5\u76f4\u63a5\u4e0eAI\u52a9\u624b\u5bf9\u8bdd\uff1a\r\n\r\n```\r\n\u7528\u6237: \u8bf7\u8ba1\u7b97Vega\u5728\u5174\u9686\u89c2\u6d4b\u7ad9\u7684\u53ef\u89c2\u6d4b\u6027\r\nAI\u52a9\u624b: \u6211\u6765\u4e3a\u60a8\u8ba1\u7b97Vega\u5728\u5174\u9686\u89c2\u6d4b\u7ad9\u7684\u53ef\u89c2\u6d4b\u6027...\r\n\r\n[\u81ea\u52a8\u8c03\u7528MCP\u5de5\u5177: calculate_observability]\r\n\u53c2\u6570: latitude=40.393333, longitude=117.575278, target_name=\"Vega\"\r\n\r\n\u7ed3\u679c: \r\n\ud83c\udf1f Vega \u53ef\u89c2\u6d4b\u6027\u5206\u6790\u62a5\u544a\r\n\r\n\ud83d\udccd \u89c2\u6d4b\u7ad9: 40.393333\u00b0, 117.575278\u00b0, 900.0m\r\n\ud83c\udf0c \u5750\u6807: 18:36:56.3363, +38:47:01.280  \r\n\ud83d\udcca \u5f53\u524d\u9ad8\u5ea6: 45.23\u00b0\r\n\u2705 \u53ef\u89c2\u6d4b\u6027: \u53ef\u89c2\u6d4b\r\n\ud83c\udfaf \u7ea6\u675f\u6761\u4ef6: \u9ad8\u5ea6\u2705 \u6708\u8ddd\u2705\r\n```\r\n\r\n## \ud83c\udf10 Web\u670d\u52a1\r\n\r\n### \u542f\u52a8Web\u670d\u52a1\r\n\r\n```bash\r\n# \u542f\u52a8Web\u670d\u52a1\r\nobservability-web\r\n\r\n# \u6216\u6307\u5b9a\u7aef\u53e3\r\nobservability-web --port 8080\r\n```\r\n\r\n### API\u63a5\u53e3\r\n\r\n- `GET /` - Web\u754c\u9762\r\n- `GET /docs` - API\u6587\u6863\r\n- `POST /observability` - \u8ba1\u7b97\u53ef\u89c2\u6d4b\u6027\r\n- `POST /observability/batch` - \u6279\u91cf\u8ba1\u7b97\r\n- `GET /targets/supported` - \u83b7\u53d6\u652f\u6301\u7684\u76ee\u6807\r\n- `GET /observatories` - \u83b7\u53d6\u9884\u8bbe\u89c2\u6d4b\u7ad9\r\n\r\n### \u4f7f\u7528\u793a\u4f8b\r\n\r\n```bash\r\n# \u8ba1\u7b97Vega\u53ef\u89c2\u6d4b\u6027\r\ncurl -X POST \"http://localhost:8000/observability\" \\\r\n  -H \"Content-Type: application/json\" \\\r\n  -d '{\r\n    \"latitude\": 40.393333,\r\n    \"longitude\": 117.575278,\r\n    \"target_name\": \"Vega\"\r\n  }'\r\n```\r\n\r\n## \ud83d\udcca \u652f\u6301\u7684\u76ee\u6807\r\n\r\n### \u592a\u9633\u7cfb\u5929\u4f53\r\n- sun, moon, mercury, venus, mars, jupiter, saturn, uranus, neptune, pluto\r\n\r\n### \u6052\u661f\r\n- Vega, Sirius, Polaris, Rigel, Betelgeuse, Altair, Deneb, Arcturus, Spica, Antares\r\n\r\n### \u6df1\u7a7a\u5929\u4f53\r\n- M31, M42, M13, M57, M27, M51, M104, M87\r\n\r\n## \ud83d\udccd \u9884\u8bbe\u89c2\u6d4b\u7ad9\r\n\r\n- **\u5174\u9686\u89c2\u6d4b\u7ad9**: 40.393333\u00b0, 117.575278\u00b0, 900m\r\n- **\u65b0\u660c\u89c2\u6d4b\u7ad9**: 29.501784\u00b0, 120.905740\u00b0, 0m\r\n- **\u5e15\u6d1b\u9a6c\u5929\u6587\u53f0**: 33.3563\u00b0, -116.8650\u00b0, 1712m\r\n\r\n## \ud83d\udd27 \u9ad8\u7ea7\u914d\u7f6e\r\n\r\n### \u81ea\u5b9a\u4e49\u89c2\u6d4b\u7ad9\r\n\r\n```python\r\nfrom starwhisper_observation_calculator import ObservabilityCalculator\r\n\r\ncalculator = ObservabilityCalculator(\r\n    latitude=your_latitude,\r\n    longitude=your_longitude,\r\n    altitude=your_altitude,\r\n    timezone=\"Asia/Shanghai\"\r\n)\r\n```\r\n\r\n### \u7ea6\u675f\u6761\u4ef6\r\n\r\n```python\r\nresult = calculator.calculate_observability(\r\n    target_name=\"Vega\",\r\n    min_altitude=20.0,        # \u6700\u5c0f\u5730\u5e73\u9ad8\u5ea6\r\n    min_moon_separation=45.0, # \u6700\u5c0f\u6708\u8ddd\r\n    time_range_hours=48       # \u68c0\u67e5\u65f6\u95f4\u8303\u56f4\r\n)\r\n```\r\n\r\n## \ud83d\udee0\ufe0f \u5f00\u53d1\r\n\r\n### \u5b89\u88c5\u5f00\u53d1\u4f9d\u8d56\r\n\r\n```bash\r\n# \u514b\u9686\u9879\u76ee\r\ngit clone https://github.com/wangcunshi/StarWhisper-observation-calculator.git\r\ncd StarWhisper-observation-calculator\r\n\r\n# \u5b89\u88c5\u5f00\u53d1\u4f9d\u8d56\r\npip install -e .[dev]\r\n\r\n# \u6216\u4f7f\u7528 uv\r\nuv pip install -e .[dev]\r\n```\r\n\r\n### \u8fd0\u884c\u6d4b\u8bd5\r\n\r\n```bash\r\n# \u6d4b\u8bd5\u6838\u5fc3\u529f\u80fd\r\npython -c \"from starwhisper_observation_calculator import ObservabilityCalculator; print('\u2705 \u5bfc\u5165\u6210\u529f')\"\r\n\r\n# \u6d4b\u8bd5MCP\u670d\u52a1\r\nobservability-mcp\r\n\r\n# \u6d4b\u8bd5Web\u670d\u52a1\r\nobservability-web\r\n```\r\n\r\n### \u4ee3\u7801\u683c\u5f0f\u5316\r\n\r\n```bash\r\n# \u683c\u5f0f\u5316\u4ee3\u7801\r\nblack src tests\r\nisort src tests\r\n\r\n# \u7c7b\u578b\u68c0\u67e5\r\nmypy src\r\n```\r\n\r\n## \ud83d\udcc4 \u8bb8\u53ef\u8bc1\r\n\r\n\u672c\u9879\u76ee\u91c7\u7528 MIT \u8bb8\u53ef\u8bc1\uff0c\u8be6\u89c1 [LICENSE](LICENSE) \u6587\u4ef6\u3002\r\n\r\n## \ud83e\udd1d \u8d21\u732e\r\n\r\n\u6b22\u8fce\u63d0\u4ea4 Issue \u548c Pull Request\uff01\r\n\r\n1. Fork \u9879\u76ee\r\n2. \u521b\u5efa\u529f\u80fd\u5206\u652f (`git checkout -b feature/amazing-feature`)\r\n3. \u63d0\u4ea4\u66f4\u6539 (`git commit -m 'Add amazing feature'`)\r\n4. \u63a8\u9001\u5230\u5206\u652f (`git push origin feature/amazing-feature`)\r\n5. \u521b\u5efa Pull Request\r\n\r\n## \ud83d\udcde \u652f\u6301\r\n\r\n- \ud83d\udce7 \u90ae\u7bb1: wangcunshi@nao.cas.cn\r\n- \ud83d\udc1b Issues: [GitHub Issues](https://github.com/wangcunshi/StarWhisper-observation-calculator/issues)\r\n- \ud83d\udcd6 \u6587\u6863: [GitHub README](https://github.com/wangcunshi/StarWhisper-observation-calculator#readme)\r\n\r\n## \ud83d\udcdd \u66f4\u65b0\u65e5\u5fd7\r\n\r\n### v1.0.0\r\n- \ud83c\udf89 \u9996\u6b21\u53d1\u5e03\r\n- \u2728 \u652f\u6301\u6052\u661f\u3001\u6df1\u7a7a\u5929\u4f53\u548c\u592a\u9633\u7cfb\u5929\u4f53\r\n- \ud83e\udd16 MCP\u670d\u52a1\u652f\u6301\r\n- \ud83c\udf10 Web API\u63a5\u53e3\r\n- \ud83d\udcf1 \u547d\u4ee4\u884c\u5de5\u5177\r\n- \ud83d\udcca \u9ad8\u5ea6\u66f2\u7ebf\u751f\u6210\r\n- \ud83c\udf19 \u6708\u8ddd\u7ea6\u675f\u68c0\u67e5\r\n\r\n---\r\n\r\n\u2b50 \u5982\u679c\u8fd9\u4e2a\u9879\u76ee\u5bf9\u4f60\u6709\u5e2e\u52a9\uff0c\u8bf7\u7ed9\u5b83\u4e00\u4e2a Star\uff01 \r\n",
    "bugtrack_url": null,
    "license": "MIT",
    "summary": "\u5929\u6587\u53ef\u89c2\u6d4b\u6027\u8ba1\u7b97\u5668 - \u652f\u6301\u6052\u661f\u3001\u6df1\u7a7a\u5929\u4f53\u548c\u592a\u9633\u7cfb\u5929\u4f53\u7684\u53ef\u89c2\u6d4b\u6027\u8ba1\u7b97\uff0c\u63d0\u4f9bMCP\u548cWeb\u670d\u52a1",
    "version": "1.0.3",
    "project_urls": {
        "Changelog": "https://github.com/wangcunshi/StarWhisper-observation-calculator/blob/main/CHANGELOG.md",
        "Documentation": "https://github.com/wangcunshi/StarWhisper-observation-calculator#readme",
        "Download": "https://pypi.org/project/starwhisper-observability-calc/",
        "Homepage": "https://github.com/wangcunshi/StarWhisper-observation-calculator",
        "Issues": "https://github.com/wangcunshi/StarWhisper-observation-calculator/issues",
        "Repository": "https://github.com/wangcunshi/StarWhisper-observation-calculator"
    },
    "split_keywords": [
        "astronomy",
        " observability",
        " mcp",
        " model-context-protocol",
        " astropy",
        " simbad",
        " starwhisper",
        " observatory",
        " calculation",
        " uvx",
        " fastmcp"
    ],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "f9ba57a3365bddb18cd973a0d4d21cdf1654aaf99a2cedfed0d7f0b7734b7a88",
                "md5": "98614c77afe59b76b5a4e3499026ec6d",
                "sha256": "88df5afb94a397cef3ab645847eccbe7f73153f313855f398f94f6781fb58000"
            },
            "downloads": -1,
            "filename": "starwhisper_observability_calc-1.0.3-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "98614c77afe59b76b5a4e3499026ec6d",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.8",
            "size": 20772,
            "upload_time": "2025-07-10T00:14:48",
            "upload_time_iso_8601": "2025-07-10T00:14:48.526599Z",
            "url": "https://files.pythonhosted.org/packages/f9/ba/57a3365bddb18cd973a0d4d21cdf1654aaf99a2cedfed0d7f0b7734b7a88/starwhisper_observability_calc-1.0.3-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "de78fc85966a03b307ff8b0c4fd4e594da90fb2214231f547e75f71a1624d001",
                "md5": "695cafdda16d7f2fac5cafc54bbe7b6f",
                "sha256": "73f93442a0f9817e2049bf39f5ce61ada3be59fb1b53df155ff8bdd21d433dd6"
            },
            "downloads": -1,
            "filename": "starwhisper_observability_calc-1.0.3.tar.gz",
            "has_sig": false,
            "md5_digest": "695cafdda16d7f2fac5cafc54bbe7b6f",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.8",
            "size": 1043121,
            "upload_time": "2025-07-10T00:14:51",
            "upload_time_iso_8601": "2025-07-10T00:14:51.216362Z",
            "url": "https://files.pythonhosted.org/packages/de/78/fc85966a03b307ff8b0c4fd4e594da90fb2214231f547e75f71a1624d001/starwhisper_observability_calc-1.0.3.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2025-07-10 00:14:51",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "wangcunshi",
    "github_project": "StarWhisper-observation-calculator",
    "github_not_found": true,
    "lcname": "starwhisper-observability-calc"
}
        
Elapsed time: 0.42414s