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 endocs/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 | Nº | 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:
- PRD — el qué y el para quién
- API Spec — API pública Python (funciones, props)
- Technical Design — patrón de wrapping y arquitectura
- Data Model — esquemas de datos por gráfica
- Implementation Plan — fases por familia
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
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
a643724000403dc34ad77242a1ce63f01b8b89a540ba3fe37ef95e26f6475ff7
|
|
| MD5 |
650131cba0ee16ea97b2498d43dbaa83
|
|
| BLAKE2b-256 |
ca06d46880cd449ac5536067f631e2d782b19a12cf3a82adda6657a837c4b6c8
|
File details
Details for the file reflex_rosencharts-0.1.0-py3-none-any.whl.
File metadata
- Download URL: reflex_rosencharts-0.1.0-py3-none-any.whl
- Upload date:
- Size: 160.8 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.9
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
38749aed5a5ece7888f52e609ff3c88617ef8922a7902af631a8eb57973d0293
|
|
| MD5 |
b8aa7744c5c6bf186be75cbfe108acfa
|
|
| BLAKE2b-256 |
c07ca50c41a8cbd77bc1a33b532ec4b34c51c644feaf1c8ea9259b30732ba2e1
|