From 78556bbbd702fbd6cc9744ba0e2bd12336e7fba7 Mon Sep 17 00:00:00 2001 From: wjsjwr Date: Sat, 26 Jul 2025 11:41:02 +0800 Subject: [PATCH] initialize --- .python-version | 1 + README.md | 115 +- embryo-backend/Data/CS7.h5ad | Bin 0 -> 114968 bytes embryo-backend/Data/CS8.h5ad | Bin 0 -> 209672 bytes embryo-backend/Data/CS9.h5ad | Bin 0 -> 335448 bytes embryo-backend/Data/FakeEmbryo.py | 80 + .../Data/embryo_mock_3D_expression.h5ad | Bin 0 -> 102840 bytes embryo-backend/app.py | 61 + embryo-frontend/.gitignore | 24 + embryo-frontend/index.html | 13 + embryo-frontend/package-lock.json | 1443 +++++++++++++++++ embryo-frontend/package.json | 24 + embryo-frontend/public/vite.svg | 1 + embryo-frontend/src/App.tsx | 15 + embryo-frontend/src/api/geneAPI.ts | 6 + embryo-frontend/src/components/PointCloud.tsx | 129 ++ embryo-frontend/src/main.tsx | 10 + embryo-frontend/src/pages/GeneView.tsx | 122 ++ embryo-frontend/src/style.css | 96 ++ embryo-frontend/src/typescript.svg | 1 + embryo-frontend/src/vite-env.d.ts | 1 + embryo-frontend/tsconfig.json | 26 + pyproject.toml | 12 + start-dev.ps1 | 107 ++ uv.lock | 468 ++++++ 25 files changed, 2754 insertions(+), 1 deletion(-) create mode 100644 .python-version create mode 100644 embryo-backend/Data/CS7.h5ad create mode 100644 embryo-backend/Data/CS8.h5ad create mode 100644 embryo-backend/Data/CS9.h5ad create mode 100644 embryo-backend/Data/FakeEmbryo.py create mode 100644 embryo-backend/Data/embryo_mock_3D_expression.h5ad create mode 100644 embryo-backend/app.py create mode 100644 embryo-frontend/.gitignore create mode 100644 embryo-frontend/index.html create mode 100644 embryo-frontend/package-lock.json create mode 100644 embryo-frontend/package.json create mode 100644 embryo-frontend/public/vite.svg create mode 100644 embryo-frontend/src/App.tsx create mode 100644 embryo-frontend/src/api/geneAPI.ts create mode 100644 embryo-frontend/src/components/PointCloud.tsx create mode 100644 embryo-frontend/src/main.tsx create mode 100644 embryo-frontend/src/pages/GeneView.tsx create mode 100644 embryo-frontend/src/style.css create mode 100644 embryo-frontend/src/typescript.svg create mode 100644 embryo-frontend/src/vite-env.d.ts create mode 100644 embryo-frontend/tsconfig.json create mode 100644 pyproject.toml create mode 100644 start-dev.ps1 create mode 100644 uv.lock diff --git a/.python-version b/.python-version new file mode 100644 index 0000000..24ee5b1 --- /dev/null +++ b/.python-version @@ -0,0 +1 @@ +3.13 diff --git a/README.md b/README.md index ac7cde3..3357fc1 100644 --- a/README.md +++ b/README.md @@ -1,2 +1,115 @@ -# digital-embryo +# 安装 Vite 创建工具(只需一次) +``` +npm create vite@latest embryo-frontend -- --template react-ts +cd embryo-frontend +npm install +npm install three @react-three/fiber @react-three/drei +npm install zustand axios react-router-dom +npm run dev +cd .. +mkdir embryo-backend +cd embryo-backend +``` +# 创建虚拟环境(推荐) +安装uv: +``` +powershell -ExecutionPolicy ByPass -c "irm https://astral.sh/uv/install.ps1 | iex" +``` + +# 运行 +``` +.\start-dev.ps1 +``` + + + +## 脚本功能: + +1. **同时启动两个服务**: + - 前端:在 `embryo-frontend` 目录中运行 `npm run dev` + - 后端:使用 `uv run` 运行 `embryo-backend/app.py` + +2. **智能检查**: + - 验证目录和文件是否存在 + - 监控服务状态 + - 提供彩色输出和状态信息 + +3. **优雅的停止机制**: + - 使用 Ctrl+C 可以同时停止两个服务 + - 自动清理后台作业 + +## 使用方法: + +在项目根目录中运行: + +```powershell +.\start-dev.ps1 +``` + +或者如果需要执行权限: + +```powershell +Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUser +.\start-dev.ps1 +``` + +## 预期输出: + +- 前端开发服务器通常运行在:`http://localhost:5173` +- 后端API服务器通常运行在:`http://localhost:5000` + +脚本会显示启动状态,并在两个服务都启动后保持运行状态。按 Ctrl+C 可以同时停止所有服务。 + +现在您可以使用这个脚本来快速启动整个开发环境了! + + +# 20250721 3D点云可视化 + +``` +npm install three +``` + +# 20250721生成假的胚胎数据: +``` +uv run FakeEmbyro.py + + +cd embryo-frontend +npm install chart.js react-chartjs-2 +``` + + + +``` +import numpy as np +import pandas as pd +import anndata as ad +import os + +script_path = os.path.dirname(os.path.realpath(__file__)) +N = 1500 +radius = 10 +np.random.seed(42) + +phi = np.random.uniform(0, np.pi, N) +theta = np.random.uniform(0, 2 * np.pi, N) + +x = radius * np.sin(phi) * np.cos(theta) +y = radius * np.sin(phi) * np.sin(theta) +z = radius * 0.7 * np.cos(phi) + +genes = ["SOX2", "NANOG", "POU5F1", "T", "OTX2", "ZIC2", "FOXA2", "LEFTY1"] +expression_data = { + gene: np.exp(-(x**2 + y**2 + z**2) / (2 * radius**2)) + 0.1 * np.random.rand(N) + for gene in genes +} + +obs = pd.DataFrame({"cell_id": [f"cell_{i}" for i in range(N)]}, index=[f"cell_{i}" for i in range(N)]) +var = pd.DataFrame(index=genes) +obsm = {"spatial": np.vstack([x, y, z]).T} +X = np.vstack([expression_data[gene] for gene in genes]).T # shape (N, G) + +adata = ad.AnnData(X=X, obs=obs, var=var, obsm=obsm) +adata.write(f"{script_path}/CS9.h5ad") +``` diff --git a/embryo-backend/Data/CS7.h5ad b/embryo-backend/Data/CS7.h5ad new file mode 100644 index 0000000000000000000000000000000000000000..44fefc09049718710002c0756c4c52813c4cea29 GIT binary patch literal 114968 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 GeE%P(vpfm_ literal 0 HcmV?d00001 diff --git a/embryo-backend/Data/CS8.h5ad b/embryo-backend/Data/CS8.h5ad new file mode 100644 index 0000000000000000000000000000000000000000..8322a511776626891cdff3bbed975f6691e0c78e GIT binary patch literal 209672 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 z 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 K^PY=Dx&H<58@-+Y literal 0 HcmV?d00001 diff --git a/embryo-backend/Data/CS9.h5ad b/embryo-backend/Data/CS9.h5ad new file mode 100644 index 0000000000000000000000000000000000000000..3c849a195fd73afc613ba33ff43b7b6a883469f8 GIT binary patch literal 335448 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 literal 0 HcmV?d00001 diff --git a/embryo-backend/Data/FakeEmbryo.py b/embryo-backend/Data/FakeEmbryo.py new file mode 100644 index 0000000..0aaa749 --- /dev/null +++ b/embryo-backend/Data/FakeEmbryo.py @@ -0,0 +1,80 @@ +import numpy as np +import pandas as pd +import anndata as ad +import os + +np.random.seed(42) + +# 参数配置 +stages = [("CS7", 500), ("CS8", 1000), ("CS9", 1500)] +genes = ["SOX2", "NANOG", "T", "POU5F1", "OTX2", "ZIC2", "FOXA2", "LEFTY1"] +layers = { + "Ectoderm": 1.0, # 外层 + "Mesoderm": 0.85, # 中层 + "Endoderm": 0.7, # 内层 +} +notochord_ratio = 0.05 # 脊索/原条占总细胞数的比例 + +# 保存路径 +script_path = os.path.dirname(os.path.realpath(__file__)) + +for stage, total_cells in stages: + n_noto = int(total_cells * notochord_ratio) + n_layer = total_cells - n_noto + n_per_layer = n_layer // len(layers) + + positions = [] + cell_types = [] + ids = [] + + # 椭球比例参数 + a, b, c = 10, 8, 5 + + for i, (layer_name, scale) in enumerate(layers.items()): + N = n_per_layer + phi = np.random.uniform(0, np.pi, N) + theta = np.random.uniform(0, 2*np.pi, N) + r = scale # 层的半径比例 + + x = a * r * np.sin(phi) * np.cos(theta) + y = b * r * np.sin(phi) * np.sin(theta) + z = c * r * np.cos(phi) + + for xi, yi, zi in zip(x, y, z): + positions.append([xi, yi, zi]) + cell_types.append(layer_name) + ids.append(f"{stage}_{layer_name}_{len(ids)}") + + # 添加脊索/原条样结构(Z轴中间偏下的细胞) + x = np.random.normal(0, 0.5, n_noto) + y = np.random.normal(0, 0.5, n_noto) + z = np.linspace(-3, 3, n_noto) + + for xi, yi, zi in zip(x, y, z): + positions.append([xi, yi, zi]) + cell_types.append("Notochord") + ids.append(f"{stage}_Noto_{len(ids)}") + + # 构造表达矩阵 + pos_arr = np.array(positions) + X_data = [] + for gene in genes: + center = np.random.randn(3) * 2 + spread = np.random.uniform(5, 12) + expr = np.exp(-np.sum((pos_arr - center)**2, axis=1) / (2 * spread**2)) + expr += 0.05 * np.random.rand(len(pos_arr)) # 加一点噪声 + X_data.append(expr) + X = np.vstack(X_data).T # shape (cells, genes) + + # 构造 AnnData + obs = pd.DataFrame({ + "cell_id": ids, + "cell_type": cell_types, + "stage": stage + }, index=ids) + var = pd.DataFrame(index=genes) + obsm = {"spatial": pos_arr} + + adata = ad.AnnData(X=X, obs=obs, var=var, obsm=obsm) + adata.write_h5ad(os.path.join(script_path, f"{stage}.h5ad")) + print(f"Saved: {stage}.h5ad with {len(ids)} cells.") diff --git a/embryo-backend/Data/embryo_mock_3D_expression.h5ad b/embryo-backend/Data/embryo_mock_3D_expression.h5ad new file mode 100644 index 0000000000000000000000000000000000000000..f4cc1bb2904d9f37bb1e668564e2d103f43a8739 GIT binary patch literal 102840 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 Xcl;HHf9ANm{2wBJ$GE%vA0+<=qQ|Fc literal 0 HcmV?d00001 diff --git a/embryo-backend/app.py b/embryo-backend/app.py new file mode 100644 index 0000000..6bd81e4 --- /dev/null +++ b/embryo-backend/app.py @@ -0,0 +1,61 @@ +from flask import Flask, request, jsonify +from flask_cors import CORS +import anndata as ad +import os + +app = Flask(__name__) +CORS(app) + +# 存放所有 h5ad 文件的目录 +DATA_DIR = os.path.join(os.path.dirname(__file__), "Data") + +# 缓存已加载的 AnnData 对象,避免重复加载 +loaded_data = {} + +def load_adata(stage): + if stage not in loaded_data: + filepath = os.path.join(DATA_DIR, f"{stage}.h5ad") + if not os.path.exists(filepath): + return None + loaded_data[stage] = ad.read_h5ad(filepath) + return loaded_data[stage] + +@app.route("/api/genes") +def list_genes(): + stage = request.args.get("stage") + adata = load_adata(stage) + if not adata: + return jsonify({"error": f"Stage '{stage}' not found"}), 404 + return jsonify(list(adata.var_names)) + +@app.route("/api/gene_expression") +def get_gene_expression(): + gene = request.args.get("gene") + stage = request.args.get("stage") + adata = load_adata(stage) + + if not adata: + return jsonify({"error": f"Stage '{stage}' not found"}), 404 + if gene not in adata.var_names: + return jsonify({"error": f"Gene '{gene}' not found in {stage}"}), 404 + + # 读取表达值 + expr = adata[:, gene].X + expr = expr.toarray().flatten() if hasattr(expr, "toarray") else expr.flatten() + + # 读取三维坐标 + if "spatial" in adata.obsm: + coords = adata.obsm["spatial"] + elif all(k in adata.obs for k in ("x", "y", "z")): + coords = adata.obs[["x", "y", "z"]].values + else: + return jsonify({"error": "No spatial coordinates found"}), 500 + + result = [ + {"x": float(x), "y": float(y), "z": float(z), "value": float(v)} + for (x, y, z), v in zip(coords, expr) + ] + return jsonify({"gene": gene, "expression": result}) + +if __name__ == "__main__": + app.run(debug=True) diff --git a/embryo-frontend/.gitignore b/embryo-frontend/.gitignore new file mode 100644 index 0000000..a547bf3 --- /dev/null +++ b/embryo-frontend/.gitignore @@ -0,0 +1,24 @@ +# Logs +logs +*.log +npm-debug.log* +yarn-debug.log* +yarn-error.log* +pnpm-debug.log* +lerna-debug.log* + +node_modules +dist +dist-ssr +*.local + +# Editor directories and files +.vscode/* +!.vscode/extensions.json +.idea +.DS_Store +*.suo +*.ntvs* +*.njsproj +*.sln +*.sw? diff --git a/embryo-frontend/index.html b/embryo-frontend/index.html new file mode 100644 index 0000000..839e840 --- /dev/null +++ b/embryo-frontend/index.html @@ -0,0 +1,13 @@ + + + + + + + Vite + TS + + +
+ + + diff --git a/embryo-frontend/package-lock.json b/embryo-frontend/package-lock.json new file mode 100644 index 0000000..7aa3520 --- /dev/null +++ b/embryo-frontend/package-lock.json @@ -0,0 +1,1443 @@ +{ + "name": "embryo-frontend", + "version": "0.0.0", + "lockfileVersion": 3, + "requires": true, + "packages": { + "": { + "name": "embryo-frontend", + "version": "0.0.0", + "dependencies": { + "axios": "^1.10.0", + "chart.js": "^4.5.0", + "react": "^19.1.0", + "react-chartjs-2": "^5.3.0", + "react-dom": "^19.1.0", + "react-router-dom": "^7.6.3", + "three": "^0.178.0" + }, + "devDependencies": { + "typescript": "~5.8.3", + "vite": "^7.0.4" + } + }, + "node_modules/@esbuild/aix-ppc64": { + "version": "0.25.6", + "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.25.6.tgz", + "integrity": "sha512-ShbM/3XxwuxjFiuVBHA+d3j5dyac0aEVVq1oluIDf71hUw0aRF59dV/efUsIwFnR6m8JNM2FjZOzmaZ8yG61kw==", + "cpu": [ + "ppc64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "aix" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/android-arm": { + "version": "0.25.6", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.25.6.tgz", + "integrity": "sha512-S8ToEOVfg++AU/bHwdksHNnyLyVM+eMVAOf6yRKFitnwnbwwPNqKr3srzFRe7nzV69RQKb5DgchIX5pt3L53xg==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/android-arm64": { + "version": "0.25.6", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.25.6.tgz", + "integrity": "sha512-hd5zdUarsK6strW+3Wxi5qWws+rJhCCbMiC9QZyzoxfk5uHRIE8T287giQxzVpEvCwuJ9Qjg6bEjcRJcgfLqoA==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/android-x64": { + "version": "0.25.6", + "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.25.6.tgz", + "integrity": "sha512-0Z7KpHSr3VBIO9A/1wcT3NTy7EB4oNC4upJ5ye3R7taCc2GUdeynSLArnon5G8scPwaU866d3H4BCrE5xLW25A==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/darwin-arm64": { + "version": "0.25.6", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.25.6.tgz", + "integrity": "sha512-FFCssz3XBavjxcFxKsGy2DYK5VSvJqa6y5HXljKzhRZ87LvEi13brPrf/wdyl/BbpbMKJNOr1Sd0jtW4Ge1pAA==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/darwin-x64": { + "version": "0.25.6", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.25.6.tgz", + "integrity": "sha512-GfXs5kry/TkGM2vKqK2oyiLFygJRqKVhawu3+DOCk7OxLy/6jYkWXhlHwOoTb0WqGnWGAS7sooxbZowy+pK9Yg==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/freebsd-arm64": { + "version": "0.25.6", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.25.6.tgz", + "integrity": "sha512-aoLF2c3OvDn2XDTRvn8hN6DRzVVpDlj2B/F66clWd/FHLiHaG3aVZjxQX2DYphA5y/evbdGvC6Us13tvyt4pWg==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/freebsd-x64": { + "version": "0.25.6", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.25.6.tgz", + "integrity": "sha512-2SkqTjTSo2dYi/jzFbU9Plt1vk0+nNg8YC8rOXXea+iA3hfNJWebKYPs3xnOUf9+ZWhKAaxnQNUf2X9LOpeiMQ==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-arm": { + "version": "0.25.6", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.25.6.tgz", + "integrity": "sha512-SZHQlzvqv4Du5PrKE2faN0qlbsaW/3QQfUUc6yO2EjFcA83xnwm91UbEEVx4ApZ9Z5oG8Bxz4qPE+HFwtVcfyw==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-arm64": { + "version": "0.25.6", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.25.6.tgz", + "integrity": "sha512-b967hU0gqKd9Drsh/UuAm21Khpoh6mPBSgz8mKRq4P5mVK8bpA+hQzmm/ZwGVULSNBzKdZPQBRT3+WuVavcWsQ==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-ia32": { + "version": "0.25.6", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.25.6.tgz", + "integrity": "sha512-aHWdQ2AAltRkLPOsKdi3xv0mZ8fUGPdlKEjIEhxCPm5yKEThcUjHpWB1idN74lfXGnZ5SULQSgtr5Qos5B0bPw==", + "cpu": [ + "ia32" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-loong64": { + "version": "0.25.6", + "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.25.6.tgz", + "integrity": "sha512-VgKCsHdXRSQ7E1+QXGdRPlQ/e08bN6WMQb27/TMfV+vPjjTImuT9PmLXupRlC90S1JeNNW5lzkAEO/McKeJ2yg==", + "cpu": [ + "loong64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-mips64el": { + "version": "0.25.6", + "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.25.6.tgz", + "integrity": "sha512-WViNlpivRKT9/py3kCmkHnn44GkGXVdXfdc4drNmRl15zVQ2+D2uFwdlGh6IuK5AAnGTo2qPB1Djppj+t78rzw==", + "cpu": [ + "mips64el" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-ppc64": { + "version": "0.25.6", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.25.6.tgz", + "integrity": "sha512-wyYKZ9NTdmAMb5730I38lBqVu6cKl4ZfYXIs31Baf8aoOtB4xSGi3THmDYt4BTFHk7/EcVixkOV2uZfwU3Q2Jw==", + "cpu": [ + "ppc64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-riscv64": { + "version": "0.25.6", + "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.25.6.tgz", + "integrity": "sha512-KZh7bAGGcrinEj4qzilJ4hqTY3Dg2U82c8bv+e1xqNqZCrCyc+TL9AUEn5WGKDzm3CfC5RODE/qc96OcbIe33w==", + "cpu": [ + "riscv64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-s390x": { + "version": "0.25.6", + "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.25.6.tgz", + "integrity": "sha512-9N1LsTwAuE9oj6lHMyyAM+ucxGiVnEqUdp4v7IaMmrwb06ZTEVCIs3oPPplVsnjPfyjmxwHxHMF8b6vzUVAUGw==", + "cpu": [ + "s390x" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-x64": { + "version": "0.25.6", + "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.25.6.tgz", + "integrity": "sha512-A6bJB41b4lKFWRKNrWoP2LHsjVzNiaurf7wyj/XtFNTsnPuxwEBWHLty+ZE0dWBKuSK1fvKgrKaNjBS7qbFKig==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/netbsd-arm64": { + "version": "0.25.6", + "resolved": "https://registry.npmjs.org/@esbuild/netbsd-arm64/-/netbsd-arm64-0.25.6.tgz", + "integrity": "sha512-IjA+DcwoVpjEvyxZddDqBY+uJ2Snc6duLpjmkXm/v4xuS3H+3FkLZlDm9ZsAbF9rsfP3zeA0/ArNDORZgrxR/Q==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "netbsd" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/netbsd-x64": { + "version": "0.25.6", + "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.25.6.tgz", + "integrity": "sha512-dUXuZr5WenIDlMHdMkvDc1FAu4xdWixTCRgP7RQLBOkkGgwuuzaGSYcOpW4jFxzpzL1ejb8yF620UxAqnBrR9g==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "netbsd" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/openbsd-arm64": { + "version": "0.25.6", + "resolved": "https://registry.npmjs.org/@esbuild/openbsd-arm64/-/openbsd-arm64-0.25.6.tgz", + "integrity": "sha512-l8ZCvXP0tbTJ3iaqdNf3pjaOSd5ex/e6/omLIQCVBLmHTlfXW3zAxQ4fnDmPLOB1x9xrcSi/xtCWFwCZRIaEwg==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "openbsd" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/openbsd-x64": { + "version": "0.25.6", + "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.25.6.tgz", + "integrity": "sha512-hKrmDa0aOFOr71KQ/19JC7az1P0GWtCN1t2ahYAf4O007DHZt/dW8ym5+CUdJhQ/qkZmI1HAF8KkJbEFtCL7gw==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "openbsd" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/openharmony-arm64": { + "version": "0.25.6", + "resolved": "https://registry.npmjs.org/@esbuild/openharmony-arm64/-/openharmony-arm64-0.25.6.tgz", + "integrity": "sha512-+SqBcAWoB1fYKmpWoQP4pGtx+pUUC//RNYhFdbcSA16617cchuryuhOCRpPsjCblKukAckWsV+aQ3UKT/RMPcA==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "openharmony" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/sunos-x64": { + "version": "0.25.6", + "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.25.6.tgz", + "integrity": "sha512-dyCGxv1/Br7MiSC42qinGL8KkG4kX0pEsdb0+TKhmJZgCUDBGmyo1/ArCjNGiOLiIAgdbWgmWgib4HoCi5t7kA==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "sunos" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/win32-arm64": { + "version": "0.25.6", + "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.25.6.tgz", + "integrity": "sha512-42QOgcZeZOvXfsCBJF5Afw73t4veOId//XD3i+/9gSkhSV6Gk3VPlWncctI+JcOyERv85FUo7RxuxGy+z8A43Q==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/win32-ia32": { + "version": "0.25.6", + "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.25.6.tgz", + "integrity": "sha512-4AWhgXmDuYN7rJI6ORB+uU9DHLq/erBbuMoAuB4VWJTu5KtCgcKYPynF0YI1VkBNuEfjNlLrFr9KZPJzrtLkrQ==", + "cpu": [ + "ia32" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/win32-x64": { + "version": "0.25.6", + "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.25.6.tgz", + "integrity": "sha512-NgJPHHbEpLQgDH2MjQu90pzW/5vvXIZ7KOnPyNBm92A6WgZ/7b6fJyUBjoumLqeOQQGqY2QjQxRo97ah4Sj0cA==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@kurkle/color": { + "version": "0.3.4", + "resolved": "https://registry.npmjs.org/@kurkle/color/-/color-0.3.4.tgz", + "integrity": "sha512-M5UknZPHRu3DEDWoipU6sE8PdkZ6Z/S+v4dD+Ke8IaNlpdSQah50lz1KtcFBa2vsdOnwbbnxJwVM4wty6udA5w==", + "license": "MIT" + }, + "node_modules/@rollup/rollup-android-arm-eabi": { + "version": "4.45.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.45.1.tgz", + "integrity": "sha512-NEySIFvMY0ZQO+utJkgoMiCAjMrGvnbDLHvcmlA33UXJpYBCvlBEbMMtV837uCkS+plG2umfhn0T5mMAxGrlRA==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "android" + ] + }, + "node_modules/@rollup/rollup-android-arm64": { + "version": "4.45.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.45.1.tgz", + "integrity": "sha512-ujQ+sMXJkg4LRJaYreaVx7Z/VMgBBd89wGS4qMrdtfUFZ+TSY5Rs9asgjitLwzeIbhwdEhyj29zhst3L1lKsRQ==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "android" + ] + }, + "node_modules/@rollup/rollup-darwin-arm64": { + "version": "4.45.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.45.1.tgz", + "integrity": "sha512-FSncqHvqTm3lC6Y13xncsdOYfxGSLnP+73k815EfNmpewPs+EyM49haPS105Rh4aF5mJKywk9X0ogzLXZzN9lA==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ] + }, + "node_modules/@rollup/rollup-darwin-x64": { + "version": "4.45.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.45.1.tgz", + "integrity": "sha512-2/vVn/husP5XI7Fsf/RlhDaQJ7x9zjvC81anIVbr4b/f0xtSmXQTFcGIQ/B1cXIYM6h2nAhJkdMHTnD7OtQ9Og==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ] + }, + "node_modules/@rollup/rollup-freebsd-arm64": { + "version": "4.45.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-arm64/-/rollup-freebsd-arm64-4.45.1.tgz", + "integrity": "sha512-4g1kaDxQItZsrkVTdYQ0bxu4ZIQ32cotoQbmsAnW1jAE4XCMbcBPDirX5fyUzdhVCKgPcrwWuucI8yrVRBw2+g==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ] + }, + "node_modules/@rollup/rollup-freebsd-x64": { + "version": "4.45.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-x64/-/rollup-freebsd-x64-4.45.1.tgz", + "integrity": "sha512-L/6JsfiL74i3uK1Ti2ZFSNsp5NMiM4/kbbGEcOCps99aZx3g8SJMO1/9Y0n/qKlWZfn6sScf98lEOUe2mBvW9A==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ] + }, + "node_modules/@rollup/rollup-linux-arm-gnueabihf": { + "version": "4.45.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.45.1.tgz", + "integrity": "sha512-RkdOTu2jK7brlu+ZwjMIZfdV2sSYHK2qR08FUWcIoqJC2eywHbXr0L8T/pONFwkGukQqERDheaGTeedG+rra6Q==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-arm-musleabihf": { + "version": "4.45.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.45.1.tgz", + "integrity": "sha512-3kJ8pgfBt6CIIr1o+HQA7OZ9mp/zDk3ctekGl9qn/pRBgrRgfwiffaUmqioUGN9hv0OHv2gxmvdKOkARCtRb8Q==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-arm64-gnu": { + "version": "4.45.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.45.1.tgz", + "integrity": "sha512-k3dOKCfIVixWjG7OXTCOmDfJj3vbdhN0QYEqB+OuGArOChek22hn7Uy5A/gTDNAcCy5v2YcXRJ/Qcnm4/ma1xw==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-arm64-musl": { + "version": "4.45.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.45.1.tgz", + "integrity": "sha512-PmI1vxQetnM58ZmDFl9/Uk2lpBBby6B6rF4muJc65uZbxCs0EA7hhKCk2PKlmZKuyVSHAyIw3+/SiuMLxKxWog==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-loongarch64-gnu": { + "version": "4.45.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-loongarch64-gnu/-/rollup-linux-loongarch64-gnu-4.45.1.tgz", + "integrity": "sha512-9UmI0VzGmNJ28ibHW2GpE2nF0PBQqsyiS4kcJ5vK+wuwGnV5RlqdczVocDSUfGX/Na7/XINRVoUgJyFIgipoRg==", + "cpu": [ + "loong64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-powerpc64le-gnu": { + "version": "4.45.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-powerpc64le-gnu/-/rollup-linux-powerpc64le-gnu-4.45.1.tgz", + "integrity": "sha512-7nR2KY8oEOUTD3pBAxIBBbZr0U7U+R9HDTPNy+5nVVHDXI4ikYniH1oxQz9VoB5PbBU1CZuDGHkLJkd3zLMWsg==", + "cpu": [ + "ppc64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-riscv64-gnu": { + "version": "4.45.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.45.1.tgz", + "integrity": "sha512-nlcl3jgUultKROfZijKjRQLUu9Ma0PeNv/VFHkZiKbXTBQXhpytS8CIj5/NfBeECZtY2FJQubm6ltIxm/ftxpw==", + "cpu": [ + "riscv64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-riscv64-musl": { + "version": "4.45.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-musl/-/rollup-linux-riscv64-musl-4.45.1.tgz", + "integrity": "sha512-HJV65KLS51rW0VY6rvZkiieiBnurSzpzore1bMKAhunQiECPuxsROvyeaot/tcK3A3aGnI+qTHqisrpSgQrpgA==", + "cpu": [ + "riscv64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-s390x-gnu": { + "version": "4.45.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.45.1.tgz", + "integrity": "sha512-NITBOCv3Qqc6hhwFt7jLV78VEO/il4YcBzoMGGNxznLgRQf43VQDae0aAzKiBeEPIxnDrACiMgbqjuihx08OOw==", + "cpu": [ + "s390x" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-x64-gnu": { + "version": "4.45.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.45.1.tgz", + "integrity": "sha512-+E/lYl6qu1zqgPEnTrs4WysQtvc/Sh4fC2nByfFExqgYrqkKWp1tWIbe+ELhixnenSpBbLXNi6vbEEJ8M7fiHw==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-x64-musl": { + "version": "4.45.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.45.1.tgz", + "integrity": "sha512-a6WIAp89p3kpNoYStITT9RbTbTnqarU7D8N8F2CV+4Cl9fwCOZraLVuVFvlpsW0SbIiYtEnhCZBPLoNdRkjQFw==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-win32-arm64-msvc": { + "version": "4.45.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.45.1.tgz", + "integrity": "sha512-T5Bi/NS3fQiJeYdGvRpTAP5P02kqSOpqiopwhj0uaXB6nzs5JVi2XMJb18JUSKhCOX8+UE1UKQufyD6Or48dJg==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/@rollup/rollup-win32-ia32-msvc": { + "version": "4.45.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.45.1.tgz", + "integrity": "sha512-lxV2Pako3ujjuUe9jiU3/s7KSrDfH6IgTSQOnDWr9aJ92YsFd7EurmClK0ly/t8dzMkDtd04g60WX6yl0sGfdw==", + "cpu": [ + "ia32" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/@rollup/rollup-win32-x64-msvc": { + "version": "4.45.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.45.1.tgz", + "integrity": "sha512-M/fKi4sasCdM8i0aWJjCSFm2qEnYRR8AMLG2kxp6wD13+tMGA4Z1tVAuHkNRjud5SW2EM3naLuK35w9twvf6aA==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/@types/estree": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.8.tgz", + "integrity": "sha512-dWHzHa2WqEXI/O1E9OjrocMTKJl2mSrEolh1Iomrv6U+JuNwaHXsXx9bLu5gG7BUWFIN0skIQJQ/L1rIex4X6w==", + "dev": true, + "license": "MIT" + }, + "node_modules/asynckit": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", + "integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==", + "license": "MIT" + }, + "node_modules/axios": { + "version": "1.10.0", + "resolved": "https://registry.npmjs.org/axios/-/axios-1.10.0.tgz", + "integrity": "sha512-/1xYAC4MP/HEG+3duIhFr4ZQXR4sQXOIe+o6sdqzeykGLx6Upp/1p8MHqhINOvGeP7xyNHe7tsiJByc4SSVUxw==", + "license": "MIT", + "dependencies": { + "follow-redirects": "^1.15.6", + "form-data": "^4.0.0", + "proxy-from-env": "^1.1.0" + } + }, + "node_modules/call-bind-apply-helpers": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/call-bind-apply-helpers/-/call-bind-apply-helpers-1.0.2.tgz", + "integrity": "sha512-Sp1ablJ0ivDkSzjcaJdxEunN5/XvksFJ2sMBFfq6x0ryhQV/2b/KwFe21cMpmHtPOSij8K99/wSfoEuTObmuMQ==", + "license": "MIT", + "dependencies": { + "es-errors": "^1.3.0", + "function-bind": "^1.1.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/chart.js": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/chart.js/-/chart.js-4.5.0.tgz", + "integrity": "sha512-aYeC/jDgSEx8SHWZvANYMioYMZ2KX02W6f6uVfyteuCGcadDLcYVHdfdygsTQkQ4TKn5lghoojAsPj5pu0SnvQ==", + "license": "MIT", + "dependencies": { + "@kurkle/color": "^0.3.0" + }, + "engines": { + "pnpm": ">=8" + } + }, + "node_modules/combined-stream": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", + "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==", + "license": "MIT", + "dependencies": { + "delayed-stream": "~1.0.0" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/cookie": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/cookie/-/cookie-1.0.2.tgz", + "integrity": "sha512-9Kr/j4O16ISv8zBBhJoi4bXOYNTkFLOqSL3UDB0njXxCXNezjeyVrJyGOWtgfs/q2km1gwBcfH8q1yEGoMYunA==", + "license": "MIT", + "engines": { + "node": ">=18" + } + }, + "node_modules/delayed-stream": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", + "integrity": "sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==", + "license": "MIT", + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/dunder-proto": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/dunder-proto/-/dunder-proto-1.0.1.tgz", + "integrity": "sha512-KIN/nDJBQRcXw0MLVhZE9iQHmG68qAVIBg9CqmUYjmQIhgij9U5MFvrqkUL5FbtyyzZuOeOt0zdeRe4UY7ct+A==", + "license": "MIT", + "dependencies": { + "call-bind-apply-helpers": "^1.0.1", + "es-errors": "^1.3.0", + "gopd": "^1.2.0" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/es-define-property": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/es-define-property/-/es-define-property-1.0.1.tgz", + "integrity": "sha512-e3nRfgfUZ4rNGL232gUgX06QNyyez04KdjFrF+LTRoOXmrOgFKDg4BCdsjW8EnT69eqdYGmRpJwiPVYNrCaW3g==", + "license": "MIT", + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/es-errors": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/es-errors/-/es-errors-1.3.0.tgz", + "integrity": "sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==", + "license": "MIT", + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/es-object-atoms": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/es-object-atoms/-/es-object-atoms-1.1.1.tgz", + "integrity": "sha512-FGgH2h8zKNim9ljj7dankFPcICIK9Cp5bm+c2gQSYePhpaG5+esrLODihIorn+Pe6FGJzWhXQotPv73jTaldXA==", + "license": "MIT", + "dependencies": { + "es-errors": "^1.3.0" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/es-set-tostringtag": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/es-set-tostringtag/-/es-set-tostringtag-2.1.0.tgz", + "integrity": "sha512-j6vWzfrGVfyXxge+O0x5sh6cvxAog0a/4Rdd2K36zCMV5eJ+/+tOAngRO8cODMNWbVRdVlmGZQL2YS3yR8bIUA==", + "license": "MIT", + "dependencies": { + "es-errors": "^1.3.0", + "get-intrinsic": "^1.2.6", + "has-tostringtag": "^1.0.2", + "hasown": "^2.0.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/esbuild": { + "version": "0.25.6", + "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.25.6.tgz", + "integrity": "sha512-GVuzuUwtdsghE3ocJ9Bs8PNoF13HNQ5TXbEi2AhvVb8xU1Iwt9Fos9FEamfoee+u/TOsn7GUWc04lz46n2bbTg==", + "dev": true, + "hasInstallScript": true, + "license": "MIT", + "bin": { + "esbuild": "bin/esbuild" + }, + "engines": { + "node": ">=18" + }, + "optionalDependencies": { + "@esbuild/aix-ppc64": "0.25.6", + "@esbuild/android-arm": "0.25.6", + "@esbuild/android-arm64": "0.25.6", + "@esbuild/android-x64": "0.25.6", + "@esbuild/darwin-arm64": "0.25.6", + "@esbuild/darwin-x64": "0.25.6", + "@esbuild/freebsd-arm64": "0.25.6", + "@esbuild/freebsd-x64": "0.25.6", + "@esbuild/linux-arm": "0.25.6", + "@esbuild/linux-arm64": "0.25.6", + "@esbuild/linux-ia32": "0.25.6", + "@esbuild/linux-loong64": "0.25.6", + "@esbuild/linux-mips64el": "0.25.6", + "@esbuild/linux-ppc64": "0.25.6", + "@esbuild/linux-riscv64": "0.25.6", + "@esbuild/linux-s390x": "0.25.6", + "@esbuild/linux-x64": "0.25.6", + "@esbuild/netbsd-arm64": "0.25.6", + "@esbuild/netbsd-x64": "0.25.6", + "@esbuild/openbsd-arm64": "0.25.6", + "@esbuild/openbsd-x64": "0.25.6", + "@esbuild/openharmony-arm64": "0.25.6", + "@esbuild/sunos-x64": "0.25.6", + "@esbuild/win32-arm64": "0.25.6", + "@esbuild/win32-ia32": "0.25.6", + "@esbuild/win32-x64": "0.25.6" + } + }, + "node_modules/fdir": { + "version": "6.4.6", + "resolved": "https://registry.npmjs.org/fdir/-/fdir-6.4.6.tgz", + "integrity": "sha512-hiFoqpyZcfNm1yc4u8oWCf9A2c4D3QjCrks3zmoVKVxpQRzmPNar1hUJcBG2RQHvEVGDN+Jm81ZheVLAQMK6+w==", + "dev": true, + "license": "MIT", + "peerDependencies": { + "picomatch": "^3 || ^4" + }, + "peerDependenciesMeta": { + "picomatch": { + "optional": true + } + } + }, + "node_modules/follow-redirects": { + "version": "1.15.9", + "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.9.tgz", + "integrity": "sha512-gew4GsXizNgdoRyqmyfMHyAmXsZDk6mHkSxZFCzW9gwlbtOW44CDtYavM+y+72qD/Vq2l550kMF52DT8fOLJqQ==", + "funding": [ + { + "type": "individual", + "url": "https://github.com/sponsors/RubenVerborgh" + } + ], + "license": "MIT", + "engines": { + "node": ">=4.0" + }, + "peerDependenciesMeta": { + "debug": { + "optional": true + } + } + }, + "node_modules/form-data": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/form-data/-/form-data-4.0.3.tgz", + "integrity": "sha512-qsITQPfmvMOSAdeyZ+12I1c+CKSstAFAwu+97zrnWAbIr5u8wfsExUzCesVLC8NgHuRUqNN4Zy6UPWUTRGslcA==", + "license": "MIT", + "dependencies": { + "asynckit": "^0.4.0", + "combined-stream": "^1.0.8", + "es-set-tostringtag": "^2.1.0", + "hasown": "^2.0.2", + "mime-types": "^2.1.12" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/fsevents": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz", + "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==", + "dev": true, + "hasInstallScript": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": "^8.16.0 || ^10.6.0 || >=11.0.0" + } + }, + "node_modules/function-bind": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz", + "integrity": "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==", + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/get-intrinsic": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.3.0.tgz", + "integrity": "sha512-9fSjSaos/fRIVIp+xSJlE6lfwhES7LNtKaCBIamHsjr2na1BiABJPo0mOjjz8GJDURarmCPGqaiVg5mfjb98CQ==", + "license": "MIT", + "dependencies": { + "call-bind-apply-helpers": "^1.0.2", + "es-define-property": "^1.0.1", + "es-errors": "^1.3.0", + "es-object-atoms": "^1.1.1", + "function-bind": "^1.1.2", + "get-proto": "^1.0.1", + "gopd": "^1.2.0", + "has-symbols": "^1.1.0", + "hasown": "^2.0.2", + "math-intrinsics": "^1.1.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/get-proto": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/get-proto/-/get-proto-1.0.1.tgz", + "integrity": "sha512-sTSfBjoXBp89JvIKIefqw7U2CCebsc74kiY6awiGogKtoSGbgjYE/G/+l9sF3MWFPNc9IcoOC4ODfKHfxFmp0g==", + "license": "MIT", + "dependencies": { + "dunder-proto": "^1.0.1", + "es-object-atoms": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/gopd": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.2.0.tgz", + "integrity": "sha512-ZUKRh6/kUFoAiTAtTYPZJ3hw9wNxx+BIBOijnlG9PnrJsCcSjs1wyyD6vJpaYtgnzDrKYRSqf3OO6Rfa93xsRg==", + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/has-symbols": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.1.0.tgz", + "integrity": "sha512-1cDNdwJ2Jaohmb3sg4OmKaMBwuC48sYni5HUw2DvsC8LjGTLK9h+eb1X6RyuOHe4hT0ULCW68iomhjUoKUqlPQ==", + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/has-tostringtag": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/has-tostringtag/-/has-tostringtag-1.0.2.tgz", + "integrity": "sha512-NqADB8VjPFLM2V0VvHUewwwsw0ZWBaIdgo+ieHtK3hasLz4qeCRjYcqfB6AQrBggRKppKF8L52/VqdVsO47Dlw==", + "license": "MIT", + "dependencies": { + "has-symbols": "^1.0.3" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/hasown": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.2.tgz", + "integrity": "sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==", + "license": "MIT", + "dependencies": { + "function-bind": "^1.1.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/math-intrinsics": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/math-intrinsics/-/math-intrinsics-1.1.0.tgz", + "integrity": "sha512-/IXtbwEk5HTPyEwyKX6hGkYXxM9nbj64B+ilVJnC/R6B0pH5G4V3b0pVbL7DBj4tkhBAppbQUlf6F6Xl9LHu1g==", + "license": "MIT", + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/mime-db": { + "version": "1.52.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", + "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==", + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/mime-types": { + "version": "2.1.35", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", + "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", + "license": "MIT", + "dependencies": { + "mime-db": "1.52.0" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/nanoid": { + "version": "3.3.11", + "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.11.tgz", + "integrity": "sha512-N8SpfPUnUp1bK+PMYW8qSWdl9U+wwNWI4QKxOYDy9JAro3WMX7p2OeVRF9v+347pnakNevPmiHhNmZ2HbFA76w==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "MIT", + "bin": { + "nanoid": "bin/nanoid.cjs" + }, + "engines": { + "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1" + } + }, + "node_modules/picocolors": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.1.1.tgz", + "integrity": "sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==", + "dev": true, + "license": "ISC" + }, + "node_modules/picomatch": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.2.tgz", + "integrity": "sha512-M7BAV6Rlcy5u+m6oPhAPFgJTzAioX/6B0DxyvDlo9l8+T3nLKbrczg2WLUyzd45L8RqfUMyGPzekbMvX2Ldkwg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" + } + }, + "node_modules/postcss": { + "version": "8.5.6", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.5.6.tgz", + "integrity": "sha512-3Ybi1tAuwAP9s0r1UQ2J4n5Y0G05bJkpUIO0/bI9MhwmD70S5aTWbXGBwxHrelT+XM1k6dM0pk+SwNkpTRN7Pg==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/postcss" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "MIT", + "dependencies": { + "nanoid": "^3.3.11", + "picocolors": "^1.1.1", + "source-map-js": "^1.2.1" + }, + "engines": { + "node": "^10 || ^12 || >=14" + } + }, + "node_modules/proxy-from-env": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/proxy-from-env/-/proxy-from-env-1.1.0.tgz", + "integrity": "sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==", + "license": "MIT" + }, + "node_modules/react": { + "version": "19.1.0", + "resolved": "https://registry.npmjs.org/react/-/react-19.1.0.tgz", + "integrity": "sha512-FS+XFBNvn3GTAWq26joslQgWNoFu08F4kl0J4CgdNKADkdSGXQyTCnKteIAJy96Br6YbpEU1LSzV5dYtjMkMDg==", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/react-chartjs-2": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/react-chartjs-2/-/react-chartjs-2-5.3.0.tgz", + "integrity": "sha512-UfZZFnDsERI3c3CZGxzvNJd02SHjaSJ8kgW1djn65H1KK8rehwTjyrRKOG3VTMG8wtHZ5rgAO5oTHtHi9GCCmw==", + "license": "MIT", + "peerDependencies": { + "chart.js": "^4.1.1", + "react": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0" + } + }, + "node_modules/react-dom": { + "version": "19.1.0", + "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-19.1.0.tgz", + "integrity": "sha512-Xs1hdnE+DyKgeHJeJznQmYMIBG3TKIHJJT95Q58nHLSrElKlGQqDTR2HQ9fx5CN/Gk6Vh/kupBTDLU11/nDk/g==", + "license": "MIT", + "dependencies": { + "scheduler": "^0.26.0" + }, + "peerDependencies": { + "react": "^19.1.0" + } + }, + "node_modules/react-router": { + "version": "7.6.3", + "resolved": "https://registry.npmjs.org/react-router/-/react-router-7.6.3.tgz", + "integrity": "sha512-zf45LZp5skDC6I3jDLXQUu0u26jtuP4lEGbc7BbdyxenBN1vJSTA18czM2D+h5qyMBuMrD+9uB+mU37HIoKGRA==", + "license": "MIT", + "dependencies": { + "cookie": "^1.0.1", + "set-cookie-parser": "^2.6.0" + }, + "engines": { + "node": ">=20.0.0" + }, + "peerDependencies": { + "react": ">=18", + "react-dom": ">=18" + }, + "peerDependenciesMeta": { + "react-dom": { + "optional": true + } + } + }, + "node_modules/react-router-dom": { + "version": "7.6.3", + "resolved": "https://registry.npmjs.org/react-router-dom/-/react-router-dom-7.6.3.tgz", + "integrity": "sha512-DiWJm9qdUAmiJrVWaeJdu4TKu13+iB/8IEi0EW/XgaHCjW/vWGrwzup0GVvaMteuZjKnh5bEvJP/K0MDnzawHw==", + "license": "MIT", + "dependencies": { + "react-router": "7.6.3" + }, + "engines": { + "node": ">=20.0.0" + }, + "peerDependencies": { + "react": ">=18", + "react-dom": ">=18" + } + }, + "node_modules/rollup": { + "version": "4.45.1", + "resolved": "https://registry.npmjs.org/rollup/-/rollup-4.45.1.tgz", + "integrity": "sha512-4iya7Jb76fVpQyLoiVpzUrsjQ12r3dM7fIVz+4NwoYvZOShknRmiv+iu9CClZml5ZLGb0XMcYLutK6w9tgxHDw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/estree": "1.0.8" + }, + "bin": { + "rollup": "dist/bin/rollup" + }, + "engines": { + "node": ">=18.0.0", + "npm": ">=8.0.0" + }, + "optionalDependencies": { + "@rollup/rollup-android-arm-eabi": "4.45.1", + "@rollup/rollup-android-arm64": "4.45.1", + "@rollup/rollup-darwin-arm64": "4.45.1", + "@rollup/rollup-darwin-x64": "4.45.1", + "@rollup/rollup-freebsd-arm64": "4.45.1", + "@rollup/rollup-freebsd-x64": "4.45.1", + "@rollup/rollup-linux-arm-gnueabihf": "4.45.1", + "@rollup/rollup-linux-arm-musleabihf": "4.45.1", + "@rollup/rollup-linux-arm64-gnu": "4.45.1", + "@rollup/rollup-linux-arm64-musl": "4.45.1", + "@rollup/rollup-linux-loongarch64-gnu": "4.45.1", + "@rollup/rollup-linux-powerpc64le-gnu": "4.45.1", + "@rollup/rollup-linux-riscv64-gnu": "4.45.1", + "@rollup/rollup-linux-riscv64-musl": "4.45.1", + "@rollup/rollup-linux-s390x-gnu": "4.45.1", + "@rollup/rollup-linux-x64-gnu": "4.45.1", + "@rollup/rollup-linux-x64-musl": "4.45.1", + "@rollup/rollup-win32-arm64-msvc": "4.45.1", + "@rollup/rollup-win32-ia32-msvc": "4.45.1", + "@rollup/rollup-win32-x64-msvc": "4.45.1", + "fsevents": "~2.3.2" + } + }, + "node_modules/scheduler": { + "version": "0.26.0", + "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.26.0.tgz", + "integrity": "sha512-NlHwttCI/l5gCPR3D1nNXtWABUmBwvZpEQiD4IXSbIDq8BzLIK/7Ir5gTFSGZDUu37K5cMNp0hFtzO38sC7gWA==", + "license": "MIT" + }, + "node_modules/set-cookie-parser": { + "version": "2.7.1", + "resolved": "https://registry.npmjs.org/set-cookie-parser/-/set-cookie-parser-2.7.1.tgz", + "integrity": "sha512-IOc8uWeOZgnb3ptbCURJWNjWUPcO3ZnTTdzsurqERrP6nPyv+paC55vJM0LpOlT2ne+Ix+9+CRG1MNLlyZ4GjQ==", + "license": "MIT" + }, + "node_modules/source-map-js": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.2.1.tgz", + "integrity": "sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==", + "dev": true, + "license": "BSD-3-Clause", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/three": { + "version": "0.178.0", + "resolved": "https://registry.npmjs.org/three/-/three-0.178.0.tgz", + "integrity": "sha512-ybFIB0+x8mz0wnZgSGy2MO/WCO6xZhQSZnmfytSPyNpM0sBafGRVhdaj+erYh5U+RhQOAg/eXqw5uVDiM2BjhQ==", + "license": "MIT" + }, + "node_modules/tinyglobby": { + "version": "0.2.14", + "resolved": "https://registry.npmjs.org/tinyglobby/-/tinyglobby-0.2.14.tgz", + "integrity": "sha512-tX5e7OM1HnYr2+a2C/4V0htOcSQcoSTH9KgJnVvNm5zm/cyEWKJ7j7YutsH9CxMdtOkkLFy2AHrMci9IM8IPZQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "fdir": "^6.4.4", + "picomatch": "^4.0.2" + }, + "engines": { + "node": ">=12.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/SuperchupuDev" + } + }, + "node_modules/typescript": { + "version": "5.8.3", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.8.3.tgz", + "integrity": "sha512-p1diW6TqL9L07nNxvRMM7hMMw4c5XOo/1ibL4aAIGmSAt9slTE1Xgw5KWuof2uTOvCg9BY7ZRi+GaF+7sfgPeQ==", + "dev": true, + "license": "Apache-2.0", + "bin": { + "tsc": "bin/tsc", + "tsserver": "bin/tsserver" + }, + "engines": { + "node": ">=14.17" + } + }, + "node_modules/vite": { + "version": "7.0.4", + "resolved": "https://registry.npmjs.org/vite/-/vite-7.0.4.tgz", + "integrity": "sha512-SkaSguuS7nnmV7mfJ8l81JGBFV7Gvzp8IzgE8A8t23+AxuNX61Q5H1Tpz5efduSN7NHC8nQXD3sKQKZAu5mNEA==", + "dev": true, + "license": "MIT", + "dependencies": { + "esbuild": "^0.25.0", + "fdir": "^6.4.6", + "picomatch": "^4.0.2", + "postcss": "^8.5.6", + "rollup": "^4.40.0", + "tinyglobby": "^0.2.14" + }, + "bin": { + "vite": "bin/vite.js" + }, + "engines": { + "node": "^20.19.0 || >=22.12.0" + }, + "funding": { + "url": "https://github.com/vitejs/vite?sponsor=1" + }, + "optionalDependencies": { + "fsevents": "~2.3.3" + }, + "peerDependencies": { + "@types/node": "^20.19.0 || >=22.12.0", + "jiti": ">=1.21.0", + "less": "^4.0.0", + "lightningcss": "^1.21.0", + "sass": "^1.70.0", + "sass-embedded": "^1.70.0", + "stylus": ">=0.54.8", + "sugarss": "^5.0.0", + "terser": "^5.16.0", + "tsx": "^4.8.1", + "yaml": "^2.4.2" + }, + "peerDependenciesMeta": { + "@types/node": { + "optional": true + }, + "jiti": { + "optional": true + }, + "less": { + "optional": true + }, + "lightningcss": { + "optional": true + }, + "sass": { + "optional": true + }, + "sass-embedded": { + "optional": true + }, + "stylus": { + "optional": true + }, + "sugarss": { + "optional": true + }, + "terser": { + "optional": true + }, + "tsx": { + "optional": true + }, + "yaml": { + "optional": true + } + } + } + } +} diff --git a/embryo-frontend/package.json b/embryo-frontend/package.json new file mode 100644 index 0000000..17934c2 --- /dev/null +++ b/embryo-frontend/package.json @@ -0,0 +1,24 @@ +{ + "name": "embryo-frontend", + "private": true, + "version": "0.0.0", + "type": "module", + "scripts": { + "dev": "vite", + "build": "tsc && vite build", + "preview": "vite preview" + }, + "devDependencies": { + "typescript": "~5.8.3", + "vite": "^7.0.4" + }, + "dependencies": { + "axios": "^1.10.0", + "chart.js": "^4.5.0", + "react": "^19.1.0", + "react-chartjs-2": "^5.3.0", + "react-dom": "^19.1.0", + "react-router-dom": "^7.6.3", + "three": "^0.178.0" + } +} diff --git a/embryo-frontend/public/vite.svg b/embryo-frontend/public/vite.svg new file mode 100644 index 0000000..e7b8dfb --- /dev/null +++ b/embryo-frontend/public/vite.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/embryo-frontend/src/App.tsx b/embryo-frontend/src/App.tsx new file mode 100644 index 0000000..eae7be9 --- /dev/null +++ b/embryo-frontend/src/App.tsx @@ -0,0 +1,15 @@ +import React from "react"; +import { BrowserRouter as Router, Routes, Route } from "react-router-dom"; +import GeneView from "./pages/GeneView"; + +function App() { + return ( + + + } /> + + + ); +} + +export default App; diff --git a/embryo-frontend/src/api/geneAPI.ts b/embryo-frontend/src/api/geneAPI.ts new file mode 100644 index 0000000..ce09481 --- /dev/null +++ b/embryo-frontend/src/api/geneAPI.ts @@ -0,0 +1,6 @@ +import axios from "axios"; + +export const fetchGeneExpression = async (gene: string) => { + const res = await axios.get(`http://localhost:5000/api/gene/${gene}`); + return res.data; +}; \ No newline at end of file diff --git a/embryo-frontend/src/components/PointCloud.tsx b/embryo-frontend/src/components/PointCloud.tsx new file mode 100644 index 0000000..9e47d96 --- /dev/null +++ b/embryo-frontend/src/components/PointCloud.tsx @@ -0,0 +1,129 @@ +import React, { useEffect, useRef } from "react"; +import * as THREE from "three"; +import { OrbitControls } from "three/examples/jsm/controls/OrbitControls"; + +interface Point { + x: number; + y: number; + z: number; + value: number; // 表达强度 +} + +interface PointCloudProps { + data: Point[]; +} + +const PointCloud: React.FC = ({ data }) => { + const containerRef = useRef(null); + const rendererRef = useRef(); + + useEffect(() => { + if (!containerRef.current || data.length === 0) return; + + // 清除旧渲染内容 + if (containerRef.current.firstChild) { + containerRef.current.removeChild(containerRef.current.firstChild); + } + + const width = containerRef.current.clientWidth; + const height = containerRef.current.clientHeight; + + // 初始化场景、相机、渲染器 + const scene = new THREE.Scene(); + const camera = new THREE.PerspectiveCamera(60, width / height, 0.1, 1000); + camera.position.set(0, 0, 30); + + const renderer = new THREE.WebGLRenderer({ antialias: true }); + renderer.setSize(width, height); + containerRef.current.appendChild(renderer.domElement); + + // 控件 + const controls = new OrbitControls(camera, renderer.domElement); + controls.enableDamping = true; + + // 坐标轴辅助 + const axesHelper = new THREE.AxesHelper(10); + scene.add(axesHelper); + + // 点云数据 + const geometry = new THREE.BufferGeometry(); + const positions: number[] = []; + const colors: number[] = []; + const sizes: number[] = []; + + const color = new THREE.Color(); + const maxValue = Math.max(...data.map((p) => p.value)); + + data.forEach((point) => { + positions.push(point.x, point.y, point.z); + color.setHSL(0.6 * (1 - point.value / maxValue), 1.0, 0.5); + colors.push(color.r, color.g, color.b); + sizes.push(0.3 + 1.5 * point.value / maxValue); // 点大小映射 + }); + + geometry.setAttribute("position", new THREE.Float32BufferAttribute(positions, 3)); + geometry.setAttribute("color", new THREE.Float32BufferAttribute(colors, 3)); + geometry.setAttribute("size", new THREE.Float32BufferAttribute(sizes, 1)); + + const material = new THREE.PointsMaterial({ + vertexColors: true, + size: 0.5, + sizeAttenuation: true, + }); + + const points = new THREE.Points(geometry, material); + scene.add(points); + + // 点击点检测(raycaster) + const raycaster = new THREE.Raycaster(); + const mouse = new THREE.Vector2(); + + const onClick = (event: MouseEvent) => { + const rect = renderer.domElement.getBoundingClientRect(); + mouse.x = ((event.clientX - rect.left) / rect.width) * 2 - 1; + mouse.y = -((event.clientY - rect.top) / rect.height) * 2 + 1; + + raycaster.setFromCamera(mouse, camera); + const intersects = raycaster.intersectObject(points); + + if (intersects.length > 0) { + const i = intersects[0].index ?? 0; + const p = data[i]; + console.log(`Clicked: x=${p.x}, y=${p.y}, z=${p.z}, value=${p.value}`); + alert(`Cell @ (${p.x.toFixed(1)}, ${p.y.toFixed(1)}, ${p.z.toFixed(1)})\nExpression: ${p.value.toFixed(3)}`); + } + }; + + renderer.domElement.addEventListener("click", onClick); + + // 渲染循环 + const animate = () => { + requestAnimationFrame(animate); + controls.update(); + renderer.render(scene, camera); + }; + animate(); + + // 图例(颜色条) + const legend = document.createElement("div"); + legend.innerHTML = ` +
+
+
↑ High
+
↓ Low
+
`; + containerRef.current.appendChild(legend); + + // 清理 + return () => { + renderer.dispose(); + geometry.dispose(); + material.dispose(); + renderer.domElement.removeEventListener("click", onClick); + }; + }, [data]); + + return
; +}; + +export default PointCloud; diff --git a/embryo-frontend/src/main.tsx b/embryo-frontend/src/main.tsx new file mode 100644 index 0000000..11c2536 --- /dev/null +++ b/embryo-frontend/src/main.tsx @@ -0,0 +1,10 @@ +import React from 'react' +import ReactDOM from 'react-dom/client' +import App from './App' +import './style.css' + +ReactDOM.createRoot(document.getElementById('root')!).render( + + + , +) \ No newline at end of file diff --git a/embryo-frontend/src/pages/GeneView.tsx b/embryo-frontend/src/pages/GeneView.tsx new file mode 100644 index 0000000..31df47b --- /dev/null +++ b/embryo-frontend/src/pages/GeneView.tsx @@ -0,0 +1,122 @@ +import React, { useState, useEffect } from "react"; +import axios from "axios"; +import PointCloud from "../components/PointCloud"; + +const GeneView: React.FC = () => { + const [gene, setGene] = useState(""); + const [data, setData] = useState([]); + const [loading, setLoading] = useState(false); + const [error, setError] = useState(""); + const [availableGenes, setAvailableGenes] = useState([]); + const [selectedStage, setSelectedStage] = useState("CS7"); + + // 动态获取某个阶段的基因列表 + useEffect(() => { + if (!selectedStage) return; + axios + .get("http://localhost:5000/api/genes", { + params: { stage: selectedStage }, + }) + .then((res) => setAvailableGenes(res.data)) + .catch(() => setAvailableGenes([])); + }, [selectedStage]); + + const handleSearch = async () => { + if (!gene) return; + + setLoading(true); + setError(""); + setData([]); + + try { + const res = await axios.get("http://localhost:5000/api/gene_expression", { + params: { + gene: gene.trim(), + stage: selectedStage, + }, + }); + + if (res.data.expression.length === 0) { + setError("No expression data found."); + } else { + setData(res.data.expression); + } + } catch (err: any) { + if (err.response && err.response.data?.error) { + setError(err.response.data.error); + } else { + setError("Failed to fetch data."); + } + } finally { + setLoading(false); + } + }; + + return ( +
+

Gene Expression Viewer

+ + {/* 阶段选择 */} +
+ +
+ + {/* 基因选择 + 按钮 */} +
+ + +
+ + {/* 错误提示 */} + {error &&

{error}

} + + {/* 可视化区域 */} +
+ {data.length > 0 ? ( + + ) : ( +

+ No data to display. +

+ )} +
+
+ ); +}; + +export default GeneView; diff --git a/embryo-frontend/src/style.css b/embryo-frontend/src/style.css new file mode 100644 index 0000000..3bcdbd0 --- /dev/null +++ b/embryo-frontend/src/style.css @@ -0,0 +1,96 @@ +:root { + font-family: system-ui, Avenir, Helvetica, Arial, sans-serif; + line-height: 1.5; + font-weight: 400; + + color-scheme: light dark; + color: rgba(255, 255, 255, 0.87); + background-color: #242424; + + font-synthesis: none; + text-rendering: optimizeLegibility; + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; +} + +a { + font-weight: 500; + color: #646cff; + text-decoration: inherit; +} +a:hover { + color: #535bf2; +} + +body { + margin: 0; + display: flex; + place-items: center; + min-width: 320px; + min-height: 100vh; +} + +h1 { + font-size: 3.2em; + line-height: 1.1; +} + +#app { + max-width: 1280px; + margin: 0 auto; + padding: 2rem; + text-align: center; +} + +.logo { + height: 6em; + padding: 1.5em; + will-change: filter; + transition: filter 300ms; +} +.logo:hover { + filter: drop-shadow(0 0 2em #646cffaa); +} +.logo.vanilla:hover { + filter: drop-shadow(0 0 2em #3178c6aa); +} + +.card { + padding: 2em; +} + +.read-the-docs { + color: #888; +} + +button { + border-radius: 8px; + border: 1px solid transparent; + padding: 0.6em 1.2em; + font-size: 1em; + font-weight: 500; + font-family: inherit; + background-color: #1a1a1a; + cursor: pointer; + transition: border-color 0.25s; +} +button:hover { + border-color: #646cff; +} +button:focus, +button:focus-visible { + outline: 4px auto -webkit-focus-ring-color; +} + +@media (prefers-color-scheme: light) { + :root { + color: #213547; + background-color: #ffffff; + } + a:hover { + color: #747bff; + } + button { + background-color: #f9f9f9; + } +} diff --git a/embryo-frontend/src/typescript.svg b/embryo-frontend/src/typescript.svg new file mode 100644 index 0000000..d91c910 --- /dev/null +++ b/embryo-frontend/src/typescript.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/embryo-frontend/src/vite-env.d.ts b/embryo-frontend/src/vite-env.d.ts new file mode 100644 index 0000000..11f02fe --- /dev/null +++ b/embryo-frontend/src/vite-env.d.ts @@ -0,0 +1 @@ +/// diff --git a/embryo-frontend/tsconfig.json b/embryo-frontend/tsconfig.json new file mode 100644 index 0000000..9cc289d --- /dev/null +++ b/embryo-frontend/tsconfig.json @@ -0,0 +1,26 @@ +{ + "compilerOptions": { + "jsx": "react", + "target": "ES2022", + "useDefineForClassFields": true, + "module": "ESNext", + "lib": ["ES2022", "DOM", "DOM.Iterable"], + "skipLibCheck": true, + + /* Bundler mode */ + "moduleResolution": "bundler", + "allowImportingTsExtensions": true, + "verbatimModuleSyntax": true, + "moduleDetection": "force", + "noEmit": true, + + /* Linting */ + "strict": true, + "noUnusedLocals": true, + "noUnusedParameters": true, + "erasableSyntaxOnly": true, + "noFallthroughCasesInSwitch": true, + "noUncheckedSideEffectImports": true + }, + "include": ["src"] +} diff --git a/pyproject.toml b/pyproject.toml new file mode 100644 index 0000000..27c2fdb --- /dev/null +++ b/pyproject.toml @@ -0,0 +1,12 @@ +[project] +name = "digital-embryo" +version = "0.1.0" +description = "Add your description here" +readme = "README.md" +requires-python = ">=3.13" +dependencies = [ + "anndata>=0.12.1", + "flask>=3.1.1", + "flask-cors>=6.0.1", + "pandas>=2.3.1", +] diff --git a/start-dev.ps1 b/start-dev.ps1 new file mode 100644 index 0000000..1bb1bf3 --- /dev/null +++ b/start-dev.ps1 @@ -0,0 +1,107 @@ +#!/usr/bin/env pwsh + +# 启动开发环境脚本 +Write-Host "正在启动 Digital Embryo 开发环境..." -ForegroundColor Green + +# 获取当前脚本所在目录 +$ScriptDir = Split-Path -Parent $MyInvocation.MyCommand.Path + +# 前端目录路径 +$FrontendDir = Join-Path $ScriptDir "embryo-frontend" +# 后端目录路径 +$BackendDir = Join-Path $ScriptDir "embryo-backend" + +# 检查目录是否存在 +if (-not (Test-Path $FrontendDir)) { + Write-Error "前端目录不存在: $FrontendDir" + exit 1 +} + +if (-not (Test-Path $BackendDir)) { + Write-Error "后端目录不存在: $BackendDir" + exit 1 +} + +# 检查必要文件是否存在 +$PackageJsonPath = Join-Path $FrontendDir "package.json" +$AppPyPath = Join-Path $BackendDir "app.py" + +if (-not (Test-Path $PackageJsonPath)) { + Write-Error "package.json 文件不存在: $PackageJsonPath" + exit 1 +} + +if (-not (Test-Path $AppPyPath)) { + Write-Error "app.py 文件不存在: $AppPyPath" + exit 1 +} + +Write-Host "启动前端开发服务器..." -ForegroundColor Yellow +# 启动前端开发服务器 +$FrontendJob = Start-Job -ScriptBlock { + param($FrontendDir) + Set-Location $FrontendDir + npm run dev +} -ArgumentList $FrontendDir + +Write-Host "启动后端API服务器..." -ForegroundColor Yellow +# 启动后端API服务器 +$BackendJob = Start-Job -ScriptBlock { + param($ScriptDir, $BackendDir) + Set-Location $ScriptDir + uv run $BackendDir/app.py +} -ArgumentList $ScriptDir, $BackendDir + +Write-Host "两个服务都已启动!" -ForegroundColor Green +Write-Host "前端开发服务器通常运行在: http://localhost:5173" -ForegroundColor Cyan +Write-Host "后端API服务器通常运行在: http://localhost:5000" -ForegroundColor Cyan +Write-Host "" +Write-Host "按 Ctrl+C 停止所有服务" -ForegroundColor Red + +# 等待任意作业完成或用户中断 +try { + # 持续监控作业状态 + while ($true) { + $FrontendState = Get-Job -Id $FrontendJob.Id | Select-Object -ExpandProperty State + $BackendState = Get-Job -Id $BackendJob.Id | Select-Object -ExpandProperty State + + # 检查是否有作业失败 + if ($FrontendState -eq "Failed") { + Write-Error "前端服务启动失败" + Receive-Job -Id $FrontendJob.Id + break + } + + if ($BackendState -eq "Failed") { + Write-Error "后端服务启动失败" + Receive-Job -Id $BackendJob.Id + break + } + + # 如果两个作业都完成了(正常或异常),退出循环 + if ($FrontendState -eq "Completed" -or $BackendState -eq "Completed") { + break + } + + Start-Sleep -Seconds 1 + } +} +catch { + Write-Host "接收到中断信号,正在停止服务..." -ForegroundColor Yellow +} +finally { + # 清理作业 + Write-Host "正在停止所有服务..." -ForegroundColor Yellow + + if ($FrontendJob) { + Stop-Job -Id $FrontendJob.Id -ErrorAction SilentlyContinue + Remove-Job -Id $FrontendJob.Id -Force -ErrorAction SilentlyContinue + } + + if ($BackendJob) { + Stop-Job -Id $BackendJob.Id -ErrorAction SilentlyContinue + Remove-Job -Id $BackendJob.Id -Force -ErrorAction SilentlyContinue + } + + Write-Host "所有服务已停止" -ForegroundColor Green +} \ No newline at end of file diff --git a/uv.lock b/uv.lock new file mode 100644 index 0000000..7c01d4d --- /dev/null +++ b/uv.lock @@ -0,0 +1,468 @@ +version = 1 +revision = 2 +requires-python = ">=3.13" + +[[package]] +name = "anndata" +version = "0.12.1" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "array-api-compat" }, + { name = "h5py" }, + { name = "legacy-api-wrap" }, + { name = "natsort" }, + { name = "numpy" }, + { name = "packaging" }, + { name = "pandas" }, + { name = "scipy" }, + { name = "zarr" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/2f/dc/68d88626a0b5e3298c0b485b93493a2fbc235afeb8d4688d4979653b43bb/anndata-0.12.1.tar.gz", hash = "sha256:9a0767a7c47464ad78457e297d871f7ec483bdafc7cf76cb322168919c375ff1", size = 582722, upload-time = "2025-07-23T11:55:48.402Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/8c/f9/5e7d72963dcbfe8fcf9071c86c56bd99bfb7cfc145b01f9b0d15d08db4ca/anndata-0.12.1-py3-none-any.whl", hash = "sha256:e5747adaa85c68ace1fc7bcb77ad6b9a4175e3eb9fcf4488ed98fccea0bf3d2a", size = 169135, upload-time = "2025-07-23T11:55:46.827Z" }, +] + +[[package]] +name = "array-api-compat" +version = "1.12.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/8d/bd/9fa5c7c5621698d5632cc852a79fbbdc28024462c9396698e5fdcb395f37/array_api_compat-1.12.0.tar.gz", hash = "sha256:585bc615f650de53ac24b7c012baecfcdd810f50df3573be47e6dd9fa20df974", size = 99883, upload-time = "2025-05-16T08:49:59.897Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/e0/b1/0542e0cab6f49f151a2d7a42400f84f706fc0b64e85dc1f56708b2e9fd37/array_api_compat-1.12.0-py3-none-any.whl", hash = "sha256:a0b4795b6944a9507fde54679f9350e2ad2b1e2acf4a2408a098cdc27f890a8b", size = 58156, upload-time = "2025-05-16T08:49:58.129Z" }, +] + +[[package]] +name = "blinker" +version = "1.9.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/21/28/9b3f50ce0e048515135495f198351908d99540d69bfdc8c1d15b73dc55ce/blinker-1.9.0.tar.gz", hash = "sha256:b4ce2265a7abece45e7cc896e98dbebe6cead56bcf805a3d23136d145f5445bf", size = 22460, upload-time = "2024-11-08T17:25:47.436Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/10/cb/f2ad4230dc2eb1a74edf38f1a38b9b52277f75bef262d8908e60d957e13c/blinker-1.9.0-py3-none-any.whl", hash = "sha256:ba0efaa9080b619ff2f3459d1d500c57bddea4a6b424b60a91141db6fd2f08bc", size = 8458, upload-time = "2024-11-08T17:25:46.184Z" }, +] + +[[package]] +name = "click" +version = "8.2.1" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "colorama", marker = "sys_platform == 'win32'" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/60/6c/8ca2efa64cf75a977a0d7fac081354553ebe483345c734fb6b6515d96bbc/click-8.2.1.tar.gz", hash = "sha256:27c491cc05d968d271d5a1db13e3b5a184636d9d930f148c50b038f0d0646202", size = 286342, upload-time = "2025-05-20T23:19:49.832Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/85/32/10bb5764d90a8eee674e9dc6f4db6a0ab47c8c4d0d83c27f7c39ac415a4d/click-8.2.1-py3-none-any.whl", hash = "sha256:61a3265b914e850b85317d0b3109c7f8cd35a670f963866005d6ef1d5175a12b", size = 102215, upload-time = "2025-05-20T23:19:47.796Z" }, +] + +[[package]] +name = "colorama" +version = "0.4.6" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/d8/53/6f443c9a4a8358a93a6792e2acffb9d9d5cb0a5cfd8802644b7b1c9a02e4/colorama-0.4.6.tar.gz", hash = "sha256:08695f5cb7ed6e0531a20572697297273c47b8cae5a63ffc6d6ed5c201be6e44", size = 27697, upload-time = "2022-10-25T02:36:22.414Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/d1/d6/3965ed04c63042e047cb6a3e6ed1a63a35087b6a609aa3a15ed8ac56c221/colorama-0.4.6-py2.py3-none-any.whl", hash = "sha256:4f1d9991f5acc0ca119f9d443620b77f9d6b33703e51011c16baf57afb285fc6", size = 25335, upload-time = "2022-10-25T02:36:20.889Z" }, +] + +[[package]] +name = "crc32c" +version = "2.7.1" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/7f/4c/4e40cc26347ac8254d3f25b9f94710b8e8df24ee4dddc1ba41907a88a94d/crc32c-2.7.1.tar.gz", hash = "sha256:f91b144a21eef834d64178e01982bb9179c354b3e9e5f4c803b0e5096384968c", size = 45712, upload-time = "2024-09-24T06:20:17.553Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/bf/98/1a6d60d5b3b5edc8382777b64100343cb4aa6a7e172fae4a6cfcb8ebbbd9/crc32c-2.7.1-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:24949bffb06fc411cc18188d33357923cb935273642164d0bb37a5f375654169", size = 49567, upload-time = "2024-09-24T06:18:44.485Z" }, + { url = "https://files.pythonhosted.org/packages/4f/56/0dd652d4e950e6348bbf16b964b3325e4ad8220470774128fc0b0dd069cb/crc32c-2.7.1-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:2d5d326e7e118d4fa60187770d86b66af2fdfc63ce9eeb265f0d3e7d49bebe0b", size = 37018, upload-time = "2024-09-24T06:18:45.434Z" }, + { url = "https://files.pythonhosted.org/packages/47/02/2bd65fdef10139b6a802d83a7f966b7750fe5ffb1042f7cbe5dbb6403869/crc32c-2.7.1-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:ba110df60c64c8e2d77a9425b982a520ccdb7abe42f06604f4d98a45bb1fff62", size = 35374, upload-time = "2024-09-24T06:18:46.304Z" }, + { url = "https://files.pythonhosted.org/packages/a9/0d/3e797d1ed92d357a6a4c5b41cea15a538b27a8fdf18c7863747eb50b73ad/crc32c-2.7.1-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:c277f9d16a3283e064d54854af0976b72abaa89824955579b2b3f37444f89aae", size = 54641, upload-time = "2024-09-24T06:18:47.207Z" }, + { url = "https://files.pythonhosted.org/packages/a7/d3/4ddeef755caaa75680c559562b6c71f5910fee4c4f3a2eb5ea8b57f0e48c/crc32c-2.7.1-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:881af0478a01331244e27197356929edbdeaef6a9f81b5c6bacfea18d2139289", size = 52338, upload-time = "2024-09-24T06:18:49.31Z" }, + { url = "https://files.pythonhosted.org/packages/01/cf/32f019be5de9f6e180926a50ee5f08648e686c7d9a59f2c5d0806a77b1c7/crc32c-2.7.1-cp313-cp313-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:724d5ff4d29ff093a983ae656be3307093706d850ea2a233bf29fcacc335d945", size = 53447, upload-time = "2024-09-24T06:18:50.296Z" }, + { url = "https://files.pythonhosted.org/packages/b2/8b/92f3f62f3bafe8f7ab4af7bfb7246dc683fd11ec0d6dfb73f91e09079f69/crc32c-2.7.1-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:b2416c4d88696ac322632555c0f81ab35e15f154bc96055da6cf110d642dbc10", size = 54484, upload-time = "2024-09-24T06:18:51.311Z" }, + { url = "https://files.pythonhosted.org/packages/98/b2/113a50f8781f76af5ac65ffdb907e72bddbe974de8e02247f0d58bc48040/crc32c-2.7.1-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:60254251b88ec9b9795215f0f9ec015a6b5eef8b2c5fba1267c672d83c78fc02", size = 52703, upload-time = "2024-09-24T06:18:52.488Z" }, + { url = "https://files.pythonhosted.org/packages/b4/6c/309229e9acda8cf36a8ff4061d70b54d905f79b7037e16883ce6590a24ab/crc32c-2.7.1-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:edefc0e46f3c37372183f70338e5bdee42f6789b62fcd36ec53aa933e9dfbeaf", size = 53367, upload-time = "2024-09-24T06:18:53.49Z" }, + { url = "https://files.pythonhosted.org/packages/b5/2a/6c6324d920396e1bd9f3efbe8753da071be0ca52bd22d6c82d446b8d6975/crc32c-2.7.1-cp313-cp313-win32.whl", hash = "sha256:813af8111218970fe2adb833c5e5239f091b9c9e76f03b4dd91aaba86e99b499", size = 38377, upload-time = "2024-09-24T06:18:54.487Z" }, + { url = "https://files.pythonhosted.org/packages/db/a0/f01ccfab538db07ef3f6b4ede46357ff147a81dd4f3c59ca6a34c791a549/crc32c-2.7.1-cp313-cp313-win_amd64.whl", hash = "sha256:7d9ede7be8e4ec1c9e90aaf6884decbeef10e3473e6ddac032706d710cab5888", size = 39803, upload-time = "2024-09-24T06:18:55.419Z" }, + { url = "https://files.pythonhosted.org/packages/1b/80/61dcae7568b33acfde70c9d651c7d891c0c578c39cc049107c1cf61f1367/crc32c-2.7.1-cp313-cp313t-macosx_10_13_universal2.whl", hash = "sha256:db9ac92294284b22521356715784b91cc9094eee42a5282ab281b872510d1831", size = 49386, upload-time = "2024-09-24T06:18:56.813Z" }, + { url = "https://files.pythonhosted.org/packages/1e/f1/80f17c089799ab2b4c247443bdd101d6ceda30c46d7f193e16b5ca29c5a0/crc32c-2.7.1-cp313-cp313t-macosx_10_13_x86_64.whl", hash = "sha256:8fcd7f2f29a30dc92af64a9ee3d38bde0c82bd20ad939999427aac94bbd87373", size = 36937, upload-time = "2024-09-24T06:18:57.77Z" }, + { url = "https://files.pythonhosted.org/packages/63/42/5fcfc71a3de493d920fd2590843762a2749981ea56b802b380e5df82309d/crc32c-2.7.1-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:5c056ef043393085523e149276a7ce0cb534b872e04f3e20d74d9a94a75c0ad7", size = 35292, upload-time = "2024-09-24T06:18:58.676Z" }, + { url = "https://files.pythonhosted.org/packages/03/de/fef962e898a953558fe1c55141644553e84ef4190693a31244c59a0856c7/crc32c-2.7.1-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:03a92551a343702629af91f78d205801219692b6909f8fa126b830e332bfb0e0", size = 54223, upload-time = "2024-09-24T06:18:59.675Z" }, + { url = "https://files.pythonhosted.org/packages/21/14/fceca1a6f45c0a1814fe8602a65657b75c27425162445925ba87438cad6b/crc32c-2.7.1-cp313-cp313t-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:fb9424ec1a8ca54763155a703e763bcede82e6569fe94762614bb2de1412d4e1", size = 51588, upload-time = "2024-09-24T06:19:00.938Z" }, + { url = "https://files.pythonhosted.org/packages/13/3b/13d40a7dfbf9ef05c84a0da45544ee72080dca4ce090679e5105689984bd/crc32c-2.7.1-cp313-cp313t-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:88732070f6175530db04e0bb36880ac45c33d49f8ac43fa0e50cfb1830049d23", size = 52678, upload-time = "2024-09-24T06:19:02.661Z" }, + { url = "https://files.pythonhosted.org/packages/36/09/65ffc4fb9fa60ff6714eeb50a92284a4525e5943f0b040b572c0c76368c1/crc32c-2.7.1-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:57a20dfc27995f568f64775eea2bbb58ae269f1a1144561df5e4a4955f79db32", size = 53847, upload-time = "2024-09-24T06:19:03.705Z" }, + { url = "https://files.pythonhosted.org/packages/24/71/938e926085b7288da052db7c84416f3ce25e71baf7ab5b63824c7bcb6f22/crc32c-2.7.1-cp313-cp313t-musllinux_1_2_i686.whl", hash = "sha256:f7186d098bfd2cff25eac6880b7c7ad80431b90610036131c1c7dd0eab42a332", size = 51860, upload-time = "2024-09-24T06:19:04.726Z" }, + { url = "https://files.pythonhosted.org/packages/3c/d8/4526d5380189d6f2fa27256c204100f30214fe402f47cf6e9fb9a91ab890/crc32c-2.7.1-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:55a77e29a265418fa34bef15bd0f2c60afae5348988aaf35ed163b4bbf93cf37", size = 52508, upload-time = "2024-09-24T06:19:05.731Z" }, + { url = "https://files.pythonhosted.org/packages/19/30/15f7e35176488b77e5b88751947d321d603fccac273099ace27c7b2d50a6/crc32c-2.7.1-cp313-cp313t-win32.whl", hash = "sha256:ae38a4b6aa361595d81cab441405fbee905c72273e80a1c010fb878ae77ac769", size = 38319, upload-time = "2024-09-24T06:19:07.233Z" }, + { url = "https://files.pythonhosted.org/packages/19/c4/0b3eee04dac195f4730d102d7a9fbea894ae7a32ce075f84336df96a385d/crc32c-2.7.1-cp313-cp313t-win_amd64.whl", hash = "sha256:eee2a43b663feb6c79a6c1c6e5eae339c2b72cfac31ee54ec0209fa736cf7ee5", size = 39781, upload-time = "2024-09-24T06:19:08.182Z" }, +] + +[[package]] +name = "digital-embryo" +version = "0.1.0" +source = { virtual = "." } +dependencies = [ + { name = "anndata" }, + { name = "flask" }, + { name = "flask-cors" }, + { name = "pandas" }, +] + +[package.metadata] +requires-dist = [ + { name = "anndata", specifier = ">=0.12.1" }, + { name = "flask", specifier = ">=3.1.1" }, + { name = "flask-cors", specifier = ">=6.0.1" }, + { name = "pandas", specifier = ">=2.3.1" }, +] + +[[package]] +name = "donfig" +version = "0.8.1.post1" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "pyyaml" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/25/71/80cc718ff6d7abfbabacb1f57aaa42e9c1552bfdd01e64ddd704e4a03638/donfig-0.8.1.post1.tar.gz", hash = "sha256:3bef3413a4c1c601b585e8d297256d0c1470ea012afa6e8461dc28bfb7c23f52", size = 19506, upload-time = "2024-05-23T14:14:31.513Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/0c/d5/c5db1ea3394c6e1732fb3286b3bd878b59507a8f77d32a2cebda7d7b7cd4/donfig-0.8.1.post1-py3-none-any.whl", hash = "sha256:2a3175ce74a06109ff9307d90a230f81215cbac9a751f4d1c6194644b8204f9d", size = 21592, upload-time = "2024-05-23T14:13:55.283Z" }, +] + +[[package]] +name = "flask" +version = "3.1.1" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "blinker" }, + { name = "click" }, + { name = "itsdangerous" }, + { name = "jinja2" }, + { name = "markupsafe" }, + { name = "werkzeug" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/c0/de/e47735752347f4128bcf354e0da07ef311a78244eba9e3dc1d4a5ab21a98/flask-3.1.1.tar.gz", hash = "sha256:284c7b8f2f58cb737f0cf1c30fd7eaf0ccfcde196099d24ecede3fc2005aa59e", size = 753440, upload-time = "2025-05-13T15:01:17.447Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/3d/68/9d4508e893976286d2ead7f8f571314af6c2037af34853a30fd769c02e9d/flask-3.1.1-py3-none-any.whl", hash = "sha256:07aae2bb5eaf77993ef57e357491839f5fd9f4dc281593a81a9e4d79a24f295c", size = 103305, upload-time = "2025-05-13T15:01:15.591Z" }, +] + +[[package]] +name = "flask-cors" +version = "6.0.1" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "flask" }, + { name = "werkzeug" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/76/37/bcfa6c7d5eec777c4c7cf45ce6b27631cebe5230caf88d85eadd63edd37a/flask_cors-6.0.1.tar.gz", hash = "sha256:d81bcb31f07b0985be7f48406247e9243aced229b7747219160a0559edd678db", size = 13463, upload-time = "2025-06-11T01:32:08.518Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/17/f8/01bf35a3afd734345528f98d0353f2a978a476528ad4d7e78b70c4d149dd/flask_cors-6.0.1-py3-none-any.whl", hash = "sha256:c7b2cbfb1a31aa0d2e5341eea03a6805349f7a61647daee1a15c46bbe981494c", size = 13244, upload-time = "2025-06-11T01:32:07.352Z" }, +] + +[[package]] +name = "h5py" +version = "3.14.0" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "numpy" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/5d/57/dfb3c5c3f1bf5f5ef2e59a22dec4ff1f3d7408b55bfcefcfb0ea69ef21c6/h5py-3.14.0.tar.gz", hash = "sha256:2372116b2e0d5d3e5e705b7f663f7c8d96fa79a4052d250484ef91d24d6a08f4", size = 424323, upload-time = "2025-06-06T14:06:15.01Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/6c/c2/7efe82d09ca10afd77cd7c286e42342d520c049a8c43650194928bcc635c/h5py-3.14.0-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:aa4b7bbce683379b7bf80aaba68e17e23396100336a8d500206520052be2f812", size = 3289245, upload-time = "2025-06-06T14:05:28.24Z" }, + { url = "https://files.pythonhosted.org/packages/4f/31/f570fab1239b0d9441024b92b6ad03bb414ffa69101a985e4c83d37608bd/h5py-3.14.0-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:ef9603a501a04fcd0ba28dd8f0995303d26a77a980a1f9474b3417543d4c6174", size = 2807335, upload-time = "2025-06-06T14:05:31.997Z" }, + { url = "https://files.pythonhosted.org/packages/0d/ce/3a21d87896bc7e3e9255e0ad5583ae31ae9e6b4b00e0bcb2a67e2b6acdbc/h5py-3.14.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e8cbaf6910fa3983c46172666b0b8da7b7bd90d764399ca983236f2400436eeb", size = 4700675, upload-time = "2025-06-06T14:05:37.38Z" }, + { url = "https://files.pythonhosted.org/packages/e7/ec/86f59025306dcc6deee5fda54d980d077075b8d9889aac80f158bd585f1b/h5py-3.14.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:d90e6445ab7c146d7f7981b11895d70bc1dd91278a4f9f9028bc0c95e4a53f13", size = 4921632, upload-time = "2025-06-06T14:05:43.464Z" }, + { url = "https://files.pythonhosted.org/packages/3f/6d/0084ed0b78d4fd3e7530c32491f2884140d9b06365dac8a08de726421d4a/h5py-3.14.0-cp313-cp313-win_amd64.whl", hash = "sha256:ae18e3de237a7a830adb76aaa68ad438d85fe6e19e0d99944a3ce46b772c69b3", size = 2852929, upload-time = "2025-06-06T14:05:47.659Z" }, +] + +[[package]] +name = "itsdangerous" +version = "2.2.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/9c/cb/8ac0172223afbccb63986cc25049b154ecfb5e85932587206f42317be31d/itsdangerous-2.2.0.tar.gz", hash = "sha256:e0050c0b7da1eea53ffaf149c0cfbb5c6e2e2b69c4bef22c81fa6eb73e5f6173", size = 54410, upload-time = "2024-04-16T21:28:15.614Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/04/96/92447566d16df59b2a776c0fb82dbc4d9e07cd95062562af01e408583fc4/itsdangerous-2.2.0-py3-none-any.whl", hash = "sha256:c6242fc49e35958c8b15141343aa660db5fc54d4f13a1db01a3f5891b98700ef", size = 16234, upload-time = "2024-04-16T21:28:14.499Z" }, +] + +[[package]] +name = "jinja2" +version = "3.1.6" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "markupsafe" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/df/bf/f7da0350254c0ed7c72f3e33cef02e048281fec7ecec5f032d4aac52226b/jinja2-3.1.6.tar.gz", hash = "sha256:0137fb05990d35f1275a587e9aee6d56da821fc83491a0fb838183be43f66d6d", size = 245115, upload-time = "2025-03-05T20:05:02.478Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/62/a1/3d680cbfd5f4b8f15abc1d571870c5fc3e594bb582bc3b64ea099db13e56/jinja2-3.1.6-py3-none-any.whl", hash = "sha256:85ece4451f492d0c13c5dd7c13a64681a86afae63a5f347908daf103ce6d2f67", size = 134899, upload-time = "2025-03-05T20:05:00.369Z" }, +] + +[[package]] +name = "legacy-api-wrap" +version = "1.4.1" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/a4/07/fbc3cf8cf3759c5f234af9d94761f09f41e6d0aa912b2a9dfda19a48855a/legacy_api_wrap-1.4.1.tar.gz", hash = "sha256:9c40d67aa8312fec8763e87cbf28fea4b67710c79ca7a18137b573d150f3b2b4", size = 11003, upload-time = "2024-11-22T13:40:06.911Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/3c/1d/9324c70629dfe4395f9122ab331cf245d3cce6ded851aa8a0a8ae264c4e6/legacy_api_wrap-1.4.1-py3-none-any.whl", hash = "sha256:8ba214242e836cebfd3b64c1a1653fce955abb0f9e4c7dffb51f2ad014def0eb", size = 9986, upload-time = "2024-11-22T13:40:05.265Z" }, +] + +[[package]] +name = "markupsafe" +version = "3.0.2" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/b2/97/5d42485e71dfc078108a86d6de8fa46db44a1a9295e89c5d6d4a06e23a62/markupsafe-3.0.2.tar.gz", hash = "sha256:ee55d3edf80167e48ea11a923c7386f4669df67d7994554387f84e7d8b0a2bf0", size = 20537, upload-time = "2024-10-18T15:21:54.129Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/83/0e/67eb10a7ecc77a0c2bbe2b0235765b98d164d81600746914bebada795e97/MarkupSafe-3.0.2-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:ba9527cdd4c926ed0760bc301f6728ef34d841f405abf9d4f959c478421e4efd", size = 14274, upload-time = "2024-10-18T15:21:24.577Z" }, + { url = "https://files.pythonhosted.org/packages/2b/6d/9409f3684d3335375d04e5f05744dfe7e9f120062c9857df4ab490a1031a/MarkupSafe-3.0.2-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:f8b3d067f2e40fe93e1ccdd6b2e1d16c43140e76f02fb1319a05cf2b79d99430", size = 12352, upload-time = "2024-10-18T15:21:25.382Z" }, + { url = "https://files.pythonhosted.org/packages/d2/f5/6eadfcd3885ea85fe2a7c128315cc1bb7241e1987443d78c8fe712d03091/MarkupSafe-3.0.2-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:569511d3b58c8791ab4c2e1285575265991e6d8f8700c7be0e88f86cb0672094", size = 24122, upload-time = "2024-10-18T15:21:26.199Z" }, + { url = "https://files.pythonhosted.org/packages/0c/91/96cf928db8236f1bfab6ce15ad070dfdd02ed88261c2afafd4b43575e9e9/MarkupSafe-3.0.2-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:15ab75ef81add55874e7ab7055e9c397312385bd9ced94920f2802310c930396", size = 23085, upload-time = "2024-10-18T15:21:27.029Z" }, + { url = "https://files.pythonhosted.org/packages/c2/cf/c9d56af24d56ea04daae7ac0940232d31d5a8354f2b457c6d856b2057d69/MarkupSafe-3.0.2-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:f3818cb119498c0678015754eba762e0d61e5b52d34c8b13d770f0719f7b1d79", size = 22978, upload-time = "2024-10-18T15:21:27.846Z" }, + { url = "https://files.pythonhosted.org/packages/2a/9f/8619835cd6a711d6272d62abb78c033bda638fdc54c4e7f4272cf1c0962b/MarkupSafe-3.0.2-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:cdb82a876c47801bb54a690c5ae105a46b392ac6099881cdfb9f6e95e4014c6a", size = 24208, upload-time = "2024-10-18T15:21:28.744Z" }, + { url = "https://files.pythonhosted.org/packages/f9/bf/176950a1792b2cd2102b8ffeb5133e1ed984547b75db47c25a67d3359f77/MarkupSafe-3.0.2-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:cabc348d87e913db6ab4aa100f01b08f481097838bdddf7c7a84b7575b7309ca", size = 23357, upload-time = "2024-10-18T15:21:29.545Z" }, + { url = "https://files.pythonhosted.org/packages/ce/4f/9a02c1d335caabe5c4efb90e1b6e8ee944aa245c1aaaab8e8a618987d816/MarkupSafe-3.0.2-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:444dcda765c8a838eaae23112db52f1efaf750daddb2d9ca300bcae1039adc5c", size = 23344, upload-time = "2024-10-18T15:21:30.366Z" }, + { url = "https://files.pythonhosted.org/packages/ee/55/c271b57db36f748f0e04a759ace9f8f759ccf22b4960c270c78a394f58be/MarkupSafe-3.0.2-cp313-cp313-win32.whl", hash = "sha256:bcf3e58998965654fdaff38e58584d8937aa3096ab5354d493c77d1fdd66d7a1", size = 15101, upload-time = "2024-10-18T15:21:31.207Z" }, + { url = "https://files.pythonhosted.org/packages/29/88/07df22d2dd4df40aba9f3e402e6dc1b8ee86297dddbad4872bd5e7b0094f/MarkupSafe-3.0.2-cp313-cp313-win_amd64.whl", hash = "sha256:e6a2a455bd412959b57a172ce6328d2dd1f01cb2135efda2e4576e8a23fa3b0f", size = 15603, upload-time = "2024-10-18T15:21:32.032Z" }, + { url = "https://files.pythonhosted.org/packages/62/6a/8b89d24db2d32d433dffcd6a8779159da109842434f1dd2f6e71f32f738c/MarkupSafe-3.0.2-cp313-cp313t-macosx_10_13_universal2.whl", hash = "sha256:b5a6b3ada725cea8a5e634536b1b01c30bcdcd7f9c6fff4151548d5bf6b3a36c", size = 14510, upload-time = "2024-10-18T15:21:33.625Z" }, + { url = "https://files.pythonhosted.org/packages/7a/06/a10f955f70a2e5a9bf78d11a161029d278eeacbd35ef806c3fd17b13060d/MarkupSafe-3.0.2-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:a904af0a6162c73e3edcb969eeeb53a63ceeb5d8cf642fade7d39e7963a22ddb", size = 12486, upload-time = "2024-10-18T15:21:34.611Z" }, + { url = "https://files.pythonhosted.org/packages/34/cf/65d4a571869a1a9078198ca28f39fba5fbb910f952f9dbc5220afff9f5e6/MarkupSafe-3.0.2-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:4aa4e5faecf353ed117801a068ebab7b7e09ffb6e1d5e412dc852e0da018126c", size = 25480, upload-time = "2024-10-18T15:21:35.398Z" }, + { url = "https://files.pythonhosted.org/packages/0c/e3/90e9651924c430b885468b56b3d597cabf6d72be4b24a0acd1fa0e12af67/MarkupSafe-3.0.2-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:c0ef13eaeee5b615fb07c9a7dadb38eac06a0608b41570d8ade51c56539e509d", size = 23914, upload-time = "2024-10-18T15:21:36.231Z" }, + { url = "https://files.pythonhosted.org/packages/66/8c/6c7cf61f95d63bb866db39085150df1f2a5bd3335298f14a66b48e92659c/MarkupSafe-3.0.2-cp313-cp313t-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:d16a81a06776313e817c951135cf7340a3e91e8c1ff2fac444cfd75fffa04afe", size = 23796, upload-time = "2024-10-18T15:21:37.073Z" }, + { url = "https://files.pythonhosted.org/packages/bb/35/cbe9238ec3f47ac9a7c8b3df7a808e7cb50fe149dc7039f5f454b3fba218/MarkupSafe-3.0.2-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:6381026f158fdb7c72a168278597a5e3a5222e83ea18f543112b2662a9b699c5", size = 25473, upload-time = "2024-10-18T15:21:37.932Z" }, + { url = "https://files.pythonhosted.org/packages/e6/32/7621a4382488aa283cc05e8984a9c219abad3bca087be9ec77e89939ded9/MarkupSafe-3.0.2-cp313-cp313t-musllinux_1_2_i686.whl", hash = "sha256:3d79d162e7be8f996986c064d1c7c817f6df3a77fe3d6859f6f9e7be4b8c213a", size = 24114, upload-time = "2024-10-18T15:21:39.799Z" }, + { url = "https://files.pythonhosted.org/packages/0d/80/0985960e4b89922cb5a0bac0ed39c5b96cbc1a536a99f30e8c220a996ed9/MarkupSafe-3.0.2-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:131a3c7689c85f5ad20f9f6fb1b866f402c445b220c19fe4308c0b147ccd2ad9", size = 24098, upload-time = "2024-10-18T15:21:40.813Z" }, + { url = "https://files.pythonhosted.org/packages/82/78/fedb03c7d5380df2427038ec8d973587e90561b2d90cd472ce9254cf348b/MarkupSafe-3.0.2-cp313-cp313t-win32.whl", hash = "sha256:ba8062ed2cf21c07a9e295d5b8a2a5ce678b913b45fdf68c32d95d6c1291e0b6", size = 15208, upload-time = "2024-10-18T15:21:41.814Z" }, + { url = "https://files.pythonhosted.org/packages/4f/65/6079a46068dfceaeabb5dcad6d674f5f5c61a6fa5673746f42a9f4c233b3/MarkupSafe-3.0.2-cp313-cp313t-win_amd64.whl", hash = "sha256:e444a31f8db13eb18ada366ab3cf45fd4b31e4db1236a4448f68778c1d1a5a2f", size = 15739, upload-time = "2024-10-18T15:21:42.784Z" }, +] + +[[package]] +name = "natsort" +version = "8.4.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/e2/a9/a0c57aee75f77794adaf35322f8b6404cbd0f89ad45c87197a937764b7d0/natsort-8.4.0.tar.gz", hash = "sha256:45312c4a0e5507593da193dedd04abb1469253b601ecaf63445ad80f0a1ea581", size = 76575, upload-time = "2023-06-20T04:17:19.925Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/ef/82/7a9d0550484a62c6da82858ee9419f3dd1ccc9aa1c26a1e43da3ecd20b0d/natsort-8.4.0-py3-none-any.whl", hash = "sha256:4732914fb471f56b5cce04d7bae6f164a592c7712e1c85f9ef585e197299521c", size = 38268, upload-time = "2023-06-20T04:17:17.522Z" }, +] + +[[package]] +name = "numcodecs" +version = "0.16.1" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "numpy" }, + { name = "typing-extensions" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/00/35/49da850ce5371da3930d099da364a73ce9ae4fc64075e521674b48f4804d/numcodecs-0.16.1.tar.gz", hash = "sha256:c47f20d656454568c6b4697ce02081e6bbb512f198738c6a56fafe8029c97fb1", size = 6268134, upload-time = "2025-05-22T13:33:04.098Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/5e/1e/73ffb1074f03d52cb1c4f4deaba26a2008ca45262f3622ed26dbec7a7362/numcodecs-0.16.1-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:2ad8ee940315f59188accfc3f2d39726a4ca0d76b49bf8d0018e121f01c49028", size = 1659453, upload-time = "2025-05-22T13:32:55.558Z" }, + { url = "https://files.pythonhosted.org/packages/42/72/5affb1ce92b7a6becee17921de7c6b521a48fa61fc3d36d9f1eea2cf83f5/numcodecs-0.16.1-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:179ca7bf3525a0f7379df7767d87dd495253de44597cb7e511198b28b09da633", size = 1143932, upload-time = "2025-05-22T13:32:56.908Z" }, + { url = "https://files.pythonhosted.org/packages/e3/f1/b092679d84c67c6ed62e4df5781d89bbb089f24a0df4187cbab9db51cf6b/numcodecs-0.16.1-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:6e2babbb50bf348ae982818d5560af330eab0dcd925fb0e49509785ad57d11db", size = 8187716, upload-time = "2025-05-22T13:32:58.421Z" }, + { url = "https://files.pythonhosted.org/packages/a8/e8/86e7741adb43261aff409b53c53c8bac2797bfca055d64dd65dc731d5141/numcodecs-0.16.1-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a4b29d8d3284b72bfad4fb83d672a17f497ae86ee1ef8087bac7222b620d3d91", size = 8728650, upload-time = "2025-05-22T13:33:00.337Z" }, + { url = "https://files.pythonhosted.org/packages/21/03/87c5c217232aa3515d350728c6dcefca252fa582246100ef68a51fbda456/numcodecs-0.16.1-cp313-cp313-win_amd64.whl", hash = "sha256:06489635f43e1a959aea73cb830d78cf3adb07ac5f34daccb92091e4d9ac6b07", size = 785553, upload-time = "2025-05-22T13:33:02.587Z" }, +] + +[package.optional-dependencies] +crc32c = [ + { name = "crc32c" }, +] + +[[package]] +name = "numpy" +version = "2.3.2" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/37/7d/3fec4199c5ffb892bed55cff901e4f39a58c81df9c44c280499e92cad264/numpy-2.3.2.tar.gz", hash = "sha256:e0486a11ec30cdecb53f184d496d1c6a20786c81e55e41640270130056f8ee48", size = 20489306, upload-time = "2025-07-24T21:32:07.553Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/1c/c0/c6bb172c916b00700ed3bf71cb56175fd1f7dbecebf8353545d0b5519f6c/numpy-2.3.2-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:c8d9727f5316a256425892b043736d63e89ed15bbfe6556c5ff4d9d4448ff3b3", size = 20949074, upload-time = "2025-07-24T20:43:07.813Z" }, + { url = "https://files.pythonhosted.org/packages/20/4e/c116466d22acaf4573e58421c956c6076dc526e24a6be0903219775d862e/numpy-2.3.2-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:efc81393f25f14d11c9d161e46e6ee348637c0a1e8a54bf9dedc472a3fae993b", size = 14177311, upload-time = "2025-07-24T20:43:29.335Z" }, + { url = "https://files.pythonhosted.org/packages/78/45/d4698c182895af189c463fc91d70805d455a227261d950e4e0f1310c2550/numpy-2.3.2-cp313-cp313-macosx_14_0_arm64.whl", hash = "sha256:dd937f088a2df683cbb79dda9a772b62a3e5a8a7e76690612c2737f38c6ef1b6", size = 5106022, upload-time = "2025-07-24T20:43:37.999Z" }, + { url = "https://files.pythonhosted.org/packages/9f/76/3e6880fef4420179309dba72a8c11f6166c431cf6dee54c577af8906f914/numpy-2.3.2-cp313-cp313-macosx_14_0_x86_64.whl", hash = "sha256:11e58218c0c46c80509186e460d79fbdc9ca1eb8d8aee39d8f2dc768eb781089", size = 6640135, upload-time = "2025-07-24T20:43:49.28Z" }, + { url = "https://files.pythonhosted.org/packages/34/fa/87ff7f25b3c4ce9085a62554460b7db686fef1e0207e8977795c7b7d7ba1/numpy-2.3.2-cp313-cp313-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:5ad4ebcb683a1f99f4f392cc522ee20a18b2bb12a2c1c42c3d48d5a1adc9d3d2", size = 14278147, upload-time = "2025-07-24T20:44:10.328Z" }, + { url = "https://files.pythonhosted.org/packages/1d/0f/571b2c7a3833ae419fe69ff7b479a78d313581785203cc70a8db90121b9a/numpy-2.3.2-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:938065908d1d869c7d75d8ec45f735a034771c6ea07088867f713d1cd3bbbe4f", size = 16635989, upload-time = "2025-07-24T20:44:34.88Z" }, + { url = "https://files.pythonhosted.org/packages/24/5a/84ae8dca9c9a4c592fe11340b36a86ffa9fd3e40513198daf8a97839345c/numpy-2.3.2-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:66459dccc65d8ec98cc7df61307b64bf9e08101f9598755d42d8ae65d9a7a6ee", size = 16053052, upload-time = "2025-07-24T20:44:58.872Z" }, + { url = "https://files.pythonhosted.org/packages/57/7c/e5725d99a9133b9813fcf148d3f858df98511686e853169dbaf63aec6097/numpy-2.3.2-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:a7af9ed2aa9ec5950daf05bb11abc4076a108bd3c7db9aa7251d5f107079b6a6", size = 18577955, upload-time = "2025-07-24T20:45:26.714Z" }, + { url = "https://files.pythonhosted.org/packages/ae/11/7c546fcf42145f29b71e4d6f429e96d8d68e5a7ba1830b2e68d7418f0bbd/numpy-2.3.2-cp313-cp313-win32.whl", hash = "sha256:906a30249315f9c8e17b085cc5f87d3f369b35fedd0051d4a84686967bdbbd0b", size = 6311843, upload-time = "2025-07-24T20:49:24.444Z" }, + { url = "https://files.pythonhosted.org/packages/aa/6f/a428fd1cb7ed39b4280d057720fed5121b0d7754fd2a9768640160f5517b/numpy-2.3.2-cp313-cp313-win_amd64.whl", hash = "sha256:c63d95dc9d67b676e9108fe0d2182987ccb0f11933c1e8959f42fa0da8d4fa56", size = 12782876, upload-time = "2025-07-24T20:49:43.227Z" }, + { url = "https://files.pythonhosted.org/packages/65/85/4ea455c9040a12595fb6c43f2c217257c7b52dd0ba332c6a6c1d28b289fe/numpy-2.3.2-cp313-cp313-win_arm64.whl", hash = "sha256:b05a89f2fb84d21235f93de47129dd4f11c16f64c87c33f5e284e6a3a54e43f2", size = 10192786, upload-time = "2025-07-24T20:49:59.443Z" }, + { url = "https://files.pythonhosted.org/packages/80/23/8278f40282d10c3f258ec3ff1b103d4994bcad78b0cba9208317f6bb73da/numpy-2.3.2-cp313-cp313t-macosx_10_13_x86_64.whl", hash = "sha256:4e6ecfeddfa83b02318f4d84acf15fbdbf9ded18e46989a15a8b6995dfbf85ab", size = 21047395, upload-time = "2025-07-24T20:45:58.821Z" }, + { url = "https://files.pythonhosted.org/packages/1f/2d/624f2ce4a5df52628b4ccd16a4f9437b37c35f4f8a50d00e962aae6efd7a/numpy-2.3.2-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:508b0eada3eded10a3b55725b40806a4b855961040180028f52580c4729916a2", size = 14300374, upload-time = "2025-07-24T20:46:20.207Z" }, + { url = "https://files.pythonhosted.org/packages/f6/62/ff1e512cdbb829b80a6bd08318a58698867bca0ca2499d101b4af063ee97/numpy-2.3.2-cp313-cp313t-macosx_14_0_arm64.whl", hash = "sha256:754d6755d9a7588bdc6ac47dc4ee97867271b17cee39cb87aef079574366db0a", size = 5228864, upload-time = "2025-07-24T20:46:30.58Z" }, + { url = "https://files.pythonhosted.org/packages/7d/8e/74bc18078fff03192d4032cfa99d5a5ca937807136d6f5790ce07ca53515/numpy-2.3.2-cp313-cp313t-macosx_14_0_x86_64.whl", hash = "sha256:a9f66e7d2b2d7712410d3bc5684149040ef5f19856f20277cd17ea83e5006286", size = 6737533, upload-time = "2025-07-24T20:46:46.111Z" }, + { url = "https://files.pythonhosted.org/packages/19/ea/0731efe2c9073ccca5698ef6a8c3667c4cf4eea53fcdcd0b50140aba03bc/numpy-2.3.2-cp313-cp313t-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:de6ea4e5a65d5a90c7d286ddff2b87f3f4ad61faa3db8dabe936b34c2275b6f8", size = 14352007, upload-time = "2025-07-24T20:47:07.1Z" }, + { url = "https://files.pythonhosted.org/packages/cf/90/36be0865f16dfed20f4bc7f75235b963d5939707d4b591f086777412ff7b/numpy-2.3.2-cp313-cp313t-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:a3ef07ec8cbc8fc9e369c8dcd52019510c12da4de81367d8b20bc692aa07573a", size = 16701914, upload-time = "2025-07-24T20:47:32.459Z" }, + { url = "https://files.pythonhosted.org/packages/94/30/06cd055e24cb6c38e5989a9e747042b4e723535758e6153f11afea88c01b/numpy-2.3.2-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:27c9f90e7481275c7800dc9c24b7cc40ace3fdb970ae4d21eaff983a32f70c91", size = 16132708, upload-time = "2025-07-24T20:47:58.129Z" }, + { url = "https://files.pythonhosted.org/packages/9a/14/ecede608ea73e58267fd7cb78f42341b3b37ba576e778a1a06baffbe585c/numpy-2.3.2-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:07b62978075b67eee4065b166d000d457c82a1efe726cce608b9db9dd66a73a5", size = 18651678, upload-time = "2025-07-24T20:48:25.402Z" }, + { url = "https://files.pythonhosted.org/packages/40/f3/2fe6066b8d07c3685509bc24d56386534c008b462a488b7f503ba82b8923/numpy-2.3.2-cp313-cp313t-win32.whl", hash = "sha256:c771cfac34a4f2c0de8e8c97312d07d64fd8f8ed45bc9f5726a7e947270152b5", size = 6441832, upload-time = "2025-07-24T20:48:37.181Z" }, + { url = "https://files.pythonhosted.org/packages/0b/ba/0937d66d05204d8f28630c9c60bc3eda68824abde4cf756c4d6aad03b0c6/numpy-2.3.2-cp313-cp313t-win_amd64.whl", hash = "sha256:72dbebb2dcc8305c431b2836bcc66af967df91be793d63a24e3d9b741374c450", size = 12927049, upload-time = "2025-07-24T20:48:56.24Z" }, + { url = "https://files.pythonhosted.org/packages/e9/ed/13542dd59c104d5e654dfa2ac282c199ba64846a74c2c4bcdbc3a0f75df1/numpy-2.3.2-cp313-cp313t-win_arm64.whl", hash = "sha256:72c6df2267e926a6d5286b0a6d556ebe49eae261062059317837fda12ddf0c1a", size = 10262935, upload-time = "2025-07-24T20:49:13.136Z" }, + { url = "https://files.pythonhosted.org/packages/c9/7c/7659048aaf498f7611b783e000c7268fcc4dcf0ce21cd10aad7b2e8f9591/numpy-2.3.2-cp314-cp314-macosx_10_13_x86_64.whl", hash = "sha256:448a66d052d0cf14ce9865d159bfc403282c9bc7bb2a31b03cc18b651eca8b1a", size = 20950906, upload-time = "2025-07-24T20:50:30.346Z" }, + { url = "https://files.pythonhosted.org/packages/80/db/984bea9d4ddf7112a04cfdfb22b1050af5757864cfffe8e09e44b7f11a10/numpy-2.3.2-cp314-cp314-macosx_11_0_arm64.whl", hash = "sha256:546aaf78e81b4081b2eba1d105c3b34064783027a06b3ab20b6eba21fb64132b", size = 14185607, upload-time = "2025-07-24T20:50:51.923Z" }, + { url = "https://files.pythonhosted.org/packages/e4/76/b3d6f414f4eca568f469ac112a3b510938d892bc5a6c190cb883af080b77/numpy-2.3.2-cp314-cp314-macosx_14_0_arm64.whl", hash = "sha256:87c930d52f45df092f7578889711a0768094debf73cfcde105e2d66954358125", size = 5114110, upload-time = "2025-07-24T20:51:01.041Z" }, + { url = "https://files.pythonhosted.org/packages/9e/d2/6f5e6826abd6bca52392ed88fe44a4b52aacb60567ac3bc86c67834c3a56/numpy-2.3.2-cp314-cp314-macosx_14_0_x86_64.whl", hash = "sha256:8dc082ea901a62edb8f59713c6a7e28a85daddcb67454c839de57656478f5b19", size = 6642050, upload-time = "2025-07-24T20:51:11.64Z" }, + { url = "https://files.pythonhosted.org/packages/c4/43/f12b2ade99199e39c73ad182f103f9d9791f48d885c600c8e05927865baf/numpy-2.3.2-cp314-cp314-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:af58de8745f7fa9ca1c0c7c943616c6fe28e75d0c81f5c295810e3c83b5be92f", size = 14296292, upload-time = "2025-07-24T20:51:33.488Z" }, + { url = "https://files.pythonhosted.org/packages/5d/f9/77c07d94bf110a916b17210fac38680ed8734c236bfed9982fd8524a7b47/numpy-2.3.2-cp314-cp314-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:fed5527c4cf10f16c6d0b6bee1f89958bccb0ad2522c8cadc2efd318bcd545f5", size = 16638913, upload-time = "2025-07-24T20:51:58.517Z" }, + { url = "https://files.pythonhosted.org/packages/9b/d1/9d9f2c8ea399cc05cfff8a7437453bd4e7d894373a93cdc46361bbb49a7d/numpy-2.3.2-cp314-cp314-musllinux_1_2_aarch64.whl", hash = "sha256:095737ed986e00393ec18ec0b21b47c22889ae4b0cd2d5e88342e08b01141f58", size = 16071180, upload-time = "2025-07-24T20:52:22.827Z" }, + { url = "https://files.pythonhosted.org/packages/4c/41/82e2c68aff2a0c9bf315e47d61951099fed65d8cb2c8d9dc388cb87e947e/numpy-2.3.2-cp314-cp314-musllinux_1_2_x86_64.whl", hash = "sha256:b5e40e80299607f597e1a8a247ff8d71d79c5b52baa11cc1cce30aa92d2da6e0", size = 18576809, upload-time = "2025-07-24T20:52:51.015Z" }, + { url = "https://files.pythonhosted.org/packages/14/14/4b4fd3efb0837ed252d0f583c5c35a75121038a8c4e065f2c259be06d2d8/numpy-2.3.2-cp314-cp314-win32.whl", hash = "sha256:7d6e390423cc1f76e1b8108c9b6889d20a7a1f59d9a60cac4a050fa734d6c1e2", size = 6366410, upload-time = "2025-07-24T20:56:44.949Z" }, + { url = "https://files.pythonhosted.org/packages/11/9e/b4c24a6b8467b61aced5c8dc7dcfce23621baa2e17f661edb2444a418040/numpy-2.3.2-cp314-cp314-win_amd64.whl", hash = "sha256:b9d0878b21e3918d76d2209c924ebb272340da1fb51abc00f986c258cd5e957b", size = 12918821, upload-time = "2025-07-24T20:57:06.479Z" }, + { url = "https://files.pythonhosted.org/packages/0e/0f/0dc44007c70b1007c1cef86b06986a3812dd7106d8f946c09cfa75782556/numpy-2.3.2-cp314-cp314-win_arm64.whl", hash = "sha256:2738534837c6a1d0c39340a190177d7d66fdf432894f469728da901f8f6dc910", size = 10477303, upload-time = "2025-07-24T20:57:22.879Z" }, + { url = "https://files.pythonhosted.org/packages/8b/3e/075752b79140b78ddfc9c0a1634d234cfdbc6f9bbbfa6b7504e445ad7d19/numpy-2.3.2-cp314-cp314t-macosx_10_13_x86_64.whl", hash = "sha256:4d002ecf7c9b53240be3bb69d80f86ddbd34078bae04d87be81c1f58466f264e", size = 21047524, upload-time = "2025-07-24T20:53:22.086Z" }, + { url = "https://files.pythonhosted.org/packages/fe/6d/60e8247564a72426570d0e0ea1151b95ce5bd2f1597bb878a18d32aec855/numpy-2.3.2-cp314-cp314t-macosx_11_0_arm64.whl", hash = "sha256:293b2192c6bcce487dbc6326de5853787f870aeb6c43f8f9c6496db5b1781e45", size = 14300519, upload-time = "2025-07-24T20:53:44.053Z" }, + { url = "https://files.pythonhosted.org/packages/4d/73/d8326c442cd428d47a067070c3ac6cc3b651a6e53613a1668342a12d4479/numpy-2.3.2-cp314-cp314t-macosx_14_0_arm64.whl", hash = "sha256:0a4f2021a6da53a0d580d6ef5db29947025ae8b35b3250141805ea9a32bbe86b", size = 5228972, upload-time = "2025-07-24T20:53:53.81Z" }, + { url = "https://files.pythonhosted.org/packages/34/2e/e71b2d6dad075271e7079db776196829019b90ce3ece5c69639e4f6fdc44/numpy-2.3.2-cp314-cp314t-macosx_14_0_x86_64.whl", hash = "sha256:9c144440db4bf3bb6372d2c3e49834cc0ff7bb4c24975ab33e01199e645416f2", size = 6737439, upload-time = "2025-07-24T20:54:04.742Z" }, + { url = "https://files.pythonhosted.org/packages/15/b0/d004bcd56c2c5e0500ffc65385eb6d569ffd3363cb5e593ae742749b2daa/numpy-2.3.2-cp314-cp314t-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:f92d6c2a8535dc4fe4419562294ff957f83a16ebdec66df0805e473ffaad8bd0", size = 14352479, upload-time = "2025-07-24T20:54:25.819Z" }, + { url = "https://files.pythonhosted.org/packages/11/e3/285142fcff8721e0c99b51686426165059874c150ea9ab898e12a492e291/numpy-2.3.2-cp314-cp314t-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:cefc2219baa48e468e3db7e706305fcd0c095534a192a08f31e98d83a7d45fb0", size = 16702805, upload-time = "2025-07-24T20:54:50.814Z" }, + { url = "https://files.pythonhosted.org/packages/33/c3/33b56b0e47e604af2c7cd065edca892d180f5899599b76830652875249a3/numpy-2.3.2-cp314-cp314t-musllinux_1_2_aarch64.whl", hash = "sha256:76c3e9501ceb50b2ff3824c3589d5d1ab4ac857b0ee3f8f49629d0de55ecf7c2", size = 16133830, upload-time = "2025-07-24T20:55:17.306Z" }, + { url = "https://files.pythonhosted.org/packages/6e/ae/7b1476a1f4d6a48bc669b8deb09939c56dd2a439db1ab03017844374fb67/numpy-2.3.2-cp314-cp314t-musllinux_1_2_x86_64.whl", hash = "sha256:122bf5ed9a0221b3419672493878ba4967121514b1d7d4656a7580cd11dddcbf", size = 18652665, upload-time = "2025-07-24T20:55:46.665Z" }, + { url = "https://files.pythonhosted.org/packages/14/ba/5b5c9978c4bb161034148ade2de9db44ec316fab89ce8c400db0e0c81f86/numpy-2.3.2-cp314-cp314t-win32.whl", hash = "sha256:6f1ae3dcb840edccc45af496f312528c15b1f79ac318169d094e85e4bb35fdf1", size = 6514777, upload-time = "2025-07-24T20:55:57.66Z" }, + { url = "https://files.pythonhosted.org/packages/eb/46/3dbaf0ae7c17cdc46b9f662c56da2054887b8d9e737c1476f335c83d33db/numpy-2.3.2-cp314-cp314t-win_amd64.whl", hash = "sha256:087ffc25890d89a43536f75c5fe8770922008758e8eeeef61733957041ed2f9b", size = 13111856, upload-time = "2025-07-24T20:56:17.318Z" }, + { url = "https://files.pythonhosted.org/packages/c1/9e/1652778bce745a67b5fe05adde60ed362d38eb17d919a540e813d30f6874/numpy-2.3.2-cp314-cp314t-win_arm64.whl", hash = "sha256:092aeb3449833ea9c0bf0089d70c29ae480685dd2377ec9cdbbb620257f84631", size = 10544226, upload-time = "2025-07-24T20:56:34.509Z" }, +] + +[[package]] +name = "packaging" +version = "25.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/a1/d4/1fc4078c65507b51b96ca8f8c3ba19e6a61c8253c72794544580a7b6c24d/packaging-25.0.tar.gz", hash = "sha256:d443872c98d677bf60f6a1f2f8c1cb748e8fe762d2bf9d3148b5599295b0fc4f", size = 165727, upload-time = "2025-04-19T11:48:59.673Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/20/12/38679034af332785aac8774540895e234f4d07f7545804097de4b666afd8/packaging-25.0-py3-none-any.whl", hash = "sha256:29572ef2b1f17581046b3a2227d5c611fb25ec70ca1ba8554b24b0e69331a484", size = 66469, upload-time = "2025-04-19T11:48:57.875Z" }, +] + +[[package]] +name = "pandas" +version = "2.3.1" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "numpy" }, + { name = "python-dateutil" }, + { name = "pytz" }, + { name = "tzdata" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/d1/6f/75aa71f8a14267117adeeed5d21b204770189c0a0025acbdc03c337b28fc/pandas-2.3.1.tar.gz", hash = "sha256:0a95b9ac964fe83ce317827f80304d37388ea77616b1425f0ae41c9d2d0d7bb2", size = 4487493, upload-time = "2025-07-07T19:20:04.079Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/32/ed/ff0a67a2c5505e1854e6715586ac6693dd860fbf52ef9f81edee200266e7/pandas-2.3.1-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:9026bd4a80108fac2239294a15ef9003c4ee191a0f64b90f170b40cfb7cf2d22", size = 11531393, upload-time = "2025-07-07T19:19:12.245Z" }, + { url = "https://files.pythonhosted.org/packages/c7/db/d8f24a7cc9fb0972adab0cc80b6817e8bef888cfd0024eeb5a21c0bb5c4a/pandas-2.3.1-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:6de8547d4fdb12421e2d047a2c446c623ff4c11f47fddb6b9169eb98ffba485a", size = 10668750, upload-time = "2025-07-07T19:19:14.612Z" }, + { url = "https://files.pythonhosted.org/packages/0f/b0/80f6ec783313f1e2356b28b4fd8d2148c378370045da918c73145e6aab50/pandas-2.3.1-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:782647ddc63c83133b2506912cc6b108140a38a37292102aaa19c81c83db2928", size = 11342004, upload-time = "2025-07-07T19:19:16.857Z" }, + { url = "https://files.pythonhosted.org/packages/e9/e2/20a317688435470872885e7fc8f95109ae9683dec7c50be29b56911515a5/pandas-2.3.1-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:2ba6aff74075311fc88504b1db890187a3cd0f887a5b10f5525f8e2ef55bfdb9", size = 12050869, upload-time = "2025-07-07T19:19:19.265Z" }, + { url = "https://files.pythonhosted.org/packages/55/79/20d746b0a96c67203a5bee5fb4e00ac49c3e8009a39e1f78de264ecc5729/pandas-2.3.1-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:e5635178b387bd2ba4ac040f82bc2ef6e6b500483975c4ebacd34bec945fda12", size = 12750218, upload-time = "2025-07-07T19:19:21.547Z" }, + { url = "https://files.pythonhosted.org/packages/7c/0f/145c8b41e48dbf03dd18fdd7f24f8ba95b8254a97a3379048378f33e7838/pandas-2.3.1-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:6f3bf5ec947526106399a9e1d26d40ee2b259c66422efdf4de63c848492d91bb", size = 13416763, upload-time = "2025-07-07T19:19:23.939Z" }, + { url = "https://files.pythonhosted.org/packages/b2/c0/54415af59db5cdd86a3d3bf79863e8cc3fa9ed265f0745254061ac09d5f2/pandas-2.3.1-cp313-cp313-win_amd64.whl", hash = "sha256:1c78cf43c8fde236342a1cb2c34bcff89564a7bfed7e474ed2fffa6aed03a956", size = 10987482, upload-time = "2025-07-07T19:19:42.699Z" }, + { url = "https://files.pythonhosted.org/packages/48/64/2fd2e400073a1230e13b8cd604c9bc95d9e3b962e5d44088ead2e8f0cfec/pandas-2.3.1-cp313-cp313t-macosx_10_13_x86_64.whl", hash = "sha256:8dfc17328e8da77be3cf9f47509e5637ba8f137148ed0e9b5241e1baf526e20a", size = 12029159, upload-time = "2025-07-07T19:19:26.362Z" }, + { url = "https://files.pythonhosted.org/packages/d8/0a/d84fd79b0293b7ef88c760d7dca69828d867c89b6d9bc52d6a27e4d87316/pandas-2.3.1-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:ec6c851509364c59a5344458ab935e6451b31b818be467eb24b0fe89bd05b6b9", size = 11393287, upload-time = "2025-07-07T19:19:29.157Z" }, + { url = "https://files.pythonhosted.org/packages/50/ae/ff885d2b6e88f3c7520bb74ba319268b42f05d7e583b5dded9837da2723f/pandas-2.3.1-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:911580460fc4884d9b05254b38a6bfadddfcc6aaef856fb5859e7ca202e45275", size = 11309381, upload-time = "2025-07-07T19:19:31.436Z" }, + { url = "https://files.pythonhosted.org/packages/85/86/1fa345fc17caf5d7780d2699985c03dbe186c68fee00b526813939062bb0/pandas-2.3.1-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:2f4d6feeba91744872a600e6edbbd5b033005b431d5ae8379abee5bcfa479fab", size = 11883998, upload-time = "2025-07-07T19:19:34.267Z" }, + { url = "https://files.pythonhosted.org/packages/81/aa/e58541a49b5e6310d89474333e994ee57fea97c8aaa8fc7f00b873059bbf/pandas-2.3.1-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:fe37e757f462d31a9cd7580236a82f353f5713a80e059a29753cf938c6775d96", size = 12704705, upload-time = "2025-07-07T19:19:36.856Z" }, + { url = "https://files.pythonhosted.org/packages/d5/f9/07086f5b0f2a19872554abeea7658200824f5835c58a106fa8f2ae96a46c/pandas-2.3.1-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:5db9637dbc24b631ff3707269ae4559bce4b7fd75c1c4d7e13f40edc42df4444", size = 13189044, upload-time = "2025-07-07T19:19:39.999Z" }, +] + +[[package]] +name = "python-dateutil" +version = "2.9.0.post0" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "six" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/66/c0/0c8b6ad9f17a802ee498c46e004a0eb49bc148f2fd230864601a86dcf6db/python-dateutil-2.9.0.post0.tar.gz", hash = "sha256:37dd54208da7e1cd875388217d5e00ebd4179249f90fb72437e91a35459a0ad3", size = 342432, upload-time = "2024-03-01T18:36:20.211Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/ec/57/56b9bcc3c9c6a792fcbaf139543cee77261f3651ca9da0c93f5c1221264b/python_dateutil-2.9.0.post0-py2.py3-none-any.whl", hash = "sha256:a8b2bc7bffae282281c8140a97d3aa9c14da0b136dfe83f850eea9a5f7470427", size = 229892, upload-time = "2024-03-01T18:36:18.57Z" }, +] + +[[package]] +name = "pytz" +version = "2025.2" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/f8/bf/abbd3cdfb8fbc7fb3d4d38d320f2441b1e7cbe29be4f23797b4a2b5d8aac/pytz-2025.2.tar.gz", hash = "sha256:360b9e3dbb49a209c21ad61809c7fb453643e048b38924c765813546746e81c3", size = 320884, upload-time = "2025-03-25T02:25:00.538Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/81/c4/34e93fe5f5429d7570ec1fa436f1986fb1f00c3e0f43a589fe2bbcd22c3f/pytz-2025.2-py2.py3-none-any.whl", hash = "sha256:5ddf76296dd8c44c26eb8f4b6f35488f3ccbf6fbbd7adee0b7262d43f0ec2f00", size = 509225, upload-time = "2025-03-25T02:24:58.468Z" }, +] + +[[package]] +name = "pyyaml" +version = "6.0.2" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/54/ed/79a089b6be93607fa5cdaedf301d7dfb23af5f25c398d5ead2525b063e17/pyyaml-6.0.2.tar.gz", hash = "sha256:d584d9ec91ad65861cc08d42e834324ef890a082e591037abe114850ff7bbc3e", size = 130631, upload-time = "2024-08-06T20:33:50.674Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/ef/e3/3af305b830494fa85d95f6d95ef7fa73f2ee1cc8ef5b495c7c3269fb835f/PyYAML-6.0.2-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:efdca5630322a10774e8e98e1af481aad470dd62c3170801852d752aa7a783ba", size = 181309, upload-time = "2024-08-06T20:32:43.4Z" }, + { url = "https://files.pythonhosted.org/packages/45/9f/3b1c20a0b7a3200524eb0076cc027a970d320bd3a6592873c85c92a08731/PyYAML-6.0.2-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:50187695423ffe49e2deacb8cd10510bc361faac997de9efef88badc3bb9e2d1", size = 171679, upload-time = "2024-08-06T20:32:44.801Z" }, + { url = "https://files.pythonhosted.org/packages/7c/9a/337322f27005c33bcb656c655fa78325b730324c78620e8328ae28b64d0c/PyYAML-6.0.2-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:0ffe8360bab4910ef1b9e87fb812d8bc0a308b0d0eef8c8f44e0254ab3b07133", size = 733428, upload-time = "2024-08-06T20:32:46.432Z" }, + { url = "https://files.pythonhosted.org/packages/a3/69/864fbe19e6c18ea3cc196cbe5d392175b4cf3d5d0ac1403ec3f2d237ebb5/PyYAML-6.0.2-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:17e311b6c678207928d649faa7cb0d7b4c26a0ba73d41e99c4fff6b6c3276484", size = 763361, upload-time = "2024-08-06T20:32:51.188Z" }, + { url = "https://files.pythonhosted.org/packages/04/24/b7721e4845c2f162d26f50521b825fb061bc0a5afcf9a386840f23ea19fa/PyYAML-6.0.2-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:70b189594dbe54f75ab3a1acec5f1e3faa7e8cf2f1e08d9b561cb41b845f69d5", size = 759523, upload-time = "2024-08-06T20:32:53.019Z" }, + { url = "https://files.pythonhosted.org/packages/2b/b2/e3234f59ba06559c6ff63c4e10baea10e5e7df868092bf9ab40e5b9c56b6/PyYAML-6.0.2-cp313-cp313-musllinux_1_1_aarch64.whl", hash = "sha256:41e4e3953a79407c794916fa277a82531dd93aad34e29c2a514c2c0c5fe971cc", size = 726660, upload-time = "2024-08-06T20:32:54.708Z" }, + { url = "https://files.pythonhosted.org/packages/fe/0f/25911a9f080464c59fab9027482f822b86bf0608957a5fcc6eaac85aa515/PyYAML-6.0.2-cp313-cp313-musllinux_1_1_x86_64.whl", hash = "sha256:68ccc6023a3400877818152ad9a1033e3db8625d899c72eacb5a668902e4d652", size = 751597, upload-time = "2024-08-06T20:32:56.985Z" }, + { url = "https://files.pythonhosted.org/packages/14/0d/e2c3b43bbce3cf6bd97c840b46088a3031085179e596d4929729d8d68270/PyYAML-6.0.2-cp313-cp313-win32.whl", hash = "sha256:bc2fa7c6b47d6bc618dd7fb02ef6fdedb1090ec036abab80d4681424b84c1183", size = 140527, upload-time = "2024-08-06T20:33:03.001Z" }, + { url = "https://files.pythonhosted.org/packages/fa/de/02b54f42487e3d3c6efb3f89428677074ca7bf43aae402517bc7cca949f3/PyYAML-6.0.2-cp313-cp313-win_amd64.whl", hash = "sha256:8388ee1976c416731879ac16da0aff3f63b286ffdd57cdeb95f3f2e085687563", size = 156446, upload-time = "2024-08-06T20:33:04.33Z" }, +] + +[[package]] +name = "scipy" +version = "1.16.0" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "numpy" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/81/18/b06a83f0c5ee8cddbde5e3f3d0bb9b702abfa5136ef6d4620ff67df7eee5/scipy-1.16.0.tar.gz", hash = "sha256:b5ef54021e832869c8cfb03bc3bf20366cbcd426e02a58e8a58d7584dfbb8f62", size = 30581216, upload-time = "2025-06-22T16:27:55.782Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/46/95/0746417bc24be0c2a7b7563946d61f670a3b491b76adede420e9d173841f/scipy-1.16.0-cp313-cp313-macosx_10_14_x86_64.whl", hash = "sha256:e9f414cbe9ca289a73e0cc92e33a6a791469b6619c240aa32ee18abdce8ab451", size = 36418162, upload-time = "2025-06-22T16:19:56.3Z" }, + { url = "https://files.pythonhosted.org/packages/19/5a/914355a74481b8e4bbccf67259bbde171348a3f160b67b4945fbc5f5c1e5/scipy-1.16.0-cp313-cp313-macosx_12_0_arm64.whl", hash = "sha256:bbba55fb97ba3cdef9b1ee973f06b09d518c0c7c66a009c729c7d1592be1935e", size = 28465985, upload-time = "2025-06-22T16:20:01.238Z" }, + { url = "https://files.pythonhosted.org/packages/58/46/63477fc1246063855969cbefdcee8c648ba4b17f67370bd542ba56368d0b/scipy-1.16.0-cp313-cp313-macosx_14_0_arm64.whl", hash = "sha256:58e0d4354eacb6004e7aa1cd350e5514bd0270acaa8d5b36c0627bb3bb486974", size = 20737961, upload-time = "2025-06-22T16:20:05.913Z" }, + { url = "https://files.pythonhosted.org/packages/93/86/0fbb5588b73555e40f9d3d6dde24ee6fac7d8e301a27f6f0cab9d8f66ff2/scipy-1.16.0-cp313-cp313-macosx_14_0_x86_64.whl", hash = "sha256:75b2094ec975c80efc273567436e16bb794660509c12c6a31eb5c195cbf4b6dc", size = 23377941, upload-time = "2025-06-22T16:20:10.668Z" }, + { url = "https://files.pythonhosted.org/packages/ca/80/a561f2bf4c2da89fa631b3cbf31d120e21ea95db71fd9ec00cb0247c7a93/scipy-1.16.0-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:6b65d232157a380fdd11a560e7e21cde34fdb69d65c09cb87f6cc024ee376351", size = 33196703, upload-time = "2025-06-22T16:20:16.097Z" }, + { url = "https://files.pythonhosted.org/packages/11/6b/3443abcd0707d52e48eb315e33cc669a95e29fc102229919646f5a501171/scipy-1.16.0-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:1d8747f7736accd39289943f7fe53a8333be7f15a82eea08e4afe47d79568c32", size = 35083410, upload-time = "2025-06-22T16:20:21.734Z" }, + { url = "https://files.pythonhosted.org/packages/20/ab/eb0fc00e1e48961f1bd69b7ad7e7266896fe5bad4ead91b5fc6b3561bba4/scipy-1.16.0-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:eb9f147a1b8529bb7fec2a85cf4cf42bdfadf9e83535c309a11fdae598c88e8b", size = 35387829, upload-time = "2025-06-22T16:20:27.548Z" }, + { url = "https://files.pythonhosted.org/packages/57/9e/d6fc64e41fad5d481c029ee5a49eefc17f0b8071d636a02ceee44d4a0de2/scipy-1.16.0-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:d2b83c37edbfa837a8923d19c749c1935ad3d41cf196006a24ed44dba2ec4358", size = 37841356, upload-time = "2025-06-22T16:20:35.112Z" }, + { url = "https://files.pythonhosted.org/packages/7c/a7/4c94bbe91f12126b8bf6709b2471900577b7373a4fd1f431f28ba6f81115/scipy-1.16.0-cp313-cp313-win_amd64.whl", hash = "sha256:79a3c13d43c95aa80b87328a46031cf52508cf5f4df2767602c984ed1d3c6bbe", size = 38403710, upload-time = "2025-06-22T16:21:54.473Z" }, + { url = "https://files.pythonhosted.org/packages/47/20/965da8497f6226e8fa90ad3447b82ed0e28d942532e92dd8b91b43f100d4/scipy-1.16.0-cp313-cp313t-macosx_10_14_x86_64.whl", hash = "sha256:f91b87e1689f0370690e8470916fe1b2308e5b2061317ff76977c8f836452a47", size = 36813833, upload-time = "2025-06-22T16:20:43.925Z" }, + { url = "https://files.pythonhosted.org/packages/28/f4/197580c3dac2d234e948806e164601c2df6f0078ed9f5ad4a62685b7c331/scipy-1.16.0-cp313-cp313t-macosx_12_0_arm64.whl", hash = "sha256:88a6ca658fb94640079e7a50b2ad3b67e33ef0f40e70bdb7dc22017dae73ac08", size = 28974431, upload-time = "2025-06-22T16:20:51.302Z" }, + { url = "https://files.pythonhosted.org/packages/8a/fc/e18b8550048d9224426e76906694c60028dbdb65d28b1372b5503914b89d/scipy-1.16.0-cp313-cp313t-macosx_14_0_arm64.whl", hash = "sha256:ae902626972f1bd7e4e86f58fd72322d7f4ec7b0cfc17b15d4b7006efc385176", size = 21246454, upload-time = "2025-06-22T16:20:57.276Z" }, + { url = "https://files.pythonhosted.org/packages/8c/48/07b97d167e0d6a324bfd7484cd0c209cc27338b67e5deadae578cf48e809/scipy-1.16.0-cp313-cp313t-macosx_14_0_x86_64.whl", hash = "sha256:8cb824c1fc75ef29893bc32b3ddd7b11cf9ab13c1127fe26413a05953b8c32ed", size = 23772979, upload-time = "2025-06-22T16:21:03.363Z" }, + { url = "https://files.pythonhosted.org/packages/4c/4f/9efbd3f70baf9582edf271db3002b7882c875ddd37dc97f0f675ad68679f/scipy-1.16.0-cp313-cp313t-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:de2db7250ff6514366a9709c2cba35cb6d08498e961cba20d7cff98a7ee88938", size = 33341972, upload-time = "2025-06-22T16:21:11.14Z" }, + { url = "https://files.pythonhosted.org/packages/3f/dc/9e496a3c5dbe24e76ee24525155ab7f659c20180bab058ef2c5fa7d9119c/scipy-1.16.0-cp313-cp313t-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:e85800274edf4db8dd2e4e93034f92d1b05c9421220e7ded9988b16976f849c1", size = 35185476, upload-time = "2025-06-22T16:21:19.156Z" }, + { url = "https://files.pythonhosted.org/packages/ce/b3/21001cff985a122ba434c33f2c9d7d1dc3b669827e94f4fc4e1fe8b9dfd8/scipy-1.16.0-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:4f720300a3024c237ace1cb11f9a84c38beb19616ba7c4cdcd771047a10a1706", size = 35570990, upload-time = "2025-06-22T16:21:27.797Z" }, + { url = "https://files.pythonhosted.org/packages/e5/d3/7ba42647d6709251cdf97043d0c107e0317e152fa2f76873b656b509ff55/scipy-1.16.0-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:aad603e9339ddb676409b104c48a027e9916ce0d2838830691f39552b38a352e", size = 37950262, upload-time = "2025-06-22T16:21:36.976Z" }, + { url = "https://files.pythonhosted.org/packages/eb/c4/231cac7a8385394ebbbb4f1ca662203e9d8c332825ab4f36ffc3ead09a42/scipy-1.16.0-cp313-cp313t-win_amd64.whl", hash = "sha256:f56296fefca67ba605fd74d12f7bd23636267731a72cb3947963e76b8c0a25db", size = 38515076, upload-time = "2025-06-22T16:21:45.694Z" }, +] + +[[package]] +name = "six" +version = "1.17.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/94/e7/b2c673351809dca68a0e064b6af791aa332cf192da575fd474ed7d6f16a2/six-1.17.0.tar.gz", hash = "sha256:ff70335d468e7eb6ec65b95b99d3a2836546063f63acc5171de367e834932a81", size = 34031, upload-time = "2024-12-04T17:35:28.174Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/b7/ce/149a00dd41f10bc29e5921b496af8b574d8413afcd5e30dfa0ed46c2cc5e/six-1.17.0-py2.py3-none-any.whl", hash = "sha256:4721f391ed90541fddacab5acf947aa0d3dc7d27b2e1e8eda2be8970586c3274", size = 11050, upload-time = "2024-12-04T17:35:26.475Z" }, +] + +[[package]] +name = "typing-extensions" +version = "4.14.1" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/98/5a/da40306b885cc8c09109dc2e1abd358d5684b1425678151cdaed4731c822/typing_extensions-4.14.1.tar.gz", hash = "sha256:38b39f4aeeab64884ce9f74c94263ef78f3c22467c8724005483154c26648d36", size = 107673, upload-time = "2025-07-04T13:28:34.16Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/b5/00/d631e67a838026495268c2f6884f3711a15a9a2a96cd244fdaea53b823fb/typing_extensions-4.14.1-py3-none-any.whl", hash = "sha256:d1e1e3b58374dc93031d6eda2420a48ea44a36c2b4766a4fdeb3710755731d76", size = 43906, upload-time = "2025-07-04T13:28:32.743Z" }, +] + +[[package]] +name = "tzdata" +version = "2025.2" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/95/32/1a225d6164441be760d75c2c42e2780dc0873fe382da3e98a2e1e48361e5/tzdata-2025.2.tar.gz", hash = "sha256:b60a638fcc0daffadf82fe0f57e53d06bdec2f36c4df66280ae79bce6bd6f2b9", size = 196380, upload-time = "2025-03-23T13:54:43.652Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/5c/23/c7abc0ca0a1526a0774eca151daeb8de62ec457e77262b66b359c3c7679e/tzdata-2025.2-py2.py3-none-any.whl", hash = "sha256:1a403fada01ff9221ca8044d701868fa132215d84beb92242d9acd2147f667a8", size = 347839, upload-time = "2025-03-23T13:54:41.845Z" }, +] + +[[package]] +name = "werkzeug" +version = "3.1.3" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "markupsafe" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/9f/69/83029f1f6300c5fb2471d621ab06f6ec6b3324685a2ce0f9777fd4a8b71e/werkzeug-3.1.3.tar.gz", hash = "sha256:60723ce945c19328679790e3282cc758aa4a6040e4bb330f53d30fa546d44746", size = 806925, upload-time = "2024-11-08T15:52:18.093Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/52/24/ab44c871b0f07f491e5d2ad12c9bd7358e527510618cb1b803a88e986db1/werkzeug-3.1.3-py3-none-any.whl", hash = "sha256:54b78bf3716d19a65be4fceccc0d1d7b89e608834989dfae50ea87564639213e", size = 224498, upload-time = "2024-11-08T15:52:16.132Z" }, +] + +[[package]] +name = "zarr" +version = "3.1.0" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "donfig" }, + { name = "numcodecs", extra = ["crc32c"] }, + { name = "numpy" }, + { name = "packaging" }, + { name = "typing-extensions" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/71/66/852aa0905f906bc8ef0a6eb686d50c7ca8c46a38677c32152a8003bcce37/zarr-3.1.0.tar.gz", hash = "sha256:ace5b111dc69d5315cb1655dfd0f816c5acf9798d2ad92f43b608a52c8c8ac2b", size = 312546, upload-time = "2025-07-15T07:48:53.105Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/94/72/c5fd70742126cab7403126a1719b4161a81b816d83a2fdb78b390d8ecc47/zarr-3.1.0-py3-none-any.whl", hash = "sha256:bd3d2f88d602d43f81df82e26dd115ea66635a2af5bf6da261d3c640bb4c1ce4", size = 254089, upload-time = "2025-07-15T07:48:51.334Z" }, +]