Skip to main content

ccharts

Financial OHLC data in, a string out. Line and candlestick charts drawn with Unicode block characters and returned as text — so the chart goes wherever text goes: a terminal, a log line, a chat message, an HTML <pre>, a commit comment, a .txt file, a printf.

  328.00████████████
                   █
                   █           █████████████▁▁▁▁▁▁▁▁▁▁▁▁
                   █████████████                       █
                                                       █
  301.00                                               █▁▁▁▁▁▁▁▁▁▁▁▁
2026-07-20                                                2026-07-24

Color is optional: by default rising and falling segments carry ANSI escapes, and plain renders with none at all, for the destinations where escapes would only be noise.

There is no canvas, no image, no renderer to drive and nothing to draw into — one call returns a string, and what you do with it is your business.

Written as a single-header C library with a flat C ABI and bindings for Python, Rust, Go, JavaScript, C# and Java. Every one of them produces byte-identical output.

Licensed under the MIT License.

PyPI version License crates.io npm NuGet

Installation

pip install ccharts

For pandas DataFrame support (optional — the package itself has no runtime dependencies):

pip install ccharts[pandas]

Pre-built wheels for Linux (x86_64 and aarch64), macOS (x86_64 and arm64) and Windows (x86_64), built on GitHub Actions CI for CPython 3.9-3.14, are published together with each release — no C toolchain is needed on the target machine. Install the sdist instead and a C compiler (gcc/Clang on Linux/macOS, MSVC on Windows) is required, because the package wraps the C single-header library ccharts.h.

Features

  • Strings, not output — every entry point returns a string. Nothing is printed, no stream is written to, no terminal is detected or resized around.
  • Plain or coloredplain yields text with no ANSI escapes at all; otherwise colors are escape strings you choose, including 256-color and truecolor.
  • Line charts — smooth curves using 8-level vertical resolution (▁▂▃▄▅▆▇█), per-segment coloring, optional area fill under the line.
  • Candlestick charts — solid bodies between open/close, thin vertical wicks () between high/low, gap-separated candles, automatic downsampling when there are more candles than columns.
  • Axis labels — optional max/min price margin and first/last timestamp footer. The timestamp format is picked automatically from the candle interval (YYYY-MM-DD for daily+, HH:MM for intraday).
  • Timestamps — optional per-candle epoch timestamps, parsed from ISO8601 or a plain number.
  • Parsers — CSV (cc_str_to_ohlc) and a fixed-schema JSON parser (cc_json_to_ohlc).
  • pandas / columnar input (Python) — Chart.from_dataframe(df) and Chart.from_arrays(...) copy price columns straight into the C array, with no JSON round-trip. pandas is optional.

C usage

#define CCHARTS_IMPLEMENTATION
#include "ccharts.h"

int main(void) {
    const char* json = ...;                 // [{ts,open,high,low,close}, ...]
    cc_ohlc_t* ohlc = NULL;
    int size = 0;
    cc_json_to_ohlc(json, &ohlc, &size);

    cc_settings_t s = { .rise_color = CC_COLOR_BLUE,
                        .show_prices = 1, .show_times = 1 };
    char* chart = cc_line_create(ohlc, size, 60, 8, &s);
    printf("%s\n", chart);

    free(chart);
    free(ohlc);
    return 0;
}

cc_line_create hands back a char* you own: print it, log it, embed it, free() it. Compile with -lm (math lib). CCHARTS_IMPLEMENTATION must be defined in exactly one translation unit; every other unit can include the header as-is. C++ code can use the header for declarations (see the doc comment in ccharts.h for details).

Run the demo with make test — it compiles main.c and runs the binary, rendering prices.txt as a line chart and two candlestick variants.

Python usage

make test-py        # builds the extension and runs the test suite
from ccharts import Chart

chart = Chart(open("prices.txt").read())
print(chart.line(width=60, height=8, show_prices=True, show_times=True))
print(chart.candle(width=60, height=8))

Pie and donut charts take slices (label + positive amount) directly — no OHLC data needed:

print(Chart.pie(["Alpha", "Beta", "Gamma"], [40, 30, 30], show_pct=True))
print(Chart.pie(["Alpha", "Beta", "Gamma"], [40, 30, 30], donut=True))

Chart.pie is a static method; donut=True hollows the center, colors can override the fixed deterministic palette with per-slice ANSI escapes, and any slice value <= 0 (including NaN) makes the whole render return the empty string. Non-finite values raise ValueError.

DataFrames and raw columns

