-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathpyproject.toml
More file actions
67 lines (65 loc) · 2.05 KB
/
Copy pathpyproject.toml
File metadata and controls
67 lines (65 loc) · 2.05 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
[project]
name = "high-performance-python"
version = "0.1.0"
description = "Julia set example from High Performance Python, with profiling & flame-graph tooling."
requires-python = ">=3.12"
# The Julia set itself is pure standard library — no runtime dependencies.
dependencies = [
"aiohttp>=3.14.1",
"bcrypt>=5.0.0",
"bitarray>=3.8.2",
"cffi>=2.0.0",
"cython>=3.2.5",
"dask[dataframe]>=2026.3.0",
"dozer>=0.9",
"fastapi>=0.136.3",
"flask>=3.1.3",
"httpx>=0.28.1",
"ipyparallel>=9.2.0",
"marisa-trie>=1.4.1",
"matplotlib>=3.10.9",
"maturin>=1.14.0",
"memory-profiler>=0.61.0",
"memray>=1.19.3",
"meson>=1.11.1",
"mmh3>=5.2.1",
"msgpack>=1.2.0",
"ninja>=1.13.0",
"numba>=0.65.1",
"numexpr>=2.14.1", # chapter_6 ex11: compiled vector expressions (Example 6-18)
"numpy>=2.4.6",
"objgraph>=3.6.2",
"pandas>=3.0.3",
"pandera>=0.32.0",
"polars>=1.41.2",
"py-spy>=0.4.2",
"pyahocorasick>=2.3.1",
"pyarrow>=24.0.0",
"pympler>=1.1",
"pypdfium2>=5.9.0",
"pythran>=0.18.1",
"redis>=8.0.0",
"requests>=2.34.2",
"scalene>=2.3.0",
"scikit-learn>=1.9.0",
"scipy>=1.17.1", # chapter_6 ex12: scipy.ndimage.laplace cautionary tale (Example 6-27)
"shapely>=2.1.2",
"swifter>=1.4.0",
"torch>=2.12.0", # chapter_6 ex07-ex10: GPU diffusion + precision on MPS/CUDA
"uvicorn[standard]>=0.48.0",
"viztracer>=1.1.1",
]
[dependency-groups]
# Profiling & visualization tools used in this project.
# Installed by default via `uv sync` (see default-groups below).
profiling = [
"gprof2dot>=2025.4.14", # cProfile stats -> Graphviz call-graph PNG (needs system `dot`)
"snakeviz>=2.2.2", # interactive icicle viewer (local web server)
"flameprof>=0.4", # static SVG flame graph from pstats
"line-profiler>=5.0.2",
]
[tool.uv]
# This is an app/script project, not a distributable package — don't build it,
# just manage the environment and dependencies.
package = false
default-groups = ["profiling"]