Skip to main content

InteractiveForest Plot

Project description

Forestly

Python Versions PyPI License CI Build Codecov

A production-ready forest plot system for clinical trials with interactive Reactable tables, supporting nested listings and drill-down capabilities.

Installation

pip install -e .

Quick Start

from forestly import ForestPlot, TextPanel, SparklinePanel, Config
import polars as pl

# Create forest plot
forest = ForestPlot(
    data=efficacy_data,
    panels=[
        TextPanel(variables="subgroup"),
        SparklinePanel(
            variables="hazard_ratio",
            lower="hr_ci_lower",
            upper="hr_ci_upper",
            reference_line=1.0
        ),
        TextPanel(variables="p_value", title="P-value")
    ]
)

# Export to interactive Reactable
forest.to_reactable()

Features

  • Panel-based architecture for flexible layouts
  • Interactive Reactable tables with drill-down capabilities
  • Multiple export formats (RTF, static plots)
  • Pydantic validation for data integrity
  • Support for hierarchical data structures

Development

# Install development dependencies
uv add --dev pytest pytest-cov ruff mypy hypothesis

# Run tests
pytest

# Format code
ruff format .

# Type check
mypy src/

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

forestly-0.1.2.tar.gz (21.2 kB view details)

Uploaded Source

Built Distribution

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

forestly-0.1.2-py3-none-any.whl (20.2 kB view details)

Uploaded Python 3

File details

Details for the file forestly-0.1.2.tar.gz.

File metadata

  • Download URL: forestly-0.1.2.tar.gz
  • Upload date:
  • Size: 21.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.9.15 {"installer":{"name":"uv","version":"0.9.15","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

File hashes

Hashes for forestly-0.1.2.tar.gz
Algorithm Hash digest
SHA256 9036175b2e85fa835e07f9557b4039746415810b796d071ff92721257f4d7e5a
MD5 a0a3b38e0d29cd27eb4d39f715542509
BLAKE2b-256 92db5b78eea54dbdc5ec793a4acf1e00bc83976ec5c1dbd48683ff5ccb991cbd

See more details on using hashes here.

File details

Details for the file forestly-0.1.2-py3-none-any.whl.

File metadata

  • Download URL: forestly-0.1.2-py3-none-any.whl
  • Upload date:
  • Size: 20.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.9.15 {"installer":{"name":"uv","version":"0.9.15","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

File hashes

Hashes for forestly-0.1.2-py3-none-any.whl
Algorithm Hash digest
SHA256 d2c011222a974fbdde202edc1a7de666ee6f56f4416369ea6c1592002843a3e5
MD5 135089121ea8447c84f64c268c3260c9
BLAKE2b-256 5b586a5c6d03e4195eefe343d6160ac3bca37aef5651f16cc8a3c997a001c074

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