A DataFrame does not have to be serialized to JSON first — the price columns are handed to C directly:

import yfinance as yf
from ccharts import Chart

df = yf.download("THYAO.IS", period="3mo")     # Open/High/Low/Close columns
print(Chart.from_dataframe(df).candle(width=80, height=12, show_times=True))
  • Columns are matched case-insensitively (Open/open/OPEN); pass ohlc=("o", "h", "l", "c") for anything else.
  • Timestamps come from a DatetimeIndex, or from ts="column". Timezone-aware values are converted to UTC, naive ones are treated as UTC.
  • Rows with NaN/inf in an OHLC column are dropped (indicator frames have NaN warm-up rows); dropna=False raises instead.
  • Row order is used as-is — a descending frame renders right to left.

The same path works without pandas, for lists, numpy arrays or array.array:

Chart.from_arrays(opens, highs, lows, closes, ts=epoch_seconds)

To develop locally (builds the extension in place):

python3 -m pip install -e .      # or: make test-py

Building a wheel by hand also works and is a good local smoke test:

python3 -m pip wheel . --no-deps -w /tmp/ccharts_wheel

C ABI and other languages

ccharts.h exports nothing — CC_INLINE makes every function static inline, and struct cc_ohlc is private to the implementation block — so there is nothing for a foreign function interface to bind to. abi/ccharts_abi.h provides that layer: a flat, extern "C", opaque-handle API with explicit status codes, built as a shared or static library.

cmake -S . -B build && cmake --build build
ctest --test-dir build --output-on-failure
#include "ccharts_abi.h"

ccharts_data* data = NULL;
ccharts_from_arrays(open, high, low, close, ts, n, &data);

ccharts_settings s = {0};
s.rise_color = ccharts_color(CCHARTS_COLOR_BLUE);
s.show_prices = 1;

char* chart = NULL;
size_t len = 0;
if (ccharts_line(data, 60, 8, &s, &chart, &len) == CCHARTS_OK) {
    printf("%s", chart);
    ccharts_string_free(chart);
}
ccharts_data_free(data);

Pies need no dataset — slices go straight to the renderer:

ccharts_pie_slice slices[] = {{"Alpha", 40}, {"Beta", 30}, {"Gamma", 30}};
char* pie = NULL;
size_t pie_len = 0;
if (ccharts_pie_from_slices(slices, 3, 24, 10, 0 /*donut*/, NULL, 0,
                            1 /*legend*/, 1 /*pct*/, &pie, &pie_len)
    == CCHARTS_OK) {
    printf("%s", pie);
    ccharts_string_free(pie);
}

Differences from the raw header, all in the direction of being bindable: invalid dimensions return CCHARTS_ERR_DIMENSIONS instead of an empty string, NaN and inf are rejected up front, and ccharts_parse_csv counts the rows it can parse so a dataset never carries trailing zero-filled candles.

