A cryptocurrency trading info package
Project description
CryptoService
一个高性能的Python加密货币数据处理包,专注于币安市场数据的获取、存储和分析。
✨ 核心功能
- 🚀 高性能异步:全面支持async/await,高效处理大量数据
- 📊 全面数据覆盖:现货、永续合约、历史K线、实时WebSocket
- 💾 智能存储:SQLite数据库 + 文件导出,支持增量更新
- 🔧 开箱即用:完整的类型提示、错误处理和重试机制
- 📈 数据处理:内置数据转换、验证和分析工具
📦 安装
pip install cryptoservice
🚀 快速开始
1. 环境配置
# .env 文件
BINANCE_API_KEY=your_api_key
BINANCE_API_SECRET=your_api_secret
2. 基本使用
import asyncio
from cryptoservice import MarketDataService
async def main():
# 创建服务实例
service = MarketDataService()
# 获取实时行情
ticker = await service.get_ticker("BTCUSDT")
print(f"BTC价格: {ticker.price}")
# 下载历史数据
await service.download_klines("BTCUSDT", "1d", "2024-01-01", "2024-12-31")
asyncio.run(main())
🛠️ 开发环境
# 克隆项目
git clone https://github.com/ppmina/xdata.git
cd xdata
# 安装uv(推荐)
./scripts/setup_uv.sh # macOS/Linux
# 或 .\scripts\setup_uv.ps1 # Windows
# 安装依赖
uv pip install -e ".[dev-all]"
# 激活环境
source .venv/bin/activate
常用命令
pytest # 运行测试
ruff format # 格式化代码
ruff check --fix # 检查并修复
mypy src/cryptoservice # 类型检查
mkdocs serve # 本地文档
🚢 发布流程(main release)
个人维护时推荐手动准备版本,并由 GitHub Actions 负责最终构建/发布:
- 确保工作区干净并切到
main分支。 - 运行
python3 scripts/prepare_release.py 1.12.0 --auto --push(替换为目标版本),脚本会从main检出新分支release/v1.12.0,同步更新版本号,生成最新的CHANGELOG.md段落,执行pytest,提交chore: release v1.12.0、创建v1.12.0标签,并将分支和标签推送到远端。若只想本地检查,可省略--push;如无需运行测试可加--skip-tests;也可通过--base/--release-branch定制分支名称。 Release工作流会在标签推送后自动运行测试、构建以及(若配置了PYPI_API_TOKEN)上传到 PyPI;也可以在 GitHub Actions 中手动触发该工作流只做验证。
若只想更新版本号,可使用
--skip-changelog跳过自动生成的变更记录;(#123)的提交引用会自动转为 GitHub PR 链接。
📚 文档
完整文档:https://ppmina.github.io/Xdata/
🤝 贡献
- Fork项目并创建分支:
git checkout -b feature/your-feature - 遵循Conventional Commits规范
- 提交Pull Request
提交类型:feat | fix | docs | style | refactor | perf | test | chore
📄 许可证
MIT License
📞 联系
- Issues: GitHub Issues
- Email: minzzzai.s@gmail.com
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file cryptoservice-1.15.0.tar.gz.
File metadata
- Download URL: cryptoservice-1.15.0.tar.gz
- Upload date:
- Size: 259.7 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.11.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
04d8312215549694dd3effcff53ee905502ad0a382cc0d6e29addab7e10fabfb
|
|
| MD5 |
7fe92a027f97e1c06f9cb297909a07e6
|
|
| BLAKE2b-256 |
05b232f8392ad4c245a8d66616bb17a214440893819aceb8bf00637f27257259
|
File details
Details for the file cryptoservice-1.15.0-py3-none-any.whl.
File metadata
- Download URL: cryptoservice-1.15.0-py3-none-any.whl
- Upload date:
- Size: 130.1 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.11.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
ed119df737fb84bd70cf12672c7fccc2bdbd2430182cb76bc0424f9636a279e0
|
|
| MD5 |
9c2831e2e43d917e33da344dd2529fbb
|
|
| BLAKE2b-256 |
ab9511b4c76dbadbd992707a324eab349a76827a327dda519e12f1d4397f97b8
|