Skip to main content

btc-cycles

Bitcoin price analysis across halving cycles.

PyPI Python Tests Update chart Codecov Ruff License: MIT


This chart is updated daily at 5:00 UTC.

Interactive chart | Static chart

Bitcoin


Fetch Bitcoin price data, enrich it with halving cycle metrics (ATH, cycle progress, cycle lows), and render a polar chart. Cycles are computed using past halving dates and the predicted next halving from watcher.guru.

from btc_cycles import Bitcoin

btc = Bitcoin()  # defaults to source="coinmarketcap-free", no API key needed

# static chart (matplotlib)
fig = btc.plot(from_date="2012-11-28")
fig.savefig("bitcoin.png")

# interactive chart (plotly)
fig = btc.plot(kind="interactive", from_date="2012-11-28")
fig.write_html("bitcoin.html")

Installation

pip install btc-cycles

Data Sources

Source API Key Status
coinmarketcap-free (cryptoCMD) None Default, data from 2013-04-28
cryptocompare Paid (free tier discontinued) Supported
coinmarketcap Paid Not implemented

Documentation

See the notebook for a full working example.

License

MIT

Metadata

Release files for btc-cycles 0.5.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for btc-cycles 0.5.0
File Size Uploaded
btc_cycles-0.5.0.tar.gz 1.6 MB Details

Built distribution (wheel)

Table of built distributions (wheels) for btc-cycles 0.5.0
File Interpreter ABI Platform
btc_cycles-0.5.0-py3-none-any.whl Python 3 none any Details

Total release size: 1.6 MB

Release files / btc_cycles-0.5.0.tar.gz

Download URL btc_cycles-0.5.0.tar.gz
Size 1.6 MB
Tags Source
SHA-256 checksum
How to use checksums
8b4e9cb4af748654d3a8157a2abe420348c2444fe0a35c19f170071198820236
BLAKE2b-256 checksum
How to use checksums
1f679b758b1d620eead736189d9224f04c93de22937aa08687861e05728a08a3
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 11, 2026.

Transparency log

Release files / btc_cycles-0.5.0-py3-none-any.whl

Download URL btc_cycles-0.5.0-py3-none-any.whl
Size 23.1 kB
Tags Python 3
SHA-256 checksum
How to use checksums
255f76cbd90f476bc8b85456024a1b716b32199d036d3fe26f7fb14201b1d0f0
BLAKE2b-256 checksum
How to use checksums
6d6c4b1ead67c466ce7afd25b2108b79f3e03759f0272bca906cfbc82642987a
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 11, 2026.

Transparency log

Release history Release notifications | RSS feed

This release

0.5.0 This release

2 release files

0.4.1

2 release files

0.3.5

2 release files

0.3.4

2 release files

0.3.3

2 release files

0.3.2

2 release files

0.3.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page