vizforge 0.1.0__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
vizforge-0.1.0/LICENSE ADDED
@@ -0,0 +1,21 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2024 Tefik Yildiz
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
@@ -0,0 +1,292 @@
1
+ Metadata-Version: 2.4
2
+ Name: vizforge
3
+ Version: 0.1.0
4
+ Summary: Production-grade data visualization library with zero AI dependencies
5
+ Author-email: Tefik Yildiz <teyfikoz@example.com>
6
+ License: MIT
7
+ Project-URL: Homepage, https://github.com/teyfikoz/VizForge
8
+ Project-URL: Repository, https://github.com/teyfikoz/VizForge
9
+ Project-URL: Documentation, https://github.com/teyfikoz/VizForge/docs
10
+ Project-URL: Issues, https://github.com/teyfikoz/VizForge/issues
11
+ Keywords: visualization,plotting,charts,graphs,data-viz
12
+ Classifier: Development Status :: 4 - Beta
13
+ Classifier: Intended Audience :: Developers
14
+ Classifier: Intended Audience :: Science/Research
15
+ Classifier: Programming Language :: Python :: 3
16
+ Classifier: Programming Language :: Python :: 3.10
17
+ Classifier: Programming Language :: Python :: 3.11
18
+ Classifier: Programming Language :: Python :: 3.12
19
+ Classifier: Topic :: Scientific/Engineering :: Visualization
20
+ Classifier: Topic :: Software Development :: Libraries :: Python Modules
21
+ Requires-Python: >=3.10
22
+ Description-Content-Type: text/markdown
23
+ License-File: LICENSE
24
+ Requires-Dist: plotly>=5.18.0
25
+ Requires-Dist: pandas>=2.0.0
26
+ Requires-Dist: numpy>=1.24.0
27
+ Provides-Extra: dev
28
+ Requires-Dist: pytest>=7.0; extra == "dev"
29
+ Requires-Dist: pytest-cov>=4.0; extra == "dev"
30
+ Requires-Dist: black>=23.0; extra == "dev"
31
+ Requires-Dist: ruff>=0.1.0; extra == "dev"
32
+ Provides-Extra: geo
33
+ Requires-Dist: folium>=0.15.0; extra == "geo"
34
+ Requires-Dist: geopandas>=0.14.0; extra == "geo"
35
+ Provides-Extra: stats
36
+ Requires-Dist: scipy>=1.10.0; extra == "stats"
37
+ Requires-Dist: seaborn>=0.13.0; extra == "stats"
38
+ Provides-Extra: network
39
+ Requires-Dist: networkx>=3.0; extra == "network"
40
+ Requires-Dist: pyvis>=0.3.0; extra == "network"
41
+ Provides-Extra: export
42
+ Requires-Dist: kaleido>=0.2.0; extra == "export"
43
+ Requires-Dist: pillow>=10.0.0; extra == "export"
44
+ Provides-Extra: full
45
+ Requires-Dist: folium>=0.15.0; extra == "full"
46
+ Requires-Dist: geopandas>=0.14.0; extra == "full"
47
+ Requires-Dist: scipy>=1.10.0; extra == "full"
48
+ Requires-Dist: seaborn>=0.13.0; extra == "full"
49
+ Requires-Dist: networkx>=3.0; extra == "full"
50
+ Requires-Dist: pyvis>=0.3.0; extra == "full"
51
+ Requires-Dist: kaleido>=0.2.0; extra == "full"
52
+ Requires-Dist: pillow>=10.0.0; extra == "full"
53
+ Dynamic: license-file
54
+
55
+ # VizForge
56
+
57
+ **Production-grade data visualization library with ZERO AI dependencies**
58
+
59
+ Create beautiful, interactive visualizations with a single line of code. No API keys, no paid services, just pure visualization power.
60
+
61
+ ## Features
62
+
63
+ - 🎨 **Beautiful by Default** - Professional themes out of the box
64
+ - ⚡ **Simple API** - One-line visualizations: `vz.line(data, x, y)`
65
+ - 📊 **20+ Chart Types** - From basics to advanced (Sankey, Network, Geographic)
66
+ - 🎭 **Theme System** - 5 built-in themes + custom themes
67
+ - 💾 **Export Anywhere** - PNG, SVG, HTML, PDF support
68
+ - 🚀 **No AI Dependencies** - Completely free, no API keys needed
69
+ - 📈 **Performance** - Handle 100K+ data points efficiently
70
+ - 🌍 **Geographic Maps** - Choropleth, scatter, and route maps
71
+ - 🔗 **Network Graphs** - Force-directed layouts, community detection
72
+ - 📐 **Statistical Plots** - Distributions, correlations, regressions
73
+
74
+ ## Installation
75
+
76
+ ```bash
77
+ pip install vizforge
78
+
79
+ # With all features
80
+ pip install vizforge[full]
81
+
82
+ # Only specific features
83
+ pip install vizforge[geo] # Geographic mapping
84
+ pip install vizforge[stats] # Statistical visualizations
85
+ pip install vizforge[network] # Network graphs
86
+ ```
87
+
88
+ ## Quick Start
89
+
90
+ ```python
91
+ import vizforge as vz
92
+ import pandas as pd
93
+
94
+ # Line chart
95
+ data = pd.DataFrame({
96
+ 'date': pd.date_range('2024-01-01', periods=30),
97
+ 'sales': [100, 120, 115, 130, 140, ...]
98
+ })
99
+ vz.line(data, x='date', y='sales', title='Daily Sales')
100
+
101
+ # Bar chart
102
+ vz.bar(data, x='category', y='amount', color='region')
103
+
104
+ # Scatter plot
105
+ vz.scatter(data, x='age', y='income', size='population')
106
+
107
+ # Pie chart
108
+ vz.pie(data, values='market_share', names='company')
109
+ ```
110
+
111
+ ## Chart Types
112
+
113
+ ### Basic Charts
114
+ - **Line Chart** - Single/multi-line, area charts
115
+ - **Bar Chart** - Vertical/horizontal, grouped/stacked
116
+ - **Scatter Plot** - 2D/3D, bubble charts
117
+ - **Pie Chart** - Pie/donut, sunburst
118
+
119
+ ### Advanced Charts
120
+ - **Heatmap** - Correlation matrices, custom data
121
+ - **Treemap** - Hierarchical data visualization
122
+ - **Sankey Diagram** - Flow visualization
123
+ - **Network Graph** - Nodes/edges, force-directed
124
+ - **Waterfall Chart** - Cumulative effect
125
+ - **Funnel Chart** - Conversion tracking
126
+ - **Gauge Chart** - KPI display
127
+ - **Candlestick** - Financial data
128
+
129
+ ### Statistical Charts
130
+ - **Histogram** - Distribution analysis
131
+ - **Box Plot** - Quartiles and outliers
132
+ - **Violin Plot** - Distribution shape
133
+ - **KDE Plot** - Kernel density estimation
134
+ - **Correlation Matrix** - Feature relationships
135
+ - **Regression Plot** - With confidence intervals
136
+
137
+ ### Geographic Charts
138
+ - **Choropleth Map** - Regions colored by value
139
+ - **Scatter Map** - Points on map
140
+ - **Route Map** - Lines between locations
141
+ - **Heat Map** - Density visualization
142
+
143
+ ## Themes
144
+
145
+ ```python
146
+ # Built-in themes
147
+ vz.set_theme("default") # Modern, colorful
148
+ vz.set_theme("dark") # Dark background, neon accents
149
+ vz.set_theme("minimal") # Clean, monochrome
150
+ vz.set_theme("corporate") # Professional, conservative
151
+ vz.set_theme("scientific") # Publication-ready
152
+
153
+ # Custom theme
154
+ custom = vz.Theme(
155
+ background_color="#ffffff",
156
+ text_color="#333333",
157
+ primary_color="#3498db",
158
+ font_family="Arial"
159
+ )
160
+ vz.set_theme(custom)
161
+ ```
162
+
163
+ ## Export Options
164
+
165
+ ```python
166
+ # PNG (high resolution)
167
+ chart.export("output.png", width=1920, height=1080)
168
+
169
+ # SVG (vector graphics)
170
+ chart.export("output.svg")
171
+
172
+ # HTML (interactive)
173
+ chart.export("output.html")
174
+
175
+ # PDF (publication-ready)
176
+ chart.export("output.pdf")
177
+ ```
178
+
179
+ ## Examples
180
+
181
+ ### Multi-line Comparison
182
+ ```python
183
+ from vizforge import Chart
184
+
185
+ chart = Chart(chart_type='line', theme='dark')
186
+ chart.add_line(x=dates, y=product_a, name='Product A')
187
+ chart.add_line(x=dates, y=product_b, name='Product B')
188
+ chart.add_line(x=dates, y=product_c, name='Product C')
189
+ chart.update_layout(title='Product Comparison')
190
+ chart.show()
191
+ ```
192
+
193
+ ### Grouped Bar Chart
194
+ ```python
195
+ vz.bar(
196
+ data,
197
+ x='month',
198
+ y='revenue',
199
+ color='region',
200
+ barmode='group',
201
+ title='Regional Revenue by Month'
202
+ )
203
+ ```
204
+
205
+ ### Correlation Heatmap
206
+ ```python
207
+ vz.heatmap(
208
+ correlation_matrix,
209
+ title='Feature Correlation',
210
+ colorscale='RdBu',
211
+ annotations=True
212
+ )
213
+ ```
214
+
215
+ ### Geographic Choropleth
216
+ ```python
217
+ from vizforge.geo import choropleth_map
218
+
219
+ choropleth_map(
220
+ locations=countries,
221
+ values=gdp_data,
222
+ title='GDP by Country',
223
+ colorscale='Greens'
224
+ )
225
+ ```
226
+
227
+ ### Network Graph
228
+ ```python
229
+ from vizforge.charts import network_graph
230
+
231
+ network_graph(
232
+ nodes=node_list,
233
+ edges=edge_list,
234
+ layout='force_directed',
235
+ node_size='degree',
236
+ node_color='community'
237
+ )
238
+ ```
239
+
240
+ ## Philosophy
241
+
242
+ > "Visualization should be easy. The code should disappear, and the story should emerge."
243
+
244
+ VizForge believes that:
245
+ - Beautiful visualizations shouldn't require complex code
246
+ - Themes should be globally consistent
247
+ - Export should be effortless
248
+ - No visualization library should require AI or paid APIs
249
+
250
+ ## Why VizForge?
251
+
252
+ | Feature | VizForge | Plotly | Matplotlib | Seaborn |
253
+ |---------|----------|--------|------------|---------|
254
+ | Easy API | ✅ | ⚠️ | ❌ | ✅ |
255
+ | Interactive | ✅ | ✅ | ❌ | ❌ |
256
+ | Static Export | ✅ | ✅ | ✅ | ✅ |
257
+ | Themes | ✅ | ⚠️ | ⚠️ | ✅ |
258
+ | Geographic | ✅ | ✅ | ⚠️ | ❌ |
259
+ | Network Graphs | ✅ | ✅ | ⚠️ | ❌ |
260
+ | One-line Plots | ✅ | ❌ | ⚠️ | ✅ |
261
+ | Learning Curve | Low | Medium | High | Medium |
262
+
263
+ ## Performance
264
+
265
+ - Efficiently handles 100K+ data points
266
+ - WebGL rendering for scatter plots
267
+ - Automatic data aggregation
268
+ - Lazy loading for large datasets
269
+ - Caching for computed layouts
270
+
271
+ ## Requirements
272
+
273
+ - Python >= 3.10
274
+ - pandas >= 2.0.0
275
+ - numpy >= 1.24.0
276
+ - plotly >= 5.18.0
277
+
278
+ ## License
279
+
280
+ MIT License - Free for commercial use
281
+
282
+ ## Contributing
283
+
284
+ Contributions welcome! Please open an issue or pull request.
285
+
286
+ ## Documentation
287
+
288
+ See `examples/` directory for comprehensive examples.
289
+
290
+ ---
291
+
292
+ **VizForge: Forge Beautiful Visualizations, Effortlessly.**
@@ -0,0 +1,238 @@
1
+ # VizForge
2
+
3
+ **Production-grade data visualization library with ZERO AI dependencies**
4
+
5
+ Create beautiful, interactive visualizations with a single line of code. No API keys, no paid services, just pure visualization power.
6
+
7
+ ## Features
8
+
9
+ - 🎨 **Beautiful by Default** - Professional themes out of the box
10
+ - ⚡ **Simple API** - One-line visualizations: `vz.line(data, x, y)`
11
+ - 📊 **20+ Chart Types** - From basics to advanced (Sankey, Network, Geographic)
12
+ - 🎭 **Theme System** - 5 built-in themes + custom themes
13
+ - 💾 **Export Anywhere** - PNG, SVG, HTML, PDF support
14
+ - 🚀 **No AI Dependencies** - Completely free, no API keys needed
15
+ - 📈 **Performance** - Handle 100K+ data points efficiently
16
+ - 🌍 **Geographic Maps** - Choropleth, scatter, and route maps
17
+ - 🔗 **Network Graphs** - Force-directed layouts, community detection
18
+ - 📐 **Statistical Plots** - Distributions, correlations, regressions
19
+
20
+ ## Installation
21
+
22
+ ```bash
23
+ pip install vizforge
24
+
25
+ # With all features
26
+ pip install vizforge[full]
27
+
28
+ # Only specific features
29
+ pip install vizforge[geo] # Geographic mapping
30
+ pip install vizforge[stats] # Statistical visualizations
31
+ pip install vizforge[network] # Network graphs
32
+ ```
33
+
34
+ ## Quick Start
35
+
36
+ ```python
37
+ import vizforge as vz
38
+ import pandas as pd
39
+
40
+ # Line chart
41
+ data = pd.DataFrame({
42
+ 'date': pd.date_range('2024-01-01', periods=30),
43
+ 'sales': [100, 120, 115, 130, 140, ...]
44
+ })
45
+ vz.line(data, x='date', y='sales', title='Daily Sales')
46
+
47
+ # Bar chart
48
+ vz.bar(data, x='category', y='amount', color='region')
49
+
50
+ # Scatter plot
51
+ vz.scatter(data, x='age', y='income', size='population')
52
+
53
+ # Pie chart
54
+ vz.pie(data, values='market_share', names='company')
55
+ ```
56
+
57
+ ## Chart Types
58
+
59
+ ### Basic Charts
60
+ - **Line Chart** - Single/multi-line, area charts
61
+ - **Bar Chart** - Vertical/horizontal, grouped/stacked
62
+ - **Scatter Plot** - 2D/3D, bubble charts
63
+ - **Pie Chart** - Pie/donut, sunburst
64
+
65
+ ### Advanced Charts
66
+ - **Heatmap** - Correlation matrices, custom data
67
+ - **Treemap** - Hierarchical data visualization
68
+ - **Sankey Diagram** - Flow visualization
69
+ - **Network Graph** - Nodes/edges, force-directed
70
+ - **Waterfall Chart** - Cumulative effect
71
+ - **Funnel Chart** - Conversion tracking
72
+ - **Gauge Chart** - KPI display
73
+ - **Candlestick** - Financial data
74
+
75
+ ### Statistical Charts
76
+ - **Histogram** - Distribution analysis
77
+ - **Box Plot** - Quartiles and outliers
78
+ - **Violin Plot** - Distribution shape
79
+ - **KDE Plot** - Kernel density estimation
80
+ - **Correlation Matrix** - Feature relationships
81
+ - **Regression Plot** - With confidence intervals
82
+
83
+ ### Geographic Charts
84
+ - **Choropleth Map** - Regions colored by value
85
+ - **Scatter Map** - Points on map
86
+ - **Route Map** - Lines between locations
87
+ - **Heat Map** - Density visualization
88
+
89
+ ## Themes
90
+
91
+ ```python
92
+ # Built-in themes
93
+ vz.set_theme("default") # Modern, colorful
94
+ vz.set_theme("dark") # Dark background, neon accents
95
+ vz.set_theme("minimal") # Clean, monochrome
96
+ vz.set_theme("corporate") # Professional, conservative
97
+ vz.set_theme("scientific") # Publication-ready
98
+
99
+ # Custom theme
100
+ custom = vz.Theme(
101
+ background_color="#ffffff",
102
+ text_color="#333333",
103
+ primary_color="#3498db",
104
+ font_family="Arial"
105
+ )
106
+ vz.set_theme(custom)
107
+ ```
108
+
109
+ ## Export Options
110
+
111
+ ```python
112
+ # PNG (high resolution)
113
+ chart.export("output.png", width=1920, height=1080)
114
+
115
+ # SVG (vector graphics)
116
+ chart.export("output.svg")
117
+
118
+ # HTML (interactive)
119
+ chart.export("output.html")
120
+
121
+ # PDF (publication-ready)
122
+ chart.export("output.pdf")
123
+ ```
124
+
125
+ ## Examples
126
+
127
+ ### Multi-line Comparison
128
+ ```python
129
+ from vizforge import Chart
130
+
131
+ chart = Chart(chart_type='line', theme='dark')
132
+ chart.add_line(x=dates, y=product_a, name='Product A')
133
+ chart.add_line(x=dates, y=product_b, name='Product B')
134
+ chart.add_line(x=dates, y=product_c, name='Product C')
135
+ chart.update_layout(title='Product Comparison')
136
+ chart.show()
137
+ ```
138
+
139
+ ### Grouped Bar Chart
140
+ ```python
141
+ vz.bar(
142
+ data,
143
+ x='month',
144
+ y='revenue',
145
+ color='region',
146
+ barmode='group',
147
+ title='Regional Revenue by Month'
148
+ )
149
+ ```
150
+
151
+ ### Correlation Heatmap
152
+ ```python
153
+ vz.heatmap(
154
+ correlation_matrix,
155
+ title='Feature Correlation',
156
+ colorscale='RdBu',
157
+ annotations=True
158
+ )
159
+ ```
160
+
161
+ ### Geographic Choropleth
162
+ ```python
163
+ from vizforge.geo import choropleth_map
164
+
165
+ choropleth_map(
166
+ locations=countries,
167
+ values=gdp_data,
168
+ title='GDP by Country',
169
+ colorscale='Greens'
170
+ )
171
+ ```
172
+
173
+ ### Network Graph
174
+ ```python
175
+ from vizforge.charts import network_graph
176
+
177
+ network_graph(
178
+ nodes=node_list,
179
+ edges=edge_list,
180
+ layout='force_directed',
181
+ node_size='degree',
182
+ node_color='community'
183
+ )
184
+ ```
185
+
186
+ ## Philosophy
187
+
188
+ > "Visualization should be easy. The code should disappear, and the story should emerge."
189
+
190
+ VizForge believes that:
191
+ - Beautiful visualizations shouldn't require complex code
192
+ - Themes should be globally consistent
193
+ - Export should be effortless
194
+ - No visualization library should require AI or paid APIs
195
+
196
+ ## Why VizForge?
197
+
198
+ | Feature | VizForge | Plotly | Matplotlib | Seaborn |
199
+ |---------|----------|--------|------------|---------|
200
+ | Easy API | ✅ | ⚠️ | ❌ | ✅ |
201
+ | Interactive | ✅ | ✅ | ❌ | ❌ |
202
+ | Static Export | ✅ | ✅ | ✅ | ✅ |
203
+ | Themes | ✅ | ⚠️ | ⚠️ | ✅ |
204
+ | Geographic | ✅ | ✅ | ⚠️ | ❌ |
205
+ | Network Graphs | ✅ | ✅ | ⚠️ | ❌ |
206
+ | One-line Plots | ✅ | ❌ | ⚠️ | ✅ |
207
+ | Learning Curve | Low | Medium | High | Medium |
208
+
209
+ ## Performance
210
+
211
+ - Efficiently handles 100K+ data points
212
+ - WebGL rendering for scatter plots
213
+ - Automatic data aggregation
214
+ - Lazy loading for large datasets
215
+ - Caching for computed layouts
216
+
217
+ ## Requirements
218
+
219
+ - Python >= 3.10
220
+ - pandas >= 2.0.0
221
+ - numpy >= 1.24.0
222
+ - plotly >= 5.18.0
223
+
224
+ ## License
225
+
226
+ MIT License - Free for commercial use
227
+
228
+ ## Contributing
229
+
230
+ Contributions welcome! Please open an issue or pull request.
231
+
232
+ ## Documentation
233
+
234
+ See `examples/` directory for comprehensive examples.
235
+
236
+ ---
237
+
238
+ **VizForge: Forge Beautiful Visualizations, Effortlessly.**
@@ -0,0 +1,96 @@
1
+ [build-system]
2
+ requires = ["setuptools>=65.0", "wheel"]
3
+ build-backend = "setuptools.build_meta"
4
+
5
+ [project]
6
+ name = "vizforge"
7
+ version = "0.1.0"
8
+ description = "Production-grade data visualization library with zero AI dependencies"
9
+ readme = "README.md"
10
+ authors = [
11
+ { name = "Tefik Yildiz", email = "teyfikoz@example.com" }
12
+ ]
13
+ license = {text = "MIT"}
14
+ classifiers = [
15
+ "Development Status :: 4 - Beta",
16
+ "Intended Audience :: Developers",
17
+ "Intended Audience :: Science/Research",
18
+ "Programming Language :: Python :: 3",
19
+ "Programming Language :: Python :: 3.10",
20
+ "Programming Language :: Python :: 3.11",
21
+ "Programming Language :: Python :: 3.12",
22
+ "Topic :: Scientific/Engineering :: Visualization",
23
+ "Topic :: Software Development :: Libraries :: Python Modules",
24
+ ]
25
+ keywords = ["visualization", "plotting", "charts", "graphs", "data-viz"]
26
+ requires-python = ">=3.10"
27
+ dependencies = [
28
+ "plotly>=5.18.0",
29
+ "pandas>=2.0.0",
30
+ "numpy>=1.24.0",
31
+ ]
32
+
33
+ [project.optional-dependencies]
34
+ dev = [
35
+ "pytest>=7.0",
36
+ "pytest-cov>=4.0",
37
+ "black>=23.0",
38
+ "ruff>=0.1.0",
39
+ ]
40
+ geo = [
41
+ "folium>=0.15.0",
42
+ "geopandas>=0.14.0",
43
+ ]
44
+ stats = [
45
+ "scipy>=1.10.0",
46
+ "seaborn>=0.13.0",
47
+ ]
48
+ network = [
49
+ "networkx>=3.0",
50
+ "pyvis>=0.3.0",
51
+ ]
52
+ export = [
53
+ "kaleido>=0.2.0",
54
+ "pillow>=10.0.0",
55
+ ]
56
+ full = [
57
+ "folium>=0.15.0",
58
+ "geopandas>=0.14.0",
59
+ "scipy>=1.10.0",
60
+ "seaborn>=0.13.0",
61
+ "networkx>=3.0",
62
+ "pyvis>=0.3.0",
63
+ "kaleido>=0.2.0",
64
+ "pillow>=10.0.0",
65
+ ]
66
+
67
+ [project.urls]
68
+ Homepage = "https://github.com/teyfikoz/VizForge"
69
+ Repository = "https://github.com/teyfikoz/VizForge"
70
+ Documentation = "https://github.com/teyfikoz/VizForge/docs"
71
+ Issues = "https://github.com/teyfikoz/VizForge/issues"
72
+
73
+ [tool.setuptools.packages.find]
74
+ where = ["."]
75
+ include = ["vizforge*"]
76
+ exclude = ["tests*", "examples*", "docs*"]
77
+
78
+ [tool.pytest.ini_options]
79
+ testpaths = ["tests"]
80
+ python_files = ["test_*.py"]
81
+ python_classes = ["Test*"]
82
+ python_functions = ["test_*"]
83
+ addopts = "-v --strict-markers"
84
+
85
+ [tool.black]
86
+ line-length = 100
87
+ target-version = ["py310"]
88
+
89
+ [tool.ruff]
90
+ line-length = 100
91
+ target-version = "py310"
92
+ select = ["E", "F", "W", "I", "N", "UP"]
93
+ ignore = []
94
+
95
+ [tool.ruff.per-file-ignores]
96
+ "__init__.py" = ["F401"]
@@ -0,0 +1,4 @@
1
+ [egg_info]
2
+ tag_build =
3
+ tag_date = 0
4
+
@@ -0,0 +1,48 @@
1
+ """
2
+ VizForge - Production-grade data visualization library with zero AI dependencies.
3
+
4
+ Create beautiful, interactive visualizations with a single line of code.
5
+ """
6
+
7
+ from .core import (
8
+ BaseChart,
9
+ Theme,
10
+ get_theme,
11
+ set_theme,
12
+ register_theme,
13
+ list_themes,
14
+ )
15
+
16
+ from .charts import (
17
+ LineChart,
18
+ line,
19
+ BarChart,
20
+ bar,
21
+ ScatterPlot,
22
+ scatter,
23
+ PieChart,
24
+ pie,
25
+ donut,
26
+ )
27
+
28
+ __version__ = "0.1.0"
29
+
30
+ __all__ = [
31
+ # Core
32
+ "BaseChart",
33
+ "Theme",
34
+ "get_theme",
35
+ "set_theme",
36
+ "register_theme",
37
+ "list_themes",
38
+ # Charts
39
+ "LineChart",
40
+ "line",
41
+ "BarChart",
42
+ "bar",
43
+ "ScatterPlot",
44
+ "scatter",
45
+ "PieChart",
46
+ "pie",
47
+ "donut",
48
+ ]