conformance/cases.json plus conformance/golden/*.txt are the cross-language contract: 25 cases covering both OHLC chart types, downsampling, labels, timezones, flat ranges and single-candle input, plus the pie cases (disk, donut, custom palette, all-zero, single slice). The goldens are generated from the ABI (scripts/gen_golden.py) and every binding — the Python one included, see tests/test_conformance.py — must reproduce them byte for byte.

Language bindings

Language Location Published as
Python ccharts/ ccharts on PyPI
Rust bindings/rust/ ccharts on crates.io
Go bindings/go/ served from the repository (no registry)
JavaScript (WASM) bindings/js/ @dethrandir/ccharts on npm
C# (.NET 8) bindings/dotnet/ Ccharts on NuGet
Java (JDK 22+) bindings/java/ io.github.dethrandir:ccharts on Maven Central

Rust and Go compile the vendored C sources with their own toolchains (the cc crate and cgo), so neither needs a prebuilt library:

let chart = Chart::from_arrays(&open, &high, &low, &close, Some(&ts))?;
println!("{}", chart.line(60, 8, &Settings::new().rise(Color::Blue))?);
chart, _ := ccharts.FromArrays(open, high, low, close, ts)
defer chart.Close()
out, _ := chart.Candle(60, 8, &ccharts.Options{ShowPrices: true})

The JavaScript package is the library compiled to WebAssembly, with the module embedded in the JavaScript — one dependency-free package for Node, Deno, Bun and browsers alike, no prebuilt binaries and no bundler configuration:

import { Chart, Color } from "@dethrandir/ccharts";
const chart = Chart.fromArrays(open, high, low, close, ts);
console.log(chart.candle({ width: 60, height: 8, showPrices: true }));
chart.free();

C# uses source-generated P/Invoke and Java the Foreign Function & Memory API (no JNI code at all). Both link the shared library rather than compiling the C, so both ship prebuilt natives — runtimes/{rid}/native/ in the NuGet package, native/{os}-{arch}/ in the jar:

using var chart = Chart.FromArrays(open, high, low, close, ts);
Console.Write(chart.Line(new ChartOptions { RiseColor = Color.Blue, ShowPrices = true }));
try (Chart chart = Chart.fromArrays(open, high, low, close, ts)) {
    System.out.print(chart.line(ChartOptions.builder().rise(Color.BLUE).build()));
}

Each binding vendors its own copy of ccharts.h and the ABI — Go needs cgo sources inside the package directory and cargo package only ships crate-local files — so scripts/sync_sources.py refreshes them and CI fails if a copy drifts.

Settings

Field Meaning Default
rise_color color for rising values / candles green
fall_color color for falling values / candles red
bg_color background of empty cells none
area_color fill below the line chart none
single_color 1 = one line color; 0 = per-segment colors 0
show_prices print max/min price labels 0
show_times print first/last timestamp footer 0

Setting a color to the empty string (rather than leaving it unset) makes that element carry no escape sequence at all — no color, and no reset either. Set all four and the chart comes out as plain text. The bindings expose that as a single plain option:

chart.line(width=60, height=8, plain=True)   # not one escape byte

Any unset field falls back to its default, so only the fields you want to override need to be set (see cc_settings_resolve).

Input constraints

  • Timestamps — ISO8601 strings may carry a UTC offset (+03:00, +0300, +03, Z; a missing offset is treated as UTC). The offset is applied, so the stored epoch is the true instant: 2026-07-20T00:00:00+03:00 becomes 2026-07-19T21:00:00 UTC. Plain epoch-seconds numbers (including negative) are accepted as-is. Malformed timestamps parse to 0.
  • Dimensionswidth/height must be positive and are capped at CC_MAX_DIM (100000) per side and CC_MAX_CELLS (1000000) total cells. Invalid dimensions make the C chart functions return an empty string and make the Python bindings raise ValueError — no unchecked giant allocation, no stack overflow.
  • CSV — lines may be arbitrarily long and at most size lines are read.
  • JSON — must be an array of objects with ts, open, high, low, close (plus optional ignored fields like volume). The parser is an iterative mini-scanner: keys are matched exactly, so a substring like "open" inside a string value can never cause a false match. Malformed or empty documents make the parsers fail cleanly.

Windows / MSVC

The header is VLA-free and uses only portable C89 constructs, so it compiles with MSVC out of the box: gmtime_r is swapped for gmtime_s on _WIN32 and all functions get internal linkage (static) through the CC_INLINE macro, sidestepping MSVC's lack of C11 inline semantics. No extra flags or libraries are required beyond the standard ones.

Releases

Maintainers and their agents: the RELEASING.md playbook is authoritative for bumping, secret management and publishing — it records the empirically-earned details and every failure survivor of the multi-registry release. Read it before bumping the version.

One tag releases everything. Pushing v<version> (e.g. v0.2.0) runs .github/workflows/publish.yml, which first refuses the build unless the tag and every manifest agree on the version (scripts/check_versions.py), then publishes each package. Each registry's credential (API token, username, GPG key) is expected as a GitHub repository secret and is documented in the workflow, not here:

Registry Package
PyPI ccharts (sdist + cibuildwheel wheels)
crates.io ccharts
npm @dethrandir/ccharts (published with provenance)
NuGet Ccharts
Maven Central io.github.dethrandir:ccharts

The Go module has no registry — it is served from the repository — but a module in a subdirectory needs a tag carrying that prefix, so the workflow also pushes bindings/go/v<version>.

The C# and Java packages are the only ones carrying binaries: .github/workflows/natives.yml builds the shared library for linux-x64, osx-arm64 and win-x64, and scripts/pack_natives.py arranges them into runtimes/{rid}/native/ for NuGet and native/{os}-{arch}/ for the jar. Both publish jobs then verify the packed artifact actually contains every platform before it leaves the runner — a package that quietly lost its natives would install fine and fail on the first call. (Linux aarch64 is not built, for the same reason the Python wheels skip it: QEMU emulation on GitHub-hosted runners is far too slow. It can be added once native ARM runners are available.)

workflow_dispatch runs every build job without uploading anything, so a release can be rehearsed in full.

Two notes on publishing: PyPI could drop its API token entirely by moving to trusted publishing — link the pypi GitHub environment and delete the password input. Maven Central requires a verified io.github.dethrandir namespace on the Central Portal and a published GPG key before the first deploy will be accepted.

Repository layout

  • ccharts.h — the whole C library (single header, heavily documented).
  • main.c — C demo using prices.txt.
  • prices.txt — sample JSON OHLC data (THYAO).
  • abi/ — flat C ABI (ccharts_abi.h/.c) for non-Python bindings.
  • bindings/ — language bindings built on that ABI (rust/, go/, js/, dotnet/, java/).
  • conformance/ — cross-language case list, goldens and a C smoke test.
  • scripts/ — golden generation, vendored-source sync, version consistency.
  • ccharts/ — Python package: __init__.py (high-level Chart), wrapper.c (CPython extension ccharts._core) and _pandas.py (optional DataFrame conversion, imported lazily).
  • tests/ — Python test suite (test_python_api.py, plus test_pandas_api.py which skips when pandas is not installed).

Download files

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

Source Distribution

ccharts-0.2.2.tar.gz (54.6 kB view details)

Uploaded Source

Built Distributions

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

ccharts-0.2.2-cp314-cp314-win_amd64.whl (41.0 kB view details)

Uploaded CPython 3.14Windows x86-64

ccharts-0.2.2-cp314-cp314-musllinux_1_2_x86_64.whl (87.7 kB view details)

Uploaded CPython 3.14musllinux: musl 1.2+ x86-64

ccharts-0.2.2-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl (89.0 kB view details)

Uploaded CPython 3.14manylinux: glibc 2.17+ x86-64manylinux: glibc 2.28+ x86-64

ccharts-0.2.2-cp314-cp314-macosx_11_0_arm64.whl (36.7 kB view details)

Uploaded CPython 3.14macOS 11.0+ ARM64

ccharts-0.2.2-cp314-cp314-macosx_10_15_x86_64.whl (37.9 kB view details)

Uploaded CPython 3.14macOS 10.15+ x86-64

ccharts-0.2.2-cp313-cp313-win_amd64.whl (40.2 kB view details)

Uploaded CPython 3.13Windows x86-64

ccharts-0.2.2-cp313-cp313-musllinux_1_2_x86_64.whl (87.6 kB view details)

Uploaded CPython 3.13musllinux: musl 1.2+ x86-64

ccharts-0.2.2-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl (89.0 kB view details)

Uploaded CPython 3.13manylinux: glibc 2.17+ x86-64manylinux: glibc 2.28+ x86-64

ccharts-0.2.2-cp313-cp313-macosx_11_0_arm64.whl (36.7 kB view details)

Uploaded CPython 3.13macOS 11.0+ ARM64

ccharts-0.2.2-cp313-cp313-macosx_10_13_x86_64.whl (37.9 kB view details)

Uploaded CPython 3.13macOS 10.13+ x86-64

ccharts-0.2.2-cp312-cp312-win_amd64.whl (40.2 kB view details)

Uploaded CPython 3.12Windows x86-64

ccharts-0.2.2-cp312-cp312-musllinux_1_2_x86_64.whl (87.6 kB view details)

Uploaded CPython 3.12musllinux: musl 1.2+ x86-64

ccharts-0.2.2-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl (88.9 kB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ x86-64manylinux: glibc 2.28+ x86-64

ccharts-0.2.2-cp312-cp312-macosx_11_0_arm64.whl (36.7 kB view details)

Uploaded CPython 3.12macOS 11.0+ ARM64

ccharts-0.2.2-cp312-cp312-macosx_10_13_x86_64.whl (37.9 kB view details)

Uploaded CPython 3.12macOS 10.13+ x86-64

ccharts-0.2.2-cp311-cp311-win_amd64.whl (40.2 kB view details)

Uploaded CPython 3.11Windows x86-64

ccharts-0.2.2-cp311-cp311-musllinux_1_2_x86_64.whl (86.6 kB view details)

Uploaded CPython 3.11musllinux: musl 1.2+ x86-64

ccharts-0.2.2-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl (87.8 kB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ x86-64manylinux: glibc 2.28+ x86-64

ccharts-0.2.2-cp311-cp311-macosx_11_0_arm64.whl (36.7 kB view details)

Uploaded CPython 3.11macOS 11.0+ ARM64

ccharts-0.2.2-cp311-cp311-macosx_10_9_x86_64.whl (37.6 kB view details)

Uploaded CPython 3.11macOS 10.9+ x86-64

ccharts-0.2.2-cp310-cp310-win_amd64.whl (40.2 kB view details)

Uploaded CPython 3.10Windows x86-64

ccharts-0.2.2-cp310-cp310-musllinux_1_2_x86_64.whl (85.7 kB view details)

Uploaded CPython 3.10musllinux: musl 1.2+ x86-64

ccharts-0.2.2-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl (86.9 kB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ x86-64manylinux: glibc 2.28+ x86-64

ccharts-0.2.2-cp310-cp310-macosx_11_0_arm64.whl (36.7 kB view details)

Uploaded CPython 3.10macOS 11.0+ ARM64

ccharts-0.2.2-cp310-cp310-macosx_10_9_x86_64.whl (37.6 kB view details)

Uploaded CPython 3.10macOS 10.9+ x86-64

ccharts-0.2.2-cp39-cp39-win_amd64.whl (40.2 kB view details)

Uploaded CPython 3.9Windows x86-64

ccharts-0.2.2-cp39-cp39-musllinux_1_2_x86_64.whl (85.5 kB view details)

Uploaded CPython 3.9musllinux: musl 1.2+ x86-64

ccharts-0.2.2-cp39-cp39-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl (86.5 kB view details)

Uploaded CPython 3.9manylinux: glibc 2.17+ x86-64manylinux: glibc 2.28+ x86-64

ccharts-0.2.2-cp39-cp39-macosx_11_0_arm64.whl (36.7 kB view details)

Uploaded CPython 3.9macOS 11.0+ ARM64

ccharts-0.2.2-cp39-cp39-macosx_10_9_x86_64.whl (37.6 kB view details)

Uploaded CPython 3.9macOS 10.9+ x86-64

File details

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

File metadata

  • Download URL: ccharts-0.2.2.tar.gz
  • Upload date:
  • Size: 54.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for ccharts-0.2.2.tar.gz
Algorithm Hash digest
SHA256 5d5563e84f19f375e6453d904ab7632119bac6d2acda9f3509067c4e0180c95e
MD5 d86f4b68707c32555a0197a038c5d8ed
BLAKE2b-256 471ccfd469cc72eb8686ebfaae0cf2e24668f9ca60ff091e01e15683b1767244

See more details on using hashes here.

File details

Details for the file ccharts-0.2.2-cp314-cp314-win_amd64.whl.

File metadata

  • Download URL: ccharts-0.2.2-cp314-cp314-win_amd64.whl
  • Upload date:
  • Size: 41.0 kB
  • Tags: CPython 3.14, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for ccharts-0.2.2-cp314-cp314-win_amd64.whl
Algorithm Hash digest
SHA256 12008cb12d2df8929f0d0e244722a86e042f5d995cffd50b1b47ba43f0a881e5
MD5 a6511445c91d9b6ce17f2ed8e7261f73
BLAKE2b-256 091163dc53efa54aa88c1dde96b6fb88f88dc68949109ae1b5cfdbe2c7ae09d4

See more details on using hashes here.

File details

Details for the file ccharts-0.2.2-cp314-cp314-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for ccharts-0.2.2-cp314-cp314-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 cb0c89238680cd9b4e1b6e022e022a2cf4d16fc0313112745e2755e0c213faaa
MD5 1bf2ebb84efd84fc8d52eb1f3983288d
BLAKE2b-256 49d3ea7002918568e7fcd69ca7e526257783e9f483a9d8660585633cdaeafe36

See more details on using hashes here.

File details

Details for the file ccharts-0.2.2-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for ccharts-0.2.2-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 d5e67ca7d0b0407f88c87f59b9799a2f0e5e49f946e0ba78c9cdc952451de2c1
MD5 a2270be9826c8ebb0619ac3df797df52
BLAKE2b-256 ddafc5e88e259f83d22945c9f08eb7633071601141d2d8b77b6bc4e264963707

See more details on using hashes here.

File details

Details for the file ccharts-0.2.2-cp314-cp314-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for ccharts-0.2.2-cp314-cp314-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 7a7b4cb6cd16aa7e094f6ac5f7600ba059d0f4172ad2095044f5d9a013007820
MD5 65f60eef29912557b52de756acf6a7bd
BLAKE2b-256 1712c9e9f3aa1f7df571bca0875bbce100c998fc71ece6d72f0637cf4d9ef289

See more details on using hashes here.

File details

Details for the file ccharts-0.2.2-cp314-cp314-macosx_10_15_x86_64.whl.

File metadata

File hashes

Hashes for ccharts-0.2.2-cp314-cp314-macosx_10_15_x86_64.whl
Algorithm Hash digest
SHA256 6e26297b36b23ecd28c23739605b101d544a3dc8d96fbe739d9ecf193177180a
MD5 9eabe17ddd89396087fd2516254a105c
BLAKE2b-256 08acec38903b78993a08edd09fb294c14a2f3c45ba6a8e4bd9305b0ed84a6897

See more details on using hashes here.

File details

Details for the file ccharts-0.2.2-cp313-cp313-win_amd64.whl.

File metadata

  • Download URL: ccharts-0.2.2-cp313-cp313-win_amd64.whl
  • Upload date:
  • Size: 40.2 kB
  • Tags: CPython 3.13, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for ccharts-0.2.2-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 272ef83dd41054322f4e4e9bc92e25b96e1111c0a4a2a276259b5d4e0652151e
MD5 241513edfa643b03bcdb8fdd84797b45
BLAKE2b-256 84643bbae874d6d5f6f2bb6e55798f6f9a6e754fcf13ce14d7e4f2a29aa09a7b

See more details on using hashes here.

File details

Details for the file ccharts-0.2.2-cp313-cp313-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for ccharts-0.2.2-cp313-cp313-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 ee533fc52668bac2f79f2d2fee78313d31f3b026cb84d690292d1675335ff00e
MD5 a7f4bab21894e24eee2348b10a85fa0d
BLAKE2b-256 4c01820f4cb65183b22b9fe4193f2c3c6f27b3d5420a20d6fbff8fb67c963098

See more details on using hashes here.

File details

Details for the file ccharts-0.2.2-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for ccharts-0.2.2-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 7306163ec75e675c140bb2cf9fdcf05f3ab28d5d9d4de836880da784ea6cf5ee
MD5 56761efd566d18183e442aeee8e7f830
BLAKE2b-256 0a05fed6988cee3c2384ee69cf9d060011bc588701bde050a848af87de258d0a

See more details on using hashes here.

File details

Details for the file ccharts-0.2.2-cp313-cp313-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for ccharts-0.2.2-cp313-cp313-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 caa1802e6268a15eec99d6ef806ea13a002c7f0b8c2b6d0f613e06844aaa6289
MD5 b48d2109f7e70ee35bf11a01805dcb7c
BLAKE2b-256 ce34d367c24489bf3b85d6d90a6b398d22c01e1f05f0d0d4dbbe3c3b9cb0a46e

See more details on using hashes here.

File details

Details for the file ccharts-0.2.2-cp313-cp313-macosx_10_13_x86_64.whl.

File metadata

File hashes

Hashes for ccharts-0.2.2-cp313-cp313-macosx_10_13_x86_64.whl
Algorithm Hash digest
SHA256 41efaeb4d0efc39a608a03cff4045279dfaaf15ac8552e61173782c644ccc388
MD5 3cdac3400478d28e7c1b21535913eeb6
BLAKE2b-256 11f55b5cc2045f3815200044f792f64ed69083a2213ceedce6366a3f6e85511c

See more details on using hashes here.

File details

Details for the file ccharts-0.2.2-cp312-cp312-win_amd64.whl.

File metadata

  • Download URL: ccharts-0.2.2-cp312-cp312-win_amd64.whl
  • Upload date:
  • Size: 40.2 kB
  • Tags: CPython 3.12, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for ccharts-0.2.2-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 86d6e019ed9958ad02a00c3458b455ae0cbd9bb5fa252946b3baf10c24dae03c
MD5 caf1c4ceb397d67fe6ab164f47c33ea3
BLAKE2b-256 fb0ef78ddd652acc2134d6dc2f707e72145829192f216893cd60e6df13dea37c

See more details on using hashes here.

File details

Details for the file ccharts-0.2.2-cp312-cp312-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for ccharts-0.2.2-cp312-cp312-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 07f3b655d73355bfd43572fe8203933558cee8a3de88ad24fd8a40be8ea3325d
MD5 e9cfefd08270f51892877cfe81a7eac7
BLAKE2b-256 5c5f0c9c87a2ad8f44626c3949d42c3a38676a67fa036d922d81e8e01429e380

See more details on using hashes here.

File details

Details for the file ccharts-0.2.2-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for ccharts-0.2.2-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 e68babd81d6d342e29692eaaacb265de6e99353ea691b1b9532b98bf74a75615
MD5 148ab750a1b6fe1e43ca04fa49a7f7c4
BLAKE2b-256 4fdf1a4f7b41c740c87290758aa7d695d697149234bad409822eb117ec129054

See more details on using hashes here.

File details

Details for the file ccharts-0.2.2-cp312-cp312-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for ccharts-0.2.2-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 d766539abb71fd8b081160a7233c3411d9bb288736c829972ee8ade3bb228239
MD5 5244c9e16ea197304fd4bbb630716504
BLAKE2b-256 6c62ad98e15bb980122d1945be943b49d010d50bbae423e4070e07c732b9abb2

See more details on using hashes here.

File details

Details for the file ccharts-0.2.2-cp312-cp312-macosx_10_13_x86_64.whl.

File metadata

File hashes

Hashes for ccharts-0.2.2-cp312-cp312-macosx_10_13_x86_64.whl
Algorithm Hash digest
SHA256 eb228ca41d7009c3b86966aec6d2b77965840675a4440f71adb7a0dd469da1ea
MD5 2cb42f91d3b2d3aa43228f75ac3459c2
BLAKE2b-256 3ab1c2c12eec452c217293b2bb3568abd1e3d0fb48ba5b2d1b3538186d7ef067

See more details on using hashes here.

File details

Details for the file ccharts-0.2.2-cp311-cp311-win_amd64.whl.

File metadata

  • Download URL: ccharts-0.2.2-cp311-cp311-win_amd64.whl
  • Upload date:
  • Size: 40.2 kB
  • Tags: CPython 3.11, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for ccharts-0.2.2-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 ec4522e5ddb6e52e4b4289245d6d4467dee9a3738ee1f1280a37c5192e5a2b3f
MD5 68b91bba1c808ebec2094d404bd54678
BLAKE2b-256 e3b9f5ff281925ddf9444ce6cfd71cb073c1c8c08d0bdc5a5b18090b49ef1344

See more details on using hashes here.

File details

Details for the file ccharts-0.2.2-cp311-cp311-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for ccharts-0.2.2-cp311-cp311-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 396aaffe50881f531d9c33a1824e5d770f8cb4aa94b7b15a58b52a18a0d4b76b
MD5 1fcd440d5cf52d6b028f11d2f79e97d7
BLAKE2b-256 fc970d3654c3a4ccc93a5a4257dff9369f121814182af2d7d70e478c319b955c

See more details on using hashes here.

File details

Details for the file ccharts-0.2.2-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for ccharts-0.2.2-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 b11356421a72b029479073abcc38f79ef4e346ea7c3e9eede9d0501702e17dd7
MD5 01d50af35b02ae8e0623a3a472273dde
BLAKE2b-256 711440c5076995204061a0b0226d96dc2d6d3089da6f87b419811859bcd2fba8

See more details on using hashes here.

File details

Details for the file ccharts-0.2.2-cp311-cp311-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for ccharts-0.2.2-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 246c63254d733dff7c14283874dbb8d4e246584500d5bec62a3c5487b4c95e81
MD5 f307c6cb0d130c0ebcf4cce033a4137e
BLAKE2b-256 24b86dff93bd8d5c1fe983e2cdf17c1660eab264800f48fb73d8db4b008d049c

See more details on using hashes here.

File details

Details for the file ccharts-0.2.2-cp311-cp311-macosx_10_9_x86_64.whl.

File metadata

File hashes

Hashes for ccharts-0.2.2-cp311-cp311-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 aa34fdb56dfb6aa3dfdb71ee822131e8376f4ce31e7da7687df55369f9981874
MD5 a38e86dc1f921a1d48f36d98ec52f431
BLAKE2b-256 35191ffd7ea8aadd4b70007673ae40f1f4c96765eb91381993b0c64f6a516e11

See more details on using hashes here.

File details

Details for the file ccharts-0.2.2-cp310-cp310-win_amd64.whl.

File metadata

  • Download URL: ccharts-0.2.2-cp310-cp310-win_amd64.whl
  • Upload date:
  • Size: 40.2 kB
  • Tags: CPython 3.10, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for ccharts-0.2.2-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 61d44485d7658c4faa0caa0d60c61950980c13643bfdfe385a580484a3331096
MD5 77afc7bdfbf8dde967c8f907e370fd5e
BLAKE2b-256 2f51b0fbabc73cad76d55a9e894bc1edb63e2507a4f9b4ae69d281334d4f08bf

See more details on using hashes here.

File details

Details for the file ccharts-0.2.2-cp310-cp310-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for ccharts-0.2.2-cp310-cp310-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 bd9147ebde9f87d533b68d049f3431111d7a230dfdeebf356884ebd102725030
MD5 fa3a2ebbdd018af03c90e577b3ef2a89
BLAKE2b-256 4a05f68e4a1568a471e3d197186d42736f69b3ee887193aabf094af47a02e71f

See more details on using hashes here.

File details

Details for the file ccharts-0.2.2-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for ccharts-0.2.2-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 07c1bea53e610980f23552cc21786ad799efcdd4e4da8c38c5570a4e9378f7fe
MD5 59ada7537e065a94870f57c625e7652e
BLAKE2b-256 75ecf780e2198202dce8c9dc35e3be72b4f15c671f7e31d3e81e864175aaad9c

See more details on using hashes here.

File details

Details for the file ccharts-0.2.2-cp310-cp310-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for ccharts-0.2.2-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 4c2a4b0d69e2cae56fb5b44198ef5286ef30331c281bdcd17a15258eaca385a0
MD5 92ccbad332543bf1bb284a4315d751f6
BLAKE2b-256 48124a1f4179740135496abeadd159b0c0af97cfac8561adf504eb0bfa26ce85

See more details on using hashes here.

File details

Details for the file ccharts-0.2.2-cp310-cp310-macosx_10_9_x86_64.whl.

File metadata

File hashes

Hashes for ccharts-0.2.2-cp310-cp310-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 0004a350ca05b03e3d57847401bc2056cdbd50eecf9f36cd8f1a5cecd35e5b59
MD5 3f62ec3d9ea17d05977952a25329cb16
BLAKE2b-256 e055d13d464df2b43f2d9145e5717c9e72f95e738004936973e3e42aa9f8090e

See more details on using hashes here.

File details

Details for the file ccharts-0.2.2-cp39-cp39-win_amd64.whl.

File metadata

  • Download URL: ccharts-0.2.2-cp39-cp39-win_amd64.whl
  • Upload date:
  • Size: 40.2 kB
  • Tags: CPython 3.9, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for ccharts-0.2.2-cp39-cp39-win_amd64.whl
Algorithm Hash digest
SHA256 93f0f358c33d7463f24c2395070112c1d017d5d0551af301a4d5cc856145d53a
MD5 da486e975da8f89f3b5dca40be97ea09
BLAKE2b-256 4a6ca87908692a9eef74e5286aea3957d86194d4f64af37c76778b42e556d875

See more details on using hashes here.

File details

Details for the file ccharts-0.2.2-cp39-cp39-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for ccharts-0.2.2-cp39-cp39-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 c1a60d291a0cae017d27e1b85caf536b6ad430ba2894625ffd294afdd26fc577
MD5 632237c5741125c3026e18594d503941
BLAKE2b-256 cf44e59fe9039f79774f343c8e11b65d44acfab4a3a6f3bf2a3d3a514f3632f3

See more details on using hashes here.

File details

Details for the file ccharts-0.2.2-cp39-cp39-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for ccharts-0.2.2-cp39-cp39-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 7c5af07c6d5c256980d039f4b98185801110959913905bf81da31e9ede15bd12
MD5 08ea3216142820262ac56497ee1385e8
BLAKE2b-256 42e8c25b1dcbba5e49a02aa1cd3c3a9ad33302335a6ce0afc419a7de8c06c70c

See more details on using hashes here.

File details

Details for the file ccharts-0.2.2-cp39-cp39-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for ccharts-0.2.2-cp39-cp39-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 2fe3c8c671ae15a3b5562d713d457ba7895436714bd4ffab7497b8a1a35b0d74
MD5 f3cbdca09e17afb079d7bf75b5f072be
BLAKE2b-256 a3b347d262bee7db2aa2bb00d273662d37c60abe080012fff5330e41512e0f16

See more details on using hashes here.

File details

Details for the file ccharts-0.2.2-cp39-cp39-macosx_10_9_x86_64.whl.

File metadata

File hashes

Hashes for ccharts-0.2.2-cp39-cp39-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 4018c1e954b2c035c49adb2f11b59363c9a62ab92fb525ef0abc204db9a762f9
MD5 4c726a387e4ae5b3d1728c7a4db34f8a
BLAKE2b-256 a5636fa7b29553cd941a49d8d070258aaf0f81a5de24f02923f860756c9b2b0e

See more details on using hashes here.

Release history Release notifications | RSS feed

3.0.0

31 files

This release

0.2.2 This release

31 files

0.2.1

31 files

0.2.0

31 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