Skip to content

Commit c69894b

Browse files
tdhopperclaude
andcommitted
Modernize Python dependencies to 2025 standards
- Update Python 3.6 β†’ 3.11 in runtime.txt - Create pyproject.toml with modern project metadata - Update all plotting libraries to latest versions: - plotly 4.10 β†’ 5.24+ (no authentication needed) - plotnine β†’ 0.13+ (better ggplot2 compatibility) - altair β†’ 5.0+ (major version bump) - statsmodels 0.11 β†’ 0.14+ (security fixes) - seaborn, pandas, matplotlib to latest - Remove deprecated packages: - altair-saver (use native rendering) - chart-studio (not needed with plotly v5) - duplicate selenium entry - Update rpy2 to 3.5+ for Python 3.11 compatibility πŸ€– Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
1 parent 91aff31 commit c69894b

File tree

3 files changed

+113
-25
lines changed

3 files changed

+113
-25
lines changed

β€Žpyproject.tomlβ€Ž

Lines changed: 70 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,70 @@
1+
[project]
2+
name = "pythonplot"
3+
version = "0.1.0"
4+
description = "An Introduction to Python Plotting for Exploratory Data Analysis"
5+
authors = [
6+
{name = "Tim Hopper", email = "tim@tdhopper.com"}
7+
]
8+
readme = "README.md"
9+
requires-python = ">=3.11"
10+
license = {text = "MIT"}
11+
12+
dependencies = [
13+
# Core Jupyter/IPython
14+
"ipython>=8.12",
15+
"notebook>=7.0",
16+
"jupyter>=1.0",
17+
18+
# Data manipulation
19+
"pandas>=2.0",
20+
21+
# Plotting libraries
22+
"matplotlib>=3.7",
23+
"seaborn>=0.13",
24+
"plotnine>=0.13",
25+
"plotly>=5.24",
26+
"altair>=5.0",
27+
28+
# Image rendering
29+
"kaleido>=0.2.1",
30+
"pillow>=10.0",
31+
"selenium>=4.15",
32+
33+
# Statistical tools
34+
"statsmodels>=0.14",
35+
"scikit-misc>=0.3",
36+
37+
# R integration
38+
"rpy2>=3.5",
39+
40+
# Template rendering
41+
"jinja2>=3.1",
42+
"jinja2-highlight>=0.6",
43+
"markdown>=3.5",
44+
45+
# Utilities
46+
"psutil>=5.9",
47+
"tzlocal>=5.0",
48+
"simplegeneric>=0.8",
49+
50+
# Cloud (if needed for deployment)
51+
"boto3>=1.28",
52+
53+
# Testing
54+
"pytest>=7.4",
55+
]
56+
57+
[project.urls]
58+
Homepage = "https://pythonplot.com"
59+
Repository = "https://github.com/tdhopper/pythonplot.com"
60+
61+
[build-system]
62+
requires = ["hatchling"]
63+
build-backend = "hatchling.build"
64+
65+
[tool.uv]
66+
dev-dependencies = []
67+
68+
[tool.pytest.ini_options]
69+
testpaths = ["tests"]
70+
python_files = ["test_*.py"]

β€Žrequirements.txtβ€Ž

Lines changed: 42 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -1,24 +1,42 @@
1-
selenium
2-
pillow
3-
ipython
4-
pandas
5-
jupyter
6-
seaborn
7-
plotnine<0.7.0
8-
jinja2
9-
jinja2-highlight
10-
markdown
11-
scikit-misc
12-
boto3
13-
pytest
14-
chart-studio
15-
statsmodels==0.11.1
16-
rpy2
17-
psutil
18-
plotly==4.10.0
19-
kaleido
20-
tzlocal
21-
simplegeneric
22-
altair
23-
altair-saver
24-
selenium
1+
# Core Jupyter/IPython
2+
ipython>=8.12
3+
notebook>=7.0
4+
jupyter>=1.0
5+
6+
# Data manipulation
7+
pandas>=2.0
8+
9+
# Plotting libraries
10+
matplotlib>=3.7
11+
seaborn>=0.13
12+
plotnine>=0.13
13+
plotly>=5.24
14+
altair>=5.0
15+
16+
# Image rendering and export
17+
kaleido>=0.2.1
18+
pillow>=10.0
19+
selenium>=4.15
20+
21+
# Statistical tools
22+
statsmodels>=0.14
23+
scikit-misc>=0.3
24+
25+
# R integration
26+
rpy2>=3.5
27+
28+
# Template rendering
29+
jinja2>=3.1
30+
jinja2-highlight>=0.6
31+
markdown>=3.5
32+
33+
# Utilities
34+
psutil>=5.9
35+
tzlocal>=5.0
36+
simplegeneric>=0.8
37+
38+
# Cloud services (for deployment)
39+
boto3>=1.28
40+
41+
# Testing
42+
pytest>=7.4

β€Žruntime.txtβ€Ž

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
3.6
1+
3.11

0 commit comments

Comments
Β (0)