From f679c81e30a360af88bbcd7cb7ba1398e4af46e6 Mon Sep 17 00:00:00 2001 From: Egor Zherdev Date: Thu, 12 Mar 2026 01:24:31 +0300 Subject: [PATCH 1/3] feat(M1): electrostatics --- pyproject.toml | 1 + src/main.py | 6 + src/models/electrostatics/__init__.py | 134 +++ src/models/electrostatics/charts.py | 213 +++++ src/models/electrostatics/config.py | 4 + src/models/electrostatics/objects.py | 204 ++++ src/models/electrostatics/sidebar.py | 79 ++ src/models/electrostatics/utils.py | 57 ++ tests/m1_electrostatics/__init__.py | 0 .../test_method_of_moments.py | 165 ++++ uv.lock | 882 +++++++++--------- 11 files changed, 1316 insertions(+), 429 deletions(-) create mode 100644 src/models/electrostatics/__init__.py create mode 100644 src/models/electrostatics/charts.py create mode 100644 src/models/electrostatics/config.py create mode 100644 src/models/electrostatics/objects.py create mode 100644 src/models/electrostatics/sidebar.py create mode 100644 src/models/electrostatics/utils.py create mode 100644 tests/m1_electrostatics/__init__.py create mode 100644 tests/m1_electrostatics/test_method_of_moments.py diff --git a/pyproject.toml b/pyproject.toml index 1e55ecc..0186d1b 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -8,6 +8,7 @@ dependencies = [ "altair>=5.5.0", "numpy>=2.3.3", "pandas>=2.3.2", + "pandas-stubs~=2.3.2", "pyarrow>=21.0.0, <22.0.0", "python-dateutil>=2.9.0.post0", "scipy>=1.16.2", diff --git a/src/main.py b/src/main.py index d0cfb45..56f3489 100644 --- a/src/main.py +++ b/src/main.py @@ -1,6 +1,7 @@ import streamlit from models.billiard import page as billiard_page +from models.electrostatics import page as electric_page from models.ideal_gas import page as ideal_gas_page from models.pendulum import page as pendulum_page from models.rolling_ball import page as rolling_ball_page @@ -24,6 +25,11 @@ def main() -> None: title="M7Б Статистика идеального газа со столкновениями частиц", url_path="ideal_gas", ), + streamlit.Page( + electric_page, + title="М1 Электростатика - Метод моментов", + url_path="electrostatics", + ), ]) pages.run() diff --git a/src/models/electrostatics/__init__.py b/src/models/electrostatics/__init__.py new file mode 100644 index 0000000..192007e --- /dev/null +++ b/src/models/electrostatics/__init__.py @@ -0,0 +1,134 @@ +import numpy as np +import streamlit as st + +from models.electrostatics.charts import ( + create_charge_distribution_chart, + create_field_lines_chart, + create_field_magnitude_chart, + create_potential_contour_chart, +) +from models.electrostatics.objects import ( + MethodOfMomentsModel, + calculate_capacitance, +) +from models.electrostatics.sidebar import create_electrostatics_sidebar +from models.electrostatics.utils import ( + create_charge_distribution_dataframe, + create_field_dataframe, +) + + +def page() -> None: # noqa: PLR0915,PLR0914 + st.set_page_config( + page_title="М1. Электростатика - Метод моментов", layout="wide" + ) + st.title("М1. Электростатика - Метод моментов") + st.write( + "Численное решение основной задачи электростатики для двух " + "параллельных пластин методом моментов" + ) + + model = MethodOfMomentsModel() + params = create_electrostatics_sidebar() + + with st.spinner("Решение системы уравнений методом моментов..."): + r1, r2, q1, q2 = model.solve_charge_distribution(params) + + capacitance = calculate_capacitance(q1, params.voltage) + + st.header("Результаты расчёта") + + col1, col2, col3 = st.columns(3) + with col1: + st.metric("Ёмкость системы", f"{capacitance:.6e} Ф/м") + with col2: + analytical_c = model.epsilon_0 / params.plate_distance + st.metric( + "Аналитическая ёмкость (∞ пластины)", + f"{analytical_c:.6e} Ф/м", + ) + with col3: + ratio = capacitance / analytical_c + st.metric("Отношение C/C_∞", f"{ratio:.4f}") + + st.header("Распределение зарядов на электродах") + charge_chart = create_charge_distribution_chart(r1, r2, q1, q2) + st.altair_chart(charge_chart, use_container_width=True) + + with st.expander("Таблица распределения зарядов"): + charge_df = create_charge_distribution_dataframe(r1, r2, q1, q2) + st.dataframe(charge_df, use_container_width=True) + + with st.spinner("Вычисление электрического поля..."): + a = params.plate_length + d = params.plate_distance + n_grid = params.field_resolution + + x_range = np.linspace(-a, a, n_grid) + y_range = np.linspace(-d * 1.5, d * 1.5, n_grid) + x_grid, y_grid = np.meshgrid(x_range, y_range) + + ex, ey = model.compute_electric_field(r1, r2, q1, q2, x_grid, y_grid) + phi = model.compute_potential(r1, r2, q1, q2, x_grid, y_grid) + + st.header("Визуализация электрического поля") + + field_magnitude_chart = create_field_magnitude_chart( + x_grid, + y_grid, + ex, + ey, + {"plate_length": a, "plate_distance": d}, + ) + st.altair_chart(field_magnitude_chart, use_container_width=True) + + potential_chart = create_potential_contour_chart( + x_grid, + y_grid, + phi, + r1, + r2, + {"plate_length": a, "plate_distance": d}, + ) + st.altair_chart(potential_chart, use_container_width=True) + + with st.expander("Таблица значений поля"): + field_df = create_field_dataframe(x_grid, y_grid, ex, ey, phi) + st.dataframe(field_df, use_container_width=True) + + with st.spinner("Построение силовых линий..."): + field_lines = [] + n_lines = params.n_field_lines + + for i in range(n_lines): + x_start = -a / 2 + (i + 0.5) * a / n_lines + + x_line_in, y_line_in = model.trace_field_line( + r1, + r2, + q1, + q2, + (x_start, d / 2 - 0.01), + max_steps=5000, + step_size=0.002, + bounds=(-a, a, -d * 1.5, d * 1.5), + ) + field_lines.append((x_line_in, y_line_in)) + + x_line_out, y_line_out = model.trace_field_line( + r1, + r2, + q1, + q2, + (x_start, d / 2 + 0.01), + max_steps=5000, + step_size=0.002, + bounds=(-a, a, -d * 1.5, d * 1.5), + ) + field_lines.append((x_line_out, y_line_out)) + + st.header("Силовые линии электрического поля") + field_lines_chart = create_field_lines_chart( + field_lines, r1, r2, {"plate_length": a, "plate_distance": d} + ) + st.altair_chart(field_lines_chart, use_container_width=True) diff --git a/src/models/electrostatics/charts.py b/src/models/electrostatics/charts.py new file mode 100644 index 0000000..888fcc3 --- /dev/null +++ b/src/models/electrostatics/charts.py @@ -0,0 +1,213 @@ +import altair as alt +import numpy as np +import pandas as pd + + +def create_charge_distribution_chart( + r1: np.ndarray, + r2: np.ndarray, + q1: np.ndarray, + q2: np.ndarray, +) -> alt.Chart: + data = [] + + for x, q in zip(r1[:, 0], q1, strict=False): + data.append({"X (m)": x, "Charge (C)": q, "Plate": "Upper (+V/2)"}) + + for x, q in zip(r2[:, 0], q2, strict=False): + data.append({"X (m)": x, "Charge (C)": q, "Plate": "Lower (-V/2)"}) + + df = pd.DataFrame(data) + + return ( + alt.Chart(df) + .mark_line(point=True) + .encode( + x=alt.X("X (m):Q", title="Позиция X (м)"), + y=alt.Y("Charge (C):Q", title="Заряд сегмента (Кл)"), + color=alt.Color( + "Plate:N", + title="Пластина", + scale=alt.Scale(scheme="category10"), + ), + tooltip=["X (m)", "Charge (C)", "Plate"], + ) + .properties( + title="Распределение зарядов на электродах", + width=800, + height=400, + ) + ) + + +def create_field_lines_chart( + field_lines: list[tuple[np.ndarray, np.ndarray]], + r1: np.ndarray, + r2: np.ndarray, + params_dict: dict, +) -> alt.Chart: + lines_data = [] + + for idx, (x_line, y_line) in enumerate(field_lines): + for i, (x, y) in enumerate(zip(x_line, y_line, strict=False)): + lines_data.append({"X": x, "Y": y, "Line": idx, "Order": i}) + + df_lines = pd.DataFrame(lines_data) + + a = params_dict["plate_length"] + d = params_dict["plate_distance"] + + plates_data = [] + + plates_data.extend(( + {"X": -a / 2, "Y": d / 2, "Plate": "Upper", "Order": 0}, + {"X": a / 2, "Y": d / 2, "Plate": "Upper", "Order": 1}, + {"X": -a / 2, "Y": -d / 2, "Plate": "Lower", "Order": 0}, + {"X": a / 2, "Y": -d / 2, "Plate": "Lower", "Order": 1}, + )) + + df_plates = pd.DataFrame(plates_data) + + lines_chart = ( + alt.Chart(df_lines) + .mark_line(strokeWidth=2, opacity=1.0) + .encode( + x=alt.X("X:Q", title="X (м)", scale=alt.Scale(domain=[-a, a])), + y=alt.Y( + "Y:Q", + title="Y (м)", + scale=alt.Scale(domain=[-d * 1.5, d * 1.5]), + ), + color=alt.Color( + "Line:N", scale=alt.Scale(scheme="turbo"), legend=None + ), + order="Order:Q", + detail="Line:N", + ) + ) + + plates_chart = ( + alt.Chart(df_plates) + .mark_line(strokeWidth=5, color="black") + .encode( + x="X:Q", + y="Y:Q", + order="Order:Q", + detail="Plate:N", + ) + ) + + return (lines_chart + plates_chart).properties( + title="Силовые линии электрического поля", + width=800, + height=500, + ) + + +def create_potential_contour_chart( + x_grid: np.ndarray, + y_grid: np.ndarray, + phi: np.ndarray, + r1: np.ndarray, + r2: np.ndarray, + params_dict: dict, +) -> alt.Chart: + data = [] + for i in range(x_grid.shape[0]): + data.extend( + { + "X": x_grid[i, j], + "Y": y_grid[i, j], + "Potential": phi[i, j], + } + for j in range(x_grid.shape[1]) + ) + + df = pd.DataFrame(data) + + a = params_dict["plate_length"] + d = params_dict["plate_distance"] + + return ( + alt.Chart(df) + .mark_rect() + .encode( + x=alt.X( + "X:Q", + title="X (м)", + bin=alt.Bin(maxbins=50), + scale=alt.Scale(domain=[-a, a]), + ), + y=alt.Y( + "Y:Q", + title="Y (м)", + bin=alt.Bin(maxbins=50), + scale=alt.Scale(domain=[-d * 1.5, d * 1.5]), + ), + color=alt.Color( + "mean(Potential):Q", + title="Потенциал (В)", + scale=alt.Scale(scheme="redblue", reverse=True), + ), + ) + .properties( + title="Эквипотенциальные линии (контуры потенциала)", + width=800, + height=500, + ) + ) + + +def create_field_magnitude_chart( + x_grid: np.ndarray, + y_grid: np.ndarray, + ex: np.ndarray, + ey: np.ndarray, + params_dict: dict, +) -> alt.Chart: + e_mag = np.sqrt(ex**2 + ey**2) + + data = [] + for i in range(x_grid.shape[0]): + data.extend( + { + "X": x_grid[i, j], + "Y": y_grid[i, j], + "E_magnitude": e_mag[i, j], + } + for j in range(x_grid.shape[1]) + ) + + df = pd.DataFrame(data) + + a = params_dict["plate_length"] + d = params_dict["plate_distance"] + + return ( + alt.Chart(df) + .mark_rect() + .encode( + x=alt.X( + "X:Q", + title="X (м)", + bin=alt.Bin(maxbins=50), + scale=alt.Scale(domain=[-a, a]), + ), + y=alt.Y( + "Y:Q", + title="Y (м)", + bin=alt.Bin(maxbins=50), + scale=alt.Scale(domain=[-d * 1.5, d * 1.5]), + ), + color=alt.Color( + "mean(E_magnitude):Q", + title="Напряжённость (В/м)", + scale=alt.Scale(scheme="viridis"), + ), + ) + .properties( + title="Напряжённость электрического поля", + width=800, + height=500, + ) + ) diff --git a/src/models/electrostatics/config.py b/src/models/electrostatics/config.py new file mode 100644 index 0000000..faef112 --- /dev/null +++ b/src/models/electrostatics/config.py @@ -0,0 +1,4 @@ +PHYSICAL_CONSTANTS = { + "epsilon_0": 8.854e-12, + "k": 8.988e9, +} diff --git a/src/models/electrostatics/objects.py b/src/models/electrostatics/objects.py new file mode 100644 index 0000000..c51411b --- /dev/null +++ b/src/models/electrostatics/objects.py @@ -0,0 +1,204 @@ +from dataclasses import dataclass + +import numpy as np +import streamlit as st +from scipy import linalg + +from models.electrostatics.config import PHYSICAL_CONSTANTS + + +@dataclass +class ElectrostaticsParameters: + plate_length: float = 1.0 + plate_distance: float = 0.2 + voltage: float = 100.0 + n_segments: int = 50 + field_resolution: int = 50 + n_field_lines: int = 20 + + +def calculate_capacitance( + q1: np.ndarray, + voltage: float, +) -> float: + q_total = np.sum(q1) + return q_total / voltage + + +class MethodOfMomentsModel: + def __init__(self) -> None: + self.epsilon_0 = PHYSICAL_CONSTANTS["epsilon_0"] + + @st.cache_data(ttl=300) + def solve_charge_distribution( # noqa: PLR0914 + _self, # noqa: N805 + params: ElectrostaticsParameters, + ) -> tuple[np.ndarray, np.ndarray, np.ndarray, np.ndarray]: + a = params.plate_length + d = params.plate_distance + n = params.n_segments + + delta_l = a / n + + x1 = np.linspace(-a / 2 + delta_l / 2, a / 2 - delta_l / 2, n) + y1 = np.full(n, d / 2) + + x2 = np.linspace(-a / 2 + delta_l / 2, a / 2 - delta_l / 2, n) + y2 = np.full(n, -d / 2) + + r1 = np.stack([x1, y1], axis=1) + r2 = np.stack([x2, y2], axis=1) + + r_all = np.vstack([r1, r2]) + + N = 2 * n # noqa: N806 + A = np.zeros((N, N)) # noqa: N806 + + for i in range(N): + for j in range(N): + if i == j: + A[i, j] = ( + 1 + / (2 * np.pi * _self.epsilon_0) + * (1 - np.log(delta_l / 2)) + ) + else: + dist = np.linalg.norm(r_all[i] - r_all[j]) + A[i, j] = -1 / (2 * np.pi * _self.epsilon_0) * np.log(dist) + + phi = np.concatenate([ + np.full(n, params.voltage / 2), + np.full(n, -params.voltage / 2), + ]) + + q = linalg.solve(A, phi) + + q1 = q[:n] + q2 = q[n:] + + return r1, r2, q1, q2 + + def compute_electric_field( + self, + r1: np.ndarray, + r2: np.ndarray, + q1: np.ndarray, + q2: np.ndarray, + x_grid: np.ndarray, + y_grid: np.ndarray, + ) -> tuple[np.ndarray, np.ndarray]: + ex = np.zeros_like(x_grid) + ey = np.zeros_like(y_grid) + + r_all = np.vstack([r1, r2]) + q_all = np.concatenate([q1, q2]) + + for i in range(len(x_grid.flat)): + x_flat = x_grid.flat[i] + y_flat = y_grid.flat[i] + + for j, (rx, ry) in enumerate(r_all): + dx = x_flat - rx + dy = y_flat - ry + r_sq = dx**2 + dy**2 + + if r_sq < 1e-6: # noqa: PLR2004 + continue + + factor = q_all[j] / (2 * np.pi * self.epsilon_0 * r_sq) + ex.flat[i] += factor * dx + ey.flat[i] += factor * dy + + return ex, ey + + def compute_potential( + self, + r1: np.ndarray, + r2: np.ndarray, + q1: np.ndarray, + q2: np.ndarray, + x_grid: np.ndarray, + y_grid: np.ndarray, + ) -> np.ndarray: + phi = np.zeros_like(x_grid) + + r_all = np.vstack([r1, r2]) + q_all = np.concatenate([q1, q2]) + + for i in range(len(x_grid.flat)): + x_flat = x_grid.flat[i] + y_flat = y_grid.flat[i] + + for j, (rx, ry) in enumerate(r_all): + dx = x_flat - rx + dy = y_flat - ry + r = np.sqrt(dx**2 + dy**2) + + if r < 1e-6: # noqa: PLR2004 + continue + + phi.flat[i] -= ( + q_all[j] / (2 * np.pi * self.epsilon_0) * np.log(r) + ) + + return phi + + def trace_field_line( # noqa: PLR0914 + self, + r1: np.ndarray, + r2: np.ndarray, + q1: np.ndarray, + q2: np.ndarray, + start_point: tuple[float, float], + max_steps: int = 3000, + step_size: float = 0.003, + bounds: tuple[float, float, float, float] = (-2, 2, -1, 1), + ) -> tuple[np.ndarray, np.ndarray]: + x_min, x_max, y_min, y_max = bounds + + x_line = [start_point[0]] + y_line = [start_point[1]] + + r_all = np.vstack([r1, r2]) + q_all = np.concatenate([q1, q2]) + + for _ in range(max_steps): + x_curr = x_line[-1] + y_curr = y_line[-1] + + if ( + x_curr < x_min + or x_curr > x_max + or y_curr < y_min + or y_curr > y_max + ): + break + + ex, ey = 0.0, 0.0 + near_conductor = False + + for j, (rx, ry) in enumerate(r_all): + dx = x_curr - rx + dy = y_curr - ry + r_sq = dx**2 + dy**2 + + if r_sq < 1e-5: # noqa: PLR2004 + near_conductor = True + break + + factor = q_all[j] / (2 * np.pi * self.epsilon_0 * r_sq) + ex += factor * dx + ey += factor * dy + + if near_conductor: + break + + e_mag = np.sqrt(ex**2 + ey**2) + + if e_mag < 1e-10: # noqa: PLR2004 + break + + x_line.append(x_curr + step_size * ex / e_mag) + y_line.append(y_curr + step_size * ey / e_mag) + + return np.array(x_line), np.array(y_line) diff --git a/src/models/electrostatics/sidebar.py b/src/models/electrostatics/sidebar.py new file mode 100644 index 0000000..8716072 --- /dev/null +++ b/src/models/electrostatics/sidebar.py @@ -0,0 +1,79 @@ +import streamlit as st + +from models.electrostatics.objects import ElectrostaticsParameters + + +def create_electrostatics_sidebar() -> ElectrostaticsParameters: + with st.sidebar: + st.header("Параметры системы") + + plate_length = st.slider( + "Длина пластин a (м)", + min_value=0.2, + max_value=2.0, + value=1.0, + step=0.1, + help="Длина каждой пластины", + key="slider_plate_length", + ) + + plate_distance = st.slider( + "Расстояние между пластинами d (м)", + min_value=0.05, + max_value=1.0, + value=0.2, + step=0.05, + help="Вертикальное расстояние между пластинами", + key="slider_plate_distance", + ) + + voltage = st.slider( + "Разность потенциалов V (В)", + min_value=10.0, + max_value=500.0, + value=100.0, + step=10.0, + help="Напряжение между пластинами", + key="slider_voltage", + ) + + st.header("Параметры расчета") + + n_segments = st.slider( + "Число сегментов на пластину", + min_value=10, + max_value=100, + value=50, + step=10, + help="Дискретизация контура электродов", + key="slider_n_segments", + ) + + field_resolution = st.slider( + "Разрешение сетки поля", + min_value=20, + max_value=100, + value=50, + step=10, + help="Плотность точек для визуализации", + key="slider_field_resolution", + ) + + n_field_lines = st.slider( + "Число силовых линий", + min_value=5, + max_value=50, + value=20, + step=5, + help="Количество силовых линий для визуализации", + key="slider_n_field_lines", + ) + + return ElectrostaticsParameters( + plate_length=plate_length, + plate_distance=plate_distance, + voltage=voltage, + n_segments=n_segments, + field_resolution=field_resolution, + n_field_lines=n_field_lines, + ) diff --git a/src/models/electrostatics/utils.py b/src/models/electrostatics/utils.py new file mode 100644 index 0000000..ebaa2a5 --- /dev/null +++ b/src/models/electrostatics/utils.py @@ -0,0 +1,57 @@ +import numpy as np +import pandas as pd + + +def create_charge_distribution_dataframe( + r1: np.ndarray, + r2: np.ndarray, + q1: np.ndarray, + q2: np.ndarray, +) -> pd.DataFrame: + data = [] + + for i, ((x, y), q) in enumerate(zip(r1, q1, strict=False)): + data.append({ + "Segment": i + 1, + "Plate": "Upper (+V/2)", + "X (m)": x, + "Y (m)": y, + "Charge (C)": q, + }) + + for i, ((x, y), q) in enumerate(zip(r2, q2, strict=False)): + data.append({ + "Segment": i + 1, + "Plate": "Lower (-V/2)", + "X (m)": x, + "Y (m)": y, + "Charge (C)": q, + }) + + return pd.DataFrame(data) + + +def create_field_dataframe( + x_grid: np.ndarray, + y_grid: np.ndarray, + ex: np.ndarray, + ey: np.ndarray, + phi: np.ndarray, +) -> pd.DataFrame: + e_magnitude = np.sqrt(ex**2 + ey**2) + + data = [] + for i in range(x_grid.shape[0]): + data.extend( + { + "X": x_grid[i, j], + "Y": y_grid[i, j], + "Ex": ex[i, j], + "Ey": ey[i, j], + "E_magnitude": e_magnitude[i, j], + "Potential": phi[i, j], + } + for j in range(x_grid.shape[1]) + ) + + return pd.DataFrame(data) diff --git a/tests/m1_electrostatics/__init__.py b/tests/m1_electrostatics/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/tests/m1_electrostatics/test_method_of_moments.py b/tests/m1_electrostatics/test_method_of_moments.py new file mode 100644 index 0000000..cd32904 --- /dev/null +++ b/tests/m1_electrostatics/test_method_of_moments.py @@ -0,0 +1,165 @@ +import numpy as np +import pytest + +from models.electrostatics.objects import ( + ElectrostaticsParameters, + MethodOfMomentsModel, + calculate_capacitance, +) + + +@pytest.fixture +def model() -> MethodOfMomentsModel: + return MethodOfMomentsModel() + + +@pytest.fixture +def basic_params() -> ElectrostaticsParameters: + return ElectrostaticsParameters( + plate_length=1.0, + plate_distance=0.2, + voltage=100.0, + n_segments=20, + field_resolution=30, + n_field_lines=10, + ) + + +def test_charge_distribution_shape( + model: MethodOfMomentsModel, basic_params: ElectrostaticsParameters +) -> None: + r1, r2, q1, q2 = model.solve_charge_distribution(basic_params) + + assert len(r1) == basic_params.n_segments + assert len(r2) == basic_params.n_segments + assert len(q1) == basic_params.n_segments + assert len(q2) == basic_params.n_segments + + assert r1.shape == (basic_params.n_segments, 2) + assert r2.shape == (basic_params.n_segments, 2) + + +def test_charge_conservation( + model: MethodOfMomentsModel, basic_params: ElectrostaticsParameters +) -> None: + _, _, q1, q2 = model.solve_charge_distribution(basic_params) + + q1_total = np.sum(q1) + q2_total = np.sum(q2) + + assert np.isclose(q1_total, -q2_total, rtol=1e-6) + + +def test_plate_geometry( + model: MethodOfMomentsModel, basic_params: ElectrostaticsParameters +) -> None: + r1, r2, _, _ = model.solve_charge_distribution(basic_params) + + assert np.allclose(r1[:, 1], basic_params.plate_distance / 2) + assert np.allclose(r2[:, 1], -basic_params.plate_distance / 2) + + assert np.min(r1[:, 0]) >= -basic_params.plate_length / 2 + assert np.max(r1[:, 0]) <= basic_params.plate_length / 2 + assert np.min(r2[:, 0]) >= -basic_params.plate_length / 2 + assert np.max(r2[:, 0]) <= basic_params.plate_length / 2 + + +def test_capacitance_positive( + model: MethodOfMomentsModel, basic_params: ElectrostaticsParameters +) -> None: + _, _, q1, _ = model.solve_charge_distribution(basic_params) + + capacitance = calculate_capacitance(q1, basic_params.voltage) + + assert capacitance > 0 + + +def test_capacitance_vs_analytical( + model: MethodOfMomentsModel, basic_params: ElectrostaticsParameters +) -> None: + _, _, q1, _ = model.solve_charge_distribution(basic_params) + + capacitance = calculate_capacitance(q1, basic_params.voltage) + + analytical_c = model.epsilon_0 / basic_params.plate_distance + + ratio = capacitance / analytical_c + assert ratio > 1.0 + assert ratio < 2.0 + + +def test_electric_field_computation( + model: MethodOfMomentsModel, basic_params: ElectrostaticsParameters +) -> None: + r1, r2, q1, q2 = model.solve_charge_distribution(basic_params) + + x_grid = np.array([[0.0, 0.1], [0.2, 0.3]]) + y_grid = np.array([[0.0, 0.0], [0.05, 0.05]]) + + ex, ey = model.compute_electric_field(r1, r2, q1, q2, x_grid, y_grid) + + assert ex.shape == x_grid.shape + assert ey.shape == y_grid.shape + assert not np.any(np.isnan(ex)) + assert not np.any(np.isnan(ey)) + + +def test_potential_computation( + model: MethodOfMomentsModel, basic_params: ElectrostaticsParameters +) -> None: + r1, r2, q1, q2 = model.solve_charge_distribution(basic_params) + + x_grid = np.array([[0.0, 0.1], [0.2, 0.3]]) + y_grid = np.array([[0.0, 0.0], [0.05, 0.05]]) + + phi = model.compute_potential(r1, r2, q1, q2, x_grid, y_grid) + + assert phi.shape == x_grid.shape + assert not np.any(np.isnan(phi)) + + +def test_field_line_tracing( + model: MethodOfMomentsModel, basic_params: ElectrostaticsParameters +) -> None: + r1, r2, q1, q2 = model.solve_charge_distribution(basic_params) + + start_point = (0.0, basic_params.plate_distance / 2 + 0.01) + + x_line, y_line = model.trace_field_line( + r1, + r2, + q1, + q2, + start_point, + max_steps=500, + step_size=0.01, + ) + + assert len(x_line) > 0 + assert len(y_line) > 0 + assert len(x_line) == len(y_line) + + +def test_convergence_with_segments(model: MethodOfMomentsModel) -> None: + params_coarse = ElectrostaticsParameters( + plate_length=1.0, + plate_distance=0.2, + voltage=100.0, + n_segments=20, + ) + + params_fine = ElectrostaticsParameters( + plate_length=1.0, + plate_distance=0.2, + voltage=100.0, + n_segments=50, + ) + + _, _, q1_coarse, _ = model.solve_charge_distribution(params_coarse) + _, _, q1_fine, _ = model.solve_charge_distribution(params_fine) + + c_coarse = calculate_capacitance(q1_coarse, params_coarse.voltage) + c_fine = calculate_capacitance(q1_fine, params_fine.voltage) + + relative_diff = abs(c_fine - c_coarse) / c_fine + assert relative_diff < 0.1 diff --git a/uv.lock b/uv.lock index 9add58b..2bafffa 100644 --- a/uv.lock +++ b/uv.lock @@ -1,5 +1,5 @@ version = 1 -revision = 1 +revision = 3 requires-python = ">=3.12, <3.14" [[package]] @@ -13,85 +13,85 @@ dependencies = [ { name = "packaging" }, { name = "typing-extensions" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/16/b1/f2969c7bdb8ad8bbdda031687defdce2c19afba2aa2c8e1d2a17f78376d8/altair-5.5.0.tar.gz", hash = "sha256:d960ebe6178c56de3855a68c47b516be38640b73fb3b5111c2a9ca90546dd73d", size = 705305 } +sdist = { url = "https://files.pythonhosted.org/packages/16/b1/f2969c7bdb8ad8bbdda031687defdce2c19afba2aa2c8e1d2a17f78376d8/altair-5.5.0.tar.gz", hash = "sha256:d960ebe6178c56de3855a68c47b516be38640b73fb3b5111c2a9ca90546dd73d", size = 705305, upload-time = "2024-11-23T23:39:58.542Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/aa/f3/0b6ced594e51cc95d8c1fc1640d3623770d01e4969d29c0bd09945fafefa/altair-5.5.0-py3-none-any.whl", hash = "sha256:91a310b926508d560fe0148d02a194f38b824122641ef528113d029fcd129f8c", size = 731200 }, + { url = "https://files.pythonhosted.org/packages/aa/f3/0b6ced594e51cc95d8c1fc1640d3623770d01e4969d29c0bd09945fafefa/altair-5.5.0-py3-none-any.whl", hash = "sha256:91a310b926508d560fe0148d02a194f38b824122641ef528113d029fcd129f8c", size = 731200, upload-time = "2024-11-23T23:39:56.4Z" }, ] [[package]] name = "attrs" version = "25.3.0" source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/5a/b0/1367933a8532ee6ff8d63537de4f1177af4bff9f3e829baf7331f595bb24/attrs-25.3.0.tar.gz", hash = "sha256:75d7cefc7fb576747b2c81b4442d4d4a1ce0900973527c011d1030fd3bf4af1b", size = 812032 } +sdist = { url = "https://files.pythonhosted.org/packages/5a/b0/1367933a8532ee6ff8d63537de4f1177af4bff9f3e829baf7331f595bb24/attrs-25.3.0.tar.gz", hash = "sha256:75d7cefc7fb576747b2c81b4442d4d4a1ce0900973527c011d1030fd3bf4af1b", size = 812032, upload-time = "2025-03-13T11:10:22.779Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/77/06/bb80f5f86020c4551da315d78b3ab75e8228f89f0162f2c3a819e407941a/attrs-25.3.0-py3-none-any.whl", hash = "sha256:427318ce031701fea540783410126f03899a97ffc6f61596ad581ac2e40e3bc3", size = 63815 }, + { url = "https://files.pythonhosted.org/packages/77/06/bb80f5f86020c4551da315d78b3ab75e8228f89f0162f2c3a819e407941a/attrs-25.3.0-py3-none-any.whl", hash = "sha256:427318ce031701fea540783410126f03899a97ffc6f61596ad581ac2e40e3bc3", size = 63815, upload-time = "2025-03-13T11:10:21.14Z" }, ] [[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 } +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 }, + { 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 = "cachetools" version = "6.2.0" source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/9d/61/e4fad8155db4a04bfb4734c7c8ff0882f078f24294d42798b3568eb63bff/cachetools-6.2.0.tar.gz", hash = "sha256:38b328c0889450f05f5e120f56ab68c8abaf424e1275522b138ffc93253f7e32", size = 30988 } +sdist = { url = "https://files.pythonhosted.org/packages/9d/61/e4fad8155db4a04bfb4734c7c8ff0882f078f24294d42798b3568eb63bff/cachetools-6.2.0.tar.gz", hash = "sha256:38b328c0889450f05f5e120f56ab68c8abaf424e1275522b138ffc93253f7e32", size = 30988, upload-time = "2025-08-25T18:57:30.924Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/6c/56/3124f61d37a7a4e7cc96afc5492c78ba0cb551151e530b54669ddd1436ef/cachetools-6.2.0-py3-none-any.whl", hash = "sha256:1c76a8960c0041fcc21097e357f882197c79da0dbff766e7317890a65d7d8ba6", size = 11276 }, + { url = "https://files.pythonhosted.org/packages/6c/56/3124f61d37a7a4e7cc96afc5492c78ba0cb551151e530b54669ddd1436ef/cachetools-6.2.0-py3-none-any.whl", hash = "sha256:1c76a8960c0041fcc21097e357f882197c79da0dbff766e7317890a65d7d8ba6", size = 11276, upload-time = "2025-08-25T18:57:29.684Z" }, ] [[package]] name = "certifi" version = "2025.8.3" source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/dc/67/960ebe6bf230a96cda2e0abcf73af550ec4f090005363542f0765df162e0/certifi-2025.8.3.tar.gz", hash = "sha256:e564105f78ded564e3ae7c923924435e1daa7463faeab5bb932bc53ffae63407", size = 162386 } +sdist = { url = "https://files.pythonhosted.org/packages/dc/67/960ebe6bf230a96cda2e0abcf73af550ec4f090005363542f0765df162e0/certifi-2025.8.3.tar.gz", hash = "sha256:e564105f78ded564e3ae7c923924435e1daa7463faeab5bb932bc53ffae63407", size = 162386, upload-time = "2025-08-03T03:07:47.08Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/e5/48/1549795ba7742c948d2ad169c1c8cdbae65bc450d6cd753d124b17c8cd32/certifi-2025.8.3-py3-none-any.whl", hash = "sha256:f6c12493cfb1b06ba2ff328595af9350c65d6644968e5d3a2ffd78699af217a5", size = 161216 }, + { url = "https://files.pythonhosted.org/packages/e5/48/1549795ba7742c948d2ad169c1c8cdbae65bc450d6cd753d124b17c8cd32/certifi-2025.8.3-py3-none-any.whl", hash = "sha256:f6c12493cfb1b06ba2ff328595af9350c65d6644968e5d3a2ffd78699af217a5", size = 161216, upload-time = "2025-08-03T03:07:45.777Z" }, ] [[package]] name = "cfgv" version = "3.4.0" source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/11/74/539e56497d9bd1d484fd863dd69cbbfa653cd2aa27abfe35653494d85e94/cfgv-3.4.0.tar.gz", hash = "sha256:e52591d4c5f5dead8e0f673fb16db7949d2cfb3f7da4582893288f0ded8fe560", size = 7114 } +sdist = { url = "https://files.pythonhosted.org/packages/11/74/539e56497d9bd1d484fd863dd69cbbfa653cd2aa27abfe35653494d85e94/cfgv-3.4.0.tar.gz", hash = "sha256:e52591d4c5f5dead8e0f673fb16db7949d2cfb3f7da4582893288f0ded8fe560", size = 7114, upload-time = "2023-08-12T20:38:17.776Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/c5/55/51844dd50c4fc7a33b653bfaba4c2456f06955289ca770a5dbd5fd267374/cfgv-3.4.0-py2.py3-none-any.whl", hash = "sha256:b7265b1f29fd3316bfcd2b330d63d024f2bfd8bcb8b0272f8e19a504856c48f9", size = 7249 }, + { url = "https://files.pythonhosted.org/packages/c5/55/51844dd50c4fc7a33b653bfaba4c2456f06955289ca770a5dbd5fd267374/cfgv-3.4.0-py2.py3-none-any.whl", hash = "sha256:b7265b1f29fd3316bfcd2b330d63d024f2bfd8bcb8b0272f8e19a504856c48f9", size = 7249, upload-time = "2023-08-12T20:38:16.269Z" }, ] [[package]] name = "charset-normalizer" version = "3.4.3" source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/83/2d/5fd176ceb9b2fc619e63405525573493ca23441330fcdaee6bef9460e924/charset_normalizer-3.4.3.tar.gz", hash = "sha256:6fce4b8500244f6fcb71465d4a4930d132ba9ab8e71a7859e6a5d59851068d14", size = 122371 } -wheels = [ - { url = "https://files.pythonhosted.org/packages/e9/5e/14c94999e418d9b87682734589404a25854d5f5d0408df68bc15b6ff54bb/charset_normalizer-3.4.3-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:e28e334d3ff134e88989d90ba04b47d84382a828c061d0d1027b1b12a62b39b1", size = 205655 }, - { url = "https://files.pythonhosted.org/packages/7d/a8/c6ec5d389672521f644505a257f50544c074cf5fc292d5390331cd6fc9c3/charset_normalizer-3.4.3-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:0cacf8f7297b0c4fcb74227692ca46b4a5852f8f4f24b3c766dd94a1075c4884", size = 146223 }, - { url = "https://files.pythonhosted.org/packages/fc/eb/a2ffb08547f4e1e5415fb69eb7db25932c52a52bed371429648db4d84fb1/charset_normalizer-3.4.3-cp312-cp312-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:c6fd51128a41297f5409deab284fecbe5305ebd7e5a1f959bee1c054622b7018", size = 159366 }, - { url = "https://files.pythonhosted.org/packages/82/10/0fd19f20c624b278dddaf83b8464dcddc2456cb4b02bb902a6da126b87a1/charset_normalizer-3.4.3-cp312-cp312-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:3cfb2aad70f2c6debfbcb717f23b7eb55febc0bb23dcffc0f076009da10c6392", size = 157104 }, - { url = "https://files.pythonhosted.org/packages/16/ab/0233c3231af734f5dfcf0844aa9582d5a1466c985bbed6cedab85af9bfe3/charset_normalizer-3.4.3-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:1606f4a55c0fd363d754049cdf400175ee96c992b1f8018b993941f221221c5f", size = 151830 }, - { url = "https://files.pythonhosted.org/packages/ae/02/e29e22b4e02839a0e4a06557b1999d0a47db3567e82989b5bb21f3fbbd9f/charset_normalizer-3.4.3-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:027b776c26d38b7f15b26a5da1044f376455fb3766df8fc38563b4efbc515154", size = 148854 }, - { url = "https://files.pythonhosted.org/packages/05/6b/e2539a0a4be302b481e8cafb5af8792da8093b486885a1ae4d15d452bcec/charset_normalizer-3.4.3-cp312-cp312-musllinux_1_2_ppc64le.whl", hash = "sha256:42e5088973e56e31e4fa58eb6bd709e42fc03799c11c42929592889a2e54c491", size = 160670 }, - { url = "https://files.pythonhosted.org/packages/31/e7/883ee5676a2ef217a40ce0bffcc3d0dfbf9e64cbcfbdf822c52981c3304b/charset_normalizer-3.4.3-cp312-cp312-musllinux_1_2_s390x.whl", hash = "sha256:cc34f233c9e71701040d772aa7490318673aa7164a0efe3172b2981218c26d93", size = 158501 }, - { url = "https://files.pythonhosted.org/packages/c1/35/6525b21aa0db614cf8b5792d232021dca3df7f90a1944db934efa5d20bb1/charset_normalizer-3.4.3-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:320e8e66157cc4e247d9ddca8e21f427efc7a04bbd0ac8a9faf56583fa543f9f", size = 153173 }, - { url = "https://files.pythonhosted.org/packages/50/ee/f4704bad8201de513fdc8aac1cabc87e38c5818c93857140e06e772b5892/charset_normalizer-3.4.3-cp312-cp312-win32.whl", hash = "sha256:fb6fecfd65564f208cbf0fba07f107fb661bcd1a7c389edbced3f7a493f70e37", size = 99822 }, - { url = "https://files.pythonhosted.org/packages/39/f5/3b3836ca6064d0992c58c7561c6b6eee1b3892e9665d650c803bd5614522/charset_normalizer-3.4.3-cp312-cp312-win_amd64.whl", hash = "sha256:86df271bf921c2ee3818f0522e9a5b8092ca2ad8b065ece5d7d9d0e9f4849bcc", size = 107543 }, - { url = "https://files.pythonhosted.org/packages/65/ca/2135ac97709b400c7654b4b764daf5c5567c2da45a30cdd20f9eefe2d658/charset_normalizer-3.4.3-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:14c2a87c65b351109f6abfc424cab3927b3bdece6f706e4d12faaf3d52ee5efe", size = 205326 }, - { url = "https://files.pythonhosted.org/packages/71/11/98a04c3c97dd34e49c7d247083af03645ca3730809a5509443f3c37f7c99/charset_normalizer-3.4.3-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:41d1fc408ff5fdfb910200ec0e74abc40387bccb3252f3f27c0676731df2b2c8", size = 146008 }, - { url = "https://files.pythonhosted.org/packages/60/f5/4659a4cb3c4ec146bec80c32d8bb16033752574c20b1252ee842a95d1a1e/charset_normalizer-3.4.3-cp313-cp313-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:1bb60174149316da1c35fa5233681f7c0f9f514509b8e399ab70fea5f17e45c9", size = 159196 }, - { url = "https://files.pythonhosted.org/packages/86/9e/f552f7a00611f168b9a5865a1414179b2c6de8235a4fa40189f6f79a1753/charset_normalizer-3.4.3-cp313-cp313-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:30d006f98569de3459c2fc1f2acde170b7b2bd265dc1943e87e1a4efe1b67c31", size = 156819 }, - { url = "https://files.pythonhosted.org/packages/7e/95/42aa2156235cbc8fa61208aded06ef46111c4d3f0de233107b3f38631803/charset_normalizer-3.4.3-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:416175faf02e4b0810f1f38bcb54682878a4af94059a1cd63b8747244420801f", size = 151350 }, - { url = "https://files.pythonhosted.org/packages/c2/a9/3865b02c56f300a6f94fc631ef54f0a8a29da74fb45a773dfd3dcd380af7/charset_normalizer-3.4.3-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:6aab0f181c486f973bc7262a97f5aca3ee7e1437011ef0c2ec04b5a11d16c927", size = 148644 }, - { url = "https://files.pythonhosted.org/packages/77/d9/cbcf1a2a5c7d7856f11e7ac2d782aec12bdfea60d104e60e0aa1c97849dc/charset_normalizer-3.4.3-cp313-cp313-musllinux_1_2_ppc64le.whl", hash = "sha256:fdabf8315679312cfa71302f9bd509ded4f2f263fb5b765cf1433b39106c3cc9", size = 160468 }, - { url = "https://files.pythonhosted.org/packages/f6/42/6f45efee8697b89fda4d50580f292b8f7f9306cb2971d4b53f8914e4d890/charset_normalizer-3.4.3-cp313-cp313-musllinux_1_2_s390x.whl", hash = "sha256:bd28b817ea8c70215401f657edef3a8aa83c29d447fb0b622c35403780ba11d5", size = 158187 }, - { url = "https://files.pythonhosted.org/packages/70/99/f1c3bdcfaa9c45b3ce96f70b14f070411366fa19549c1d4832c935d8e2c3/charset_normalizer-3.4.3-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:18343b2d246dc6761a249ba1fb13f9ee9a2bcd95decc767319506056ea4ad4dc", size = 152699 }, - { url = "https://files.pythonhosted.org/packages/a3/ad/b0081f2f99a4b194bcbb1934ef3b12aa4d9702ced80a37026b7607c72e58/charset_normalizer-3.4.3-cp313-cp313-win32.whl", hash = "sha256:6fb70de56f1859a3f71261cbe41005f56a7842cc348d3aeb26237560bfa5e0ce", size = 99580 }, - { url = "https://files.pythonhosted.org/packages/9a/8f/ae790790c7b64f925e5c953b924aaa42a243fb778fed9e41f147b2a5715a/charset_normalizer-3.4.3-cp313-cp313-win_amd64.whl", hash = "sha256:cf1ebb7d78e1ad8ec2a8c4732c7be2e736f6e5123a4146c5b89c9d1f585f8cef", size = 107366 }, - { url = "https://files.pythonhosted.org/packages/8a/1f/f041989e93b001bc4e44bb1669ccdcf54d3f00e628229a85b08d330615c5/charset_normalizer-3.4.3-py3-none-any.whl", hash = "sha256:ce571ab16d890d23b5c278547ba694193a45011ff86a9162a71307ed9f86759a", size = 53175 }, +sdist = { url = "https://files.pythonhosted.org/packages/83/2d/5fd176ceb9b2fc619e63405525573493ca23441330fcdaee6bef9460e924/charset_normalizer-3.4.3.tar.gz", hash = "sha256:6fce4b8500244f6fcb71465d4a4930d132ba9ab8e71a7859e6a5d59851068d14", size = 122371, upload-time = "2025-08-09T07:57:28.46Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/e9/5e/14c94999e418d9b87682734589404a25854d5f5d0408df68bc15b6ff54bb/charset_normalizer-3.4.3-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:e28e334d3ff134e88989d90ba04b47d84382a828c061d0d1027b1b12a62b39b1", size = 205655, upload-time = "2025-08-09T07:56:08.475Z" }, + { url = "https://files.pythonhosted.org/packages/7d/a8/c6ec5d389672521f644505a257f50544c074cf5fc292d5390331cd6fc9c3/charset_normalizer-3.4.3-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:0cacf8f7297b0c4fcb74227692ca46b4a5852f8f4f24b3c766dd94a1075c4884", size = 146223, upload-time = "2025-08-09T07:56:09.708Z" }, + { url = "https://files.pythonhosted.org/packages/fc/eb/a2ffb08547f4e1e5415fb69eb7db25932c52a52bed371429648db4d84fb1/charset_normalizer-3.4.3-cp312-cp312-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:c6fd51128a41297f5409deab284fecbe5305ebd7e5a1f959bee1c054622b7018", size = 159366, upload-time = "2025-08-09T07:56:11.326Z" }, + { url = "https://files.pythonhosted.org/packages/82/10/0fd19f20c624b278dddaf83b8464dcddc2456cb4b02bb902a6da126b87a1/charset_normalizer-3.4.3-cp312-cp312-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:3cfb2aad70f2c6debfbcb717f23b7eb55febc0bb23dcffc0f076009da10c6392", size = 157104, upload-time = "2025-08-09T07:56:13.014Z" }, + { url = "https://files.pythonhosted.org/packages/16/ab/0233c3231af734f5dfcf0844aa9582d5a1466c985bbed6cedab85af9bfe3/charset_normalizer-3.4.3-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:1606f4a55c0fd363d754049cdf400175ee96c992b1f8018b993941f221221c5f", size = 151830, upload-time = "2025-08-09T07:56:14.428Z" }, + { url = "https://files.pythonhosted.org/packages/ae/02/e29e22b4e02839a0e4a06557b1999d0a47db3567e82989b5bb21f3fbbd9f/charset_normalizer-3.4.3-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:027b776c26d38b7f15b26a5da1044f376455fb3766df8fc38563b4efbc515154", size = 148854, upload-time = "2025-08-09T07:56:16.051Z" }, + { url = "https://files.pythonhosted.org/packages/05/6b/e2539a0a4be302b481e8cafb5af8792da8093b486885a1ae4d15d452bcec/charset_normalizer-3.4.3-cp312-cp312-musllinux_1_2_ppc64le.whl", hash = "sha256:42e5088973e56e31e4fa58eb6bd709e42fc03799c11c42929592889a2e54c491", size = 160670, upload-time = "2025-08-09T07:56:17.314Z" }, + { url = "https://files.pythonhosted.org/packages/31/e7/883ee5676a2ef217a40ce0bffcc3d0dfbf9e64cbcfbdf822c52981c3304b/charset_normalizer-3.4.3-cp312-cp312-musllinux_1_2_s390x.whl", hash = "sha256:cc34f233c9e71701040d772aa7490318673aa7164a0efe3172b2981218c26d93", size = 158501, upload-time = "2025-08-09T07:56:18.641Z" }, + { url = "https://files.pythonhosted.org/packages/c1/35/6525b21aa0db614cf8b5792d232021dca3df7f90a1944db934efa5d20bb1/charset_normalizer-3.4.3-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:320e8e66157cc4e247d9ddca8e21f427efc7a04bbd0ac8a9faf56583fa543f9f", size = 153173, upload-time = "2025-08-09T07:56:20.289Z" }, + { url = "https://files.pythonhosted.org/packages/50/ee/f4704bad8201de513fdc8aac1cabc87e38c5818c93857140e06e772b5892/charset_normalizer-3.4.3-cp312-cp312-win32.whl", hash = "sha256:fb6fecfd65564f208cbf0fba07f107fb661bcd1a7c389edbced3f7a493f70e37", size = 99822, upload-time = "2025-08-09T07:56:21.551Z" }, + { url = "https://files.pythonhosted.org/packages/39/f5/3b3836ca6064d0992c58c7561c6b6eee1b3892e9665d650c803bd5614522/charset_normalizer-3.4.3-cp312-cp312-win_amd64.whl", hash = "sha256:86df271bf921c2ee3818f0522e9a5b8092ca2ad8b065ece5d7d9d0e9f4849bcc", size = 107543, upload-time = "2025-08-09T07:56:23.115Z" }, + { url = "https://files.pythonhosted.org/packages/65/ca/2135ac97709b400c7654b4b764daf5c5567c2da45a30cdd20f9eefe2d658/charset_normalizer-3.4.3-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:14c2a87c65b351109f6abfc424cab3927b3bdece6f706e4d12faaf3d52ee5efe", size = 205326, upload-time = "2025-08-09T07:56:24.721Z" }, + { url = "https://files.pythonhosted.org/packages/71/11/98a04c3c97dd34e49c7d247083af03645ca3730809a5509443f3c37f7c99/charset_normalizer-3.4.3-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:41d1fc408ff5fdfb910200ec0e74abc40387bccb3252f3f27c0676731df2b2c8", size = 146008, upload-time = "2025-08-09T07:56:26.004Z" }, + { url = "https://files.pythonhosted.org/packages/60/f5/4659a4cb3c4ec146bec80c32d8bb16033752574c20b1252ee842a95d1a1e/charset_normalizer-3.4.3-cp313-cp313-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:1bb60174149316da1c35fa5233681f7c0f9f514509b8e399ab70fea5f17e45c9", size = 159196, upload-time = "2025-08-09T07:56:27.25Z" }, + { url = "https://files.pythonhosted.org/packages/86/9e/f552f7a00611f168b9a5865a1414179b2c6de8235a4fa40189f6f79a1753/charset_normalizer-3.4.3-cp313-cp313-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:30d006f98569de3459c2fc1f2acde170b7b2bd265dc1943e87e1a4efe1b67c31", size = 156819, upload-time = "2025-08-09T07:56:28.515Z" }, + { url = "https://files.pythonhosted.org/packages/7e/95/42aa2156235cbc8fa61208aded06ef46111c4d3f0de233107b3f38631803/charset_normalizer-3.4.3-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:416175faf02e4b0810f1f38bcb54682878a4af94059a1cd63b8747244420801f", size = 151350, upload-time = "2025-08-09T07:56:29.716Z" }, + { url = "https://files.pythonhosted.org/packages/c2/a9/3865b02c56f300a6f94fc631ef54f0a8a29da74fb45a773dfd3dcd380af7/charset_normalizer-3.4.3-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:6aab0f181c486f973bc7262a97f5aca3ee7e1437011ef0c2ec04b5a11d16c927", size = 148644, upload-time = "2025-08-09T07:56:30.984Z" }, + { url = "https://files.pythonhosted.org/packages/77/d9/cbcf1a2a5c7d7856f11e7ac2d782aec12bdfea60d104e60e0aa1c97849dc/charset_normalizer-3.4.3-cp313-cp313-musllinux_1_2_ppc64le.whl", hash = "sha256:fdabf8315679312cfa71302f9bd509ded4f2f263fb5b765cf1433b39106c3cc9", size = 160468, upload-time = "2025-08-09T07:56:32.252Z" }, + { url = "https://files.pythonhosted.org/packages/f6/42/6f45efee8697b89fda4d50580f292b8f7f9306cb2971d4b53f8914e4d890/charset_normalizer-3.4.3-cp313-cp313-musllinux_1_2_s390x.whl", hash = "sha256:bd28b817ea8c70215401f657edef3a8aa83c29d447fb0b622c35403780ba11d5", size = 158187, upload-time = "2025-08-09T07:56:33.481Z" }, + { url = "https://files.pythonhosted.org/packages/70/99/f1c3bdcfaa9c45b3ce96f70b14f070411366fa19549c1d4832c935d8e2c3/charset_normalizer-3.4.3-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:18343b2d246dc6761a249ba1fb13f9ee9a2bcd95decc767319506056ea4ad4dc", size = 152699, upload-time = "2025-08-09T07:56:34.739Z" }, + { url = "https://files.pythonhosted.org/packages/a3/ad/b0081f2f99a4b194bcbb1934ef3b12aa4d9702ced80a37026b7607c72e58/charset_normalizer-3.4.3-cp313-cp313-win32.whl", hash = "sha256:6fb70de56f1859a3f71261cbe41005f56a7842cc348d3aeb26237560bfa5e0ce", size = 99580, upload-time = "2025-08-09T07:56:35.981Z" }, + { url = "https://files.pythonhosted.org/packages/9a/8f/ae790790c7b64f925e5c953b924aaa42a243fb778fed9e41f147b2a5715a/charset_normalizer-3.4.3-cp313-cp313-win_amd64.whl", hash = "sha256:cf1ebb7d78e1ad8ec2a8c4732c7be2e736f6e5123a4146c5b89c9d1f585f8cef", size = 107366, upload-time = "2025-08-09T07:56:37.339Z" }, + { url = "https://files.pythonhosted.org/packages/8a/1f/f041989e93b001bc4e44bb1669ccdcf54d3f00e628229a85b08d330615c5/charset_normalizer-3.4.3-py3-none-any.whl", hash = "sha256:ce571ab16d890d23b5c278547ba694193a45011ff86a9162a71307ed9f86759a", size = 53175, upload-time = "2025-08-09T07:57:26.864Z" }, ] [[package]] @@ -101,36 +101,36 @@ 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 } +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 }, + { 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 } +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 }, + { 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 = "distlib" version = "0.4.0" source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/96/8e/709914eb2b5749865801041647dc7f4e6d00b549cfe88b65ca192995f07c/distlib-0.4.0.tar.gz", hash = "sha256:feec40075be03a04501a973d81f633735b4b69f98b05450592310c0f401a4e0d", size = 614605 } +sdist = { url = "https://files.pythonhosted.org/packages/96/8e/709914eb2b5749865801041647dc7f4e6d00b549cfe88b65ca192995f07c/distlib-0.4.0.tar.gz", hash = "sha256:feec40075be03a04501a973d81f633735b4b69f98b05450592310c0f401a4e0d", size = 614605, upload-time = "2025-07-17T16:52:00.465Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/33/6b/e0547afaf41bf2c42e52430072fa5658766e3d65bd4b03a563d1b6336f57/distlib-0.4.0-py2.py3-none-any.whl", hash = "sha256:9659f7d87e46584a30b5780e43ac7a2143098441670ff0a49d5f9034c54a6c16", size = 469047 }, + { url = "https://files.pythonhosted.org/packages/33/6b/e0547afaf41bf2c42e52430072fa5658766e3d65bd4b03a563d1b6336f57/distlib-0.4.0-py2.py3-none-any.whl", hash = "sha256:9659f7d87e46584a30b5780e43ac7a2143098441670ff0a49d5f9034c54a6c16", size = 469047, upload-time = "2025-07-17T16:51:58.613Z" }, ] [[package]] name = "filelock" version = "3.19.1" source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/40/bb/0ab3e58d22305b6f5440629d20683af28959bf793d98d11950e305c1c326/filelock-3.19.1.tar.gz", hash = "sha256:66eda1888b0171c998b35be2bcc0f6d75c388a7ce20c3f3f37aa8e96c2dddf58", size = 17687 } +sdist = { url = "https://files.pythonhosted.org/packages/40/bb/0ab3e58d22305b6f5440629d20683af28959bf793d98d11950e305c1c326/filelock-3.19.1.tar.gz", hash = "sha256:66eda1888b0171c998b35be2bcc0f6d75c388a7ce20c3f3f37aa8e96c2dddf58", size = 17687, upload-time = "2025-08-14T16:56:03.016Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/42/14/42b2651a2f46b022ccd948bca9f2d5af0fd8929c4eec235b8d6d844fbe67/filelock-3.19.1-py3-none-any.whl", hash = "sha256:d38e30481def20772f5baf097c122c3babc4fcdb7e14e57049eb9d88c6dc017d", size = 15988 }, + { url = "https://files.pythonhosted.org/packages/42/14/42b2651a2f46b022ccd948bca9f2d5af0fd8929c4eec235b8d6d844fbe67/filelock-3.19.1-py3-none-any.whl", hash = "sha256:d38e30481def20772f5baf097c122c3babc4fcdb7e14e57049eb9d88c6dc017d", size = 15988, upload-time = "2025-08-14T16:56:01.633Z" }, ] [[package]] @@ -140,9 +140,9 @@ source = { registry = "https://pypi.org/simple" } dependencies = [ { name = "smmap" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/72/94/63b0fc47eb32792c7ba1fe1b694daec9a63620db1e313033d18140c2320a/gitdb-4.0.12.tar.gz", hash = "sha256:5ef71f855d191a3326fcfbc0d5da835f26b13fbcba60c32c21091c349ffdb571", size = 394684 } +sdist = { url = "https://files.pythonhosted.org/packages/72/94/63b0fc47eb32792c7ba1fe1b694daec9a63620db1e313033d18140c2320a/gitdb-4.0.12.tar.gz", hash = "sha256:5ef71f855d191a3326fcfbc0d5da835f26b13fbcba60c32c21091c349ffdb571", size = 394684, upload-time = "2025-01-02T07:20:46.413Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/a0/61/5c78b91c3143ed5c14207f463aecfc8f9dbb5092fb2869baf37c273b2705/gitdb-4.0.12-py3-none-any.whl", hash = "sha256:67073e15955400952c6565cc3e707c554a4eea2e428946f7a4c162fab9bd9bcf", size = 62794 }, + { url = "https://files.pythonhosted.org/packages/a0/61/5c78b91c3143ed5c14207f463aecfc8f9dbb5092fb2869baf37c273b2705/gitdb-4.0.12-py3-none-any.whl", hash = "sha256:67073e15955400952c6565cc3e707c554a4eea2e428946f7a4c162fab9bd9bcf", size = 62794, upload-time = "2025-01-02T07:20:43.624Z" }, ] [[package]] @@ -152,36 +152,36 @@ source = { registry = "https://pypi.org/simple" } dependencies = [ { name = "gitdb" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/9a/c8/dd58967d119baab745caec2f9d853297cec1989ec1d63f677d3880632b88/gitpython-3.1.45.tar.gz", hash = "sha256:85b0ee964ceddf211c41b9f27a49086010a190fd8132a24e21f362a4b36a791c", size = 215076 } +sdist = { url = "https://files.pythonhosted.org/packages/9a/c8/dd58967d119baab745caec2f9d853297cec1989ec1d63f677d3880632b88/gitpython-3.1.45.tar.gz", hash = "sha256:85b0ee964ceddf211c41b9f27a49086010a190fd8132a24e21f362a4b36a791c", size = 215076, upload-time = "2025-07-24T03:45:54.871Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/01/61/d4b89fec821f72385526e1b9d9a3a0385dda4a72b206d28049e2c7cd39b8/gitpython-3.1.45-py3-none-any.whl", hash = "sha256:8908cb2e02fb3b93b7eb0f2827125cb699869470432cc885f019b8fd0fccff77", size = 208168 }, + { url = "https://files.pythonhosted.org/packages/01/61/d4b89fec821f72385526e1b9d9a3a0385dda4a72b206d28049e2c7cd39b8/gitpython-3.1.45-py3-none-any.whl", hash = "sha256:8908cb2e02fb3b93b7eb0f2827125cb699869470432cc885f019b8fd0fccff77", size = 208168, upload-time = "2025-07-24T03:45:52.517Z" }, ] [[package]] name = "identify" version = "2.6.14" source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/52/c4/62963f25a678f6a050fb0505a65e9e726996171e6dbe1547f79619eefb15/identify-2.6.14.tar.gz", hash = "sha256:663494103b4f717cb26921c52f8751363dc89db64364cd836a9bf1535f53cd6a", size = 99283 } +sdist = { url = "https://files.pythonhosted.org/packages/52/c4/62963f25a678f6a050fb0505a65e9e726996171e6dbe1547f79619eefb15/identify-2.6.14.tar.gz", hash = "sha256:663494103b4f717cb26921c52f8751363dc89db64364cd836a9bf1535f53cd6a", size = 99283, upload-time = "2025-09-06T19:30:52.938Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/e5/ae/2ad30f4652712c82f1c23423d79136fbce338932ad166d70c1efb86a5998/identify-2.6.14-py2.py3-none-any.whl", hash = "sha256:11a073da82212c6646b1f39bb20d4483bfb9543bd5566fec60053c4bb309bf2e", size = 99172 }, + { url = "https://files.pythonhosted.org/packages/e5/ae/2ad30f4652712c82f1c23423d79136fbce338932ad166d70c1efb86a5998/identify-2.6.14-py2.py3-none-any.whl", hash = "sha256:11a073da82212c6646b1f39bb20d4483bfb9543bd5566fec60053c4bb309bf2e", size = 99172, upload-time = "2025-09-06T19:30:51.759Z" }, ] [[package]] name = "idna" version = "3.10" source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/f1/70/7703c29685631f5a7590aa73f1f1d3fa9a380e654b86af429e0934a32f7d/idna-3.10.tar.gz", hash = "sha256:12f65c9b470abda6dc35cf8e63cc574b1c52b11df2c86030af0ac09b01b13ea9", size = 190490 } +sdist = { url = "https://files.pythonhosted.org/packages/f1/70/7703c29685631f5a7590aa73f1f1d3fa9a380e654b86af429e0934a32f7d/idna-3.10.tar.gz", hash = "sha256:12f65c9b470abda6dc35cf8e63cc574b1c52b11df2c86030af0ac09b01b13ea9", size = 190490, upload-time = "2024-09-15T18:07:39.745Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/76/c6/c88e154df9c4e1a2a66ccf0005a88dfb2650c1dffb6f5ce603dfbd452ce3/idna-3.10-py3-none-any.whl", hash = "sha256:946d195a0d259cbba61165e88e65941f16e9b36ea6ddb97f00452bae8b1287d3", size = 70442 }, + { url = "https://files.pythonhosted.org/packages/76/c6/c88e154df9c4e1a2a66ccf0005a88dfb2650c1dffb6f5ce603dfbd452ce3/idna-3.10-py3-none-any.whl", hash = "sha256:946d195a0d259cbba61165e88e65941f16e9b36ea6ddb97f00452bae8b1287d3", size = 70442, upload-time = "2024-09-15T18:07:37.964Z" }, ] [[package]] name = "iniconfig" version = "2.1.0" source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/f2/97/ebf4da567aa6827c909642694d71c9fcf53e5b504f2d96afea02718862f3/iniconfig-2.1.0.tar.gz", hash = "sha256:3abbd2e30b36733fee78f9c7f7308f2d0050e88f0087fd25c2645f63c773e1c7", size = 4793 } +sdist = { url = "https://files.pythonhosted.org/packages/f2/97/ebf4da567aa6827c909642694d71c9fcf53e5b504f2d96afea02718862f3/iniconfig-2.1.0.tar.gz", hash = "sha256:3abbd2e30b36733fee78f9c7f7308f2d0050e88f0087fd25c2645f63c773e1c7", size = 4793, upload-time = "2025-03-19T20:09:59.721Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/2c/e1/e6716421ea10d38022b952c159d5161ca1193197fb744506875fbb87ea7b/iniconfig-2.1.0-py3-none-any.whl", hash = "sha256:9deba5723312380e77435581c6bf4935c94cbfab9b1ed33ef8d238ea168eb760", size = 6050 }, + { url = "https://files.pythonhosted.org/packages/2c/e1/e6716421ea10d38022b952c159d5161ca1193197fb744506875fbb87ea7b/iniconfig-2.1.0-py3-none-any.whl", hash = "sha256:9deba5723312380e77435581c6bf4935c94cbfab9b1ed33ef8d238ea168eb760", size = 6050, upload-time = "2025-03-19T20:10:01.071Z" }, ] [[package]] @@ -191,9 +191,9 @@ 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 } +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 }, + { 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]] @@ -206,9 +206,9 @@ dependencies = [ { name = "referencing" }, { name = "rpds-py" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/74/69/f7185de793a29082a9f3c7728268ffb31cb5095131a9c139a74078e27336/jsonschema-4.25.1.tar.gz", hash = "sha256:e4a9655ce0da0c0b67a085847e00a3a51449e1157f4f75e9fb5aa545e122eb85", size = 357342 } +sdist = { url = "https://files.pythonhosted.org/packages/74/69/f7185de793a29082a9f3c7728268ffb31cb5095131a9c139a74078e27336/jsonschema-4.25.1.tar.gz", hash = "sha256:e4a9655ce0da0c0b67a085847e00a3a51449e1157f4f75e9fb5aa545e122eb85", size = 357342, upload-time = "2025-08-18T17:03:50.038Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/bf/9c/8c95d856233c1f82500c2450b8c68576b4cf1c871db3afac5c34ff84e6fd/jsonschema-4.25.1-py3-none-any.whl", hash = "sha256:3fba0169e345c7175110351d456342c364814cfcf3b964ba4587f22915230a63", size = 90040 }, + { url = "https://files.pythonhosted.org/packages/bf/9c/8c95d856233c1f82500c2450b8c68576b4cf1c871db3afac5c34ff84e6fd/jsonschema-4.25.1-py3-none-any.whl", hash = "sha256:3fba0169e345c7175110351d456342c364814cfcf3b964ba4587f22915230a63", size = 90040, upload-time = "2025-08-18T17:03:48.373Z" }, ] [[package]] @@ -218,47 +218,47 @@ source = { registry = "https://pypi.org/simple" } dependencies = [ { name = "referencing" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/19/74/a633ee74eb36c44aa6d1095e7cc5569bebf04342ee146178e2d36600708b/jsonschema_specifications-2025.9.1.tar.gz", hash = "sha256:b540987f239e745613c7a9176f3edb72b832a4ac465cf02712288397832b5e8d", size = 32855 } +sdist = { url = "https://files.pythonhosted.org/packages/19/74/a633ee74eb36c44aa6d1095e7cc5569bebf04342ee146178e2d36600708b/jsonschema_specifications-2025.9.1.tar.gz", hash = "sha256:b540987f239e745613c7a9176f3edb72b832a4ac465cf02712288397832b5e8d", size = 32855, upload-time = "2025-09-08T01:34:59.186Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/41/45/1a4ed80516f02155c51f51e8cedb3c1902296743db0bbc66608a0db2814f/jsonschema_specifications-2025.9.1-py3-none-any.whl", hash = "sha256:98802fee3a11ee76ecaca44429fda8a41bff98b00a0f2838151b113f210cc6fe", size = 18437 }, + { url = "https://files.pythonhosted.org/packages/41/45/1a4ed80516f02155c51f51e8cedb3c1902296743db0bbc66608a0db2814f/jsonschema_specifications-2025.9.1-py3-none-any.whl", hash = "sha256:98802fee3a11ee76ecaca44429fda8a41bff98b00a0f2838151b113f210cc6fe", size = 18437, upload-time = "2025-09-08T01:34:57.871Z" }, ] [[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 } -wheels = [ - { url = "https://files.pythonhosted.org/packages/22/09/d1f21434c97fc42f09d290cbb6350d44eb12f09cc62c9476effdb33a18aa/MarkupSafe-3.0.2-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:9778bd8ab0a994ebf6f84c2b949e65736d5575320a17ae8984a77fab08db94cf", size = 14274 }, - { url = "https://files.pythonhosted.org/packages/6b/b0/18f76bba336fa5aecf79d45dcd6c806c280ec44538b3c13671d49099fdd0/MarkupSafe-3.0.2-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:846ade7b71e3536c4e56b386c2a47adf5741d2d8b94ec9dc3e92e5e1ee1e2225", size = 12348 }, - { url = "https://files.pythonhosted.org/packages/e0/25/dd5c0f6ac1311e9b40f4af06c78efde0f3b5cbf02502f8ef9501294c425b/MarkupSafe-3.0.2-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:1c99d261bd2d5f6b59325c92c73df481e05e57f19837bdca8413b9eac4bd8028", size = 24149 }, - { url = "https://files.pythonhosted.org/packages/f3/f0/89e7aadfb3749d0f52234a0c8c7867877876e0a20b60e2188e9850794c17/MarkupSafe-3.0.2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:e17c96c14e19278594aa4841ec148115f9c7615a47382ecb6b82bd8fea3ab0c8", size = 23118 }, - { url = "https://files.pythonhosted.org/packages/d5/da/f2eeb64c723f5e3777bc081da884b414671982008c47dcc1873d81f625b6/MarkupSafe-3.0.2-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:88416bd1e65dcea10bc7569faacb2c20ce071dd1f87539ca2ab364bf6231393c", size = 22993 }, - { url = "https://files.pythonhosted.org/packages/da/0e/1f32af846df486dce7c227fe0f2398dc7e2e51d4a370508281f3c1c5cddc/MarkupSafe-3.0.2-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:2181e67807fc2fa785d0592dc2d6206c019b9502410671cc905d132a92866557", size = 24178 }, - { url = "https://files.pythonhosted.org/packages/c4/f6/bb3ca0532de8086cbff5f06d137064c8410d10779c4c127e0e47d17c0b71/MarkupSafe-3.0.2-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:52305740fe773d09cffb16f8ed0427942901f00adedac82ec8b67752f58a1b22", size = 23319 }, - { url = "https://files.pythonhosted.org/packages/a2/82/8be4c96ffee03c5b4a034e60a31294daf481e12c7c43ab8e34a1453ee48b/MarkupSafe-3.0.2-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:ad10d3ded218f1039f11a75f8091880239651b52e9bb592ca27de44eed242a48", size = 23352 }, - { url = "https://files.pythonhosted.org/packages/51/ae/97827349d3fcffee7e184bdf7f41cd6b88d9919c80f0263ba7acd1bbcb18/MarkupSafe-3.0.2-cp312-cp312-win32.whl", hash = "sha256:0f4ca02bea9a23221c0182836703cbf8930c5e9454bacce27e767509fa286a30", size = 15097 }, - { url = "https://files.pythonhosted.org/packages/c1/80/a61f99dc3a936413c3ee4e1eecac96c0da5ed07ad56fd975f1a9da5bc630/MarkupSafe-3.0.2-cp312-cp312-win_amd64.whl", hash = "sha256:8e06879fc22a25ca47312fbe7c8264eb0b662f6db27cb2d3bbbc74b1df4b9b87", size = 15601 }, - { 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 }, - { 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 }, - { 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 }, - { 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 }, - { 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 }, - { 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 }, - { 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 }, - { 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 }, - { url = "https://files.pythonhosted.org/packages/ee/55/c271b57db36f748f0e04a759ace9f8f759ccf22b4960c270c78a394f58be/MarkupSafe-3.0.2-cp313-cp313-win32.whl", hash = "sha256:bcf3e58998965654fdaff38e58584d8937aa3096ab5354d493c77d1fdd66d7a1", size = 15101 }, - { url = "https://files.pythonhosted.org/packages/29/88/07df22d2dd4df40aba9f3e402e6dc1b8ee86297dddbad4872bd5e7b0094f/MarkupSafe-3.0.2-cp313-cp313-win_amd64.whl", hash = "sha256:e6a2a455bd412959b57a172ce6328d2dd1f01cb2135efda2e4576e8a23fa3b0f", size = 15603 }, - { 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 }, - { 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 }, - { 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 }, - { 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 }, - { 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 }, - { 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 }, - { 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 }, - { 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 }, - { url = "https://files.pythonhosted.org/packages/82/78/fedb03c7d5380df2427038ec8d973587e90561b2d90cd472ce9254cf348b/MarkupSafe-3.0.2-cp313-cp313t-win32.whl", hash = "sha256:ba8062ed2cf21c07a9e295d5b8a2a5ce678b913b45fdf68c32d95d6c1291e0b6", size = 15208 }, - { url = "https://files.pythonhosted.org/packages/4f/65/6079a46068dfceaeabb5dcad6d674f5f5c61a6fa5673746f42a9f4c233b3/MarkupSafe-3.0.2-cp313-cp313t-win_amd64.whl", hash = "sha256:e444a31f8db13eb18ada366ab3cf45fd4b31e4db1236a4448f68778c1d1a5a2f", size = 15739 }, +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/22/09/d1f21434c97fc42f09d290cbb6350d44eb12f09cc62c9476effdb33a18aa/MarkupSafe-3.0.2-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:9778bd8ab0a994ebf6f84c2b949e65736d5575320a17ae8984a77fab08db94cf", size = 14274, upload-time = "2024-10-18T15:21:13.777Z" }, + { url = "https://files.pythonhosted.org/packages/6b/b0/18f76bba336fa5aecf79d45dcd6c806c280ec44538b3c13671d49099fdd0/MarkupSafe-3.0.2-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:846ade7b71e3536c4e56b386c2a47adf5741d2d8b94ec9dc3e92e5e1ee1e2225", size = 12348, upload-time = "2024-10-18T15:21:14.822Z" }, + { url = "https://files.pythonhosted.org/packages/e0/25/dd5c0f6ac1311e9b40f4af06c78efde0f3b5cbf02502f8ef9501294c425b/MarkupSafe-3.0.2-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:1c99d261bd2d5f6b59325c92c73df481e05e57f19837bdca8413b9eac4bd8028", size = 24149, upload-time = "2024-10-18T15:21:15.642Z" }, + { url = "https://files.pythonhosted.org/packages/f3/f0/89e7aadfb3749d0f52234a0c8c7867877876e0a20b60e2188e9850794c17/MarkupSafe-3.0.2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:e17c96c14e19278594aa4841ec148115f9c7615a47382ecb6b82bd8fea3ab0c8", size = 23118, upload-time = "2024-10-18T15:21:17.133Z" }, + { url = "https://files.pythonhosted.org/packages/d5/da/f2eeb64c723f5e3777bc081da884b414671982008c47dcc1873d81f625b6/MarkupSafe-3.0.2-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:88416bd1e65dcea10bc7569faacb2c20ce071dd1f87539ca2ab364bf6231393c", size = 22993, upload-time = "2024-10-18T15:21:18.064Z" }, + { url = "https://files.pythonhosted.org/packages/da/0e/1f32af846df486dce7c227fe0f2398dc7e2e51d4a370508281f3c1c5cddc/MarkupSafe-3.0.2-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:2181e67807fc2fa785d0592dc2d6206c019b9502410671cc905d132a92866557", size = 24178, upload-time = "2024-10-18T15:21:18.859Z" }, + { url = "https://files.pythonhosted.org/packages/c4/f6/bb3ca0532de8086cbff5f06d137064c8410d10779c4c127e0e47d17c0b71/MarkupSafe-3.0.2-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:52305740fe773d09cffb16f8ed0427942901f00adedac82ec8b67752f58a1b22", size = 23319, upload-time = "2024-10-18T15:21:19.671Z" }, + { url = "https://files.pythonhosted.org/packages/a2/82/8be4c96ffee03c5b4a034e60a31294daf481e12c7c43ab8e34a1453ee48b/MarkupSafe-3.0.2-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:ad10d3ded218f1039f11a75f8091880239651b52e9bb592ca27de44eed242a48", size = 23352, upload-time = "2024-10-18T15:21:20.971Z" }, + { url = "https://files.pythonhosted.org/packages/51/ae/97827349d3fcffee7e184bdf7f41cd6b88d9919c80f0263ba7acd1bbcb18/MarkupSafe-3.0.2-cp312-cp312-win32.whl", hash = "sha256:0f4ca02bea9a23221c0182836703cbf8930c5e9454bacce27e767509fa286a30", size = 15097, upload-time = "2024-10-18T15:21:22.646Z" }, + { url = "https://files.pythonhosted.org/packages/c1/80/a61f99dc3a936413c3ee4e1eecac96c0da5ed07ad56fd975f1a9da5bc630/MarkupSafe-3.0.2-cp312-cp312-win_amd64.whl", hash = "sha256:8e06879fc22a25ca47312fbe7c8264eb0b662f6db27cb2d3bbbc74b1df4b9b87", size = 15601, upload-time = "2024-10-18T15:21:23.499Z" }, + { 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]] @@ -270,89 +270,89 @@ dependencies = [ { name = "pathspec" }, { name = "typing-extensions" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/14/a3/931e09fc02d7ba96da65266884da4e4a8806adcdb8a57faaacc6edf1d538/mypy-1.18.1.tar.gz", hash = "sha256:9e988c64ad3ac5987f43f5154f884747faf62141b7f842e87465b45299eea5a9", size = 3448447 } +sdist = { url = "https://files.pythonhosted.org/packages/14/a3/931e09fc02d7ba96da65266884da4e4a8806adcdb8a57faaacc6edf1d538/mypy-1.18.1.tar.gz", hash = "sha256:9e988c64ad3ac5987f43f5154f884747faf62141b7f842e87465b45299eea5a9", size = 3448447, upload-time = "2025-09-11T23:00:47.067Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/e7/14/1c3f54d606cb88a55d1567153ef3a8bc7b74702f2ff5eb64d0994f9e49cb/mypy-1.18.1-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:502cde8896be8e638588b90fdcb4c5d5b8c1b004dfc63fd5604a973547367bb9", size = 12911082 }, - { url = "https://files.pythonhosted.org/packages/90/83/235606c8b6d50a8eba99773add907ce1d41c068edb523f81eb0d01603a83/mypy-1.18.1-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:7509549b5e41be279afc1228242d0e397f1af2919a8f2877ad542b199dc4083e", size = 11919107 }, - { url = "https://files.pythonhosted.org/packages/ca/25/4e2ce00f8d15b99d0c68a2536ad63e9eac033f723439ef80290ec32c1ff5/mypy-1.18.1-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:5956ecaabb3a245e3f34100172abca1507be687377fe20e24d6a7557e07080e2", size = 12472551 }, - { url = "https://files.pythonhosted.org/packages/32/bb/92642a9350fc339dd9dcefcf6862d171b52294af107d521dce075f32f298/mypy-1.18.1-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:8750ceb014a96c9890421c83f0db53b0f3b8633e2864c6f9bc0a8e93951ed18d", size = 13340554 }, - { url = "https://files.pythonhosted.org/packages/cd/ee/38d01db91c198fb6350025d28f9719ecf3c8f2c55a0094bfbf3ef478cc9a/mypy-1.18.1-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:fb89ea08ff41adf59476b235293679a6eb53a7b9400f6256272fb6029bec3ce5", size = 13530933 }, - { url = "https://files.pythonhosted.org/packages/da/8d/6d991ae631f80d58edbf9d7066e3f2a96e479dca955d9a968cd6e90850a3/mypy-1.18.1-cp312-cp312-win_amd64.whl", hash = "sha256:2657654d82fcd2a87e02a33e0d23001789a554059bbf34702d623dafe353eabf", size = 9828426 }, - { url = "https://files.pythonhosted.org/packages/e4/ec/ef4a7260e1460a3071628a9277a7579e7da1b071bc134ebe909323f2fbc7/mypy-1.18.1-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:d70d2b5baf9b9a20bc9c730015615ae3243ef47fb4a58ad7b31c3e0a59b5ef1f", size = 12918671 }, - { url = "https://files.pythonhosted.org/packages/a1/82/0ea6c3953f16223f0b8eda40c1aeac6bd266d15f4902556ae6e91f6fca4c/mypy-1.18.1-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:b8367e33506300f07a43012fc546402f283c3f8bcff1dc338636affb710154ce", size = 11913023 }, - { url = "https://files.pythonhosted.org/packages/ae/ef/5e2057e692c2690fc27b3ed0a4dbde4388330c32e2576a23f0302bc8358d/mypy-1.18.1-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:913f668ec50c3337b89df22f973c1c8f0b29ee9e290a8b7fe01cc1ef7446d42e", size = 12473355 }, - { url = "https://files.pythonhosted.org/packages/98/43/b7e429fc4be10e390a167b0cd1810d41cb4e4add4ae50bab96faff695a3b/mypy-1.18.1-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:1a0e70b87eb27b33209fa4792b051c6947976f6ab829daa83819df5f58330c71", size = 13346944 }, - { url = "https://files.pythonhosted.org/packages/89/4e/899dba0bfe36bbd5b7c52e597de4cf47b5053d337b6d201a30e3798e77a6/mypy-1.18.1-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:c378d946e8a60be6b6ede48c878d145546fb42aad61df998c056ec151bf6c746", size = 13512574 }, - { url = "https://files.pythonhosted.org/packages/f5/f8/7661021a5b0e501b76440454d786b0f01bb05d5c4b125fcbda02023d0250/mypy-1.18.1-cp313-cp313-win_amd64.whl", hash = "sha256:2cd2c1e0f3a7465f22731987fff6fc427e3dcbb4ca5f7db5bbeaff2ff9a31f6d", size = 9837684 }, - { url = "https://files.pythonhosted.org/packages/e0/1d/4b97d3089b48ef3d904c9ca69fab044475bd03245d878f5f0b3ea1daf7ce/mypy-1.18.1-py3-none-any.whl", hash = "sha256:b76a4de66a0ac01da1be14ecc8ae88ddea33b8380284a9e3eae39d57ebcbe26e", size = 2352212 }, + { url = "https://files.pythonhosted.org/packages/e7/14/1c3f54d606cb88a55d1567153ef3a8bc7b74702f2ff5eb64d0994f9e49cb/mypy-1.18.1-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:502cde8896be8e638588b90fdcb4c5d5b8c1b004dfc63fd5604a973547367bb9", size = 12911082, upload-time = "2025-09-11T23:00:41.465Z" }, + { url = "https://files.pythonhosted.org/packages/90/83/235606c8b6d50a8eba99773add907ce1d41c068edb523f81eb0d01603a83/mypy-1.18.1-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:7509549b5e41be279afc1228242d0e397f1af2919a8f2877ad542b199dc4083e", size = 11919107, upload-time = "2025-09-11T22:58:40.903Z" }, + { url = "https://files.pythonhosted.org/packages/ca/25/4e2ce00f8d15b99d0c68a2536ad63e9eac033f723439ef80290ec32c1ff5/mypy-1.18.1-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:5956ecaabb3a245e3f34100172abca1507be687377fe20e24d6a7557e07080e2", size = 12472551, upload-time = "2025-09-11T22:58:37.272Z" }, + { url = "https://files.pythonhosted.org/packages/32/bb/92642a9350fc339dd9dcefcf6862d171b52294af107d521dce075f32f298/mypy-1.18.1-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:8750ceb014a96c9890421c83f0db53b0f3b8633e2864c6f9bc0a8e93951ed18d", size = 13340554, upload-time = "2025-09-11T22:59:38.756Z" }, + { url = "https://files.pythonhosted.org/packages/cd/ee/38d01db91c198fb6350025d28f9719ecf3c8f2c55a0094bfbf3ef478cc9a/mypy-1.18.1-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:fb89ea08ff41adf59476b235293679a6eb53a7b9400f6256272fb6029bec3ce5", size = 13530933, upload-time = "2025-09-11T22:59:20.228Z" }, + { url = "https://files.pythonhosted.org/packages/da/8d/6d991ae631f80d58edbf9d7066e3f2a96e479dca955d9a968cd6e90850a3/mypy-1.18.1-cp312-cp312-win_amd64.whl", hash = "sha256:2657654d82fcd2a87e02a33e0d23001789a554059bbf34702d623dafe353eabf", size = 9828426, upload-time = "2025-09-11T23:00:21.007Z" }, + { url = "https://files.pythonhosted.org/packages/e4/ec/ef4a7260e1460a3071628a9277a7579e7da1b071bc134ebe909323f2fbc7/mypy-1.18.1-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:d70d2b5baf9b9a20bc9c730015615ae3243ef47fb4a58ad7b31c3e0a59b5ef1f", size = 12918671, upload-time = "2025-09-11T22:58:29.814Z" }, + { url = "https://files.pythonhosted.org/packages/a1/82/0ea6c3953f16223f0b8eda40c1aeac6bd266d15f4902556ae6e91f6fca4c/mypy-1.18.1-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:b8367e33506300f07a43012fc546402f283c3f8bcff1dc338636affb710154ce", size = 11913023, upload-time = "2025-09-11T23:00:29.049Z" }, + { url = "https://files.pythonhosted.org/packages/ae/ef/5e2057e692c2690fc27b3ed0a4dbde4388330c32e2576a23f0302bc8358d/mypy-1.18.1-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:913f668ec50c3337b89df22f973c1c8f0b29ee9e290a8b7fe01cc1ef7446d42e", size = 12473355, upload-time = "2025-09-11T23:00:04.544Z" }, + { url = "https://files.pythonhosted.org/packages/98/43/b7e429fc4be10e390a167b0cd1810d41cb4e4add4ae50bab96faff695a3b/mypy-1.18.1-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:1a0e70b87eb27b33209fa4792b051c6947976f6ab829daa83819df5f58330c71", size = 13346944, upload-time = "2025-09-11T22:58:23.024Z" }, + { url = "https://files.pythonhosted.org/packages/89/4e/899dba0bfe36bbd5b7c52e597de4cf47b5053d337b6d201a30e3798e77a6/mypy-1.18.1-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:c378d946e8a60be6b6ede48c878d145546fb42aad61df998c056ec151bf6c746", size = 13512574, upload-time = "2025-09-11T22:59:52.152Z" }, + { url = "https://files.pythonhosted.org/packages/f5/f8/7661021a5b0e501b76440454d786b0f01bb05d5c4b125fcbda02023d0250/mypy-1.18.1-cp313-cp313-win_amd64.whl", hash = "sha256:2cd2c1e0f3a7465f22731987fff6fc427e3dcbb4ca5f7db5bbeaff2ff9a31f6d", size = 9837684, upload-time = "2025-09-11T22:58:44.454Z" }, + { url = "https://files.pythonhosted.org/packages/e0/1d/4b97d3089b48ef3d904c9ca69fab044475bd03245d878f5f0b3ea1daf7ce/mypy-1.18.1-py3-none-any.whl", hash = "sha256:b76a4de66a0ac01da1be14ecc8ae88ddea33b8380284a9e3eae39d57ebcbe26e", size = 2352212, upload-time = "2025-09-11T22:59:26.576Z" }, ] [[package]] name = "mypy-extensions" version = "1.1.0" source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/a2/6e/371856a3fb9d31ca8dac321cda606860fa4548858c0cc45d9d1d4ca2628b/mypy_extensions-1.1.0.tar.gz", hash = "sha256:52e68efc3284861e772bbcd66823fde5ae21fd2fdb51c62a211403730b916558", size = 6343 } +sdist = { url = "https://files.pythonhosted.org/packages/a2/6e/371856a3fb9d31ca8dac321cda606860fa4548858c0cc45d9d1d4ca2628b/mypy_extensions-1.1.0.tar.gz", hash = "sha256:52e68efc3284861e772bbcd66823fde5ae21fd2fdb51c62a211403730b916558", size = 6343, upload-time = "2025-04-22T14:54:24.164Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/79/7b/2c79738432f5c924bef5071f933bcc9efd0473bac3b4aa584a6f7c1c8df8/mypy_extensions-1.1.0-py3-none-any.whl", hash = "sha256:1be4cccdb0f2482337c4743e60421de3a356cd97508abadd57d47403e94f5505", size = 4963 }, + { url = "https://files.pythonhosted.org/packages/79/7b/2c79738432f5c924bef5071f933bcc9efd0473bac3b4aa584a6f7c1c8df8/mypy_extensions-1.1.0-py3-none-any.whl", hash = "sha256:1be4cccdb0f2482337c4743e60421de3a356cd97508abadd57d47403e94f5505", size = 4963, upload-time = "2025-04-22T14:54:22.983Z" }, ] [[package]] name = "narwhals" version = "2.5.0" source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/7b/b8/3cb005704866f1cc19e8d6b15d0467255821ba12d82f20ea15912672e54c/narwhals-2.5.0.tar.gz", hash = "sha256:8ae0b6f39597f14c0dc52afc98949d6f8be89b5af402d2d98101d2f7d3561418", size = 558573 } +sdist = { url = "https://files.pythonhosted.org/packages/7b/b8/3cb005704866f1cc19e8d6b15d0467255821ba12d82f20ea15912672e54c/narwhals-2.5.0.tar.gz", hash = "sha256:8ae0b6f39597f14c0dc52afc98949d6f8be89b5af402d2d98101d2f7d3561418", size = 558573, upload-time = "2025-09-12T10:04:24.436Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/f8/5a/22741c5c0e5f6e8050242bfc2052ba68bc94b1735ed5bca35404d136d6ec/narwhals-2.5.0-py3-none-any.whl", hash = "sha256:7e213f9ca7db3f8bf6f7eff35eaee6a1cf80902997e1b78d49b7755775d8f423", size = 407296 }, + { url = "https://files.pythonhosted.org/packages/f8/5a/22741c5c0e5f6e8050242bfc2052ba68bc94b1735ed5bca35404d136d6ec/narwhals-2.5.0-py3-none-any.whl", hash = "sha256:7e213f9ca7db3f8bf6f7eff35eaee6a1cf80902997e1b78d49b7755775d8f423", size = 407296, upload-time = "2025-09-12T10:04:22.524Z" }, ] [[package]] name = "nodeenv" version = "1.9.1" source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/43/16/fc88b08840de0e0a72a2f9d8c6bae36be573e475a6326ae854bcc549fc45/nodeenv-1.9.1.tar.gz", hash = "sha256:6ec12890a2dab7946721edbfbcd91f3319c6ccc9aec47be7c7e6b7011ee6645f", size = 47437 } +sdist = { url = "https://files.pythonhosted.org/packages/43/16/fc88b08840de0e0a72a2f9d8c6bae36be573e475a6326ae854bcc549fc45/nodeenv-1.9.1.tar.gz", hash = "sha256:6ec12890a2dab7946721edbfbcd91f3319c6ccc9aec47be7c7e6b7011ee6645f", size = 47437, upload-time = "2024-06-04T18:44:11.171Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/d2/1d/1b658dbd2b9fa9c4c9f32accbfc0205d532c8c6194dc0f2a4c0428e7128a/nodeenv-1.9.1-py2.py3-none-any.whl", hash = "sha256:ba11c9782d29c27c70ffbdda2d7415098754709be8a7056d79a737cd901155c9", size = 22314 }, + { url = "https://files.pythonhosted.org/packages/d2/1d/1b658dbd2b9fa9c4c9f32accbfc0205d532c8c6194dc0f2a4c0428e7128a/nodeenv-1.9.1-py2.py3-none-any.whl", hash = "sha256:ba11c9782d29c27c70ffbdda2d7415098754709be8a7056d79a737cd901155c9", size = 22314, upload-time = "2024-06-04T18:44:08.352Z" }, ] [[package]] name = "numpy" version = "2.3.3" source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/d0/19/95b3d357407220ed24c139018d2518fab0a61a948e68286a25f1a4d049ff/numpy-2.3.3.tar.gz", hash = "sha256:ddc7c39727ba62b80dfdbedf400d1c10ddfa8eefbd7ec8dcb118be8b56d31029", size = 20576648 } -wheels = [ - { url = "https://files.pythonhosted.org/packages/51/5d/bb7fc075b762c96329147799e1bcc9176ab07ca6375ea976c475482ad5b3/numpy-2.3.3-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:cfdd09f9c84a1a934cde1eec2267f0a43a7cd44b2cca4ff95b7c0d14d144b0bf", size = 20957014 }, - { url = "https://files.pythonhosted.org/packages/6b/0e/c6211bb92af26517acd52125a237a92afe9c3124c6a68d3b9f81b62a0568/numpy-2.3.3-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:cb32e3cf0f762aee47ad1ddc6672988f7f27045b0783c887190545baba73aa25", size = 14185220 }, - { url = "https://files.pythonhosted.org/packages/22/f2/07bb754eb2ede9073f4054f7c0286b0d9d2e23982e090a80d478b26d35ca/numpy-2.3.3-cp312-cp312-macosx_14_0_arm64.whl", hash = "sha256:396b254daeb0a57b1fe0ecb5e3cff6fa79a380fa97c8f7781a6d08cd429418fe", size = 5113918 }, - { url = "https://files.pythonhosted.org/packages/81/0a/afa51697e9fb74642f231ea36aca80fa17c8fb89f7a82abd5174023c3960/numpy-2.3.3-cp312-cp312-macosx_14_0_x86_64.whl", hash = "sha256:067e3d7159a5d8f8a0b46ee11148fc35ca9b21f61e3c49fbd0a027450e65a33b", size = 6647922 }, - { url = "https://files.pythonhosted.org/packages/5d/f5/122d9cdb3f51c520d150fef6e87df9279e33d19a9611a87c0d2cf78a89f4/numpy-2.3.3-cp312-cp312-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:1c02d0629d25d426585fb2e45a66154081b9fa677bc92a881ff1d216bc9919a8", size = 14281991 }, - { url = "https://files.pythonhosted.org/packages/51/64/7de3c91e821a2debf77c92962ea3fe6ac2bc45d0778c1cbe15d4fce2fd94/numpy-2.3.3-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:d9192da52b9745f7f0766531dcfa978b7763916f158bb63bdb8a1eca0068ab20", size = 16641643 }, - { url = "https://files.pythonhosted.org/packages/30/e4/961a5fa681502cd0d68907818b69f67542695b74e3ceaa513918103b7e80/numpy-2.3.3-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:cd7de500a5b66319db419dc3c345244404a164beae0d0937283b907d8152e6ea", size = 16056787 }, - { url = "https://files.pythonhosted.org/packages/99/26/92c912b966e47fbbdf2ad556cb17e3a3088e2e1292b9833be1dfa5361a1a/numpy-2.3.3-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:93d4962d8f82af58f0b2eb85daaf1b3ca23fe0a85d0be8f1f2b7bb46034e56d7", size = 18579598 }, - { url = "https://files.pythonhosted.org/packages/17/b6/fc8f82cb3520768718834f310c37d96380d9dc61bfdaf05fe5c0b7653e01/numpy-2.3.3-cp312-cp312-win32.whl", hash = "sha256:5534ed6b92f9b7dca6c0a19d6df12d41c68b991cef051d108f6dbff3babc4ebf", size = 6320800 }, - { url = "https://files.pythonhosted.org/packages/32/ee/de999f2625b80d043d6d2d628c07d0d5555a677a3cf78fdf868d409b8766/numpy-2.3.3-cp312-cp312-win_amd64.whl", hash = "sha256:497d7cad08e7092dba36e3d296fe4c97708c93daf26643a1ae4b03f6294d30eb", size = 12786615 }, - { url = "https://files.pythonhosted.org/packages/49/6e/b479032f8a43559c383acb20816644f5f91c88f633d9271ee84f3b3a996c/numpy-2.3.3-cp312-cp312-win_arm64.whl", hash = "sha256:ca0309a18d4dfea6fc6262a66d06c26cfe4640c3926ceec90e57791a82b6eee5", size = 10195936 }, - { url = "https://files.pythonhosted.org/packages/7d/b9/984c2b1ee61a8b803bf63582b4ac4242cf76e2dbd663efeafcb620cc0ccb/numpy-2.3.3-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:f5415fb78995644253370985342cd03572ef8620b934da27d77377a2285955bf", size = 20949588 }, - { url = "https://files.pythonhosted.org/packages/a6/e4/07970e3bed0b1384d22af1e9912527ecbeb47d3b26e9b6a3bced068b3bea/numpy-2.3.3-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:d00de139a3324e26ed5b95870ce63be7ec7352171bc69a4cf1f157a48e3eb6b7", size = 14177802 }, - { url = "https://files.pythonhosted.org/packages/35/c7/477a83887f9de61f1203bad89cf208b7c19cc9fef0cebef65d5a1a0619f2/numpy-2.3.3-cp313-cp313-macosx_14_0_arm64.whl", hash = "sha256:9dc13c6a5829610cc07422bc74d3ac083bd8323f14e2827d992f9e52e22cd6a6", size = 5106537 }, - { url = "https://files.pythonhosted.org/packages/52/47/93b953bd5866a6f6986344d045a207d3f1cfbad99db29f534ea9cee5108c/numpy-2.3.3-cp313-cp313-macosx_14_0_x86_64.whl", hash = "sha256:d79715d95f1894771eb4e60fb23f065663b2298f7d22945d66877aadf33d00c7", size = 6640743 }, - { url = "https://files.pythonhosted.org/packages/23/83/377f84aaeb800b64c0ef4de58b08769e782edcefa4fea712910b6f0afd3c/numpy-2.3.3-cp313-cp313-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:952cfd0748514ea7c3afc729a0fc639e61655ce4c55ab9acfab14bda4f402b4c", size = 14278881 }, - { url = "https://files.pythonhosted.org/packages/9a/a5/bf3db6e66c4b160d6ea10b534c381a1955dfab34cb1017ea93aa33c70ed3/numpy-2.3.3-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:5b83648633d46f77039c29078751f80da65aa64d5622a3cd62aaef9d835b6c93", size = 16636301 }, - { url = "https://files.pythonhosted.org/packages/a2/59/1287924242eb4fa3f9b3a2c30400f2e17eb2707020d1c5e3086fe7330717/numpy-2.3.3-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:b001bae8cea1c7dfdb2ae2b017ed0a6f2102d7a70059df1e338e307a4c78a8ae", size = 16053645 }, - { url = "https://files.pythonhosted.org/packages/e6/93/b3d47ed882027c35e94ac2320c37e452a549f582a5e801f2d34b56973c97/numpy-2.3.3-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:8e9aced64054739037d42fb84c54dd38b81ee238816c948c8f3ed134665dcd86", size = 18578179 }, - { url = "https://files.pythonhosted.org/packages/20/d9/487a2bccbf7cc9d4bfc5f0f197761a5ef27ba870f1e3bbb9afc4bbe3fcc2/numpy-2.3.3-cp313-cp313-win32.whl", hash = "sha256:9591e1221db3f37751e6442850429b3aabf7026d3b05542d102944ca7f00c8a8", size = 6312250 }, - { url = "https://files.pythonhosted.org/packages/1b/b5/263ebbbbcede85028f30047eab3d58028d7ebe389d6493fc95ae66c636ab/numpy-2.3.3-cp313-cp313-win_amd64.whl", hash = "sha256:f0dadeb302887f07431910f67a14d57209ed91130be0adea2f9793f1a4f817cf", size = 12783269 }, - { url = "https://files.pythonhosted.org/packages/fa/75/67b8ca554bbeaaeb3fac2e8bce46967a5a06544c9108ec0cf5cece559b6c/numpy-2.3.3-cp313-cp313-win_arm64.whl", hash = "sha256:3c7cf302ac6e0b76a64c4aecf1a09e51abd9b01fc7feee80f6c43e3ab1b1dbc5", size = 10195314 }, - { url = "https://files.pythonhosted.org/packages/11/d0/0d1ddec56b162042ddfafeeb293bac672de9b0cfd688383590090963720a/numpy-2.3.3-cp313-cp313t-macosx_10_13_x86_64.whl", hash = "sha256:eda59e44957d272846bb407aad19f89dc6f58fecf3504bd144f4c5cf81a7eacc", size = 21048025 }, - { url = "https://files.pythonhosted.org/packages/36/9e/1996ca6b6d00415b6acbdd3c42f7f03ea256e2c3f158f80bd7436a8a19f3/numpy-2.3.3-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:823d04112bc85ef5c4fda73ba24e6096c8f869931405a80aa8b0e604510a26bc", size = 14301053 }, - { url = "https://files.pythonhosted.org/packages/05/24/43da09aa764c68694b76e84b3d3f0c44cb7c18cdc1ba80e48b0ac1d2cd39/numpy-2.3.3-cp313-cp313t-macosx_14_0_arm64.whl", hash = "sha256:40051003e03db4041aa325da2a0971ba41cf65714e65d296397cc0e32de6018b", size = 5229444 }, - { url = "https://files.pythonhosted.org/packages/bc/14/50ffb0f22f7218ef8af28dd089f79f68289a7a05a208db9a2c5dcbe123c1/numpy-2.3.3-cp313-cp313t-macosx_14_0_x86_64.whl", hash = "sha256:6ee9086235dd6ab7ae75aba5662f582a81ced49f0f1c6de4260a78d8f2d91a19", size = 6738039 }, - { url = "https://files.pythonhosted.org/packages/55/52/af46ac0795e09657d45a7f4db961917314377edecf66db0e39fa7ab5c3d3/numpy-2.3.3-cp313-cp313t-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:94fcaa68757c3e2e668ddadeaa86ab05499a70725811e582b6a9858dd472fb30", size = 14352314 }, - { url = "https://files.pythonhosted.org/packages/a7/b1/dc226b4c90eb9f07a3fff95c2f0db3268e2e54e5cce97c4ac91518aee71b/numpy-2.3.3-cp313-cp313t-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:da1a74b90e7483d6ce5244053399a614b1d6b7bc30a60d2f570e5071f8959d3e", size = 16701722 }, - { url = "https://files.pythonhosted.org/packages/9d/9d/9d8d358f2eb5eced14dba99f110d83b5cd9a4460895230f3b396ad19a323/numpy-2.3.3-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:2990adf06d1ecee3b3dcbb4977dfab6e9f09807598d647f04d385d29e7a3c3d3", size = 16132755 }, - { url = "https://files.pythonhosted.org/packages/b6/27/b3922660c45513f9377b3fb42240bec63f203c71416093476ec9aa0719dc/numpy-2.3.3-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:ed635ff692483b8e3f0fcaa8e7eb8a75ee71aa6d975388224f70821421800cea", size = 18651560 }, - { url = "https://files.pythonhosted.org/packages/5b/8e/3ab61a730bdbbc201bb245a71102aa609f0008b9ed15255500a99cd7f780/numpy-2.3.3-cp313-cp313t-win32.whl", hash = "sha256:a333b4ed33d8dc2b373cc955ca57babc00cd6f9009991d9edc5ddbc1bac36bcd", size = 6442776 }, - { url = "https://files.pythonhosted.org/packages/1c/3a/e22b766b11f6030dc2decdeff5c2fb1610768055603f9f3be88b6d192fb2/numpy-2.3.3-cp313-cp313t-win_amd64.whl", hash = "sha256:4384a169c4d8f97195980815d6fcad04933a7e1ab3b530921c3fef7a1c63426d", size = 12927281 }, - { url = "https://files.pythonhosted.org/packages/7b/42/c2e2bc48c5e9b2a83423f99733950fbefd86f165b468a3d85d52b30bf782/numpy-2.3.3-cp313-cp313t-win_arm64.whl", hash = "sha256:75370986cc0bc66f4ce5110ad35aae6d182cc4ce6433c40ad151f53690130bf1", size = 10265275 }, +sdist = { url = "https://files.pythonhosted.org/packages/d0/19/95b3d357407220ed24c139018d2518fab0a61a948e68286a25f1a4d049ff/numpy-2.3.3.tar.gz", hash = "sha256:ddc7c39727ba62b80dfdbedf400d1c10ddfa8eefbd7ec8dcb118be8b56d31029", size = 20576648, upload-time = "2025-09-09T16:54:12.543Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/51/5d/bb7fc075b762c96329147799e1bcc9176ab07ca6375ea976c475482ad5b3/numpy-2.3.3-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:cfdd09f9c84a1a934cde1eec2267f0a43a7cd44b2cca4ff95b7c0d14d144b0bf", size = 20957014, upload-time = "2025-09-09T15:56:29.966Z" }, + { url = "https://files.pythonhosted.org/packages/6b/0e/c6211bb92af26517acd52125a237a92afe9c3124c6a68d3b9f81b62a0568/numpy-2.3.3-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:cb32e3cf0f762aee47ad1ddc6672988f7f27045b0783c887190545baba73aa25", size = 14185220, upload-time = "2025-09-09T15:56:32.175Z" }, + { url = "https://files.pythonhosted.org/packages/22/f2/07bb754eb2ede9073f4054f7c0286b0d9d2e23982e090a80d478b26d35ca/numpy-2.3.3-cp312-cp312-macosx_14_0_arm64.whl", hash = "sha256:396b254daeb0a57b1fe0ecb5e3cff6fa79a380fa97c8f7781a6d08cd429418fe", size = 5113918, upload-time = "2025-09-09T15:56:34.175Z" }, + { url = "https://files.pythonhosted.org/packages/81/0a/afa51697e9fb74642f231ea36aca80fa17c8fb89f7a82abd5174023c3960/numpy-2.3.3-cp312-cp312-macosx_14_0_x86_64.whl", hash = "sha256:067e3d7159a5d8f8a0b46ee11148fc35ca9b21f61e3c49fbd0a027450e65a33b", size = 6647922, upload-time = "2025-09-09T15:56:36.149Z" }, + { url = "https://files.pythonhosted.org/packages/5d/f5/122d9cdb3f51c520d150fef6e87df9279e33d19a9611a87c0d2cf78a89f4/numpy-2.3.3-cp312-cp312-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:1c02d0629d25d426585fb2e45a66154081b9fa677bc92a881ff1d216bc9919a8", size = 14281991, upload-time = "2025-09-09T15:56:40.548Z" }, + { url = "https://files.pythonhosted.org/packages/51/64/7de3c91e821a2debf77c92962ea3fe6ac2bc45d0778c1cbe15d4fce2fd94/numpy-2.3.3-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:d9192da52b9745f7f0766531dcfa978b7763916f158bb63bdb8a1eca0068ab20", size = 16641643, upload-time = "2025-09-09T15:56:43.343Z" }, + { url = "https://files.pythonhosted.org/packages/30/e4/961a5fa681502cd0d68907818b69f67542695b74e3ceaa513918103b7e80/numpy-2.3.3-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:cd7de500a5b66319db419dc3c345244404a164beae0d0937283b907d8152e6ea", size = 16056787, upload-time = "2025-09-09T15:56:46.141Z" }, + { url = "https://files.pythonhosted.org/packages/99/26/92c912b966e47fbbdf2ad556cb17e3a3088e2e1292b9833be1dfa5361a1a/numpy-2.3.3-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:93d4962d8f82af58f0b2eb85daaf1b3ca23fe0a85d0be8f1f2b7bb46034e56d7", size = 18579598, upload-time = "2025-09-09T15:56:49.844Z" }, + { url = "https://files.pythonhosted.org/packages/17/b6/fc8f82cb3520768718834f310c37d96380d9dc61bfdaf05fe5c0b7653e01/numpy-2.3.3-cp312-cp312-win32.whl", hash = "sha256:5534ed6b92f9b7dca6c0a19d6df12d41c68b991cef051d108f6dbff3babc4ebf", size = 6320800, upload-time = "2025-09-09T15:56:52.499Z" }, + { url = "https://files.pythonhosted.org/packages/32/ee/de999f2625b80d043d6d2d628c07d0d5555a677a3cf78fdf868d409b8766/numpy-2.3.3-cp312-cp312-win_amd64.whl", hash = "sha256:497d7cad08e7092dba36e3d296fe4c97708c93daf26643a1ae4b03f6294d30eb", size = 12786615, upload-time = "2025-09-09T15:56:54.422Z" }, + { url = "https://files.pythonhosted.org/packages/49/6e/b479032f8a43559c383acb20816644f5f91c88f633d9271ee84f3b3a996c/numpy-2.3.3-cp312-cp312-win_arm64.whl", hash = "sha256:ca0309a18d4dfea6fc6262a66d06c26cfe4640c3926ceec90e57791a82b6eee5", size = 10195936, upload-time = "2025-09-09T15:56:56.541Z" }, + { url = "https://files.pythonhosted.org/packages/7d/b9/984c2b1ee61a8b803bf63582b4ac4242cf76e2dbd663efeafcb620cc0ccb/numpy-2.3.3-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:f5415fb78995644253370985342cd03572ef8620b934da27d77377a2285955bf", size = 20949588, upload-time = "2025-09-09T15:56:59.087Z" }, + { url = "https://files.pythonhosted.org/packages/a6/e4/07970e3bed0b1384d22af1e9912527ecbeb47d3b26e9b6a3bced068b3bea/numpy-2.3.3-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:d00de139a3324e26ed5b95870ce63be7ec7352171bc69a4cf1f157a48e3eb6b7", size = 14177802, upload-time = "2025-09-09T15:57:01.73Z" }, + { url = "https://files.pythonhosted.org/packages/35/c7/477a83887f9de61f1203bad89cf208b7c19cc9fef0cebef65d5a1a0619f2/numpy-2.3.3-cp313-cp313-macosx_14_0_arm64.whl", hash = "sha256:9dc13c6a5829610cc07422bc74d3ac083bd8323f14e2827d992f9e52e22cd6a6", size = 5106537, upload-time = "2025-09-09T15:57:03.765Z" }, + { url = "https://files.pythonhosted.org/packages/52/47/93b953bd5866a6f6986344d045a207d3f1cfbad99db29f534ea9cee5108c/numpy-2.3.3-cp313-cp313-macosx_14_0_x86_64.whl", hash = "sha256:d79715d95f1894771eb4e60fb23f065663b2298f7d22945d66877aadf33d00c7", size = 6640743, upload-time = "2025-09-09T15:57:07.921Z" }, + { url = "https://files.pythonhosted.org/packages/23/83/377f84aaeb800b64c0ef4de58b08769e782edcefa4fea712910b6f0afd3c/numpy-2.3.3-cp313-cp313-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:952cfd0748514ea7c3afc729a0fc639e61655ce4c55ab9acfab14bda4f402b4c", size = 14278881, upload-time = "2025-09-09T15:57:11.349Z" }, + { url = "https://files.pythonhosted.org/packages/9a/a5/bf3db6e66c4b160d6ea10b534c381a1955dfab34cb1017ea93aa33c70ed3/numpy-2.3.3-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:5b83648633d46f77039c29078751f80da65aa64d5622a3cd62aaef9d835b6c93", size = 16636301, upload-time = "2025-09-09T15:57:14.245Z" }, + { url = "https://files.pythonhosted.org/packages/a2/59/1287924242eb4fa3f9b3a2c30400f2e17eb2707020d1c5e3086fe7330717/numpy-2.3.3-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:b001bae8cea1c7dfdb2ae2b017ed0a6f2102d7a70059df1e338e307a4c78a8ae", size = 16053645, upload-time = "2025-09-09T15:57:16.534Z" }, + { url = "https://files.pythonhosted.org/packages/e6/93/b3d47ed882027c35e94ac2320c37e452a549f582a5e801f2d34b56973c97/numpy-2.3.3-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:8e9aced64054739037d42fb84c54dd38b81ee238816c948c8f3ed134665dcd86", size = 18578179, upload-time = "2025-09-09T15:57:18.883Z" }, + { url = "https://files.pythonhosted.org/packages/20/d9/487a2bccbf7cc9d4bfc5f0f197761a5ef27ba870f1e3bbb9afc4bbe3fcc2/numpy-2.3.3-cp313-cp313-win32.whl", hash = "sha256:9591e1221db3f37751e6442850429b3aabf7026d3b05542d102944ca7f00c8a8", size = 6312250, upload-time = "2025-09-09T15:57:21.296Z" }, + { url = "https://files.pythonhosted.org/packages/1b/b5/263ebbbbcede85028f30047eab3d58028d7ebe389d6493fc95ae66c636ab/numpy-2.3.3-cp313-cp313-win_amd64.whl", hash = "sha256:f0dadeb302887f07431910f67a14d57209ed91130be0adea2f9793f1a4f817cf", size = 12783269, upload-time = "2025-09-09T15:57:23.034Z" }, + { url = "https://files.pythonhosted.org/packages/fa/75/67b8ca554bbeaaeb3fac2e8bce46967a5a06544c9108ec0cf5cece559b6c/numpy-2.3.3-cp313-cp313-win_arm64.whl", hash = "sha256:3c7cf302ac6e0b76a64c4aecf1a09e51abd9b01fc7feee80f6c43e3ab1b1dbc5", size = 10195314, upload-time = "2025-09-09T15:57:25.045Z" }, + { url = "https://files.pythonhosted.org/packages/11/d0/0d1ddec56b162042ddfafeeb293bac672de9b0cfd688383590090963720a/numpy-2.3.3-cp313-cp313t-macosx_10_13_x86_64.whl", hash = "sha256:eda59e44957d272846bb407aad19f89dc6f58fecf3504bd144f4c5cf81a7eacc", size = 21048025, upload-time = "2025-09-09T15:57:27.257Z" }, + { url = "https://files.pythonhosted.org/packages/36/9e/1996ca6b6d00415b6acbdd3c42f7f03ea256e2c3f158f80bd7436a8a19f3/numpy-2.3.3-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:823d04112bc85ef5c4fda73ba24e6096c8f869931405a80aa8b0e604510a26bc", size = 14301053, upload-time = "2025-09-09T15:57:30.077Z" }, + { url = "https://files.pythonhosted.org/packages/05/24/43da09aa764c68694b76e84b3d3f0c44cb7c18cdc1ba80e48b0ac1d2cd39/numpy-2.3.3-cp313-cp313t-macosx_14_0_arm64.whl", hash = "sha256:40051003e03db4041aa325da2a0971ba41cf65714e65d296397cc0e32de6018b", size = 5229444, upload-time = "2025-09-09T15:57:32.733Z" }, + { url = "https://files.pythonhosted.org/packages/bc/14/50ffb0f22f7218ef8af28dd089f79f68289a7a05a208db9a2c5dcbe123c1/numpy-2.3.3-cp313-cp313t-macosx_14_0_x86_64.whl", hash = "sha256:6ee9086235dd6ab7ae75aba5662f582a81ced49f0f1c6de4260a78d8f2d91a19", size = 6738039, upload-time = "2025-09-09T15:57:34.328Z" }, + { url = "https://files.pythonhosted.org/packages/55/52/af46ac0795e09657d45a7f4db961917314377edecf66db0e39fa7ab5c3d3/numpy-2.3.3-cp313-cp313t-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:94fcaa68757c3e2e668ddadeaa86ab05499a70725811e582b6a9858dd472fb30", size = 14352314, upload-time = "2025-09-09T15:57:36.255Z" }, + { url = "https://files.pythonhosted.org/packages/a7/b1/dc226b4c90eb9f07a3fff95c2f0db3268e2e54e5cce97c4ac91518aee71b/numpy-2.3.3-cp313-cp313t-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:da1a74b90e7483d6ce5244053399a614b1d6b7bc30a60d2f570e5071f8959d3e", size = 16701722, upload-time = "2025-09-09T15:57:38.622Z" }, + { url = "https://files.pythonhosted.org/packages/9d/9d/9d8d358f2eb5eced14dba99f110d83b5cd9a4460895230f3b396ad19a323/numpy-2.3.3-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:2990adf06d1ecee3b3dcbb4977dfab6e9f09807598d647f04d385d29e7a3c3d3", size = 16132755, upload-time = "2025-09-09T15:57:41.16Z" }, + { url = "https://files.pythonhosted.org/packages/b6/27/b3922660c45513f9377b3fb42240bec63f203c71416093476ec9aa0719dc/numpy-2.3.3-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:ed635ff692483b8e3f0fcaa8e7eb8a75ee71aa6d975388224f70821421800cea", size = 18651560, upload-time = "2025-09-09T15:57:43.459Z" }, + { url = "https://files.pythonhosted.org/packages/5b/8e/3ab61a730bdbbc201bb245a71102aa609f0008b9ed15255500a99cd7f780/numpy-2.3.3-cp313-cp313t-win32.whl", hash = "sha256:a333b4ed33d8dc2b373cc955ca57babc00cd6f9009991d9edc5ddbc1bac36bcd", size = 6442776, upload-time = "2025-09-09T15:57:45.793Z" }, + { url = "https://files.pythonhosted.org/packages/1c/3a/e22b766b11f6030dc2decdeff5c2fb1610768055603f9f3be88b6d192fb2/numpy-2.3.3-cp313-cp313t-win_amd64.whl", hash = "sha256:4384a169c4d8f97195980815d6fcad04933a7e1ab3b530921c3fef7a1c63426d", size = 12927281, upload-time = "2025-09-09T15:57:47.492Z" }, + { url = "https://files.pythonhosted.org/packages/7b/42/c2e2bc48c5e9b2a83423f99733950fbefd86f165b468a3d85d52b30bf782/numpy-2.3.3-cp313-cp313t-win_arm64.whl", hash = "sha256:75370986cc0bc66f4ce5110ad35aae6d182cc4ce6433c40ad151f53690130bf1", size = 10265275, upload-time = "2025-09-09T15:57:49.647Z" }, ] [[package]] @@ -362,9 +362,9 @@ source = { registry = "https://pypi.org/simple" } dependencies = [ { name = "numpy" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/c9/e3/1a29f174c1e09a2bf111d37a41afceea1b501371abb39e73170ca31a7599/numpy_typing_compat-20250818.2.3.tar.gz", hash = "sha256:72e83d535b635d668ba7315e43ae80be1469a6faea6fc96d312516f39b3d8fa5", size = 4974 } +sdist = { url = "https://files.pythonhosted.org/packages/c9/e3/1a29f174c1e09a2bf111d37a41afceea1b501371abb39e73170ca31a7599/numpy_typing_compat-20250818.2.3.tar.gz", hash = "sha256:72e83d535b635d668ba7315e43ae80be1469a6faea6fc96d312516f39b3d8fa5", size = 4974, upload-time = "2025-08-18T23:46:42.968Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/c9/4a/fa4c90a03d6a8ee1a7f0e0fb101887d9a8cdb9b07a5901af9ae831e9feea/numpy_typing_compat-20250818.2.3-py3-none-any.whl", hash = "sha256:930413d34dd9083c0bf418815576222f1c66ea2d68950f447fd27ea1a78b26b0", size = 6286 }, + { url = "https://files.pythonhosted.org/packages/c9/4a/fa4c90a03d6a8ee1a7f0e0fb101887d9a8cdb9b07a5901af9ae831e9feea/numpy_typing_compat-20250818.2.3-py3-none-any.whl", hash = "sha256:930413d34dd9083c0bf418815576222f1c66ea2d68950f447fd27ea1a78b26b0", size = 6286, upload-time = "2025-08-18T23:46:35.681Z" }, ] [[package]] @@ -374,9 +374,9 @@ source = { registry = "https://pypi.org/simple" } dependencies = [ { name = "typing-extensions", marker = "python_full_version < '3.13'" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/20/7f/daa32a35b2a6a564a79723da49c0ddc464c462e67a906fc2b66a0d64f28e/optype-0.13.4.tar.gz", hash = "sha256:131d8e0f1c12d8095d553e26b54598597133830983233a6a2208886e7a388432", size = 99547 } +sdist = { url = "https://files.pythonhosted.org/packages/20/7f/daa32a35b2a6a564a79723da49c0ddc464c462e67a906fc2b66a0d64f28e/optype-0.13.4.tar.gz", hash = "sha256:131d8e0f1c12d8095d553e26b54598597133830983233a6a2208886e7a388432", size = 99547, upload-time = "2025-08-19T19:52:44.242Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/37/bb/b51940f2d91071325d5ae2044562aa698470a105474d9317b9dbdaad63df/optype-0.13.4-py3-none-any.whl", hash = "sha256:500c89cfac82e2f9448a54ce0a5d5c415b6976b039c2494403cd6395bd531979", size = 87919 }, + { url = "https://files.pythonhosted.org/packages/37/bb/b51940f2d91071325d5ae2044562aa698470a105474d9317b9dbdaad63df/optype-0.13.4-py3-none-any.whl", hash = "sha256:500c89cfac82e2f9448a54ce0a5d5c415b6976b039c2494403cd6395bd531979", size = 87919, upload-time = "2025-08-19T19:52:41.314Z" }, ] [package.optional-dependencies] @@ -389,9 +389,9 @@ numpy = [ 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 } +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 }, + { 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]] @@ -404,37 +404,50 @@ dependencies = [ { name = "pytz" }, { name = "tzdata" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/79/8e/0e90233ac205ad182bd6b422532695d2b9414944a280488105d598c70023/pandas-2.3.2.tar.gz", hash = "sha256:ab7b58f8f82706890924ccdfb5f48002b83d2b5a3845976a9fb705d36c34dcdb", size = 4488684 } -wheels = [ - { url = "https://files.pythonhosted.org/packages/ec/db/614c20fb7a85a14828edd23f1c02db58a30abf3ce76f38806155d160313c/pandas-2.3.2-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:3fbb977f802156e7a3f829e9d1d5398f6192375a3e2d1a9ee0803e35fe70a2b9", size = 11587652 }, - { url = "https://files.pythonhosted.org/packages/99/b0/756e52f6582cade5e746f19bad0517ff27ba9c73404607c0306585c201b3/pandas-2.3.2-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:1b9b52693123dd234b7c985c68b709b0b009f4521000d0525f2b95c22f15944b", size = 10717686 }, - { url = "https://files.pythonhosted.org/packages/37/4c/dd5ccc1e357abfeee8353123282de17997f90ff67855f86154e5a13b81e5/pandas-2.3.2-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:0bd281310d4f412733f319a5bc552f86d62cddc5f51d2e392c8787335c994175", size = 11278722 }, - { url = "https://files.pythonhosted.org/packages/d3/a4/f7edcfa47e0a88cda0be8b068a5bae710bf264f867edfdf7b71584ace362/pandas-2.3.2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:96d31a6b4354e3b9b8a2c848af75d31da390657e3ac6f30c05c82068b9ed79b9", size = 11987803 }, - { url = "https://files.pythonhosted.org/packages/f6/61/1bce4129f93ab66f1c68b7ed1c12bac6a70b1b56c5dab359c6bbcd480b52/pandas-2.3.2-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:df4df0b9d02bb873a106971bb85d448378ef14b86ba96f035f50bbd3688456b4", size = 12766345 }, - { url = "https://files.pythonhosted.org/packages/8e/46/80d53de70fee835531da3a1dae827a1e76e77a43ad22a8cd0f8142b61587/pandas-2.3.2-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:213a5adf93d020b74327cb2c1b842884dbdd37f895f42dcc2f09d451d949f811", size = 13439314 }, - { url = "https://files.pythonhosted.org/packages/28/30/8114832daff7489f179971dbc1d854109b7f4365a546e3ea75b6516cea95/pandas-2.3.2-cp312-cp312-win_amd64.whl", hash = "sha256:8c13b81a9347eb8c7548f53fd9a4f08d4dfe996836543f805c987bafa03317ae", size = 10983326 }, - { url = "https://files.pythonhosted.org/packages/27/64/a2f7bf678af502e16b472527735d168b22b7824e45a4d7e96a4fbb634b59/pandas-2.3.2-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:0c6ecbac99a354a051ef21c5307601093cb9e0f4b1855984a084bfec9302699e", size = 11531061 }, - { url = "https://files.pythonhosted.org/packages/54/4c/c3d21b2b7769ef2f4c2b9299fcadd601efa6729f1357a8dbce8dd949ed70/pandas-2.3.2-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:c6f048aa0fd080d6a06cc7e7537c09b53be6642d330ac6f54a600c3ace857ee9", size = 10668666 }, - { url = "https://files.pythonhosted.org/packages/50/e2/f775ba76ecfb3424d7f5862620841cf0edb592e9abd2d2a5387d305fe7a8/pandas-2.3.2-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:0064187b80a5be6f2f9c9d6bdde29372468751dfa89f4211a3c5871854cfbf7a", size = 11332835 }, - { url = "https://files.pythonhosted.org/packages/8f/52/0634adaace9be2d8cac9ef78f05c47f3a675882e068438b9d7ec7ef0c13f/pandas-2.3.2-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:4ac8c320bded4718b298281339c1a50fb00a6ba78cb2a63521c39bec95b0209b", size = 12057211 }, - { url = "https://files.pythonhosted.org/packages/0b/9d/2df913f14b2deb9c748975fdb2491da1a78773debb25abbc7cbc67c6b549/pandas-2.3.2-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:114c2fe4f4328cf98ce5716d1532f3ab79c5919f95a9cfee81d9140064a2e4d6", size = 12749277 }, - { url = "https://files.pythonhosted.org/packages/87/af/da1a2417026bd14d98c236dba88e39837182459d29dcfcea510b2ac9e8a1/pandas-2.3.2-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:48fa91c4dfb3b2b9bfdb5c24cd3567575f4e13f9636810462ffed8925352be5a", size = 13415256 }, - { url = "https://files.pythonhosted.org/packages/22/3c/f2af1ce8840ef648584a6156489636b5692c162771918aa95707c165ad2b/pandas-2.3.2-cp313-cp313-win_amd64.whl", hash = "sha256:12d039facec710f7ba305786837d0225a3444af7bbd9c15c32ca2d40d157ed8b", size = 10982579 }, - { url = "https://files.pythonhosted.org/packages/f3/98/8df69c4097a6719e357dc249bf437b8efbde808038268e584421696cbddf/pandas-2.3.2-cp313-cp313t-macosx_10_13_x86_64.whl", hash = "sha256:c624b615ce97864eb588779ed4046186f967374185c047070545253a52ab2d57", size = 12028163 }, - { url = "https://files.pythonhosted.org/packages/0e/23/f95cbcbea319f349e10ff90db488b905c6883f03cbabd34f6b03cbc3c044/pandas-2.3.2-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:0cee69d583b9b128823d9514171cabb6861e09409af805b54459bd0c821a35c2", size = 11391860 }, - { url = "https://files.pythonhosted.org/packages/ad/1b/6a984e98c4abee22058aa75bfb8eb90dce58cf8d7296f8bc56c14bc330b0/pandas-2.3.2-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:2319656ed81124982900b4c37f0e0c58c015af9a7bbc62342ba5ad07ace82ba9", size = 11309830 }, - { url = "https://files.pythonhosted.org/packages/15/d5/f0486090eb18dd8710bf60afeaf638ba6817047c0c8ae5c6a25598665609/pandas-2.3.2-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:b37205ad6f00d52f16b6d09f406434ba928c1a1966e2771006a9033c736d30d2", size = 11883216 }, - { url = "https://files.pythonhosted.org/packages/10/86/692050c119696da19e20245bbd650d8dfca6ceb577da027c3a73c62a047e/pandas-2.3.2-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:837248b4fc3a9b83b9c6214699a13f069dc13510a6a6d7f9ba33145d2841a012", size = 12699743 }, - { url = "https://files.pythonhosted.org/packages/cd/d7/612123674d7b17cf345aad0a10289b2a384bff404e0463a83c4a3a59d205/pandas-2.3.2-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:d2c3554bd31b731cd6490d94a28f3abb8dd770634a9e06eb6d2911b9827db370", size = 13186141 }, +sdist = { url = "https://files.pythonhosted.org/packages/79/8e/0e90233ac205ad182bd6b422532695d2b9414944a280488105d598c70023/pandas-2.3.2.tar.gz", hash = "sha256:ab7b58f8f82706890924ccdfb5f48002b83d2b5a3845976a9fb705d36c34dcdb", size = 4488684, upload-time = "2025-08-21T10:28:29.257Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/ec/db/614c20fb7a85a14828edd23f1c02db58a30abf3ce76f38806155d160313c/pandas-2.3.2-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:3fbb977f802156e7a3f829e9d1d5398f6192375a3e2d1a9ee0803e35fe70a2b9", size = 11587652, upload-time = "2025-08-21T10:27:15.888Z" }, + { url = "https://files.pythonhosted.org/packages/99/b0/756e52f6582cade5e746f19bad0517ff27ba9c73404607c0306585c201b3/pandas-2.3.2-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:1b9b52693123dd234b7c985c68b709b0b009f4521000d0525f2b95c22f15944b", size = 10717686, upload-time = "2025-08-21T10:27:18.486Z" }, + { url = "https://files.pythonhosted.org/packages/37/4c/dd5ccc1e357abfeee8353123282de17997f90ff67855f86154e5a13b81e5/pandas-2.3.2-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:0bd281310d4f412733f319a5bc552f86d62cddc5f51d2e392c8787335c994175", size = 11278722, upload-time = "2025-08-21T10:27:21.149Z" }, + { url = "https://files.pythonhosted.org/packages/d3/a4/f7edcfa47e0a88cda0be8b068a5bae710bf264f867edfdf7b71584ace362/pandas-2.3.2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:96d31a6b4354e3b9b8a2c848af75d31da390657e3ac6f30c05c82068b9ed79b9", size = 11987803, upload-time = "2025-08-21T10:27:23.767Z" }, + { url = "https://files.pythonhosted.org/packages/f6/61/1bce4129f93ab66f1c68b7ed1c12bac6a70b1b56c5dab359c6bbcd480b52/pandas-2.3.2-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:df4df0b9d02bb873a106971bb85d448378ef14b86ba96f035f50bbd3688456b4", size = 12766345, upload-time = "2025-08-21T10:27:26.6Z" }, + { url = "https://files.pythonhosted.org/packages/8e/46/80d53de70fee835531da3a1dae827a1e76e77a43ad22a8cd0f8142b61587/pandas-2.3.2-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:213a5adf93d020b74327cb2c1b842884dbdd37f895f42dcc2f09d451d949f811", size = 13439314, upload-time = "2025-08-21T10:27:29.213Z" }, + { url = "https://files.pythonhosted.org/packages/28/30/8114832daff7489f179971dbc1d854109b7f4365a546e3ea75b6516cea95/pandas-2.3.2-cp312-cp312-win_amd64.whl", hash = "sha256:8c13b81a9347eb8c7548f53fd9a4f08d4dfe996836543f805c987bafa03317ae", size = 10983326, upload-time = "2025-08-21T10:27:31.901Z" }, + { url = "https://files.pythonhosted.org/packages/27/64/a2f7bf678af502e16b472527735d168b22b7824e45a4d7e96a4fbb634b59/pandas-2.3.2-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:0c6ecbac99a354a051ef21c5307601093cb9e0f4b1855984a084bfec9302699e", size = 11531061, upload-time = "2025-08-21T10:27:34.647Z" }, + { url = "https://files.pythonhosted.org/packages/54/4c/c3d21b2b7769ef2f4c2b9299fcadd601efa6729f1357a8dbce8dd949ed70/pandas-2.3.2-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:c6f048aa0fd080d6a06cc7e7537c09b53be6642d330ac6f54a600c3ace857ee9", size = 10668666, upload-time = "2025-08-21T10:27:37.203Z" }, + { url = "https://files.pythonhosted.org/packages/50/e2/f775ba76ecfb3424d7f5862620841cf0edb592e9abd2d2a5387d305fe7a8/pandas-2.3.2-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:0064187b80a5be6f2f9c9d6bdde29372468751dfa89f4211a3c5871854cfbf7a", size = 11332835, upload-time = "2025-08-21T10:27:40.188Z" }, + { url = "https://files.pythonhosted.org/packages/8f/52/0634adaace9be2d8cac9ef78f05c47f3a675882e068438b9d7ec7ef0c13f/pandas-2.3.2-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:4ac8c320bded4718b298281339c1a50fb00a6ba78cb2a63521c39bec95b0209b", size = 12057211, upload-time = "2025-08-21T10:27:43.117Z" }, + { url = "https://files.pythonhosted.org/packages/0b/9d/2df913f14b2deb9c748975fdb2491da1a78773debb25abbc7cbc67c6b549/pandas-2.3.2-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:114c2fe4f4328cf98ce5716d1532f3ab79c5919f95a9cfee81d9140064a2e4d6", size = 12749277, upload-time = "2025-08-21T10:27:45.474Z" }, + { url = "https://files.pythonhosted.org/packages/87/af/da1a2417026bd14d98c236dba88e39837182459d29dcfcea510b2ac9e8a1/pandas-2.3.2-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:48fa91c4dfb3b2b9bfdb5c24cd3567575f4e13f9636810462ffed8925352be5a", size = 13415256, upload-time = "2025-08-21T10:27:49.885Z" }, + { url = "https://files.pythonhosted.org/packages/22/3c/f2af1ce8840ef648584a6156489636b5692c162771918aa95707c165ad2b/pandas-2.3.2-cp313-cp313-win_amd64.whl", hash = "sha256:12d039facec710f7ba305786837d0225a3444af7bbd9c15c32ca2d40d157ed8b", size = 10982579, upload-time = "2025-08-21T10:28:08.435Z" }, + { url = "https://files.pythonhosted.org/packages/f3/98/8df69c4097a6719e357dc249bf437b8efbde808038268e584421696cbddf/pandas-2.3.2-cp313-cp313t-macosx_10_13_x86_64.whl", hash = "sha256:c624b615ce97864eb588779ed4046186f967374185c047070545253a52ab2d57", size = 12028163, upload-time = "2025-08-21T10:27:52.232Z" }, + { url = "https://files.pythonhosted.org/packages/0e/23/f95cbcbea319f349e10ff90db488b905c6883f03cbabd34f6b03cbc3c044/pandas-2.3.2-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:0cee69d583b9b128823d9514171cabb6861e09409af805b54459bd0c821a35c2", size = 11391860, upload-time = "2025-08-21T10:27:54.673Z" }, + { url = "https://files.pythonhosted.org/packages/ad/1b/6a984e98c4abee22058aa75bfb8eb90dce58cf8d7296f8bc56c14bc330b0/pandas-2.3.2-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:2319656ed81124982900b4c37f0e0c58c015af9a7bbc62342ba5ad07ace82ba9", size = 11309830, upload-time = "2025-08-21T10:27:56.957Z" }, + { url = "https://files.pythonhosted.org/packages/15/d5/f0486090eb18dd8710bf60afeaf638ba6817047c0c8ae5c6a25598665609/pandas-2.3.2-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:b37205ad6f00d52f16b6d09f406434ba928c1a1966e2771006a9033c736d30d2", size = 11883216, upload-time = "2025-08-21T10:27:59.302Z" }, + { url = "https://files.pythonhosted.org/packages/10/86/692050c119696da19e20245bbd650d8dfca6ceb577da027c3a73c62a047e/pandas-2.3.2-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:837248b4fc3a9b83b9c6214699a13f069dc13510a6a6d7f9ba33145d2841a012", size = 12699743, upload-time = "2025-08-21T10:28:02.447Z" }, + { url = "https://files.pythonhosted.org/packages/cd/d7/612123674d7b17cf345aad0a10289b2a384bff404e0463a83c4a3a59d205/pandas-2.3.2-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:d2c3554bd31b731cd6490d94a28f3abb8dd770634a9e06eb6d2911b9827db370", size = 13186141, upload-time = "2025-08-21T10:28:05.377Z" }, +] + +[[package]] +name = "pandas-stubs" +version = "2.3.3.260113" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "numpy" }, + { name = "types-pytz" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/92/5d/be23854a73fda69f1dbdda7bc10fbd6f930bd1fa87aaec389f00c901c1e8/pandas_stubs-2.3.3.260113.tar.gz", hash = "sha256:076e3724bcaa73de78932b012ec64b3010463d377fa63116f4e6850643d93800", size = 116131, upload-time = "2026-01-13T22:30:16.704Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/d1/c6/df1fe324248424f77b89371116dab5243db7f052c32cc9fe7442ad9c5f75/pandas_stubs-2.3.3.260113-py3-none-any.whl", hash = "sha256:ec070b5c576e1badf12544ae50385872f0631fc35d99d00dc598c2954ec564d3", size = 168246, upload-time = "2026-01-13T22:30:15.244Z" }, ] [[package]] name = "pathspec" version = "0.12.1" source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/ca/bc/f35b8446f4531a7cb215605d100cd88b7ac6f44ab3fc94870c120ab3adbf/pathspec-0.12.1.tar.gz", hash = "sha256:a482d51503a1ab33b1c67a6c3813a26953dbdc71c31dacaef9a838c4e29f5712", size = 51043 } +sdist = { url = "https://files.pythonhosted.org/packages/ca/bc/f35b8446f4531a7cb215605d100cd88b7ac6f44ab3fc94870c120ab3adbf/pathspec-0.12.1.tar.gz", hash = "sha256:a482d51503a1ab33b1c67a6c3813a26953dbdc71c31dacaef9a838c4e29f5712", size = 51043, upload-time = "2023-12-10T22:30:45Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/cc/20/ff623b09d963f88bfde16306a54e12ee5ea43e9b597108672ff3a408aad6/pathspec-0.12.1-py3-none-any.whl", hash = "sha256:a0d503e138a4c123b27490a4f7beda6a01c6f288df0e4a8b79c7eb0dc7b4cc08", size = 31191 }, + { url = "https://files.pythonhosted.org/packages/cc/20/ff623b09d963f88bfde16306a54e12ee5ea43e9b597108672ff3a408aad6/pathspec-0.12.1-py3-none-any.whl", hash = "sha256:a0d503e138a4c123b27490a4f7beda6a01c6f288df0e4a8b79c7eb0dc7b4cc08", size = 31191, upload-time = "2023-12-10T22:30:43.14Z" }, ] [[package]] @@ -445,6 +458,7 @@ dependencies = [ { name = "altair" }, { name = "numpy" }, { name = "pandas" }, + { name = "pandas-stubs" }, { name = "pyarrow" }, { name = "python-dateutil" }, { name = "scipy" }, @@ -465,6 +479,7 @@ requires-dist = [ { name = "altair", specifier = ">=5.5.0" }, { name = "numpy", specifier = ">=2.3.3" }, { name = "pandas", specifier = ">=2.3.2" }, + { name = "pandas-stubs", specifier = "~=2.3.2" }, { name = "pyarrow", specifier = ">=21.0.0,<22.0.0" }, { name = "python-dateutil", specifier = ">=2.9.0.post0" }, { name = "scipy", specifier = ">=1.16.2" }, @@ -484,62 +499,62 @@ dev = [ name = "pillow" version = "11.3.0" source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/f3/0d/d0d6dea55cd152ce3d6767bb38a8fc10e33796ba4ba210cbab9354b6d238/pillow-11.3.0.tar.gz", hash = "sha256:3828ee7586cd0b2091b6209e5ad53e20d0649bbe87164a459d0676e035e8f523", size = 47113069 } -wheels = [ - { url = "https://files.pythonhosted.org/packages/40/fe/1bc9b3ee13f68487a99ac9529968035cca2f0a51ec36892060edcc51d06a/pillow-11.3.0-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:fdae223722da47b024b867c1ea0be64e0df702c5e0a60e27daad39bf960dd1e4", size = 5278800 }, - { url = "https://files.pythonhosted.org/packages/2c/32/7e2ac19b5713657384cec55f89065fb306b06af008cfd87e572035b27119/pillow-11.3.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:921bd305b10e82b4d1f5e802b6850677f965d8394203d182f078873851dada69", size = 4686296 }, - { url = "https://files.pythonhosted.org/packages/8e/1e/b9e12bbe6e4c2220effebc09ea0923a07a6da1e1f1bfbc8d7d29a01ce32b/pillow-11.3.0-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:eb76541cba2f958032d79d143b98a3a6b3ea87f0959bbe256c0b5e416599fd5d", size = 5871726 }, - { url = "https://files.pythonhosted.org/packages/8d/33/e9200d2bd7ba00dc3ddb78df1198a6e80d7669cce6c2bdbeb2530a74ec58/pillow-11.3.0-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:67172f2944ebba3d4a7b54f2e95c786a3a50c21b88456329314caaa28cda70f6", size = 7644652 }, - { url = "https://files.pythonhosted.org/packages/41/f1/6f2427a26fc683e00d985bc391bdd76d8dd4e92fac33d841127eb8fb2313/pillow-11.3.0-cp312-cp312-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:97f07ed9f56a3b9b5f49d3661dc9607484e85c67e27f3e8be2c7d28ca032fec7", size = 5977787 }, - { url = "https://files.pythonhosted.org/packages/e4/c9/06dd4a38974e24f932ff5f98ea3c546ce3f8c995d3f0985f8e5ba48bba19/pillow-11.3.0-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:676b2815362456b5b3216b4fd5bd89d362100dc6f4945154ff172e206a22c024", size = 6645236 }, - { url = "https://files.pythonhosted.org/packages/40/e7/848f69fb79843b3d91241bad658e9c14f39a32f71a301bcd1d139416d1be/pillow-11.3.0-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:3e184b2f26ff146363dd07bde8b711833d7b0202e27d13540bfe2e35a323a809", size = 6086950 }, - { url = "https://files.pythonhosted.org/packages/0b/1a/7cff92e695a2a29ac1958c2a0fe4c0b2393b60aac13b04a4fe2735cad52d/pillow-11.3.0-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:6be31e3fc9a621e071bc17bb7de63b85cbe0bfae91bb0363c893cbe67247780d", size = 6723358 }, - { url = "https://files.pythonhosted.org/packages/26/7d/73699ad77895f69edff76b0f332acc3d497f22f5d75e5360f78cbcaff248/pillow-11.3.0-cp312-cp312-win32.whl", hash = "sha256:7b161756381f0918e05e7cb8a371fff367e807770f8fe92ecb20d905d0e1c149", size = 6275079 }, - { url = "https://files.pythonhosted.org/packages/8c/ce/e7dfc873bdd9828f3b6e5c2bbb74e47a98ec23cc5c74fc4e54462f0d9204/pillow-11.3.0-cp312-cp312-win_amd64.whl", hash = "sha256:a6444696fce635783440b7f7a9fc24b3ad10a9ea3f0ab66c5905be1c19ccf17d", size = 6986324 }, - { url = "https://files.pythonhosted.org/packages/16/8f/b13447d1bf0b1f7467ce7d86f6e6edf66c0ad7cf44cf5c87a37f9bed9936/pillow-11.3.0-cp312-cp312-win_arm64.whl", hash = "sha256:2aceea54f957dd4448264f9bf40875da0415c83eb85f55069d89c0ed436e3542", size = 2423067 }, - { url = "https://files.pythonhosted.org/packages/1e/93/0952f2ed8db3a5a4c7a11f91965d6184ebc8cd7cbb7941a260d5f018cd2d/pillow-11.3.0-cp313-cp313-ios_13_0_arm64_iphoneos.whl", hash = "sha256:1c627742b539bba4309df89171356fcb3cc5a9178355b2727d1b74a6cf155fbd", size = 2128328 }, - { url = "https://files.pythonhosted.org/packages/4b/e8/100c3d114b1a0bf4042f27e0f87d2f25e857e838034e98ca98fe7b8c0a9c/pillow-11.3.0-cp313-cp313-ios_13_0_arm64_iphonesimulator.whl", hash = "sha256:30b7c02f3899d10f13d7a48163c8969e4e653f8b43416d23d13d1bbfdc93b9f8", size = 2170652 }, - { url = "https://files.pythonhosted.org/packages/aa/86/3f758a28a6e381758545f7cdb4942e1cb79abd271bea932998fc0db93cb6/pillow-11.3.0-cp313-cp313-ios_13_0_x86_64_iphonesimulator.whl", hash = "sha256:7859a4cc7c9295f5838015d8cc0a9c215b77e43d07a25e460f35cf516df8626f", size = 2227443 }, - { url = "https://files.pythonhosted.org/packages/01/f4/91d5b3ffa718df2f53b0dc109877993e511f4fd055d7e9508682e8aba092/pillow-11.3.0-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:ec1ee50470b0d050984394423d96325b744d55c701a439d2bd66089bff963d3c", size = 5278474 }, - { url = "https://files.pythonhosted.org/packages/f9/0e/37d7d3eca6c879fbd9dba21268427dffda1ab00d4eb05b32923d4fbe3b12/pillow-11.3.0-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:7db51d222548ccfd274e4572fdbf3e810a5e66b00608862f947b163e613b67dd", size = 4686038 }, - { url = "https://files.pythonhosted.org/packages/ff/b0/3426e5c7f6565e752d81221af9d3676fdbb4f352317ceafd42899aaf5d8a/pillow-11.3.0-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:2d6fcc902a24ac74495df63faad1884282239265c6839a0a6416d33faedfae7e", size = 5864407 }, - { url = "https://files.pythonhosted.org/packages/fc/c1/c6c423134229f2a221ee53f838d4be9d82bab86f7e2f8e75e47b6bf6cd77/pillow-11.3.0-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:f0f5d8f4a08090c6d6d578351a2b91acf519a54986c055af27e7a93feae6d3f1", size = 7639094 }, - { url = "https://files.pythonhosted.org/packages/ba/c9/09e6746630fe6372c67c648ff9deae52a2bc20897d51fa293571977ceb5d/pillow-11.3.0-cp313-cp313-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:c37d8ba9411d6003bba9e518db0db0c58a680ab9fe5179f040b0463644bc9805", size = 5973503 }, - { url = "https://files.pythonhosted.org/packages/d5/1c/a2a29649c0b1983d3ef57ee87a66487fdeb45132df66ab30dd37f7dbe162/pillow-11.3.0-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:13f87d581e71d9189ab21fe0efb5a23e9f28552d5be6979e84001d3b8505abe8", size = 6642574 }, - { url = "https://files.pythonhosted.org/packages/36/de/d5cc31cc4b055b6c6fd990e3e7f0f8aaf36229a2698501bcb0cdf67c7146/pillow-11.3.0-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:023f6d2d11784a465f09fd09a34b150ea4672e85fb3d05931d89f373ab14abb2", size = 6084060 }, - { url = "https://files.pythonhosted.org/packages/d5/ea/502d938cbaeec836ac28a9b730193716f0114c41325db428e6b280513f09/pillow-11.3.0-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:45dfc51ac5975b938e9809451c51734124e73b04d0f0ac621649821a63852e7b", size = 6721407 }, - { url = "https://files.pythonhosted.org/packages/45/9c/9c5e2a73f125f6cbc59cc7087c8f2d649a7ae453f83bd0362ff7c9e2aee2/pillow-11.3.0-cp313-cp313-win32.whl", hash = "sha256:a4d336baed65d50d37b88ca5b60c0fa9d81e3a87d4a7930d3880d1624d5b31f3", size = 6273841 }, - { url = "https://files.pythonhosted.org/packages/23/85/397c73524e0cd212067e0c969aa245b01d50183439550d24d9f55781b776/pillow-11.3.0-cp313-cp313-win_amd64.whl", hash = "sha256:0bce5c4fd0921f99d2e858dc4d4d64193407e1b99478bc5cacecba2311abde51", size = 6978450 }, - { url = "https://files.pythonhosted.org/packages/17/d2/622f4547f69cd173955194b78e4d19ca4935a1b0f03a302d655c9f6aae65/pillow-11.3.0-cp313-cp313-win_arm64.whl", hash = "sha256:1904e1264881f682f02b7f8167935cce37bc97db457f8e7849dc3a6a52b99580", size = 2423055 }, - { url = "https://files.pythonhosted.org/packages/dd/80/a8a2ac21dda2e82480852978416cfacd439a4b490a501a288ecf4fe2532d/pillow-11.3.0-cp313-cp313t-macosx_10_13_x86_64.whl", hash = "sha256:4c834a3921375c48ee6b9624061076bc0a32a60b5532b322cc0ea64e639dd50e", size = 5281110 }, - { url = "https://files.pythonhosted.org/packages/44/d6/b79754ca790f315918732e18f82a8146d33bcd7f4494380457ea89eb883d/pillow-11.3.0-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:5e05688ccef30ea69b9317a9ead994b93975104a677a36a8ed8106be9260aa6d", size = 4689547 }, - { url = "https://files.pythonhosted.org/packages/49/20/716b8717d331150cb00f7fdd78169c01e8e0c219732a78b0e59b6bdb2fd6/pillow-11.3.0-cp313-cp313t-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:1019b04af07fc0163e2810167918cb5add8d74674b6267616021ab558dc98ced", size = 5901554 }, - { url = "https://files.pythonhosted.org/packages/74/cf/a9f3a2514a65bb071075063a96f0a5cf949c2f2fce683c15ccc83b1c1cab/pillow-11.3.0-cp313-cp313t-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:f944255db153ebb2b19c51fe85dd99ef0ce494123f21b9db4877ffdfc5590c7c", size = 7669132 }, - { url = "https://files.pythonhosted.org/packages/98/3c/da78805cbdbee9cb43efe8261dd7cc0b4b93f2ac79b676c03159e9db2187/pillow-11.3.0-cp313-cp313t-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:1f85acb69adf2aaee8b7da124efebbdb959a104db34d3a2cb0f3793dbae422a8", size = 6005001 }, - { url = "https://files.pythonhosted.org/packages/6c/fa/ce044b91faecf30e635321351bba32bab5a7e034c60187fe9698191aef4f/pillow-11.3.0-cp313-cp313t-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:05f6ecbeff5005399bb48d198f098a9b4b6bdf27b8487c7f38ca16eeb070cd59", size = 6668814 }, - { url = "https://files.pythonhosted.org/packages/7b/51/90f9291406d09bf93686434f9183aba27b831c10c87746ff49f127ee80cb/pillow-11.3.0-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:a7bc6e6fd0395bc052f16b1a8670859964dbd7003bd0af2ff08342eb6e442cfe", size = 6113124 }, - { url = "https://files.pythonhosted.org/packages/cd/5a/6fec59b1dfb619234f7636d4157d11fb4e196caeee220232a8d2ec48488d/pillow-11.3.0-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:83e1b0161c9d148125083a35c1c5a89db5b7054834fd4387499e06552035236c", size = 6747186 }, - { url = "https://files.pythonhosted.org/packages/49/6b/00187a044f98255225f172de653941e61da37104a9ea60e4f6887717e2b5/pillow-11.3.0-cp313-cp313t-win32.whl", hash = "sha256:2a3117c06b8fb646639dce83694f2f9eac405472713fcb1ae887469c0d4f6788", size = 6277546 }, - { url = "https://files.pythonhosted.org/packages/e8/5c/6caaba7e261c0d75bab23be79f1d06b5ad2a2ae49f028ccec801b0e853d6/pillow-11.3.0-cp313-cp313t-win_amd64.whl", hash = "sha256:857844335c95bea93fb39e0fa2726b4d9d758850b34075a7e3ff4f4fa3aa3b31", size = 6985102 }, - { url = "https://files.pythonhosted.org/packages/f3/7e/b623008460c09a0cb38263c93b828c666493caee2eb34ff67f778b87e58c/pillow-11.3.0-cp313-cp313t-win_arm64.whl", hash = "sha256:8797edc41f3e8536ae4b10897ee2f637235c94f27404cac7297f7b607dd0716e", size = 2424803 }, +sdist = { url = "https://files.pythonhosted.org/packages/f3/0d/d0d6dea55cd152ce3d6767bb38a8fc10e33796ba4ba210cbab9354b6d238/pillow-11.3.0.tar.gz", hash = "sha256:3828ee7586cd0b2091b6209e5ad53e20d0649bbe87164a459d0676e035e8f523", size = 47113069, upload-time = "2025-07-01T09:16:30.666Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/40/fe/1bc9b3ee13f68487a99ac9529968035cca2f0a51ec36892060edcc51d06a/pillow-11.3.0-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:fdae223722da47b024b867c1ea0be64e0df702c5e0a60e27daad39bf960dd1e4", size = 5278800, upload-time = "2025-07-01T09:14:17.648Z" }, + { url = "https://files.pythonhosted.org/packages/2c/32/7e2ac19b5713657384cec55f89065fb306b06af008cfd87e572035b27119/pillow-11.3.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:921bd305b10e82b4d1f5e802b6850677f965d8394203d182f078873851dada69", size = 4686296, upload-time = "2025-07-01T09:14:19.828Z" }, + { url = "https://files.pythonhosted.org/packages/8e/1e/b9e12bbe6e4c2220effebc09ea0923a07a6da1e1f1bfbc8d7d29a01ce32b/pillow-11.3.0-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:eb76541cba2f958032d79d143b98a3a6b3ea87f0959bbe256c0b5e416599fd5d", size = 5871726, upload-time = "2025-07-03T13:10:04.448Z" }, + { url = "https://files.pythonhosted.org/packages/8d/33/e9200d2bd7ba00dc3ddb78df1198a6e80d7669cce6c2bdbeb2530a74ec58/pillow-11.3.0-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:67172f2944ebba3d4a7b54f2e95c786a3a50c21b88456329314caaa28cda70f6", size = 7644652, upload-time = "2025-07-03T13:10:10.391Z" }, + { url = "https://files.pythonhosted.org/packages/41/f1/6f2427a26fc683e00d985bc391bdd76d8dd4e92fac33d841127eb8fb2313/pillow-11.3.0-cp312-cp312-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:97f07ed9f56a3b9b5f49d3661dc9607484e85c67e27f3e8be2c7d28ca032fec7", size = 5977787, upload-time = "2025-07-01T09:14:21.63Z" }, + { url = "https://files.pythonhosted.org/packages/e4/c9/06dd4a38974e24f932ff5f98ea3c546ce3f8c995d3f0985f8e5ba48bba19/pillow-11.3.0-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:676b2815362456b5b3216b4fd5bd89d362100dc6f4945154ff172e206a22c024", size = 6645236, upload-time = "2025-07-01T09:14:23.321Z" }, + { url = "https://files.pythonhosted.org/packages/40/e7/848f69fb79843b3d91241bad658e9c14f39a32f71a301bcd1d139416d1be/pillow-11.3.0-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:3e184b2f26ff146363dd07bde8b711833d7b0202e27d13540bfe2e35a323a809", size = 6086950, upload-time = "2025-07-01T09:14:25.237Z" }, + { url = "https://files.pythonhosted.org/packages/0b/1a/7cff92e695a2a29ac1958c2a0fe4c0b2393b60aac13b04a4fe2735cad52d/pillow-11.3.0-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:6be31e3fc9a621e071bc17bb7de63b85cbe0bfae91bb0363c893cbe67247780d", size = 6723358, upload-time = "2025-07-01T09:14:27.053Z" }, + { url = "https://files.pythonhosted.org/packages/26/7d/73699ad77895f69edff76b0f332acc3d497f22f5d75e5360f78cbcaff248/pillow-11.3.0-cp312-cp312-win32.whl", hash = "sha256:7b161756381f0918e05e7cb8a371fff367e807770f8fe92ecb20d905d0e1c149", size = 6275079, upload-time = "2025-07-01T09:14:30.104Z" }, + { url = "https://files.pythonhosted.org/packages/8c/ce/e7dfc873bdd9828f3b6e5c2bbb74e47a98ec23cc5c74fc4e54462f0d9204/pillow-11.3.0-cp312-cp312-win_amd64.whl", hash = "sha256:a6444696fce635783440b7f7a9fc24b3ad10a9ea3f0ab66c5905be1c19ccf17d", size = 6986324, upload-time = "2025-07-01T09:14:31.899Z" }, + { url = "https://files.pythonhosted.org/packages/16/8f/b13447d1bf0b1f7467ce7d86f6e6edf66c0ad7cf44cf5c87a37f9bed9936/pillow-11.3.0-cp312-cp312-win_arm64.whl", hash = "sha256:2aceea54f957dd4448264f9bf40875da0415c83eb85f55069d89c0ed436e3542", size = 2423067, upload-time = "2025-07-01T09:14:33.709Z" }, + { url = "https://files.pythonhosted.org/packages/1e/93/0952f2ed8db3a5a4c7a11f91965d6184ebc8cd7cbb7941a260d5f018cd2d/pillow-11.3.0-cp313-cp313-ios_13_0_arm64_iphoneos.whl", hash = "sha256:1c627742b539bba4309df89171356fcb3cc5a9178355b2727d1b74a6cf155fbd", size = 2128328, upload-time = "2025-07-01T09:14:35.276Z" }, + { url = "https://files.pythonhosted.org/packages/4b/e8/100c3d114b1a0bf4042f27e0f87d2f25e857e838034e98ca98fe7b8c0a9c/pillow-11.3.0-cp313-cp313-ios_13_0_arm64_iphonesimulator.whl", hash = "sha256:30b7c02f3899d10f13d7a48163c8969e4e653f8b43416d23d13d1bbfdc93b9f8", size = 2170652, upload-time = "2025-07-01T09:14:37.203Z" }, + { url = "https://files.pythonhosted.org/packages/aa/86/3f758a28a6e381758545f7cdb4942e1cb79abd271bea932998fc0db93cb6/pillow-11.3.0-cp313-cp313-ios_13_0_x86_64_iphonesimulator.whl", hash = "sha256:7859a4cc7c9295f5838015d8cc0a9c215b77e43d07a25e460f35cf516df8626f", size = 2227443, upload-time = "2025-07-01T09:14:39.344Z" }, + { url = "https://files.pythonhosted.org/packages/01/f4/91d5b3ffa718df2f53b0dc109877993e511f4fd055d7e9508682e8aba092/pillow-11.3.0-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:ec1ee50470b0d050984394423d96325b744d55c701a439d2bd66089bff963d3c", size = 5278474, upload-time = "2025-07-01T09:14:41.843Z" }, + { url = "https://files.pythonhosted.org/packages/f9/0e/37d7d3eca6c879fbd9dba21268427dffda1ab00d4eb05b32923d4fbe3b12/pillow-11.3.0-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:7db51d222548ccfd274e4572fdbf3e810a5e66b00608862f947b163e613b67dd", size = 4686038, upload-time = "2025-07-01T09:14:44.008Z" }, + { url = "https://files.pythonhosted.org/packages/ff/b0/3426e5c7f6565e752d81221af9d3676fdbb4f352317ceafd42899aaf5d8a/pillow-11.3.0-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:2d6fcc902a24ac74495df63faad1884282239265c6839a0a6416d33faedfae7e", size = 5864407, upload-time = "2025-07-03T13:10:15.628Z" }, + { url = "https://files.pythonhosted.org/packages/fc/c1/c6c423134229f2a221ee53f838d4be9d82bab86f7e2f8e75e47b6bf6cd77/pillow-11.3.0-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:f0f5d8f4a08090c6d6d578351a2b91acf519a54986c055af27e7a93feae6d3f1", size = 7639094, upload-time = "2025-07-03T13:10:21.857Z" }, + { url = "https://files.pythonhosted.org/packages/ba/c9/09e6746630fe6372c67c648ff9deae52a2bc20897d51fa293571977ceb5d/pillow-11.3.0-cp313-cp313-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:c37d8ba9411d6003bba9e518db0db0c58a680ab9fe5179f040b0463644bc9805", size = 5973503, upload-time = "2025-07-01T09:14:45.698Z" }, + { url = "https://files.pythonhosted.org/packages/d5/1c/a2a29649c0b1983d3ef57ee87a66487fdeb45132df66ab30dd37f7dbe162/pillow-11.3.0-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:13f87d581e71d9189ab21fe0efb5a23e9f28552d5be6979e84001d3b8505abe8", size = 6642574, upload-time = "2025-07-01T09:14:47.415Z" }, + { url = "https://files.pythonhosted.org/packages/36/de/d5cc31cc4b055b6c6fd990e3e7f0f8aaf36229a2698501bcb0cdf67c7146/pillow-11.3.0-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:023f6d2d11784a465f09fd09a34b150ea4672e85fb3d05931d89f373ab14abb2", size = 6084060, upload-time = "2025-07-01T09:14:49.636Z" }, + { url = "https://files.pythonhosted.org/packages/d5/ea/502d938cbaeec836ac28a9b730193716f0114c41325db428e6b280513f09/pillow-11.3.0-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:45dfc51ac5975b938e9809451c51734124e73b04d0f0ac621649821a63852e7b", size = 6721407, upload-time = "2025-07-01T09:14:51.962Z" }, + { url = "https://files.pythonhosted.org/packages/45/9c/9c5e2a73f125f6cbc59cc7087c8f2d649a7ae453f83bd0362ff7c9e2aee2/pillow-11.3.0-cp313-cp313-win32.whl", hash = "sha256:a4d336baed65d50d37b88ca5b60c0fa9d81e3a87d4a7930d3880d1624d5b31f3", size = 6273841, upload-time = "2025-07-01T09:14:54.142Z" }, + { url = "https://files.pythonhosted.org/packages/23/85/397c73524e0cd212067e0c969aa245b01d50183439550d24d9f55781b776/pillow-11.3.0-cp313-cp313-win_amd64.whl", hash = "sha256:0bce5c4fd0921f99d2e858dc4d4d64193407e1b99478bc5cacecba2311abde51", size = 6978450, upload-time = "2025-07-01T09:14:56.436Z" }, + { url = "https://files.pythonhosted.org/packages/17/d2/622f4547f69cd173955194b78e4d19ca4935a1b0f03a302d655c9f6aae65/pillow-11.3.0-cp313-cp313-win_arm64.whl", hash = "sha256:1904e1264881f682f02b7f8167935cce37bc97db457f8e7849dc3a6a52b99580", size = 2423055, upload-time = "2025-07-01T09:14:58.072Z" }, + { url = "https://files.pythonhosted.org/packages/dd/80/a8a2ac21dda2e82480852978416cfacd439a4b490a501a288ecf4fe2532d/pillow-11.3.0-cp313-cp313t-macosx_10_13_x86_64.whl", hash = "sha256:4c834a3921375c48ee6b9624061076bc0a32a60b5532b322cc0ea64e639dd50e", size = 5281110, upload-time = "2025-07-01T09:14:59.79Z" }, + { url = "https://files.pythonhosted.org/packages/44/d6/b79754ca790f315918732e18f82a8146d33bcd7f4494380457ea89eb883d/pillow-11.3.0-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:5e05688ccef30ea69b9317a9ead994b93975104a677a36a8ed8106be9260aa6d", size = 4689547, upload-time = "2025-07-01T09:15:01.648Z" }, + { url = "https://files.pythonhosted.org/packages/49/20/716b8717d331150cb00f7fdd78169c01e8e0c219732a78b0e59b6bdb2fd6/pillow-11.3.0-cp313-cp313t-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:1019b04af07fc0163e2810167918cb5add8d74674b6267616021ab558dc98ced", size = 5901554, upload-time = "2025-07-03T13:10:27.018Z" }, + { url = "https://files.pythonhosted.org/packages/74/cf/a9f3a2514a65bb071075063a96f0a5cf949c2f2fce683c15ccc83b1c1cab/pillow-11.3.0-cp313-cp313t-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:f944255db153ebb2b19c51fe85dd99ef0ce494123f21b9db4877ffdfc5590c7c", size = 7669132, upload-time = "2025-07-03T13:10:33.01Z" }, + { url = "https://files.pythonhosted.org/packages/98/3c/da78805cbdbee9cb43efe8261dd7cc0b4b93f2ac79b676c03159e9db2187/pillow-11.3.0-cp313-cp313t-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:1f85acb69adf2aaee8b7da124efebbdb959a104db34d3a2cb0f3793dbae422a8", size = 6005001, upload-time = "2025-07-01T09:15:03.365Z" }, + { url = "https://files.pythonhosted.org/packages/6c/fa/ce044b91faecf30e635321351bba32bab5a7e034c60187fe9698191aef4f/pillow-11.3.0-cp313-cp313t-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:05f6ecbeff5005399bb48d198f098a9b4b6bdf27b8487c7f38ca16eeb070cd59", size = 6668814, upload-time = "2025-07-01T09:15:05.655Z" }, + { url = "https://files.pythonhosted.org/packages/7b/51/90f9291406d09bf93686434f9183aba27b831c10c87746ff49f127ee80cb/pillow-11.3.0-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:a7bc6e6fd0395bc052f16b1a8670859964dbd7003bd0af2ff08342eb6e442cfe", size = 6113124, upload-time = "2025-07-01T09:15:07.358Z" }, + { url = "https://files.pythonhosted.org/packages/cd/5a/6fec59b1dfb619234f7636d4157d11fb4e196caeee220232a8d2ec48488d/pillow-11.3.0-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:83e1b0161c9d148125083a35c1c5a89db5b7054834fd4387499e06552035236c", size = 6747186, upload-time = "2025-07-01T09:15:09.317Z" }, + { url = "https://files.pythonhosted.org/packages/49/6b/00187a044f98255225f172de653941e61da37104a9ea60e4f6887717e2b5/pillow-11.3.0-cp313-cp313t-win32.whl", hash = "sha256:2a3117c06b8fb646639dce83694f2f9eac405472713fcb1ae887469c0d4f6788", size = 6277546, upload-time = "2025-07-01T09:15:11.311Z" }, + { url = "https://files.pythonhosted.org/packages/e8/5c/6caaba7e261c0d75bab23be79f1d06b5ad2a2ae49f028ccec801b0e853d6/pillow-11.3.0-cp313-cp313t-win_amd64.whl", hash = "sha256:857844335c95bea93fb39e0fa2726b4d9d758850b34075a7e3ff4f4fa3aa3b31", size = 6985102, upload-time = "2025-07-01T09:15:13.164Z" }, + { url = "https://files.pythonhosted.org/packages/f3/7e/b623008460c09a0cb38263c93b828c666493caee2eb34ff67f778b87e58c/pillow-11.3.0-cp313-cp313t-win_arm64.whl", hash = "sha256:8797edc41f3e8536ae4b10897ee2f637235c94f27404cac7297f7b607dd0716e", size = 2424803, upload-time = "2025-07-01T09:15:15.695Z" }, ] [[package]] name = "platformdirs" version = "4.4.0" source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/23/e8/21db9c9987b0e728855bd57bff6984f67952bea55d6f75e055c46b5383e8/platformdirs-4.4.0.tar.gz", hash = "sha256:ca753cf4d81dc309bc67b0ea38fd15dc97bc30ce419a7f58d13eb3bf14c4febf", size = 21634 } +sdist = { url = "https://files.pythonhosted.org/packages/23/e8/21db9c9987b0e728855bd57bff6984f67952bea55d6f75e055c46b5383e8/platformdirs-4.4.0.tar.gz", hash = "sha256:ca753cf4d81dc309bc67b0ea38fd15dc97bc30ce419a7f58d13eb3bf14c4febf", size = 21634, upload-time = "2025-08-26T14:32:04.268Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/40/4b/2028861e724d3bd36227adfa20d3fd24c3fc6d52032f4a93c133be5d17ce/platformdirs-4.4.0-py3-none-any.whl", hash = "sha256:abd01743f24e5287cd7a5db3752faf1a2d65353f38ec26d98e25a6db65958c85", size = 18654 }, + { url = "https://files.pythonhosted.org/packages/40/4b/2028861e724d3bd36227adfa20d3fd24c3fc6d52032f4a93c133be5d17ce/platformdirs-4.4.0-py3-none-any.whl", hash = "sha256:abd01743f24e5287cd7a5db3752faf1a2d65353f38ec26d98e25a6db65958c85", size = 18654, upload-time = "2025-08-26T14:32:02.735Z" }, ] [[package]] name = "pluggy" version = "1.6.0" source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/f9/e2/3e91f31a7d2b083fe6ef3fa267035b518369d9511ffab804f839851d2779/pluggy-1.6.0.tar.gz", hash = "sha256:7dcc130b76258d33b90f61b658791dede3486c3e6bfb003ee5c9bfb396dd22f3", size = 69412 } +sdist = { url = "https://files.pythonhosted.org/packages/f9/e2/3e91f31a7d2b083fe6ef3fa267035b518369d9511ffab804f839851d2779/pluggy-1.6.0.tar.gz", hash = "sha256:7dcc130b76258d33b90f61b658791dede3486c3e6bfb003ee5c9bfb396dd22f3", size = 69412, upload-time = "2025-05-15T12:30:07.975Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/54/20/4d324d65cc6d9205fabedc306948156824eb9f0ee1633355a8f7ec5c66bf/pluggy-1.6.0-py3-none-any.whl", hash = "sha256:e920276dd6813095e9377c0bc5566d94c932c33b27a3e3945d8389c374dd4746", size = 20538 }, + { url = "https://files.pythonhosted.org/packages/54/20/4d324d65cc6d9205fabedc306948156824eb9f0ee1633355a8f7ec5c66bf/pluggy-1.6.0-py3-none-any.whl", hash = "sha256:e920276dd6813095e9377c0bc5566d94c932c33b27a3e3945d8389c374dd4746", size = 20538, upload-time = "2025-05-15T12:30:06.134Z" }, ] [[package]] @@ -553,52 +568,52 @@ dependencies = [ { name = "pyyaml" }, { name = "virtualenv" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/ff/29/7cf5bbc236333876e4b41f56e06857a87937ce4bf91e117a6991a2dbb02a/pre_commit-4.3.0.tar.gz", hash = "sha256:499fe450cc9d42e9d58e606262795ecb64dd05438943c62b66f6a8673da30b16", size = 193792 } +sdist = { url = "https://files.pythonhosted.org/packages/ff/29/7cf5bbc236333876e4b41f56e06857a87937ce4bf91e117a6991a2dbb02a/pre_commit-4.3.0.tar.gz", hash = "sha256:499fe450cc9d42e9d58e606262795ecb64dd05438943c62b66f6a8673da30b16", size = 193792, upload-time = "2025-08-09T18:56:14.651Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/5b/a5/987a405322d78a73b66e39e4a90e4ef156fd7141bf71df987e50717c321b/pre_commit-4.3.0-py2.py3-none-any.whl", hash = "sha256:2b0747ad7e6e967169136edffee14c16e148a778a54e4f967921aa1ebf2308d8", size = 220965 }, + { url = "https://files.pythonhosted.org/packages/5b/a5/987a405322d78a73b66e39e4a90e4ef156fd7141bf71df987e50717c321b/pre_commit-4.3.0-py2.py3-none-any.whl", hash = "sha256:2b0747ad7e6e967169136edffee14c16e148a778a54e4f967921aa1ebf2308d8", size = 220965, upload-time = "2025-08-09T18:56:13.192Z" }, ] [[package]] name = "protobuf" version = "6.32.1" source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/fa/a4/cc17347aa2897568beece2e674674359f911d6fe21b0b8d6268cd42727ac/protobuf-6.32.1.tar.gz", hash = "sha256:ee2469e4a021474ab9baafea6cd070e5bf27c7d29433504ddea1a4ee5850f68d", size = 440635 } +sdist = { url = "https://files.pythonhosted.org/packages/fa/a4/cc17347aa2897568beece2e674674359f911d6fe21b0b8d6268cd42727ac/protobuf-6.32.1.tar.gz", hash = "sha256:ee2469e4a021474ab9baafea6cd070e5bf27c7d29433504ddea1a4ee5850f68d", size = 440635, upload-time = "2025-09-11T21:38:42.935Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/c0/98/645183ea03ab3995d29086b8bf4f7562ebd3d10c9a4b14ee3f20d47cfe50/protobuf-6.32.1-cp310-abi3-win32.whl", hash = "sha256:a8a32a84bc9f2aad712041b8b366190f71dde248926da517bde9e832e4412085", size = 424411 }, - { url = "https://files.pythonhosted.org/packages/8c/f3/6f58f841f6ebafe076cebeae33fc336e900619d34b1c93e4b5c97a81fdfa/protobuf-6.32.1-cp310-abi3-win_amd64.whl", hash = "sha256:b00a7d8c25fa471f16bc8153d0e53d6c9e827f0953f3c09aaa4331c718cae5e1", size = 435738 }, - { url = "https://files.pythonhosted.org/packages/10/56/a8a3f4e7190837139e68c7002ec749190a163af3e330f65d90309145a210/protobuf-6.32.1-cp39-abi3-macosx_10_9_universal2.whl", hash = "sha256:d8c7e6eb619ffdf105ee4ab76af5a68b60a9d0f66da3ea12d1640e6d8dab7281", size = 426454 }, - { url = "https://files.pythonhosted.org/packages/3f/be/8dd0a927c559b37d7a6c8ab79034fd167dcc1f851595f2e641ad62be8643/protobuf-6.32.1-cp39-abi3-manylinux2014_aarch64.whl", hash = "sha256:2f5b80a49e1eb7b86d85fcd23fe92df154b9730a725c3b38c4e43b9d77018bf4", size = 322874 }, - { url = "https://files.pythonhosted.org/packages/5c/f6/88d77011b605ef979aace37b7703e4eefad066f7e84d935e5a696515c2dd/protobuf-6.32.1-cp39-abi3-manylinux2014_x86_64.whl", hash = "sha256:b1864818300c297265c83a4982fd3169f97122c299f56a56e2445c3698d34710", size = 322013 }, - { url = "https://files.pythonhosted.org/packages/97/b7/15cc7d93443d6c6a84626ae3258a91f4c6ac8c0edd5df35ea7658f71b79c/protobuf-6.32.1-py3-none-any.whl", hash = "sha256:2601b779fc7d32a866c6b4404f9d42a3f67c5b9f3f15b4db3cccabe06b95c346", size = 169289 }, + { url = "https://files.pythonhosted.org/packages/c0/98/645183ea03ab3995d29086b8bf4f7562ebd3d10c9a4b14ee3f20d47cfe50/protobuf-6.32.1-cp310-abi3-win32.whl", hash = "sha256:a8a32a84bc9f2aad712041b8b366190f71dde248926da517bde9e832e4412085", size = 424411, upload-time = "2025-09-11T21:38:27.427Z" }, + { url = "https://files.pythonhosted.org/packages/8c/f3/6f58f841f6ebafe076cebeae33fc336e900619d34b1c93e4b5c97a81fdfa/protobuf-6.32.1-cp310-abi3-win_amd64.whl", hash = "sha256:b00a7d8c25fa471f16bc8153d0e53d6c9e827f0953f3c09aaa4331c718cae5e1", size = 435738, upload-time = "2025-09-11T21:38:30.959Z" }, + { url = "https://files.pythonhosted.org/packages/10/56/a8a3f4e7190837139e68c7002ec749190a163af3e330f65d90309145a210/protobuf-6.32.1-cp39-abi3-macosx_10_9_universal2.whl", hash = "sha256:d8c7e6eb619ffdf105ee4ab76af5a68b60a9d0f66da3ea12d1640e6d8dab7281", size = 426454, upload-time = "2025-09-11T21:38:34.076Z" }, + { url = "https://files.pythonhosted.org/packages/3f/be/8dd0a927c559b37d7a6c8ab79034fd167dcc1f851595f2e641ad62be8643/protobuf-6.32.1-cp39-abi3-manylinux2014_aarch64.whl", hash = "sha256:2f5b80a49e1eb7b86d85fcd23fe92df154b9730a725c3b38c4e43b9d77018bf4", size = 322874, upload-time = "2025-09-11T21:38:35.509Z" }, + { url = "https://files.pythonhosted.org/packages/5c/f6/88d77011b605ef979aace37b7703e4eefad066f7e84d935e5a696515c2dd/protobuf-6.32.1-cp39-abi3-manylinux2014_x86_64.whl", hash = "sha256:b1864818300c297265c83a4982fd3169f97122c299f56a56e2445c3698d34710", size = 322013, upload-time = "2025-09-11T21:38:37.017Z" }, + { url = "https://files.pythonhosted.org/packages/97/b7/15cc7d93443d6c6a84626ae3258a91f4c6ac8c0edd5df35ea7658f71b79c/protobuf-6.32.1-py3-none-any.whl", hash = "sha256:2601b779fc7d32a866c6b4404f9d42a3f67c5b9f3f15b4db3cccabe06b95c346", size = 169289, upload-time = "2025-09-11T21:38:41.234Z" }, ] [[package]] name = "pyarrow" version = "21.0.0" source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/ef/c2/ea068b8f00905c06329a3dfcd40d0fcc2b7d0f2e355bdb25b65e0a0e4cd4/pyarrow-21.0.0.tar.gz", hash = "sha256:5051f2dccf0e283ff56335760cbc8622cf52264d67e359d5569541ac11b6d5bc", size = 1133487 } -wheels = [ - { url = "https://files.pythonhosted.org/packages/ca/d4/d4f817b21aacc30195cf6a46ba041dd1be827efa4a623cc8bf39a1c2a0c0/pyarrow-21.0.0-cp312-cp312-macosx_12_0_arm64.whl", hash = "sha256:3a302f0e0963db37e0a24a70c56cf91a4faa0bca51c23812279ca2e23481fccd", size = 31160305 }, - { url = "https://files.pythonhosted.org/packages/a2/9c/dcd38ce6e4b4d9a19e1d36914cb8e2b1da4e6003dd075474c4cfcdfe0601/pyarrow-21.0.0-cp312-cp312-macosx_12_0_x86_64.whl", hash = "sha256:b6b27cf01e243871390474a211a7922bfbe3bda21e39bc9160daf0da3fe48876", size = 32684264 }, - { url = "https://files.pythonhosted.org/packages/4f/74/2a2d9f8d7a59b639523454bec12dba35ae3d0a07d8ab529dc0809f74b23c/pyarrow-21.0.0-cp312-cp312-manylinux_2_28_aarch64.whl", hash = "sha256:e72a8ec6b868e258a2cd2672d91f2860ad532d590ce94cdf7d5e7ec674ccf03d", size = 41108099 }, - { url = "https://files.pythonhosted.org/packages/ad/90/2660332eeb31303c13b653ea566a9918484b6e4d6b9d2d46879a33ab0622/pyarrow-21.0.0-cp312-cp312-manylinux_2_28_x86_64.whl", hash = "sha256:b7ae0bbdc8c6674259b25bef5d2a1d6af5d39d7200c819cf99e07f7dfef1c51e", size = 42829529 }, - { url = "https://files.pythonhosted.org/packages/33/27/1a93a25c92717f6aa0fca06eb4700860577d016cd3ae51aad0e0488ac899/pyarrow-21.0.0-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:58c30a1729f82d201627c173d91bd431db88ea74dcaa3885855bc6203e433b82", size = 43367883 }, - { url = "https://files.pythonhosted.org/packages/05/d9/4d09d919f35d599bc05c6950095e358c3e15148ead26292dfca1fb659b0c/pyarrow-21.0.0-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:072116f65604b822a7f22945a7a6e581cfa28e3454fdcc6939d4ff6090126623", size = 45133802 }, - { url = "https://files.pythonhosted.org/packages/71/30/f3795b6e192c3ab881325ffe172e526499eb3780e306a15103a2764916a2/pyarrow-21.0.0-cp312-cp312-win_amd64.whl", hash = "sha256:cf56ec8b0a5c8c9d7021d6fd754e688104f9ebebf1bf4449613c9531f5346a18", size = 26203175 }, - { url = "https://files.pythonhosted.org/packages/16/ca/c7eaa8e62db8fb37ce942b1ea0c6d7abfe3786ca193957afa25e71b81b66/pyarrow-21.0.0-cp313-cp313-macosx_12_0_arm64.whl", hash = "sha256:e99310a4ebd4479bcd1964dff9e14af33746300cb014aa4a3781738ac63baf4a", size = 31154306 }, - { url = "https://files.pythonhosted.org/packages/ce/e8/e87d9e3b2489302b3a1aea709aaca4b781c5252fcb812a17ab6275a9a484/pyarrow-21.0.0-cp313-cp313-macosx_12_0_x86_64.whl", hash = "sha256:d2fe8e7f3ce329a71b7ddd7498b3cfac0eeb200c2789bd840234f0dc271a8efe", size = 32680622 }, - { url = "https://files.pythonhosted.org/packages/84/52/79095d73a742aa0aba370c7942b1b655f598069489ab387fe47261a849e1/pyarrow-21.0.0-cp313-cp313-manylinux_2_28_aarch64.whl", hash = "sha256:f522e5709379d72fb3da7785aa489ff0bb87448a9dc5a75f45763a795a089ebd", size = 41104094 }, - { url = "https://files.pythonhosted.org/packages/89/4b/7782438b551dbb0468892a276b8c789b8bbdb25ea5c5eb27faadd753e037/pyarrow-21.0.0-cp313-cp313-manylinux_2_28_x86_64.whl", hash = "sha256:69cbbdf0631396e9925e048cfa5bce4e8c3d3b41562bbd70c685a8eb53a91e61", size = 42825576 }, - { url = "https://files.pythonhosted.org/packages/b3/62/0f29de6e0a1e33518dec92c65be0351d32d7ca351e51ec5f4f837a9aab91/pyarrow-21.0.0-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:731c7022587006b755d0bdb27626a1a3bb004bb56b11fb30d98b6c1b4718579d", size = 43368342 }, - { url = "https://files.pythonhosted.org/packages/90/c7/0fa1f3f29cf75f339768cc698c8ad4ddd2481c1742e9741459911c9ac477/pyarrow-21.0.0-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:dc56bc708f2d8ac71bd1dcb927e458c93cec10b98eb4120206a4091db7b67b99", size = 45131218 }, - { url = "https://files.pythonhosted.org/packages/01/63/581f2076465e67b23bc5a37d4a2abff8362d389d29d8105832e82c9c811c/pyarrow-21.0.0-cp313-cp313-win_amd64.whl", hash = "sha256:186aa00bca62139f75b7de8420f745f2af12941595bbbfa7ed3870ff63e25636", size = 26087551 }, - { url = "https://files.pythonhosted.org/packages/c9/ab/357d0d9648bb8241ee7348e564f2479d206ebe6e1c47ac5027c2e31ecd39/pyarrow-21.0.0-cp313-cp313t-macosx_12_0_arm64.whl", hash = "sha256:a7a102574faa3f421141a64c10216e078df467ab9576684d5cd696952546e2da", size = 31290064 }, - { url = "https://files.pythonhosted.org/packages/3f/8a/5685d62a990e4cac2043fc76b4661bf38d06efed55cf45a334b455bd2759/pyarrow-21.0.0-cp313-cp313t-macosx_12_0_x86_64.whl", hash = "sha256:1e005378c4a2c6db3ada3ad4c217b381f6c886f0a80d6a316fe586b90f77efd7", size = 32727837 }, - { url = "https://files.pythonhosted.org/packages/fc/de/c0828ee09525c2bafefd3e736a248ebe764d07d0fd762d4f0929dbc516c9/pyarrow-21.0.0-cp313-cp313t-manylinux_2_28_aarch64.whl", hash = "sha256:65f8e85f79031449ec8706b74504a316805217b35b6099155dd7e227eef0d4b6", size = 41014158 }, - { url = "https://files.pythonhosted.org/packages/6e/26/a2865c420c50b7a3748320b614f3484bfcde8347b2639b2b903b21ce6a72/pyarrow-21.0.0-cp313-cp313t-manylinux_2_28_x86_64.whl", hash = "sha256:3a81486adc665c7eb1a2bde0224cfca6ceaba344a82a971ef059678417880eb8", size = 42667885 }, - { url = "https://files.pythonhosted.org/packages/0a/f9/4ee798dc902533159250fb4321267730bc0a107d8c6889e07c3add4fe3a5/pyarrow-21.0.0-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:fc0d2f88b81dcf3ccf9a6ae17f89183762c8a94a5bdcfa09e05cfe413acf0503", size = 43276625 }, - { url = "https://files.pythonhosted.org/packages/5a/da/e02544d6997037a4b0d22d8e5f66bc9315c3671371a8b18c79ade1cefe14/pyarrow-21.0.0-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:6299449adf89df38537837487a4f8d3bd91ec94354fdd2a7d30bc11c48ef6e79", size = 44951890 }, - { url = "https://files.pythonhosted.org/packages/e5/4e/519c1bc1876625fe6b71e9a28287c43ec2f20f73c658b9ae1d485c0c206e/pyarrow-21.0.0-cp313-cp313t-win_amd64.whl", hash = "sha256:222c39e2c70113543982c6b34f3077962b44fca38c0bd9e68bb6781534425c10", size = 26371006 }, +sdist = { url = "https://files.pythonhosted.org/packages/ef/c2/ea068b8f00905c06329a3dfcd40d0fcc2b7d0f2e355bdb25b65e0a0e4cd4/pyarrow-21.0.0.tar.gz", hash = "sha256:5051f2dccf0e283ff56335760cbc8622cf52264d67e359d5569541ac11b6d5bc", size = 1133487, upload-time = "2025-07-18T00:57:31.761Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/ca/d4/d4f817b21aacc30195cf6a46ba041dd1be827efa4a623cc8bf39a1c2a0c0/pyarrow-21.0.0-cp312-cp312-macosx_12_0_arm64.whl", hash = "sha256:3a302f0e0963db37e0a24a70c56cf91a4faa0bca51c23812279ca2e23481fccd", size = 31160305, upload-time = "2025-07-18T00:55:35.373Z" }, + { url = "https://files.pythonhosted.org/packages/a2/9c/dcd38ce6e4b4d9a19e1d36914cb8e2b1da4e6003dd075474c4cfcdfe0601/pyarrow-21.0.0-cp312-cp312-macosx_12_0_x86_64.whl", hash = "sha256:b6b27cf01e243871390474a211a7922bfbe3bda21e39bc9160daf0da3fe48876", size = 32684264, upload-time = "2025-07-18T00:55:39.303Z" }, + { url = "https://files.pythonhosted.org/packages/4f/74/2a2d9f8d7a59b639523454bec12dba35ae3d0a07d8ab529dc0809f74b23c/pyarrow-21.0.0-cp312-cp312-manylinux_2_28_aarch64.whl", hash = "sha256:e72a8ec6b868e258a2cd2672d91f2860ad532d590ce94cdf7d5e7ec674ccf03d", size = 41108099, upload-time = "2025-07-18T00:55:42.889Z" }, + { url = "https://files.pythonhosted.org/packages/ad/90/2660332eeb31303c13b653ea566a9918484b6e4d6b9d2d46879a33ab0622/pyarrow-21.0.0-cp312-cp312-manylinux_2_28_x86_64.whl", hash = "sha256:b7ae0bbdc8c6674259b25bef5d2a1d6af5d39d7200c819cf99e07f7dfef1c51e", size = 42829529, upload-time = "2025-07-18T00:55:47.069Z" }, + { url = "https://files.pythonhosted.org/packages/33/27/1a93a25c92717f6aa0fca06eb4700860577d016cd3ae51aad0e0488ac899/pyarrow-21.0.0-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:58c30a1729f82d201627c173d91bd431db88ea74dcaa3885855bc6203e433b82", size = 43367883, upload-time = "2025-07-18T00:55:53.069Z" }, + { url = "https://files.pythonhosted.org/packages/05/d9/4d09d919f35d599bc05c6950095e358c3e15148ead26292dfca1fb659b0c/pyarrow-21.0.0-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:072116f65604b822a7f22945a7a6e581cfa28e3454fdcc6939d4ff6090126623", size = 45133802, upload-time = "2025-07-18T00:55:57.714Z" }, + { url = "https://files.pythonhosted.org/packages/71/30/f3795b6e192c3ab881325ffe172e526499eb3780e306a15103a2764916a2/pyarrow-21.0.0-cp312-cp312-win_amd64.whl", hash = "sha256:cf56ec8b0a5c8c9d7021d6fd754e688104f9ebebf1bf4449613c9531f5346a18", size = 26203175, upload-time = "2025-07-18T00:56:01.364Z" }, + { url = "https://files.pythonhosted.org/packages/16/ca/c7eaa8e62db8fb37ce942b1ea0c6d7abfe3786ca193957afa25e71b81b66/pyarrow-21.0.0-cp313-cp313-macosx_12_0_arm64.whl", hash = "sha256:e99310a4ebd4479bcd1964dff9e14af33746300cb014aa4a3781738ac63baf4a", size = 31154306, upload-time = "2025-07-18T00:56:04.42Z" }, + { url = "https://files.pythonhosted.org/packages/ce/e8/e87d9e3b2489302b3a1aea709aaca4b781c5252fcb812a17ab6275a9a484/pyarrow-21.0.0-cp313-cp313-macosx_12_0_x86_64.whl", hash = "sha256:d2fe8e7f3ce329a71b7ddd7498b3cfac0eeb200c2789bd840234f0dc271a8efe", size = 32680622, upload-time = "2025-07-18T00:56:07.505Z" }, + { url = "https://files.pythonhosted.org/packages/84/52/79095d73a742aa0aba370c7942b1b655f598069489ab387fe47261a849e1/pyarrow-21.0.0-cp313-cp313-manylinux_2_28_aarch64.whl", hash = "sha256:f522e5709379d72fb3da7785aa489ff0bb87448a9dc5a75f45763a795a089ebd", size = 41104094, upload-time = "2025-07-18T00:56:10.994Z" }, + { url = "https://files.pythonhosted.org/packages/89/4b/7782438b551dbb0468892a276b8c789b8bbdb25ea5c5eb27faadd753e037/pyarrow-21.0.0-cp313-cp313-manylinux_2_28_x86_64.whl", hash = "sha256:69cbbdf0631396e9925e048cfa5bce4e8c3d3b41562bbd70c685a8eb53a91e61", size = 42825576, upload-time = "2025-07-18T00:56:15.569Z" }, + { url = "https://files.pythonhosted.org/packages/b3/62/0f29de6e0a1e33518dec92c65be0351d32d7ca351e51ec5f4f837a9aab91/pyarrow-21.0.0-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:731c7022587006b755d0bdb27626a1a3bb004bb56b11fb30d98b6c1b4718579d", size = 43368342, upload-time = "2025-07-18T00:56:19.531Z" }, + { url = "https://files.pythonhosted.org/packages/90/c7/0fa1f3f29cf75f339768cc698c8ad4ddd2481c1742e9741459911c9ac477/pyarrow-21.0.0-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:dc56bc708f2d8ac71bd1dcb927e458c93cec10b98eb4120206a4091db7b67b99", size = 45131218, upload-time = "2025-07-18T00:56:23.347Z" }, + { url = "https://files.pythonhosted.org/packages/01/63/581f2076465e67b23bc5a37d4a2abff8362d389d29d8105832e82c9c811c/pyarrow-21.0.0-cp313-cp313-win_amd64.whl", hash = "sha256:186aa00bca62139f75b7de8420f745f2af12941595bbbfa7ed3870ff63e25636", size = 26087551, upload-time = "2025-07-18T00:56:26.758Z" }, + { url = "https://files.pythonhosted.org/packages/c9/ab/357d0d9648bb8241ee7348e564f2479d206ebe6e1c47ac5027c2e31ecd39/pyarrow-21.0.0-cp313-cp313t-macosx_12_0_arm64.whl", hash = "sha256:a7a102574faa3f421141a64c10216e078df467ab9576684d5cd696952546e2da", size = 31290064, upload-time = "2025-07-18T00:56:30.214Z" }, + { url = "https://files.pythonhosted.org/packages/3f/8a/5685d62a990e4cac2043fc76b4661bf38d06efed55cf45a334b455bd2759/pyarrow-21.0.0-cp313-cp313t-macosx_12_0_x86_64.whl", hash = "sha256:1e005378c4a2c6db3ada3ad4c217b381f6c886f0a80d6a316fe586b90f77efd7", size = 32727837, upload-time = "2025-07-18T00:56:33.935Z" }, + { url = "https://files.pythonhosted.org/packages/fc/de/c0828ee09525c2bafefd3e736a248ebe764d07d0fd762d4f0929dbc516c9/pyarrow-21.0.0-cp313-cp313t-manylinux_2_28_aarch64.whl", hash = "sha256:65f8e85f79031449ec8706b74504a316805217b35b6099155dd7e227eef0d4b6", size = 41014158, upload-time = "2025-07-18T00:56:37.528Z" }, + { url = "https://files.pythonhosted.org/packages/6e/26/a2865c420c50b7a3748320b614f3484bfcde8347b2639b2b903b21ce6a72/pyarrow-21.0.0-cp313-cp313t-manylinux_2_28_x86_64.whl", hash = "sha256:3a81486adc665c7eb1a2bde0224cfca6ceaba344a82a971ef059678417880eb8", size = 42667885, upload-time = "2025-07-18T00:56:41.483Z" }, + { url = "https://files.pythonhosted.org/packages/0a/f9/4ee798dc902533159250fb4321267730bc0a107d8c6889e07c3add4fe3a5/pyarrow-21.0.0-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:fc0d2f88b81dcf3ccf9a6ae17f89183762c8a94a5bdcfa09e05cfe413acf0503", size = 43276625, upload-time = "2025-07-18T00:56:48.002Z" }, + { url = "https://files.pythonhosted.org/packages/5a/da/e02544d6997037a4b0d22d8e5f66bc9315c3671371a8b18c79ade1cefe14/pyarrow-21.0.0-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:6299449adf89df38537837487a4f8d3bd91ec94354fdd2a7d30bc11c48ef6e79", size = 44951890, upload-time = "2025-07-18T00:56:52.568Z" }, + { url = "https://files.pythonhosted.org/packages/e5/4e/519c1bc1876625fe6b71e9a28287c43ec2f20f73c658b9ae1d485c0c206e/pyarrow-21.0.0-cp313-cp313t-win_amd64.whl", hash = "sha256:222c39e2c70113543982c6b34f3077962b44fca38c0bd9e68bb6781534425c10", size = 26371006, upload-time = "2025-07-18T00:56:56.379Z" }, ] [[package]] @@ -609,18 +624,18 @@ dependencies = [ { name = "jinja2" }, { name = "numpy" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/a1/ca/40e14e196864a0f61a92abb14d09b3d3da98f94ccb03b49cf51688140dab/pydeck-0.9.1.tar.gz", hash = "sha256:f74475ae637951d63f2ee58326757f8d4f9cd9f2a457cf42950715003e2cb605", size = 3832240 } +sdist = { url = "https://files.pythonhosted.org/packages/a1/ca/40e14e196864a0f61a92abb14d09b3d3da98f94ccb03b49cf51688140dab/pydeck-0.9.1.tar.gz", hash = "sha256:f74475ae637951d63f2ee58326757f8d4f9cd9f2a457cf42950715003e2cb605", size = 3832240, upload-time = "2024-05-10T15:36:21.153Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/ab/4c/b888e6cf58bd9db9c93f40d1c6be8283ff49d88919231afe93a6bcf61626/pydeck-0.9.1-py2.py3-none-any.whl", hash = "sha256:b3f75ba0d273fc917094fa61224f3f6076ca8752b93d46faf3bcfd9f9d59b038", size = 6900403 }, + { url = "https://files.pythonhosted.org/packages/ab/4c/b888e6cf58bd9db9c93f40d1c6be8283ff49d88919231afe93a6bcf61626/pydeck-0.9.1-py2.py3-none-any.whl", hash = "sha256:b3f75ba0d273fc917094fa61224f3f6076ca8752b93d46faf3bcfd9f9d59b038", size = 6900403, upload-time = "2024-05-10T15:36:17.36Z" }, ] [[package]] name = "pygments" version = "2.19.2" source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/b0/77/a5b8c569bf593b0140bde72ea885a803b82086995367bf2037de0159d924/pygments-2.19.2.tar.gz", hash = "sha256:636cb2477cec7f8952536970bc533bc43743542f70392ae026374600add5b887", size = 4968631 } +sdist = { url = "https://files.pythonhosted.org/packages/b0/77/a5b8c569bf593b0140bde72ea885a803b82086995367bf2037de0159d924/pygments-2.19.2.tar.gz", hash = "sha256:636cb2477cec7f8952536970bc533bc43743542f70392ae026374600add5b887", size = 4968631, upload-time = "2025-06-21T13:39:12.283Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/c7/21/705964c7812476f378728bdf590ca4b771ec72385c533964653c68e86bdc/pygments-2.19.2-py3-none-any.whl", hash = "sha256:86540386c03d588bb81d44bc3928634ff26449851e99741617ecb9037ee5ec0b", size = 1225217 }, + { url = "https://files.pythonhosted.org/packages/c7/21/705964c7812476f378728bdf590ca4b771ec72385c533964653c68e86bdc/pygments-2.19.2-py3-none-any.whl", hash = "sha256:86540386c03d588bb81d44bc3928634ff26449851e99741617ecb9037ee5ec0b", size = 1225217, upload-time = "2025-06-21T13:39:07.939Z" }, ] [[package]] @@ -634,9 +649,9 @@ dependencies = [ { name = "pluggy" }, { name = "pygments" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/a3/5c/00a0e072241553e1a7496d638deababa67c5058571567b92a7eaa258397c/pytest-8.4.2.tar.gz", hash = "sha256:86c0d0b93306b961d58d62a4db4879f27fe25513d4b969df351abdddb3c30e01", size = 1519618 } +sdist = { url = "https://files.pythonhosted.org/packages/a3/5c/00a0e072241553e1a7496d638deababa67c5058571567b92a7eaa258397c/pytest-8.4.2.tar.gz", hash = "sha256:86c0d0b93306b961d58d62a4db4879f27fe25513d4b969df351abdddb3c30e01", size = 1519618, upload-time = "2025-09-04T14:34:22.711Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/a8/a4/20da314d277121d6534b3a980b29035dcd51e6744bd79075a6ce8fa4eb8d/pytest-8.4.2-py3-none-any.whl", hash = "sha256:872f880de3fc3a5bdc88a11b39c9710c3497a547cfa9320bc3c5e62fbf272e79", size = 365750 }, + { url = "https://files.pythonhosted.org/packages/a8/a4/20da314d277121d6534b3a980b29035dcd51e6744bd79075a6ce8fa4eb8d/pytest-8.4.2-py3-none-any.whl", hash = "sha256:872f880de3fc3a5bdc88a11b39c9710c3497a547cfa9320bc3c5e62fbf272e79", size = 365750, upload-time = "2025-09-04T14:34:20.226Z" }, ] [[package]] @@ -646,44 +661,44 @@ 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 } +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 }, + { 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 } +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 }, + { 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 } -wheels = [ - { url = "https://files.pythonhosted.org/packages/86/0c/c581167fc46d6d6d7ddcfb8c843a4de25bdd27e4466938109ca68492292c/PyYAML-6.0.2-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:c70c95198c015b85feafc136515252a261a84561b7b1d51e3384e0655ddf25ab", size = 183873 }, - { url = "https://files.pythonhosted.org/packages/a8/0c/38374f5bb272c051e2a69281d71cba6fdb983413e6758b84482905e29a5d/PyYAML-6.0.2-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:ce826d6ef20b1bc864f0a68340c8b3287705cae2f8b4b1d932177dcc76721725", size = 173302 }, - { url = "https://files.pythonhosted.org/packages/c3/93/9916574aa8c00aa06bbac729972eb1071d002b8e158bd0e83a3b9a20a1f7/PyYAML-6.0.2-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:1f71ea527786de97d1a0cc0eacd1defc0985dcf6b3f17bb77dcfc8c34bec4dc5", size = 739154 }, - { url = "https://files.pythonhosted.org/packages/95/0f/b8938f1cbd09739c6da569d172531567dbcc9789e0029aa070856f123984/PyYAML-6.0.2-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:9b22676e8097e9e22e36d6b7bda33190d0d400f345f23d4065d48f4ca7ae0425", size = 766223 }, - { url = "https://files.pythonhosted.org/packages/b9/2b/614b4752f2e127db5cc206abc23a8c19678e92b23c3db30fc86ab731d3bd/PyYAML-6.0.2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:80bab7bfc629882493af4aa31a4cfa43a4c57c83813253626916b8c7ada83476", size = 767542 }, - { url = "https://files.pythonhosted.org/packages/d4/00/dd137d5bcc7efea1836d6264f049359861cf548469d18da90cd8216cf05f/PyYAML-6.0.2-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:0833f8694549e586547b576dcfaba4a6b55b9e96098b36cdc7ebefe667dfed48", size = 731164 }, - { url = "https://files.pythonhosted.org/packages/c9/1f/4f998c900485e5c0ef43838363ba4a9723ac0ad73a9dc42068b12aaba4e4/PyYAML-6.0.2-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:8b9c7197f7cb2738065c481a0461e50ad02f18c78cd75775628afb4d7137fb3b", size = 756611 }, - { url = "https://files.pythonhosted.org/packages/df/d1/f5a275fdb252768b7a11ec63585bc38d0e87c9e05668a139fea92b80634c/PyYAML-6.0.2-cp312-cp312-win32.whl", hash = "sha256:ef6107725bd54b262d6dedcc2af448a266975032bc85ef0172c5f059da6325b4", size = 140591 }, - { url = "https://files.pythonhosted.org/packages/0c/e8/4f648c598b17c3d06e8753d7d13d57542b30d56e6c2dedf9c331ae56312e/PyYAML-6.0.2-cp312-cp312-win_amd64.whl", hash = "sha256:7e7401d0de89a9a855c839bc697c079a4af81cf878373abd7dc625847d25cbd8", size = 156338 }, - { 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 }, - { 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 }, - { 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 }, - { 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 }, - { 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 }, - { 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 }, - { 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 }, - { url = "https://files.pythonhosted.org/packages/14/0d/e2c3b43bbce3cf6bd97c840b46088a3031085179e596d4929729d8d68270/PyYAML-6.0.2-cp313-cp313-win32.whl", hash = "sha256:bc2fa7c6b47d6bc618dd7fb02ef6fdedb1090ec036abab80d4681424b84c1183", size = 140527 }, - { url = "https://files.pythonhosted.org/packages/fa/de/02b54f42487e3d3c6efb3f89428677074ca7bf43aae402517bc7cca949f3/PyYAML-6.0.2-cp313-cp313-win_amd64.whl", hash = "sha256:8388ee1976c416731879ac16da0aff3f63b286ffdd57cdeb95f3f2e085687563", size = 156446 }, +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/86/0c/c581167fc46d6d6d7ddcfb8c843a4de25bdd27e4466938109ca68492292c/PyYAML-6.0.2-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:c70c95198c015b85feafc136515252a261a84561b7b1d51e3384e0655ddf25ab", size = 183873, upload-time = "2024-08-06T20:32:25.131Z" }, + { url = "https://files.pythonhosted.org/packages/a8/0c/38374f5bb272c051e2a69281d71cba6fdb983413e6758b84482905e29a5d/PyYAML-6.0.2-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:ce826d6ef20b1bc864f0a68340c8b3287705cae2f8b4b1d932177dcc76721725", size = 173302, upload-time = "2024-08-06T20:32:26.511Z" }, + { url = "https://files.pythonhosted.org/packages/c3/93/9916574aa8c00aa06bbac729972eb1071d002b8e158bd0e83a3b9a20a1f7/PyYAML-6.0.2-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:1f71ea527786de97d1a0cc0eacd1defc0985dcf6b3f17bb77dcfc8c34bec4dc5", size = 739154, upload-time = "2024-08-06T20:32:28.363Z" }, + { url = "https://files.pythonhosted.org/packages/95/0f/b8938f1cbd09739c6da569d172531567dbcc9789e0029aa070856f123984/PyYAML-6.0.2-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:9b22676e8097e9e22e36d6b7bda33190d0d400f345f23d4065d48f4ca7ae0425", size = 766223, upload-time = "2024-08-06T20:32:30.058Z" }, + { url = "https://files.pythonhosted.org/packages/b9/2b/614b4752f2e127db5cc206abc23a8c19678e92b23c3db30fc86ab731d3bd/PyYAML-6.0.2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:80bab7bfc629882493af4aa31a4cfa43a4c57c83813253626916b8c7ada83476", size = 767542, upload-time = "2024-08-06T20:32:31.881Z" }, + { url = "https://files.pythonhosted.org/packages/d4/00/dd137d5bcc7efea1836d6264f049359861cf548469d18da90cd8216cf05f/PyYAML-6.0.2-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:0833f8694549e586547b576dcfaba4a6b55b9e96098b36cdc7ebefe667dfed48", size = 731164, upload-time = "2024-08-06T20:32:37.083Z" }, + { url = "https://files.pythonhosted.org/packages/c9/1f/4f998c900485e5c0ef43838363ba4a9723ac0ad73a9dc42068b12aaba4e4/PyYAML-6.0.2-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:8b9c7197f7cb2738065c481a0461e50ad02f18c78cd75775628afb4d7137fb3b", size = 756611, upload-time = "2024-08-06T20:32:38.898Z" }, + { url = "https://files.pythonhosted.org/packages/df/d1/f5a275fdb252768b7a11ec63585bc38d0e87c9e05668a139fea92b80634c/PyYAML-6.0.2-cp312-cp312-win32.whl", hash = "sha256:ef6107725bd54b262d6dedcc2af448a266975032bc85ef0172c5f059da6325b4", size = 140591, upload-time = "2024-08-06T20:32:40.241Z" }, + { url = "https://files.pythonhosted.org/packages/0c/e8/4f648c598b17c3d06e8753d7d13d57542b30d56e6c2dedf9c331ae56312e/PyYAML-6.0.2-cp312-cp312-win_amd64.whl", hash = "sha256:7e7401d0de89a9a855c839bc697c079a4af81cf878373abd7dc625847d25cbd8", size = 156338, upload-time = "2024-08-06T20:32:41.93Z" }, + { 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]] @@ -695,9 +710,9 @@ dependencies = [ { name = "rpds-py" }, { name = "typing-extensions", marker = "python_full_version < '3.13'" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/2f/db/98b5c277be99dd18bfd91dd04e1b759cad18d1a338188c936e92f921c7e2/referencing-0.36.2.tar.gz", hash = "sha256:df2e89862cd09deabbdba16944cc3f10feb6b3e6f18e902f7cc25609a34775aa", size = 74744 } +sdist = { url = "https://files.pythonhosted.org/packages/2f/db/98b5c277be99dd18bfd91dd04e1b759cad18d1a338188c936e92f921c7e2/referencing-0.36.2.tar.gz", hash = "sha256:df2e89862cd09deabbdba16944cc3f10feb6b3e6f18e902f7cc25609a34775aa", size = 74744, upload-time = "2025-01-25T08:48:16.138Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/c1/b1/3baf80dc6d2b7bc27a95a67752d0208e410351e3feb4eb78de5f77454d8d/referencing-0.36.2-py3-none-any.whl", hash = "sha256:e8699adbbf8b5c7de96d8ffa0eb5c158b3beafce084968e2ea8bb08c6794dcd0", size = 26775 }, + { url = "https://files.pythonhosted.org/packages/c1/b1/3baf80dc6d2b7bc27a95a67752d0208e410351e3feb4eb78de5f77454d8d/referencing-0.36.2-py3-none-any.whl", hash = "sha256:e8699adbbf8b5c7de96d8ffa0eb5c158b3beafce084968e2ea8bb08c6794dcd0", size = 26775, upload-time = "2025-01-25T08:48:14.241Z" }, ] [[package]] @@ -710,87 +725,87 @@ dependencies = [ { name = "idna" }, { name = "urllib3" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/c9/74/b3ff8e6c8446842c3f5c837e9c3dfcfe2018ea6ecef224c710c85ef728f4/requests-2.32.5.tar.gz", hash = "sha256:dbba0bac56e100853db0ea71b82b4dfd5fe2bf6d3754a8893c3af500cec7d7cf", size = 134517 } +sdist = { url = "https://files.pythonhosted.org/packages/c9/74/b3ff8e6c8446842c3f5c837e9c3dfcfe2018ea6ecef224c710c85ef728f4/requests-2.32.5.tar.gz", hash = "sha256:dbba0bac56e100853db0ea71b82b4dfd5fe2bf6d3754a8893c3af500cec7d7cf", size = 134517, upload-time = "2025-08-18T20:46:02.573Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/1e/db/4254e3eabe8020b458f1a747140d32277ec7a271daf1d235b70dc0b4e6e3/requests-2.32.5-py3-none-any.whl", hash = "sha256:2462f94637a34fd532264295e186976db0f5d453d1cdd31473c85a6a161affb6", size = 64738 }, + { url = "https://files.pythonhosted.org/packages/1e/db/4254e3eabe8020b458f1a747140d32277ec7a271daf1d235b70dc0b4e6e3/requests-2.32.5-py3-none-any.whl", hash = "sha256:2462f94637a34fd532264295e186976db0f5d453d1cdd31473c85a6a161affb6", size = 64738, upload-time = "2025-08-18T20:46:00.542Z" }, ] [[package]] name = "rpds-py" version = "0.27.1" source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/e9/dd/2c0cbe774744272b0ae725f44032c77bdcab6e8bcf544bffa3b6e70c8dba/rpds_py-0.27.1.tar.gz", hash = "sha256:26a1c73171d10b7acccbded82bf6a586ab8203601e565badc74bbbf8bc5a10f8", size = 27479 } -wheels = [ - { url = "https://files.pythonhosted.org/packages/bd/fe/38de28dee5df58b8198c743fe2bea0c785c6d40941b9950bac4cdb71a014/rpds_py-0.27.1-cp312-cp312-macosx_10_12_x86_64.whl", hash = "sha256:ae2775c1973e3c30316892737b91f9283f9908e3cc7625b9331271eaaed7dc90", size = 361887 }, - { url = "https://files.pythonhosted.org/packages/7c/9a/4b6c7eedc7dd90986bf0fab6ea2a091ec11c01b15f8ba0a14d3f80450468/rpds_py-0.27.1-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:2643400120f55c8a96f7c9d858f7be0c88d383cd4653ae2cf0d0c88f668073e5", size = 345795 }, - { url = "https://files.pythonhosted.org/packages/6f/0e/e650e1b81922847a09cca820237b0edee69416a01268b7754d506ade11ad/rpds_py-0.27.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:16323f674c089b0360674a4abd28d5042947d54ba620f72514d69be4ff64845e", size = 385121 }, - { url = "https://files.pythonhosted.org/packages/1b/ea/b306067a712988e2bff00dcc7c8f31d26c29b6d5931b461aa4b60a013e33/rpds_py-0.27.1-cp312-cp312-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:9a1f4814b65eacac94a00fc9a526e3fdafd78e439469644032032d0d63de4881", size = 398976 }, - { url = "https://files.pythonhosted.org/packages/2c/0a/26dc43c8840cb8fe239fe12dbc8d8de40f2365e838f3d395835dde72f0e5/rpds_py-0.27.1-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:7ba32c16b064267b22f1850a34051121d423b6f7338a12b9459550eb2096e7ec", size = 525953 }, - { url = "https://files.pythonhosted.org/packages/22/14/c85e8127b573aaf3a0cbd7fbb8c9c99e735a4a02180c84da2a463b766e9e/rpds_py-0.27.1-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:e5c20f33fd10485b80f65e800bbe5f6785af510b9f4056c5a3c612ebc83ba6cb", size = 407915 }, - { url = "https://files.pythonhosted.org/packages/ed/7b/8f4fee9ba1fb5ec856eb22d725a4efa3deb47f769597c809e03578b0f9d9/rpds_py-0.27.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:466bfe65bd932da36ff279ddd92de56b042f2266d752719beb97b08526268ec5", size = 386883 }, - { url = "https://files.pythonhosted.org/packages/86/47/28fa6d60f8b74fcdceba81b272f8d9836ac0340570f68f5df6b41838547b/rpds_py-0.27.1-cp312-cp312-manylinux_2_31_riscv64.whl", hash = "sha256:41e532bbdcb57c92ba3be62c42e9f096431b4cf478da9bc3bc6ce5c38ab7ba7a", size = 405699 }, - { url = "https://files.pythonhosted.org/packages/d0/fd/c5987b5e054548df56953a21fe2ebed51fc1ec7c8f24fd41c067b68c4a0a/rpds_py-0.27.1-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:f149826d742b406579466283769a8ea448eed82a789af0ed17b0cd5770433444", size = 423713 }, - { url = "https://files.pythonhosted.org/packages/ac/ba/3c4978b54a73ed19a7d74531be37a8bcc542d917c770e14d372b8daea186/rpds_py-0.27.1-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:80c60cfb5310677bd67cb1e85a1e8eb52e12529545441b43e6f14d90b878775a", size = 562324 }, - { url = "https://files.pythonhosted.org/packages/b5/6c/6943a91768fec16db09a42b08644b960cff540c66aab89b74be6d4a144ba/rpds_py-0.27.1-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:7ee6521b9baf06085f62ba9c7a3e5becffbc32480d2f1b351559c001c38ce4c1", size = 593646 }, - { url = "https://files.pythonhosted.org/packages/11/73/9d7a8f4be5f4396f011a6bb7a19fe26303a0dac9064462f5651ced2f572f/rpds_py-0.27.1-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:a512c8263249a9d68cac08b05dd59d2b3f2061d99b322813cbcc14c3c7421998", size = 558137 }, - { url = "https://files.pythonhosted.org/packages/6e/96/6772cbfa0e2485bcceef8071de7821f81aeac8bb45fbfd5542a3e8108165/rpds_py-0.27.1-cp312-cp312-win32.whl", hash = "sha256:819064fa048ba01b6dadc5116f3ac48610435ac9a0058bbde98e569f9e785c39", size = 221343 }, - { url = "https://files.pythonhosted.org/packages/67/b6/c82f0faa9af1c6a64669f73a17ee0eeef25aff30bb9a1c318509efe45d84/rpds_py-0.27.1-cp312-cp312-win_amd64.whl", hash = "sha256:d9199717881f13c32c4046a15f024971a3b78ad4ea029e8da6b86e5aa9cf4594", size = 232497 }, - { url = "https://files.pythonhosted.org/packages/e1/96/2817b44bd2ed11aebacc9251da03689d56109b9aba5e311297b6902136e2/rpds_py-0.27.1-cp312-cp312-win_arm64.whl", hash = "sha256:33aa65b97826a0e885ef6e278fbd934e98cdcfed80b63946025f01e2f5b29502", size = 222790 }, - { url = "https://files.pythonhosted.org/packages/cc/77/610aeee8d41e39080c7e14afa5387138e3c9fa9756ab893d09d99e7d8e98/rpds_py-0.27.1-cp313-cp313-macosx_10_12_x86_64.whl", hash = "sha256:e4b9fcfbc021633863a37e92571d6f91851fa656f0180246e84cbd8b3f6b329b", size = 361741 }, - { url = "https://files.pythonhosted.org/packages/3a/fc/c43765f201c6a1c60be2043cbdb664013def52460a4c7adace89d6682bf4/rpds_py-0.27.1-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:1441811a96eadca93c517d08df75de45e5ffe68aa3089924f963c782c4b898cf", size = 345574 }, - { url = "https://files.pythonhosted.org/packages/20/42/ee2b2ca114294cd9847d0ef9c26d2b0851b2e7e00bf14cc4c0b581df0fc3/rpds_py-0.27.1-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:55266dafa22e672f5a4f65019015f90336ed31c6383bd53f5e7826d21a0e0b83", size = 385051 }, - { url = "https://files.pythonhosted.org/packages/fd/e8/1e430fe311e4799e02e2d1af7c765f024e95e17d651612425b226705f910/rpds_py-0.27.1-cp313-cp313-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:d78827d7ac08627ea2c8e02c9e5b41180ea5ea1f747e9db0915e3adf36b62dcf", size = 398395 }, - { url = "https://files.pythonhosted.org/packages/82/95/9dc227d441ff2670651c27a739acb2535ccaf8b351a88d78c088965e5996/rpds_py-0.27.1-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:ae92443798a40a92dc5f0b01d8a7c93adde0c4dc965310a29ae7c64d72b9fad2", size = 524334 }, - { url = "https://files.pythonhosted.org/packages/87/01/a670c232f401d9ad461d9a332aa4080cd3cb1d1df18213dbd0d2a6a7ab51/rpds_py-0.27.1-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:c46c9dd2403b66a2a3b9720ec4b74d4ab49d4fabf9f03dfdce2d42af913fe8d0", size = 407691 }, - { url = "https://files.pythonhosted.org/packages/03/36/0a14aebbaa26fe7fab4780c76f2239e76cc95a0090bdb25e31d95c492fcd/rpds_py-0.27.1-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:2efe4eb1d01b7f5f1939f4ef30ecea6c6b3521eec451fb93191bf84b2a522418", size = 386868 }, - { url = "https://files.pythonhosted.org/packages/3b/03/8c897fb8b5347ff6c1cc31239b9611c5bf79d78c984430887a353e1409a1/rpds_py-0.27.1-cp313-cp313-manylinux_2_31_riscv64.whl", hash = "sha256:15d3b4d83582d10c601f481eca29c3f138d44c92187d197aff663a269197c02d", size = 405469 }, - { url = "https://files.pythonhosted.org/packages/da/07/88c60edc2df74850d496d78a1fdcdc7b54360a7f610a4d50008309d41b94/rpds_py-0.27.1-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:4ed2e16abbc982a169d30d1a420274a709949e2cbdef119fe2ec9d870b42f274", size = 422125 }, - { url = "https://files.pythonhosted.org/packages/6b/86/5f4c707603e41b05f191a749984f390dabcbc467cf833769b47bf14ba04f/rpds_py-0.27.1-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:a75f305c9b013289121ec0f1181931975df78738cdf650093e6b86d74aa7d8dd", size = 562341 }, - { url = "https://files.pythonhosted.org/packages/b2/92/3c0cb2492094e3cd9baf9e49bbb7befeceb584ea0c1a8b5939dca4da12e5/rpds_py-0.27.1-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:67ce7620704745881a3d4b0ada80ab4d99df390838839921f99e63c474f82cf2", size = 592511 }, - { url = "https://files.pythonhosted.org/packages/10/bb/82e64fbb0047c46a168faa28d0d45a7851cd0582f850b966811d30f67ad8/rpds_py-0.27.1-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:9d992ac10eb86d9b6f369647b6a3f412fc0075cfd5d799530e84d335e440a002", size = 557736 }, - { url = "https://files.pythonhosted.org/packages/00/95/3c863973d409210da7fb41958172c6b7dbe7fc34e04d3cc1f10bb85e979f/rpds_py-0.27.1-cp313-cp313-win32.whl", hash = "sha256:4f75e4bd8ab8db624e02c8e2fc4063021b58becdbe6df793a8111d9343aec1e3", size = 221462 }, - { url = "https://files.pythonhosted.org/packages/ce/2c/5867b14a81dc217b56d95a9f2a40fdbc56a1ab0181b80132beeecbd4b2d6/rpds_py-0.27.1-cp313-cp313-win_amd64.whl", hash = "sha256:f9025faafc62ed0b75a53e541895ca272815bec18abe2249ff6501c8f2e12b83", size = 232034 }, - { url = "https://files.pythonhosted.org/packages/c7/78/3958f3f018c01923823f1e47f1cc338e398814b92d83cd278364446fac66/rpds_py-0.27.1-cp313-cp313-win_arm64.whl", hash = "sha256:ed10dc32829e7d222b7d3b93136d25a406ba9788f6a7ebf6809092da1f4d279d", size = 222392 }, - { url = "https://files.pythonhosted.org/packages/01/76/1cdf1f91aed5c3a7bf2eba1f1c4e4d6f57832d73003919a20118870ea659/rpds_py-0.27.1-cp313-cp313t-macosx_10_12_x86_64.whl", hash = "sha256:92022bbbad0d4426e616815b16bc4127f83c9a74940e1ccf3cfe0b387aba0228", size = 358355 }, - { url = "https://files.pythonhosted.org/packages/c3/6f/bf142541229374287604caf3bb2a4ae17f0a580798fd72d3b009b532db4e/rpds_py-0.27.1-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:47162fdab9407ec3f160805ac3e154df042e577dd53341745fc7fb3f625e6d92", size = 342138 }, - { url = "https://files.pythonhosted.org/packages/1a/77/355b1c041d6be40886c44ff5e798b4e2769e497b790f0f7fd1e78d17e9a8/rpds_py-0.27.1-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:fb89bec23fddc489e5d78b550a7b773557c9ab58b7946154a10a6f7a214a48b2", size = 380247 }, - { url = "https://files.pythonhosted.org/packages/d6/a4/d9cef5c3946ea271ce2243c51481971cd6e34f21925af2783dd17b26e815/rpds_py-0.27.1-cp313-cp313t-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:e48af21883ded2b3e9eb48cb7880ad8598b31ab752ff3be6457001d78f416723", size = 390699 }, - { url = "https://files.pythonhosted.org/packages/3a/06/005106a7b8c6c1a7e91b73169e49870f4af5256119d34a361ae5240a0c1d/rpds_py-0.27.1-cp313-cp313t-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:6f5b7bd8e219ed50299e58551a410b64daafb5017d54bbe822e003856f06a802", size = 521852 }, - { url = "https://files.pythonhosted.org/packages/e5/3e/50fb1dac0948e17a02eb05c24510a8fe12d5ce8561c6b7b7d1339ab7ab9c/rpds_py-0.27.1-cp313-cp313t-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:08f1e20bccf73b08d12d804d6e1c22ca5530e71659e6673bce31a6bb71c1e73f", size = 402582 }, - { url = "https://files.pythonhosted.org/packages/cb/b0/f4e224090dc5b0ec15f31a02d746ab24101dd430847c4d99123798661bfc/rpds_py-0.27.1-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:0dc5dceeaefcc96dc192e3a80bbe1d6c410c469e97bdd47494a7d930987f18b2", size = 384126 }, - { url = "https://files.pythonhosted.org/packages/54/77/ac339d5f82b6afff1df8f0fe0d2145cc827992cb5f8eeb90fc9f31ef7a63/rpds_py-0.27.1-cp313-cp313t-manylinux_2_31_riscv64.whl", hash = "sha256:d76f9cc8665acdc0c9177043746775aa7babbf479b5520b78ae4002d889f5c21", size = 399486 }, - { url = "https://files.pythonhosted.org/packages/d6/29/3e1c255eee6ac358c056a57d6d6869baa00a62fa32eea5ee0632039c50a3/rpds_py-0.27.1-cp313-cp313t-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:134fae0e36022edad8290a6661edf40c023562964efea0cc0ec7f5d392d2aaef", size = 414832 }, - { url = "https://files.pythonhosted.org/packages/3f/db/6d498b844342deb3fa1d030598db93937a9964fcf5cb4da4feb5f17be34b/rpds_py-0.27.1-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:eb11a4f1b2b63337cfd3b4d110af778a59aae51c81d195768e353d8b52f88081", size = 557249 }, - { url = "https://files.pythonhosted.org/packages/60/f3/690dd38e2310b6f68858a331399b4d6dbb9132c3e8ef8b4333b96caf403d/rpds_py-0.27.1-cp313-cp313t-musllinux_1_2_i686.whl", hash = "sha256:13e608ac9f50a0ed4faec0e90ece76ae33b34c0e8656e3dceb9a7db994c692cd", size = 587356 }, - { url = "https://files.pythonhosted.org/packages/86/e3/84507781cccd0145f35b1dc32c72675200c5ce8d5b30f813e49424ef68fc/rpds_py-0.27.1-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:dd2135527aa40f061350c3f8f89da2644de26cd73e4de458e79606384f4f68e7", size = 555300 }, - { url = "https://files.pythonhosted.org/packages/e5/ee/375469849e6b429b3516206b4580a79e9ef3eb12920ddbd4492b56eaacbe/rpds_py-0.27.1-cp313-cp313t-win32.whl", hash = "sha256:3020724ade63fe320a972e2ffd93b5623227e684315adce194941167fee02688", size = 216714 }, - { url = "https://files.pythonhosted.org/packages/21/87/3fc94e47c9bd0742660e84706c311a860dcae4374cf4a03c477e23ce605a/rpds_py-0.27.1-cp313-cp313t-win_amd64.whl", hash = "sha256:8ee50c3e41739886606388ba3ab3ee2aae9f35fb23f833091833255a31740797", size = 228943 }, +sdist = { url = "https://files.pythonhosted.org/packages/e9/dd/2c0cbe774744272b0ae725f44032c77bdcab6e8bcf544bffa3b6e70c8dba/rpds_py-0.27.1.tar.gz", hash = "sha256:26a1c73171d10b7acccbded82bf6a586ab8203601e565badc74bbbf8bc5a10f8", size = 27479, upload-time = "2025-08-27T12:16:36.024Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/bd/fe/38de28dee5df58b8198c743fe2bea0c785c6d40941b9950bac4cdb71a014/rpds_py-0.27.1-cp312-cp312-macosx_10_12_x86_64.whl", hash = "sha256:ae2775c1973e3c30316892737b91f9283f9908e3cc7625b9331271eaaed7dc90", size = 361887, upload-time = "2025-08-27T12:13:10.233Z" }, + { url = "https://files.pythonhosted.org/packages/7c/9a/4b6c7eedc7dd90986bf0fab6ea2a091ec11c01b15f8ba0a14d3f80450468/rpds_py-0.27.1-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:2643400120f55c8a96f7c9d858f7be0c88d383cd4653ae2cf0d0c88f668073e5", size = 345795, upload-time = "2025-08-27T12:13:11.65Z" }, + { url = "https://files.pythonhosted.org/packages/6f/0e/e650e1b81922847a09cca820237b0edee69416a01268b7754d506ade11ad/rpds_py-0.27.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:16323f674c089b0360674a4abd28d5042947d54ba620f72514d69be4ff64845e", size = 385121, upload-time = "2025-08-27T12:13:13.008Z" }, + { url = "https://files.pythonhosted.org/packages/1b/ea/b306067a712988e2bff00dcc7c8f31d26c29b6d5931b461aa4b60a013e33/rpds_py-0.27.1-cp312-cp312-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:9a1f4814b65eacac94a00fc9a526e3fdafd78e439469644032032d0d63de4881", size = 398976, upload-time = "2025-08-27T12:13:14.368Z" }, + { url = "https://files.pythonhosted.org/packages/2c/0a/26dc43c8840cb8fe239fe12dbc8d8de40f2365e838f3d395835dde72f0e5/rpds_py-0.27.1-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:7ba32c16b064267b22f1850a34051121d423b6f7338a12b9459550eb2096e7ec", size = 525953, upload-time = "2025-08-27T12:13:15.774Z" }, + { url = "https://files.pythonhosted.org/packages/22/14/c85e8127b573aaf3a0cbd7fbb8c9c99e735a4a02180c84da2a463b766e9e/rpds_py-0.27.1-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:e5c20f33fd10485b80f65e800bbe5f6785af510b9f4056c5a3c612ebc83ba6cb", size = 407915, upload-time = "2025-08-27T12:13:17.379Z" }, + { url = "https://files.pythonhosted.org/packages/ed/7b/8f4fee9ba1fb5ec856eb22d725a4efa3deb47f769597c809e03578b0f9d9/rpds_py-0.27.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:466bfe65bd932da36ff279ddd92de56b042f2266d752719beb97b08526268ec5", size = 386883, upload-time = "2025-08-27T12:13:18.704Z" }, + { url = "https://files.pythonhosted.org/packages/86/47/28fa6d60f8b74fcdceba81b272f8d9836ac0340570f68f5df6b41838547b/rpds_py-0.27.1-cp312-cp312-manylinux_2_31_riscv64.whl", hash = "sha256:41e532bbdcb57c92ba3be62c42e9f096431b4cf478da9bc3bc6ce5c38ab7ba7a", size = 405699, upload-time = "2025-08-27T12:13:20.089Z" }, + { url = "https://files.pythonhosted.org/packages/d0/fd/c5987b5e054548df56953a21fe2ebed51fc1ec7c8f24fd41c067b68c4a0a/rpds_py-0.27.1-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:f149826d742b406579466283769a8ea448eed82a789af0ed17b0cd5770433444", size = 423713, upload-time = "2025-08-27T12:13:21.436Z" }, + { url = "https://files.pythonhosted.org/packages/ac/ba/3c4978b54a73ed19a7d74531be37a8bcc542d917c770e14d372b8daea186/rpds_py-0.27.1-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:80c60cfb5310677bd67cb1e85a1e8eb52e12529545441b43e6f14d90b878775a", size = 562324, upload-time = "2025-08-27T12:13:22.789Z" }, + { url = "https://files.pythonhosted.org/packages/b5/6c/6943a91768fec16db09a42b08644b960cff540c66aab89b74be6d4a144ba/rpds_py-0.27.1-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:7ee6521b9baf06085f62ba9c7a3e5becffbc32480d2f1b351559c001c38ce4c1", size = 593646, upload-time = "2025-08-27T12:13:24.122Z" }, + { url = "https://files.pythonhosted.org/packages/11/73/9d7a8f4be5f4396f011a6bb7a19fe26303a0dac9064462f5651ced2f572f/rpds_py-0.27.1-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:a512c8263249a9d68cac08b05dd59d2b3f2061d99b322813cbcc14c3c7421998", size = 558137, upload-time = "2025-08-27T12:13:25.557Z" }, + { url = "https://files.pythonhosted.org/packages/6e/96/6772cbfa0e2485bcceef8071de7821f81aeac8bb45fbfd5542a3e8108165/rpds_py-0.27.1-cp312-cp312-win32.whl", hash = "sha256:819064fa048ba01b6dadc5116f3ac48610435ac9a0058bbde98e569f9e785c39", size = 221343, upload-time = "2025-08-27T12:13:26.967Z" }, + { url = "https://files.pythonhosted.org/packages/67/b6/c82f0faa9af1c6a64669f73a17ee0eeef25aff30bb9a1c318509efe45d84/rpds_py-0.27.1-cp312-cp312-win_amd64.whl", hash = "sha256:d9199717881f13c32c4046a15f024971a3b78ad4ea029e8da6b86e5aa9cf4594", size = 232497, upload-time = "2025-08-27T12:13:28.326Z" }, + { url = "https://files.pythonhosted.org/packages/e1/96/2817b44bd2ed11aebacc9251da03689d56109b9aba5e311297b6902136e2/rpds_py-0.27.1-cp312-cp312-win_arm64.whl", hash = "sha256:33aa65b97826a0e885ef6e278fbd934e98cdcfed80b63946025f01e2f5b29502", size = 222790, upload-time = "2025-08-27T12:13:29.71Z" }, + { url = "https://files.pythonhosted.org/packages/cc/77/610aeee8d41e39080c7e14afa5387138e3c9fa9756ab893d09d99e7d8e98/rpds_py-0.27.1-cp313-cp313-macosx_10_12_x86_64.whl", hash = "sha256:e4b9fcfbc021633863a37e92571d6f91851fa656f0180246e84cbd8b3f6b329b", size = 361741, upload-time = "2025-08-27T12:13:31.039Z" }, + { url = "https://files.pythonhosted.org/packages/3a/fc/c43765f201c6a1c60be2043cbdb664013def52460a4c7adace89d6682bf4/rpds_py-0.27.1-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:1441811a96eadca93c517d08df75de45e5ffe68aa3089924f963c782c4b898cf", size = 345574, upload-time = "2025-08-27T12:13:32.902Z" }, + { url = "https://files.pythonhosted.org/packages/20/42/ee2b2ca114294cd9847d0ef9c26d2b0851b2e7e00bf14cc4c0b581df0fc3/rpds_py-0.27.1-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:55266dafa22e672f5a4f65019015f90336ed31c6383bd53f5e7826d21a0e0b83", size = 385051, upload-time = "2025-08-27T12:13:34.228Z" }, + { url = "https://files.pythonhosted.org/packages/fd/e8/1e430fe311e4799e02e2d1af7c765f024e95e17d651612425b226705f910/rpds_py-0.27.1-cp313-cp313-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:d78827d7ac08627ea2c8e02c9e5b41180ea5ea1f747e9db0915e3adf36b62dcf", size = 398395, upload-time = "2025-08-27T12:13:36.132Z" }, + { url = "https://files.pythonhosted.org/packages/82/95/9dc227d441ff2670651c27a739acb2535ccaf8b351a88d78c088965e5996/rpds_py-0.27.1-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:ae92443798a40a92dc5f0b01d8a7c93adde0c4dc965310a29ae7c64d72b9fad2", size = 524334, upload-time = "2025-08-27T12:13:37.562Z" }, + { url = "https://files.pythonhosted.org/packages/87/01/a670c232f401d9ad461d9a332aa4080cd3cb1d1df18213dbd0d2a6a7ab51/rpds_py-0.27.1-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:c46c9dd2403b66a2a3b9720ec4b74d4ab49d4fabf9f03dfdce2d42af913fe8d0", size = 407691, upload-time = "2025-08-27T12:13:38.94Z" }, + { url = "https://files.pythonhosted.org/packages/03/36/0a14aebbaa26fe7fab4780c76f2239e76cc95a0090bdb25e31d95c492fcd/rpds_py-0.27.1-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:2efe4eb1d01b7f5f1939f4ef30ecea6c6b3521eec451fb93191bf84b2a522418", size = 386868, upload-time = "2025-08-27T12:13:40.192Z" }, + { url = "https://files.pythonhosted.org/packages/3b/03/8c897fb8b5347ff6c1cc31239b9611c5bf79d78c984430887a353e1409a1/rpds_py-0.27.1-cp313-cp313-manylinux_2_31_riscv64.whl", hash = "sha256:15d3b4d83582d10c601f481eca29c3f138d44c92187d197aff663a269197c02d", size = 405469, upload-time = "2025-08-27T12:13:41.496Z" }, + { url = "https://files.pythonhosted.org/packages/da/07/88c60edc2df74850d496d78a1fdcdc7b54360a7f610a4d50008309d41b94/rpds_py-0.27.1-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:4ed2e16abbc982a169d30d1a420274a709949e2cbdef119fe2ec9d870b42f274", size = 422125, upload-time = "2025-08-27T12:13:42.802Z" }, + { url = "https://files.pythonhosted.org/packages/6b/86/5f4c707603e41b05f191a749984f390dabcbc467cf833769b47bf14ba04f/rpds_py-0.27.1-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:a75f305c9b013289121ec0f1181931975df78738cdf650093e6b86d74aa7d8dd", size = 562341, upload-time = "2025-08-27T12:13:44.472Z" }, + { url = "https://files.pythonhosted.org/packages/b2/92/3c0cb2492094e3cd9baf9e49bbb7befeceb584ea0c1a8b5939dca4da12e5/rpds_py-0.27.1-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:67ce7620704745881a3d4b0ada80ab4d99df390838839921f99e63c474f82cf2", size = 592511, upload-time = "2025-08-27T12:13:45.898Z" }, + { url = "https://files.pythonhosted.org/packages/10/bb/82e64fbb0047c46a168faa28d0d45a7851cd0582f850b966811d30f67ad8/rpds_py-0.27.1-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:9d992ac10eb86d9b6f369647b6a3f412fc0075cfd5d799530e84d335e440a002", size = 557736, upload-time = "2025-08-27T12:13:47.408Z" }, + { url = "https://files.pythonhosted.org/packages/00/95/3c863973d409210da7fb41958172c6b7dbe7fc34e04d3cc1f10bb85e979f/rpds_py-0.27.1-cp313-cp313-win32.whl", hash = "sha256:4f75e4bd8ab8db624e02c8e2fc4063021b58becdbe6df793a8111d9343aec1e3", size = 221462, upload-time = "2025-08-27T12:13:48.742Z" }, + { url = "https://files.pythonhosted.org/packages/ce/2c/5867b14a81dc217b56d95a9f2a40fdbc56a1ab0181b80132beeecbd4b2d6/rpds_py-0.27.1-cp313-cp313-win_amd64.whl", hash = "sha256:f9025faafc62ed0b75a53e541895ca272815bec18abe2249ff6501c8f2e12b83", size = 232034, upload-time = "2025-08-27T12:13:50.11Z" }, + { url = "https://files.pythonhosted.org/packages/c7/78/3958f3f018c01923823f1e47f1cc338e398814b92d83cd278364446fac66/rpds_py-0.27.1-cp313-cp313-win_arm64.whl", hash = "sha256:ed10dc32829e7d222b7d3b93136d25a406ba9788f6a7ebf6809092da1f4d279d", size = 222392, upload-time = "2025-08-27T12:13:52.587Z" }, + { url = "https://files.pythonhosted.org/packages/01/76/1cdf1f91aed5c3a7bf2eba1f1c4e4d6f57832d73003919a20118870ea659/rpds_py-0.27.1-cp313-cp313t-macosx_10_12_x86_64.whl", hash = "sha256:92022bbbad0d4426e616815b16bc4127f83c9a74940e1ccf3cfe0b387aba0228", size = 358355, upload-time = "2025-08-27T12:13:54.012Z" }, + { url = "https://files.pythonhosted.org/packages/c3/6f/bf142541229374287604caf3bb2a4ae17f0a580798fd72d3b009b532db4e/rpds_py-0.27.1-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:47162fdab9407ec3f160805ac3e154df042e577dd53341745fc7fb3f625e6d92", size = 342138, upload-time = "2025-08-27T12:13:55.791Z" }, + { url = "https://files.pythonhosted.org/packages/1a/77/355b1c041d6be40886c44ff5e798b4e2769e497b790f0f7fd1e78d17e9a8/rpds_py-0.27.1-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:fb89bec23fddc489e5d78b550a7b773557c9ab58b7946154a10a6f7a214a48b2", size = 380247, upload-time = "2025-08-27T12:13:57.683Z" }, + { url = "https://files.pythonhosted.org/packages/d6/a4/d9cef5c3946ea271ce2243c51481971cd6e34f21925af2783dd17b26e815/rpds_py-0.27.1-cp313-cp313t-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:e48af21883ded2b3e9eb48cb7880ad8598b31ab752ff3be6457001d78f416723", size = 390699, upload-time = "2025-08-27T12:13:59.137Z" }, + { url = "https://files.pythonhosted.org/packages/3a/06/005106a7b8c6c1a7e91b73169e49870f4af5256119d34a361ae5240a0c1d/rpds_py-0.27.1-cp313-cp313t-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:6f5b7bd8e219ed50299e58551a410b64daafb5017d54bbe822e003856f06a802", size = 521852, upload-time = "2025-08-27T12:14:00.583Z" }, + { url = "https://files.pythonhosted.org/packages/e5/3e/50fb1dac0948e17a02eb05c24510a8fe12d5ce8561c6b7b7d1339ab7ab9c/rpds_py-0.27.1-cp313-cp313t-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:08f1e20bccf73b08d12d804d6e1c22ca5530e71659e6673bce31a6bb71c1e73f", size = 402582, upload-time = "2025-08-27T12:14:02.034Z" }, + { url = "https://files.pythonhosted.org/packages/cb/b0/f4e224090dc5b0ec15f31a02d746ab24101dd430847c4d99123798661bfc/rpds_py-0.27.1-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:0dc5dceeaefcc96dc192e3a80bbe1d6c410c469e97bdd47494a7d930987f18b2", size = 384126, upload-time = "2025-08-27T12:14:03.437Z" }, + { url = "https://files.pythonhosted.org/packages/54/77/ac339d5f82b6afff1df8f0fe0d2145cc827992cb5f8eeb90fc9f31ef7a63/rpds_py-0.27.1-cp313-cp313t-manylinux_2_31_riscv64.whl", hash = "sha256:d76f9cc8665acdc0c9177043746775aa7babbf479b5520b78ae4002d889f5c21", size = 399486, upload-time = "2025-08-27T12:14:05.443Z" }, + { url = "https://files.pythonhosted.org/packages/d6/29/3e1c255eee6ac358c056a57d6d6869baa00a62fa32eea5ee0632039c50a3/rpds_py-0.27.1-cp313-cp313t-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:134fae0e36022edad8290a6661edf40c023562964efea0cc0ec7f5d392d2aaef", size = 414832, upload-time = "2025-08-27T12:14:06.902Z" }, + { url = "https://files.pythonhosted.org/packages/3f/db/6d498b844342deb3fa1d030598db93937a9964fcf5cb4da4feb5f17be34b/rpds_py-0.27.1-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:eb11a4f1b2b63337cfd3b4d110af778a59aae51c81d195768e353d8b52f88081", size = 557249, upload-time = "2025-08-27T12:14:08.37Z" }, + { url = "https://files.pythonhosted.org/packages/60/f3/690dd38e2310b6f68858a331399b4d6dbb9132c3e8ef8b4333b96caf403d/rpds_py-0.27.1-cp313-cp313t-musllinux_1_2_i686.whl", hash = "sha256:13e608ac9f50a0ed4faec0e90ece76ae33b34c0e8656e3dceb9a7db994c692cd", size = 587356, upload-time = "2025-08-27T12:14:10.034Z" }, + { url = "https://files.pythonhosted.org/packages/86/e3/84507781cccd0145f35b1dc32c72675200c5ce8d5b30f813e49424ef68fc/rpds_py-0.27.1-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:dd2135527aa40f061350c3f8f89da2644de26cd73e4de458e79606384f4f68e7", size = 555300, upload-time = "2025-08-27T12:14:11.783Z" }, + { url = "https://files.pythonhosted.org/packages/e5/ee/375469849e6b429b3516206b4580a79e9ef3eb12920ddbd4492b56eaacbe/rpds_py-0.27.1-cp313-cp313t-win32.whl", hash = "sha256:3020724ade63fe320a972e2ffd93b5623227e684315adce194941167fee02688", size = 216714, upload-time = "2025-08-27T12:14:13.629Z" }, + { url = "https://files.pythonhosted.org/packages/21/87/3fc94e47c9bd0742660e84706c311a860dcae4374cf4a03c477e23ce605a/rpds_py-0.27.1-cp313-cp313t-win_amd64.whl", hash = "sha256:8ee50c3e41739886606388ba3ab3ee2aae9f35fb23f833091833255a31740797", size = 228943, upload-time = "2025-08-27T12:14:14.937Z" }, ] [[package]] name = "ruff" version = "0.13.0" source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/6e/1a/1f4b722862840295bcaba8c9e5261572347509548faaa99b2d57ee7bfe6a/ruff-0.13.0.tar.gz", hash = "sha256:5b4b1ee7eb35afae128ab94459b13b2baaed282b1fb0f472a73c82c996c8ae60", size = 5372863 } -wheels = [ - { url = "https://files.pythonhosted.org/packages/ac/fe/6f87b419dbe166fd30a991390221f14c5b68946f389ea07913e1719741e0/ruff-0.13.0-py3-none-linux_armv6l.whl", hash = "sha256:137f3d65d58ee828ae136a12d1dc33d992773d8f7644bc6b82714570f31b2004", size = 12187826 }, - { url = "https://files.pythonhosted.org/packages/e4/25/c92296b1fc36d2499e12b74a3fdb230f77af7bdf048fad7b0a62e94ed56a/ruff-0.13.0-py3-none-macosx_10_12_x86_64.whl", hash = "sha256:21ae48151b66e71fd111b7d79f9ad358814ed58c339631450c66a4be33cc28b9", size = 12933428 }, - { url = "https://files.pythonhosted.org/packages/44/cf/40bc7221a949470307d9c35b4ef5810c294e6cfa3caafb57d882731a9f42/ruff-0.13.0-py3-none-macosx_11_0_arm64.whl", hash = "sha256:64de45f4ca5441209e41742d527944635a05a6e7c05798904f39c85bafa819e3", size = 12095543 }, - { url = "https://files.pythonhosted.org/packages/f1/03/8b5ff2a211efb68c63a1d03d157e924997ada87d01bebffbd13a0f3fcdeb/ruff-0.13.0-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:2b2c653ae9b9d46e0ef62fc6fbf5b979bda20a0b1d2b22f8f7eb0cde9f4963b8", size = 12312489 }, - { url = "https://files.pythonhosted.org/packages/37/fc/2336ef6d5e9c8d8ea8305c5f91e767d795cd4fc171a6d97ef38a5302dadc/ruff-0.13.0-py3-none-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:4cec632534332062bc9eb5884a267b689085a1afea9801bf94e3ba7498a2d207", size = 11991631 }, - { url = "https://files.pythonhosted.org/packages/39/7f/f6d574d100fca83d32637d7f5541bea2f5e473c40020bbc7fc4a4d5b7294/ruff-0.13.0-py3-none-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:dcd628101d9f7d122e120ac7c17e0a0f468b19bc925501dbe03c1cb7f5415b24", size = 13720602 }, - { url = "https://files.pythonhosted.org/packages/fd/c8/a8a5b81d8729b5d1f663348d11e2a9d65a7a9bd3c399763b1a51c72be1ce/ruff-0.13.0-py3-none-manylinux_2_17_ppc64.manylinux2014_ppc64.whl", hash = "sha256:afe37db8e1466acb173bb2a39ca92df00570e0fd7c94c72d87b51b21bb63efea", size = 14697751 }, - { url = "https://files.pythonhosted.org/packages/57/f5/183ec292272ce7ec5e882aea74937f7288e88ecb500198b832c24debc6d3/ruff-0.13.0-py3-none-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:0f96a8d90bb258d7d3358b372905fe7333aaacf6c39e2408b9f8ba181f4b6ef2", size = 14095317 }, - { url = "https://files.pythonhosted.org/packages/9f/8d/7f9771c971724701af7926c14dab31754e7b303d127b0d3f01116faef456/ruff-0.13.0-py3-none-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:94b5e3d883e4f924c5298e3f2ee0f3085819c14f68d1e5b6715597681433f153", size = 13144418 }, - { url = "https://files.pythonhosted.org/packages/a8/a6/7985ad1778e60922d4bef546688cd8a25822c58873e9ff30189cfe5dc4ab/ruff-0.13.0-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:03447f3d18479df3d24917a92d768a89f873a7181a064858ea90a804a7538991", size = 13370843 }, - { url = "https://files.pythonhosted.org/packages/64/1c/bafdd5a7a05a50cc51d9f5711da704942d8dd62df3d8c70c311e98ce9f8a/ruff-0.13.0-py3-none-manylinux_2_31_riscv64.whl", hash = "sha256:fbc6b1934eb1c0033da427c805e27d164bb713f8e273a024a7e86176d7f462cf", size = 13321891 }, - { url = "https://files.pythonhosted.org/packages/bc/3e/7817f989cb9725ef7e8d2cee74186bf90555279e119de50c750c4b7a72fe/ruff-0.13.0-py3-none-musllinux_1_2_aarch64.whl", hash = "sha256:a8ab6a3e03665d39d4a25ee199d207a488724f022db0e1fe4002968abdb8001b", size = 12119119 }, - { url = "https://files.pythonhosted.org/packages/58/07/9df080742e8d1080e60c426dce6e96a8faf9a371e2ce22eef662e3839c95/ruff-0.13.0-py3-none-musllinux_1_2_armv7l.whl", hash = "sha256:d2a5c62f8ccc6dd2fe259917482de7275cecc86141ee10432727c4816235bc41", size = 11961594 }, - { url = "https://files.pythonhosted.org/packages/6a/f4/ae1185349197d26a2316840cb4d6c3fba61d4ac36ed728bf0228b222d71f/ruff-0.13.0-py3-none-musllinux_1_2_i686.whl", hash = "sha256:b7b85ca27aeeb1ab421bc787009831cffe6048faae08ad80867edab9f2760945", size = 12933377 }, - { url = "https://files.pythonhosted.org/packages/b6/39/e776c10a3b349fc8209a905bfb327831d7516f6058339a613a8d2aaecacd/ruff-0.13.0-py3-none-musllinux_1_2_x86_64.whl", hash = "sha256:79ea0c44a3032af768cabfd9616e44c24303af49d633b43e3a5096e009ebe823", size = 13418555 }, - { url = "https://files.pythonhosted.org/packages/46/09/dca8df3d48e8b3f4202bf20b1658898e74b6442ac835bfe2c1816d926697/ruff-0.13.0-py3-none-win32.whl", hash = "sha256:4e473e8f0e6a04e4113f2e1de12a5039579892329ecc49958424e5568ef4f768", size = 12141613 }, - { url = "https://files.pythonhosted.org/packages/61/21/0647eb71ed99b888ad50e44d8ec65d7148babc0e242d531a499a0bbcda5f/ruff-0.13.0-py3-none-win_amd64.whl", hash = "sha256:48e5c25c7a3713eea9ce755995767f4dcd1b0b9599b638b12946e892123d1efb", size = 13258250 }, - { url = "https://files.pythonhosted.org/packages/e1/a3/03216a6a86c706df54422612981fb0f9041dbb452c3401501d4a22b942c9/ruff-0.13.0-py3-none-win_arm64.whl", hash = "sha256:ab80525317b1e1d38614addec8ac954f1b3e662de9d59114ecbf771d00cf613e", size = 12312357 }, +sdist = { url = "https://files.pythonhosted.org/packages/6e/1a/1f4b722862840295bcaba8c9e5261572347509548faaa99b2d57ee7bfe6a/ruff-0.13.0.tar.gz", hash = "sha256:5b4b1ee7eb35afae128ab94459b13b2baaed282b1fb0f472a73c82c996c8ae60", size = 5372863, upload-time = "2025-09-10T16:25:37.917Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/ac/fe/6f87b419dbe166fd30a991390221f14c5b68946f389ea07913e1719741e0/ruff-0.13.0-py3-none-linux_armv6l.whl", hash = "sha256:137f3d65d58ee828ae136a12d1dc33d992773d8f7644bc6b82714570f31b2004", size = 12187826, upload-time = "2025-09-10T16:24:39.5Z" }, + { url = "https://files.pythonhosted.org/packages/e4/25/c92296b1fc36d2499e12b74a3fdb230f77af7bdf048fad7b0a62e94ed56a/ruff-0.13.0-py3-none-macosx_10_12_x86_64.whl", hash = "sha256:21ae48151b66e71fd111b7d79f9ad358814ed58c339631450c66a4be33cc28b9", size = 12933428, upload-time = "2025-09-10T16:24:43.866Z" }, + { url = "https://files.pythonhosted.org/packages/44/cf/40bc7221a949470307d9c35b4ef5810c294e6cfa3caafb57d882731a9f42/ruff-0.13.0-py3-none-macosx_11_0_arm64.whl", hash = "sha256:64de45f4ca5441209e41742d527944635a05a6e7c05798904f39c85bafa819e3", size = 12095543, upload-time = "2025-09-10T16:24:46.638Z" }, + { url = "https://files.pythonhosted.org/packages/f1/03/8b5ff2a211efb68c63a1d03d157e924997ada87d01bebffbd13a0f3fcdeb/ruff-0.13.0-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:2b2c653ae9b9d46e0ef62fc6fbf5b979bda20a0b1d2b22f8f7eb0cde9f4963b8", size = 12312489, upload-time = "2025-09-10T16:24:49.556Z" }, + { url = "https://files.pythonhosted.org/packages/37/fc/2336ef6d5e9c8d8ea8305c5f91e767d795cd4fc171a6d97ef38a5302dadc/ruff-0.13.0-py3-none-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:4cec632534332062bc9eb5884a267b689085a1afea9801bf94e3ba7498a2d207", size = 11991631, upload-time = "2025-09-10T16:24:53.439Z" }, + { url = "https://files.pythonhosted.org/packages/39/7f/f6d574d100fca83d32637d7f5541bea2f5e473c40020bbc7fc4a4d5b7294/ruff-0.13.0-py3-none-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:dcd628101d9f7d122e120ac7c17e0a0f468b19bc925501dbe03c1cb7f5415b24", size = 13720602, upload-time = "2025-09-10T16:24:56.392Z" }, + { url = "https://files.pythonhosted.org/packages/fd/c8/a8a5b81d8729b5d1f663348d11e2a9d65a7a9bd3c399763b1a51c72be1ce/ruff-0.13.0-py3-none-manylinux_2_17_ppc64.manylinux2014_ppc64.whl", hash = "sha256:afe37db8e1466acb173bb2a39ca92df00570e0fd7c94c72d87b51b21bb63efea", size = 14697751, upload-time = "2025-09-10T16:24:59.89Z" }, + { url = "https://files.pythonhosted.org/packages/57/f5/183ec292272ce7ec5e882aea74937f7288e88ecb500198b832c24debc6d3/ruff-0.13.0-py3-none-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:0f96a8d90bb258d7d3358b372905fe7333aaacf6c39e2408b9f8ba181f4b6ef2", size = 14095317, upload-time = "2025-09-10T16:25:03.025Z" }, + { url = "https://files.pythonhosted.org/packages/9f/8d/7f9771c971724701af7926c14dab31754e7b303d127b0d3f01116faef456/ruff-0.13.0-py3-none-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:94b5e3d883e4f924c5298e3f2ee0f3085819c14f68d1e5b6715597681433f153", size = 13144418, upload-time = "2025-09-10T16:25:06.272Z" }, + { url = "https://files.pythonhosted.org/packages/a8/a6/7985ad1778e60922d4bef546688cd8a25822c58873e9ff30189cfe5dc4ab/ruff-0.13.0-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:03447f3d18479df3d24917a92d768a89f873a7181a064858ea90a804a7538991", size = 13370843, upload-time = "2025-09-10T16:25:09.965Z" }, + { url = "https://files.pythonhosted.org/packages/64/1c/bafdd5a7a05a50cc51d9f5711da704942d8dd62df3d8c70c311e98ce9f8a/ruff-0.13.0-py3-none-manylinux_2_31_riscv64.whl", hash = "sha256:fbc6b1934eb1c0033da427c805e27d164bb713f8e273a024a7e86176d7f462cf", size = 13321891, upload-time = "2025-09-10T16:25:12.969Z" }, + { url = "https://files.pythonhosted.org/packages/bc/3e/7817f989cb9725ef7e8d2cee74186bf90555279e119de50c750c4b7a72fe/ruff-0.13.0-py3-none-musllinux_1_2_aarch64.whl", hash = "sha256:a8ab6a3e03665d39d4a25ee199d207a488724f022db0e1fe4002968abdb8001b", size = 12119119, upload-time = "2025-09-10T16:25:16.621Z" }, + { url = "https://files.pythonhosted.org/packages/58/07/9df080742e8d1080e60c426dce6e96a8faf9a371e2ce22eef662e3839c95/ruff-0.13.0-py3-none-musllinux_1_2_armv7l.whl", hash = "sha256:d2a5c62f8ccc6dd2fe259917482de7275cecc86141ee10432727c4816235bc41", size = 11961594, upload-time = "2025-09-10T16:25:19.49Z" }, + { url = "https://files.pythonhosted.org/packages/6a/f4/ae1185349197d26a2316840cb4d6c3fba61d4ac36ed728bf0228b222d71f/ruff-0.13.0-py3-none-musllinux_1_2_i686.whl", hash = "sha256:b7b85ca27aeeb1ab421bc787009831cffe6048faae08ad80867edab9f2760945", size = 12933377, upload-time = "2025-09-10T16:25:22.371Z" }, + { url = "https://files.pythonhosted.org/packages/b6/39/e776c10a3b349fc8209a905bfb327831d7516f6058339a613a8d2aaecacd/ruff-0.13.0-py3-none-musllinux_1_2_x86_64.whl", hash = "sha256:79ea0c44a3032af768cabfd9616e44c24303af49d633b43e3a5096e009ebe823", size = 13418555, upload-time = "2025-09-10T16:25:25.681Z" }, + { url = "https://files.pythonhosted.org/packages/46/09/dca8df3d48e8b3f4202bf20b1658898e74b6442ac835bfe2c1816d926697/ruff-0.13.0-py3-none-win32.whl", hash = "sha256:4e473e8f0e6a04e4113f2e1de12a5039579892329ecc49958424e5568ef4f768", size = 12141613, upload-time = "2025-09-10T16:25:28.664Z" }, + { url = "https://files.pythonhosted.org/packages/61/21/0647eb71ed99b888ad50e44d8ec65d7148babc0e242d531a499a0bbcda5f/ruff-0.13.0-py3-none-win_amd64.whl", hash = "sha256:48e5c25c7a3713eea9ce755995767f4dcd1b0b9599b638b12946e892123d1efb", size = 13258250, upload-time = "2025-09-10T16:25:31.773Z" }, + { url = "https://files.pythonhosted.org/packages/e1/a3/03216a6a86c706df54422612981fb0f9041dbb452c3401501d4a22b942c9/ruff-0.13.0-py3-none-win_arm64.whl", hash = "sha256:ab80525317b1e1d38614addec8ac954f1b3e662de9d59114ecbf771d00cf613e", size = 12312357, upload-time = "2025-09-10T16:25:35.595Z" }, ] [[package]] @@ -800,38 +815,38 @@ source = { registry = "https://pypi.org/simple" } dependencies = [ { name = "numpy" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/4c/3b/546a6f0bfe791bbb7f8d591613454d15097e53f906308ec6f7c1ce588e8e/scipy-1.16.2.tar.gz", hash = "sha256:af029b153d243a80afb6eabe40b0a07f8e35c9adc269c019f364ad747f826a6b", size = 30580599 } -wheels = [ - { url = "https://files.pythonhosted.org/packages/b7/8d/6396e00db1282279a4ddd507c5f5e11f606812b608ee58517ce8abbf883f/scipy-1.16.2-cp312-cp312-macosx_10_14_x86_64.whl", hash = "sha256:89d6c100fa5c48472047632e06f0876b3c4931aac1f4291afc81a3644316bb0d", size = 36646259 }, - { url = "https://files.pythonhosted.org/packages/3b/93/ea9edd7e193fceb8eef149804491890bde73fb169c896b61aa3e2d1e4e77/scipy-1.16.2-cp312-cp312-macosx_12_0_arm64.whl", hash = "sha256:ca748936cd579d3f01928b30a17dc474550b01272d8046e3e1ee593f23620371", size = 28888976 }, - { url = "https://files.pythonhosted.org/packages/91/4d/281fddc3d80fd738ba86fd3aed9202331180b01e2c78eaae0642f22f7e83/scipy-1.16.2-cp312-cp312-macosx_14_0_arm64.whl", hash = "sha256:fac4f8ce2ddb40e2e3d0f7ec36d2a1e7f92559a2471e59aec37bd8d9de01fec0", size = 20879905 }, - { url = "https://files.pythonhosted.org/packages/69/40/b33b74c84606fd301b2915f0062e45733c6ff5708d121dd0deaa8871e2d0/scipy-1.16.2-cp312-cp312-macosx_14_0_x86_64.whl", hash = "sha256:033570f1dcefd79547a88e18bccacff025c8c647a330381064f561d43b821232", size = 23553066 }, - { url = "https://files.pythonhosted.org/packages/55/a7/22c739e2f21a42cc8f16bc76b47cff4ed54fbe0962832c589591c2abec34/scipy-1.16.2-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:ea3421209bf00c8a5ef2227de496601087d8f638a2363ee09af059bd70976dc1", size = 33336407 }, - { url = "https://files.pythonhosted.org/packages/53/11/a0160990b82999b45874dc60c0c183d3a3a969a563fffc476d5a9995c407/scipy-1.16.2-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:f66bd07ba6f84cd4a380b41d1bf3c59ea488b590a2ff96744845163309ee8e2f", size = 35673281 }, - { url = "https://files.pythonhosted.org/packages/96/53/7ef48a4cfcf243c3d0f1643f5887c81f29fdf76911c4e49331828e19fc0a/scipy-1.16.2-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:5e9feab931bd2aea4a23388c962df6468af3d808ddf2d40f94a81c5dc38f32ef", size = 36004222 }, - { url = "https://files.pythonhosted.org/packages/49/7f/71a69e0afd460049d41c65c630c919c537815277dfea214031005f474d78/scipy-1.16.2-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:03dfc75e52f72cf23ec2ced468645321407faad8f0fe7b1f5b49264adbc29cb1", size = 38664586 }, - { url = "https://files.pythonhosted.org/packages/34/95/20e02ca66fb495a95fba0642fd48e0c390d0ece9b9b14c6e931a60a12dea/scipy-1.16.2-cp312-cp312-win_amd64.whl", hash = "sha256:0ce54e07bbb394b417457409a64fd015be623f36e330ac49306433ffe04bc97e", size = 38550641 }, - { url = "https://files.pythonhosted.org/packages/92/ad/13646b9beb0a95528ca46d52b7babafbe115017814a611f2065ee4e61d20/scipy-1.16.2-cp312-cp312-win_arm64.whl", hash = "sha256:2a8ffaa4ac0df81a0b94577b18ee079f13fecdb924df3328fc44a7dc5ac46851", size = 25456070 }, - { url = "https://files.pythonhosted.org/packages/c1/27/c5b52f1ee81727a9fc457f5ac1e9bf3d6eab311805ea615c83c27ba06400/scipy-1.16.2-cp313-cp313-macosx_10_14_x86_64.whl", hash = "sha256:84f7bf944b43e20b8a894f5fe593976926744f6c185bacfcbdfbb62736b5cc70", size = 36604856 }, - { url = "https://files.pythonhosted.org/packages/32/a9/15c20d08e950b540184caa8ced675ba1128accb0e09c653780ba023a4110/scipy-1.16.2-cp313-cp313-macosx_12_0_arm64.whl", hash = "sha256:5c39026d12edc826a1ef2ad35ad1e6d7f087f934bb868fc43fa3049c8b8508f9", size = 28864626 }, - { url = "https://files.pythonhosted.org/packages/4c/fc/ea36098df653cca26062a627c1a94b0de659e97127c8491e18713ca0e3b9/scipy-1.16.2-cp313-cp313-macosx_14_0_arm64.whl", hash = "sha256:e52729ffd45b68777c5319560014d6fd251294200625d9d70fd8626516fc49f5", size = 20855689 }, - { url = "https://files.pythonhosted.org/packages/dc/6f/d0b53be55727f3e6d7c72687ec18ea6d0047cf95f1f77488b99a2bafaee1/scipy-1.16.2-cp313-cp313-macosx_14_0_x86_64.whl", hash = "sha256:024dd4a118cccec09ca3209b7e8e614931a6ffb804b2a601839499cb88bdf925", size = 23512151 }, - { url = "https://files.pythonhosted.org/packages/11/85/bf7dab56e5c4b1d3d8eef92ca8ede788418ad38a7dc3ff50262f00808760/scipy-1.16.2-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:7a5dc7ee9c33019973a470556081b0fd3c9f4c44019191039f9769183141a4d9", size = 33329824 }, - { url = "https://files.pythonhosted.org/packages/da/6a/1a927b14ddc7714111ea51f4e568203b2bb6ed59bdd036d62127c1a360c8/scipy-1.16.2-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:c2275ff105e508942f99d4e3bc56b6ef5e4b3c0af970386ca56b777608ce95b7", size = 35681881 }, - { url = "https://files.pythonhosted.org/packages/c1/5f/331148ea5780b4fcc7007a4a6a6ee0a0c1507a796365cc642d4d226e1c3a/scipy-1.16.2-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:af80196eaa84f033e48444d2e0786ec47d328ba00c71e4299b602235ffef9acb", size = 36006219 }, - { url = "https://files.pythonhosted.org/packages/46/3a/e991aa9d2aec723b4a8dcfbfc8365edec5d5e5f9f133888067f1cbb7dfc1/scipy-1.16.2-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:9fb1eb735fe3d6ed1f89918224e3385fbf6f9e23757cacc35f9c78d3b712dd6e", size = 38682147 }, - { url = "https://files.pythonhosted.org/packages/a1/57/0f38e396ad19e41b4c5db66130167eef8ee620a49bc7d0512e3bb67e0cab/scipy-1.16.2-cp313-cp313-win_amd64.whl", hash = "sha256:fda714cf45ba43c9d3bae8f2585c777f64e3f89a2e073b668b32ede412d8f52c", size = 38520766 }, - { url = "https://files.pythonhosted.org/packages/1b/a5/85d3e867b6822d331e26c862a91375bb7746a0b458db5effa093d34cdb89/scipy-1.16.2-cp313-cp313-win_arm64.whl", hash = "sha256:2f5350da923ccfd0b00e07c3e5cfb316c1c0d6c1d864c07a72d092e9f20db104", size = 25451169 }, - { url = "https://files.pythonhosted.org/packages/09/d9/60679189bcebda55992d1a45498de6d080dcaf21ce0c8f24f888117e0c2d/scipy-1.16.2-cp313-cp313t-macosx_10_14_x86_64.whl", hash = "sha256:53d8d2ee29b925344c13bda64ab51785f016b1b9617849dac10897f0701b20c1", size = 37012682 }, - { url = "https://files.pythonhosted.org/packages/83/be/a99d13ee4d3b7887a96f8c71361b9659ba4ef34da0338f14891e102a127f/scipy-1.16.2-cp313-cp313t-macosx_12_0_arm64.whl", hash = "sha256:9e05e33657efb4c6a9d23bd8300101536abd99c85cca82da0bffff8d8764d08a", size = 29389926 }, - { url = "https://files.pythonhosted.org/packages/bf/0a/130164a4881cec6ca8c00faf3b57926f28ed429cd6001a673f83c7c2a579/scipy-1.16.2-cp313-cp313t-macosx_14_0_arm64.whl", hash = "sha256:7fe65b36036357003b3ef9d37547abeefaa353b237e989c21027b8ed62b12d4f", size = 21381152 }, - { url = "https://files.pythonhosted.org/packages/47/a6/503ffb0310ae77fba874e10cddfc4a1280bdcca1d13c3751b8c3c2996cf8/scipy-1.16.2-cp313-cp313t-macosx_14_0_x86_64.whl", hash = "sha256:6406d2ac6d40b861cccf57f49592f9779071655e9f75cd4f977fa0bdd09cb2e4", size = 23914410 }, - { url = "https://files.pythonhosted.org/packages/fa/c7/1147774bcea50d00c02600aadaa919facbd8537997a62496270133536ed6/scipy-1.16.2-cp313-cp313t-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:ff4dc42bd321991fbf611c23fc35912d690f731c9914bf3af8f417e64aca0f21", size = 33481880 }, - { url = "https://files.pythonhosted.org/packages/6a/74/99d5415e4c3e46b2586f30cdbecb95e101c7192628a484a40dd0d163811a/scipy-1.16.2-cp313-cp313t-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:654324826654d4d9133e10675325708fb954bc84dae6e9ad0a52e75c6b1a01d7", size = 35791425 }, - { url = "https://files.pythonhosted.org/packages/1b/ee/a6559de7c1cc710e938c0355d9d4fbcd732dac4d0d131959d1f3b63eb29c/scipy-1.16.2-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:63870a84cd15c44e65220eaed2dac0e8f8b26bbb991456a033c1d9abfe8a94f8", size = 36178622 }, - { url = "https://files.pythonhosted.org/packages/4e/7b/f127a5795d5ba8ece4e0dce7d4a9fb7cb9e4f4757137757d7a69ab7d4f1a/scipy-1.16.2-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:fa01f0f6a3050fa6a9771a95d5faccc8e2f5a92b4a2e5440a0fa7264a2398472", size = 38783985 }, - { url = "https://files.pythonhosted.org/packages/3e/9f/bc81c1d1e033951eb5912cd3750cc005943afa3e65a725d2443a3b3c4347/scipy-1.16.2-cp313-cp313t-win_amd64.whl", hash = "sha256:116296e89fba96f76353a8579820c2512f6e55835d3fad7780fece04367de351", size = 38631367 }, - { url = "https://files.pythonhosted.org/packages/d6/5e/2cc7555fd81d01814271412a1d59a289d25f8b63208a0a16c21069d55d3e/scipy-1.16.2-cp313-cp313t-win_arm64.whl", hash = "sha256:98e22834650be81d42982360382b43b17f7ba95e0e6993e2a4f5b9ad9283a94d", size = 25787992 }, +sdist = { url = "https://files.pythonhosted.org/packages/4c/3b/546a6f0bfe791bbb7f8d591613454d15097e53f906308ec6f7c1ce588e8e/scipy-1.16.2.tar.gz", hash = "sha256:af029b153d243a80afb6eabe40b0a07f8e35c9adc269c019f364ad747f826a6b", size = 30580599, upload-time = "2025-09-11T17:48:08.271Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/b7/8d/6396e00db1282279a4ddd507c5f5e11f606812b608ee58517ce8abbf883f/scipy-1.16.2-cp312-cp312-macosx_10_14_x86_64.whl", hash = "sha256:89d6c100fa5c48472047632e06f0876b3c4931aac1f4291afc81a3644316bb0d", size = 36646259, upload-time = "2025-09-11T17:40:39.329Z" }, + { url = "https://files.pythonhosted.org/packages/3b/93/ea9edd7e193fceb8eef149804491890bde73fb169c896b61aa3e2d1e4e77/scipy-1.16.2-cp312-cp312-macosx_12_0_arm64.whl", hash = "sha256:ca748936cd579d3f01928b30a17dc474550b01272d8046e3e1ee593f23620371", size = 28888976, upload-time = "2025-09-11T17:40:46.82Z" }, + { url = "https://files.pythonhosted.org/packages/91/4d/281fddc3d80fd738ba86fd3aed9202331180b01e2c78eaae0642f22f7e83/scipy-1.16.2-cp312-cp312-macosx_14_0_arm64.whl", hash = "sha256:fac4f8ce2ddb40e2e3d0f7ec36d2a1e7f92559a2471e59aec37bd8d9de01fec0", size = 20879905, upload-time = "2025-09-11T17:40:52.545Z" }, + { url = "https://files.pythonhosted.org/packages/69/40/b33b74c84606fd301b2915f0062e45733c6ff5708d121dd0deaa8871e2d0/scipy-1.16.2-cp312-cp312-macosx_14_0_x86_64.whl", hash = "sha256:033570f1dcefd79547a88e18bccacff025c8c647a330381064f561d43b821232", size = 23553066, upload-time = "2025-09-11T17:40:59.014Z" }, + { url = "https://files.pythonhosted.org/packages/55/a7/22c739e2f21a42cc8f16bc76b47cff4ed54fbe0962832c589591c2abec34/scipy-1.16.2-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:ea3421209bf00c8a5ef2227de496601087d8f638a2363ee09af059bd70976dc1", size = 33336407, upload-time = "2025-09-11T17:41:06.796Z" }, + { url = "https://files.pythonhosted.org/packages/53/11/a0160990b82999b45874dc60c0c183d3a3a969a563fffc476d5a9995c407/scipy-1.16.2-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:f66bd07ba6f84cd4a380b41d1bf3c59ea488b590a2ff96744845163309ee8e2f", size = 35673281, upload-time = "2025-09-11T17:41:15.055Z" }, + { url = "https://files.pythonhosted.org/packages/96/53/7ef48a4cfcf243c3d0f1643f5887c81f29fdf76911c4e49331828e19fc0a/scipy-1.16.2-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:5e9feab931bd2aea4a23388c962df6468af3d808ddf2d40f94a81c5dc38f32ef", size = 36004222, upload-time = "2025-09-11T17:41:23.868Z" }, + { url = "https://files.pythonhosted.org/packages/49/7f/71a69e0afd460049d41c65c630c919c537815277dfea214031005f474d78/scipy-1.16.2-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:03dfc75e52f72cf23ec2ced468645321407faad8f0fe7b1f5b49264adbc29cb1", size = 38664586, upload-time = "2025-09-11T17:41:31.021Z" }, + { url = "https://files.pythonhosted.org/packages/34/95/20e02ca66fb495a95fba0642fd48e0c390d0ece9b9b14c6e931a60a12dea/scipy-1.16.2-cp312-cp312-win_amd64.whl", hash = "sha256:0ce54e07bbb394b417457409a64fd015be623f36e330ac49306433ffe04bc97e", size = 38550641, upload-time = "2025-09-11T17:41:36.61Z" }, + { url = "https://files.pythonhosted.org/packages/92/ad/13646b9beb0a95528ca46d52b7babafbe115017814a611f2065ee4e61d20/scipy-1.16.2-cp312-cp312-win_arm64.whl", hash = "sha256:2a8ffaa4ac0df81a0b94577b18ee079f13fecdb924df3328fc44a7dc5ac46851", size = 25456070, upload-time = "2025-09-11T17:41:41.3Z" }, + { url = "https://files.pythonhosted.org/packages/c1/27/c5b52f1ee81727a9fc457f5ac1e9bf3d6eab311805ea615c83c27ba06400/scipy-1.16.2-cp313-cp313-macosx_10_14_x86_64.whl", hash = "sha256:84f7bf944b43e20b8a894f5fe593976926744f6c185bacfcbdfbb62736b5cc70", size = 36604856, upload-time = "2025-09-11T17:41:47.695Z" }, + { url = "https://files.pythonhosted.org/packages/32/a9/15c20d08e950b540184caa8ced675ba1128accb0e09c653780ba023a4110/scipy-1.16.2-cp313-cp313-macosx_12_0_arm64.whl", hash = "sha256:5c39026d12edc826a1ef2ad35ad1e6d7f087f934bb868fc43fa3049c8b8508f9", size = 28864626, upload-time = "2025-09-11T17:41:52.642Z" }, + { url = "https://files.pythonhosted.org/packages/4c/fc/ea36098df653cca26062a627c1a94b0de659e97127c8491e18713ca0e3b9/scipy-1.16.2-cp313-cp313-macosx_14_0_arm64.whl", hash = "sha256:e52729ffd45b68777c5319560014d6fd251294200625d9d70fd8626516fc49f5", size = 20855689, upload-time = "2025-09-11T17:41:57.886Z" }, + { url = "https://files.pythonhosted.org/packages/dc/6f/d0b53be55727f3e6d7c72687ec18ea6d0047cf95f1f77488b99a2bafaee1/scipy-1.16.2-cp313-cp313-macosx_14_0_x86_64.whl", hash = "sha256:024dd4a118cccec09ca3209b7e8e614931a6ffb804b2a601839499cb88bdf925", size = 23512151, upload-time = "2025-09-11T17:42:02.303Z" }, + { url = "https://files.pythonhosted.org/packages/11/85/bf7dab56e5c4b1d3d8eef92ca8ede788418ad38a7dc3ff50262f00808760/scipy-1.16.2-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:7a5dc7ee9c33019973a470556081b0fd3c9f4c44019191039f9769183141a4d9", size = 33329824, upload-time = "2025-09-11T17:42:07.549Z" }, + { url = "https://files.pythonhosted.org/packages/da/6a/1a927b14ddc7714111ea51f4e568203b2bb6ed59bdd036d62127c1a360c8/scipy-1.16.2-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:c2275ff105e508942f99d4e3bc56b6ef5e4b3c0af970386ca56b777608ce95b7", size = 35681881, upload-time = "2025-09-11T17:42:13.255Z" }, + { url = "https://files.pythonhosted.org/packages/c1/5f/331148ea5780b4fcc7007a4a6a6ee0a0c1507a796365cc642d4d226e1c3a/scipy-1.16.2-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:af80196eaa84f033e48444d2e0786ec47d328ba00c71e4299b602235ffef9acb", size = 36006219, upload-time = "2025-09-11T17:42:18.765Z" }, + { url = "https://files.pythonhosted.org/packages/46/3a/e991aa9d2aec723b4a8dcfbfc8365edec5d5e5f9f133888067f1cbb7dfc1/scipy-1.16.2-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:9fb1eb735fe3d6ed1f89918224e3385fbf6f9e23757cacc35f9c78d3b712dd6e", size = 38682147, upload-time = "2025-09-11T17:42:25.177Z" }, + { url = "https://files.pythonhosted.org/packages/a1/57/0f38e396ad19e41b4c5db66130167eef8ee620a49bc7d0512e3bb67e0cab/scipy-1.16.2-cp313-cp313-win_amd64.whl", hash = "sha256:fda714cf45ba43c9d3bae8f2585c777f64e3f89a2e073b668b32ede412d8f52c", size = 38520766, upload-time = "2025-09-11T17:43:25.342Z" }, + { url = "https://files.pythonhosted.org/packages/1b/a5/85d3e867b6822d331e26c862a91375bb7746a0b458db5effa093d34cdb89/scipy-1.16.2-cp313-cp313-win_arm64.whl", hash = "sha256:2f5350da923ccfd0b00e07c3e5cfb316c1c0d6c1d864c07a72d092e9f20db104", size = 25451169, upload-time = "2025-09-11T17:43:30.198Z" }, + { url = "https://files.pythonhosted.org/packages/09/d9/60679189bcebda55992d1a45498de6d080dcaf21ce0c8f24f888117e0c2d/scipy-1.16.2-cp313-cp313t-macosx_10_14_x86_64.whl", hash = "sha256:53d8d2ee29b925344c13bda64ab51785f016b1b9617849dac10897f0701b20c1", size = 37012682, upload-time = "2025-09-11T17:42:30.677Z" }, + { url = "https://files.pythonhosted.org/packages/83/be/a99d13ee4d3b7887a96f8c71361b9659ba4ef34da0338f14891e102a127f/scipy-1.16.2-cp313-cp313t-macosx_12_0_arm64.whl", hash = "sha256:9e05e33657efb4c6a9d23bd8300101536abd99c85cca82da0bffff8d8764d08a", size = 29389926, upload-time = "2025-09-11T17:42:35.845Z" }, + { url = "https://files.pythonhosted.org/packages/bf/0a/130164a4881cec6ca8c00faf3b57926f28ed429cd6001a673f83c7c2a579/scipy-1.16.2-cp313-cp313t-macosx_14_0_arm64.whl", hash = "sha256:7fe65b36036357003b3ef9d37547abeefaa353b237e989c21027b8ed62b12d4f", size = 21381152, upload-time = "2025-09-11T17:42:40.07Z" }, + { url = "https://files.pythonhosted.org/packages/47/a6/503ffb0310ae77fba874e10cddfc4a1280bdcca1d13c3751b8c3c2996cf8/scipy-1.16.2-cp313-cp313t-macosx_14_0_x86_64.whl", hash = "sha256:6406d2ac6d40b861cccf57f49592f9779071655e9f75cd4f977fa0bdd09cb2e4", size = 23914410, upload-time = "2025-09-11T17:42:44.313Z" }, + { url = "https://files.pythonhosted.org/packages/fa/c7/1147774bcea50d00c02600aadaa919facbd8537997a62496270133536ed6/scipy-1.16.2-cp313-cp313t-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:ff4dc42bd321991fbf611c23fc35912d690f731c9914bf3af8f417e64aca0f21", size = 33481880, upload-time = "2025-09-11T17:42:49.325Z" }, + { url = "https://files.pythonhosted.org/packages/6a/74/99d5415e4c3e46b2586f30cdbecb95e101c7192628a484a40dd0d163811a/scipy-1.16.2-cp313-cp313t-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:654324826654d4d9133e10675325708fb954bc84dae6e9ad0a52e75c6b1a01d7", size = 35791425, upload-time = "2025-09-11T17:42:54.711Z" }, + { url = "https://files.pythonhosted.org/packages/1b/ee/a6559de7c1cc710e938c0355d9d4fbcd732dac4d0d131959d1f3b63eb29c/scipy-1.16.2-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:63870a84cd15c44e65220eaed2dac0e8f8b26bbb991456a033c1d9abfe8a94f8", size = 36178622, upload-time = "2025-09-11T17:43:00.375Z" }, + { url = "https://files.pythonhosted.org/packages/4e/7b/f127a5795d5ba8ece4e0dce7d4a9fb7cb9e4f4757137757d7a69ab7d4f1a/scipy-1.16.2-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:fa01f0f6a3050fa6a9771a95d5faccc8e2f5a92b4a2e5440a0fa7264a2398472", size = 38783985, upload-time = "2025-09-11T17:43:06.661Z" }, + { url = "https://files.pythonhosted.org/packages/3e/9f/bc81c1d1e033951eb5912cd3750cc005943afa3e65a725d2443a3b3c4347/scipy-1.16.2-cp313-cp313t-win_amd64.whl", hash = "sha256:116296e89fba96f76353a8579820c2512f6e55835d3fad7780fece04367de351", size = 38631367, upload-time = "2025-09-11T17:43:14.44Z" }, + { url = "https://files.pythonhosted.org/packages/d6/5e/2cc7555fd81d01814271412a1d59a289d25f8b63208a0a16c21069d55d3e/scipy-1.16.2-cp313-cp313t-win_arm64.whl", hash = "sha256:98e22834650be81d42982360382b43b17f7ba95e0e6993e2a4f5b9ad9283a94d", size = 25787992, upload-time = "2025-09-11T17:43:19.745Z" }, ] [[package]] @@ -841,27 +856,27 @@ source = { registry = "https://pypi.org/simple" } dependencies = [ { name = "optype", extra = ["numpy"] }, ] -sdist = { url = "https://files.pythonhosted.org/packages/4b/84/b4c2caf7748f331870992e7ede5b5df0b080671bcef8c8c7e27a3cf8694a/scipy_stubs-1.16.2.0.tar.gz", hash = "sha256:8fdd45155fca401bb755b1b63ac2f192f84f25c3be8da2c99d1cafb2708f3052", size = 352676 } +sdist = { url = "https://files.pythonhosted.org/packages/4b/84/b4c2caf7748f331870992e7ede5b5df0b080671bcef8c8c7e27a3cf8694a/scipy_stubs-1.16.2.0.tar.gz", hash = "sha256:8fdd45155fca401bb755b1b63ac2f192f84f25c3be8da2c99d1cafb2708f3052", size = 352676, upload-time = "2025-09-11T23:28:59.236Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/83/c8/67d984c264f759e7653c130a4b12ae3b4f4304867579560e9a869adb7883/scipy_stubs-1.16.2.0-py3-none-any.whl", hash = "sha256:18c50d49e3c932033fdd4f7fa4fea9e45c8787f92bceaec9e86ccbd140e835d5", size = 553247 }, + { url = "https://files.pythonhosted.org/packages/83/c8/67d984c264f759e7653c130a4b12ae3b4f4304867579560e9a869adb7883/scipy_stubs-1.16.2.0-py3-none-any.whl", hash = "sha256:18c50d49e3c932033fdd4f7fa4fea9e45c8787f92bceaec9e86ccbd140e835d5", size = 553247, upload-time = "2025-09-11T23:28:57.688Z" }, ] [[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 } +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 }, + { 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 = "smmap" version = "5.0.2" source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/44/cd/a040c4b3119bbe532e5b0732286f805445375489fceaec1f48306068ee3b/smmap-5.0.2.tar.gz", hash = "sha256:26ea65a03958fa0c8a1c7e8c7a58fdc77221b8910f6be2131affade476898ad5", size = 22329 } +sdist = { url = "https://files.pythonhosted.org/packages/44/cd/a040c4b3119bbe532e5b0732286f805445375489fceaec1f48306068ee3b/smmap-5.0.2.tar.gz", hash = "sha256:26ea65a03958fa0c8a1c7e8c7a58fdc77221b8910f6be2131affade476898ad5", size = 22329, upload-time = "2025-01-02T07:14:40.909Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/04/be/d09147ad1ec7934636ad912901c5fd7667e1c858e19d355237db0d0cd5e4/smmap-5.0.2-py3-none-any.whl", hash = "sha256:b30115f0def7d7531d22a0fb6502488d879e75b260a9db4d0819cfb25403af5e", size = 24303 }, + { url = "https://files.pythonhosted.org/packages/04/be/d09147ad1ec7934636ad912901c5fd7667e1c858e19d355237db0d0cd5e4/smmap-5.0.2-py3-none-any.whl", hash = "sha256:b30115f0def7d7531d22a0fb6502488d879e75b260a9db4d0819cfb25403af5e", size = 24303, upload-time = "2025-01-02T07:14:38.724Z" }, ] [[package]] @@ -888,73 +903,82 @@ dependencies = [ { name = "typing-extensions" }, { name = "watchdog", marker = "sys_platform != 'darwin'" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/59/6d/327ddd5fc35fcf2aeecb4040668337f5565a1c6c95b1e892b8bfd4bb9031/streamlit-1.51.0.tar.gz", hash = "sha256:1e742a9c0b698f466c6f5bf58d333beda5a1fbe8de660743976791b5c1446ef6", size = 9742904 } +sdist = { url = "https://files.pythonhosted.org/packages/59/6d/327ddd5fc35fcf2aeecb4040668337f5565a1c6c95b1e892b8bfd4bb9031/streamlit-1.51.0.tar.gz", hash = "sha256:1e742a9c0b698f466c6f5bf58d333beda5a1fbe8de660743976791b5c1446ef6", size = 9742904, upload-time = "2025-10-29T17:07:39.082Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/39/60/868371b6482ccd9ef423c6f62650066cf8271fdb2ee84f192695ad6b7a96/streamlit-1.51.0-py3-none-any.whl", hash = "sha256:4008b029f71401ce54946bb09a6a3e36f4f7652cbb48db701224557738cfda38", size = 10171702 }, + { url = "https://files.pythonhosted.org/packages/39/60/868371b6482ccd9ef423c6f62650066cf8271fdb2ee84f192695ad6b7a96/streamlit-1.51.0-py3-none-any.whl", hash = "sha256:4008b029f71401ce54946bb09a6a3e36f4f7652cbb48db701224557738cfda38", size = 10171702, upload-time = "2025-10-29T17:07:35.97Z" }, ] [[package]] name = "tenacity" version = "9.1.2" source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/0a/d4/2b0cd0fe285e14b36db076e78c93766ff1d529d70408bd1d2a5a84f1d929/tenacity-9.1.2.tar.gz", hash = "sha256:1169d376c297e7de388d18b4481760d478b0e99a777cad3a9c86e556f4b697cb", size = 48036 } +sdist = { url = "https://files.pythonhosted.org/packages/0a/d4/2b0cd0fe285e14b36db076e78c93766ff1d529d70408bd1d2a5a84f1d929/tenacity-9.1.2.tar.gz", hash = "sha256:1169d376c297e7de388d18b4481760d478b0e99a777cad3a9c86e556f4b697cb", size = 48036, upload-time = "2025-04-02T08:25:09.966Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/e5/30/643397144bfbfec6f6ef821f36f33e57d35946c44a2352d3c9f0ae847619/tenacity-9.1.2-py3-none-any.whl", hash = "sha256:f77bf36710d8b73a50b2dd155c97b870017ad21afe6ab300326b0371b3b05138", size = 28248 }, + { url = "https://files.pythonhosted.org/packages/e5/30/643397144bfbfec6f6ef821f36f33e57d35946c44a2352d3c9f0ae847619/tenacity-9.1.2-py3-none-any.whl", hash = "sha256:f77bf36710d8b73a50b2dd155c97b870017ad21afe6ab300326b0371b3b05138", size = 28248, upload-time = "2025-04-02T08:25:07.678Z" }, ] [[package]] name = "toml" version = "0.10.2" source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/be/ba/1f744cdc819428fc6b5084ec34d9b30660f6f9daaf70eead706e3203ec3c/toml-0.10.2.tar.gz", hash = "sha256:b3bda1d108d5dd99f4a20d24d9c348e91c4db7ab1b749200bded2f839ccbe68f", size = 22253 } +sdist = { url = "https://files.pythonhosted.org/packages/be/ba/1f744cdc819428fc6b5084ec34d9b30660f6f9daaf70eead706e3203ec3c/toml-0.10.2.tar.gz", hash = "sha256:b3bda1d108d5dd99f4a20d24d9c348e91c4db7ab1b749200bded2f839ccbe68f", size = 22253, upload-time = "2020-11-01T01:40:22.204Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/44/6f/7120676b6d73228c96e17f1f794d8ab046fc910d781c8d151120c3f1569e/toml-0.10.2-py2.py3-none-any.whl", hash = "sha256:806143ae5bfb6a3c6e736a764057db0e6a0e05e338b5630894a5f779cabb4f9b", size = 16588 }, + { url = "https://files.pythonhosted.org/packages/44/6f/7120676b6d73228c96e17f1f794d8ab046fc910d781c8d151120c3f1569e/toml-0.10.2-py2.py3-none-any.whl", hash = "sha256:806143ae5bfb6a3c6e736a764057db0e6a0e05e338b5630894a5f779cabb4f9b", size = 16588, upload-time = "2020-11-01T01:40:20.672Z" }, ] [[package]] name = "tornado" version = "6.5.2" source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/09/ce/1eb500eae19f4648281bb2186927bb062d2438c2e5093d1360391afd2f90/tornado-6.5.2.tar.gz", hash = "sha256:ab53c8f9a0fa351e2c0741284e06c7a45da86afb544133201c5cc8578eb076a0", size = 510821 } +sdist = { url = "https://files.pythonhosted.org/packages/09/ce/1eb500eae19f4648281bb2186927bb062d2438c2e5093d1360391afd2f90/tornado-6.5.2.tar.gz", hash = "sha256:ab53c8f9a0fa351e2c0741284e06c7a45da86afb544133201c5cc8578eb076a0", size = 510821, upload-time = "2025-08-08T18:27:00.78Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/f6/48/6a7529df2c9cc12efd2e8f5dd219516184d703b34c06786809670df5b3bd/tornado-6.5.2-cp39-abi3-macosx_10_9_universal2.whl", hash = "sha256:2436822940d37cde62771cff8774f4f00b3c8024fe482e16ca8387b8a2724db6", size = 442563, upload-time = "2025-08-08T18:26:42.945Z" }, + { url = "https://files.pythonhosted.org/packages/f2/b5/9b575a0ed3e50b00c40b08cbce82eb618229091d09f6d14bce80fc01cb0b/tornado-6.5.2-cp39-abi3-macosx_10_9_x86_64.whl", hash = "sha256:583a52c7aa94ee046854ba81d9ebb6c81ec0fd30386d96f7640c96dad45a03ef", size = 440729, upload-time = "2025-08-08T18:26:44.473Z" }, + { url = "https://files.pythonhosted.org/packages/1b/4e/619174f52b120efcf23633c817fd3fed867c30bff785e2cd5a53a70e483c/tornado-6.5.2-cp39-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:b0fe179f28d597deab2842b86ed4060deec7388f1fd9c1b4a41adf8af058907e", size = 444295, upload-time = "2025-08-08T18:26:46.021Z" }, + { url = "https://files.pythonhosted.org/packages/95/fa/87b41709552bbd393c85dd18e4e3499dcd8983f66e7972926db8d96aa065/tornado-6.5.2-cp39-abi3-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:b186e85d1e3536d69583d2298423744740986018e393d0321df7340e71898882", size = 443644, upload-time = "2025-08-08T18:26:47.625Z" }, + { url = "https://files.pythonhosted.org/packages/f9/41/fb15f06e33d7430ca89420283a8762a4e6b8025b800ea51796ab5e6d9559/tornado-6.5.2-cp39-abi3-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:e792706668c87709709c18b353da1f7662317b563ff69f00bab83595940c7108", size = 443878, upload-time = "2025-08-08T18:26:50.599Z" }, + { url = "https://files.pythonhosted.org/packages/11/92/fe6d57da897776ad2e01e279170ea8ae726755b045fe5ac73b75357a5a3f/tornado-6.5.2-cp39-abi3-musllinux_1_2_aarch64.whl", hash = "sha256:06ceb1300fd70cb20e43b1ad8aaee0266e69e7ced38fa910ad2e03285009ce7c", size = 444549, upload-time = "2025-08-08T18:26:51.864Z" }, + { url = "https://files.pythonhosted.org/packages/9b/02/c8f4f6c9204526daf3d760f4aa555a7a33ad0e60843eac025ccfd6ff4a93/tornado-6.5.2-cp39-abi3-musllinux_1_2_i686.whl", hash = "sha256:74db443e0f5251be86cbf37929f84d8c20c27a355dd452a5cfa2aada0d001ec4", size = 443973, upload-time = "2025-08-08T18:26:53.625Z" }, + { url = "https://files.pythonhosted.org/packages/ae/2d/f5f5707b655ce2317190183868cd0f6822a1121b4baeae509ceb9590d0bd/tornado-6.5.2-cp39-abi3-musllinux_1_2_x86_64.whl", hash = "sha256:b5e735ab2889d7ed33b32a459cac490eda71a1ba6857b0118de476ab6c366c04", size = 443954, upload-time = "2025-08-08T18:26:55.072Z" }, + { url = "https://files.pythonhosted.org/packages/e8/59/593bd0f40f7355806bf6573b47b8c22f8e1374c9b6fd03114bd6b7a3dcfd/tornado-6.5.2-cp39-abi3-win32.whl", hash = "sha256:c6f29e94d9b37a95013bb669616352ddb82e3bfe8326fccee50583caebc8a5f0", size = 445023, upload-time = "2025-08-08T18:26:56.677Z" }, + { url = "https://files.pythonhosted.org/packages/c7/2a/f609b420c2f564a748a2d80ebfb2ee02a73ca80223af712fca591386cafb/tornado-6.5.2-cp39-abi3-win_amd64.whl", hash = "sha256:e56a5af51cc30dd2cae649429af65ca2f6571da29504a07995175df14c18f35f", size = 445427, upload-time = "2025-08-08T18:26:57.91Z" }, + { url = "https://files.pythonhosted.org/packages/5e/4f/e1f65e8f8c76d73658b33d33b81eed4322fb5085350e4328d5c956f0c8f9/tornado-6.5.2-cp39-abi3-win_arm64.whl", hash = "sha256:d6c33dc3672e3a1f3618eb63b7ef4683a7688e7b9e6e8f0d9aa5726360a004af", size = 444456, upload-time = "2025-08-08T18:26:59.207Z" }, +] + +[[package]] +name = "types-pytz" +version = "2026.1.1.20260304" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/fe/56/2f12a15ea8c5615c8fb896c4fbbb527ab1c0f776ed5860c6fc9ec26ea2c7/types_pytz-2026.1.1.20260304.tar.gz", hash = "sha256:0c3542d8e9b0160b424233440c52b83d6f58cae4b85333d54e4f961cf013e117", size = 11198, upload-time = "2026-03-04T03:57:24.445Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/f6/48/6a7529df2c9cc12efd2e8f5dd219516184d703b34c06786809670df5b3bd/tornado-6.5.2-cp39-abi3-macosx_10_9_universal2.whl", hash = "sha256:2436822940d37cde62771cff8774f4f00b3c8024fe482e16ca8387b8a2724db6", size = 442563 }, - { url = "https://files.pythonhosted.org/packages/f2/b5/9b575a0ed3e50b00c40b08cbce82eb618229091d09f6d14bce80fc01cb0b/tornado-6.5.2-cp39-abi3-macosx_10_9_x86_64.whl", hash = "sha256:583a52c7aa94ee046854ba81d9ebb6c81ec0fd30386d96f7640c96dad45a03ef", size = 440729 }, - { url = "https://files.pythonhosted.org/packages/1b/4e/619174f52b120efcf23633c817fd3fed867c30bff785e2cd5a53a70e483c/tornado-6.5.2-cp39-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:b0fe179f28d597deab2842b86ed4060deec7388f1fd9c1b4a41adf8af058907e", size = 444295 }, - { url = "https://files.pythonhosted.org/packages/95/fa/87b41709552bbd393c85dd18e4e3499dcd8983f66e7972926db8d96aa065/tornado-6.5.2-cp39-abi3-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:b186e85d1e3536d69583d2298423744740986018e393d0321df7340e71898882", size = 443644 }, - { url = "https://files.pythonhosted.org/packages/f9/41/fb15f06e33d7430ca89420283a8762a4e6b8025b800ea51796ab5e6d9559/tornado-6.5.2-cp39-abi3-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:e792706668c87709709c18b353da1f7662317b563ff69f00bab83595940c7108", size = 443878 }, - { url = "https://files.pythonhosted.org/packages/11/92/fe6d57da897776ad2e01e279170ea8ae726755b045fe5ac73b75357a5a3f/tornado-6.5.2-cp39-abi3-musllinux_1_2_aarch64.whl", hash = "sha256:06ceb1300fd70cb20e43b1ad8aaee0266e69e7ced38fa910ad2e03285009ce7c", size = 444549 }, - { url = "https://files.pythonhosted.org/packages/9b/02/c8f4f6c9204526daf3d760f4aa555a7a33ad0e60843eac025ccfd6ff4a93/tornado-6.5.2-cp39-abi3-musllinux_1_2_i686.whl", hash = "sha256:74db443e0f5251be86cbf37929f84d8c20c27a355dd452a5cfa2aada0d001ec4", size = 443973 }, - { url = "https://files.pythonhosted.org/packages/ae/2d/f5f5707b655ce2317190183868cd0f6822a1121b4baeae509ceb9590d0bd/tornado-6.5.2-cp39-abi3-musllinux_1_2_x86_64.whl", hash = "sha256:b5e735ab2889d7ed33b32a459cac490eda71a1ba6857b0118de476ab6c366c04", size = 443954 }, - { url = "https://files.pythonhosted.org/packages/e8/59/593bd0f40f7355806bf6573b47b8c22f8e1374c9b6fd03114bd6b7a3dcfd/tornado-6.5.2-cp39-abi3-win32.whl", hash = "sha256:c6f29e94d9b37a95013bb669616352ddb82e3bfe8326fccee50583caebc8a5f0", size = 445023 }, - { url = "https://files.pythonhosted.org/packages/c7/2a/f609b420c2f564a748a2d80ebfb2ee02a73ca80223af712fca591386cafb/tornado-6.5.2-cp39-abi3-win_amd64.whl", hash = "sha256:e56a5af51cc30dd2cae649429af65ca2f6571da29504a07995175df14c18f35f", size = 445427 }, - { url = "https://files.pythonhosted.org/packages/5e/4f/e1f65e8f8c76d73658b33d33b81eed4322fb5085350e4328d5c956f0c8f9/tornado-6.5.2-cp39-abi3-win_arm64.whl", hash = "sha256:d6c33dc3672e3a1f3618eb63b7ef4683a7688e7b9e6e8f0d9aa5726360a004af", size = 444456 }, + { url = "https://files.pythonhosted.org/packages/94/b8/e77c355f179dc89d44e7ca6dbf7a46e650806df1d356a5462e5829fccea5/types_pytz-2026.1.1.20260304-py3-none-any.whl", hash = "sha256:175332c1cf7bd6b1cc56b877f70bf02def1a3f75e5adcc05385ce2c3c70e6500", size = 10126, upload-time = "2026-03-04T03:57:23.481Z" }, ] [[package]] name = "typing-extensions" version = "4.15.0" source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/72/94/1a15dd82efb362ac84269196e94cf00f187f7ed21c242792a923cdb1c61f/typing_extensions-4.15.0.tar.gz", hash = "sha256:0cea48d173cc12fa28ecabc3b837ea3cf6f38c6d1136f85cbaaf598984861466", size = 109391 } +sdist = { url = "https://files.pythonhosted.org/packages/72/94/1a15dd82efb362ac84269196e94cf00f187f7ed21c242792a923cdb1c61f/typing_extensions-4.15.0.tar.gz", hash = "sha256:0cea48d173cc12fa28ecabc3b837ea3cf6f38c6d1136f85cbaaf598984861466", size = 109391, upload-time = "2025-08-25T13:49:26.313Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/18/67/36e9267722cc04a6b9f15c7f3441c2363321a3ea07da7ae0c0707beb2a9c/typing_extensions-4.15.0-py3-none-any.whl", hash = "sha256:f0fa19c6845758ab08074a0cfa8b7aecb71c999ca73d62883bc25cc018c4e548", size = 44614 }, + { url = "https://files.pythonhosted.org/packages/18/67/36e9267722cc04a6b9f15c7f3441c2363321a3ea07da7ae0c0707beb2a9c/typing_extensions-4.15.0-py3-none-any.whl", hash = "sha256:f0fa19c6845758ab08074a0cfa8b7aecb71c999ca73d62883bc25cc018c4e548", size = 44614, upload-time = "2025-08-25T13:49:24.86Z" }, ] [[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 } +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 }, + { 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 = "urllib3" version = "2.5.0" source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/15/22/9ee70a2574a4f4599c47dd506532914ce044817c7752a79b6a51286319bc/urllib3-2.5.0.tar.gz", hash = "sha256:3fc47733c7e419d4bc3f6b3dc2b4f890bb743906a30d56ba4a5bfa4bbff92760", size = 393185 } +sdist = { url = "https://files.pythonhosted.org/packages/15/22/9ee70a2574a4f4599c47dd506532914ce044817c7752a79b6a51286319bc/urllib3-2.5.0.tar.gz", hash = "sha256:3fc47733c7e419d4bc3f6b3dc2b4f890bb743906a30d56ba4a5bfa4bbff92760", size = 393185, upload-time = "2025-06-18T14:07:41.644Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/a7/c2/fe1e52489ae3122415c51f387e221dd0773709bad6c6cdaa599e8a2c5185/urllib3-2.5.0-py3-none-any.whl", hash = "sha256:e6b01673c0fa6a13e374b50871808eb3bf7046c4b125b216f6bf1cc604cff0dc", size = 129795 }, + { url = "https://files.pythonhosted.org/packages/a7/c2/fe1e52489ae3122415c51f387e221dd0773709bad6c6cdaa599e8a2c5185/urllib3-2.5.0-py3-none-any.whl", hash = "sha256:e6b01673c0fa6a13e374b50871808eb3bf7046c4b125b216f6bf1cc604cff0dc", size = 129795, upload-time = "2025-06-18T14:07:40.39Z" }, ] [[package]] @@ -966,25 +990,25 @@ dependencies = [ { name = "filelock" }, { name = "platformdirs" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/1c/14/37fcdba2808a6c615681cd216fecae00413c9dab44fb2e57805ecf3eaee3/virtualenv-20.34.0.tar.gz", hash = "sha256:44815b2c9dee7ed86e387b842a84f20b93f7f417f95886ca1996a72a4138eb1a", size = 6003808 } +sdist = { url = "https://files.pythonhosted.org/packages/1c/14/37fcdba2808a6c615681cd216fecae00413c9dab44fb2e57805ecf3eaee3/virtualenv-20.34.0.tar.gz", hash = "sha256:44815b2c9dee7ed86e387b842a84f20b93f7f417f95886ca1996a72a4138eb1a", size = 6003808, upload-time = "2025-08-13T14:24:07.464Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/76/06/04c8e804f813cf972e3262f3f8584c232de64f0cde9f703b46cf53a45090/virtualenv-20.34.0-py3-none-any.whl", hash = "sha256:341f5afa7eee943e4984a9207c025feedd768baff6753cd660c857ceb3e36026", size = 5983279 }, + { url = "https://files.pythonhosted.org/packages/76/06/04c8e804f813cf972e3262f3f8584c232de64f0cde9f703b46cf53a45090/virtualenv-20.34.0-py3-none-any.whl", hash = "sha256:341f5afa7eee943e4984a9207c025feedd768baff6753cd660c857ceb3e36026", size = 5983279, upload-time = "2025-08-13T14:24:05.111Z" }, ] [[package]] name = "watchdog" version = "6.0.0" source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/db/7d/7f3d619e951c88ed75c6037b246ddcf2d322812ee8ea189be89511721d54/watchdog-6.0.0.tar.gz", hash = "sha256:9ddf7c82fda3ae8e24decda1338ede66e1c99883db93711d8fb941eaa2d8c282", size = 131220 } -wheels = [ - { url = "https://files.pythonhosted.org/packages/a9/c7/ca4bf3e518cb57a686b2feb4f55a1892fd9a3dd13f470fca14e00f80ea36/watchdog-6.0.0-py3-none-manylinux2014_aarch64.whl", hash = "sha256:7607498efa04a3542ae3e05e64da8202e58159aa1fa4acddf7678d34a35d4f13", size = 79079 }, - { url = "https://files.pythonhosted.org/packages/5c/51/d46dc9332f9a647593c947b4b88e2381c8dfc0942d15b8edc0310fa4abb1/watchdog-6.0.0-py3-none-manylinux2014_armv7l.whl", hash = "sha256:9041567ee8953024c83343288ccc458fd0a2d811d6a0fd68c4c22609e3490379", size = 79078 }, - { url = "https://files.pythonhosted.org/packages/d4/57/04edbf5e169cd318d5f07b4766fee38e825d64b6913ca157ca32d1a42267/watchdog-6.0.0-py3-none-manylinux2014_i686.whl", hash = "sha256:82dc3e3143c7e38ec49d61af98d6558288c415eac98486a5c581726e0737c00e", size = 79076 }, - { url = "https://files.pythonhosted.org/packages/ab/cc/da8422b300e13cb187d2203f20b9253e91058aaf7db65b74142013478e66/watchdog-6.0.0-py3-none-manylinux2014_ppc64.whl", hash = "sha256:212ac9b8bf1161dc91bd09c048048a95ca3a4c4f5e5d4a7d1b1a7d5752a7f96f", size = 79077 }, - { url = "https://files.pythonhosted.org/packages/2c/3b/b8964e04ae1a025c44ba8e4291f86e97fac443bca31de8bd98d3263d2fcf/watchdog-6.0.0-py3-none-manylinux2014_ppc64le.whl", hash = "sha256:e3df4cbb9a450c6d49318f6d14f4bbc80d763fa587ba46ec86f99f9e6876bb26", size = 79078 }, - { url = "https://files.pythonhosted.org/packages/62/ae/a696eb424bedff7407801c257d4b1afda455fe40821a2be430e173660e81/watchdog-6.0.0-py3-none-manylinux2014_s390x.whl", hash = "sha256:2cce7cfc2008eb51feb6aab51251fd79b85d9894e98ba847408f662b3395ca3c", size = 79077 }, - { url = "https://files.pythonhosted.org/packages/b5/e8/dbf020b4d98251a9860752a094d09a65e1b436ad181faf929983f697048f/watchdog-6.0.0-py3-none-manylinux2014_x86_64.whl", hash = "sha256:20ffe5b202af80ab4266dcd3e91aae72bf2da48c0d33bdb15c66658e685e94e2", size = 79078 }, - { url = "https://files.pythonhosted.org/packages/07/f6/d0e5b343768e8bcb4cda79f0f2f55051bf26177ecd5651f84c07567461cf/watchdog-6.0.0-py3-none-win32.whl", hash = "sha256:07df1fdd701c5d4c8e55ef6cf55b8f0120fe1aef7ef39a1c6fc6bc2e606d517a", size = 79065 }, - { url = "https://files.pythonhosted.org/packages/db/d9/c495884c6e548fce18a8f40568ff120bc3a4b7b99813081c8ac0c936fa64/watchdog-6.0.0-py3-none-win_amd64.whl", hash = "sha256:cbafb470cf848d93b5d013e2ecb245d4aa1c8fd0504e863ccefa32445359d680", size = 79070 }, - { url = "https://files.pythonhosted.org/packages/33/e8/e40370e6d74ddba47f002a32919d91310d6074130fe4e17dabcafc15cbf1/watchdog-6.0.0-py3-none-win_ia64.whl", hash = "sha256:a1914259fa9e1454315171103c6a30961236f508b9b623eae470268bbcc6a22f", size = 79067 }, +sdist = { url = "https://files.pythonhosted.org/packages/db/7d/7f3d619e951c88ed75c6037b246ddcf2d322812ee8ea189be89511721d54/watchdog-6.0.0.tar.gz", hash = "sha256:9ddf7c82fda3ae8e24decda1338ede66e1c99883db93711d8fb941eaa2d8c282", size = 131220, upload-time = "2024-11-01T14:07:13.037Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/a9/c7/ca4bf3e518cb57a686b2feb4f55a1892fd9a3dd13f470fca14e00f80ea36/watchdog-6.0.0-py3-none-manylinux2014_aarch64.whl", hash = "sha256:7607498efa04a3542ae3e05e64da8202e58159aa1fa4acddf7678d34a35d4f13", size = 79079, upload-time = "2024-11-01T14:06:59.472Z" }, + { url = "https://files.pythonhosted.org/packages/5c/51/d46dc9332f9a647593c947b4b88e2381c8dfc0942d15b8edc0310fa4abb1/watchdog-6.0.0-py3-none-manylinux2014_armv7l.whl", hash = "sha256:9041567ee8953024c83343288ccc458fd0a2d811d6a0fd68c4c22609e3490379", size = 79078, upload-time = "2024-11-01T14:07:01.431Z" }, + { url = "https://files.pythonhosted.org/packages/d4/57/04edbf5e169cd318d5f07b4766fee38e825d64b6913ca157ca32d1a42267/watchdog-6.0.0-py3-none-manylinux2014_i686.whl", hash = "sha256:82dc3e3143c7e38ec49d61af98d6558288c415eac98486a5c581726e0737c00e", size = 79076, upload-time = "2024-11-01T14:07:02.568Z" }, + { url = "https://files.pythonhosted.org/packages/ab/cc/da8422b300e13cb187d2203f20b9253e91058aaf7db65b74142013478e66/watchdog-6.0.0-py3-none-manylinux2014_ppc64.whl", hash = "sha256:212ac9b8bf1161dc91bd09c048048a95ca3a4c4f5e5d4a7d1b1a7d5752a7f96f", size = 79077, upload-time = "2024-11-01T14:07:03.893Z" }, + { url = "https://files.pythonhosted.org/packages/2c/3b/b8964e04ae1a025c44ba8e4291f86e97fac443bca31de8bd98d3263d2fcf/watchdog-6.0.0-py3-none-manylinux2014_ppc64le.whl", hash = "sha256:e3df4cbb9a450c6d49318f6d14f4bbc80d763fa587ba46ec86f99f9e6876bb26", size = 79078, upload-time = "2024-11-01T14:07:05.189Z" }, + { url = "https://files.pythonhosted.org/packages/62/ae/a696eb424bedff7407801c257d4b1afda455fe40821a2be430e173660e81/watchdog-6.0.0-py3-none-manylinux2014_s390x.whl", hash = "sha256:2cce7cfc2008eb51feb6aab51251fd79b85d9894e98ba847408f662b3395ca3c", size = 79077, upload-time = "2024-11-01T14:07:06.376Z" }, + { url = "https://files.pythonhosted.org/packages/b5/e8/dbf020b4d98251a9860752a094d09a65e1b436ad181faf929983f697048f/watchdog-6.0.0-py3-none-manylinux2014_x86_64.whl", hash = "sha256:20ffe5b202af80ab4266dcd3e91aae72bf2da48c0d33bdb15c66658e685e94e2", size = 79078, upload-time = "2024-11-01T14:07:07.547Z" }, + { url = "https://files.pythonhosted.org/packages/07/f6/d0e5b343768e8bcb4cda79f0f2f55051bf26177ecd5651f84c07567461cf/watchdog-6.0.0-py3-none-win32.whl", hash = "sha256:07df1fdd701c5d4c8e55ef6cf55b8f0120fe1aef7ef39a1c6fc6bc2e606d517a", size = 79065, upload-time = "2024-11-01T14:07:09.525Z" }, + { url = "https://files.pythonhosted.org/packages/db/d9/c495884c6e548fce18a8f40568ff120bc3a4b7b99813081c8ac0c936fa64/watchdog-6.0.0-py3-none-win_amd64.whl", hash = "sha256:cbafb470cf848d93b5d013e2ecb245d4aa1c8fd0504e863ccefa32445359d680", size = 79070, upload-time = "2024-11-01T14:07:10.686Z" }, + { url = "https://files.pythonhosted.org/packages/33/e8/e40370e6d74ddba47f002a32919d91310d6074130fe4e17dabcafc15cbf1/watchdog-6.0.0-py3-none-win_ia64.whl", hash = "sha256:a1914259fa9e1454315171103c6a30961236f508b9b623eae470268bbcc6a22f", size = 79067, upload-time = "2024-11-01T14:07:11.845Z" }, ] From b26ecaf0be8d9825a053e9bdb171151fd328364d Mon Sep 17 00:00:00 2001 From: deanon Date: Tue, 17 Mar 2026 11:20:02 +0300 Subject: [PATCH 2/3] add: report for M1 --- m1_report_electro/M1_report_final.pdf | Bin 0 -> 311483 bytes m1_report_electro/conclusion.tex | 39 +++++++ m1_report_electro/intro.tex | 60 +++++++++++ m1_report_electro/main.tex | 16 +++ m1_report_electro/models/capacitance.tex | 44 ++++++++ .../models/method_of_moments.tex | 74 +++++++++++++ m1_report_electro/models/models.tex | 8 ++ m1_report_electro/models/potential_theory.tex | 71 +++++++++++++ m1_report_electro/numerical_methods.tex | 93 ++++++++++++++++ m1_report_electro/preamble.tex | 100 ++++++++++++++++++ m1_report_electro/title.tex | 18 ++++ 11 files changed, 523 insertions(+) create mode 100644 m1_report_electro/M1_report_final.pdf create mode 100644 m1_report_electro/conclusion.tex create mode 100644 m1_report_electro/intro.tex create mode 100644 m1_report_electro/main.tex create mode 100644 m1_report_electro/models/capacitance.tex create mode 100644 m1_report_electro/models/method_of_moments.tex create mode 100644 m1_report_electro/models/models.tex create mode 100644 m1_report_electro/models/potential_theory.tex create mode 100644 m1_report_electro/numerical_methods.tex create mode 100644 m1_report_electro/preamble.tex create mode 100644 m1_report_electro/title.tex diff --git a/m1_report_electro/M1_report_final.pdf b/m1_report_electro/M1_report_final.pdf new file mode 100644 index 0000000000000000000000000000000000000000..9813e4b115856aefb4d188d395262f8c5f316486 GIT binary patch literal 311483 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

VtN4?)a;ru`LY_YM%gcU9` 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%0A{6BlQ?ynqT-*po!+??I@y@D!YxZHWMFA}=1$>V~ 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 mz L_{max}$) + \item превышении максимального числа шагов + \end{itemize} +\end{enumerate} + +На каждом шаге интегрирования поле $\vec{E}(\vec{r})$ вычисляется суммированием вкладов всех $N$ зарядов, что требует $O(N)$ операций на шаг. + +\textbf{Построение эквипотенциальных линий} + +Для двумерного сечения ($z = 0$) эквипотенциальные линии строятся: +\begin{enumerate} + \item Вычисляем потенциал на равномерной сетке $(x_i, y_j)$ + \item Применяем алгоритм контурных линий (marching squares / matplotlib \texttt{contour}) + \item Выбираем набор значений потенциала: $\varphi_k = -V/2 + kV/(M+1)$, $k = 1, \ldots, M$ +\end{enumerate} + diff --git a/m1_report_electro/preamble.tex b/m1_report_electro/preamble.tex new file mode 100644 index 0000000..6a8b988 --- /dev/null +++ b/m1_report_electro/preamble.tex @@ -0,0 +1,100 @@ +\documentclass[a4paper,12pt]{article} + +\usepackage{geometry} +% задание полей текста +\geometry{left=10mm,right=10mm,top=20mm,bottom=20mm} +\usepackage{listings} +\usepackage{cmap} % поиск в PDF +\usepackage[T2A]{fontenc} % кодировка +\usepackage[utf8]{inputenc} +\usepackage[english, russian]{babel} % локализация и переносы +\usepackage{natbib} + +\usepackage{graphicx} +\graphicspath{{pix/}} +\usepackage{pgfplots} +\usetikzlibrary{arrows} +\pgfplotsset{width=10cm,compat=1.18} +\pgfkeys{/pgf/trig format=rad} + + +\usepackage{xcolor} +\usepackage{amsmath} +\usepackage{amssymb} +\usepackage{bm} +\usepackage{enumerate} +\usepackage[normalem]{ulem} +\usepackage{titlesec} + +% Настройка форматирования section для центрирования без растягивания +\titleformat{\section} + {\normalfont\Large\bfseries\centering}{\thesection}{1em}{} +\titleformat{\subsection} + {\normalfont\large\bfseries\centering}{\thesubsection}{1em}{} +\titleformat{\subsubsection} + {\normalfont\normalsize\bfseries\centering}{\thesubsubsection}{1em}{} + +\usepackage{hyperref} +\hypersetup{ + colorlinks=true, + linkcolor=blue, + filecolor=blue, + urlcolor=blue, + citecolor=blue +} + + +\setlength\parindent{0pt} + + +\sloppy % строго соблюдать границы текста +\linespread{1.2} % коэффициент межстрочного интервала +\setlength{\parskip}{0.5em} % вертик. интервал между абзацами + +\setcounter{secnumdepth}{0} % отключение нумерации разделов +\binoppenalty=1000 % уменьшение переносов в формулах + +% объявление новых макрокоманд + +\newcommand{\Def}{\textbf{Def.} } +\newcommand{\Th}{\textbf{Теорема.} } +\newcommand{\Thbd}{\textbf{Теорема (б/д).} } +\newcommand{\Theor}[1]{\textbf{Теорема ({#1}).} } +\newcommand{\Theorbd}[1]{\textbf{Теорема ({#1}) (б/д).} } +\newcommand{\Consequence}{\textbf{Следствие.} } +\newcommand{\Remind}{\textbf{Remind.} } +\newcommand{\Note}{\textbf{Note.} } +\newcommand{\Statement}{\textbf{Утверждение.} } +\newcommand{\Prop}{\textbf{Свойство:} } +\newcommand{\Props}{\textbf{Свойства:} } +\newcommand{\Proof}{\textbf{Доказательство:} } +\newcommand{\Prooff}{\textbf{Доказать:} } +\newcommand{\Solution}{\textbf{Решение:} } +\newcommand{\Alg}{\textbf{Algorithm.} } +\newcommand{\Lemma}{\textbf{Лемма.} } +\newcommand{\Example}{\textbf{Пример:} } +\newcommand{\Task}{\textbf{Задача.} } +\newcommand{\Goal}{\textbf{Цель работы:} } +\newcommand{\Solve}{\textbf{Решение:} } +\newcommand{\Examples}{\textbf{Примеры.} } + +\allowdisplaybreaks[4] + +%\renewcommand\thesection{\arabic{section}} + +\newcommand{\Endproof}{$\blacksquare$ } + +\newcommand{\tr}{\text{tr}} +\newcommand{\Le}{\leqslant} % русский стиль нестрогих неравенств +\newcommand{\Ge}{\geqslant} +% облегчение математических обозначений +\newcommand{\A}{\mathcal{A}} +\newcommand{\M}{\mathcal{M}} +\newcommand{\F}{\mathcal{F}} +\newcommand{\Gs}{\mathcal{G}} +\newcommand{\R}{\mathbb{R}} +\newcommand{\N}{\mathbb{N}} +\newcommand{\Q}{\mathbb{Q}} +\newcommand{\Norm}{\mathcal{N}} +%\newcommand{\C}{\mathbb{C}} +\newcommand{\ind}{\perp \!\!\! \perp} diff --git a/m1_report_electro/title.tex b/m1_report_electro/title.tex new file mode 100644 index 0000000..2f2670c --- /dev/null +++ b/m1_report_electro/title.tex @@ -0,0 +1,18 @@ +\begin{titlepage} + \centering + {\scshape\Large Московский физико-технический институт \par} + \vspace{1cm} + {\scshape\Large Высшая школа программной инженерии \par} + \vspace{2cm} + {\huge \textbf{М1. Основная задача электростатики} \par} + \vspace{1.5cm} + {\Large \textit{Численное решение задачи электростатики \\ + методом моментов для системы проводящих тел} \par} + \vspace{2cm} + {\Large Выполнили студенты Б13-402: \par} + {\Large Жердев Егор \par} + {\Large Савельев Данил \par} + \vfill + {\large Долгопрудный \par} + {\large \today \par} +\end{titlepage} From 99efd125bc85bf30209e076cdddedce278fa6b15 Mon Sep 17 00:00:00 2001 From: Egor Zherdev Date: Thu, 30 Apr 2026 22:15:54 +0300 Subject: [PATCH 3/3] fix(electrostatics): Fixed incorrect display of magnetic field visualization --- src/models/electrostatics/__init__.py | 44 ++---- src/models/electrostatics/charts.py | 205 ++++++++++++++++++++++---- 2 files changed, 189 insertions(+), 60 deletions(-) diff --git a/src/models/electrostatics/__init__.py b/src/models/electrostatics/__init__.py index 192007e..54018ae 100644 --- a/src/models/electrostatics/__init__.py +++ b/src/models/electrostatics/__init__.py @@ -18,7 +18,7 @@ ) -def page() -> None: # noqa: PLR0915,PLR0914 +def page() -> None: # noqa: PLR0914 st.set_page_config( page_title="М1. Электростатика - Метод моментов", layout="wide" ) @@ -96,39 +96,13 @@ def page() -> None: # noqa: PLR0915,PLR0914 field_df = create_field_dataframe(x_grid, y_grid, ex, ey, phi) st.dataframe(field_df, use_container_width=True) - with st.spinner("Построение силовых линий..."): - field_lines = [] - n_lines = params.n_field_lines - - for i in range(n_lines): - x_start = -a / 2 + (i + 0.5) * a / n_lines - - x_line_in, y_line_in = model.trace_field_line( - r1, - r2, - q1, - q2, - (x_start, d / 2 - 0.01), - max_steps=5000, - step_size=0.002, - bounds=(-a, a, -d * 1.5, d * 1.5), - ) - field_lines.append((x_line_in, y_line_in)) - - x_line_out, y_line_out = model.trace_field_line( - r1, - r2, - q1, - q2, - (x_start, d / 2 + 0.01), - max_steps=5000, - step_size=0.002, - bounds=(-a, a, -d * 1.5, d * 1.5), - ) - field_lines.append((x_line_out, y_line_out)) - st.header("Силовые линии электрического поля") - field_lines_chart = create_field_lines_chart( - field_lines, r1, r2, {"plate_length": a, "plate_distance": d} - ) + with st.spinner("Построение силовых линий..."): + field_lines_chart = create_field_lines_chart( + x_grid, + y_grid, + ex, + ey, + {"plate_length": a, "plate_distance": d}, + ) st.altair_chart(field_lines_chart, use_container_width=True) diff --git a/src/models/electrostatics/charts.py b/src/models/electrostatics/charts.py index 888fcc3..478e441 100644 --- a/src/models/electrostatics/charts.py +++ b/src/models/electrostatics/charts.py @@ -1,6 +1,7 @@ import altair as alt import numpy as np import pandas as pd +from scipy.interpolate import RegularGridInterpolator def create_charge_distribution_chart( @@ -40,46 +41,192 @@ def create_charge_distribution_chart( ) -def create_field_lines_chart( - field_lines: list[tuple[np.ndarray, np.ndarray]], - r1: np.ndarray, - r2: np.ndarray, - params_dict: dict, -) -> alt.Chart: - lines_data = [] +MAX_TOTAL_LINE_POINTS = 4500 +MIN_LINE_LENGTH = 8 +MIN_FIELD_MAGNITUDE = 1e-15 +DENSITY = 1.7 +MAX_STEPS_PER_DIR = 500 +MIN_STRIDE_TARGET = 2 + + +def _trace_streamlines_density( # noqa: PLR0914,PLR0915 + x_1d: np.ndarray, + y_1d: np.ndarray, + ex: np.ndarray, + ey: np.ndarray, + plate_a: float, + plate_d: float, + density: float = DENSITY, +) -> list[list[tuple[float, float]]]: + n_y, n_x = ex.shape + mask_ny = max(2, int(n_y * density)) + mask_nx = max(2, int(n_x * density)) + mask = np.zeros((mask_ny, mask_nx), dtype=bool) + + x_min, x_max = float(x_1d[0]), float(x_1d[-1]) + y_min, y_max = float(y_1d[0]), float(y_1d[-1]) + ds = 0.5 * float(min(x_1d[1] - x_1d[0], abs(y_1d[1] - y_1d[0]))) + plate_eps = max(ds, 5e-3) + + interp_ex = RegularGridInterpolator( + (y_1d, x_1d), ex, bounds_error=False, fill_value=0.0 + ) + interp_ey = RegularGridInterpolator( + (y_1d, x_1d), ey, bounds_error=False, fill_value=0.0 + ) + + def to_mask(x: float, y: float) -> tuple[int, int]: + fx = (x - x_min) / (x_max - x_min) + fy = (y - y_min) / (y_max - y_min) + return int(fy * mask_ny), int(fx * mask_nx) + + def in_bounds(x: float, y: float) -> bool: + return x_min <= x <= x_max and y_min <= y <= y_max + + def near_plate(x: float, y: float) -> bool: + return ( + abs(x) <= plate_a / 2 + plate_eps + and min(abs(y - plate_d / 2), abs(y + plate_d / 2)) < plate_eps + ) + + def trace_dir( + x0: float, y0: float, sign: float, own_cells: set[tuple[int, int]] + ) -> tuple[list[tuple[float, float]], set[tuple[int, int]]]: + pts: list[tuple[float, float]] = [] + new_cells: set[tuple[int, int]] = set() + x, y = x0, y0 + for _ in range(MAX_STEPS_PER_DIR): + ex_v = float(interp_ex([[y, x]])[0]) + ey_v = float(interp_ey([[y, x]])[0]) + mag = (ex_v**2 + ey_v**2) ** 0.5 + if mag < MIN_FIELD_MAGNITUDE: + break + x += sign * ds * ex_v / mag + y += sign * ds * ey_v / mag + if not in_bounds(x, y): + break + if near_plate(x, y): + pts.append((x, y)) + break + iy, ix = to_mask(x, y) + if 0 <= iy < mask_ny and 0 <= ix < mask_nx: + cell = (iy, ix) + if cell not in own_cells and mask[iy, ix]: + break + own_cells.add(cell) + new_cells.add(cell) + pts.append((x, y)) + return pts, new_cells + + cy, cx = mask_ny / 2, mask_nx / 2 + candidates = [(iy, ix) for iy in range(mask_ny) for ix in range(mask_nx)] + candidates.sort(key=lambda c: (c[0] - cy) ** 2 + (c[1] - cx) ** 2) + + streamlines: list[list[tuple[float, float]]] = [] + for iy_c, ix_c in candidates: + if mask[iy_c, ix_c]: + continue + x_seed = x_min + (ix_c + 0.5) / mask_nx * (x_max - x_min) + y_seed = y_min + (iy_c + 0.5) / mask_ny * (y_max - y_min) + if near_plate(x_seed, y_seed): + mask[iy_c, ix_c] = True + continue + + ex_v = float(interp_ex([[y_seed, x_seed]])[0]) + ey_v = float(interp_ey([[y_seed, x_seed]])[0]) + if (ex_v**2 + ey_v**2) ** 0.5 < MIN_FIELD_MAGNITUDE: + mask[iy_c, ix_c] = True + continue + + own: set[tuple[int, int]] = {(iy_c, ix_c)} + fwd_pts, fwd_cells = trace_dir(x_seed, y_seed, +1, own) + bwd_pts, bwd_cells = trace_dir(x_seed, y_seed, -1, own) - for idx, (x_line, y_line) in enumerate(field_lines): - for i, (x, y) in enumerate(zip(x_line, y_line, strict=False)): - lines_data.append({"X": x, "Y": y, "Line": idx, "Order": i}) + full_line = [*reversed(bwd_pts), (x_seed, y_seed), *fwd_pts] + if len(full_line) < MIN_LINE_LENGTH: + mask[iy_c, ix_c] = True + continue - df_lines = pd.DataFrame(lines_data) + for cy_, cx_ in fwd_cells | bwd_cells | {(iy_c, ix_c)}: + mask[cy_, cx_] = True + streamlines.append(full_line) + return streamlines + + +def create_field_lines_chart( # noqa: PLR0914 + x_grid: np.ndarray, + y_grid: np.ndarray, + ex: np.ndarray, + ey: np.ndarray, + params_dict: dict, +) -> alt.Chart: a = params_dict["plate_length"] d = params_dict["plate_distance"] - plates_data = [] + x_1d = x_grid[0, :] + y_1d = y_grid[:, 0] + + streamlines = _trace_streamlines_density(x_1d, y_1d, ex, ey, a, d) - plates_data.extend(( - {"X": -a / 2, "Y": d / 2, "Plate": "Upper", "Order": 0}, - {"X": a / 2, "Y": d / 2, "Plate": "Upper", "Order": 1}, - {"X": -a / 2, "Y": -d / 2, "Plate": "Lower", "Order": 0}, - {"X": a / 2, "Y": -d / 2, "Plate": "Lower", "Order": 1}, - )) + n_lines = max(1, len(streamlines)) + target_per_line = max(5, MAX_TOTAL_LINE_POINTS // n_lines) + rows: list[dict] = [] + while target_per_line >= MIN_STRIDE_TARGET: + rows = [] + for idx, line in enumerate(streamlines): + n = len(line) + if n == 0: + continue + stride = max(1, n // target_per_line) + sub = line[::stride] + if sub[-1] != line[-1]: + sub = [*sub, line[-1]] + for i, (x, y) in enumerate(sub): + rows.append({ + "X": float(x), + "Y": float(y), + "Line": idx, + "Order": i, + }) + if len(rows) <= MAX_TOTAL_LINE_POINTS: + break + target_per_line = max(MIN_STRIDE_TARGET, target_per_line - 2) + df_lines = pd.DataFrame(rows) + + plates_data = [ + {"X": -a / 2, "Y": d / 2, "Plate": "+V/2", "Order": 0}, + {"X": a / 2, "Y": d / 2, "Plate": "+V/2", "Order": 1}, + {"X": -a / 2, "Y": -d / 2, "Plate": "-V/2", "Order": 0}, + {"X": a / 2, "Y": -d / 2, "Plate": "-V/2", "Order": 1}, + ] df_plates = pd.DataFrame(plates_data) + if not df_lines.empty: + x_pad = 0.05 * a + y_pad = 0.1 * d + x_min = min(float(df_lines["X"].min()) - x_pad, -a) + x_max = max(float(df_lines["X"].max()) + x_pad, a) + y_min = min(float(df_lines["Y"].min()) - y_pad, -d * 1.2) + y_max = max(float(df_lines["Y"].max()) + y_pad, d * 1.2) + else: + x_min, x_max = -a, a + y_min, y_max = -d * 1.5, d * 1.5 + lines_chart = ( alt.Chart(df_lines) - .mark_line(strokeWidth=2, opacity=1.0) + .mark_line(strokeWidth=1.4, color="#3B5BA5", opacity=0.85) .encode( - x=alt.X("X:Q", title="X (м)", scale=alt.Scale(domain=[-a, a])), + x=alt.X( + "X:Q", + title="X (м)", + scale=alt.Scale(domain=[x_min, x_max]), + ), y=alt.Y( "Y:Q", title="Y (м)", - scale=alt.Scale(domain=[-d * 1.5, d * 1.5]), - ), - color=alt.Color( - "Line:N", scale=alt.Scale(scheme="turbo"), legend=None + scale=alt.Scale(domain=[y_min, y_max]), ), order="Order:Q", detail="Line:N", @@ -88,12 +235,20 @@ def create_field_lines_chart( plates_chart = ( alt.Chart(df_plates) - .mark_line(strokeWidth=5, color="black") + .mark_line(strokeWidth=5) .encode( x="X:Q", y="Y:Q", order="Order:Q", detail="Plate:N", + color=alt.Color( + "Plate:N", + title="Пластины", + scale=alt.Scale( + domain=["+V/2", "-V/2"], + range=["#d62728", "#1f77b4"], + ), + ), ) )