Skip to main content

A cryptocurrency trading info package

Project description

Crypto Service

一个基于 Python 的加密货币数据处理工具包,专注于数据获取、处理和分析。

功能特点

  • 支持币安的现货和永续合约数据获取
  • 高效的数据缓存和存储机制
  • 完整的类型提示和错误处理
  • 支持自定义数据格式和存储方式
  • 持续集成和自动发布

安装

pip install cryptoservice

快速开始

  1. 设置环境变量:
# 在 .env 文件中设置
BINANCE_API_KEY=your_api_key
BINANCE_API_SECRET=your_api_secret
  1. 基本使用:
from dotenv import load_dotenv
import os
from cryptoservice import MarketDataService
from cryptoservice.models import SortBy, Freq, HistoricalKlinesType

# 加载环境变量
load_dotenv()
api_key = os.getenv("BINANCE_API_KEY")
api_secret = os.getenv("BINANCE_API_SECRET")

# 创建服务实例
service = MarketDataService(api_key, api_secret)

# 获取单个交易对的行情数据
ticker = service.get_symbol_ticker("BTCUSDT")

# 获取排名靠前的币种数据
top_coins = service.get_top_coins(
    limit=10,
    sort_by=SortBy.QUOTE_VOLUME,
    quote_asset="USDT"
)

# 获取市场概况
summary = service.get_market_summary(interval=Freq.d1)

# 获取历史K线数据
klines = service.get_historical_klines(
    symbol="BTCUSDT",
    start_time="20240101",
    end_time="20240102",
    interval=Freq.h1,
    klines_type=HistoricalKlinesType.SPOT
)

# 获取永续合约数据
perpetual_data = service.get_perpetual_data(
    symbols=["BTCUSDT", "ETHUSDT"],
    start_time="20240101",
    end_time="20240102",
    freq=Freq.h1,
    store=True,  # 是否存储数据
    market="SWAP",
    features=["cls", "hgh", "low", "opn", "vwap", "vol"]
)

开发环境设置

  1. 克隆仓库:
git clone https://github.com/Mrzai/cryptoservice.git
cd cryptoservice
  1. 安装所有开发依赖:
pip install -e ".[dev-all]"  # 安装所有开发依赖
  1. 安装 pre-commit hooks:
pre-commit install

贡献指南

  1. Fork 项目
  2. 创建功能分支:git checkout -b feature/new-feature
  3. 提交更改:git commit -m 'feat: add new feature'
  4. 推送分支:git push origin feature/new-feature
  5. 提交 Pull Request

提交信息必须遵循 Conventional Commits 规范:

  • feat: 新功能
  • fix: 修复问题
  • docs: 文档更新
  • style: 代码格式调整
  • refactor: 代码重构
  • perf: 性能优化
  • test: 测试相关
  • chore: 构建过程或辅助工具的变动

许可证

MIT License

联系方式

提交规范

提交信息必须遵循以下格式:

<type>(<scope>): <subject>

<body>

<footer>

例如:

# 新功能
feat(market): add historical data support

Added support for fetching historical market data
with customizable time ranges and intervals.

# 修复bug
fix(cache): resolve memory leak issue

Fixed memory leak in cache manager when handling
large datasets.

# 文档更新
docs(readme): update installation guide

Updated installation instructions to include
new development dependencies.

提交类型必须是以下之一:

  • feat: 新功能
  • fix: 修复问题
  • docs: 文档更新
  • style: 代码格式调整
  • refactor: 代码重构
  • perf: 性能优化
  • test: 测试相关
  • chore: 构建过程或辅助工具
  • revert: 回退
  • ci: CI/CD相关
  • build: 构建系统

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

cryptoservice-0.2.2.tar.gz (3.5 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

cryptoservice-0.2.2-py3-none-any.whl (3.1 kB view details)

Uploaded Python 3

File details

Details for the file cryptoservice-0.2.2.tar.gz.

File metadata

  • Download URL: cryptoservice-0.2.2.tar.gz
  • Upload date:
  • Size: 3.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.0.1 CPython/3.10.15

File hashes

Hashes for cryptoservice-0.2.2.tar.gz
Algorithm Hash digest
SHA256 20ee11e9b2b695f85bfe026674f17b65b8a864bc7f519baa9b2dd5b1e9667316
MD5 7d7a14e3cc6c409592b8300bb17b02e6
BLAKE2b-256 4f91e33f6c70fb6418642f79f2224f44e066976623a8318c517826e79148dcac

See more details on using hashes here.

File details

Details for the file cryptoservice-0.2.2-py3-none-any.whl.

File metadata

  • Download URL: cryptoservice-0.2.2-py3-none-any.whl
  • Upload date:
  • Size: 3.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.0.1 CPython/3.10.15

File hashes

Hashes for cryptoservice-0.2.2-py3-none-any.whl
Algorithm Hash digest
SHA256 0c2d383a4b6fbb626af5fa91f4a84b9095ae4d791962b28393c94c63639c5f6f
MD5 be3f319365719f036d5df9a4f4e77cd8
BLAKE2b-256 51598e137163deb9d84a0412767ec07bdbcc95885ec013c97af39e1ebe5e6228

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page