Skip to main content

rosencharts charts (D3 + Tailwind) ported to Reflex as Python components — 43 charts, no JS required.

Project description

reflex-rosencharts

Port de la librería de gráficas rosencharts (43 componentes React/TSX con D3.js + Tailwind) a un custom component de Reflex, para usar las gráficas desde Python puro.

Estado: 43/43 gráficas implementadas ✅ — todas con wrapper Python, TSX parametrizado, ejemplo en la galería y tests. La app demo (reflex run) muestra las 43 con su snippet de uso. Capturas en docs/screenshots/.

¿Por qué?

rosencharts no es un paquete npm: son componentes .tsx para copiar y pegar, con datos hardcodeados y estilo Tailwind. Este proyecto los envuelve como componentes locales de Reflex (rx.asset + library="$/public..."), los parametriza para recibir datos desde rx.State, y los expone como funciones Python:

import reflex as rx
import reflex_rosencharts as rxc

class State(rx.State):
    sales: list[dict] = [{"date": "2023-05-01", "value": 6}, {"date": "2023-05-02", "value": 8}]

def index() -> rx.Component:
    return rxc.line_chart(data=State.sales)

Gráficas (43 en 8 familias)

Familia Ejemplos
Area 4 area_chart, area_chart_gradient
Bar 12 bar_chart_horizontal, bar_chart_benchmark
Line 8 line_chart, line_chart_multiple
Pie/Donut 8 pie_chart, donut_chart_center_text
Scatter 4 scatter_chart, scatter_chart_interactive
Treemap 3 treemap_chart, treemap_chart_images
Radar 2 radar_chart, radar_chart_rounded
Other 2 bubble_chart, funnel_chart

Catálogo completo y props: specs/api/component-api-v1.md.

Desarrollo

Gestionado con uv:

uv sync                 # instalar dependencias
uv run reflex run       # arrancar la demo app / galería (las 43 gráficas)
uv run pytest           # tests de los wrappers (TDD)

La galería demo vive en reflex_rosencharts/reflex_rosencharts.py: barra lateral por familia y una tarjeta por gráfica (gráfica renderizada con datos de ejemplo + snippet Python). Es el banco de pruebas visual del port.

Especificaciones (SDD)

El proyecto sigue Spec-Driven Design. Las specs son el artefacto primario:

El código original (referencia, solo lectura) está en reference/rosencharts/.

Licencia y atribución

MIT. Este proyecto es un port de rosencharts de Filsommer (MIT). Ver LICENSE y NOTICE.

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

reflex_rosencharts-0.1.0.tar.gz (65.0 kB view details)

Uploaded Source

Built Distribution

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

reflex_rosencharts-0.1.0-py3-none-any.whl (160.8 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: reflex_rosencharts-0.1.0.tar.gz
  • Upload date:
  • Size: 65.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.9

File hashes

Hashes for reflex_rosencharts-0.1.0.tar.gz
Algorithm Hash digest
SHA256 a643724000403dc34ad77242a1ce63f01b8b89a540ba3fe37ef95e26f6475ff7
MD5 650131cba0ee16ea97b2498d43dbaa83
BLAKE2b-256 ca06d46880cd449ac5536067f631e2d782b19a12cf3a82adda6657a837c4b6c8

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for reflex_rosencharts-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 38749aed5a5ece7888f52e609ff3c88617ef8922a7902af631a8eb57973d0293
MD5 b8aa7744c5c6bf186be75cbfe108acfa
BLAKE2b-256 c07ca50c41a8cbd77bc1a33b532ec4b34c51c644feaf1c8ea9259b30732ba2e1

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