Skip to main content

Browser-based experimental data visualizer and analysis tool.

Project description

Cacaopod

Cacaopod is a local, browser-based data visualizer for experimental data analysis. It combines a Python-backed workspace, an interactive plotting board, file loaders, data tools, and an embedded Python console.

Features

  • Load CSV, TSV, TXT/DAT/ASC, NPY, NPZ, JSON, MAT, image files, and custom file formats.
  • View 1D traces and 2D heatmaps in a browser UI.
  • Run Python code against the current board and loaded data.
  • Save boards, waves, tool definitions, and UI state in the working directory.
  • Create custom tools, file loaders, and naming rules in Python.

Installation

pip install cacaopod

Usage

Start Cacaopod in the directory you want to use as your workspace:

cacaopod --open

By default, Cacaopod serves the app on 127.0.0.1. If the browser does not open automatically, open the URL printed in the terminal.

You can also choose a workspace explicitly:

cacaopod --workdir /path/to/data --open

Control a running Cacaopod backend from another Python process:

import numpy as np
from cacaopod.remote import Cacaopod

cp = Cacaopod(port=8123)
cp.board.show(np.arange(100), name="name_of_pod")
wave = cp.Wave(np.arange(100), delta=0.1, offset=2.0, name="wave_name")
cp.board.show(wave, name="another_pod")
wave_on_board = cp.Wave(np.arange(50), name="wave_on_board", board="Existing Board")
cp.board.show(wave_on_board, name="pod_on_existing_board")
cp.execute("print(board.name)")
print(cp.is_alive())

Security Note

Cacaopod is designed for trusted local use. The web API can execute Python code from the embedded console and from user-defined tools. Do not expose the backend to an untrusted network or run it with a public host unless you have added your own access controls.

License

Apache-2.0. See LICENSE.

Third-party notices for the bundled web UI are included in THIRD_PARTY_NOTICES.md.

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

cacaopod-0.11.0.tar.gz (2.2 MB view details)

Uploaded Source

Built Distribution

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

cacaopod-0.11.0-py3-none-any.whl (2.3 MB view details)

Uploaded Python 3

File details

Details for the file cacaopod-0.11.0.tar.gz.

File metadata

  • Download URL: cacaopod-0.11.0.tar.gz
  • Upload date:
  • Size: 2.2 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.9

File hashes

Hashes for cacaopod-0.11.0.tar.gz
Algorithm Hash digest
SHA256 2bb62fe1693f5231331968079643f8474c973aaa03787b5c4decc350d2d161a9
MD5 8ab774fec4fe0bdca99351501cfdd618
BLAKE2b-256 5902e9d3fb5b5e16e6d1102584ef34dd5a1c34ede564cf4001192e45fd4ee822

See more details on using hashes here.

File details

Details for the file cacaopod-0.11.0-py3-none-any.whl.

File metadata

  • Download URL: cacaopod-0.11.0-py3-none-any.whl
  • Upload date:
  • Size: 2.3 MB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.9

File hashes

Hashes for cacaopod-0.11.0-py3-none-any.whl
Algorithm Hash digest
SHA256 fd72154fe48a6a81918464ec206501ca9e3e3a687f84d86ce6151493d8294c38
MD5 e14a30b79770df8f2a389624af5bbfba
BLAKE2b-256 8eaaa8d1c5cb832b46ba721e2ecd9578aa007afbd7ec69dd2290e89e08e090b7

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