High-performance SVG chart rendering engine for financial data visualization
Project description
zengeld-canvas
High-performance SVG chart rendering engine for financial data visualization
Python bindings for the zengeld-canvas chart rendering engine. Built in Rust with zero runtime dependencies.
Features
- 96 Drawing Primitives - Fibonacci, Gann, Pitchforks, Elliott Waves, Patterns, Channels, and more
- 45+ Indicator Presets - Pre-configured rendering styles for SMA, RSI, MACD, Bollinger, Ichimoku, etc.
- 12 Series Types - Candlestick, HeikinAshi, Line, Area, Histogram, Baseline, and more
- 14 Multi-Chart Layouts - Grid, split, and custom layouts for dashboards
- High Performance - Native Rust speed via PyO3
- Theme System - 4 built-in presets (dark, light, high_contrast, cyberpunk) + runtime customization
Installation
pip install zengeld-canvas
Quick Start
from zengeld_canvas import Chart, Bar, UITheme, RuntimeTheme
# Build chart
chart = Chart(800, 600)
chart.bars(bars)
chart.candlesticks()
chart.sma(20, "#2196F3")
svg = chart.render_svg()
# With theme preset
theme = UITheme.cyberpunk()
chart = Chart(800, 600)
chart.bars(bars)
chart.candlesticks()
chart.background(theme.background)
chart.colors(theme.candle_up_body, theme.candle_down_body)
svg = chart.render_svg()
# Runtime theme (modifiable)
runtime = RuntimeTheme.from_preset("dark")
runtime.background = "#1a0a2e" # Custom background
runtime.candle_up_body = "#00ffff" # Cyan
Examples
Light Theme |
High Contrast Theme |
Cyberpunk Theme |
Runtime Custom Theme |
Theme System
Built-in presets: dark(), light(), high_contrast(), cyberpunk()
from zengeld_canvas import UITheme, RuntimeTheme
# Static themes
dark = UITheme.dark()
light = UITheme.light()
# Runtime themes (modifiable, JSON support)
runtime = RuntimeTheme.from_preset("dark")
runtime.background = "#1a0a2e"
json_str = runtime.to_json()
# Available presets
presets = RuntimeTheme.presets() # ["dark", "light", "high_contrast", "cyberpunk"]
Drawing Primitives
| Category | Count | Examples |
|---|---|---|
| Fibonacci | 11 | Retracement, Fan, Arcs, Circles, Channel, Spiral |
| Lines | 9 | TrendLine, HorizontalLine, Ray, ExtendedLine |
| Annotations | 11 | Text, Callout, PriceLabel, Flag, Table |
| Shapes | 10 | Rectangle, Circle, Ellipse, Triangle, Path |
| Elliott Waves | 5 | Impulse, Correction, Triangle, Combo |
| Patterns | 6 | XABCD, HeadShoulders, Cypher, ThreeDrives |
| Gann | 4 | Fan, Box, Square, SquareFixed |
| And more... | 40 | Channels, Pitchforks, Cycles, Projections |
License
MIT OR Apache-2.0
Support the Project
If you find this library useful, consider supporting development:
| Currency | Network | Address |
|---|---|---|
| USDT | TRC20 | TNxMKsvVLYViQ5X5sgCYmkzH4qjhhh5U7X |
| USDC | Arbitrum | 0xEF3B94Fe845E21371b4C4C5F2032E1f23A13Aa6e |
| ETH | Ethereum | 0xEF3B94Fe845E21371b4C4C5F2032E1f23A13Aa6e |
| BTC | Bitcoin | bc1qjgzthxja8umt5tvrp5tfcf9zeepmhn0f6mnt40 |
| SOL | Solana | DZJjmH8Cs5wEafz5Ua86wBBkurSA4xdWXa3LWnBUR94c |
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
Built Distributions
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 zengeld_canvas-0.1.9.tar.gz.
File metadata
- Download URL: zengeld_canvas-0.1.9.tar.gz
- Upload date:
- Size: 415.5 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
c46ee192012fc722ffcc73eeb1051babf77f1b924596634ee0c6e5016fc10fff
|
|
| MD5 |
ccb041651a3b587a646cc4cdbe03cf12
|
|
| BLAKE2b-256 |
7a15d5ad64c9591943f3ce9bed8ae14db2aecf352cad7b6834f04183be379736
|
File details
Details for the file zengeld_canvas-0.1.9-cp312-cp312-win_amd64.whl.
File metadata
- Download URL: zengeld_canvas-0.1.9-cp312-cp312-win_amd64.whl
- Upload date:
- Size: 588.7 kB
- Tags: CPython 3.12, Windows x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
6744ed9c6775e530f7ea3f386663313d0f77bb23fe26b31f769d53dbc169c6be
|
|
| MD5 |
2ed84acc4f86362096d028d542d8f49a
|
|
| BLAKE2b-256 |
5a298938f1488d0841f002284300c008c293018b2bb40510b9f813781ff4d5cc
|
File details
Details for the file zengeld_canvas-0.1.9-cp312-cp312-macosx_11_0_arm64.whl.
File metadata
- Download URL: zengeld_canvas-0.1.9-cp312-cp312-macosx_11_0_arm64.whl
- Upload date:
- Size: 645.6 kB
- Tags: CPython 3.12, macOS 11.0+ ARM64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
b7a0df96d4e8879781326df2954b37421c2d933d78575fee9733f463f4fe41ed
|
|
| MD5 |
8fb84e3b7004db805f6f9965d5046651
|
|
| BLAKE2b-256 |
98db26fdeb489a78d34e5b85ee73b5f754fc433e0b2f1ee66897dbd004d59810
|
File details
Details for the file zengeld_canvas-0.1.9-cp312-cp312-macosx_10_12_x86_64.whl.
File metadata
- Download URL: zengeld_canvas-0.1.9-cp312-cp312-macosx_10_12_x86_64.whl
- Upload date:
- Size: 688.9 kB
- Tags: CPython 3.12, macOS 10.12+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
0201063919ac9dbcb37d9f5ee8040aa11988a950ed20d610fc5af650f15b621e
|
|
| MD5 |
ea1502f3666050919a27a2ba9441281f
|
|
| BLAKE2b-256 |
787d2970d1fcb2efa26a398f84a063d372af9c99742c8403e1ce0478e56c8326
|
File details
Details for the file zengeld_canvas-0.1.9-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.
File metadata
- Download URL: zengeld_canvas-0.1.9-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
- Upload date:
- Size: 708.5 kB
- Tags: CPython 3.8, manylinux: glibc 2.17+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
f3ef18f40f399d22f5915a08ab9e62f4fbc14334b8ba89f2406042f203eb4c97
|
|
| MD5 |
24729f9f123e09dd0db9a7086dcf7361
|
|
| BLAKE2b-256 |
07f273ea5403069b494b5e0b1241aa15eccefc7321c2186c8ec4095ae95d66bc
|