Skip to main content

Customizable visualization toolkit for science

Project description



cachai (Custom Axes and CHarts Advanced Interface) is a fully customizable Python visualization toolkit designed to deliver polished, publication-ready plots built on top of Matplotlib. Currently, the package includes the ChordDiagram module as its primary feature. For details on the toolkit’s capabilities, motivations and future projections, refer to this paper.

The code documentation is currently consolidated in docs/documentation.md. To contribute or report bugs, please visit the issues page.

:cookie: Fun fact:

"Cachai" (/kɑːˈtʃaɪ/) is a slang word from Chilean informal speech, similar to saying "ya know?" or "get it?" in English. Don't know how to pronounce it? Think of "kah-CHAI" (like "cut" + "chai" tea, with stress on "CHAI").

:gear: Installation guide

Installing cachai

All official releases of cachai are published on PyPI. To install, simply run:

pip install cachai

If you want to verify that cachai works correctly on your system, you can install it with optional testing dependencies by running:

pip install cachai[testing]

Requirements

cachai has been tested on Python >= 3.10.

Core dependencies: This Python packages are mandatory:

Optional dependencies:
This Python packages are optional:

  • pytest >= 7.1.0 (Only required for testing)

To verify that cachai installed correctly and is functioning properly on your system, you can run:

import cachai

cachai.run_tests()

Alternatively, execute this in your terminal:

cachai-test -v

:hatching_chick: Getting started

You’ll typically need the following imports to begin using cachai:

import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
import cachai.chplot as chp

To quickly test cachai, you can load one of the included datasets. Currently, the available datasets are tailored for Chord Diagram use cases. Here’s a minimal example using the large_correlations dataset to generate a Chord Diagram:

import cachai.data as chd
import cachai.chplot as chp

data = chd.load_dataset('large_correlations')
chp.chord(data)

[!NOTE] Downloading datasets requires an internet connection. If the files are already cached (i.e., you’ve accessed them before), cachai will use the local copies, allowing offline work.

For more advanced examples, explore the Jupyter notebooks in the docs/notebooks.

:black_nib: Citing cachai

If cachai contributed to a project that resulted in a publication, please cite this paper.

Example citation format:

@article{Beltrán_2025,
  doi = {10.3847/2515-5172/adf8df},
  url = {https://dx.doi.org/10.3847/2515-5172/adf8df},
  year = {2025},
  month = {aug},
  publisher = {The American Astronomical Society},
  volume = {9},
  number = {8},
  pages = {216},
  author = {Beltrán, D. and Dantas, M. L. L.},
  title = {CACHAI’s First Module: A Fully Customizable Chord Diagram for Astronomy and Beyond},
  journal = {Research Notes of the AAS},
  abstract = {We introduce ChordDiagram, the first module of Custom Axes and CHarts Advanced Interface (Cachai), a fully customizable visualization toolkit for Python. ChordDiagram creates publication-ready chord diagrams with fine control over edge styles, node colors, and layout, addressing key limitations of existing tools. Features include per-element styling, correlation thresholding, targeted highlighting, adaptive node spacing, log-scaled link thickness, and more. While broadly applicable, we showcase its use in astronomy by visualizing (anti-)correlations among stellar parameters and kinematics. ChordDiagram forms the foundation of the Cachai suite, available via pip (https://pypi.org/project/cachai), and at https://github.com/DD-Beltran-F/cachai, where the user can find a detailed documentation and examples.}
}

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

cachai-0.0.6.tar.gz (34.6 kB view details)

Uploaded Source

Built Distribution

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

cachai-0.0.6-py3-none-any.whl (38.1 kB view details)

Uploaded Python 3

File details

Details for the file cachai-0.0.6.tar.gz.

File metadata

  • Download URL: cachai-0.0.6.tar.gz
  • Upload date:
  • Size: 34.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.12.9

File hashes

Hashes for cachai-0.0.6.tar.gz
Algorithm Hash digest
SHA256 6e079c25bcff2e6a72cc9eb6e63c6bc109d6cf0278fc3a2629c5007c9a4169f3
MD5 e8c46aada9381d40af8c32aeb0af4ce3
BLAKE2b-256 0cac9da5b547e53acd45c24640b80b3379c627489bda53e401e02b21d3275a4a

See more details on using hashes here.

Provenance

The following attestation bundles were made for cachai-0.0.6.tar.gz:

Publisher: release.yaml on DD-Beltran-F/cachai

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file cachai-0.0.6-py3-none-any.whl.

File metadata

  • Download URL: cachai-0.0.6-py3-none-any.whl
  • Upload date:
  • Size: 38.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.12.9

File hashes

Hashes for cachai-0.0.6-py3-none-any.whl
Algorithm Hash digest
SHA256 fd5b2bacaa865c78d7b3178e4d76ed315016043216e54593fe7128062865b7cc
MD5 480d4bacf121750df3868ab78f5cf40b
BLAKE2b-256 387f74b444505cdcfa22e4ab67327a219e32b3503c901cb731143c8265cdc2b2

See more details on using hashes here.

Provenance

The following attestation bundles were made for cachai-0.0.6-py3-none-any.whl:

Publisher: release.yaml on DD-Beltran-F/cachai

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

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