Skip to main content

Forest Plot System for Clinical Trials

Project description

Forestly

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.0.tar.gz (25.8 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.0-py3-none-any.whl (20.0 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: forestly-0.1.0.tar.gz
  • Upload date:
  • Size: 25.8 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.0.tar.gz
Algorithm Hash digest
SHA256 c785d90609c0115014dffaa2593a1f854a7963cb7fb3b2220bd5d8894f2287bd
MD5 8a61eb389e41c8cd1aaad966c2f2abcb
BLAKE2b-256 5fcfa54507f2cdcb4246e58674c21494a321183d56c857606638fbbd1afaaeec

See more details on using hashes here.

File details

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

File metadata

  • Download URL: forestly-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 20.0 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.0-py3-none-any.whl
Algorithm Hash digest
SHA256 36a59498718881440310a48eac6d9ded61d68fe105f8655f629e9146442fe258
MD5 c049e16f462a9890c59a0376c3e9f61b
BLAKE2b-256 f4172b8ad894aa7f4add05ecbbcf5c8463f8e9b22a8fe491cb21058c88ea4254

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