From 1d6dad2222be61c2ef03d48c051bdadd540bd615 Mon Sep 17 00:00:00 2001 From: JoeJimFlood Date: Mon, 2 Feb 2026 17:14:41 -0800 Subject: [PATCH 01/20] Changes to allow for the use of geographies in between the meta and seed geographies --- populationsim/steps/final_seed_balancing.py | 2 ++ populationsim/steps/integerize_final_seed_weights.py | 3 +++ populationsim/steps/meta_control_factoring.py | 4 ++++ 3 files changed, 9 insertions(+) diff --git a/populationsim/steps/final_seed_balancing.py b/populationsim/steps/final_seed_balancing.py index 6ec058d4..2cfbf601 100644 --- a/populationsim/steps/final_seed_balancing.py +++ b/populationsim/steps/final_seed_balancing.py @@ -60,6 +60,8 @@ def final_seed_balancing(settings, crosswalk, control_spec, incidence_table): # we use all control_spec rows, so no need to filter on geography as for initial_seed_balancing seed_controls_df = get_control_table(seed_geography) + intermediate_geographies = geographies[1:geographies.index(seed_geography)] + control_spec = control_spec[control_spec.geography.apply(lambda x: x not in intermediate_geographies)] assert (seed_controls_df.columns == control_spec.target).all() # determine master_control_index if specified in settings diff --git a/populationsim/steps/integerize_final_seed_weights.py b/populationsim/steps/integerize_final_seed_weights.py index 73f56a58..8b52f1d1 100644 --- a/populationsim/steps/integerize_final_seed_weights.py +++ b/populationsim/steps/integerize_final_seed_weights.py @@ -50,6 +50,9 @@ def integerize_final_seed_weights(settings, crosswalk, control_spec, incidence_t seed_weights_df = get_weight_table(seed_geography) # FIXME - I assume we want to integerize using meta controls too? + geographies = settings["geographies"] + intermediate_geographies = geographies[1:geographies.index(seed_geography)] + control_spec = control_spec[control_spec.geography.apply(lambda x: x not in intermediate_geographies)] control_cols = control_spec.target assert (seed_controls_df.columns == control_cols).all() diff --git a/populationsim/steps/meta_control_factoring.py b/populationsim/steps/meta_control_factoring.py index 394aa18f..96f3254c 100644 --- a/populationsim/steps/meta_control_factoring.py +++ b/populationsim/steps/meta_control_factoring.py @@ -122,6 +122,10 @@ def meta_control_factoring(settings, control_spec, incidence_table): seed_controls_df = get_control_table(seed_geography) + # Remove controls for geographies between the seed and the meta geographies + intermediate_geographies = geographies[1:geographies.index(seed_geography)] + control_spec = control_spec[control_spec.geography.apply(lambda x: x not in intermediate_geographies)] + assert len(seed_controls_df.index) == len(seed_level_meta_controls.index) seed_controls_df = pd.concat([seed_controls_df, seed_level_meta_controls], axis=1) From 6fba34d67faf965917c86d9cc2ca676e1377d2fe Mon Sep 17 00:00:00 2001 From: JoeJimFlood Date: Wed, 18 Mar 2026 10:31:43 -0700 Subject: [PATCH 02/20] Added test of allowing intermediate geographies --- .../configs_intermediate/controls.csv | 11 + .../configs_intermediate/logging.yaml | 54 ++++ .../configs_intermediate/repop_controls.csv | 3 + .../configs_intermediate/settings.yaml | 133 +++++++++ .../data_intermediate/district_controls.csv | 4 + .../data_intermediate/geo_cross_walk.csv | 39 +++ .../data_intermediate/region_controls.csv | 2 + .../data_intermediate/repop_taz_controls.csv | 5 + .../data_intermediate/seed_households.csv | 63 +++++ .../data_intermediate/seed_persons.csv | 254 ++++++++++++++++++ .../data_intermediate/taz_controls.csv | 37 +++ .../data_intermediate/tract_controls.csv | 13 + tests/test_intermediate_geography.py | 47 ++++ 13 files changed, 665 insertions(+) create mode 100644 examples/example_test/configs_intermediate/controls.csv create mode 100644 examples/example_test/configs_intermediate/logging.yaml create mode 100644 examples/example_test/configs_intermediate/repop_controls.csv create mode 100644 examples/example_test/configs_intermediate/settings.yaml create mode 100644 examples/example_test/data_intermediate/district_controls.csv create mode 100644 examples/example_test/data_intermediate/geo_cross_walk.csv create mode 100644 examples/example_test/data_intermediate/region_controls.csv create mode 100644 examples/example_test/data_intermediate/repop_taz_controls.csv create mode 100644 examples/example_test/data_intermediate/seed_households.csv create mode 100644 examples/example_test/data_intermediate/seed_persons.csv create mode 100644 examples/example_test/data_intermediate/taz_controls.csv create mode 100644 examples/example_test/data_intermediate/tract_controls.csv create mode 100644 tests/test_intermediate_geography.py diff --git a/examples/example_test/configs_intermediate/controls.csv b/examples/example_test/configs_intermediate/controls.csv new file mode 100644 index 00000000..71e3e97c --- /dev/null +++ b/examples/example_test/configs_intermediate/controls.csv @@ -0,0 +1,11 @@ +target,geography,seed_table,importance,control_field,expression +num_hh,TAZ,households,1000000000,HHBASE,(households.WGTP > 0) & (households.WGTP < np.inf) +hh_size_1,TAZ,households,1000,HHSIZE1,households.NP == 1 +hh_size_2,TAZ,households,1000,HHSIZE2,households.NP == 2 +hh_size_3,TAZ,households,1000,HHSIZE3,households.NP == 3 +hh_size_4_plus,TAZ,households,1000,HHSIZE4,households.NP >= 4 +students_by_housing_type,TAZ,persons,1000,OSUFAM,persons.OSUTAG == 1 +hh_by_type,TRACT,households,100,SF,households.HTYPE == 1 +persons_occ_1,DISTRICT,persons,1000,OCCP1,persons.OCCP == 1 +persons_occ_2,REGION,persons,100,OCCP2,persons.OCCP == 2 +persons_occ_3,REGION,persons,100,OCCP3,persons.OCCP == 3 diff --git a/examples/example_test/configs_intermediate/logging.yaml b/examples/example_test/configs_intermediate/logging.yaml new file mode 100644 index 00000000..06baa76a --- /dev/null +++ b/examples/example_test/configs_intermediate/logging.yaml @@ -0,0 +1,54 @@ +# Config for logging +# ------------------ +# See http://docs.python.org/2.7/library/logging.config.html#configuration-dictionary-schema + +logging: + version: 1 + disable_existing_loggers: true + + + # Configuring the default (root) logger is highly recommended + root: + level: NOTSET + handlers: [console] + + loggers: + + populationsim: + level: DEBUG + handlers: [console, logfile] + propagate: false + + orca: + level: WARN + handlers: [console, logfile] + propagate: false + + handlers: + + logfile: + class: logging.FileHandler + filename: !!python/object/apply:populationsim.core.config.log_file_path ['populationsim.log'] + mode: w + formatter: fileFormatter + level: NOTSET + + console: + class: logging.StreamHandler + stream: ext://sys.stdout + formatter: simpleFormatter + level: NOTSET + #level: WARN + + formatters: + + simpleFormatter: + class: logging.Formatter + # format: '%(levelname)s - %(name)s - %(message)s' + format: '%(levelname)s - %(message)s' + datefmt: '%d/%m/%Y %H:%M:%S' + + fileFormatter: + class: logging.Formatter + format: '%(asctime)s - %(levelname)s - %(name)s - %(message)s' + datefmt: '%d/%m/%Y %H:%M:%S' diff --git a/examples/example_test/configs_intermediate/repop_controls.csv b/examples/example_test/configs_intermediate/repop_controls.csv new file mode 100644 index 00000000..f9c17fda --- /dev/null +++ b/examples/example_test/configs_intermediate/repop_controls.csv @@ -0,0 +1,3 @@ +target,geography,seed_table,importance,control_field,expression +num_hh,TAZ,households,1000000000,HHBASE,(households.WGTP > 0) & (households.WGTP < np.inf) +muggle,TAZ,households,1000,MUGGLE,households.wizard == 0 diff --git a/examples/example_test/configs_intermediate/settings.yaml b/examples/example_test/configs_intermediate/settings.yaml new file mode 100644 index 00000000..f9a7e92b --- /dev/null +++ b/examples/example_test/configs_intermediate/settings.yaml @@ -0,0 +1,133 @@ +# This flag turns off integerization entirely (default False) +NO_INTEGERIZATION_EVER: True + +# These settings are ignored if not integerizing +INTEGERIZE_WITH_BACKSTOPPED_CONTROLS: True +SUB_BALANCE_WITH_FLOAT_SEED_WEIGHTS: False +GROUP_BY_INCIDENCE_SIGNATURE: True +INTEGERIZER_TIMEOUT: 300 # seconds +USE_SIMUL_INTEGERIZER: True + +geographies: [REGION, DISTRICT, PUMA, TRACT, TAZ] +seed_geography: PUMA + +# Tracing +# ------------------------------------------------------------------ +trace_geography: + TAZ: 100 + TRACT: 1 + + +household_weight_col: WGTP +household_id_col: hh_id +total_hh_control: num_hh +max_expansion_factor: 5 + +min_expansion_factor: 0.2 + +#control_file_name: controls.csv +#data_dir: data + +# input_pre_processor input_table_list +input_table_list: + - tablename: households + filename : seed_households.csv + index_col: hh_id + rename_columns: + SERIALNO: hh_id + - tablename: persons + # expression_filename: seed_persons_expressions.csv + filename : seed_persons.csv + rename_columns: + SERIALNO: hh_id + SPORDER: per_num + - tablename: geo_cross_walk + filename : geo_cross_walk.csv + rename_columns: + TRACTCE: TRACT + - tablename: TAZ_control_data + filename : taz_controls.csv + - tablename: TRACT_control_data + filename : tract_controls.csv + - tablename: DISTRICT_control_data + filename : district_controls.csv + - tablename: REGION_control_data + filename: region_controls.csv + + +run_list: + steps: + - input_pre_processor + - setup_data_structures + - initial_seed_balancing + - meta_control_factoring + - final_seed_balancing + - integerize_final_seed_weights + - sub_balancing.geography=TRACT + - sub_balancing.geography=TAZ + - expand_households + - summarize + - write_tables + - write_synthetic_population + + #resume_after: expand_households + +# "-m repop" command line option allows specification of repop run_list` +# expand_households options are append or replace +repop: + steps: + - input_pre_processor.table_list=repop_input_table_list + - repop_setup_data_structures + - initial_seed_balancing.final=true + - integerize_final_seed_weights.repop + - repop_balancing + - expand_households.repop;replace + - write_tables.repop + - write_synthetic_population.repop + + resume_after: summarize + +repop_control_file_name: repop_controls.csv + +repop_input_table_list: + - filename : repop_taz_controls.csv + tablename: TAZ_control_data + + + +# output_tables can specify either a list of output tables to include or to skip +# if neither is specified, then no checkpointed tables will be written + +output_tables: + action: include + tables: + - PUMA_weights + - TAZ_weights + - TRACT_weights + - trace_TAZ_weights + - trace_TRACT_weights + - summary_hh_weights + - summary_TAZ + +# - expanded_household_ids + +# +#output_tables: +# action: include +# tables: +# - expanded_household_ids + +output_synthetic_population: + household_id: household_id + households: + filename: synthetic_households.csv + columns: + - NP + - WGTP + - HTYPE + persons: + filename: synthetic_persons.csv + columns: + - per_num + - OSUTAG + - OCCP diff --git a/examples/example_test/data_intermediate/district_controls.csv b/examples/example_test/data_intermediate/district_controls.csv new file mode 100644 index 00000000..10a24314 --- /dev/null +++ b/examples/example_test/data_intermediate/district_controls.csv @@ -0,0 +1,4 @@ +DISTRICT,OCCP1,HHBASE,HHSIZE1,HHSIZE2,HHSIZE3,HHSIZE4,OSUFAM +1,720,450,90,144,144,72,318 +2,720,450,90,144,144,72,318 +3,960,600,120,192,192,96,424 diff --git a/examples/example_test/data_intermediate/geo_cross_walk.csv b/examples/example_test/data_intermediate/geo_cross_walk.csv new file mode 100644 index 00000000..6ff1f1b6 --- /dev/null +++ b/examples/example_test/data_intermediate/geo_cross_walk.csv @@ -0,0 +1,39 @@ +TAZ,TRACTCE,PUMA,DISTRICT,REGION +100,1,600,1,1 +101,1,600,1,1 +102,1,600,1,1 +103,2,600,1,1 +104,2,600,1,1 +105,2,600,1,1 +200,21,601,1,1 +201,21,601,1,1 +202,21,601,1,1 +203,22,601,1,1 +204,22,601,1,1 +205,22,601,1,1 +300,31,602,2,1 +301,31,602,2,1 +302,31,602,2,1 +303,32,602,2,1 +304,32,602,2,1 +305,32,602,2,1 +400,41,603,2,1 +401,41,603,2,1 +402,41,603,2,1 +403,42,603,2,1 +404,42,603,2,1 +405,42,603,2,1 +500,51,604,3,1 +501,51,604,3,1 +502,51,604,3,1 +503,52,604,3,1 +504,52,604,3,1 +505,52,604,3,1 +600,61,605,3,1 +601,61,605,3,1 +602,61,605,3,1 +603,62,605,3,1 +604,62,605,3,1 +605,62,605,3,1 +#,,,, +700,72,606,1,1 diff --git a/examples/example_test/data_intermediate/region_controls.csv b/examples/example_test/data_intermediate/region_controls.csv new file mode 100644 index 00000000..7771eae9 --- /dev/null +++ b/examples/example_test/data_intermediate/region_controls.csv @@ -0,0 +1,2 @@ +REGION,OCCP2,OCCP3 +1,300,1560 diff --git a/examples/example_test/data_intermediate/repop_taz_controls.csv b/examples/example_test/data_intermediate/repop_taz_controls.csv new file mode 100644 index 00000000..e5bd529a --- /dev/null +++ b/examples/example_test/data_intermediate/repop_taz_controls.csv @@ -0,0 +1,5 @@ +TAZ,TRACT,PUMA,DISTRICT,HHBASE,HHSIZE1,HHSIZE2,HHSIZE3,HHSIZE4,OSUFAM,SF,MUGGLE +100,1,600,1,26,6,8,8,4,53,26,20 +101,1,600,1,26,6,8,8,4,53,26,21 +205,22,601,1,51,11,16,16,8,0,51,40 +301,31,602,2,26,6,8,8,4,53,26,19 diff --git a/examples/example_test/data_intermediate/seed_households.csv b/examples/example_test/data_intermediate/seed_households.csv new file mode 100644 index 00000000..764d998e --- /dev/null +++ b/examples/example_test/data_intermediate/seed_households.csv @@ -0,0 +1,63 @@ +SERIALNO,NP,WGTP,HTYPE,PUMA,wizard +1,1,30,1,600,1 +2,2,48,1,600,1 +3,3,48,1,600,0 +4,4,14,1,600,0 +5,5,10,1,600,0 +6,10,5,0,600,0 +101,1,30,1,601,1 +102,2,48,1,601,0 +103,3,48,1,601,0 +104,4,14,1,601,0 +105,5,10,1,601,0 +106,10,5,0,601,0 +111,1,30,1,601,0 +112,2,48,1,601,0 +113,3,48,1,601,0 +114,4,14,1,601,0 +115,5,10,1,601,0 +116,10,5,0,601,0 +201,1,30,1,602,1 +202,2,48,1,602,0 +203,3,48,1,602,0 +204,4,14,1,602,0 +205,5,10,1,602,0 +206,10,5,0,602,0 +301,1,30,1,603,1 +302,2,48,1,603,0 +303,3,48,1,603,0 +304,4,14,1,603,0 +305,5,10,1,603,0 +306,10,5,0,603,0 +311,1,30,1,603,0 +312,2,48,1,603,0 +313,3,48,1,603,0 +314,4,14,1,603,0 +315,5,10,1,603,0 +316,10,5,0,603,0 +401,1,30,1,604,1 +402,2,48,1,604,0 +403,3,48,1,604,0 +404,4,14,1,604,0 +405,5,10,1,604,0 +406,10,5,0,604,0 +411,1,30,1,604,0 +412,2,48,1,604,0 +413,3,48,1,604,0 +414,4,14,1,604,0 +415,5,10,1,604,0 +416,10,5,0,604,0 +501,1,30,1,605,1 +502,2,48,1,605,0 +503,3,48,1,605,0 +504,4,14,1,605,0 +505,5,10,1,605,0 +506,10,5,0,605,0 +511,1,30,1,605,0 +512,2,48,1,605,0 +513,3,48,1,605,0 +514,4,14,1,605,0 +515,5,10,1,605,0 +516,10,5,0,605,0 +# this hh outside of seed zones should get dropped +600,10,5,0,606,0 diff --git a/examples/example_test/data_intermediate/seed_persons.csv b/examples/example_test/data_intermediate/seed_persons.csv new file mode 100644 index 00000000..dc362688 --- /dev/null +++ b/examples/example_test/data_intermediate/seed_persons.csv @@ -0,0 +1,254 @@ +SERIALNO,SPORDER,PUMA,OSUTAG,OCCP,WGTP +1,1,600,0,2,30 +2,1,600,0,1,48 +2,2,600,0,1,48 +3,1,600,0,1,48 +3,2,600,0,1,48 +3,3,600,1,3,48 +4,1,600,0,1,14 +4,2,600,0,1,14 +4,3,600,1,3,14 +4,4,600,1,3,14 +5,1,600,0,1,10 +5,2,600,0,1,10 +5,3,600,1,3,10 +5,4,600,1,3,10 +5,5,600,1,3,10 +6,1,600,2,3,5 +6,2,600,2,3,5 +6,3,600,2,3,5 +6,4,600,2,3,5 +6,5,600,2,3,5 +6,6,600,2,3,5 +6,7,600,2,3,5 +6,8,600,2,3,5 +6,9,600,2,3,5 +6,10,600,2,3,5 +101,1,601,0,2,30 +102,1,601,0,1,48 +102,2,601,0,1,48 +103,1,601,0,1,48 +103,2,601,0,1,48 +103,3,601,1,3,48 +104,1,601,0,1,14 +104,2,601,0,1,14 +104,3,601,1,3,14 +104,4,601,1,3,14 +105,1,601,0,1,10 +105,2,601,0,1,10 +105,3,601,1,3,10 +105,4,601,1,3,10 +105,5,601,1,3,10 +106,1,601,2,3,5 +106,2,601,2,3,5 +106,3,601,2,3,5 +106,4,601,2,3,5 +106,5,601,2,3,5 +106,6,601,2,3,5 +106,7,601,2,3,5 +106,8,601,2,3,5 +106,9,601,2,3,5 +106,10,601,2,3,5 +111,1,601,0,2,30 +112,1,601,0,1,48 +112,2,601,0,1,48 +113,1,601,0,1,48 +113,2,601,0,1,48 +113,3,601,1,3,48 +114,1,601,0,1,14 +114,2,601,0,1,14 +114,3,601,1,3,14 +114,4,601,1,3,14 +115,1,601,0,1,10 +115,2,601,0,1,10 +115,3,601,1,3,10 +115,4,601,1,3,10 +115,5,601,1,3,10 +116,1,601,2,3,5 +116,2,601,2,3,5 +116,3,601,2,3,5 +116,4,601,2,3,5 +116,5,601,2,3,5 +116,6,601,2,3,5 +116,7,601,2,3,5 +116,8,601,2,3,5 +116,9,601,2,3,5 +116,10,601,2,3,5 +201,1,602,0,2,30 +202,1,602,0,1,48 +202,2,602,0,1,48 +203,1,602,0,1,48 +203,2,602,0,1,48 +203,3,602,1,3,48 +204,1,602,0,1,14 +204,2,602,0,1,14 +204,3,602,1,3,14 +204,4,602,1,3,14 +205,1,602,0,1,10 +205,2,602,0,1,10 +205,3,602,1,3,10 +205,4,602,1,3,10 +205,5,602,1,3,10 +206,1,602,2,3,5 +206,2,602,2,3,5 +206,3,602,2,3,5 +206,4,602,2,3,5 +206,5,602,2,3,5 +206,6,602,2,3,5 +206,7,602,2,3,5 +206,8,602,2,3,5 +206,9,602,2,3,5 +206,10,602,2,3,5 +301,1,603,0,2,30 +302,1,603,0,1,48 +302,2,603,0,1,48 +303,1,603,0,1,48 +303,2,603,0,1,48 +303,3,603,1,3,48 +304,1,603,0,1,14 +304,2,603,0,1,14 +304,3,603,1,3,14 +304,4,603,1,3,14 +305,1,603,0,1,10 +305,2,603,0,1,10 +305,3,603,1,3,10 +305,4,603,1,3,10 +305,5,603,1,3,10 +306,1,603,2,3,5 +306,2,603,2,3,5 +306,3,603,2,3,5 +306,4,603,2,3,5 +306,5,603,2,3,5 +306,6,603,2,3,5 +306,7,603,2,3,5 +306,8,603,2,3,5 +306,9,603,2,3,5 +306,10,603,2,3,5 +311,1,603,0,2,30 +312,1,603,0,1,48 +312,2,603,0,1,48 +313,1,603,0,1,48 +313,2,603,0,1,48 +313,3,603,1,3,48 +314,1,603,0,1,14 +314,2,603,0,1,14 +314,3,603,1,3,14 +314,4,603,1,3,14 +315,1,603,0,1,10 +315,2,603,0,1,10 +315,3,603,1,3,10 +315,4,603,1,3,10 +315,5,603,1,3,10 +316,1,603,2,3,5 +316,2,603,2,3,5 +316,3,603,2,3,5 +316,4,603,2,3,5 +316,5,603,2,3,5 +316,6,603,2,3,5 +316,7,603,2,3,5 +316,8,603,2,3,5 +316,9,603,2,3,5 +316,10,603,2,3,5 +401,1,604,0,2,30 +402,1,604,0,1,48 +402,2,604,0,1,48 +403,1,604,0,1,48 +403,2,604,0,1,48 +403,3,604,1,3,48 +404,1,604,0,1,14 +404,2,604,0,1,14 +404,3,604,1,3,14 +404,4,604,1,3,14 +405,1,604,0,1,10 +405,2,604,0,1,10 +405,3,604,1,3,10 +405,4,604,1,3,10 +405,5,604,1,3,10 +406,1,604,2,3,5 +406,2,604,2,3,5 +406,3,604,2,3,5 +406,4,604,2,3,5 +406,5,604,2,3,5 +406,6,604,2,3,5 +406,7,604,2,3,5 +406,8,604,2,3,5 +406,9,604,2,3,5 +406,10,604,2,3,5 +411,1,604,0,2,30 +412,1,604,0,1,48 +412,2,604,0,1,48 +413,1,604,0,1,48 +413,2,604,0,1,48 +413,3,604,1,3,48 +414,1,604,0,1,14 +414,2,604,0,1,14 +414,3,604,1,3,14 +414,4,604,1,3,14 +415,1,604,0,1,10 +415,2,604,0,1,10 +415,3,604,1,3,10 +415,4,604,1,3,10 +415,5,604,1,3,10 +416,1,604,2,3,5 +416,2,604,2,3,5 +416,3,604,2,3,5 +416,4,604,2,3,5 +416,5,604,2,3,5 +416,6,604,2,3,5 +416,7,604,2,3,5 +416,8,604,2,3,5 +416,9,604,2,3,5 +416,10,604,2,3,5 +501,1,605,0,2,30 +502,1,605,0,1,48 +502,2,605,0,1,48 +503,1,605,0,1,48 +503,2,605,0,1,48 +503,3,605,1,3,48 +504,1,605,0,1,14 +504,2,605,0,1,14 +504,3,605,1,3,14 +504,4,605,1,3,14 +505,1,605,0,1,10 +505,2,605,0,1,10 +505,3,605,1,3,10 +505,4,605,1,3,10 +505,5,605,1,3,10 +506,1,605,2,3,5 +506,2,605,2,3,5 +506,3,605,2,3,5 +506,4,605,2,3,5 +506,5,605,2,3,5 +506,6,605,2,3,5 +506,7,605,2,3,5 +506,8,605,2,3,5 +506,9,605,2,3,5 +506,10,605,2,3,5 +511,1,605,0,2,30 +512,1,605,0,1,48 +512,2,605,0,1,48 +513,1,605,0,1,48 +513,2,605,0,1,48 +513,3,605,1,3,48 +514,1,605,0,1,14 +514,2,605,0,1,14 +514,3,605,1,3,14 +514,4,605,1,3,14 +515,1,605,0,1,10 +515,2,605,0,1,10 +515,3,605,1,3,10 +515,4,605,1,3,10 +515,5,605,1,3,10 +516,1,605,2,3,5 +516,2,605,2,3,5 +516,3,605,2,3,5 +516,4,605,2,3,5 +516,5,605,2,3,5 +516,6,605,2,3,5 +516,7,605,2,3,5 +516,8,605,2,3,5 +516,9,605,2,3,5 +516,10,605,2,3,5 +# this 2 person hh outside of seed zones should get dropped +600,1,606,2,3,5 +600,2,606,1,3,10 diff --git a/examples/example_test/data_intermediate/taz_controls.csv b/examples/example_test/data_intermediate/taz_controls.csv new file mode 100644 index 00000000..002742cb --- /dev/null +++ b/examples/example_test/data_intermediate/taz_controls.csv @@ -0,0 +1,37 @@ +TAZ,TRACT,PUMA,DISTRICT,HHBASE,HHSIZE1,HHSIZE2,HHSIZE3,HHSIZE4,OSUFAM,SF +100,1,600,1,25,5,8,8,4,53,25 +101,1,600,1,25,5,8,8,4,53,25 +102,1,600,1,25,5,8,8,4,0,25 +103,2,600,1,25,5,8,8,4,0,25 +104,2,600,1,25,5,8,8,4,0,25 +105,2,600,1,25,5,8,8,4,0,25 +200,21,601,1,50,10,16,16,8,106,50 +201,21,601,1,50,10,16,16,8,106,50 +202,21,601,1,50,10,16,16,8,0,50 +203,22,601,1,50,10,16,16,8,0,50 +204,22,601,1,50,10,16,16,8,0,50 +205,22,601,1,50,10,16,16,8,0,50 +300,31,602,2,25,5,8,8,4,53,25 +301,31,602,2,25,5,8,8,4,53,25 +302,31,602,2,25,5,8,8,4,0,25 +303,32,602,2,25,5,8,8,4,0,25 +304,32,602,2,25,5,8,8,4,0,25 +305,32,602,2,25,5,8,8,4,0,25 +400,41,603,2,50,10,16,16,8,106,50 +401,41,603,2,50,10,16,16,8,106,50 +402,41,603,2,50,10,16,16,8,0,50 +403,42,603,2,50,10,16,16,8,0,50 +404,42,603,2,50,10,16,16,8,0,50 +405,42,603,2,50,10,16,16,8,0,50 +500,51,604,3,50,10,16,16,8,106,50 +501,51,604,3,50,10,16,16,8,106,50 +502,51,604,3,50,10,16,16,8,0,50 +503,52,604,3,50,10,16,16,8,0,50 +504,52,604,3,50,10,16,16,8,0,50 +505,52,604,3,50,10,16,16,8,0,50 +600,61,605,3,50,10,16,16,8,106,50 +601,61,605,3,50,10,16,16,8,106,50 +602,61,605,3,50,10,16,16,8,0,50 +603,62,605,3,50,10,16,16,8,0,50 +604,62,605,3,50,10,16,16,8,0,50 +605,62,605,3,50,10,16,16,8,0,50 diff --git a/examples/example_test/data_intermediate/tract_controls.csv b/examples/example_test/data_intermediate/tract_controls.csv new file mode 100644 index 00000000..4308af17 --- /dev/null +++ b/examples/example_test/data_intermediate/tract_controls.csv @@ -0,0 +1,13 @@ +TRACT,PUMA,HHBASE,HHSIZE1,HHSIZE2,HHSIZE3,HHSIZE4,OSUFAM,SF +1,600,75,15,24,24,12,106,75 +2,600,75,15,24,24,12,0,75 +21,601,150,30,48,48,24,212,150 +22,601,150,30,48,48,24,0,150 +31,602,75,15,24,24,12,106,75 +32,602,75,15,24,24,12,0,75 +41,603,150,30,48,48,24,212,150 +42,603,150,30,48,48,24,0,150 +51,604,150,30,48,48,24,212,150 +52,604,150,30,48,48,24,0,150 +61,605,150,30,48,48,24,212,150 +62,605,150,30,48,48,24,0,150 diff --git a/tests/test_intermediate_geography.py b/tests/test_intermediate_geography.py new file mode 100644 index 00000000..757ae2fe --- /dev/null +++ b/tests/test_intermediate_geography.py @@ -0,0 +1,47 @@ +import numpy as np +import pandas as pd +from pathlib import Path + +from populationsim.core import tracing, inject, pipeline + + +def teardown_function(func): + inject.clear_cache() + inject.reinject_decorated_tables() + + +def test_intermediate_geography(): + + example_dir = Path(__file__).parent.parent / "examples" / "example_test" + configs_dir = example_dir / "configs_intermediate" + data_dir = example_dir / "data_intermediate" + output_dir = Path(__file__).parent / "output" + + inject.add_injectable("data_dir", data_dir) + inject.add_injectable("configs_dir", configs_dir) + inject.add_injectable("output_dir", output_dir) + + inject.clear_cache() + + tracing.config_logger() + + _MODELS = [ + "input_pre_processor", + "setup_data_structures", + "initial_seed_balancing", + "meta_control_factoring", + "final_seed_balancing", + "integerize_final_seed_weights", + "sub_balancing.geography=TRACT", + "sub_balancing.geography=TAZ", + "expand_households", + "summarize", + "write_tables", + "write_synthetic_population", + ] + + pipeline.run(models=_MODELS, resume_after=None) + + pipeline.close_pipeline() + + inject.clear_cache() \ No newline at end of file From 7f849cb81ebfeb57783632bb3acc733960861052 Mon Sep 17 00:00:00 2001 From: JoeJimFlood Date: Wed, 18 Mar 2026 10:54:50 -0700 Subject: [PATCH 03/20] Changed python versions in .travis.yml --- .travis.yml | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/.travis.yml b/.travis.yml index c8e60a46..8c1eac3c 100644 --- a/.travis.yml +++ b/.travis.yml @@ -3,8 +3,10 @@ language: python sudo: false python: -- '3.7' -- '3.8' +- '3.9' +- '3.10' +- '3.11' +- '3.12' install: - wget https://repo.continuum.io/miniconda/Miniconda3-latest-Linux-x86_64.sh -O miniconda.sh From 21b642a0a0b0debf3c72aafb57e85f6197569d70 Mon Sep 17 00:00:00 2001 From: JoeJimFlood Date: Wed, 18 Mar 2026 11:09:41 -0700 Subject: [PATCH 04/20] Added list of geographies to error message for debugging test --- populationsim/steps/setup_data_structures.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/populationsim/steps/setup_data_structures.py b/populationsim/steps/setup_data_structures.py index c749d720..94d86121 100644 --- a/populationsim/steps/setup_data_structures.py +++ b/populationsim/steps/setup_data_structures.py @@ -34,7 +34,7 @@ def read_control_spec(data_filename): for g in control_spec.geography.unique(): if g not in geographies: - raise RuntimeError("unknown geography column '%s' in control file" % g) + raise RuntimeError("unknown geography column '%s' in control file" % g + " " + str(geographies)) return control_spec From fb03864d3bbe10d9cf94ca2b25274d3236cf600f Mon Sep 17 00:00:00 2001 From: JoeJimFlood Date: Wed, 18 Mar 2026 11:12:31 -0700 Subject: [PATCH 05/20] Undid previous commit as it didn't work --- populationsim/steps/setup_data_structures.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/populationsim/steps/setup_data_structures.py b/populationsim/steps/setup_data_structures.py index 94d86121..c749d720 100644 --- a/populationsim/steps/setup_data_structures.py +++ b/populationsim/steps/setup_data_structures.py @@ -34,7 +34,7 @@ def read_control_spec(data_filename): for g in control_spec.geography.unique(): if g not in geographies: - raise RuntimeError("unknown geography column '%s' in control file" % g + " " + str(geographies)) + raise RuntimeError("unknown geography column '%s' in control file" % g) return control_spec From 1a8f644229cdc17c2fbdd75bd0159e56757fee95 Mon Sep 17 00:00:00 2001 From: JoeJimFlood Date: Thu, 19 Mar 2026 10:36:48 -0700 Subject: [PATCH 06/20] Updated test\configs\settings.yaml to see if that's what the CI test is reading --- tests/configs/settings.yaml | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/tests/configs/settings.yaml b/tests/configs/settings.yaml index 8ae4fd30..a357b41b 100644 --- a/tests/configs/settings.yaml +++ b/tests/configs/settings.yaml @@ -31,10 +31,12 @@ input_table_list: - tablename: TRACT_control_data filename : tract_controls.csv - tablename: DISTRICT_control_data + filename : district_controls.csv + - tablename: REGION_control_data filename : region_controls.csv -geographies: [DISTRICT, PUMA, TRACT, TAZ] +geographies: [REGION, DISTRICT, PUMA, TRACT, TAZ] seed_geography: PUMA output_tables: From 884217e3adb37ccd28ebe755883b6c40daa231a6 Mon Sep 17 00:00:00 2001 From: JoeJimFlood Date: Thu, 19 Mar 2026 10:43:17 -0700 Subject: [PATCH 07/20] Reverting change to test settings file --- tests/configs/settings.yaml | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/tests/configs/settings.yaml b/tests/configs/settings.yaml index a357b41b..8ae4fd30 100644 --- a/tests/configs/settings.yaml +++ b/tests/configs/settings.yaml @@ -31,12 +31,10 @@ input_table_list: - tablename: TRACT_control_data filename : tract_controls.csv - tablename: DISTRICT_control_data - filename : district_controls.csv - - tablename: REGION_control_data filename : region_controls.csv -geographies: [REGION, DISTRICT, PUMA, TRACT, TAZ] +geographies: [DISTRICT, PUMA, TRACT, TAZ] seed_geography: PUMA output_tables: From 0354c652b15db89e16a646856e113bb7bcbab539 Mon Sep 17 00:00:00 2001 From: nick-fournier <45876721+nick-fournier@users.noreply.github.com> Date: Mon, 23 Mar 2026 11:39:14 -0700 Subject: [PATCH 08/20] Fixed int64 windows bug --- populationsim/integerizing/wrappers.py | 4 ++-- populationsim/steps/expand_households.py | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/populationsim/integerizing/wrappers.py b/populationsim/integerizing/wrappers.py index 3051ad8f..636ef0fb 100644 --- a/populationsim/integerizing/wrappers.py +++ b/populationsim/integerizing/wrappers.py @@ -129,7 +129,7 @@ def reshape_result( zone_weights_df[sub_geography] = zone_id zone_weights_df["balanced_weight"] = float_weights[zone_name].values zone_weights_df["integer_weight"] = ( - integerized_weights[zone_name].astype(int).values + integerized_weights[zone_name].astype(np.int64).values ) integer_weights_list.append(zone_weights_df) @@ -538,7 +538,7 @@ def do_sequential_integerizing( zone_weights_df[weights.index.name] = weights.index zone_weights_df[sub_geography] = zone_id zone_weights_df["balanced_weight"] = weights.values - zone_weights_df["integer_weight"] = integer_weights.astype(int).values + zone_weights_df["integer_weight"] = integer_weights.astype(np.int64).values if status in STATUS_SUCCESS: integerized_weights_list.append(zone_weights_df) diff --git a/populationsim/steps/expand_households.py b/populationsim/steps/expand_households.py index 1842d06b..e62407c1 100644 --- a/populationsim/steps/expand_households.py +++ b/populationsim/steps/expand_households.py @@ -70,7 +70,7 @@ def expand_households(): grouper = household_groups.groupby("group_id") group_hh_probs = [0] * len(grouper) for group_id, df in grouper: - hh_ids = list(df[household_id_col]) + hh_ids = df[household_id_col].values # preserves int64 dtype as numpy array probs = list(df.sample_weight / df.sample_weight.sum()) group_hh_probs[group_id] = [hh_ids, probs] From 558ac9d5cc395d8629282bb2b7fb143b570b7109 Mon Sep 17 00:00:00 2001 From: nick-fournier <45876721+nick-fournier@users.noreply.github.com> Date: Mon, 23 Mar 2026 11:51:05 -0700 Subject: [PATCH 09/20] Linting --- tests/test_intermediate_geography.py | 2 -- 1 file changed, 2 deletions(-) diff --git a/tests/test_intermediate_geography.py b/tests/test_intermediate_geography.py index 757ae2fe..fe6a215f 100644 --- a/tests/test_intermediate_geography.py +++ b/tests/test_intermediate_geography.py @@ -1,5 +1,3 @@ -import numpy as np -import pandas as pd from pathlib import Path from populationsim.core import tracing, inject, pipeline From f16f79542e94136c50852207f5566eef295203ba Mon Sep 17 00:00:00 2001 From: nick-fournier <45876721+nick-fournier@users.noreply.github.com> Date: Thu, 23 Apr 2026 11:09:32 -0700 Subject: [PATCH 10/20] test fix, reinject table --- tests/test_intermediate_geography.py | 2 + uv.lock | 2772 ++++++++++++++++---------- 2 files changed, 1672 insertions(+), 1102 deletions(-) diff --git a/tests/test_intermediate_geography.py b/tests/test_intermediate_geography.py index fe6a215f..ad9e50c7 100644 --- a/tests/test_intermediate_geography.py +++ b/tests/test_intermediate_geography.py @@ -15,6 +15,8 @@ def test_intermediate_geography(): data_dir = example_dir / "data_intermediate" output_dir = Path(__file__).parent / "output" + inject.reinject_decorated_tables() + inject.add_injectable("data_dir", data_dir) inject.add_injectable("configs_dir", configs_dir) inject.add_injectable("output_dir", output_dir) diff --git a/uv.lock b/uv.lock index 5e60da46..29e10f2f 100644 --- a/uv.lock +++ b/uv.lock @@ -1,55 +1,117 @@ version = 1 -revision = 1 +revision = 3 requires-python = ">=3.9, <3.13" resolution-markers = [ - "python_full_version >= '3.12'", - "python_full_version == '3.11.*'", + "python_full_version >= '3.11' and sys_platform == 'win32'", + "python_full_version >= '3.11' and sys_platform == 'emscripten'", + "python_full_version >= '3.11' and sys_platform != 'emscripten' and sys_platform != 'win32'", "python_full_version == '3.10.*'", "python_full_version < '3.10'", ] [[package]] name = "absl-py" -version = "2.2.1" +version = "2.3.1" source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/40/17/fa94446133df730f1a30f89ed9f3967d62ac0c0e535522ea4d46288924a5/absl_py-2.2.1.tar.gz", hash = "sha256:4c7bc50d42d021c12d4f31b7001167925e0bd71ade853069f64af410f5565ff9", size = 243555 } +resolution-markers = [ + "python_full_version < '3.10'", +] +sdist = { url = "https://files.pythonhosted.org/packages/10/2a/c93173ffa1b39c1d0395b7e842bbdc62e556ca9d8d3b5572926f3e4ca752/absl_py-2.3.1.tar.gz", hash = "sha256:a97820526f7fbfd2ec1bce83f3f25e3a14840dac0d8e02a0b71cd75db3f77fc9", size = 116588, upload-time = "2025-07-03T09:31:44.05Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/8f/aa/ba0014cc4659328dc818a28827be78e6d97312ab0cb98105a770924dc11e/absl_py-2.3.1-py3-none-any.whl", hash = "sha256:eeecf07f0c2a93ace0772c92e596ace6d3d3996c042b2128459aaae2a76de11d", size = 135811, upload-time = "2025-07-03T09:31:42.253Z" }, +] + +[[package]] +name = "absl-py" +version = "2.4.0" +source = { registry = "https://pypi.org/simple" } +resolution-markers = [ + "python_full_version >= '3.11' and sys_platform == 'win32'", + "python_full_version >= '3.11' and sys_platform == 'emscripten'", + "python_full_version >= '3.11' and sys_platform != 'emscripten' and sys_platform != 'win32'", + "python_full_version == '3.10.*'", +] +sdist = { url = "https://files.pythonhosted.org/packages/64/c7/8de93764ad66968d19329a7e0c147a2bb3c7054c554d4a119111b8f9440f/absl_py-2.4.0.tar.gz", hash = "sha256:8c6af82722b35cf71e0f4d1d47dcaebfff286e27110a99fc359349b247dfb5d4", size = 116543, upload-time = "2026-01-28T10:17:05.322Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/98/5e/34ccb5bfb8dae555045c2dd13375e01ac8e2c1f200a4e4051e95fb9addf0/absl_py-2.2.1-py3-none-any.whl", hash = "sha256:ca8209abd5005ae6e700ef36e2edc84ad5338678f95625a3f15275410a89ffbc", size = 277287 }, + { url = "https://files.pythonhosted.org/packages/18/a6/907a406bb7d359e6a63f99c313846d9eec4f7e6f7437809e03aa00fa3074/absl_py-2.4.0-py3-none-any.whl", hash = "sha256:88476fd881ca8aab94ffa78b7b6c632a782ab3ba1cd19c9bd423abc4fb4cd28d", size = 135750, upload-time = "2026-01-28T10:17:04.19Z" }, ] [[package]] name = "black" -version = "25.1.0" +version = "25.11.0" source = { registry = "https://pypi.org/simple" } +resolution-markers = [ + "python_full_version < '3.10'", +] dependencies = [ { name = "click", version = "8.1.8", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.10'" }, - { name = "click", version = "8.2.1", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.10'" }, - { name = "mypy-extensions" }, - { name = "packaging" }, - { name = "pathspec" }, - { name = "platformdirs" }, - { name = "tomli", marker = "python_full_version < '3.11'" }, - { name = "typing-extensions", marker = "python_full_version < '3.11'" }, + { name = "mypy-extensions", marker = "python_full_version < '3.10'" }, + { name = "packaging", marker = "python_full_version < '3.10'" }, + { name = "pathspec", marker = "python_full_version < '3.10'" }, + { name = "platformdirs", version = "4.4.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.10'" }, + { name = "pytokens", marker = "python_full_version < '3.10'" }, + { name = "tomli", marker = "python_full_version < '3.10'" }, + { name = "typing-extensions", marker = "python_full_version < '3.10'" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/8c/ad/33adf4708633d047950ff2dfdea2e215d84ac50ef95aff14a614e4b6e9b2/black-25.11.0.tar.gz", hash = "sha256:9a323ac32f5dc75ce7470501b887250be5005a01602e931a15e45593f70f6e08", size = 655669, upload-time = "2025-11-10T01:53:50.558Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/b3/d2/6caccbc96f9311e8ec3378c296d4f4809429c43a6cd2394e3c390e86816d/black-25.11.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:ec311e22458eec32a807f029b2646f661e6859c3f61bc6d9ffb67958779f392e", size = 1743501, upload-time = "2025-11-10T01:59:06.202Z" }, + { url = "https://files.pythonhosted.org/packages/69/35/b986d57828b3f3dccbf922e2864223197ba32e74c5004264b1c62bc9f04d/black-25.11.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:1032639c90208c15711334d681de2e24821af0575573db2810b0763bcd62e0f0", size = 1597308, upload-time = "2025-11-10T01:57:58.633Z" }, + { url = "https://files.pythonhosted.org/packages/39/8e/8b58ef4b37073f52b64a7b2dd8c9a96c84f45d6f47d878d0aa557e9a2d35/black-25.11.0-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:0c0f7c461df55cf32929b002335883946a4893d759f2df343389c4396f3b6b37", size = 1656194, upload-time = "2025-11-10T01:57:10.909Z" }, + { url = "https://files.pythonhosted.org/packages/8d/30/9c2267a7955ecc545306534ab88923769a979ac20a27cf618d370091e5dd/black-25.11.0-cp310-cp310-win_amd64.whl", hash = "sha256:f9786c24d8e9bd5f20dc7a7f0cdd742644656987f6ea6947629306f937726c03", size = 1347996, upload-time = "2025-11-10T01:57:22.391Z" }, + { url = "https://files.pythonhosted.org/packages/c4/62/d304786b75ab0c530b833a89ce7d997924579fb7484ecd9266394903e394/black-25.11.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:895571922a35434a9d8ca67ef926da6bc9ad464522a5fe0db99b394ef1c0675a", size = 1727891, upload-time = "2025-11-10T02:01:40.507Z" }, + { url = "https://files.pythonhosted.org/packages/82/5d/ffe8a006aa522c9e3f430e7b93568a7b2163f4b3f16e8feb6d8c3552761a/black-25.11.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:cb4f4b65d717062191bdec8e4a442539a8ea065e6af1c4f4d36f0cdb5f71e170", size = 1581875, upload-time = "2025-11-10T01:57:51.192Z" }, + { url = "https://files.pythonhosted.org/packages/cb/c8/7c8bda3108d0bb57387ac41b4abb5c08782b26da9f9c4421ef6694dac01a/black-25.11.0-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:d81a44cbc7e4f73a9d6ae449ec2317ad81512d1e7dce7d57f6333fd6259737bc", size = 1642716, upload-time = "2025-11-10T01:56:51.589Z" }, + { url = "https://files.pythonhosted.org/packages/34/b9/f17dea34eecb7cc2609a89627d480fb6caea7b86190708eaa7eb15ed25e7/black-25.11.0-cp311-cp311-win_amd64.whl", hash = "sha256:7eebd4744dfe92ef1ee349dc532defbf012a88b087bb7ddd688ff59a447b080e", size = 1352904, upload-time = "2025-11-10T01:59:26.252Z" }, + { url = "https://files.pythonhosted.org/packages/7f/12/5c35e600b515f35ffd737da7febdb2ab66bb8c24d88560d5e3ef3d28c3fd/black-25.11.0-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:80e7486ad3535636657aa180ad32a7d67d7c273a80e12f1b4bfa0823d54e8fac", size = 1772831, upload-time = "2025-11-10T02:03:47Z" }, + { url = "https://files.pythonhosted.org/packages/1a/75/b3896bec5a2bb9ed2f989a970ea40e7062f8936f95425879bbe162746fe5/black-25.11.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:6cced12b747c4c76bc09b4db057c319d8545307266f41aaee665540bc0e04e96", size = 1608520, upload-time = "2025-11-10T01:58:46.895Z" }, + { url = "https://files.pythonhosted.org/packages/f3/b5/2bfc18330eddbcfb5aab8d2d720663cd410f51b2ed01375f5be3751595b0/black-25.11.0-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:6cb2d54a39e0ef021d6c5eef442e10fd71fcb491be6413d083a320ee768329dd", size = 1682719, upload-time = "2025-11-10T01:56:55.24Z" }, + { url = "https://files.pythonhosted.org/packages/96/fb/f7dc2793a22cdf74a72114b5ed77fe3349a2e09ef34565857a2f917abdf2/black-25.11.0-cp312-cp312-win_amd64.whl", hash = "sha256:ae263af2f496940438e5be1a0c1020e13b09154f3af4df0835ea7f9fe7bfa409", size = 1362684, upload-time = "2025-11-10T01:57:07.639Z" }, + { url = "https://files.pythonhosted.org/packages/d5/9a/5b2c0e3215fe748fcf515c2dd34658973a1210bf610e24de5ba887e4f1c8/black-25.11.0-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:a3bb5ce32daa9ff0605d73b6f19da0b0e6c1f8f2d75594db539fdfed722f2b06", size = 1743063, upload-time = "2025-11-10T02:02:43.175Z" }, + { url = "https://files.pythonhosted.org/packages/a1/20/245164c6efc27333409c62ba54dcbfbe866c6d1957c9a6c0647786e950da/black-25.11.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:9815ccee1e55717fe9a4b924cae1646ef7f54e0f990da39a34fc7b264fcf80a2", size = 1596867, upload-time = "2025-11-10T02:00:17.157Z" }, + { url = "https://files.pythonhosted.org/packages/ca/6f/1a3859a7da205f3d50cf3a8bec6bdc551a91c33ae77a045bb24c1f46ab54/black-25.11.0-cp39-cp39-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:92285c37b93a1698dcbc34581867b480f1ba3a7b92acf1fe0467b04d7a4da0dc", size = 1655678, upload-time = "2025-11-10T01:57:09.028Z" }, + { url = "https://files.pythonhosted.org/packages/56/1a/6dec1aeb7be90753d4fcc273e69bc18bfd34b353223ed191da33f7519410/black-25.11.0-cp39-cp39-win_amd64.whl", hash = "sha256:43945853a31099c7c0ff8dface53b4de56c41294fa6783c0441a8b1d9bf668bc", size = 1347452, upload-time = "2025-11-10T01:57:01.871Z" }, + { url = "https://files.pythonhosted.org/packages/00/5d/aed32636ed30a6e7f9efd6ad14e2a0b0d687ae7c8c7ec4e4a557174b895c/black-25.11.0-py3-none-any.whl", hash = "sha256:e3f562da087791e96cefcd9dda058380a442ab322a02e222add53736451f604b", size = 204918, upload-time = "2025-11-10T01:53:48.917Z" }, +] + +[[package]] +name = "black" +version = "26.3.1" +source = { registry = "https://pypi.org/simple" } +resolution-markers = [ + "python_full_version >= '3.11' and sys_platform == 'win32'", + "python_full_version >= '3.11' and sys_platform == 'emscripten'", + "python_full_version >= '3.11' and sys_platform != 'emscripten' and sys_platform != 'win32'", + "python_full_version == '3.10.*'", +] +dependencies = [ + { name = "click", version = "8.3.1", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.10'" }, + { name = "mypy-extensions", marker = "python_full_version >= '3.10'" }, + { name = "packaging", marker = "python_full_version >= '3.10'" }, + { name = "pathspec", marker = "python_full_version >= '3.10'" }, + { name = "platformdirs", version = "4.9.4", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.10'" }, + { name = "pytokens", marker = "python_full_version >= '3.10'" }, + { name = "tomli", marker = "python_full_version == '3.10.*'" }, + { name = "typing-extensions", marker = "python_full_version == '3.10.*'" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/94/49/26a7b0f3f35da4b5a65f081943b7bcd22d7002f5f0fb8098ec1ff21cb6ef/black-25.1.0.tar.gz", hash = "sha256:33496d5cd1222ad73391352b4ae8da15253c5de89b93a80b3e2c8d9a19ec2666", size = 649449 } +sdist = { url = "https://files.pythonhosted.org/packages/e1/c5/61175d618685d42b005847464b8fb4743a67b1b8fdb75e50e5a96c31a27a/black-26.3.1.tar.gz", hash = "sha256:2c50f5063a9641c7eed7795014ba37b0f5fa227f3d408b968936e24bc0566b07", size = 666155, upload-time = "2026-03-12T03:36:03.593Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/4d/3b/4ba3f93ac8d90410423fdd31d7541ada9bcee1df32fb90d26de41ed40e1d/black-25.1.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:759e7ec1e050a15f89b770cefbf91ebee8917aac5c20483bc2d80a6c3a04df32", size = 1629419 }, - { url = "https://files.pythonhosted.org/packages/b4/02/0bde0485146a8a5e694daed47561785e8b77a0466ccc1f3e485d5ef2925e/black-25.1.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:0e519ecf93120f34243e6b0054db49c00a35f84f195d5bce7e9f5cfc578fc2da", size = 1461080 }, - { url = "https://files.pythonhosted.org/packages/52/0e/abdf75183c830eaca7589144ff96d49bce73d7ec6ad12ef62185cc0f79a2/black-25.1.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:055e59b198df7ac0b7efca5ad7ff2516bca343276c466be72eb04a3bcc1f82d7", size = 1766886 }, - { url = "https://files.pythonhosted.org/packages/dc/a6/97d8bb65b1d8a41f8a6736222ba0a334db7b7b77b8023ab4568288f23973/black-25.1.0-cp310-cp310-win_amd64.whl", hash = "sha256:db8ea9917d6f8fc62abd90d944920d95e73c83a5ee3383493e35d271aca872e9", size = 1419404 }, - { url = "https://files.pythonhosted.org/packages/7e/4f/87f596aca05c3ce5b94b8663dbfe242a12843caaa82dd3f85f1ffdc3f177/black-25.1.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:a39337598244de4bae26475f77dda852ea00a93bd4c728e09eacd827ec929df0", size = 1614372 }, - { url = "https://files.pythonhosted.org/packages/e7/d0/2c34c36190b741c59c901e56ab7f6e54dad8df05a6272a9747ecef7c6036/black-25.1.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:96c1c7cd856bba8e20094e36e0f948718dc688dba4a9d78c3adde52b9e6c2299", size = 1442865 }, - { url = "https://files.pythonhosted.org/packages/21/d4/7518c72262468430ead45cf22bd86c883a6448b9eb43672765d69a8f1248/black-25.1.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:bce2e264d59c91e52d8000d507eb20a9aca4a778731a08cfff7e5ac4a4bb7096", size = 1749699 }, - { url = "https://files.pythonhosted.org/packages/58/db/4f5beb989b547f79096e035c4981ceb36ac2b552d0ac5f2620e941501c99/black-25.1.0-cp311-cp311-win_amd64.whl", hash = "sha256:172b1dbff09f86ce6f4eb8edf9dede08b1fce58ba194c87d7a4f1a5aa2f5b3c2", size = 1428028 }, - { url = "https://files.pythonhosted.org/packages/83/71/3fe4741df7adf015ad8dfa082dd36c94ca86bb21f25608eb247b4afb15b2/black-25.1.0-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:4b60580e829091e6f9238c848ea6750efed72140b91b048770b64e74fe04908b", size = 1650988 }, - { url = "https://files.pythonhosted.org/packages/13/f3/89aac8a83d73937ccd39bbe8fc6ac8860c11cfa0af5b1c96d081facac844/black-25.1.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:1e2978f6df243b155ef5fa7e558a43037c3079093ed5d10fd84c43900f2d8ecc", size = 1453985 }, - { url = "https://files.pythonhosted.org/packages/6f/22/b99efca33f1f3a1d2552c714b1e1b5ae92efac6c43e790ad539a163d1754/black-25.1.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:3b48735872ec535027d979e8dcb20bf4f70b5ac75a8ea99f127c106a7d7aba9f", size = 1783816 }, - { url = "https://files.pythonhosted.org/packages/18/7e/a27c3ad3822b6f2e0e00d63d58ff6299a99a5b3aee69fa77cd4b0076b261/black-25.1.0-cp312-cp312-win_amd64.whl", hash = "sha256:ea0213189960bda9cf99be5b8c8ce66bb054af5e9e861249cd23471bd7b0b3ba", size = 1440860 }, - { url = "https://files.pythonhosted.org/packages/d3/b6/ae7507470a4830dbbfe875c701e84a4a5fb9183d1497834871a715716a92/black-25.1.0-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:a1ee0a0c330f7b5130ce0caed9936a904793576ef4d2b98c40835d6a65afa6a0", size = 1628593 }, - { url = "https://files.pythonhosted.org/packages/24/c1/ae36fa59a59f9363017ed397750a0cd79a470490860bc7713967d89cdd31/black-25.1.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:f3df5f1bf91d36002b0a75389ca8663510cf0531cca8aa5c1ef695b46d98655f", size = 1460000 }, - { url = "https://files.pythonhosted.org/packages/ac/b6/98f832e7a6c49aa3a464760c67c7856363aa644f2f3c74cf7d624168607e/black-25.1.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:d9e6827d563a2c820772b32ce8a42828dc6790f095f441beef18f96aa6f8294e", size = 1765963 }, - { url = "https://files.pythonhosted.org/packages/ce/e9/2cb0a017eb7024f70e0d2e9bdb8c5a5b078c5740c7f8816065d06f04c557/black-25.1.0-cp39-cp39-win_amd64.whl", hash = "sha256:bacabb307dca5ebaf9c118d2d2f6903da0d62c9faa82bd21a33eecc319559355", size = 1419419 }, - { url = "https://files.pythonhosted.org/packages/09/71/54e999902aed72baf26bca0d50781b01838251a462612966e9fc4891eadd/black-25.1.0-py3-none-any.whl", hash = "sha256:95e8176dae143ba9097f351d174fdaf0ccd29efb414b362ae3fd72bf0f710717", size = 207646 }, + { url = "https://files.pythonhosted.org/packages/32/a8/11170031095655d36ebc6664fe0897866f6023892396900eec0e8fdc4299/black-26.3.1-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:86a8b5035fce64f5dcd1b794cf8ec4d31fe458cf6ce3986a30deb434df82a1d2", size = 1866562, upload-time = "2026-03-12T03:39:58.639Z" }, + { url = "https://files.pythonhosted.org/packages/69/ce/9e7548d719c3248c6c2abfd555d11169457cbd584d98d179111338423790/black-26.3.1-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:5602bdb96d52d2d0672f24f6ffe5218795736dd34807fd0fd55ccd6bf206168b", size = 1703623, upload-time = "2026-03-12T03:40:00.347Z" }, + { url = "https://files.pythonhosted.org/packages/7f/0a/8d17d1a9c06f88d3d030d0b1d4373c1551146e252afe4547ed601c0e697f/black-26.3.1-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:6c54a4a82e291a1fee5137371ab488866b7c86a3305af4026bdd4dc78642e1ac", size = 1768388, upload-time = "2026-03-12T03:40:01.765Z" }, + { url = "https://files.pythonhosted.org/packages/52/79/c1ee726e221c863cde5164f925bacf183dfdf0397d4e3f94889439b947b4/black-26.3.1-cp310-cp310-win_amd64.whl", hash = "sha256:6e131579c243c98f35bce64a7e08e87fb2d610544754675d4a0e73a070a5aa3a", size = 1412969, upload-time = "2026-03-12T03:40:03.252Z" }, + { url = "https://files.pythonhosted.org/packages/73/a5/15c01d613f5756f68ed8f6d4ec0a1e24b82b18889fa71affd3d1f7fad058/black-26.3.1-cp310-cp310-win_arm64.whl", hash = "sha256:5ed0ca58586c8d9a487352a96b15272b7fa55d139fc8496b519e78023a8dab0a", size = 1220345, upload-time = "2026-03-12T03:40:04.892Z" }, + { url = "https://files.pythonhosted.org/packages/17/57/5f11c92861f9c92eb9dddf515530bc2d06db843e44bdcf1c83c1427824bc/black-26.3.1-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:28ef38aee69e4b12fda8dba75e21f9b4f979b490c8ac0baa7cb505369ac9e1ff", size = 1851987, upload-time = "2026-03-12T03:40:06.248Z" }, + { url = "https://files.pythonhosted.org/packages/54/aa/340a1463660bf6831f9e39646bf774086dbd8ca7fc3cded9d59bbdf4ad0a/black-26.3.1-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:bf9bf162ed91a26f1adba8efda0b573bc6924ec1408a52cc6f82cb73ec2b142c", size = 1689499, upload-time = "2026-03-12T03:40:07.642Z" }, + { url = "https://files.pythonhosted.org/packages/f3/01/b726c93d717d72733da031d2de10b92c9fa4c8d0c67e8a8a372076579279/black-26.3.1-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:474c27574d6d7037c1bc875a81d9be0a9a4f9ee95e62800dab3cfaadbf75acd5", size = 1754369, upload-time = "2026-03-12T03:40:09.279Z" }, + { url = "https://files.pythonhosted.org/packages/e3/09/61e91881ca291f150cfc9eb7ba19473c2e59df28859a11a88248b5cbbc4d/black-26.3.1-cp311-cp311-win_amd64.whl", hash = "sha256:5e9d0d86df21f2e1677cc4bd090cd0e446278bcbbe49bf3659c308c3e402843e", size = 1413613, upload-time = "2026-03-12T03:40:10.943Z" }, + { url = "https://files.pythonhosted.org/packages/16/73/544f23891b22e7efe4d8f812371ab85b57f6a01b2fc45e3ba2e52ba985b8/black-26.3.1-cp311-cp311-win_arm64.whl", hash = "sha256:9a5e9f45e5d5e1c5b5c29b3bd4265dcc90e8b92cf4534520896ed77f791f4da5", size = 1219719, upload-time = "2026-03-12T03:40:12.597Z" }, + { url = "https://files.pythonhosted.org/packages/dc/f8/da5eae4fc75e78e6dceb60624e1b9662ab00d6b452996046dfa9b8a6025b/black-26.3.1-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:b5e6f89631eb88a7302d416594a32faeee9fb8fb848290da9d0a5f2903519fc1", size = 1895920, upload-time = "2026-03-12T03:40:13.921Z" }, + { url = "https://files.pythonhosted.org/packages/2c/9f/04e6f26534da2e1629b2b48255c264cabf5eedc5141d04516d9d68a24111/black-26.3.1-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:41cd2012d35b47d589cb8a16faf8a32ef7a336f56356babd9fcf70939ad1897f", size = 1718499, upload-time = "2026-03-12T03:40:15.239Z" }, + { url = "https://files.pythonhosted.org/packages/04/91/a5935b2a63e31b331060c4a9fdb5a6c725840858c599032a6f3aac94055f/black-26.3.1-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:0f76ff19ec5297dd8e66eb64deda23631e642c9393ab592826fd4bdc97a4bce7", size = 1794994, upload-time = "2026-03-12T03:40:17.124Z" }, + { url = "https://files.pythonhosted.org/packages/e7/0a/86e462cdd311a3c2a8ece708d22aba17d0b2a0d5348ca34b40cdcbea512e/black-26.3.1-cp312-cp312-win_amd64.whl", hash = "sha256:ddb113db38838eb9f043623ba274cfaf7d51d5b0c22ecb30afe58b1bb8322983", size = 1420867, upload-time = "2026-03-12T03:40:18.83Z" }, + { url = "https://files.pythonhosted.org/packages/5b/e5/22515a19cb7eaee3440325a6b0d95d2c0e88dd180cb011b12ae488e031d1/black-26.3.1-cp312-cp312-win_arm64.whl", hash = "sha256:dfdd51fc3e64ea4f35873d1b3fb25326773d55d2329ff8449139ebaad7357efb", size = 1230124, upload-time = "2026-03-12T03:40:20.425Z" }, + { url = "https://files.pythonhosted.org/packages/8e/0d/52d98722666d6fc6c3dd4c76df339501d6efd40e0ff95e6186a7b7f0befd/black-26.3.1-py3-none-any.whl", hash = "sha256:2bd5aa94fc267d38bb21a70d7410a89f1a1d318841855f698746f8e7f51acd1b", size = 207542, upload-time = "2026-03-12T03:36:01.668Z" }, ] [[package]] @@ -65,203 +127,262 @@ dependencies = [ { name = "numpy", marker = "python_full_version < '3.10'" }, { name = "py-cpuinfo", marker = "python_full_version < '3.10'" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/f7/60/5bc8601f8ffcd5d8787b346898de8a0b454d031c3e158e3bbc312003984e/blosc2-2.5.1.tar.gz", hash = "sha256:47d5df50e7286edf81e629ece35f87f13f55c13c5e8545832188c420c75d1659", size = 4676483 } -wheels = [ - { url = "https://files.pythonhosted.org/packages/b2/75/4511f1f9cea0aad8c5464736720a9de1e762e60e359cde6b7d69186e97b0/blosc2-2.5.1-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:c861262b7fe317c1614a9b59b6c9edf409532b4a6aaf5b2f4ad0d79c6f800b57", size = 4417584 }, - { url = "https://files.pythonhosted.org/packages/c0/8a/c7ce322f90750eb7fdde0948e5c6b9c47ed03e276f2481b701f9d2360d3a/blosc2-2.5.1-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:8f35b5d69a7a41e9d5054297d2540c25f8af5ea3c62e4a80ca7359292d783c04", size = 3471945 }, - { url = "https://files.pythonhosted.org/packages/32/72/32bbaf583eea51b27c91ddb145de017d970ec0a835ec70e966925b00c9cf/blosc2-2.5.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:546fa39f397dd54b13d7c42a4f890afaf16c70fe478712070942d464c440ce03", size = 4210024 }, - { url = "https://files.pythonhosted.org/packages/a5/8c/d4ab68a40004f93c1fd20dceb1899e54477425542bffa1f5ebab2647956f/blosc2-2.5.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:5455af77e7e94159bb4966cae554f232ca2d52bb80cd3f878ecef39cf569da2a", size = 4374211 }, - { url = "https://files.pythonhosted.org/packages/16/7d/c81b1caa0aded9f3e63c4dbab7a334681ded12ad80a18de34e7199939df5/blosc2-2.5.1-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:b4dc4f595bf95c350c50bb77a8749cdd08a5dc2bdf3bdb18983d49a52d60b595", size = 4467025 }, - { url = "https://files.pythonhosted.org/packages/9b/cd/56150f9367516f039b62923a5cb243771e2a1f440de0232b195f6e79f1ab/blosc2-2.5.1-cp310-cp310-win32.whl", hash = "sha256:873483bd5c6afb8d139039180ee57b74373232e87b032cb80389fd8bb883ea8e", size = 1948573 }, - { url = "https://files.pythonhosted.org/packages/67/ff/0cf994e434b5ae860546cfe6941c58bdcdc27ed10009caffac9a29b66651/blosc2-2.5.1-cp310-cp310-win_amd64.whl", hash = "sha256:d5a7ef00b82fbca069e949335f9c92ce7cbe2039a9fa2e2bd4f5f418043d6262", size = 2343858 }, - { url = "https://files.pythonhosted.org/packages/c3/f4/25a82b7191109beb0fc20c580f35667a2e86087ebac2f6a9e50469f618d7/blosc2-2.5.1-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:da826d42d616f8a939f27e1501b40e764fded66bc80177eeaefcebdbf3b3afb8", size = 4419509 }, - { url = "https://files.pythonhosted.org/packages/03/50/b1d2bad6b9f77c3540b511b5dee77f213c8b179e942bbc34f5c410b92ede/blosc2-2.5.1-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:ae2e0c5dc8561a6b17842ee4320b49621434c20e622c9e9f5c67c9c6eb3b06a3", size = 3472870 }, - { url = "https://files.pythonhosted.org/packages/17/26/d34d521fc60b164738d986144642c58675bcdc344cc9fbb8c08e58bb11ab/blosc2-2.5.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:af3cab9c12a4364c643266ee7d9583b526c0f484a291d72ec6efb09ea7ffbbf9", size = 4208463 }, - { url = "https://files.pythonhosted.org/packages/2a/00/35169a0765044be69a3bfb73441ff8b9ea05d92d4660be622bbf90c46913/blosc2-2.5.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:22f03a723130cf07e4309fe34b1360c868f4376e862f8ff664eb40d019fdd3f6", size = 4371942 }, - { url = "https://files.pythonhosted.org/packages/8f/9b/923e29af25f4c34b5b331829a87bc8397b18e8a361551230b70e6b0a785a/blosc2-2.5.1-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:0fd109eef815ea1e50fde4f676388aa2f3bb5543502d125fb63f16ec7a014464", size = 4468495 }, - { url = "https://files.pythonhosted.org/packages/9f/39/21d6d1dc00d765f5c1671f8c0b323096f0dde360e8e1d8005160679b4831/blosc2-2.5.1-cp311-cp311-win32.whl", hash = "sha256:1a3edc3256bad04d3db30c9de7eac3a820f96e741fc754cdabb6a9991e5c37e8", size = 1948151 }, - { url = "https://files.pythonhosted.org/packages/d1/48/7d4be4e57342ec60c05d11478257b235cf33dc96c31049fb47e6ae98b652/blosc2-2.5.1-cp311-cp311-win_amd64.whl", hash = "sha256:e7499e277c13334d54f84e74f429f32341f99f7b978deaf9a7c2e963904cb48c", size = 2344506 }, - { url = "https://files.pythonhosted.org/packages/5b/4d/00824754a3b5b5c6ffb92a043b5122be6202039fc76a25fa913fe0d4e235/blosc2-2.5.1-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:ab849d3adaeb035f2f16cf495cff1792b28d58dfb3de21b9459ee355c6bb8df3", size = 4414447 }, - { url = "https://files.pythonhosted.org/packages/9b/21/9a887c9fdc46a5cfe4aa250eac4ed4f18213bf1996e113c1d1c662e31678/blosc2-2.5.1-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:dd66e60dafcc93d4c1f815d726d76f9fb067ecc9106a6c661010e709135c79ce", size = 3470989 }, - { url = "https://files.pythonhosted.org/packages/92/8d/b13ea33ea4d5da344d1170638b2d7b3cc63a921b97f9a8184128fd78aacd/blosc2-2.5.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:eb5fcd1775b3884d9825aa51fb45253f45cfa21c77f4135fad5dc5db710c2a34", size = 4190080 }, - { url = "https://files.pythonhosted.org/packages/33/bf/52c8385aa71ed8c42296016d48c80dcc41dd005e951a83970bde4e6d4ff2/blosc2-2.5.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:19f79071a336fcf1eda01cd0171291a4ab82b16cf9a15d2b4d26c010146f13b5", size = 4355536 }, - { url = "https://files.pythonhosted.org/packages/78/21/f1815f711f98c04eba5116d55041b2f64e17e8a9437d7c832d1168ed2fa8/blosc2-2.5.1-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:956a63231f1b448803e9b4bc3e704ea424c89fc14418d99093472c74f19c19e1", size = 4448554 }, - { url = "https://files.pythonhosted.org/packages/a1/e6/e05e987db27986ca8bdaaf442b94212e116a1eb937a8cd35250548704aa6/blosc2-2.5.1-cp312-cp312-win32.whl", hash = "sha256:5856e57e0e81f9018f1a12e803b9f768fa5533175092d72d165ac60069c7d2ab", size = 1940131 }, - { url = "https://files.pythonhosted.org/packages/29/80/871cf959e5e0d3d2a177caf7b9f4b714850a50c33bb5cedd86a95c6e05b2/blosc2-2.5.1-cp312-cp312-win_amd64.whl", hash = "sha256:585d780c5e85f251dec72b75a47666e4a261dbfe1d228769bca545e9fe07f480", size = 2338243 }, - { url = "https://files.pythonhosted.org/packages/c9/4b/799dcec670a1d511d11a40e919241c26a273cfd2305a4f3fe7444c39758a/blosc2-2.5.1-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:0cb9a6ac1abc466c12bdc90052f17545512de8f854e672a1ea4d2b40292323f5", size = 4417609 }, - { url = "https://files.pythonhosted.org/packages/07/cb/e97de5b2c40b6c2106d5b68c1d823707a16386fc08781a6c7c609000866e/blosc2-2.5.1-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:3def4650faa1db43143d821228ef58797108cc95d6698c4b1581909cc2b149ca", size = 3471971 }, - { url = "https://files.pythonhosted.org/packages/65/c4/0c9740c4f5efb7adde87ed8b5af88c171a3ec007df912cc2fbfb2736963d/blosc2-2.5.1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:cf6efecc1a22da26c73ff5c60d0dc086db1e7edcceb6b360dd193cda893bef28", size = 4209984 }, - { url = "https://files.pythonhosted.org/packages/a6/e2/a1367ad174006e5625a1c8ef1b526fc135adc6f546bfc46264ac8e508ebe/blosc2-2.5.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:b473472b977b770aab3bf20d0feeee84ecd5bb8b15a675287e090ce818c1cd40", size = 4374484 }, - { url = "https://files.pythonhosted.org/packages/62/88/a185ab2a50b930011396b601ae8e82e83dfa24597e5f1fd91f483f178a94/blosc2-2.5.1-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:7afe59d35d93bf8da7db8de43f4d8aef277514de43953c1e5e416ca839b9023a", size = 4466917 }, - { url = "https://files.pythonhosted.org/packages/b5/7c/6a7d46a6094a100e1bdfba7e1df584971efea00732006fdddcf0320d4846/blosc2-2.5.1-cp39-cp39-win32.whl", hash = "sha256:4315ae8d467fe91efa0dbe22004e967008f5fe021ebb3945518f5213d7c4511f", size = 1948282 }, - { url = "https://files.pythonhosted.org/packages/5c/c1/f80115c66a181e2ff18027818d3e1f37a3d5133b350b3e25189e53e28cd8/blosc2-2.5.1-cp39-cp39-win_amd64.whl", hash = "sha256:73eb5e569a91fbe67f7dd78efe6a1ca9a54afff2c847db5dfa675bfd6a424f60", size = 2343778 }, +sdist = { url = "https://files.pythonhosted.org/packages/f7/60/5bc8601f8ffcd5d8787b346898de8a0b454d031c3e158e3bbc312003984e/blosc2-2.5.1.tar.gz", hash = "sha256:47d5df50e7286edf81e629ece35f87f13f55c13c5e8545832188c420c75d1659", size = 4676483, upload-time = "2024-01-25T12:31:31.168Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/b2/75/4511f1f9cea0aad8c5464736720a9de1e762e60e359cde6b7d69186e97b0/blosc2-2.5.1-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:c861262b7fe317c1614a9b59b6c9edf409532b4a6aaf5b2f4ad0d79c6f800b57", size = 4417584, upload-time = "2024-01-25T12:30:31.487Z" }, + { url = "https://files.pythonhosted.org/packages/c0/8a/c7ce322f90750eb7fdde0948e5c6b9c47ed03e276f2481b701f9d2360d3a/blosc2-2.5.1-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:8f35b5d69a7a41e9d5054297d2540c25f8af5ea3c62e4a80ca7359292d783c04", size = 3471945, upload-time = "2024-01-25T12:30:34.745Z" }, + { url = "https://files.pythonhosted.org/packages/32/72/32bbaf583eea51b27c91ddb145de017d970ec0a835ec70e966925b00c9cf/blosc2-2.5.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:546fa39f397dd54b13d7c42a4f890afaf16c70fe478712070942d464c440ce03", size = 4210024, upload-time = "2024-01-25T12:30:36.556Z" }, + { url = "https://files.pythonhosted.org/packages/a5/8c/d4ab68a40004f93c1fd20dceb1899e54477425542bffa1f5ebab2647956f/blosc2-2.5.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:5455af77e7e94159bb4966cae554f232ca2d52bb80cd3f878ecef39cf569da2a", size = 4374211, upload-time = "2024-01-25T12:30:38.355Z" }, + { url = "https://files.pythonhosted.org/packages/16/7d/c81b1caa0aded9f3e63c4dbab7a334681ded12ad80a18de34e7199939df5/blosc2-2.5.1-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:b4dc4f595bf95c350c50bb77a8749cdd08a5dc2bdf3bdb18983d49a52d60b595", size = 4467025, upload-time = "2024-01-25T12:30:40.682Z" }, + { url = "https://files.pythonhosted.org/packages/9b/cd/56150f9367516f039b62923a5cb243771e2a1f440de0232b195f6e79f1ab/blosc2-2.5.1-cp310-cp310-win32.whl", hash = "sha256:873483bd5c6afb8d139039180ee57b74373232e87b032cb80389fd8bb883ea8e", size = 1948573, upload-time = "2024-01-25T12:30:43.019Z" }, + { url = "https://files.pythonhosted.org/packages/67/ff/0cf994e434b5ae860546cfe6941c58bdcdc27ed10009caffac9a29b66651/blosc2-2.5.1-cp310-cp310-win_amd64.whl", hash = "sha256:d5a7ef00b82fbca069e949335f9c92ce7cbe2039a9fa2e2bd4f5f418043d6262", size = 2343858, upload-time = "2024-01-25T12:30:44.621Z" }, + { url = "https://files.pythonhosted.org/packages/c3/f4/25a82b7191109beb0fc20c580f35667a2e86087ebac2f6a9e50469f618d7/blosc2-2.5.1-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:da826d42d616f8a939f27e1501b40e764fded66bc80177eeaefcebdbf3b3afb8", size = 4419509, upload-time = "2024-01-25T12:30:46.347Z" }, + { url = "https://files.pythonhosted.org/packages/03/50/b1d2bad6b9f77c3540b511b5dee77f213c8b179e942bbc34f5c410b92ede/blosc2-2.5.1-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:ae2e0c5dc8561a6b17842ee4320b49621434c20e622c9e9f5c67c9c6eb3b06a3", size = 3472870, upload-time = "2024-01-25T12:30:48.698Z" }, + { url = "https://files.pythonhosted.org/packages/17/26/d34d521fc60b164738d986144642c58675bcdc344cc9fbb8c08e58bb11ab/blosc2-2.5.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:af3cab9c12a4364c643266ee7d9583b526c0f484a291d72ec6efb09ea7ffbbf9", size = 4208463, upload-time = "2024-01-25T12:30:51.019Z" }, + { url = "https://files.pythonhosted.org/packages/2a/00/35169a0765044be69a3bfb73441ff8b9ea05d92d4660be622bbf90c46913/blosc2-2.5.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:22f03a723130cf07e4309fe34b1360c868f4376e862f8ff664eb40d019fdd3f6", size = 4371942, upload-time = "2024-01-25T12:30:53.304Z" }, + { url = "https://files.pythonhosted.org/packages/8f/9b/923e29af25f4c34b5b331829a87bc8397b18e8a361551230b70e6b0a785a/blosc2-2.5.1-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:0fd109eef815ea1e50fde4f676388aa2f3bb5543502d125fb63f16ec7a014464", size = 4468495, upload-time = "2024-01-25T12:30:55.165Z" }, + { url = "https://files.pythonhosted.org/packages/9f/39/21d6d1dc00d765f5c1671f8c0b323096f0dde360e8e1d8005160679b4831/blosc2-2.5.1-cp311-cp311-win32.whl", hash = "sha256:1a3edc3256bad04d3db30c9de7eac3a820f96e741fc754cdabb6a9991e5c37e8", size = 1948151, upload-time = "2024-01-25T12:30:57.515Z" }, + { url = "https://files.pythonhosted.org/packages/d1/48/7d4be4e57342ec60c05d11478257b235cf33dc96c31049fb47e6ae98b652/blosc2-2.5.1-cp311-cp311-win_amd64.whl", hash = "sha256:e7499e277c13334d54f84e74f429f32341f99f7b978deaf9a7c2e963904cb48c", size = 2344506, upload-time = "2024-01-25T12:30:59.641Z" }, + { url = "https://files.pythonhosted.org/packages/5b/4d/00824754a3b5b5c6ffb92a043b5122be6202039fc76a25fa913fe0d4e235/blosc2-2.5.1-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:ab849d3adaeb035f2f16cf495cff1792b28d58dfb3de21b9459ee355c6bb8df3", size = 4414447, upload-time = "2024-01-25T12:31:01.39Z" }, + { url = "https://files.pythonhosted.org/packages/9b/21/9a887c9fdc46a5cfe4aa250eac4ed4f18213bf1996e113c1d1c662e31678/blosc2-2.5.1-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:dd66e60dafcc93d4c1f815d726d76f9fb067ecc9106a6c661010e709135c79ce", size = 3470989, upload-time = "2024-01-25T12:31:03.626Z" }, + { url = "https://files.pythonhosted.org/packages/92/8d/b13ea33ea4d5da344d1170638b2d7b3cc63a921b97f9a8184128fd78aacd/blosc2-2.5.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:eb5fcd1775b3884d9825aa51fb45253f45cfa21c77f4135fad5dc5db710c2a34", size = 4190080, upload-time = "2024-01-25T12:31:06.036Z" }, + { url = "https://files.pythonhosted.org/packages/33/bf/52c8385aa71ed8c42296016d48c80dcc41dd005e951a83970bde4e6d4ff2/blosc2-2.5.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:19f79071a336fcf1eda01cd0171291a4ab82b16cf9a15d2b4d26c010146f13b5", size = 4355536, upload-time = "2024-01-25T12:31:07.839Z" }, + { url = "https://files.pythonhosted.org/packages/78/21/f1815f711f98c04eba5116d55041b2f64e17e8a9437d7c832d1168ed2fa8/blosc2-2.5.1-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:956a63231f1b448803e9b4bc3e704ea424c89fc14418d99093472c74f19c19e1", size = 4448554, upload-time = "2024-01-25T12:31:09.514Z" }, + { url = "https://files.pythonhosted.org/packages/a1/e6/e05e987db27986ca8bdaaf442b94212e116a1eb937a8cd35250548704aa6/blosc2-2.5.1-cp312-cp312-win32.whl", hash = "sha256:5856e57e0e81f9018f1a12e803b9f768fa5533175092d72d165ac60069c7d2ab", size = 1940131, upload-time = "2024-01-25T12:31:12.02Z" }, + { url = "https://files.pythonhosted.org/packages/29/80/871cf959e5e0d3d2a177caf7b9f4b714850a50c33bb5cedd86a95c6e05b2/blosc2-2.5.1-cp312-cp312-win_amd64.whl", hash = "sha256:585d780c5e85f251dec72b75a47666e4a261dbfe1d228769bca545e9fe07f480", size = 2338243, upload-time = "2024-01-25T12:31:13.967Z" }, + { url = "https://files.pythonhosted.org/packages/c9/4b/799dcec670a1d511d11a40e919241c26a273cfd2305a4f3fe7444c39758a/blosc2-2.5.1-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:0cb9a6ac1abc466c12bdc90052f17545512de8f854e672a1ea4d2b40292323f5", size = 4417609, upload-time = "2024-01-25T12:31:15.635Z" }, + { url = "https://files.pythonhosted.org/packages/07/cb/e97de5b2c40b6c2106d5b68c1d823707a16386fc08781a6c7c609000866e/blosc2-2.5.1-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:3def4650faa1db43143d821228ef58797108cc95d6698c4b1581909cc2b149ca", size = 3471971, upload-time = "2024-01-25T12:31:18.231Z" }, + { url = "https://files.pythonhosted.org/packages/65/c4/0c9740c4f5efb7adde87ed8b5af88c171a3ec007df912cc2fbfb2736963d/blosc2-2.5.1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:cf6efecc1a22da26c73ff5c60d0dc086db1e7edcceb6b360dd193cda893bef28", size = 4209984, upload-time = "2024-01-25T12:31:20.855Z" }, + { url = "https://files.pythonhosted.org/packages/a6/e2/a1367ad174006e5625a1c8ef1b526fc135adc6f546bfc46264ac8e508ebe/blosc2-2.5.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:b473472b977b770aab3bf20d0feeee84ecd5bb8b15a675287e090ce818c1cd40", size = 4374484, upload-time = "2024-01-25T12:31:22.587Z" }, + { url = "https://files.pythonhosted.org/packages/62/88/a185ab2a50b930011396b601ae8e82e83dfa24597e5f1fd91f483f178a94/blosc2-2.5.1-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:7afe59d35d93bf8da7db8de43f4d8aef277514de43953c1e5e416ca839b9023a", size = 4466917, upload-time = "2024-01-25T12:31:24.387Z" }, + { url = "https://files.pythonhosted.org/packages/b5/7c/6a7d46a6094a100e1bdfba7e1df584971efea00732006fdddcf0320d4846/blosc2-2.5.1-cp39-cp39-win32.whl", hash = "sha256:4315ae8d467fe91efa0dbe22004e967008f5fe021ebb3945518f5213d7c4511f", size = 1948282, upload-time = "2024-01-25T12:31:26.074Z" }, + { url = "https://files.pythonhosted.org/packages/5c/c1/f80115c66a181e2ff18027818d3e1f37a3d5133b350b3e25189e53e28cd8/blosc2-2.5.1-cp39-cp39-win_amd64.whl", hash = "sha256:73eb5e569a91fbe67f7dd78efe6a1ca9a54afff2c847db5dfa675bfd6a424f60", size = 2343778, upload-time = "2024-01-25T12:31:27.669Z" }, ] [[package]] name = "blosc2" -version = "2.7.1" +version = "4.1.2" source = { registry = "https://pypi.org/simple" } resolution-markers = [ + "python_full_version >= '3.11' and sys_platform == 'win32'", + "python_full_version >= '3.11' and sys_platform == 'emscripten'", + "python_full_version >= '3.11' and sys_platform != 'emscripten' and sys_platform != 'win32'", "python_full_version == '3.10.*'", ] dependencies = [ - { name = "msgpack", marker = "python_full_version == '3.10.*'" }, - { name = "ndindex", marker = "python_full_version == '3.10.*'" }, - { name = "numexpr", marker = "python_full_version == '3.10.*'" }, - { name = "numpy", marker = "python_full_version == '3.10.*'" }, - { name = "py-cpuinfo", marker = "python_full_version == '3.10.*'" }, + { name = "msgpack", marker = "python_full_version >= '3.10'" }, + { name = "ndindex", marker = "python_full_version >= '3.10'" }, + { name = "numexpr", version = "2.14.1", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.10' and platform_machine != 'wasm32'" }, + { name = "numpy", marker = "python_full_version >= '3.10'" }, + { name = "requests", marker = "python_full_version >= '3.10'" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/ef/bb/19a5d672f86dd26be0fc4f3a4c04264c088f3309b7b9d4e3e853a1f3cfda/blosc2-2.7.1.tar.gz", hash = "sha256:34db4d41543b16e894d507d6c7d10a9a67c9dd420ff40b072f7c39185cbb8fe8", size = 5149754 } -wheels = [ - { url = "https://files.pythonhosted.org/packages/93/f4/cbd6c3aaa6d328f73f6c86d56df016edb48083291b90eb945572584fa8f6/blosc2-2.7.1-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:ad698c6fca8dee677b7a1881206f7ac43ffd7c458733716a3de1e1f3c6ba1f79", size = 3930841 }, - { url = "https://files.pythonhosted.org/packages/3f/e7/0f259887dc4b5ac48ed088a932444052905aba1a883d2bd79fd54f6a8ead/blosc2-2.7.1-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:5923a22fb7cfdad571b316930e8812618ba8b2ac1f37ac05edcf3eda71beed9f", size = 3316501 }, - { url = "https://files.pythonhosted.org/packages/45/6a/dc70194a05e03904a5c9fec9241838b3168afba98f31a0cc7b9a4451f033/blosc2-2.7.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:18770f75174a3aae5712f53e9cb5885b258b730b281cbb3bf1e7a74ea3d94fae", size = 4262586 }, - { url = "https://files.pythonhosted.org/packages/bb/1b/5abcd413e11222411ea6032be42aa4db3eac51ab04b967f7e8c669fdb857/blosc2-2.7.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3412e83e6b2508f3da0b0f3e0bf86bef4dac56f018525d2ab55ca50712a2b91a", size = 4409460 }, - { url = "https://files.pythonhosted.org/packages/44/fb/0bc4828c931402d711e9e26aa9938b7ed4f3abc4e7714edc9ab593ab83c8/blosc2-2.7.1-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:06e0933855a6cba347692f08de1aaa51a8858dda67e7c5eaeaab59663b897879", size = 4815324 }, - { url = "https://files.pythonhosted.org/packages/db/64/6e11754d7498aa9e7fa13436e9eef00aaf1c74a9c67f74b36e134bd2c81a/blosc2-2.7.1-cp310-cp310-win32.whl", hash = "sha256:d5e03ec783841c82ba6704638f5847a80cac8625186932a8f3b47bc5fbda4f7e", size = 1982839 }, - { url = "https://files.pythonhosted.org/packages/9b/a5/0bf10f282853aaf77f8f7b919ca79813b56b2d7955625400d527eb268449/blosc2-2.7.1-cp310-cp310-win_amd64.whl", hash = "sha256:150030e81bd5037f802ce7844281a37ff67e0998aa1735c48b02f3c6401bf0a1", size = 2374796 }, - { url = "https://files.pythonhosted.org/packages/22/cb/2a5b2024afa43f9b90a21022c44211ba064dc3501e99e3a8ea5b275189dd/blosc2-2.7.1-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:51fa45187639cd1f7822355c91f6ceb0fbff6157eb6f9c32462782551fc61283", size = 3933072 }, - { url = "https://files.pythonhosted.org/packages/77/3d/1dedc6be1a730d4ba75c599fa8f5426efd02cef7722ed7e54b16e0ae8702/blosc2-2.7.1-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:f8134aaaf72b670f2ddf258d9b64646c262d6b1b112a530d39f9a5d316f3b306", size = 3317470 }, - { url = "https://files.pythonhosted.org/packages/e0/93/c1051b42f9797504c11d28185b7e4e343e716eb12152f087cf5312aa7b8b/blosc2-2.7.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:3c10a9505c6d2d5e58f03a1139b4a4b234511baa9ebeba17f8f1cc22881ca764", size = 4260663 }, - { url = "https://files.pythonhosted.org/packages/3e/00/21f408b3257fff4e5166dbd666ee2739f088e139dc90743b09952ee0ebd8/blosc2-2.7.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ed15f0eb6a99df425b33be948fb309a97e76bda37eae20022bc9611bce775592", size = 4406560 }, - { url = "https://files.pythonhosted.org/packages/ba/4d/0295f619fad024e05a46afc1315661f08f3ac3f2c051c9bf060cfb91fe2d/blosc2-2.7.1-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:7a369a72467b54fb45aa307cf6e3ae84ec0212a9b55cfa5f4d4eb06a06bb1472", size = 4814632 }, - { url = "https://files.pythonhosted.org/packages/d8/f6/aeb8cd6c0184870ad2be3cf3664a23e45595024b47cc036e83f20b2d039f/blosc2-2.7.1-cp311-cp311-win32.whl", hash = "sha256:bf55816beaf34eaba021904ee7d6c428ca338d0f3ec7a5be04dda552258d0a8b", size = 1982521 }, - { url = "https://files.pythonhosted.org/packages/df/e1/36db3625759c8e620ed992450e9579a02f023538292883e04189845d98d0/blosc2-2.7.1-cp311-cp311-win_amd64.whl", hash = "sha256:9b00bcaeaf125491cc6dec5508389f95152de69cc678a63a0310a756511f3d21", size = 2375006 }, - { url = "https://files.pythonhosted.org/packages/d8/83/417cc99eb9c46a295c9b9381834e9728ba1c583ad942610755a5348f9965/blosc2-2.7.1-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:bd91a5d9e1d35b47bf5a3b6b440bc120f1fa0af45264c0a6ccca6b1083de43e9", size = 3937332 }, - { url = "https://files.pythonhosted.org/packages/f1/85/3f817bcd5f665625a46056ea7acad8a4798238a37d85a22cc8294e885e89/blosc2-2.7.1-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:2c7dbdd93378d01b048536b2eccbb77eaa73054665bc3a9396e4e391a50c4ad0", size = 3317749 }, - { url = "https://files.pythonhosted.org/packages/01/00/35bac426ec7e1e0ea05193043bb2c1a3151861a2f5519ab070223ca5819e/blosc2-2.7.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:c662a3cab4760c194407de1990bd70608af29ee30d6471072463cdc8cc6586c4", size = 4242056 }, - { url = "https://files.pythonhosted.org/packages/58/9f/54099025ce55a33d2be80eda16821d695c0249c9826e14196e2655ca4a7e/blosc2-2.7.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6c1f3e5ed25930596492dddac8022a729d538efb3c1c4e4904a0021288cf4835", size = 4390896 }, - { url = "https://files.pythonhosted.org/packages/40/2b/9fb84e2656f09ac90fed163490c11e88a8f5306e53f27b9eb324a2d966b9/blosc2-2.7.1-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:23763b3602df9b0e63d16d21abadaac426a74370a0a986f08bf5322bcfd207c6", size = 4793489 }, - { url = "https://files.pythonhosted.org/packages/9b/f6/3864933ef0d51845a78f260dce9eba4e3938ff136d1dcd7a4b9d91d25191/blosc2-2.7.1-cp312-cp312-win32.whl", hash = "sha256:6c894ef42fabc49c6bd1c41d2e45ac24e911b3b711c1e26f9be93dbcbf5fd4e2", size = 1977960 }, - { url = "https://files.pythonhosted.org/packages/77/81/44def26a468e14309a4cb7d5f6f0534e3e9eec292c0453a9624a4d9c0ebd/blosc2-2.7.1-cp312-cp312-win_amd64.whl", hash = "sha256:a1a884f181a2a9612470bcd589794c7adda3eebdaed918e1a8b6e69683524b70", size = 2370429 }, +sdist = { url = "https://files.pythonhosted.org/packages/f8/fa/d72f624903dad1f2e95cb97d4e3777284f7eb398792f0d3380fdd73c1fc4/blosc2-4.1.2.tar.gz", hash = "sha256:c127342d976de44fee242137e83660097e0b072779f4164a34e149ac9f693c8a", size = 4341120, upload-time = "2026-03-03T11:05:14.496Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/3f/ec/dbe9d64258d68b3251c362425347e0477e2ccd769dd14dd17baa6011487b/blosc2-4.1.2-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:bb5f383a1b83a96e4b8ea31b976efdfeb4c7df0016b6ce6c7e735eeac92c3874", size = 4644710, upload-time = "2026-03-03T11:04:28.449Z" }, + { url = "https://files.pythonhosted.org/packages/a4/1d/e162c4dfdc5971ee0159c06b26da3b46b0279e558209e422163fb16fc0e2/blosc2-4.1.2-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:e69c2f90d5691a439ab6f6f873246ae77b26f5ed46794d5693b5cdba5b60f3e8", size = 4118209, upload-time = "2026-03-03T11:04:30.475Z" }, + { url = "https://files.pythonhosted.org/packages/17/c7/45255f959c81379674b041d85bae1e8edabd80173a1fb1ee3fb1c28b6d5e/blosc2-4.1.2-cp310-cp310-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:10612397b4829120ac25cd50c2f923edf9cbb830c2d0e467d272013f06a7ffbc", size = 5094511, upload-time = "2026-03-03T11:04:31.763Z" }, + { url = "https://files.pythonhosted.org/packages/63/83/df6cf0828eb76ef0a12bc4a576f70c3850b45a2ab950445e4cb475ef1cd7/blosc2-4.1.2-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:bb93d560e6a0b7f4642795311659a4ab7b2e12b6c79b2077fe06ec7a99784339", size = 5230560, upload-time = "2026-03-03T11:04:33.291Z" }, + { url = "https://files.pythonhosted.org/packages/c5/07/4afc4612a6e323e5d5394267b9b36c50250d075bf4b3bebfb54f2527e639/blosc2-4.1.2-cp310-cp310-win_amd64.whl", hash = "sha256:4c8740e61f97ce96d7a46569a9b51b9b6fdac7b4792a8a486250a00ef6f7fd8b", size = 3146745, upload-time = "2026-03-03T11:04:34.846Z" }, + { url = "https://files.pythonhosted.org/packages/81/85/1240460e27c82897608df1c3f4b9c9243019a2e2345215d5f04e1a36fb15/blosc2-4.1.2-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:7f8cd9d95563fbd6a76eed81ba85669d11c53385fb01ee8a91bed3b8070fa661", size = 4641818, upload-time = "2026-03-03T11:04:36.099Z" }, + { url = "https://files.pythonhosted.org/packages/f1/51/a988a96be0cc8a7c187d26579c21770c0f679a1d12b6268629f554640e33/blosc2-4.1.2-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:0dcddab7db4398c11190f21b48c2fe468d99b4a003bbacb30011c00be11d9c75", size = 4116600, upload-time = "2026-03-03T11:04:37.505Z" }, + { url = "https://files.pythonhosted.org/packages/f2/b6/1c8b6b703d6f000df557ca594451883d18dcbe89b881fe1be75df82d76e7/blosc2-4.1.2-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:09127cb9d32e2b0d04333ef9e50f7bcf00765f1a20216cede40a04f36d786069", size = 5094195, upload-time = "2026-03-03T11:04:39.035Z" }, + { url = "https://files.pythonhosted.org/packages/2d/2a/d71c52fae9ae60337ad34f872a8537d1329be028b7449951c8f61421298f/blosc2-4.1.2-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:ca2a8cdb85d6c3dc2ed19b550ee57041c9ea9230f9fa9829cfd0fe467fa6ad1d", size = 5229746, upload-time = "2026-03-03T11:04:40.669Z" }, + { url = "https://files.pythonhosted.org/packages/50/3d/e29f14df0053c510ed75a3f8a7a1429b6e5e72f8e3928911d15f6b63fe36/blosc2-4.1.2-cp311-cp311-win_amd64.whl", hash = "sha256:ab8e878763b8f19c284cca8854f312988cb8039181eda508a01a1174f97938c5", size = 3145620, upload-time = "2026-03-03T11:04:42.262Z" }, + { url = "https://files.pythonhosted.org/packages/5a/74/ef2f1cea5239062be872fe7db384fcb5f7532257efcec11c960a15a5134f/blosc2-4.1.2-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:2f39bc24bfde0ba2938f23b3ecd6a69f7788c9e775c88e0be37a3b4680bc84c8", size = 4686887, upload-time = "2026-03-03T11:04:43.857Z" }, + { url = "https://files.pythonhosted.org/packages/d2/87/834a234879ae8bcb61be4bf88855e29f62d06da0b5b45a01f6e7898e9d5f/blosc2-4.1.2-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:e0bd7e752f636cde649f92acb735d58e23d0813ed9b24fb02f65eaaa7a415cdd", size = 4117160, upload-time = "2026-03-03T11:04:45.11Z" }, + { url = "https://files.pythonhosted.org/packages/dd/d0/84d10472414a605bac9e794e03ff53ce464e22fe83edc365dc88b6833c14/blosc2-4.1.2-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:ceb440269004619a416813b7c36abef94b028fd702dd8209b5d41311b6ce39c4", size = 5071905, upload-time = "2026-03-03T11:04:47.327Z" }, + { url = "https://files.pythonhosted.org/packages/96/c6/6c98cb75da1ef26cb27fedb3edb4b3cdd1b3aa2f1056bdd9de0823effed9/blosc2-4.1.2-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:830addc8d8722348421e5d99d719c53a36ff34a468980a7af05938ddb336cf4f", size = 5208010, upload-time = "2026-03-03T11:04:48.542Z" }, + { url = "https://files.pythonhosted.org/packages/fe/d7/d4988cd88c070b2a24b446bf780fc43a7cb73a4af1e092b11edc832f616c/blosc2-4.1.2-cp312-cp312-win_amd64.whl", hash = "sha256:9abc9432f7aa9335c87eb7b3cec72ac7bf3b764518e775b4f60159617e0817bf", size = 3147758, upload-time = "2026-03-03T11:04:49.789Z" }, ] [[package]] -name = "blosc2" -version = "3.3.0" +name = "certifi" +version = "2026.2.25" source = { registry = "https://pypi.org/simple" } -resolution-markers = [ - "python_full_version >= '3.12'", - "python_full_version == '3.11.*'", +sdist = { url = "https://files.pythonhosted.org/packages/af/2d/7bf41579a8986e348fa033a31cdd0e4121114f6bce2457e8876010b092dd/certifi-2026.2.25.tar.gz", hash = "sha256:e887ab5cee78ea814d3472169153c2d12cd43b14bd03329a39a9c6e2e80bfba7", size = 155029, upload-time = "2026-02-25T02:54:17.342Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/9a/3c/c17fb3ca2d9c3acff52e30b309f538586f9f5b9c9cf454f3845fc9af4881/certifi-2026.2.25-py3-none-any.whl", hash = "sha256:027692e4402ad994f1c42e52a4997a9763c646b73e4096e4d5d6db8af1d6f0fa", size = 153684, upload-time = "2026-02-25T02:54:15.766Z" }, ] + +[[package]] +name = "cffi" +version = "2.0.0" +source = { registry = "https://pypi.org/simple" } dependencies = [ - { name = "msgpack", marker = "python_full_version >= '3.11'" }, - { name = "ndindex", marker = "python_full_version >= '3.11'" }, - { name = "numexpr", marker = "python_full_version >= '3.11' and platform_machine != 'wasm32'" }, - { name = "numpy", marker = "python_full_version >= '3.11'" }, - { name = "platformdirs", marker = "python_full_version >= '3.11'" }, - { name = "py-cpuinfo", marker = "python_full_version >= '3.11' and platform_machine != 'wasm32'" }, - { name = "requests", marker = "python_full_version >= '3.11'" }, -] -sdist = { url = "https://files.pythonhosted.org/packages/35/62/7648d563bf8a65f4b704efda7d141bde74eda2b6f95711f0823720e5e126/blosc2-3.3.0.tar.gz", hash = "sha256:33a10327ece8197a9852e171f92199b3346e3e8450391cd0f01abaf402ae8979", size = 3636933 } -wheels = [ - { url = "https://files.pythonhosted.org/packages/3a/ba/5284ced4bbe07f18062c6164e4adfeb9ba93b73ce76fc07fcceca38f0e57/blosc2-3.3.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:a13bd0f84cd4740fcaf366d4e91ae2df1cb0c4bcf4b968491d20a94bb720b49c", size = 3995793 }, - { url = "https://files.pythonhosted.org/packages/69/24/d8e58b79656eb9c94ea2e223509caf35902bc30544198cb47877858022d9/blosc2-3.3.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:b15a921906bba2fc822347d312ad68e6369544fb033cbfb2d3dd8313f41c61aa", size = 3375646 }, - { url = "https://files.pythonhosted.org/packages/81/23/bbfc9e94e8ca1c9d5a6f58af1f49091a0ec70c4301d88e7fc545b2e1aaaa/blosc2-3.3.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e106b8d42d5df5334b602ae42787630cae3c92165985aa7167d97f6432bf7740", size = 4282960 }, - { url = "https://files.pythonhosted.org/packages/a6/91/d6abdbc7a08b0a519b928263c6956c3e2dda26942b6f9105021926ff3e50/blosc2-3.3.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:595be1ae98919c20965276fc4ccad8384466ef45dfcf1ef08c0a17d39e5dc9c3", size = 4436061 }, - { url = "https://files.pythonhosted.org/packages/e3/42/ab43c4bb0544a3766005d1acc7c42a7031656bce45888dac5f2d802c919d/blosc2-3.3.0-cp311-cp311-win_amd64.whl", hash = "sha256:0667da628e552cf4f19483ecd05aa735b26f6be5ab89160a5233004a78f6c850", size = 2196483 }, - { url = "https://files.pythonhosted.org/packages/73/77/dce9eaccd49a57c0ae578a18b7e8780aede7b01eb44d5e2632d940fa3e3d/blosc2-3.3.0-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:e85a3eadc240b566eba1df142c3ab0600330bf24300646c8a48bc6b5a96f3fd4", size = 4007450 }, - { url = "https://files.pythonhosted.org/packages/59/ff/020931eff0fd2339904932240770733c3316835e8d30957c534c8730341d/blosc2-3.3.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:2a99d5f1e514f47a95c6092eb53e4bb5992356443419d20dd7c6855a471edc61", size = 3375528 }, - { url = "https://files.pythonhosted.org/packages/c7/2d/b2d0dda1574dec40b0ed31543dbd541449d200947a601bc04838c4458296/blosc2-3.3.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:11b7c208c129ba5712671192d6ac13a269f2f3c08aeed389a700d561ebf29f4c", size = 4263232 }, - { url = "https://files.pythonhosted.org/packages/80/8e/802517c069e9fd6fc49894a992f13515196a2019d49a5eec0e568cbc5e88/blosc2-3.3.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6911461cec7af0514d41fb055c9f7381857e9b4f48024554df8b15d9dddbb465", size = 4420123 }, - { url = "https://files.pythonhosted.org/packages/a6/61/ee06829bb4ed36f8d7af8120b00825e3a2a693ec1edf5fb4dc298a47786a/blosc2-3.3.0-cp312-cp312-win_amd64.whl", hash = "sha256:e4239fdcf770733f452bc820d925b026235291305992b26e7e95ec7a78acb117", size = 2190182 }, + { name = "pycparser", version = "2.23", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.10' and implementation_name != 'PyPy'" }, + { name = "pycparser", version = "3.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.10' and implementation_name != 'PyPy'" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/eb/56/b1ba7935a17738ae8453301356628e8147c79dbb825bcbc73dc7401f9846/cffi-2.0.0.tar.gz", hash = "sha256:44d1b5909021139fe36001ae048dbdde8214afa20200eda0f64c068cac5d5529", size = 523588, upload-time = "2025-09-08T23:24:04.541Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/93/d7/516d984057745a6cd96575eea814fe1edd6646ee6efd552fb7b0921dec83/cffi-2.0.0-cp310-cp310-macosx_10_13_x86_64.whl", hash = "sha256:0cf2d91ecc3fcc0625c2c530fe004f82c110405f101548512cce44322fa8ac44", size = 184283, upload-time = "2025-09-08T23:22:08.01Z" }, + { url = "https://files.pythonhosted.org/packages/9e/84/ad6a0b408daa859246f57c03efd28e5dd1b33c21737c2db84cae8c237aa5/cffi-2.0.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:f73b96c41e3b2adedc34a7356e64c8eb96e03a3782b535e043a986276ce12a49", size = 180504, upload-time = "2025-09-08T23:22:10.637Z" }, + { url = "https://files.pythonhosted.org/packages/50/bd/b1a6362b80628111e6653c961f987faa55262b4002fcec42308cad1db680/cffi-2.0.0-cp310-cp310-manylinux1_i686.manylinux2014_i686.manylinux_2_17_i686.manylinux_2_5_i686.whl", hash = "sha256:53f77cbe57044e88bbd5ed26ac1d0514d2acf0591dd6bb02a3ae37f76811b80c", size = 208811, upload-time = "2025-09-08T23:22:12.267Z" }, + { url = "https://files.pythonhosted.org/packages/4f/27/6933a8b2562d7bd1fb595074cf99cc81fc3789f6a6c05cdabb46284a3188/cffi-2.0.0-cp310-cp310-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:3e837e369566884707ddaf85fc1744b47575005c0a229de3327f8f9a20f4efeb", size = 216402, upload-time = "2025-09-08T23:22:13.455Z" }, + { url = "https://files.pythonhosted.org/packages/05/eb/b86f2a2645b62adcfff53b0dd97e8dfafb5c8aa864bd0d9a2c2049a0d551/cffi-2.0.0-cp310-cp310-manylinux2014_ppc64le.manylinux_2_17_ppc64le.whl", hash = "sha256:5eda85d6d1879e692d546a078b44251cdd08dd1cfb98dfb77b670c97cee49ea0", size = 203217, upload-time = "2025-09-08T23:22:14.596Z" }, + { url = "https://files.pythonhosted.org/packages/9f/e0/6cbe77a53acf5acc7c08cc186c9928864bd7c005f9efd0d126884858a5fe/cffi-2.0.0-cp310-cp310-manylinux2014_s390x.manylinux_2_17_s390x.whl", hash = "sha256:9332088d75dc3241c702d852d4671613136d90fa6881da7d770a483fd05248b4", size = 203079, upload-time = "2025-09-08T23:22:15.769Z" }, + { url = "https://files.pythonhosted.org/packages/98/29/9b366e70e243eb3d14a5cb488dfd3a0b6b2f1fb001a203f653b93ccfac88/cffi-2.0.0-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:fc7de24befaeae77ba923797c7c87834c73648a05a4bde34b3b7e5588973a453", size = 216475, upload-time = "2025-09-08T23:22:17.427Z" }, + { url = "https://files.pythonhosted.org/packages/21/7a/13b24e70d2f90a322f2900c5d8e1f14fa7e2a6b3332b7309ba7b2ba51a5a/cffi-2.0.0-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:cf364028c016c03078a23b503f02058f1814320a56ad535686f90565636a9495", size = 218829, upload-time = "2025-09-08T23:22:19.069Z" }, + { url = "https://files.pythonhosted.org/packages/60/99/c9dc110974c59cc981b1f5b66e1d8af8af764e00f0293266824d9c4254bc/cffi-2.0.0-cp310-cp310-musllinux_1_2_i686.whl", hash = "sha256:e11e82b744887154b182fd3e7e8512418446501191994dbf9c9fc1f32cc8efd5", size = 211211, upload-time = "2025-09-08T23:22:20.588Z" }, + { url = "https://files.pythonhosted.org/packages/49/72/ff2d12dbf21aca1b32a40ed792ee6b40f6dc3a9cf1644bd7ef6e95e0ac5e/cffi-2.0.0-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:8ea985900c5c95ce9db1745f7933eeef5d314f0565b27625d9a10ec9881e1bfb", size = 218036, upload-time = "2025-09-08T23:22:22.143Z" }, + { url = "https://files.pythonhosted.org/packages/e2/cc/027d7fb82e58c48ea717149b03bcadcbdc293553edb283af792bd4bcbb3f/cffi-2.0.0-cp310-cp310-win32.whl", hash = "sha256:1f72fb8906754ac8a2cc3f9f5aaa298070652a0ffae577e0ea9bd480dc3c931a", size = 172184, upload-time = "2025-09-08T23:22:23.328Z" }, + { url = "https://files.pythonhosted.org/packages/33/fa/072dd15ae27fbb4e06b437eb6e944e75b068deb09e2a2826039e49ee2045/cffi-2.0.0-cp310-cp310-win_amd64.whl", hash = "sha256:b18a3ed7d5b3bd8d9ef7a8cb226502c6bf8308df1525e1cc676c3680e7176739", size = 182790, upload-time = "2025-09-08T23:22:24.752Z" }, + { url = "https://files.pythonhosted.org/packages/12/4a/3dfd5f7850cbf0d06dc84ba9aa00db766b52ca38d8b86e3a38314d52498c/cffi-2.0.0-cp311-cp311-macosx_10_13_x86_64.whl", hash = "sha256:b4c854ef3adc177950a8dfc81a86f5115d2abd545751a304c5bcf2c2c7283cfe", size = 184344, upload-time = "2025-09-08T23:22:26.456Z" }, + { url = "https://files.pythonhosted.org/packages/4f/8b/f0e4c441227ba756aafbe78f117485b25bb26b1c059d01f137fa6d14896b/cffi-2.0.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:2de9a304e27f7596cd03d16f1b7c72219bd944e99cc52b84d0145aefb07cbd3c", size = 180560, upload-time = "2025-09-08T23:22:28.197Z" }, + { url = "https://files.pythonhosted.org/packages/b1/b7/1200d354378ef52ec227395d95c2576330fd22a869f7a70e88e1447eb234/cffi-2.0.0-cp311-cp311-manylinux1_i686.manylinux2014_i686.manylinux_2_17_i686.manylinux_2_5_i686.whl", hash = "sha256:baf5215e0ab74c16e2dd324e8ec067ef59e41125d3eade2b863d294fd5035c92", size = 209613, upload-time = "2025-09-08T23:22:29.475Z" }, + { url = "https://files.pythonhosted.org/packages/b8/56/6033f5e86e8cc9bb629f0077ba71679508bdf54a9a5e112a3c0b91870332/cffi-2.0.0-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:730cacb21e1bdff3ce90babf007d0a0917cc3e6492f336c2f0134101e0944f93", size = 216476, upload-time = "2025-09-08T23:22:31.063Z" }, + { url = "https://files.pythonhosted.org/packages/dc/7f/55fecd70f7ece178db2f26128ec41430d8720f2d12ca97bf8f0a628207d5/cffi-2.0.0-cp311-cp311-manylinux2014_ppc64le.manylinux_2_17_ppc64le.whl", hash = "sha256:6824f87845e3396029f3820c206e459ccc91760e8fa24422f8b0c3d1731cbec5", size = 203374, upload-time = "2025-09-08T23:22:32.507Z" }, + { url = "https://files.pythonhosted.org/packages/84/ef/a7b77c8bdc0f77adc3b46888f1ad54be8f3b7821697a7b89126e829e676a/cffi-2.0.0-cp311-cp311-manylinux2014_s390x.manylinux_2_17_s390x.whl", hash = "sha256:9de40a7b0323d889cf8d23d1ef214f565ab154443c42737dfe52ff82cf857664", size = 202597, upload-time = "2025-09-08T23:22:34.132Z" }, + { url = "https://files.pythonhosted.org/packages/d7/91/500d892b2bf36529a75b77958edfcd5ad8e2ce4064ce2ecfeab2125d72d1/cffi-2.0.0-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:8941aaadaf67246224cee8c3803777eed332a19d909b47e29c9842ef1e79ac26", size = 215574, upload-time = "2025-09-08T23:22:35.443Z" }, + { url = "https://files.pythonhosted.org/packages/44/64/58f6255b62b101093d5df22dcb752596066c7e89dd725e0afaed242a61be/cffi-2.0.0-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:a05d0c237b3349096d3981b727493e22147f934b20f6f125a3eba8f994bec4a9", size = 218971, upload-time = "2025-09-08T23:22:36.805Z" }, + { url = "https://files.pythonhosted.org/packages/ab/49/fa72cebe2fd8a55fbe14956f9970fe8eb1ac59e5df042f603ef7c8ba0adc/cffi-2.0.0-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:94698a9c5f91f9d138526b48fe26a199609544591f859c870d477351dc7b2414", size = 211972, upload-time = "2025-09-08T23:22:38.436Z" }, + { url = "https://files.pythonhosted.org/packages/0b/28/dd0967a76aab36731b6ebfe64dec4e981aff7e0608f60c2d46b46982607d/cffi-2.0.0-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:5fed36fccc0612a53f1d4d9a816b50a36702c28a2aa880cb8a122b3466638743", size = 217078, upload-time = "2025-09-08T23:22:39.776Z" }, + { url = "https://files.pythonhosted.org/packages/2b/c0/015b25184413d7ab0a410775fdb4a50fca20f5589b5dab1dbbfa3baad8ce/cffi-2.0.0-cp311-cp311-win32.whl", hash = "sha256:c649e3a33450ec82378822b3dad03cc228b8f5963c0c12fc3b1e0ab940f768a5", size = 172076, upload-time = "2025-09-08T23:22:40.95Z" }, + { url = "https://files.pythonhosted.org/packages/ae/8f/dc5531155e7070361eb1b7e4c1a9d896d0cb21c49f807a6c03fd63fc877e/cffi-2.0.0-cp311-cp311-win_amd64.whl", hash = "sha256:66f011380d0e49ed280c789fbd08ff0d40968ee7b665575489afa95c98196ab5", size = 182820, upload-time = "2025-09-08T23:22:42.463Z" }, + { url = "https://files.pythonhosted.org/packages/95/5c/1b493356429f9aecfd56bc171285a4c4ac8697f76e9bbbbb105e537853a1/cffi-2.0.0-cp311-cp311-win_arm64.whl", hash = "sha256:c6638687455baf640e37344fe26d37c404db8b80d037c3d29f58fe8d1c3b194d", size = 177635, upload-time = "2025-09-08T23:22:43.623Z" }, + { url = "https://files.pythonhosted.org/packages/ea/47/4f61023ea636104d4f16ab488e268b93008c3d0bb76893b1b31db1f96802/cffi-2.0.0-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:6d02d6655b0e54f54c4ef0b94eb6be0607b70853c45ce98bd278dc7de718be5d", size = 185271, upload-time = "2025-09-08T23:22:44.795Z" }, + { url = "https://files.pythonhosted.org/packages/df/a2/781b623f57358e360d62cdd7a8c681f074a71d445418a776eef0aadb4ab4/cffi-2.0.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:8eca2a813c1cb7ad4fb74d368c2ffbbb4789d377ee5bb8df98373c2cc0dee76c", size = 181048, upload-time = "2025-09-08T23:22:45.938Z" }, + { url = "https://files.pythonhosted.org/packages/ff/df/a4f0fbd47331ceeba3d37c2e51e9dfc9722498becbeec2bd8bc856c9538a/cffi-2.0.0-cp312-cp312-manylinux1_i686.manylinux2014_i686.manylinux_2_17_i686.manylinux_2_5_i686.whl", hash = "sha256:21d1152871b019407d8ac3985f6775c079416c282e431a4da6afe7aefd2bccbe", size = 212529, upload-time = "2025-09-08T23:22:47.349Z" }, + { url = "https://files.pythonhosted.org/packages/d5/72/12b5f8d3865bf0f87cf1404d8c374e7487dcf097a1c91c436e72e6badd83/cffi-2.0.0-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:b21e08af67b8a103c71a250401c78d5e0893beff75e28c53c98f4de42f774062", size = 220097, upload-time = "2025-09-08T23:22:48.677Z" }, + { url = "https://files.pythonhosted.org/packages/c2/95/7a135d52a50dfa7c882ab0ac17e8dc11cec9d55d2c18dda414c051c5e69e/cffi-2.0.0-cp312-cp312-manylinux2014_ppc64le.manylinux_2_17_ppc64le.whl", hash = "sha256:1e3a615586f05fc4065a8b22b8152f0c1b00cdbc60596d187c2a74f9e3036e4e", size = 207983, upload-time = "2025-09-08T23:22:50.06Z" }, + { url = "https://files.pythonhosted.org/packages/3a/c8/15cb9ada8895957ea171c62dc78ff3e99159ee7adb13c0123c001a2546c1/cffi-2.0.0-cp312-cp312-manylinux2014_s390x.manylinux_2_17_s390x.whl", hash = "sha256:81afed14892743bbe14dacb9e36d9e0e504cd204e0b165062c488942b9718037", size = 206519, upload-time = "2025-09-08T23:22:51.364Z" }, + { url = "https://files.pythonhosted.org/packages/78/2d/7fa73dfa841b5ac06c7b8855cfc18622132e365f5b81d02230333ff26e9e/cffi-2.0.0-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:3e17ed538242334bf70832644a32a7aae3d83b57567f9fd60a26257e992b79ba", size = 219572, upload-time = "2025-09-08T23:22:52.902Z" }, + { url = "https://files.pythonhosted.org/packages/07/e0/267e57e387b4ca276b90f0434ff88b2c2241ad72b16d31836adddfd6031b/cffi-2.0.0-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:3925dd22fa2b7699ed2617149842d2e6adde22b262fcbfada50e3d195e4b3a94", size = 222963, upload-time = "2025-09-08T23:22:54.518Z" }, + { url = "https://files.pythonhosted.org/packages/b6/75/1f2747525e06f53efbd878f4d03bac5b859cbc11c633d0fb81432d98a795/cffi-2.0.0-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:2c8f814d84194c9ea681642fd164267891702542f028a15fc97d4674b6206187", size = 221361, upload-time = "2025-09-08T23:22:55.867Z" }, + { url = "https://files.pythonhosted.org/packages/7b/2b/2b6435f76bfeb6bbf055596976da087377ede68df465419d192acf00c437/cffi-2.0.0-cp312-cp312-win32.whl", hash = "sha256:da902562c3e9c550df360bfa53c035b2f241fed6d9aef119048073680ace4a18", size = 172932, upload-time = "2025-09-08T23:22:57.188Z" }, + { url = "https://files.pythonhosted.org/packages/f8/ed/13bd4418627013bec4ed6e54283b1959cf6db888048c7cf4b4c3b5b36002/cffi-2.0.0-cp312-cp312-win_amd64.whl", hash = "sha256:da68248800ad6320861f129cd9c1bf96ca849a2771a59e0344e88681905916f5", size = 183557, upload-time = "2025-09-08T23:22:58.351Z" }, + { url = "https://files.pythonhosted.org/packages/95/31/9f7f93ad2f8eff1dbc1c3656d7ca5bfd8fb52c9d786b4dcf19b2d02217fa/cffi-2.0.0-cp312-cp312-win_arm64.whl", hash = "sha256:4671d9dd5ec934cb9a73e7ee9676f9362aba54f7f34910956b84d727b0d73fb6", size = 177762, upload-time = "2025-09-08T23:22:59.668Z" }, + { url = "https://files.pythonhosted.org/packages/c0/cc/08ed5a43f2996a16b462f64a7055c6e962803534924b9b2f1371d8c00b7b/cffi-2.0.0-cp39-cp39-macosx_10_13_x86_64.whl", hash = "sha256:fe562eb1a64e67dd297ccc4f5addea2501664954f2692b69a76449ec7913ecbf", size = 184288, upload-time = "2025-09-08T23:23:48.404Z" }, + { url = "https://files.pythonhosted.org/packages/3d/de/38d9726324e127f727b4ecc376bc85e505bfe61ef130eaf3f290c6847dd4/cffi-2.0.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:de8dad4425a6ca6e4e5e297b27b5c824ecc7581910bf9aee86cb6835e6812aa7", size = 180509, upload-time = "2025-09-08T23:23:49.73Z" }, + { url = "https://files.pythonhosted.org/packages/9b/13/c92e36358fbcc39cf0962e83223c9522154ee8630e1df7c0b3a39a8124e2/cffi-2.0.0-cp39-cp39-manylinux1_i686.manylinux2014_i686.manylinux_2_17_i686.manylinux_2_5_i686.whl", hash = "sha256:4647afc2f90d1ddd33441e5b0e85b16b12ddec4fca55f0d9671fef036ecca27c", size = 208813, upload-time = "2025-09-08T23:23:51.263Z" }, + { url = "https://files.pythonhosted.org/packages/15/12/a7a79bd0df4c3bff744b2d7e52cc1b68d5e7e427b384252c42366dc1ecbc/cffi-2.0.0-cp39-cp39-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:3f4d46d8b35698056ec29bca21546e1551a205058ae1a181d871e278b0b28165", size = 216498, upload-time = "2025-09-08T23:23:52.494Z" }, + { url = "https://files.pythonhosted.org/packages/a3/ad/5c51c1c7600bdd7ed9a24a203ec255dccdd0ebf4527f7b922a0bde2fb6ed/cffi-2.0.0-cp39-cp39-manylinux2014_ppc64le.manylinux_2_17_ppc64le.whl", hash = "sha256:e6e73b9e02893c764e7e8d5bb5ce277f1a009cd5243f8228f75f842bf937c534", size = 203243, upload-time = "2025-09-08T23:23:53.836Z" }, + { url = "https://files.pythonhosted.org/packages/32/f2/81b63e288295928739d715d00952c8c6034cb6c6a516b17d37e0c8be5600/cffi-2.0.0-cp39-cp39-manylinux2014_s390x.manylinux_2_17_s390x.whl", hash = "sha256:cb527a79772e5ef98fb1d700678fe031e353e765d1ca2d409c92263c6d43e09f", size = 203158, upload-time = "2025-09-08T23:23:55.169Z" }, + { url = "https://files.pythonhosted.org/packages/1f/74/cc4096ce66f5939042ae094e2e96f53426a979864aa1f96a621ad128be27/cffi-2.0.0-cp39-cp39-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:61d028e90346df14fedc3d1e5441df818d095f3b87d286825dfcbd6459b7ef63", size = 216548, upload-time = "2025-09-08T23:23:56.506Z" }, + { url = "https://files.pythonhosted.org/packages/e8/be/f6424d1dc46b1091ffcc8964fa7c0ab0cd36839dd2761b49c90481a6ba1b/cffi-2.0.0-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:0f6084a0ea23d05d20c3edcda20c3d006f9b6f3fefeac38f59262e10cef47ee2", size = 218897, upload-time = "2025-09-08T23:23:57.825Z" }, + { url = "https://files.pythonhosted.org/packages/f7/e0/dda537c2309817edf60109e39265f24f24aa7f050767e22c98c53fe7f48b/cffi-2.0.0-cp39-cp39-musllinux_1_2_i686.whl", hash = "sha256:1cd13c99ce269b3ed80b417dcd591415d3372bcac067009b6e0f59c7d4015e65", size = 211249, upload-time = "2025-09-08T23:23:59.139Z" }, + { url = "https://files.pythonhosted.org/packages/2b/e7/7c769804eb75e4c4b35e658dba01de1640a351a9653c3d49ca89d16ccc91/cffi-2.0.0-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:89472c9762729b5ae1ad974b777416bfda4ac5642423fa93bd57a09204712322", size = 218041, upload-time = "2025-09-08T23:24:00.496Z" }, + { url = "https://files.pythonhosted.org/packages/aa/d9/6218d78f920dcd7507fc16a766b5ef8f3b913cc7aa938e7fc80b9978d089/cffi-2.0.0-cp39-cp39-win32.whl", hash = "sha256:2081580ebb843f759b9f617314a24ed5738c51d2aee65d31e02f6f7a2b97707a", size = 172138, upload-time = "2025-09-08T23:24:01.7Z" }, + { url = "https://files.pythonhosted.org/packages/54/8f/a1e836f82d8e32a97e6b29cc8f641779181ac7363734f12df27db803ebda/cffi-2.0.0-cp39-cp39-win_amd64.whl", hash = "sha256:b882b3df248017dba09d6b16defe9b5c407fe32fc7c65a9c69798e6175601be9", size = 182794, upload-time = "2025-09-08T23:24:02.943Z" }, ] [[package]] -name = "certifi" -version = "2025.1.31" +name = "cfgv" +version = "3.4.0" source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/1c/ab/c9f1e32b7b1bf505bf26f0ef697775960db7932abeb7b516de930ba2705f/certifi-2025.1.31.tar.gz", hash = "sha256:3d5da6925056f6f18f119200434a4780a94263f10d1c21d032a6f6b2baa20651", size = 167577 } +resolution-markers = [ + "python_full_version < '3.10'", +] +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/38/fc/bce832fd4fd99766c04d1ee0eead6b0ec6486fb100ae5e74c1d91292b982/certifi-2025.1.31-py3-none-any.whl", hash = "sha256:ca78db4565a652026a4db2bcdf68f2fb589ea80d0be70e03929ed730746b84fe", size = 166393 }, + { 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 = "cfgv" -version = "3.4.0" +version = "3.5.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 } +resolution-markers = [ + "python_full_version >= '3.11' and sys_platform == 'win32'", + "python_full_version >= '3.11' and sys_platform == 'emscripten'", + "python_full_version >= '3.11' and sys_platform != 'emscripten' and sys_platform != 'win32'", + "python_full_version == '3.10.*'", +] +sdist = { url = "https://files.pythonhosted.org/packages/4e/b5/721b8799b04bf9afe054a3899c6cf4e880fcf8563cc71c15610242490a0c/cfgv-3.5.0.tar.gz", hash = "sha256:d5b1034354820651caa73ede66a6294d6e95c1b00acc5e9b098e917404669132", size = 7334, upload-time = "2025-11-19T20:55:51.612Z" } 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/db/3c/33bac158f8ab7f89b2e59426d5fe2e4f63f7ed25df84c036890172b412b5/cfgv-3.5.0-py2.py3-none-any.whl", hash = "sha256:a8dc6b26ad22ff227d2634a65cb388215ce6cc96bbcc5cfde7641ae87e8dacc0", size = 7445, upload-time = "2025-11-19T20:55:50.744Z" }, ] [[package]] name = "charset-normalizer" -version = "3.4.1" -source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/16/b0/572805e227f01586461c80e0fd25d65a2115599cc9dad142fee4b747c357/charset_normalizer-3.4.1.tar.gz", hash = "sha256:44251f18cd68a75b56585dd00dae26183e102cd5e0f9f1466e6df5da2ed64ea3", size = 123188 } -wheels = [ - { url = "https://files.pythonhosted.org/packages/0d/58/5580c1716040bc89206c77d8f74418caf82ce519aae06450393ca73475d1/charset_normalizer-3.4.1-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:91b36a978b5ae0ee86c394f5a54d6ef44db1de0815eb43de826d41d21e4af3de", size = 198013 }, - { url = "https://files.pythonhosted.org/packages/d0/11/00341177ae71c6f5159a08168bcb98c6e6d196d372c94511f9f6c9afe0c6/charset_normalizer-3.4.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:7461baadb4dc00fd9e0acbe254e3d7d2112e7f92ced2adc96e54ef6501c5f176", size = 141285 }, - { url = "https://files.pythonhosted.org/packages/01/09/11d684ea5819e5a8f5100fb0b38cf8d02b514746607934134d31233e02c8/charset_normalizer-3.4.1-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:e218488cd232553829be0664c2292d3af2eeeb94b32bea483cf79ac6a694e037", size = 151449 }, - { url = "https://files.pythonhosted.org/packages/08/06/9f5a12939db324d905dc1f70591ae7d7898d030d7662f0d426e2286f68c9/charset_normalizer-3.4.1-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:80ed5e856eb7f30115aaf94e4a08114ccc8813e6ed1b5efa74f9f82e8509858f", size = 143892 }, - { url = "https://files.pythonhosted.org/packages/93/62/5e89cdfe04584cb7f4d36003ffa2936681b03ecc0754f8e969c2becb7e24/charset_normalizer-3.4.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:b010a7a4fd316c3c484d482922d13044979e78d1861f0e0650423144c616a46a", size = 146123 }, - { url = "https://files.pythonhosted.org/packages/a9/ac/ab729a15c516da2ab70a05f8722ecfccc3f04ed7a18e45c75bbbaa347d61/charset_normalizer-3.4.1-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:4532bff1b8421fd0a320463030c7520f56a79c9024a4e88f01c537316019005a", size = 147943 }, - { url = "https://files.pythonhosted.org/packages/03/d2/3f392f23f042615689456e9a274640c1d2e5dd1d52de36ab8f7955f8f050/charset_normalizer-3.4.1-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:d973f03c0cb71c5ed99037b870f2be986c3c05e63622c017ea9816881d2dd247", size = 142063 }, - { url = "https://files.pythonhosted.org/packages/f2/e3/e20aae5e1039a2cd9b08d9205f52142329f887f8cf70da3650326670bddf/charset_normalizer-3.4.1-cp310-cp310-musllinux_1_2_i686.whl", hash = "sha256:3a3bd0dcd373514dcec91c411ddb9632c0d7d92aed7093b8c3bbb6d69ca74408", size = 150578 }, - { url = "https://files.pythonhosted.org/packages/8d/af/779ad72a4da0aed925e1139d458adc486e61076d7ecdcc09e610ea8678db/charset_normalizer-3.4.1-cp310-cp310-musllinux_1_2_ppc64le.whl", hash = "sha256:d9c3cdf5390dcd29aa8056d13e8e99526cda0305acc038b96b30352aff5ff2bb", size = 153629 }, - { url = "https://files.pythonhosted.org/packages/c2/b6/7aa450b278e7aa92cf7732140bfd8be21f5f29d5bf334ae987c945276639/charset_normalizer-3.4.1-cp310-cp310-musllinux_1_2_s390x.whl", hash = "sha256:2bdfe3ac2e1bbe5b59a1a63721eb3b95fc9b6817ae4a46debbb4e11f6232428d", size = 150778 }, - { url = "https://files.pythonhosted.org/packages/39/f4/d9f4f712d0951dcbfd42920d3db81b00dd23b6ab520419626f4023334056/charset_normalizer-3.4.1-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:eab677309cdb30d047996b36d34caeda1dc91149e4fdca0b1a039b3f79d9a807", size = 146453 }, - { url = "https://files.pythonhosted.org/packages/49/2b/999d0314e4ee0cff3cb83e6bc9aeddd397eeed693edb4facb901eb8fbb69/charset_normalizer-3.4.1-cp310-cp310-win32.whl", hash = "sha256:c0429126cf75e16c4f0ad00ee0eae4242dc652290f940152ca8c75c3a4b6ee8f", size = 95479 }, - { url = "https://files.pythonhosted.org/packages/2d/ce/3cbed41cff67e455a386fb5e5dd8906cdda2ed92fbc6297921f2e4419309/charset_normalizer-3.4.1-cp310-cp310-win_amd64.whl", hash = "sha256:9f0b8b1c6d84c8034a44893aba5e767bf9c7a211e313a9605d9c617d7083829f", size = 102790 }, - { url = "https://files.pythonhosted.org/packages/72/80/41ef5d5a7935d2d3a773e3eaebf0a9350542f2cab4eac59a7a4741fbbbbe/charset_normalizer-3.4.1-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:8bfa33f4f2672964266e940dd22a195989ba31669bd84629f05fab3ef4e2d125", size = 194995 }, - { url = "https://files.pythonhosted.org/packages/7a/28/0b9fefa7b8b080ec492110af6d88aa3dea91c464b17d53474b6e9ba5d2c5/charset_normalizer-3.4.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:28bf57629c75e810b6ae989f03c0828d64d6b26a5e205535585f96093e405ed1", size = 139471 }, - { url = "https://files.pythonhosted.org/packages/71/64/d24ab1a997efb06402e3fc07317e94da358e2585165930d9d59ad45fcae2/charset_normalizer-3.4.1-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:f08ff5e948271dc7e18a35641d2f11a4cd8dfd5634f55228b691e62b37125eb3", size = 149831 }, - { url = "https://files.pythonhosted.org/packages/37/ed/be39e5258e198655240db5e19e0b11379163ad7070962d6b0c87ed2c4d39/charset_normalizer-3.4.1-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:234ac59ea147c59ee4da87a0c0f098e9c8d169f4dc2a159ef720f1a61bbe27cd", size = 142335 }, - { url = "https://files.pythonhosted.org/packages/88/83/489e9504711fa05d8dde1574996408026bdbdbd938f23be67deebb5eca92/charset_normalizer-3.4.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:fd4ec41f914fa74ad1b8304bbc634b3de73d2a0889bd32076342a573e0779e00", size = 143862 }, - { url = "https://files.pythonhosted.org/packages/c6/c7/32da20821cf387b759ad24627a9aca289d2822de929b8a41b6241767b461/charset_normalizer-3.4.1-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:eea6ee1db730b3483adf394ea72f808b6e18cf3cb6454b4d86e04fa8c4327a12", size = 145673 }, - { url = "https://files.pythonhosted.org/packages/68/85/f4288e96039abdd5aeb5c546fa20a37b50da71b5cf01e75e87f16cd43304/charset_normalizer-3.4.1-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:c96836c97b1238e9c9e3fe90844c947d5afbf4f4c92762679acfe19927d81d77", size = 140211 }, - { url = "https://files.pythonhosted.org/packages/28/a3/a42e70d03cbdabc18997baf4f0227c73591a08041c149e710045c281f97b/charset_normalizer-3.4.1-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:4d86f7aff21ee58f26dcf5ae81a9addbd914115cdebcbb2217e4f0ed8982e146", size = 148039 }, - { url = "https://files.pythonhosted.org/packages/85/e4/65699e8ab3014ecbe6f5c71d1a55d810fb716bbfd74f6283d5c2aa87febf/charset_normalizer-3.4.1-cp311-cp311-musllinux_1_2_ppc64le.whl", hash = "sha256:09b5e6733cbd160dcc09589227187e242a30a49ca5cefa5a7edd3f9d19ed53fd", size = 151939 }, - { url = "https://files.pythonhosted.org/packages/b1/82/8e9fe624cc5374193de6860aba3ea8070f584c8565ee77c168ec13274bd2/charset_normalizer-3.4.1-cp311-cp311-musllinux_1_2_s390x.whl", hash = "sha256:5777ee0881f9499ed0f71cc82cf873d9a0ca8af166dfa0af8ec4e675b7df48e6", size = 149075 }, - { url = "https://files.pythonhosted.org/packages/3d/7b/82865ba54c765560c8433f65e8acb9217cb839a9e32b42af4aa8e945870f/charset_normalizer-3.4.1-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:237bdbe6159cff53b4f24f397d43c6336c6b0b42affbe857970cefbb620911c8", size = 144340 }, - { url = "https://files.pythonhosted.org/packages/b5/b6/9674a4b7d4d99a0d2df9b215da766ee682718f88055751e1e5e753c82db0/charset_normalizer-3.4.1-cp311-cp311-win32.whl", hash = "sha256:8417cb1f36cc0bc7eaba8ccb0e04d55f0ee52df06df3ad55259b9a323555fc8b", size = 95205 }, - { url = "https://files.pythonhosted.org/packages/1e/ab/45b180e175de4402dcf7547e4fb617283bae54ce35c27930a6f35b6bef15/charset_normalizer-3.4.1-cp311-cp311-win_amd64.whl", hash = "sha256:d7f50a1f8c450f3925cb367d011448c39239bb3eb4117c36a6d354794de4ce76", size = 102441 }, - { url = "https://files.pythonhosted.org/packages/0a/9a/dd1e1cdceb841925b7798369a09279bd1cf183cef0f9ddf15a3a6502ee45/charset_normalizer-3.4.1-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:73d94b58ec7fecbc7366247d3b0b10a21681004153238750bb67bd9012414545", size = 196105 }, - { url = "https://files.pythonhosted.org/packages/d3/8c/90bfabf8c4809ecb648f39794cf2a84ff2e7d2a6cf159fe68d9a26160467/charset_normalizer-3.4.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:dad3e487649f498dd991eeb901125411559b22e8d7ab25d3aeb1af367df5efd7", size = 140404 }, - { url = "https://files.pythonhosted.org/packages/ad/8f/e410d57c721945ea3b4f1a04b74f70ce8fa800d393d72899f0a40526401f/charset_normalizer-3.4.1-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:c30197aa96e8eed02200a83fba2657b4c3acd0f0aa4bdc9f6c1af8e8962e0757", size = 150423 }, - { url = "https://files.pythonhosted.org/packages/f0/b8/e6825e25deb691ff98cf5c9072ee0605dc2acfca98af70c2d1b1bc75190d/charset_normalizer-3.4.1-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:2369eea1ee4a7610a860d88f268eb39b95cb588acd7235e02fd5a5601773d4fa", size = 143184 }, - { url = "https://files.pythonhosted.org/packages/3e/a2/513f6cbe752421f16d969e32f3583762bfd583848b763913ddab8d9bfd4f/charset_normalizer-3.4.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:bc2722592d8998c870fa4e290c2eec2c1569b87fe58618e67d38b4665dfa680d", size = 145268 }, - { url = "https://files.pythonhosted.org/packages/74/94/8a5277664f27c3c438546f3eb53b33f5b19568eb7424736bdc440a88a31f/charset_normalizer-3.4.1-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:ffc9202a29ab3920fa812879e95a9e78b2465fd10be7fcbd042899695d75e616", size = 147601 }, - { url = "https://files.pythonhosted.org/packages/7c/5f/6d352c51ee763623a98e31194823518e09bfa48be2a7e8383cf691bbb3d0/charset_normalizer-3.4.1-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:804a4d582ba6e5b747c625bf1255e6b1507465494a40a2130978bda7b932c90b", size = 141098 }, - { url = "https://files.pythonhosted.org/packages/78/d4/f5704cb629ba5ab16d1d3d741396aec6dc3ca2b67757c45b0599bb010478/charset_normalizer-3.4.1-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:0f55e69f030f7163dffe9fd0752b32f070566451afe180f99dbeeb81f511ad8d", size = 149520 }, - { url = "https://files.pythonhosted.org/packages/c5/96/64120b1d02b81785f222b976c0fb79a35875457fa9bb40827678e54d1bc8/charset_normalizer-3.4.1-cp312-cp312-musllinux_1_2_ppc64le.whl", hash = "sha256:c4c3e6da02df6fa1410a7680bd3f63d4f710232d3139089536310d027950696a", size = 152852 }, - { url = "https://files.pythonhosted.org/packages/84/c9/98e3732278a99f47d487fd3468bc60b882920cef29d1fa6ca460a1fdf4e6/charset_normalizer-3.4.1-cp312-cp312-musllinux_1_2_s390x.whl", hash = "sha256:5df196eb874dae23dcfb968c83d4f8fdccb333330fe1fc278ac5ceeb101003a9", size = 150488 }, - { url = "https://files.pythonhosted.org/packages/13/0e/9c8d4cb99c98c1007cc11eda969ebfe837bbbd0acdb4736d228ccaabcd22/charset_normalizer-3.4.1-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:e358e64305fe12299a08e08978f51fc21fac060dcfcddd95453eabe5b93ed0e1", size = 146192 }, - { url = "https://files.pythonhosted.org/packages/b2/21/2b6b5b860781a0b49427309cb8670785aa543fb2178de875b87b9cc97746/charset_normalizer-3.4.1-cp312-cp312-win32.whl", hash = "sha256:9b23ca7ef998bc739bf6ffc077c2116917eabcc901f88da1b9856b210ef63f35", size = 95550 }, - { url = "https://files.pythonhosted.org/packages/21/5b/1b390b03b1d16c7e382b561c5329f83cc06623916aab983e8ab9239c7d5c/charset_normalizer-3.4.1-cp312-cp312-win_amd64.whl", hash = "sha256:6ff8a4a60c227ad87030d76e99cd1698345d4491638dfa6673027c48b3cd395f", size = 102785 }, - { url = "https://files.pythonhosted.org/packages/7f/c0/b913f8f02836ed9ab32ea643c6fe4d3325c3d8627cf6e78098671cafff86/charset_normalizer-3.4.1-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:b97e690a2118911e39b4042088092771b4ae3fc3aa86518f84b8cf6888dbdb41", size = 197867 }, - { url = "https://files.pythonhosted.org/packages/0f/6c/2bee440303d705b6fb1e2ec789543edec83d32d258299b16eed28aad48e0/charset_normalizer-3.4.1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:78baa6d91634dfb69ec52a463534bc0df05dbd546209b79a3880a34487f4b84f", size = 141385 }, - { url = "https://files.pythonhosted.org/packages/3d/04/cb42585f07f6f9fd3219ffb6f37d5a39b4fd2db2355b23683060029c35f7/charset_normalizer-3.4.1-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:1a2bc9f351a75ef49d664206d51f8e5ede9da246602dc2d2726837620ea034b2", size = 151367 }, - { url = "https://files.pythonhosted.org/packages/54/54/2412a5b093acb17f0222de007cc129ec0e0df198b5ad2ce5699355269dfe/charset_normalizer-3.4.1-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:75832c08354f595c760a804588b9357d34ec00ba1c940c15e31e96d902093770", size = 143928 }, - { url = "https://files.pythonhosted.org/packages/5a/6d/e2773862b043dcf8a221342954f375392bb2ce6487bcd9f2c1b34e1d6781/charset_normalizer-3.4.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:0af291f4fe114be0280cdd29d533696a77b5b49cfde5467176ecab32353395c4", size = 146203 }, - { url = "https://files.pythonhosted.org/packages/b9/f8/ca440ef60d8f8916022859885f231abb07ada3c347c03d63f283bec32ef5/charset_normalizer-3.4.1-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:0167ddc8ab6508fe81860a57dd472b2ef4060e8d378f0cc555707126830f2537", size = 148082 }, - { url = "https://files.pythonhosted.org/packages/04/d2/42fd330901aaa4b805a1097856c2edf5095e260a597f65def493f4b8c833/charset_normalizer-3.4.1-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:2a75d49014d118e4198bcee5ee0a6f25856b29b12dbf7cd012791f8a6cc5c496", size = 142053 }, - { url = "https://files.pythonhosted.org/packages/9e/af/3a97a4fa3c53586f1910dadfc916e9c4f35eeada36de4108f5096cb7215f/charset_normalizer-3.4.1-cp39-cp39-musllinux_1_2_i686.whl", hash = "sha256:363e2f92b0f0174b2f8238240a1a30142e3db7b957a5dd5689b0e75fb717cc78", size = 150625 }, - { url = "https://files.pythonhosted.org/packages/26/ae/23d6041322a3556e4da139663d02fb1b3c59a23ab2e2b56432bd2ad63ded/charset_normalizer-3.4.1-cp39-cp39-musllinux_1_2_ppc64le.whl", hash = "sha256:ab36c8eb7e454e34e60eb55ca5d241a5d18b2c6244f6827a30e451c42410b5f7", size = 153549 }, - { url = "https://files.pythonhosted.org/packages/94/22/b8f2081c6a77cb20d97e57e0b385b481887aa08019d2459dc2858ed64871/charset_normalizer-3.4.1-cp39-cp39-musllinux_1_2_s390x.whl", hash = "sha256:4c0907b1928a36d5a998d72d64d8eaa7244989f7aaaf947500d3a800c83a3fd6", size = 150945 }, - { url = "https://files.pythonhosted.org/packages/c7/0b/c5ec5092747f801b8b093cdf5610e732b809d6cb11f4c51e35fc28d1d389/charset_normalizer-3.4.1-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:04432ad9479fa40ec0f387795ddad4437a2b50417c69fa275e212933519ff294", size = 146595 }, - { url = "https://files.pythonhosted.org/packages/0c/5a/0b59704c38470df6768aa154cc87b1ac7c9bb687990a1559dc8765e8627e/charset_normalizer-3.4.1-cp39-cp39-win32.whl", hash = "sha256:3bed14e9c89dcb10e8f3a29f9ccac4955aebe93c71ae803af79265c9ca5644c5", size = 95453 }, - { url = "https://files.pythonhosted.org/packages/85/2d/a9790237cb4d01a6d57afadc8573c8b73c609ade20b80f4cda30802009ee/charset_normalizer-3.4.1-cp39-cp39-win_amd64.whl", hash = "sha256:49402233c892a461407c512a19435d1ce275543138294f7ef013f0b63d5d3765", size = 102811 }, - { url = "https://files.pythonhosted.org/packages/0e/f6/65ecc6878a89bb1c23a086ea335ad4bf21a588990c3f535a227b9eea9108/charset_normalizer-3.4.1-py3-none-any.whl", hash = "sha256:d98b1668f06378c6dbefec3b92299716b931cd4e6061f3c875a71ced1780ab85", size = 49767 }, +version = "3.4.6" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/7b/60/e3bec1881450851b087e301bedc3daa9377a4d45f1c26aa90b0b235e38aa/charset_normalizer-3.4.6.tar.gz", hash = "sha256:1ae6b62897110aa7c79ea2f5dd38d1abca6db663687c0b1ad9aed6f6bae3d9d6", size = 143363, upload-time = "2026-03-15T18:53:25.478Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/e6/8c/2c56124c6dc53a774d435f985b5973bc592f42d437be58c0c92d65ae7296/charset_normalizer-3.4.6-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:2e1d8ca8611099001949d1cdfaefc510cf0f212484fe7c565f735b68c78c3c95", size = 298751, upload-time = "2026-03-15T18:50:00.003Z" }, + { url = "https://files.pythonhosted.org/packages/86/2a/2a7db6b314b966a3bcad8c731c0719c60b931b931de7ae9f34b2839289ee/charset_normalizer-3.4.6-cp310-cp310-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:e25369dc110d58ddf29b949377a93e0716d72a24f62bad72b2b39f155949c1fd", size = 200027, upload-time = "2026-03-15T18:50:01.702Z" }, + { url = "https://files.pythonhosted.org/packages/68/f2/0fe775c74ae25e2a3b07b01538fc162737b3e3f795bada3bc26f4d4d495c/charset_normalizer-3.4.6-cp310-cp310-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:259695e2ccc253feb2a016303543d691825e920917e31f894ca1a687982b1de4", size = 220741, upload-time = "2026-03-15T18:50:03.194Z" }, + { url = "https://files.pythonhosted.org/packages/10/98/8085596e41f00b27dd6aa1e68413d1ddda7e605f34dd546833c61fddd709/charset_normalizer-3.4.6-cp310-cp310-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:dda86aba335c902b6149a02a55b38e96287157e609200811837678214ba2b1db", size = 215802, upload-time = "2026-03-15T18:50:05.859Z" }, + { url = "https://files.pythonhosted.org/packages/fd/ce/865e4e09b041bad659d682bbd98b47fb490b8e124f9398c9448065f64fee/charset_normalizer-3.4.6-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:51fb3c322c81d20567019778cb5a4a6f2dc1c200b886bc0d636238e364848c89", size = 207908, upload-time = "2026-03-15T18:50:07.676Z" }, + { url = "https://files.pythonhosted.org/packages/a8/54/8c757f1f7349262898c2f169e0d562b39dcb977503f18fdf0814e923db78/charset_normalizer-3.4.6-cp310-cp310-manylinux_2_31_armv7l.whl", hash = "sha256:4482481cb0572180b6fd976a4d5c72a30263e98564da68b86ec91f0fe35e8565", size = 194357, upload-time = "2026-03-15T18:50:09.327Z" }, + { url = "https://files.pythonhosted.org/packages/6f/29/e88f2fac9218907fc7a70722b393d1bbe8334c61fe9c46640dba349b6e66/charset_normalizer-3.4.6-cp310-cp310-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:39f5068d35621da2881271e5c3205125cc456f54e9030d3f723288c873a71bf9", size = 205610, upload-time = "2026-03-15T18:50:10.732Z" }, + { url = "https://files.pythonhosted.org/packages/4c/c5/21d7bb0cb415287178450171d130bed9d664211fdd59731ed2c34267b07d/charset_normalizer-3.4.6-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:8bea55c4eef25b0b19a0337dc4e3f9a15b00d569c77211fa8cde38684f234fb7", size = 203512, upload-time = "2026-03-15T18:50:12.535Z" }, + { url = "https://files.pythonhosted.org/packages/a4/be/ce52f3c7fdb35cc987ad38a53ebcef52eec498f4fb6c66ecfe62cfe57ba2/charset_normalizer-3.4.6-cp310-cp310-musllinux_1_2_armv7l.whl", hash = "sha256:f0cdaecd4c953bfae0b6bb64910aaaca5a424ad9c72d85cb88417bb9814f7550", size = 195398, upload-time = "2026-03-15T18:50:14.236Z" }, + { url = "https://files.pythonhosted.org/packages/81/a0/3ab5dd39d4859a3555e5dadfc8a9fa7f8352f8c183d1a65c90264517da0e/charset_normalizer-3.4.6-cp310-cp310-musllinux_1_2_ppc64le.whl", hash = "sha256:150b8ce8e830eb7ccb029ec9ca36022f756986aaaa7956aad6d9ec90089338c0", size = 221772, upload-time = "2026-03-15T18:50:15.581Z" }, + { url = "https://files.pythonhosted.org/packages/04/6e/6a4e41a97ba6b2fa87f849c41e4d229449a586be85053c4d90135fe82d26/charset_normalizer-3.4.6-cp310-cp310-musllinux_1_2_riscv64.whl", hash = "sha256:e68c14b04827dd76dcbd1aeea9e604e3e4b78322d8faf2f8132c7138efa340a8", size = 205759, upload-time = "2026-03-15T18:50:17.047Z" }, + { url = "https://files.pythonhosted.org/packages/db/3b/34a712a5ee64a6957bf355b01dc17b12de457638d436fdb05d01e463cd1c/charset_normalizer-3.4.6-cp310-cp310-musllinux_1_2_s390x.whl", hash = "sha256:3778fd7d7cd04ae8f54651f4a7a0bd6e39a0cf20f801720a4c21d80e9b7ad6b0", size = 216938, upload-time = "2026-03-15T18:50:18.44Z" }, + { url = "https://files.pythonhosted.org/packages/cb/05/5bd1e12da9ab18790af05c61aafd01a60f489778179b621ac2a305243c62/charset_normalizer-3.4.6-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:dad6e0f2e481fffdcf776d10ebee25e0ef89f16d691f1e5dee4b586375fdc64b", size = 210138, upload-time = "2026-03-15T18:50:19.852Z" }, + { url = "https://files.pythonhosted.org/packages/bd/8e/3cb9e2d998ff6b21c0a1860343cb7b83eba9cdb66b91410e18fc4969d6ab/charset_normalizer-3.4.6-cp310-cp310-win32.whl", hash = "sha256:74a2e659c7ecbc73562e2a15e05039f1e22c75b7c7618b4b574a3ea9118d1557", size = 144137, upload-time = "2026-03-15T18:50:21.505Z" }, + { url = "https://files.pythonhosted.org/packages/d8/8f/78f5489ffadb0db3eb7aff53d31c24531d33eb545f0c6f6567c25f49a5ff/charset_normalizer-3.4.6-cp310-cp310-win_amd64.whl", hash = "sha256:aa9cccf4a44b9b62d8ba8b4dd06c649ba683e4bf04eea606d2e94cfc2d6ff4d6", size = 154244, upload-time = "2026-03-15T18:50:22.81Z" }, + { url = "https://files.pythonhosted.org/packages/e4/74/e472659dffb0cadb2f411282d2d76c60da1fc94076d7fffed4ae8a93ec01/charset_normalizer-3.4.6-cp310-cp310-win_arm64.whl", hash = "sha256:e985a16ff513596f217cee86c21371b8cd011c0f6f056d0920aa2d926c544058", size = 143312, upload-time = "2026-03-15T18:50:24.074Z" }, + { url = "https://files.pythonhosted.org/packages/62/28/ff6f234e628a2de61c458be2779cb182bc03f6eec12200d4a525bbfc9741/charset_normalizer-3.4.6-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:82060f995ab5003a2d6e0f4ad29065b7672b6593c8c63559beefe5b443242c3e", size = 293582, upload-time = "2026-03-15T18:50:25.454Z" }, + { url = "https://files.pythonhosted.org/packages/1c/b7/b1a117e5385cbdb3205f6055403c2a2a220c5ea80b8716c324eaf75c5c95/charset_normalizer-3.4.6-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:60c74963d8350241a79cb8feea80e54d518f72c26db618862a8f53e5023deaf9", size = 197240, upload-time = "2026-03-15T18:50:27.196Z" }, + { url = "https://files.pythonhosted.org/packages/a1/5f/2574f0f09f3c3bc1b2f992e20bce6546cb1f17e111c5be07308dc5427956/charset_normalizer-3.4.6-cp311-cp311-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:f6e4333fb15c83f7d1482a76d45a0818897b3d33f00efd215528ff7c51b8e35d", size = 217363, upload-time = "2026-03-15T18:50:28.601Z" }, + { url = "https://files.pythonhosted.org/packages/4a/d1/0ae20ad77bc949ddd39b51bf383b6ca932f2916074c95cad34ae465ab71f/charset_normalizer-3.4.6-cp311-cp311-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:bc72863f4d9aba2e8fd9085e63548a324ba706d2ea2c83b260da08a59b9482de", size = 212994, upload-time = "2026-03-15T18:50:30.102Z" }, + { url = "https://files.pythonhosted.org/packages/60/ac/3233d262a310c1b12633536a07cde5ddd16985e6e7e238e9f3f9423d8eb9/charset_normalizer-3.4.6-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:9cc4fc6c196d6a8b76629a70ddfcd4635a6898756e2d9cac5565cf0654605d73", size = 204697, upload-time = "2026-03-15T18:50:31.654Z" }, + { url = "https://files.pythonhosted.org/packages/25/3c/8a18fc411f085b82303cfb7154eed5bd49c77035eb7608d049468b53f87c/charset_normalizer-3.4.6-cp311-cp311-manylinux_2_31_armv7l.whl", hash = "sha256:0c173ce3a681f309f31b87125fecec7a5d1347261ea11ebbb856fa6006b23c8c", size = 191673, upload-time = "2026-03-15T18:50:33.433Z" }, + { url = "https://files.pythonhosted.org/packages/ff/a7/11cfe61d6c5c5c7438d6ba40919d0306ed83c9ab957f3d4da2277ff67836/charset_normalizer-3.4.6-cp311-cp311-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:c907cdc8109f6c619e6254212e794d6548373cc40e1ec75e6e3823d9135d29cc", size = 201120, upload-time = "2026-03-15T18:50:35.105Z" }, + { url = "https://files.pythonhosted.org/packages/b5/10/cf491fa1abd47c02f69687046b896c950b92b6cd7337a27e6548adbec8e4/charset_normalizer-3.4.6-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:404a1e552cf5b675a87f0651f8b79f5f1e6fd100ee88dc612f89aa16abd4486f", size = 200911, upload-time = "2026-03-15T18:50:36.819Z" }, + { url = "https://files.pythonhosted.org/packages/28/70/039796160b48b18ed466fde0af84c1b090c4e288fae26cd674ad04a2d703/charset_normalizer-3.4.6-cp311-cp311-musllinux_1_2_armv7l.whl", hash = "sha256:e3c701e954abf6fc03a49f7c579cc80c2c6cc52525340ca3186c41d3f33482ef", size = 192516, upload-time = "2026-03-15T18:50:38.228Z" }, + { url = "https://files.pythonhosted.org/packages/ff/34/c56f3223393d6ff3124b9e78f7de738047c2d6bc40a4f16ac0c9d7a1cb3c/charset_normalizer-3.4.6-cp311-cp311-musllinux_1_2_ppc64le.whl", hash = "sha256:7a6967aaf043bceabab5412ed6bd6bd26603dae84d5cb75bf8d9a74a4959d398", size = 218795, upload-time = "2026-03-15T18:50:39.664Z" }, + { url = "https://files.pythonhosted.org/packages/e8/3b/ce2d4f86c5282191a041fdc5a4ce18f1c6bd40a5bd1f74cf8625f08d51c1/charset_normalizer-3.4.6-cp311-cp311-musllinux_1_2_riscv64.whl", hash = "sha256:5feb91325bbceade6afab43eb3b508c63ee53579fe896c77137ded51c6b6958e", size = 201833, upload-time = "2026-03-15T18:50:41.552Z" }, + { url = "https://files.pythonhosted.org/packages/3b/9b/b6a9f76b0fd7c5b5ec58b228ff7e85095370282150f0bd50b3126f5506d6/charset_normalizer-3.4.6-cp311-cp311-musllinux_1_2_s390x.whl", hash = "sha256:f820f24b09e3e779fe84c3c456cb4108a7aa639b0d1f02c28046e11bfcd088ed", size = 213920, upload-time = "2026-03-15T18:50:43.33Z" }, + { url = "https://files.pythonhosted.org/packages/ae/98/7bc23513a33d8172365ed30ee3a3b3fe1ece14a395e5fc94129541fc6003/charset_normalizer-3.4.6-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:b35b200d6a71b9839a46b9b7fff66b6638bb52fc9658aa58796b0326595d3021", size = 206951, upload-time = "2026-03-15T18:50:44.789Z" }, + { url = "https://files.pythonhosted.org/packages/32/73/c0b86f3d1458468e11aec870e6b3feac931facbe105a894b552b0e518e79/charset_normalizer-3.4.6-cp311-cp311-win32.whl", hash = "sha256:9ca4c0b502ab399ef89248a2c84c54954f77a070f28e546a85e91da627d1301e", size = 143703, upload-time = "2026-03-15T18:50:46.103Z" }, + { url = "https://files.pythonhosted.org/packages/c6/e3/76f2facfe8eddee0bbd38d2594e709033338eae44ebf1738bcefe0a06185/charset_normalizer-3.4.6-cp311-cp311-win_amd64.whl", hash = "sha256:a9e68c9d88823b274cf1e72f28cb5dc89c990edf430b0bfd3e2fb0785bfeabf4", size = 153857, upload-time = "2026-03-15T18:50:47.563Z" }, + { url = "https://files.pythonhosted.org/packages/e2/dc/9abe19c9b27e6cd3636036b9d1b387b78c40dedbf0b47f9366737684b4b0/charset_normalizer-3.4.6-cp311-cp311-win_arm64.whl", hash = "sha256:97d0235baafca5f2b09cf332cc275f021e694e8362c6bb9c96fc9a0eb74fc316", size = 142751, upload-time = "2026-03-15T18:50:49.234Z" }, + { url = "https://files.pythonhosted.org/packages/e5/62/c0815c992c9545347aeea7859b50dc9044d147e2e7278329c6e02ac9a616/charset_normalizer-3.4.6-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:2ef7fedc7a6ecbe99969cd09632516738a97eeb8bd7258bf8a0f23114c057dab", size = 295154, upload-time = "2026-03-15T18:50:50.88Z" }, + { url = "https://files.pythonhosted.org/packages/a8/37/bdca6613c2e3c58c7421891d80cc3efa1d32e882f7c4a7ee6039c3fc951a/charset_normalizer-3.4.6-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:a4ea868bc28109052790eb2b52a9ab33f3aa7adc02f96673526ff47419490e21", size = 199191, upload-time = "2026-03-15T18:50:52.658Z" }, + { url = "https://files.pythonhosted.org/packages/6c/92/9934d1bbd69f7f398b38c5dae1cbf9cc672e7c34a4adf7b17c0a9c17d15d/charset_normalizer-3.4.6-cp312-cp312-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:836ab36280f21fc1a03c99cd05c6b7af70d2697e374c7af0b61ed271401a72a2", size = 218674, upload-time = "2026-03-15T18:50:54.102Z" }, + { url = "https://files.pythonhosted.org/packages/af/90/25f6ab406659286be929fd89ab0e78e38aa183fc374e03aa3c12d730af8a/charset_normalizer-3.4.6-cp312-cp312-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:f1ce721c8a7dfec21fcbdfe04e8f68174183cf4e8188e0645e92aa23985c57ff", size = 215259, upload-time = "2026-03-15T18:50:55.616Z" }, + { url = "https://files.pythonhosted.org/packages/4e/ef/79a463eb0fff7f96afa04c1d4c51f8fc85426f918db467854bfb6a569ce3/charset_normalizer-3.4.6-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:0e28d62a8fc7a1fa411c43bd65e346f3bce9716dc51b897fbe930c5987b402d5", size = 207276, upload-time = "2026-03-15T18:50:57.054Z" }, + { url = "https://files.pythonhosted.org/packages/f7/72/d0426afec4b71dc159fa6b4e68f868cd5a3ecd918fec5813a15d292a7d10/charset_normalizer-3.4.6-cp312-cp312-manylinux_2_31_armv7l.whl", hash = "sha256:530d548084c4a9f7a16ed4a294d459b4f229db50df689bfe92027452452943a0", size = 195161, upload-time = "2026-03-15T18:50:58.686Z" }, + { url = "https://files.pythonhosted.org/packages/bf/18/c82b06a68bfcb6ce55e508225d210c7e6a4ea122bfc0748892f3dc4e8e11/charset_normalizer-3.4.6-cp312-cp312-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:30f445ae60aad5e1f8bdbb3108e39f6fbc09f4ea16c815c66578878325f8f15a", size = 203452, upload-time = "2026-03-15T18:51:00.196Z" }, + { url = "https://files.pythonhosted.org/packages/44/d6/0c25979b92f8adafdbb946160348d8d44aa60ce99afdc27df524379875cb/charset_normalizer-3.4.6-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:ac2393c73378fea4e52aa56285a3d64be50f1a12395afef9cce47772f60334c2", size = 202272, upload-time = "2026-03-15T18:51:01.703Z" }, + { url = "https://files.pythonhosted.org/packages/2e/3d/7fea3e8fe84136bebbac715dd1221cc25c173c57a699c030ab9b8900cbb7/charset_normalizer-3.4.6-cp312-cp312-musllinux_1_2_armv7l.whl", hash = "sha256:90ca27cd8da8118b18a52d5f547859cc1f8354a00cd1e8e5120df3e30d6279e5", size = 195622, upload-time = "2026-03-15T18:51:03.526Z" }, + { url = "https://files.pythonhosted.org/packages/57/8a/d6f7fd5cb96c58ef2f681424fbca01264461336d2a7fc875e4446b1f1346/charset_normalizer-3.4.6-cp312-cp312-musllinux_1_2_ppc64le.whl", hash = "sha256:8e5a94886bedca0f9b78fecd6afb6629142fd2605aa70a125d49f4edc6037ee6", size = 220056, upload-time = "2026-03-15T18:51:05.269Z" }, + { url = "https://files.pythonhosted.org/packages/16/50/478cdda782c8c9c3fb5da3cc72dd7f331f031e7f1363a893cdd6ca0f8de0/charset_normalizer-3.4.6-cp312-cp312-musllinux_1_2_riscv64.whl", hash = "sha256:695f5c2823691a25f17bc5d5ffe79fa90972cc34b002ac6c843bb8a1720e950d", size = 203751, upload-time = "2026-03-15T18:51:06.858Z" }, + { url = "https://files.pythonhosted.org/packages/75/fc/cc2fcac943939c8e4d8791abfa139f685e5150cae9f94b60f12520feaa9b/charset_normalizer-3.4.6-cp312-cp312-musllinux_1_2_s390x.whl", hash = "sha256:231d4da14bcd9301310faf492051bee27df11f2bc7549bc0bb41fef11b82daa2", size = 216563, upload-time = "2026-03-15T18:51:08.564Z" }, + { url = "https://files.pythonhosted.org/packages/a8/b7/a4add1d9a5f68f3d037261aecca83abdb0ab15960a3591d340e829b37298/charset_normalizer-3.4.6-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:a056d1ad2633548ca18ffa2f85c202cfb48b68615129143915b8dc72a806a923", size = 209265, upload-time = "2026-03-15T18:51:10.312Z" }, + { url = "https://files.pythonhosted.org/packages/6c/18/c094561b5d64a24277707698e54b7f67bd17a4f857bbfbb1072bba07c8bf/charset_normalizer-3.4.6-cp312-cp312-win32.whl", hash = "sha256:c2274ca724536f173122f36c98ce188fd24ce3dad886ec2b7af859518ce008a4", size = 144229, upload-time = "2026-03-15T18:51:11.694Z" }, + { url = "https://files.pythonhosted.org/packages/ab/20/0567efb3a8fd481b8f34f739ebddc098ed062a59fed41a8d193a61939e8f/charset_normalizer-3.4.6-cp312-cp312-win_amd64.whl", hash = "sha256:c8ae56368f8cc97c7e40a7ee18e1cedaf8e780cd8bc5ed5ac8b81f238614facb", size = 154277, upload-time = "2026-03-15T18:51:13.004Z" }, + { url = "https://files.pythonhosted.org/packages/15/57/28d79b44b51933119e21f65479d0864a8d5893e494cf5daab15df0247c17/charset_normalizer-3.4.6-cp312-cp312-win_arm64.whl", hash = "sha256:899d28f422116b08be5118ef350c292b36fc15ec2daeb9ea987c89281c7bb5c4", size = 142817, upload-time = "2026-03-15T18:51:14.408Z" }, + { url = "https://files.pythonhosted.org/packages/41/85/580dbaa12ab31041ed7df59f0bebc8893514fc21da6c05c3a1c1707d118f/charset_normalizer-3.4.6-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:31215157227939b4fb3d740cd23fe27be0439afef67b785a1eb78a3ae69cba9e", size = 298620, upload-time = "2026-03-15T18:52:57.332Z" }, + { url = "https://files.pythonhosted.org/packages/67/2c/1e55af3a5e2f52e44396d5c5b731e0ae4f3bb92915ff09a610fb2f4497eb/charset_normalizer-3.4.6-cp39-cp39-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:ecbbd45615a6885fe3240eb9db73b9e62518b611850fdf8ab08bd56de7ad2b17", size = 200106, upload-time = "2026-03-15T18:52:59.2Z" }, + { url = "https://files.pythonhosted.org/packages/10/42/0f2f51a1d16caa45fbf384fd337d4242df1a5b313babee211381d2d39a96/charset_normalizer-3.4.6-cp39-cp39-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:c45a03a4c69820a399f1dda9e1d8fbf3562eda46e7720458180302021b08f778", size = 220539, upload-time = "2026-03-15T18:53:01.019Z" }, + { url = "https://files.pythonhosted.org/packages/1c/0c/4e10996c740eec0f4ae8afbbbfa25f66e8479c4b6ee9cff1ca366a4f6c04/charset_normalizer-3.4.6-cp39-cp39-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:e8aeb10fcbe92767f0fa69ad5a72deca50d0dca07fbde97848997d778a50c9fe", size = 215821, upload-time = "2026-03-15T18:53:02.621Z" }, + { url = "https://files.pythonhosted.org/packages/46/73/205ae7644ebb581a7c6fa9c3751e283606e145f0e6f066003c66aafc9973/charset_normalizer-3.4.6-cp39-cp39-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:54fae94be3d75f3e573c9a1b5402dc593de19377013c9a0e4285e3d402dd3a2a", size = 207917, upload-time = "2026-03-15T18:53:04.413Z" }, + { url = "https://files.pythonhosted.org/packages/b3/ca/18f7dcf19afdab8097aeb2feb8b3809bb4b6ee356cb720abf5263d79406a/charset_normalizer-3.4.6-cp39-cp39-manylinux_2_31_armv7l.whl", hash = "sha256:2f7fdd9b6e6c529d6a2501a2d36b240109e78a8ceaef5687cfcfa2bbe671d297", size = 194513, upload-time = "2026-03-15T18:53:06.025Z" }, + { url = "https://files.pythonhosted.org/packages/e4/6a/e7e3e204c8d79832a091e00b24595af1d5d9800d37dc1f67a6b264cc99a6/charset_normalizer-3.4.6-cp39-cp39-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:4d1d02209e06550bdaef34af58e041ad71b88e624f5d825519da3a3308e22687", size = 205612, upload-time = "2026-03-15T18:53:07.494Z" }, + { url = "https://files.pythonhosted.org/packages/ff/ae/2169ebcea2851c5460c7a21993a0f87028be3c3e60899cb36251e1135cf5/charset_normalizer-3.4.6-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:8bc5f0687d796c05b1e28ab0d38a50e6309906ee09375dd3aff6a9c09dd6e8f4", size = 203519, upload-time = "2026-03-15T18:53:09.048Z" }, + { url = "https://files.pythonhosted.org/packages/43/a0/6a49a925b9c225fe35dffeac5c76f68996b814c637e9d7213718f96be109/charset_normalizer-3.4.6-cp39-cp39-musllinux_1_2_armv7l.whl", hash = "sha256:ee4ec14bc1680d6b0afab9aea2ef27e26d2024f18b24a2d7155a52b60da7e833", size = 195411, upload-time = "2026-03-15T18:53:10.542Z" }, + { url = "https://files.pythonhosted.org/packages/47/f7/a26b0a18e52b1a0f11f53c2c400ed062f386ac227a64ae4be4c5a64699be/charset_normalizer-3.4.6-cp39-cp39-musllinux_1_2_ppc64le.whl", hash = "sha256:d1a2ee9c1499fc8f86f4521f27a973c914b211ffa87322f4ee33bb35392da2c5", size = 221653, upload-time = "2026-03-15T18:53:12.394Z" }, + { url = "https://files.pythonhosted.org/packages/a7/3a/ed1d3b5bb55e3634bd5c31cedbe4fff79d0e5b8d9a062f663a757a07760d/charset_normalizer-3.4.6-cp39-cp39-musllinux_1_2_riscv64.whl", hash = "sha256:48696db7f18afb80a068821504296eb0787d9ce239b91ca15059d1d3eaacf13b", size = 205650, upload-time = "2026-03-15T18:53:13.934Z" }, + { url = "https://files.pythonhosted.org/packages/b1/27/c75819eea5ceeefc49bae329327bb91e81adc346e2a9873d9fdb9e77cde6/charset_normalizer-3.4.6-cp39-cp39-musllinux_1_2_s390x.whl", hash = "sha256:4f41da960b196ea355357285ad1316a00099f22d0929fe168343b99b254729c9", size = 216919, upload-time = "2026-03-15T18:53:15.44Z" }, + { url = "https://files.pythonhosted.org/packages/0f/42/6e91bf8b15f67b7c957091138a36057a083e60703cc27848d5e36ca1eb03/charset_normalizer-3.4.6-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:802168e03fba8bbc5ce0d866d589e4b1ca751d06edee69f7f3a19c5a9fe6b597", size = 210101, upload-time = "2026-03-15T18:53:17.045Z" }, + { url = "https://files.pythonhosted.org/packages/99/ff/101af2605e66a7ee59961d7f9e1060df7c92e8ea54208a02ab881422c24e/charset_normalizer-3.4.6-cp39-cp39-win32.whl", hash = "sha256:8761ac29b6c81574724322a554605608a9960769ea83d2c73e396f3df896ad54", size = 144136, upload-time = "2026-03-15T18:53:19.152Z" }, + { url = "https://files.pythonhosted.org/packages/1d/da/de5942dfbf21f28c19e9202267dabf7bc73f195465d020a3a60054520cc5/charset_normalizer-3.4.6-cp39-cp39-win_amd64.whl", hash = "sha256:1cf0a70018692f85172348fe06d3a4b63f94ecb055e13a00c644d368eb82e5b8", size = 154210, upload-time = "2026-03-15T18:53:20.576Z" }, + { url = "https://files.pythonhosted.org/packages/06/df/1b780a25b86d22b1d736f6ac883afd38ffdf30ddc18e5dc0e82211f493f1/charset_normalizer-3.4.6-cp39-cp39-win_arm64.whl", hash = "sha256:3516bbb8d42169de9e61b8520cbeeeb716f12f4ecfe3fd30a9919aa16c806ca8", size = 143225, upload-time = "2026-03-15T18:53:22.072Z" }, + { url = "https://files.pythonhosted.org/packages/2a/68/687187c7e26cb24ccbd88e5069f5ef00eba804d36dde11d99aad0838ab45/charset_normalizer-3.4.6-py3-none-any.whl", hash = "sha256:947cf925bc916d90adba35a64c82aace04fa39b46b52d4630ece166655905a69", size = 61455, upload-time = "2026-03-15T18:53:23.833Z" }, ] [[package]] name = "clarabel" -version = "0.10.0" +version = "0.11.1" source = { registry = "https://pypi.org/simple" } dependencies = [ + { name = "cffi" }, { name = "numpy" }, { name = "scipy", version = "1.13.1", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.10'" }, - { name = "scipy", version = "1.15.2", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.10'" }, + { name = "scipy", version = "1.15.3", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version == '3.10.*'" }, + { name = "scipy", version = "1.17.1", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.11'" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/7e/83/f3e550b56188b9aa363351e87f6608c67cc2c7551feece1006d5ff9eb0c3/clarabel-0.10.0.tar.gz", hash = "sha256:a8a2105058fd7db54718be53c48715a50910500b10ff0b8f5380434e69c10a10", size = 212927 } +sdist = { url = "https://files.pythonhosted.org/packages/81/e2/47f692161779dbd98876015de934943effb667a014e6f79a6d746b3e4c2a/clarabel-0.11.1.tar.gz", hash = "sha256:e7c41c47f0e59aeab99aefff9e58af4a8753ee5269bbeecbd5526fc6f41b9598", size = 253949, upload-time = "2025-06-11T16:49:05.864Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/0a/18/a537f020338349943db49afb305a75e8d41ba9b1383df6341bde8decfde7/clarabel-0.10.0-cp39-abi3-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl", hash = "sha256:ac0375778b351ed0a6a209a3a671e438181f640e98ea56761acf44681f05f211", size = 1737235 }, - { url = "https://files.pythonhosted.org/packages/15/6c/eb05273543a80f4f9d4196fde5d2e20dc73102b4e5255d965018bd9c9031/clarabel-0.10.0-cp39-abi3-macosx_10_12_x86_64.whl", hash = "sha256:385c29169918a0fbf7eaece919db381120519241d9806f65b291444ef52deccc", size = 903609 }, - { url = "https://files.pythonhosted.org/packages/44/23/f3bc9dcb9b5e9b821702dcd2a5da03e0583ad96609641c069a31ccab6db9/clarabel-0.10.0-cp39-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:325468980cd4495005926d413ccca4bb534e52ecc9e43fbd915f5d0e63859bd8", size = 940233 }, - { url = "https://files.pythonhosted.org/packages/fa/fa/5faf0fcbad99a70ee416443c5194af8c7f1c65d74f6570bfa1560e69af8e/clarabel-0.10.0-cp39-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9be6910e0ae1694996aa0c5f3db9b99ab6b619f6735ad178086b6f1e3eeef5e2", size = 1011382 }, - { url = "https://files.pythonhosted.org/packages/e6/ba/67a0defb70ed910877049e915e6738fc0432edd5e46b97743ce78a1e5b95/clarabel-0.10.0-cp39-abi3-win_amd64.whl", hash = "sha256:7871b6f499ad66f71d4e7fb40754c4d986d4316f242beb62ff4f63a69785a50c", size = 742536 }, + { url = "https://files.pythonhosted.org/packages/34/f7/f82698b6d00a40a80c67e9a32b2628886aadfaf7f7b32daa12a463e44571/clarabel-0.11.1-cp39-abi3-macosx_10_12_x86_64.whl", hash = "sha256:c39160e4222040f051f2a0598691c4f9126b4d17f5b9e7678f76c71d611e12d8", size = 1039511, upload-time = "2025-06-11T16:48:58.525Z" }, + { url = "https://files.pythonhosted.org/packages/b0/8f/13650cfe25762b51175c677330e6471d5d2c5851a6fbd6df77f0681bb34e/clarabel-0.11.1-cp39-abi3-macosx_11_0_arm64.whl", hash = "sha256:8963687ee250d27310d139eea5a6816f9c3ae31f33691b56579ca4f0f0b64b63", size = 935135, upload-time = "2025-06-11T16:48:59.901Z" }, + { url = "https://files.pythonhosted.org/packages/2b/9e/7af10d2b540b39f1a05d1ebba604fce933cc9bc0e65e88ec3b7a84976425/clarabel-0.11.1-cp39-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e4837b9d0db01e98239f04b1e3526a6cf568529d3c19a8b3f591befdc467f9bb", size = 1079226, upload-time = "2025-06-11T16:49:00.987Z" }, + { url = "https://files.pythonhosted.org/packages/6b/a9/c76edf781ca3283186ff4b54a9a4fb51367fd04313a68e2b09f062407439/clarabel-0.11.1-cp39-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:c8c41aaa6f3f8c0f3bd9d86c3e568dcaee079562c075bd2ec9fb3a80287380ef", size = 1164345, upload-time = "2025-06-11T16:49:02.675Z" }, + { url = "https://files.pythonhosted.org/packages/41/e6/4eee3062088c221e5a18b054e51c69f616e0bb0dc1b0a1a5e0fe90dfa18e/clarabel-0.11.1-cp39-abi3-win_amd64.whl", hash = "sha256:557d5148a4377ae1980b65d00605ae870a8f34f95f0f6a41e04aa6d3edf67148", size = 887310, upload-time = "2025-06-11T16:49:04.277Z" }, ] [[package]] @@ -274,157 +395,244 @@ resolution-markers = [ dependencies = [ { name = "colorama", marker = "python_full_version < '3.10' and sys_platform == 'win32'" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/b9/2e/0090cbf739cee7d23781ad4b89a9894a41538e4fcf4c31dcdd705b78eb8b/click-8.1.8.tar.gz", hash = "sha256:ed53c9d8990d83c2a27deae68e4ee337473f6330c040a31d4225c9574d16096a", size = 226593 } +sdist = { url = "https://files.pythonhosted.org/packages/b9/2e/0090cbf739cee7d23781ad4b89a9894a41538e4fcf4c31dcdd705b78eb8b/click-8.1.8.tar.gz", hash = "sha256:ed53c9d8990d83c2a27deae68e4ee337473f6330c040a31d4225c9574d16096a", size = 226593, upload-time = "2024-12-21T18:38:44.339Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/7e/d4/7ebdbd03970677812aac39c869717059dbb71a4cfc033ca6e5221787892c/click-8.1.8-py3-none-any.whl", hash = "sha256:63c132bbbed01578a06712a2d1f497bb62d9c1c0d329b7903a866228027263b2", size = 98188 }, + { url = "https://files.pythonhosted.org/packages/7e/d4/7ebdbd03970677812aac39c869717059dbb71a4cfc033ca6e5221787892c/click-8.1.8-py3-none-any.whl", hash = "sha256:63c132bbbed01578a06712a2d1f497bb62d9c1c0d329b7903a866228027263b2", size = 98188, upload-time = "2024-12-21T18:38:41.666Z" }, ] [[package]] name = "click" -version = "8.2.1" +version = "8.3.1" source = { registry = "https://pypi.org/simple" } resolution-markers = [ - "python_full_version >= '3.12'", - "python_full_version == '3.11.*'", + "python_full_version >= '3.11' and sys_platform == 'win32'", + "python_full_version >= '3.11' and sys_platform == 'emscripten'", + "python_full_version >= '3.11' and sys_platform != 'emscripten' and sys_platform != 'win32'", "python_full_version == '3.10.*'", ] dependencies = [ { name = "colorama", marker = "python_full_version >= '3.10' and 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/3d/fa/656b739db8587d7b5dfa22e22ed02566950fbfbcdc20311993483657a5c0/click-8.3.1.tar.gz", hash = "sha256:12ff4785d337a1bb490bb7e9c2b1ee5da3112e94a8622f26a6c77f5d2fc6842a", size = 295065, upload-time = "2025-11-15T20:45:42.706Z" } 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/98/78/01c019cdb5d6498122777c1a43056ebb3ebfeef2076d9d026bfe15583b2b/click-8.3.1-py3-none-any.whl", hash = "sha256:981153a64e25f12d547d3426c367a4857371575ee7ad18df2a6183ab0545b2a6", size = 108274, upload-time = "2025-11-15T20:45:41.139Z" }, ] [[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 = "coverage" -version = "7.6.1" -source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/f7/08/7e37f82e4d1aead42a7443ff06a1e406aabf7302c4f00a546e4b320b994c/coverage-7.6.1.tar.gz", hash = "sha256:953510dfb7b12ab69d20135a0662397f077c59b1e6379a768e97c59d852ee51d", size = 798791 } -wheels = [ - { url = "https://files.pythonhosted.org/packages/7e/61/eb7ce5ed62bacf21beca4937a90fe32545c91a3c8a42a30c6616d48fc70d/coverage-7.6.1-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:b06079abebbc0e89e6163b8e8f0e16270124c154dc6e4a47b413dd538859af16", size = 206690 }, - { url = "https://files.pythonhosted.org/packages/7d/73/041928e434442bd3afde5584bdc3f932fb4562b1597629f537387cec6f3d/coverage-7.6.1-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:cf4b19715bccd7ee27b6b120e7e9dd56037b9c0681dcc1adc9ba9db3d417fa36", size = 207127 }, - { url = "https://files.pythonhosted.org/packages/c7/c8/6ca52b5147828e45ad0242388477fdb90df2c6cbb9a441701a12b3c71bc8/coverage-7.6.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e61c0abb4c85b095a784ef23fdd4aede7a2628478e7baba7c5e3deba61070a02", size = 235654 }, - { url = "https://files.pythonhosted.org/packages/d5/da/9ac2b62557f4340270942011d6efeab9833648380109e897d48ab7c1035d/coverage-7.6.1-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:fd21f6ae3f08b41004dfb433fa895d858f3f5979e7762d052b12aef444e29afc", size = 233598 }, - { url = "https://files.pythonhosted.org/packages/53/23/9e2c114d0178abc42b6d8d5281f651a8e6519abfa0ef460a00a91f80879d/coverage-7.6.1-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:8f59d57baca39b32db42b83b2a7ba6f47ad9c394ec2076b084c3f029b7afca23", size = 234732 }, - { url = "https://files.pythonhosted.org/packages/0f/7e/a0230756fb133343a52716e8b855045f13342b70e48e8ad41d8a0d60ab98/coverage-7.6.1-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:a1ac0ae2b8bd743b88ed0502544847c3053d7171a3cff9228af618a068ed9c34", size = 233816 }, - { url = "https://files.pythonhosted.org/packages/28/7c/3753c8b40d232b1e5eeaed798c875537cf3cb183fb5041017c1fdb7ec14e/coverage-7.6.1-cp310-cp310-musllinux_1_2_i686.whl", hash = "sha256:e6a08c0be454c3b3beb105c0596ebdc2371fab6bb90c0c0297f4e58fd7e1012c", size = 232325 }, - { url = "https://files.pythonhosted.org/packages/57/e3/818a2b2af5b7573b4b82cf3e9f137ab158c90ea750a8f053716a32f20f06/coverage-7.6.1-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:f5796e664fe802da4f57a168c85359a8fbf3eab5e55cd4e4569fbacecc903959", size = 233418 }, - { url = "https://files.pythonhosted.org/packages/c8/fb/4532b0b0cefb3f06d201648715e03b0feb822907edab3935112b61b885e2/coverage-7.6.1-cp310-cp310-win32.whl", hash = "sha256:7bb65125fcbef8d989fa1dd0e8a060999497629ca5b0efbca209588a73356232", size = 209343 }, - { url = "https://files.pythonhosted.org/packages/5a/25/af337cc7421eca1c187cc9c315f0a755d48e755d2853715bfe8c418a45fa/coverage-7.6.1-cp310-cp310-win_amd64.whl", hash = "sha256:3115a95daa9bdba70aea750db7b96b37259a81a709223c8448fa97727d546fe0", size = 210136 }, - { url = "https://files.pythonhosted.org/packages/ad/5f/67af7d60d7e8ce61a4e2ddcd1bd5fb787180c8d0ae0fbd073f903b3dd95d/coverage-7.6.1-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:7dea0889685db8550f839fa202744652e87c60015029ce3f60e006f8c4462c93", size = 206796 }, - { url = "https://files.pythonhosted.org/packages/e1/0e/e52332389e057daa2e03be1fbfef25bb4d626b37d12ed42ae6281d0a274c/coverage-7.6.1-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:ed37bd3c3b063412f7620464a9ac1314d33100329f39799255fb8d3027da50d3", size = 207244 }, - { url = "https://files.pythonhosted.org/packages/aa/cd/766b45fb6e090f20f8927d9c7cb34237d41c73a939358bc881883fd3a40d/coverage-7.6.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d85f5e9a5f8b73e2350097c3756ef7e785f55bd71205defa0bfdaf96c31616ff", size = 239279 }, - { url = "https://files.pythonhosted.org/packages/70/6c/a9ccd6fe50ddaf13442a1e2dd519ca805cbe0f1fcd377fba6d8339b98ccb/coverage-7.6.1-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:9bc572be474cafb617672c43fe989d6e48d3c83af02ce8de73fff1c6bb3c198d", size = 236859 }, - { url = "https://files.pythonhosted.org/packages/14/6f/8351b465febb4dbc1ca9929505202db909c5a635c6fdf33e089bbc3d7d85/coverage-7.6.1-cp311-cp311-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:0c0420b573964c760df9e9e86d1a9a622d0d27f417e1a949a8a66dd7bcee7bc6", size = 238549 }, - { url = "https://files.pythonhosted.org/packages/68/3c/289b81fa18ad72138e6d78c4c11a82b5378a312c0e467e2f6b495c260907/coverage-7.6.1-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:1f4aa8219db826ce6be7099d559f8ec311549bfc4046f7f9fe9b5cea5c581c56", size = 237477 }, - { url = "https://files.pythonhosted.org/packages/ed/1c/aa1efa6459d822bd72c4abc0b9418cf268de3f60eeccd65dc4988553bd8d/coverage-7.6.1-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:fc5a77d0c516700ebad189b587de289a20a78324bc54baee03dd486f0855d234", size = 236134 }, - { url = "https://files.pythonhosted.org/packages/fb/c8/521c698f2d2796565fe9c789c2ee1ccdae610b3aa20b9b2ef980cc253640/coverage-7.6.1-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:b48f312cca9621272ae49008c7f613337c53fadca647d6384cc129d2996d1133", size = 236910 }, - { url = "https://files.pythonhosted.org/packages/7d/30/033e663399ff17dca90d793ee8a2ea2890e7fdf085da58d82468b4220bf7/coverage-7.6.1-cp311-cp311-win32.whl", hash = "sha256:1125ca0e5fd475cbbba3bb67ae20bd2c23a98fac4e32412883f9bcbaa81c314c", size = 209348 }, - { url = "https://files.pythonhosted.org/packages/20/05/0d1ccbb52727ccdadaa3ff37e4d2dc1cd4d47f0c3df9eb58d9ec8508ca88/coverage-7.6.1-cp311-cp311-win_amd64.whl", hash = "sha256:8ae539519c4c040c5ffd0632784e21b2f03fc1340752af711f33e5be83a9d6c6", size = 210230 }, - { url = "https://files.pythonhosted.org/packages/7e/d4/300fc921dff243cd518c7db3a4c614b7e4b2431b0d1145c1e274fd99bd70/coverage-7.6.1-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:95cae0efeb032af8458fc27d191f85d1717b1d4e49f7cb226cf526ff28179778", size = 206983 }, - { url = "https://files.pythonhosted.org/packages/e1/ab/6bf00de5327ecb8db205f9ae596885417a31535eeda6e7b99463108782e1/coverage-7.6.1-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:5621a9175cf9d0b0c84c2ef2b12e9f5f5071357c4d2ea6ca1cf01814f45d2391", size = 207221 }, - { url = "https://files.pythonhosted.org/packages/92/8f/2ead05e735022d1a7f3a0a683ac7f737de14850395a826192f0288703472/coverage-7.6.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:260933720fdcd75340e7dbe9060655aff3af1f0c5d20f46b57f262ab6c86a5e8", size = 240342 }, - { url = "https://files.pythonhosted.org/packages/0f/ef/94043e478201ffa85b8ae2d2c79b4081e5a1b73438aafafccf3e9bafb6b5/coverage-7.6.1-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:07e2ca0ad381b91350c0ed49d52699b625aab2b44b65e1b4e02fa9df0e92ad2d", size = 237371 }, - { url = "https://files.pythonhosted.org/packages/1f/0f/c890339dd605f3ebc269543247bdd43b703cce6825b5ed42ff5f2d6122c7/coverage-7.6.1-cp312-cp312-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:c44fee9975f04b33331cb8eb272827111efc8930cfd582e0320613263ca849ca", size = 239455 }, - { url = "https://files.pythonhosted.org/packages/d1/04/7fd7b39ec7372a04efb0f70c70e35857a99b6a9188b5205efb4c77d6a57a/coverage-7.6.1-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:877abb17e6339d96bf08e7a622d05095e72b71f8afd8a9fefc82cf30ed944163", size = 238924 }, - { url = "https://files.pythonhosted.org/packages/ed/bf/73ce346a9d32a09cf369f14d2a06651329c984e106f5992c89579d25b27e/coverage-7.6.1-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:3e0cadcf6733c09154b461f1ca72d5416635e5e4ec4e536192180d34ec160f8a", size = 237252 }, - { url = "https://files.pythonhosted.org/packages/86/74/1dc7a20969725e917b1e07fe71a955eb34bc606b938316bcc799f228374b/coverage-7.6.1-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:c3c02d12f837d9683e5ab2f3d9844dc57655b92c74e286c262e0fc54213c216d", size = 238897 }, - { url = "https://files.pythonhosted.org/packages/b6/e9/d9cc3deceb361c491b81005c668578b0dfa51eed02cd081620e9a62f24ec/coverage-7.6.1-cp312-cp312-win32.whl", hash = "sha256:e05882b70b87a18d937ca6768ff33cc3f72847cbc4de4491c8e73880766718e5", size = 209606 }, - { url = "https://files.pythonhosted.org/packages/47/c8/5a2e41922ea6740f77d555c4d47544acd7dc3f251fe14199c09c0f5958d3/coverage-7.6.1-cp312-cp312-win_amd64.whl", hash = "sha256:b5d7b556859dd85f3a541db6a4e0167b86e7273e1cdc973e5b175166bb634fdb", size = 210373 }, - { url = "https://files.pythonhosted.org/packages/19/d3/d54c5aa83268779d54c86deb39c1c4566e5d45c155369ca152765f8db413/coverage-7.6.1-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:abd5fd0db5f4dc9289408aaf34908072f805ff7792632250dcb36dc591d24255", size = 206688 }, - { url = "https://files.pythonhosted.org/packages/a5/fe/137d5dca72e4a258b1bc17bb04f2e0196898fe495843402ce826a7419fe3/coverage-7.6.1-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:547f45fa1a93154bd82050a7f3cddbc1a7a4dd2a9bf5cb7d06f4ae29fe94eaf8", size = 207120 }, - { url = "https://files.pythonhosted.org/packages/78/5b/a0a796983f3201ff5485323b225d7c8b74ce30c11f456017e23d8e8d1945/coverage-7.6.1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:645786266c8f18a931b65bfcefdbf6952dd0dea98feee39bd188607a9d307ed2", size = 235249 }, - { url = "https://files.pythonhosted.org/packages/4e/e1/76089d6a5ef9d68f018f65411fcdaaeb0141b504587b901d74e8587606ad/coverage-7.6.1-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:9e0b2df163b8ed01d515807af24f63de04bebcecbd6c3bfeff88385789fdf75a", size = 233237 }, - { url = "https://files.pythonhosted.org/packages/9a/6f/eef79b779a540326fee9520e5542a8b428cc3bfa8b7c8f1022c1ee4fc66c/coverage-7.6.1-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:609b06f178fe8e9f89ef676532760ec0b4deea15e9969bf754b37f7c40326dbc", size = 234311 }, - { url = "https://files.pythonhosted.org/packages/75/e1/656d65fb126c29a494ef964005702b012f3498db1a30dd562958e85a4049/coverage-7.6.1-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:702855feff378050ae4f741045e19a32d57d19f3e0676d589df0575008ea5004", size = 233453 }, - { url = "https://files.pythonhosted.org/packages/68/6a/45f108f137941a4a1238c85f28fd9d048cc46b5466d6b8dda3aba1bb9d4f/coverage-7.6.1-cp39-cp39-musllinux_1_2_i686.whl", hash = "sha256:2bdb062ea438f22d99cba0d7829c2ef0af1d768d1e4a4f528087224c90b132cb", size = 231958 }, - { url = "https://files.pythonhosted.org/packages/9b/e7/47b809099168b8b8c72ae311efc3e88c8d8a1162b3ba4b8da3cfcdb85743/coverage-7.6.1-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:9c56863d44bd1c4fe2abb8a4d6f5371d197f1ac0ebdee542f07f35895fc07f36", size = 232938 }, - { url = "https://files.pythonhosted.org/packages/52/80/052222ba7058071f905435bad0ba392cc12006380731c37afaf3fe749b88/coverage-7.6.1-cp39-cp39-win32.whl", hash = "sha256:6e2cd258d7d927d09493c8df1ce9174ad01b381d4729a9d8d4e38670ca24774c", size = 209352 }, - { url = "https://files.pythonhosted.org/packages/b8/d8/1b92e0b3adcf384e98770a00ca095da1b5f7b483e6563ae4eb5e935d24a1/coverage-7.6.1-cp39-cp39-win_amd64.whl", hash = "sha256:06a737c882bd26d0d6ee7269b20b12f14a8704807a01056c80bb881a4b2ce6ca", size = 210153 }, - { url = "https://files.pythonhosted.org/packages/a5/2b/0354ed096bca64dc8e32a7cbcae28b34cb5ad0b1fe2125d6d99583313ac0/coverage-7.6.1-pp38.pp39.pp310-none-any.whl", hash = "sha256:e9a6e0eb86070e8ccaedfbd9d38fec54864f3125ab95419970575b42af7541df", size = 198926 }, +version = "7.10.7" +source = { registry = "https://pypi.org/simple" } +resolution-markers = [ + "python_full_version < '3.10'", +] +sdist = { url = "https://files.pythonhosted.org/packages/51/26/d22c300112504f5f9a9fd2297ce33c35f3d353e4aeb987c8419453b2a7c2/coverage-7.10.7.tar.gz", hash = "sha256:f4ab143ab113be368a3e9b795f9cd7906c5ef407d6173fe9675a902e1fffc239", size = 827704, upload-time = "2025-09-21T20:03:56.815Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/e5/6c/3a3f7a46888e69d18abe3ccc6fe4cb16cccb1e6a2f99698931dafca489e6/coverage-7.10.7-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:fc04cc7a3db33664e0c2d10eb8990ff6b3536f6842c9590ae8da4c614b9ed05a", size = 217987, upload-time = "2025-09-21T20:00:57.218Z" }, + { url = "https://files.pythonhosted.org/packages/03/94/952d30f180b1a916c11a56f5c22d3535e943aa22430e9e3322447e520e1c/coverage-7.10.7-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:e201e015644e207139f7e2351980feb7040e6f4b2c2978892f3e3789d1c125e5", size = 218388, upload-time = "2025-09-21T20:01:00.081Z" }, + { url = "https://files.pythonhosted.org/packages/50/2b/9e0cf8ded1e114bcd8b2fd42792b57f1c4e9e4ea1824cde2af93a67305be/coverage-7.10.7-cp310-cp310-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl", hash = "sha256:240af60539987ced2c399809bd34f7c78e8abe0736af91c3d7d0e795df633d17", size = 245148, upload-time = "2025-09-21T20:01:01.768Z" }, + { url = "https://files.pythonhosted.org/packages/19/20/d0384ac06a6f908783d9b6aa6135e41b093971499ec488e47279f5b846e6/coverage-7.10.7-cp310-cp310-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl", hash = "sha256:8421e088bc051361b01c4b3a50fd39a4b9133079a2229978d9d30511fd05231b", size = 246958, upload-time = "2025-09-21T20:01:03.355Z" }, + { url = "https://files.pythonhosted.org/packages/60/83/5c283cff3d41285f8eab897651585db908a909c572bdc014bcfaf8a8b6ae/coverage-7.10.7-cp310-cp310-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:6be8ed3039ae7f7ac5ce058c308484787c86e8437e72b30bf5e88b8ea10f3c87", size = 248819, upload-time = "2025-09-21T20:01:04.968Z" }, + { url = "https://files.pythonhosted.org/packages/60/22/02eb98fdc5ff79f423e990d877693e5310ae1eab6cb20ae0b0b9ac45b23b/coverage-7.10.7-cp310-cp310-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:e28299d9f2e889e6d51b1f043f58d5f997c373cc12e6403b90df95b8b047c13e", size = 245754, upload-time = "2025-09-21T20:01:06.321Z" }, + { url = "https://files.pythonhosted.org/packages/b4/bc/25c83bcf3ad141b32cd7dc45485ef3c01a776ca3aa8ef0a93e77e8b5bc43/coverage-7.10.7-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:c4e16bd7761c5e454f4efd36f345286d6f7c5fa111623c355691e2755cae3b9e", size = 246860, upload-time = "2025-09-21T20:01:07.605Z" }, + { url = "https://files.pythonhosted.org/packages/3c/b7/95574702888b58c0928a6e982038c596f9c34d52c5e5107f1eef729399b5/coverage-7.10.7-cp310-cp310-musllinux_1_2_i686.whl", hash = "sha256:b1c81d0e5e160651879755c9c675b974276f135558cf4ba79fee7b8413a515df", size = 244877, upload-time = "2025-09-21T20:01:08.829Z" }, + { url = "https://files.pythonhosted.org/packages/47/b6/40095c185f235e085df0e0b158f6bd68cc6e1d80ba6c7721dc81d97ec318/coverage-7.10.7-cp310-cp310-musllinux_1_2_riscv64.whl", hash = "sha256:606cc265adc9aaedcc84f1f064f0e8736bc45814f15a357e30fca7ecc01504e0", size = 245108, upload-time = "2025-09-21T20:01:10.527Z" }, + { url = "https://files.pythonhosted.org/packages/c8/50/4aea0556da7a4b93ec9168420d170b55e2eb50ae21b25062513d020c6861/coverage-7.10.7-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:10b24412692df990dbc34f8fb1b6b13d236ace9dfdd68df5b28c2e39cafbba13", size = 245752, upload-time = "2025-09-21T20:01:11.857Z" }, + { url = "https://files.pythonhosted.org/packages/6a/28/ea1a84a60828177ae3b100cb6723838523369a44ec5742313ed7db3da160/coverage-7.10.7-cp310-cp310-win32.whl", hash = "sha256:b51dcd060f18c19290d9b8a9dd1e0181538df2ce0717f562fff6cf74d9fc0b5b", size = 220497, upload-time = "2025-09-21T20:01:13.459Z" }, + { url = "https://files.pythonhosted.org/packages/fc/1a/a81d46bbeb3c3fd97b9602ebaa411e076219a150489bcc2c025f151bd52d/coverage-7.10.7-cp310-cp310-win_amd64.whl", hash = "sha256:3a622ac801b17198020f09af3eaf45666b344a0d69fc2a6ffe2ea83aeef1d807", size = 221392, upload-time = "2025-09-21T20:01:14.722Z" }, + { url = "https://files.pythonhosted.org/packages/d2/5d/c1a17867b0456f2e9ce2d8d4708a4c3a089947d0bec9c66cdf60c9e7739f/coverage-7.10.7-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:a609f9c93113be646f44c2a0256d6ea375ad047005d7f57a5c15f614dc1b2f59", size = 218102, upload-time = "2025-09-21T20:01:16.089Z" }, + { url = "https://files.pythonhosted.org/packages/54/f0/514dcf4b4e3698b9a9077f084429681bf3aad2b4a72578f89d7f643eb506/coverage-7.10.7-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:65646bb0359386e07639c367a22cf9b5bf6304e8630b565d0626e2bdf329227a", size = 218505, upload-time = "2025-09-21T20:01:17.788Z" }, + { url = "https://files.pythonhosted.org/packages/20/f6/9626b81d17e2a4b25c63ac1b425ff307ecdeef03d67c9a147673ae40dc36/coverage-7.10.7-cp311-cp311-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl", hash = "sha256:5f33166f0dfcce728191f520bd2692914ec70fac2713f6bf3ce59c3deacb4699", size = 248898, upload-time = "2025-09-21T20:01:19.488Z" }, + { url = "https://files.pythonhosted.org/packages/b0/ef/bd8e719c2f7417ba03239052e099b76ea1130ac0cbb183ee1fcaa58aaff3/coverage-7.10.7-cp311-cp311-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl", hash = "sha256:35f5e3f9e455bb17831876048355dca0f758b6df22f49258cb5a91da23ef437d", size = 250831, upload-time = "2025-09-21T20:01:20.817Z" }, + { url = "https://files.pythonhosted.org/packages/a5/b6/bf054de41ec948b151ae2b79a55c107f5760979538f5fb80c195f2517718/coverage-7.10.7-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:4da86b6d62a496e908ac2898243920c7992499c1712ff7c2b6d837cc69d9467e", size = 252937, upload-time = "2025-09-21T20:01:22.171Z" }, + { url = "https://files.pythonhosted.org/packages/0f/e5/3860756aa6f9318227443c6ce4ed7bf9e70bb7f1447a0353f45ac5c7974b/coverage-7.10.7-cp311-cp311-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:6b8b09c1fad947c84bbbc95eca841350fad9cbfa5a2d7ca88ac9f8d836c92e23", size = 249021, upload-time = "2025-09-21T20:01:23.907Z" }, + { url = "https://files.pythonhosted.org/packages/26/0f/bd08bd042854f7fd07b45808927ebcce99a7ed0f2f412d11629883517ac2/coverage-7.10.7-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:4376538f36b533b46f8971d3a3e63464f2c7905c9800db97361c43a2b14792ab", size = 250626, upload-time = "2025-09-21T20:01:25.721Z" }, + { url = "https://files.pythonhosted.org/packages/8e/a7/4777b14de4abcc2e80c6b1d430f5d51eb18ed1d75fca56cbce5f2db9b36e/coverage-7.10.7-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:121da30abb574f6ce6ae09840dae322bef734480ceafe410117627aa54f76d82", size = 248682, upload-time = "2025-09-21T20:01:27.105Z" }, + { url = "https://files.pythonhosted.org/packages/34/72/17d082b00b53cd45679bad682fac058b87f011fd8b9fe31d77f5f8d3a4e4/coverage-7.10.7-cp311-cp311-musllinux_1_2_riscv64.whl", hash = "sha256:88127d40df529336a9836870436fc2751c339fbaed3a836d42c93f3e4bd1d0a2", size = 248402, upload-time = "2025-09-21T20:01:28.629Z" }, + { url = "https://files.pythonhosted.org/packages/81/7a/92367572eb5bdd6a84bfa278cc7e97db192f9f45b28c94a9ca1a921c3577/coverage-7.10.7-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:ba58bbcd1b72f136080c0bccc2400d66cc6115f3f906c499013d065ac33a4b61", size = 249320, upload-time = "2025-09-21T20:01:30.004Z" }, + { url = "https://files.pythonhosted.org/packages/2f/88/a23cc185f6a805dfc4fdf14a94016835eeb85e22ac3a0e66d5e89acd6462/coverage-7.10.7-cp311-cp311-win32.whl", hash = "sha256:972b9e3a4094b053a4e46832b4bc829fc8a8d347160eb39d03f1690316a99c14", size = 220536, upload-time = "2025-09-21T20:01:32.184Z" }, + { url = "https://files.pythonhosted.org/packages/fe/ef/0b510a399dfca17cec7bc2f05ad8bd78cf55f15c8bc9a73ab20c5c913c2e/coverage-7.10.7-cp311-cp311-win_amd64.whl", hash = "sha256:a7b55a944a7f43892e28ad4bc0561dfd5f0d73e605d1aa5c3c976b52aea121d2", size = 221425, upload-time = "2025-09-21T20:01:33.557Z" }, + { url = "https://files.pythonhosted.org/packages/51/7f/023657f301a276e4ba1850f82749bc136f5a7e8768060c2e5d9744a22951/coverage-7.10.7-cp311-cp311-win_arm64.whl", hash = "sha256:736f227fb490f03c6488f9b6d45855f8e0fd749c007f9303ad30efab0e73c05a", size = 220103, upload-time = "2025-09-21T20:01:34.929Z" }, + { url = "https://files.pythonhosted.org/packages/13/e4/eb12450f71b542a53972d19117ea5a5cea1cab3ac9e31b0b5d498df1bd5a/coverage-7.10.7-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:7bb3b9ddb87ef7725056572368040c32775036472d5a033679d1fa6c8dc08417", size = 218290, upload-time = "2025-09-21T20:01:36.455Z" }, + { url = "https://files.pythonhosted.org/packages/37/66/593f9be12fc19fb36711f19a5371af79a718537204d16ea1d36f16bd78d2/coverage-7.10.7-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:18afb24843cbc175687225cab1138c95d262337f5473512010e46831aa0c2973", size = 218515, upload-time = "2025-09-21T20:01:37.982Z" }, + { url = "https://files.pythonhosted.org/packages/66/80/4c49f7ae09cafdacc73fbc30949ffe77359635c168f4e9ff33c9ebb07838/coverage-7.10.7-cp312-cp312-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl", hash = "sha256:399a0b6347bcd3822be369392932884b8216d0944049ae22925631a9b3d4ba4c", size = 250020, upload-time = "2025-09-21T20:01:39.617Z" }, + { url = "https://files.pythonhosted.org/packages/a6/90/a64aaacab3b37a17aaedd83e8000142561a29eb262cede42d94a67f7556b/coverage-7.10.7-cp312-cp312-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl", hash = "sha256:314f2c326ded3f4b09be11bc282eb2fc861184bc95748ae67b360ac962770be7", size = 252769, upload-time = "2025-09-21T20:01:41.341Z" }, + { url = "https://files.pythonhosted.org/packages/98/2e/2dda59afd6103b342e096f246ebc5f87a3363b5412609946c120f4e7750d/coverage-7.10.7-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:c41e71c9cfb854789dee6fc51e46743a6d138b1803fab6cb860af43265b42ea6", size = 253901, upload-time = "2025-09-21T20:01:43.042Z" }, + { url = "https://files.pythonhosted.org/packages/53/dc/8d8119c9051d50f3119bb4a75f29f1e4a6ab9415cd1fa8bf22fcc3fb3b5f/coverage-7.10.7-cp312-cp312-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:bc01f57ca26269c2c706e838f6422e2a8788e41b3e3c65e2f41148212e57cd59", size = 250413, upload-time = "2025-09-21T20:01:44.469Z" }, + { url = "https://files.pythonhosted.org/packages/98/b3/edaff9c5d79ee4d4b6d3fe046f2b1d799850425695b789d491a64225d493/coverage-7.10.7-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:a6442c59a8ac8b85812ce33bc4d05bde3fb22321fa8294e2a5b487c3505f611b", size = 251820, upload-time = "2025-09-21T20:01:45.915Z" }, + { url = "https://files.pythonhosted.org/packages/11/25/9a0728564bb05863f7e513e5a594fe5ffef091b325437f5430e8cfb0d530/coverage-7.10.7-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:78a384e49f46b80fb4c901d52d92abe098e78768ed829c673fbb53c498bef73a", size = 249941, upload-time = "2025-09-21T20:01:47.296Z" }, + { url = "https://files.pythonhosted.org/packages/e0/fd/ca2650443bfbef5b0e74373aac4df67b08180d2f184b482c41499668e258/coverage-7.10.7-cp312-cp312-musllinux_1_2_riscv64.whl", hash = "sha256:5e1e9802121405ede4b0133aa4340ad8186a1d2526de5b7c3eca519db7bb89fb", size = 249519, upload-time = "2025-09-21T20:01:48.73Z" }, + { url = "https://files.pythonhosted.org/packages/24/79/f692f125fb4299b6f963b0745124998ebb8e73ecdfce4ceceb06a8c6bec5/coverage-7.10.7-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:d41213ea25a86f69efd1575073d34ea11aabe075604ddf3d148ecfec9e1e96a1", size = 251375, upload-time = "2025-09-21T20:01:50.529Z" }, + { url = "https://files.pythonhosted.org/packages/5e/75/61b9bbd6c7d24d896bfeec57acba78e0f8deac68e6baf2d4804f7aae1f88/coverage-7.10.7-cp312-cp312-win32.whl", hash = "sha256:77eb4c747061a6af8d0f7bdb31f1e108d172762ef579166ec84542f711d90256", size = 220699, upload-time = "2025-09-21T20:01:51.941Z" }, + { url = "https://files.pythonhosted.org/packages/ca/f3/3bf7905288b45b075918d372498f1cf845b5b579b723c8fd17168018d5f5/coverage-7.10.7-cp312-cp312-win_amd64.whl", hash = "sha256:f51328ffe987aecf6d09f3cd9d979face89a617eacdaea43e7b3080777f647ba", size = 221512, upload-time = "2025-09-21T20:01:53.481Z" }, + { url = "https://files.pythonhosted.org/packages/5c/44/3e32dbe933979d05cf2dac5e697c8599cfe038aaf51223ab901e208d5a62/coverage-7.10.7-cp312-cp312-win_arm64.whl", hash = "sha256:bda5e34f8a75721c96085903c6f2197dc398c20ffd98df33f866a9c8fd95f4bf", size = 220147, upload-time = "2025-09-21T20:01:55.2Z" }, + { url = "https://files.pythonhosted.org/packages/a3/ad/d1c25053764b4c42eb294aae92ab617d2e4f803397f9c7c8295caa77a260/coverage-7.10.7-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:fff7b9c3f19957020cac546c70025331113d2e61537f6e2441bc7657913de7d3", size = 217978, upload-time = "2025-09-21T20:03:30.362Z" }, + { url = "https://files.pythonhosted.org/packages/52/2f/b9f9daa39b80ece0b9548bbb723381e29bc664822d9a12c2135f8922c22b/coverage-7.10.7-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:bc91b314cef27742da486d6839b677b3f2793dfe52b51bbbb7cf736d5c29281c", size = 218370, upload-time = "2025-09-21T20:03:32.147Z" }, + { url = "https://files.pythonhosted.org/packages/dd/6e/30d006c3b469e58449650642383dddf1c8fb63d44fdf92994bfd46570695/coverage-7.10.7-cp39-cp39-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl", hash = "sha256:567f5c155eda8df1d3d439d40a45a6a5f029b429b06648235f1e7e51b522b396", size = 244802, upload-time = "2025-09-21T20:03:33.919Z" }, + { url = "https://files.pythonhosted.org/packages/b0/49/8a070782ce7e6b94ff6a0b6d7c65ba6bc3091d92a92cef4cd4eb0767965c/coverage-7.10.7-cp39-cp39-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl", hash = "sha256:2af88deffcc8a4d5974cf2d502251bc3b2db8461f0b66d80a449c33757aa9f40", size = 246625, upload-time = "2025-09-21T20:03:36.09Z" }, + { url = "https://files.pythonhosted.org/packages/6a/92/1c1c5a9e8677ce56d42b97bdaca337b2d4d9ebe703d8c174ede52dbabd5f/coverage-7.10.7-cp39-cp39-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:c7315339eae3b24c2d2fa1ed7d7a38654cba34a13ef19fbcb9425da46d3dc594", size = 248399, upload-time = "2025-09-21T20:03:38.342Z" }, + { url = "https://files.pythonhosted.org/packages/c0/54/b140edee7257e815de7426d5d9846b58505dffc29795fff2dfb7f8a1c5a0/coverage-7.10.7-cp39-cp39-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:912e6ebc7a6e4adfdbb1aec371ad04c68854cd3bf3608b3514e7ff9062931d8a", size = 245142, upload-time = "2025-09-21T20:03:40.591Z" }, + { url = "https://files.pythonhosted.org/packages/e4/9e/6d6b8295940b118e8b7083b29226c71f6154f7ff41e9ca431f03de2eac0d/coverage-7.10.7-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:f49a05acd3dfe1ce9715b657e28d138578bc40126760efb962322c56e9ca344b", size = 246284, upload-time = "2025-09-21T20:03:42.355Z" }, + { url = "https://files.pythonhosted.org/packages/db/e5/5e957ca747d43dbe4d9714358375c7546cb3cb533007b6813fc20fce37ad/coverage-7.10.7-cp39-cp39-musllinux_1_2_i686.whl", hash = "sha256:cce2109b6219f22ece99db7644b9622f54a4e915dad65660ec435e89a3ea7cc3", size = 244353, upload-time = "2025-09-21T20:03:44.218Z" }, + { url = "https://files.pythonhosted.org/packages/9a/45/540fc5cc92536a1b783b7ef99450bd55a4b3af234aae35a18a339973ce30/coverage-7.10.7-cp39-cp39-musllinux_1_2_riscv64.whl", hash = "sha256:f3c887f96407cea3916294046fc7dab611c2552beadbed4ea901cbc6a40cc7a0", size = 244430, upload-time = "2025-09-21T20:03:46.065Z" }, + { url = "https://files.pythonhosted.org/packages/75/0b/8287b2e5b38c8fe15d7e3398849bb58d382aedc0864ea0fa1820e8630491/coverage-7.10.7-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:635adb9a4507c9fd2ed65f39693fa31c9a3ee3a8e6dc64df033e8fdf52a7003f", size = 245311, upload-time = "2025-09-21T20:03:48.19Z" }, + { url = "https://files.pythonhosted.org/packages/0c/1d/29724999984740f0c86d03e6420b942439bf5bd7f54d4382cae386a9d1e9/coverage-7.10.7-cp39-cp39-win32.whl", hash = "sha256:5a02d5a850e2979b0a014c412573953995174743a3f7fa4ea5a6e9a3c5617431", size = 220500, upload-time = "2025-09-21T20:03:50.024Z" }, + { url = "https://files.pythonhosted.org/packages/43/11/4b1e6b129943f905ca54c339f343877b55b365ae2558806c1be4f7476ed5/coverage-7.10.7-cp39-cp39-win_amd64.whl", hash = "sha256:c134869d5ffe34547d14e174c866fd8fe2254918cc0a95e99052903bc1543e07", size = 221408, upload-time = "2025-09-21T20:03:51.803Z" }, + { url = "https://files.pythonhosted.org/packages/ec/16/114df1c291c22cac3b0c127a73e0af5c12ed7bbb6558d310429a0ae24023/coverage-7.10.7-py3-none-any.whl", hash = "sha256:f7941f6f2fe6dd6807a1208737b8a0cbcf1cc6d7b07d24998ad2d63590868260", size = 209952, upload-time = "2025-09-21T20:03:53.918Z" }, ] [package.optional-dependencies] toml = [ - { name = "tomli", marker = "python_full_version <= '3.11'" }, + { name = "tomli", marker = "python_full_version < '3.10'" }, +] + +[[package]] +name = "coverage" +version = "7.13.5" +source = { registry = "https://pypi.org/simple" } +resolution-markers = [ + "python_full_version >= '3.11' and sys_platform == 'win32'", + "python_full_version >= '3.11' and sys_platform == 'emscripten'", + "python_full_version >= '3.11' and sys_platform != 'emscripten' and sys_platform != 'win32'", + "python_full_version == '3.10.*'", +] +sdist = { url = "https://files.pythonhosted.org/packages/9d/e0/70553e3000e345daff267cec284ce4cbf3fc141b6da229ac52775b5428f1/coverage-7.13.5.tar.gz", hash = "sha256:c81f6515c4c40141f83f502b07bbfa5c240ba25bbe73da7b33f1e5b6120ff179", size = 915967, upload-time = "2026-03-17T10:33:18.341Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/69/33/e8c48488c29a73fd089f9d71f9653c1be7478f2ad6b5bc870db11a55d23d/coverage-7.13.5-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:e0723d2c96324561b9aa76fb982406e11d93cdb388a7a7da2b16e04719cf7ca5", size = 219255, upload-time = "2026-03-17T10:29:51.081Z" }, + { url = "https://files.pythonhosted.org/packages/da/bd/b0ebe9f677d7f4b74a3e115eec7ddd4bcf892074963a00d91e8b164a6386/coverage-7.13.5-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:52f444e86475992506b32d4e5ca55c24fc88d73bcbda0e9745095b28ef4dc0cf", size = 219772, upload-time = "2026-03-17T10:29:52.867Z" }, + { url = "https://files.pythonhosted.org/packages/48/cc/5cb9502f4e01972f54eedd48218bb203fe81e294be606a2bc93970208013/coverage-7.13.5-cp310-cp310-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl", hash = "sha256:704de6328e3d612a8f6c07000a878ff38181ec3263d5a11da1db294fa6a9bdf8", size = 246532, upload-time = "2026-03-17T10:29:54.688Z" }, + { url = "https://files.pythonhosted.org/packages/7d/d8/3217636d86c7e7b12e126e4f30ef1581047da73140614523af7495ed5f2d/coverage-7.13.5-cp310-cp310-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl", hash = "sha256:a1a6d79a14e1ec1832cabc833898636ad5f3754a678ef8bb4908515208bf84f4", size = 248333, upload-time = "2026-03-17T10:29:56.221Z" }, + { url = "https://files.pythonhosted.org/packages/2b/30/2002ac6729ba2d4357438e2ed3c447ad8562866c8c63fc16f6dfc33afe56/coverage-7.13.5-cp310-cp310-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:79060214983769c7ba3f0cee10b54c97609dca4d478fa1aa32b914480fd5738d", size = 250211, upload-time = "2026-03-17T10:29:57.938Z" }, + { url = "https://files.pythonhosted.org/packages/6c/85/552496626d6b9359eb0e2f86f920037c9cbfba09b24d914c6e1528155f7d/coverage-7.13.5-cp310-cp310-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:356e76b46783a98c2a2fe81ec79df4883a1e62895ea952968fb253c114e7f930", size = 252125, upload-time = "2026-03-17T10:29:59.388Z" }, + { url = "https://files.pythonhosted.org/packages/44/21/40256eabdcbccdb6acf6b381b3016a154399a75fe39d406f790ae84d1f3c/coverage-7.13.5-cp310-cp310-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:0cef0cdec915d11254a7f549c1170afecce708d30610c6abdded1f74e581666d", size = 247219, upload-time = "2026-03-17T10:30:01.199Z" }, + { url = "https://files.pythonhosted.org/packages/b1/e8/96e2a6c3f21a0ea77d7830b254a1542d0328acc8d7bdf6a284ba7e529f77/coverage-7.13.5-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:dc022073d063b25a402454e5712ef9e007113e3a676b96c5f29b2bda29352f40", size = 248248, upload-time = "2026-03-17T10:30:03.317Z" }, + { url = "https://files.pythonhosted.org/packages/da/ba/8477f549e554827da390ec659f3c38e4b6d95470f4daafc2d8ff94eaa9c2/coverage-7.13.5-cp310-cp310-musllinux_1_2_i686.whl", hash = "sha256:9b74db26dfea4f4e50d48a4602207cd1e78be33182bc9cbf22da94f332f99878", size = 246254, upload-time = "2026-03-17T10:30:04.832Z" }, + { url = "https://files.pythonhosted.org/packages/55/59/bc22aef0e6aa179d5b1b001e8b3654785e9adf27ef24c93dc4228ebd5d68/coverage-7.13.5-cp310-cp310-musllinux_1_2_ppc64le.whl", hash = "sha256:ad146744ca4fd09b50c482650e3c1b1f4dfa1d4792e0a04a369c7f23336f0400", size = 250067, upload-time = "2026-03-17T10:30:06.535Z" }, + { url = "https://files.pythonhosted.org/packages/de/1b/c6a023a160806a5137dca53468fd97530d6acad24a22003b1578a9c2e429/coverage-7.13.5-cp310-cp310-musllinux_1_2_riscv64.whl", hash = "sha256:c555b48be1853fe3997c11c4bd521cdd9a9612352de01fa4508f16ec341e6fe0", size = 246521, upload-time = "2026-03-17T10:30:08.486Z" }, + { url = "https://files.pythonhosted.org/packages/2d/3f/3532c85a55aa2f899fa17c186f831cfa1aa434d88ff792a709636f64130e/coverage-7.13.5-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:7034b5c56a58ae5e85f23949d52c14aca2cfc6848a31764995b7de88f13a1ea0", size = 247126, upload-time = "2026-03-17T10:30:09.966Z" }, + { url = "https://files.pythonhosted.org/packages/aa/2e/b9d56af4a24ef45dfbcda88e06870cb7d57b2b0bfa3a888d79b4c8debd76/coverage-7.13.5-cp310-cp310-win32.whl", hash = "sha256:eb7fdf1ef130660e7415e0253a01a7d5a88c9c4d158bcf75cbbd922fd65a5b58", size = 221860, upload-time = "2026-03-17T10:30:11.393Z" }, + { url = "https://files.pythonhosted.org/packages/9f/cc/d938417e7a4d7f0433ad4edee8bb2acdc60dc7ac5af19e2a07a048ecbee3/coverage-7.13.5-cp310-cp310-win_amd64.whl", hash = "sha256:3e1bb5f6c78feeb1be3475789b14a0f0a5b47d505bfc7267126ccbd50289999e", size = 222788, upload-time = "2026-03-17T10:30:12.886Z" }, + { url = "https://files.pythonhosted.org/packages/4b/37/d24c8f8220ff07b839b2c043ea4903a33b0f455abe673ae3c03bbdb7f212/coverage-7.13.5-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:66a80c616f80181f4d643b0f9e709d97bcea413ecd9631e1dedc7401c8e6695d", size = 219381, upload-time = "2026-03-17T10:30:14.68Z" }, + { url = "https://files.pythonhosted.org/packages/35/8b/cd129b0ca4afe886a6ce9d183c44d8301acbd4ef248622e7c49a23145605/coverage-7.13.5-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:145ede53ccbafb297c1c9287f788d1bc3efd6c900da23bf6931b09eafc931587", size = 219880, upload-time = "2026-03-17T10:30:16.231Z" }, + { url = "https://files.pythonhosted.org/packages/55/2f/e0e5b237bffdb5d6c530ce87cc1d413a5b7d7dfd60fb067ad6d254c35c76/coverage-7.13.5-cp311-cp311-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl", hash = "sha256:0672854dc733c342fa3e957e0605256d2bf5934feeac328da9e0b5449634a642", size = 250303, upload-time = "2026-03-17T10:30:17.748Z" }, + { url = "https://files.pythonhosted.org/packages/92/be/b1afb692be85b947f3401375851484496134c5554e67e822c35f28bf2fbc/coverage-7.13.5-cp311-cp311-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl", hash = "sha256:ec10e2a42b41c923c2209b846126c6582db5e43a33157e9870ba9fb70dc7854b", size = 252218, upload-time = "2026-03-17T10:30:19.804Z" }, + { url = "https://files.pythonhosted.org/packages/da/69/2f47bb6fa1b8d1e3e5d0c4be8ccb4313c63d742476a619418f85740d597b/coverage-7.13.5-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:be3d4bbad9d4b037791794ddeedd7d64a56f5933a2c1373e18e9e568b9141686", size = 254326, upload-time = "2026-03-17T10:30:21.321Z" }, + { url = "https://files.pythonhosted.org/packages/d5/d0/79db81da58965bd29dabc8f4ad2a2af70611a57cba9d1ec006f072f30a54/coverage-7.13.5-cp311-cp311-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:4d2afbc5cc54d286bfb54541aa50b64cdb07a718227168c87b9e2fb8f25e1743", size = 256267, upload-time = "2026-03-17T10:30:23.094Z" }, + { url = "https://files.pythonhosted.org/packages/e5/32/d0d7cc8168f91ddab44c0ce4806b969df5f5fdfdbb568eaca2dbc2a04936/coverage-7.13.5-cp311-cp311-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:3ad050321264c49c2fa67bb599100456fc51d004b82534f379d16445da40fb75", size = 250430, upload-time = "2026-03-17T10:30:25.311Z" }, + { url = "https://files.pythonhosted.org/packages/4d/06/a055311d891ddbe231cd69fdd20ea4be6e3603ffebddf8704b8ca8e10a3c/coverage-7.13.5-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:7300c8a6d13335b29bb76d7651c66af6bd8658517c43499f110ddc6717bfc209", size = 252017, upload-time = "2026-03-17T10:30:27.284Z" }, + { url = "https://files.pythonhosted.org/packages/d6/f6/d0fd2d21e29a657b5f77a2fe7082e1568158340dceb941954f776dce1b7b/coverage-7.13.5-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:eb07647a5738b89baab047f14edd18ded523de60f3b30e75c2acc826f79c839a", size = 250080, upload-time = "2026-03-17T10:30:29.481Z" }, + { url = "https://files.pythonhosted.org/packages/4e/ab/0d7fb2efc2e9a5eb7ddcc6e722f834a69b454b7e6e5888c3a8567ecffb31/coverage-7.13.5-cp311-cp311-musllinux_1_2_ppc64le.whl", hash = "sha256:9adb6688e3b53adffefd4a52d72cbd8b02602bfb8f74dcd862337182fd4d1a4e", size = 253843, upload-time = "2026-03-17T10:30:31.301Z" }, + { url = "https://files.pythonhosted.org/packages/ba/6f/7467b917bbf5408610178f62a49c0ed4377bb16c1657f689cc61470da8ce/coverage-7.13.5-cp311-cp311-musllinux_1_2_riscv64.whl", hash = "sha256:7c8d4bc913dd70b93488d6c496c77f3aff5ea99a07e36a18f865bca55adef8bd", size = 249802, upload-time = "2026-03-17T10:30:33.358Z" }, + { url = "https://files.pythonhosted.org/packages/75/2c/1172fb689df92135f5bfbbd69fc83017a76d24ea2e2f3a1154007e2fb9f8/coverage-7.13.5-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:0e3c426ffc4cd952f54ee9ffbdd10345709ecc78a3ecfd796a57236bfad0b9b8", size = 250707, upload-time = "2026-03-17T10:30:35.2Z" }, + { url = "https://files.pythonhosted.org/packages/67/21/9ac389377380a07884e3b48ba7a620fcd9dbfaf1d40565facdc6b36ec9ef/coverage-7.13.5-cp311-cp311-win32.whl", hash = "sha256:259b69bb83ad9894c4b25be2528139eecba9a82646ebdda2d9db1ba28424a6bf", size = 221880, upload-time = "2026-03-17T10:30:36.775Z" }, + { url = "https://files.pythonhosted.org/packages/af/7f/4cd8a92531253f9d7c1bbecd9fa1b472907fb54446ca768c59b531248dc5/coverage-7.13.5-cp311-cp311-win_amd64.whl", hash = "sha256:258354455f4e86e3e9d0d17571d522e13b4e1e19bf0f8596bcf9476d61e7d8a9", size = 222816, upload-time = "2026-03-17T10:30:38.891Z" }, + { url = "https://files.pythonhosted.org/packages/12/a6/1d3f6155fb0010ca68eba7fe48ca6c9da7385058b77a95848710ecf189b1/coverage-7.13.5-cp311-cp311-win_arm64.whl", hash = "sha256:bff95879c33ec8da99fc9b6fe345ddb5be6414b41d6d1ad1c8f188d26f36e028", size = 221483, upload-time = "2026-03-17T10:30:40.463Z" }, + { url = "https://files.pythonhosted.org/packages/a0/c3/a396306ba7db865bf96fc1fb3b7fd29bcbf3d829df642e77b13555163cd6/coverage-7.13.5-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:460cf0114c5016fa841214ff5564aa4864f11948da9440bc97e21ad1f4ba1e01", size = 219554, upload-time = "2026-03-17T10:30:42.208Z" }, + { url = "https://files.pythonhosted.org/packages/a6/16/a68a19e5384e93f811dccc51034b1fd0b865841c390e3c931dcc4699e035/coverage-7.13.5-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:0e223ce4b4ed47f065bfb123687686512e37629be25cc63728557ae7db261422", size = 219908, upload-time = "2026-03-17T10:30:43.906Z" }, + { url = "https://files.pythonhosted.org/packages/29/72/20b917c6793af3a5ceb7fb9c50033f3ec7865f2911a1416b34a7cfa0813b/coverage-7.13.5-cp312-cp312-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl", hash = "sha256:6e3370441f4513c6252bf042b9c36d22491142385049243253c7e48398a15a9f", size = 251419, upload-time = "2026-03-17T10:30:45.545Z" }, + { url = "https://files.pythonhosted.org/packages/8c/49/cd14b789536ac6a4778c453c6a2338bc0a2fb60c5a5a41b4008328b9acc1/coverage-7.13.5-cp312-cp312-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl", hash = "sha256:03ccc709a17a1de074fb1d11f217342fb0d2b1582ed544f554fc9fc3f07e95f5", size = 254159, upload-time = "2026-03-17T10:30:47.204Z" }, + { url = "https://files.pythonhosted.org/packages/9d/00/7b0edcfe64e2ed4c0340dac14a52ad0f4c9bd0b8b5e531af7d55b703db7c/coverage-7.13.5-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:3f4818d065964db3c1c66dc0fbdac5ac692ecbc875555e13374fdbe7eedb4376", size = 255270, upload-time = "2026-03-17T10:30:48.812Z" }, + { url = "https://files.pythonhosted.org/packages/93/89/7ffc4ba0f5d0a55c1e84ea7cee39c9fc06af7b170513d83fbf3bbefce280/coverage-7.13.5-cp312-cp312-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:012d5319e66e9d5a218834642d6c35d265515a62f01157a45bcc036ecf947256", size = 257538, upload-time = "2026-03-17T10:30:50.77Z" }, + { url = "https://files.pythonhosted.org/packages/81/bd/73ddf85f93f7e6fa83e77ccecb6162d9415c79007b4bc124008a4995e4a7/coverage-7.13.5-cp312-cp312-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:8dd02af98971bdb956363e4827d34425cb3df19ee550ef92855b0acb9c7ce51c", size = 251821, upload-time = "2026-03-17T10:30:52.5Z" }, + { url = "https://files.pythonhosted.org/packages/a0/81/278aff4e8dec4926a0bcb9486320752811f543a3ce5b602cc7a29978d073/coverage-7.13.5-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:f08fd75c50a760c7eb068ae823777268daaf16a80b918fa58eea888f8e3919f5", size = 253191, upload-time = "2026-03-17T10:30:54.543Z" }, + { url = "https://files.pythonhosted.org/packages/70/ee/fe1621488e2e0a58d7e94c4800f0d96f79671553488d401a612bebae324b/coverage-7.13.5-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:843ea8643cf967d1ac7e8ecd4bb00c99135adf4816c0c0593fdcc47b597fcf09", size = 251337, upload-time = "2026-03-17T10:30:56.663Z" }, + { url = "https://files.pythonhosted.org/packages/37/a6/f79fb37aa104b562207cc23cb5711ab6793608e246cae1e93f26b2236ed9/coverage-7.13.5-cp312-cp312-musllinux_1_2_ppc64le.whl", hash = "sha256:9d44d7aa963820b1b971dbecd90bfe5fe8f81cff79787eb6cca15750bd2f79b9", size = 255404, upload-time = "2026-03-17T10:30:58.427Z" }, + { url = "https://files.pythonhosted.org/packages/75/f0/ed15262a58ec81ce457ceb717b7f78752a1713556b19081b76e90896e8d4/coverage-7.13.5-cp312-cp312-musllinux_1_2_riscv64.whl", hash = "sha256:7132bed4bd7b836200c591410ae7d97bf7ae8be6fc87d160b2bd881df929e7bf", size = 250903, upload-time = "2026-03-17T10:31:00.093Z" }, + { url = "https://files.pythonhosted.org/packages/0f/e9/9129958f20e7e9d4d56d51d42ccf708d15cac355ff4ac6e736e97a9393d2/coverage-7.13.5-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:a698e363641b98843c517817db75373c83254781426e94ada3197cabbc2c919c", size = 252780, upload-time = "2026-03-17T10:31:01.916Z" }, + { url = "https://files.pythonhosted.org/packages/a4/d7/0ad9b15812d81272db94379fe4c6df8fd17781cc7671fdfa30c76ba5ff7b/coverage-7.13.5-cp312-cp312-win32.whl", hash = "sha256:bdba0a6b8812e8c7df002d908a9a2ea3c36e92611b5708633c50869e6d922fdf", size = 222093, upload-time = "2026-03-17T10:31:03.642Z" }, + { url = "https://files.pythonhosted.org/packages/29/3d/821a9a5799fac2556bcf0bd37a70d1d11fa9e49784b6d22e92e8b2f85f18/coverage-7.13.5-cp312-cp312-win_amd64.whl", hash = "sha256:d2c87e0c473a10bffe991502eac389220533024c8082ec1ce849f4218dded810", size = 222900, upload-time = "2026-03-17T10:31:05.651Z" }, + { url = "https://files.pythonhosted.org/packages/d4/fa/2238c2ad08e35cf4f020ea721f717e09ec3152aea75d191a7faf3ef009a8/coverage-7.13.5-cp312-cp312-win_arm64.whl", hash = "sha256:bf69236a9a81bdca3bff53796237aab096cdbf8d78a66ad61e992d9dac7eb2de", size = 221515, upload-time = "2026-03-17T10:31:07.293Z" }, + { url = "https://files.pythonhosted.org/packages/9e/ee/a4cf96b8ce1e566ed238f0659ac2d3f007ed1d14b181bcb684e19561a69a/coverage-7.13.5-py3-none-any.whl", hash = "sha256:34b02417cf070e173989b3db962f7ed56d2f644307b2cf9d5a0f258e13084a61", size = 211346, upload-time = "2026-03-17T10:33:15.691Z" }, +] + +[package.optional-dependencies] +toml = [ + { name = "tomli", marker = "python_full_version >= '3.10' and python_full_version <= '3.11'" }, ] [[package]] name = "cvxopt" -version = "1.3.2" -source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/f5/12/8467d16008ab7577259d32f1e59c4d84edda22b7729ab4a1a0dfd5f0550b/cvxopt-1.3.2.tar.gz", hash = "sha256:3461fa42c1b2240ba4da1d985ca73503914157fc4c77417327ed6d7d85acdbe6", size = 4108454 } -wheels = [ - { url = "https://files.pythonhosted.org/packages/c2/ab/78b8dcaf31f034184c4d9051562631856212614f34b9246f694dfb3e105b/cvxopt-1.3.2-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:cd4a1bba537a34808b92f1e793e3499029d339a7a2ab6d989f82e395b7b740ff", size = 13835104 }, - { url = "https://files.pythonhosted.org/packages/44/b1/b27dcf10dc6b61ffeb84bcf684d83ca90557b717d80b78a4758576c17010/cvxopt-1.3.2-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:e3cd2db913b1cf64d84cdb7bc467a8a15adbd1f0f83a7a45a7167ad590f79408", size = 11103451 }, - { url = "https://files.pythonhosted.org/packages/41/6d/98814860dbb9cdc27dcb6651b35124d7adca3bfe281f3351abb02a8a3f72/cvxopt-1.3.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6874e1b9aa002f9d796da9d02bdca76b15aa3d4b2f83ca5064ac4c7894b92ece", size = 13578154 }, - { url = "https://files.pythonhosted.org/packages/ef/67/3c577c9b4a09c3006e994a581fb540f48cf0378d8f3785cc1fe00fd48b87/cvxopt-1.3.2-cp310-cp310-manylinux_2_28_aarch64.whl", hash = "sha256:32d9f88940464bffddfc0601fe3156ab16bf5a92393483e32342df0272fa64ce", size = 13814850 }, - { url = "https://files.pythonhosted.org/packages/89/91/a68d87b421c4bfe936c756778d58c7220abd9292e8e2dac951a3e3f64505/cvxopt-1.3.2-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:9eb704be0918f04691af1267107539222cc2277bca888fdc385733bcab30f734", size = 9499915 }, - { url = "https://files.pythonhosted.org/packages/5b/10/429440cf9b841a5f8645f0aacc6a8da0a87cce4846d45e836f6b5f83be34/cvxopt-1.3.2-cp310-cp310-win_amd64.whl", hash = "sha256:22d12b88190e047c0cedde165711222aa0dcdc325a229b876c36f746dd4a6f12", size = 12844564 }, - { url = "https://files.pythonhosted.org/packages/c1/43/f626c353802fb5ed37a087a0e41ad92246a1e1189869d47865853a980927/cvxopt-1.3.2-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:a459b6ee9f99fc34861cbcf679a196af2d930ec70d95018a94f2e6dbe46c8c24", size = 13835210 }, - { url = "https://files.pythonhosted.org/packages/08/4d/2b2cc805f7db0636896b185dc8204556d363ccadbdca67e1a60e7aab4be6/cvxopt-1.3.2-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:8ae730ebc130461f743922f11d00c2d59a79492e57a1f5d245d4a6c731b7e334", size = 11095304 }, - { url = "https://files.pythonhosted.org/packages/8b/59/5e617916304022f5ad421459aa3f6e631537317d7a804c8128b32c6c29e6/cvxopt-1.3.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:994dab68c193bea405a3a89a88b8703dd2c79bb790a330c8d459f0454cca71ef", size = 13578119 }, - { url = "https://files.pythonhosted.org/packages/e8/45/16b1719c489f734c76a6d9187f6dcdc41a1b923cd91c081aa0f4bedb923d/cvxopt-1.3.2-cp311-cp311-manylinux_2_28_aarch64.whl", hash = "sha256:ede23c1aaacdbfd3b8fd192121b3024b41d00a97f2e9fc8f106be922ea05523d", size = 13840609 }, - { url = "https://files.pythonhosted.org/packages/1e/cd/cd01bd7f4052d2ca336d67da4ecae4ffef34289ff408e8f654e14ee44b96/cvxopt-1.3.2-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:a8c92308165b632bc43dc39acee052180037a1209d4a57b5c3d10136a2f563a4", size = 9524719 }, - { url = "https://files.pythonhosted.org/packages/a3/52/2237d72cf007e6c36367ab8a776388a9f13511e4cfa8a71b79101ad6e0fa/cvxopt-1.3.2-cp311-cp311-win_amd64.whl", hash = "sha256:0c45f663e40b3ed2e2320e7ae8d50fcf09b5ac72c5af4c66aa523e0045453311", size = 12844638 }, - { url = "https://files.pythonhosted.org/packages/10/dc/1c21715e1267ca29f562e4450426d1ff8a7ffcc3e670100cec332a105b95/cvxopt-1.3.2-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:25adbeb0efd50d7ea4f07e5f5bd390a3c807df907f03efb86b018807c2c8cfbe", size = 13836586 }, - { url = "https://files.pythonhosted.org/packages/cd/c8/a04048143d0329ccd36403951746c1a6b5f1fc56c479e5a0a77efb2064b2/cvxopt-1.3.2-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:c10e27cb7a27b55f17e0df30c6b85e98c9672a7bdb7000a7509560eee7679137", size = 12765513 }, - { url = "https://files.pythonhosted.org/packages/c7/17/ee82c745c5bda340a4dd812652c42fb71efd45f663554a10c3ec45f230df/cvxopt-1.3.2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:e8bcf71a5016aeb24e597dc099564e8de809e0bc5d6af21e26422586aea26718", size = 17870231 }, - { url = "https://files.pythonhosted.org/packages/c6/f9/467c3f4682f3dbfbd7ff67f2307ed746a86b6dcc6b0b62cf1eeaebbd9d74/cvxopt-1.3.2-cp312-cp312-manylinux_2_28_aarch64.whl", hash = "sha256:a581e6c87a06371210184f64353055ff7c917d49363901ae0c527da139095082", size = 13846494 }, - { url = "https://files.pythonhosted.org/packages/41/8e/c3869928250e12ad9264da388bc70150a9de039e233b815a6a3bd2b8b8ae/cvxopt-1.3.2-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:be7800ac4556d8920aaf8e4e2d89348aafd5d585642aabf9eeecb09a2659fbca", size = 9529949 }, - { url = "https://files.pythonhosted.org/packages/9f/ad/edce467c24529c536fc9de787546a1c8eca293009383a872b6f638d22eae/cvxopt-1.3.2-cp312-cp312-win_amd64.whl", hash = "sha256:a92ebfc5df77fea57544f8ad2102bfc45af0e77ac4dfe98ed1b9628e8bba77c3", size = 12845277 }, - { url = "https://files.pythonhosted.org/packages/74/0f/297db0387cc75ea2370d360d62853826d1ddf92e1729fd48ca11d7bb1e53/cvxopt-1.3.2-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:e2ec16afa3e953159e148b7470159e415108aadb8bb1815baaea2e37ad7e1d8c", size = 13835120 }, - { url = "https://files.pythonhosted.org/packages/3e/69/0cae7accc45e61fd5479c9cf140c31d63c2521ec83c4204582031660bb66/cvxopt-1.3.2-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:8157ef551c80b4745b786d0d8ae5cc222824482fb8596ce271bf49b707d38577", size = 11095259 }, - { url = "https://files.pythonhosted.org/packages/00/39/c8186f7d674d60ea1ff0e6e32bd867fc65c60d03fca73cd8a48af1415754/cvxopt-1.3.2-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:098abd1d648d9e44f7ad55542b3b7f978b82280f4332ad80a937db6fbe274600", size = 13577494 }, - { url = "https://files.pythonhosted.org/packages/79/01/f76f9f48822b4bd2cb65e480f46c8dd1ebf71ee2f8dcff29d495ba25b75c/cvxopt-1.3.2-cp39-cp39-manylinux_2_28_aarch64.whl", hash = "sha256:d4f2d79689d59a028a87c4cecc9a1f11d88da09025c3ab92d00c5457d4d7d916", size = 13794769 }, - { url = "https://files.pythonhosted.org/packages/c8/17/78f4940f60af5fc64b9bdfa918d8e647a090effe8401b6c3dbf93573fe5f/cvxopt-1.3.2-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:b68238b40b4ea88018f4cd82920903201ba0dbf4aae35264aaf7aef7e1752a41", size = 9479238 }, - { url = "https://files.pythonhosted.org/packages/73/d5/3f6bbdf913e6707b0ee93241060d50289cb1587b4d3036fb357e1882dad9/cvxopt-1.3.2-cp39-cp39-win_amd64.whl", hash = "sha256:f4ae2bc20a7d44657cc3ab1e2b80fa07ff3ebe0c1e0fa1f0b27b2ba693eb5072", size = 12844720 }, +version = "1.3.3" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/3f/b7/0e6ecb45c152029310a0cf7594e518f3591b363d4e06638526efc7872cb8/cvxopt-1.3.3.tar.gz", hash = "sha256:8059cef41f1f115c87bc9b75fec9f86db95e7f0afcf03a52d619ba433e443bcb", size = 8869103, upload-time = "2026-02-10T00:02:07.679Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/03/44/7ea9b23a3186c8a7ee4b56f6f684c7c5488e1f011937ab3084966dbd0177/cvxopt-1.3.3-cp310-cp310-macosx_15_0_arm64.whl", hash = "sha256:55ac15de374e8fba0cd1ed7c6834ad701c727d3ecc8f4a3b41dca0a5ed76cca4", size = 4664082, upload-time = "2026-02-09T23:59:58.048Z" }, + { url = "https://files.pythonhosted.org/packages/34/de/2cfa3d740f2ba10c4af2f61edc0b9857670eebef29b5ba2ecf8d1d71657e/cvxopt-1.3.3-cp310-cp310-macosx_15_0_x86_64.whl", hash = "sha256:5b2046ea29345b9d4d0993dc0af92f462f7014d3f522259e860eed18e6b4d231", size = 6359044, upload-time = "2026-02-09T23:59:59.756Z" }, + { url = "https://files.pythonhosted.org/packages/13/5f/5df85622c41fe3f699703e3b1cbf51b94ceb59edc4050b4beb3bb8862bdc/cvxopt-1.3.3-cp310-cp310-macosx_26_0_x86_64.whl", hash = "sha256:20ccea5c3be4dc8347199ba9c36e715f3fdeda9a1ca34c8e23cce0d15daa38c2", size = 5943486, upload-time = "2026-02-10T00:00:01.637Z" }, + { url = "https://files.pythonhosted.org/packages/8b/75/dd2e9108c9fc5ff337d6403ff818c65745b240ccb59ee242f8aa97c7a571/cvxopt-1.3.3-cp310-cp310-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:318a93c9489ab541672558a1521942874f79e23804c6ccc4347798d2c4a6fe37", size = 13853989, upload-time = "2026-02-10T00:00:04.232Z" }, + { url = "https://files.pythonhosted.org/packages/47/9b/749c94747ba95ef3d33dbfc1af84bde58c4d0cd58b2b93e19b1c539786a5/cvxopt-1.3.3-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:00779705997128ffc102d2e62ec0be9ec82f76a774e1e525069eef74aa2ada96", size = 21279601, upload-time = "2026-02-10T00:00:06.834Z" }, + { url = "https://files.pythonhosted.org/packages/57/79/6157b986dde61dd2f8205fe548313886af8517c6647c1623d4b6867509d3/cvxopt-1.3.3-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:1e424d2b8f2bc85e2aa56c2b00a0eb05899861a908bcc5de0296662f547601d9", size = 9949625, upload-time = "2026-02-10T00:00:09.431Z" }, + { url = "https://files.pythonhosted.org/packages/19/4e/7e39abcfa5cee265e663c8b7ca360ae698de66c4c57bff9dc901bd1aa526/cvxopt-1.3.3-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:d3615a95c51db7e8b7f3025df77d973dd6197466585c43be119199867cf6ecd3", size = 16912521, upload-time = "2026-02-10T00:00:11.641Z" }, + { url = "https://files.pythonhosted.org/packages/a2/ab/3d8061c4c82576999f2fe8bdec536206e6bad1dfc9111107bd42c9a2659f/cvxopt-1.3.3-cp310-cp310-win_amd64.whl", hash = "sha256:960d9f3eb14e0e42fe356edd167c76fd410f27ba31bcd4c3fbceb79ecdf7b357", size = 13561100, upload-time = "2026-02-10T00:00:14.184Z" }, + { url = "https://files.pythonhosted.org/packages/d3/81/d418211e7198ca9cf48dbd397a16cdc2cc46cf4d48c9fe9637b74a5fd4d1/cvxopt-1.3.3-cp311-cp311-macosx_15_0_arm64.whl", hash = "sha256:61596c538bdcab39d081e8d3154e6034c4792606b60b269f3e0275efab714113", size = 4664072, upload-time = "2026-02-10T00:00:16.45Z" }, + { url = "https://files.pythonhosted.org/packages/de/b9/215412d42ae0fabe567e6c1793107698bb5502f91209343504fa270638c0/cvxopt-1.3.3-cp311-cp311-macosx_15_0_x86_64.whl", hash = "sha256:c3219af8f569e46edc7306ab553bb3b81f8ac0b0d1729043a4aa8b3521d4372d", size = 6359030, upload-time = "2026-02-10T00:00:18.139Z" }, + { url = "https://files.pythonhosted.org/packages/3b/b6/f0c97b8af6265b1f3798ad06e060a769c2e2f34263dc85ea8c71cd98ad68/cvxopt-1.3.3-cp311-cp311-macosx_26_0_x86_64.whl", hash = "sha256:bc31fcd7a213e1ef14f63f58f90678b3d154fef2e106219184bee67f0bba3a17", size = 5943469, upload-time = "2026-02-10T00:00:20.378Z" }, + { url = "https://files.pythonhosted.org/packages/9b/cf/06a1359f2b2aba521dc934db62f44d9aeff2a4b44c5028b8bf90e8eb212c/cvxopt-1.3.3-cp311-cp311-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:473b1e36b0fda5a6be82cf687d78a2430573701855f6a843f6fd2509e3ddab0d", size = 13878977, upload-time = "2026-02-10T00:00:22.879Z" }, + { url = "https://files.pythonhosted.org/packages/0e/88/2ee8103d9d5f58c11aab5a8b67d2a781c352dd84bdb324ed374bcd758200/cvxopt-1.3.3-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:089825a70f59d85d74aeea12a84ba409c32f9acb72021d33342fa2f5f06a3c88", size = 21304638, upload-time = "2026-02-10T00:00:25.694Z" }, + { url = "https://files.pythonhosted.org/packages/5f/37/f1b7437d80a32095b3c3f0a364ec974f3cdbf990ccfe8c3ad61ac8f5ae99/cvxopt-1.3.3-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:52b3324557132ccc0d03f950bbbad77b48e6f70d45f1aaa2b5ffc347dabcf33e", size = 9974173, upload-time = "2026-02-10T00:00:27.986Z" }, + { url = "https://files.pythonhosted.org/packages/67/75/81e9aaf4cbd52647d0f87350532bc65c8f4d902b68a0723093ff12245e15/cvxopt-1.3.3-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:6f9bea26a067f96bab372781abf6a36c63a551846bb08701db5ead85c99dbda2", size = 16936439, upload-time = "2026-02-10T00:00:30.706Z" }, + { url = "https://files.pythonhosted.org/packages/d5/7e/58fc8e2b13c8a817ac1bf9fb095ecabe8b9aa7d9b76ceab367fac558499b/cvxopt-1.3.3-cp311-cp311-win_amd64.whl", hash = "sha256:8185413f28a111560edd3f74238bd0286dd298b6a11b9f8195d9105940d3ab17", size = 13561172, upload-time = "2026-02-10T00:00:33.017Z" }, + { url = "https://files.pythonhosted.org/packages/86/8f/644fdc3a593e60030ee987558ca9cbb55f93b929cf3b4e0fc237cf85f0e3/cvxopt-1.3.3-cp312-cp312-macosx_15_0_arm64.whl", hash = "sha256:3ef0d5ce0aa5932644d5f5ae775179894af4a0d48af912558efa7579d18f8262", size = 4664719, upload-time = "2026-02-10T00:00:34.87Z" }, + { url = "https://files.pythonhosted.org/packages/49/fb/75452bdcb227b66b0da5cf17fc8251d8cf384d6e42ac986ea33b4c23f222/cvxopt-1.3.3-cp312-cp312-macosx_15_0_x86_64.whl", hash = "sha256:8661186544c869142c92f51b2ffd5f48e5e11fe33bacd4c85ea4964227e0cea4", size = 6360072, upload-time = "2026-02-10T00:00:36.525Z" }, + { url = "https://files.pythonhosted.org/packages/19/7d/eefd4dc622589e4025c44e47991358c255a463ce820ee9fff8b2443bfa57/cvxopt-1.3.3-cp312-cp312-macosx_26_0_x86_64.whl", hash = "sha256:f96960d31455e8e36bf7cfb0efe3881aa52fc01ee2775ea9bf9cc78188023e0a", size = 5944400, upload-time = "2026-02-10T00:00:38.181Z" }, + { url = "https://files.pythonhosted.org/packages/33/a5/5fbebb46ba9daed0244867dfd303e9c31667e39c73191a2a03ca4943b191/cvxopt-1.3.3-cp312-cp312-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:00633f15de428d8e309590b3c06bbd7cbc5fe15043737e47b31f4c0611ee2e35", size = 13884235, upload-time = "2026-02-10T00:00:39.985Z" }, + { url = "https://files.pythonhosted.org/packages/80/0d/2937931796376a56360047aa8293492e63f7c06b3291c0a46d1959806c6e/cvxopt-1.3.3-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:5989859412e3f231cb682357a50919c4ce8303764f8612c9377c65a3360ce5ec", size = 21310994, upload-time = "2026-02-10T00:00:42.677Z" }, + { url = "https://files.pythonhosted.org/packages/63/6f/7308e6bdc22efef587f16c87f3b2fefe41c059f862e824aa0d5fd439f185/cvxopt-1.3.3-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:e6572da9cd0ebc06a667952879dc5c1c259615f38a94b1625c97ad43320d6966", size = 9979045, upload-time = "2026-02-10T00:00:45.384Z" }, + { url = "https://files.pythonhosted.org/packages/2a/e7/afe5b7acd5401c47aea876a593297ed7c59ffbc403f82cb35a21281f2e13/cvxopt-1.3.3-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:b67a95e4159b6eceaf62a4711609bafaa7fa5b9e106467b735fbf61f64f4aedb", size = 16943074, upload-time = "2026-02-10T00:00:47.464Z" }, + { url = "https://files.pythonhosted.org/packages/7d/61/b6d41a491a7be30bdc865fe39109a2a2badc98118ed540658225677b4b39/cvxopt-1.3.3-cp312-cp312-win_amd64.whl", hash = "sha256:acb3a0d77da92d13327ca176cde4d0d2f5c41e84b6f51fb4f50c965e91653326", size = 13561691, upload-time = "2026-02-10T00:00:50.212Z" }, + { url = "https://files.pythonhosted.org/packages/d6/bb/ca32076ac8cdca9d70c62783df80ea5375b111db2ba5f26bfeabc84f7b84/cvxopt-1.3.3-cp39-cp39-macosx_15_0_arm64.whl", hash = "sha256:8606f9938cfbbd2ad2d14fc9687bebaa2559a400044a7a989091bddabd746f61", size = 4664349, upload-time = "2026-02-10T00:01:49.721Z" }, + { url = "https://files.pythonhosted.org/packages/3c/72/7c8e4cd3d72b4e7ca3cafc30bf22df120f02cc393932d8d18c8e8c2f98e8/cvxopt-1.3.3-cp39-cp39-macosx_15_0_x86_64.whl", hash = "sha256:f5153677dfa0b4d773625b46f2afe4b1b4e2dc3eceb90db98799df02e42504bd", size = 6359281, upload-time = "2026-02-10T00:01:51.562Z" }, + { url = "https://files.pythonhosted.org/packages/ff/35/6fd643f660a6c5d13fa26f8020cf04b7b67db364fdfc1afde07064650445/cvxopt-1.3.3-cp39-cp39-macosx_26_0_x86_64.whl", hash = "sha256:9a2a8621c21b2da2dde0c14fd758ba524d2a6c67f06e39b613116080595bdf3e", size = 5943748, upload-time = "2026-02-10T00:01:53.46Z" }, + { url = "https://files.pythonhosted.org/packages/d7/35/1bede8eeebaf12a09c0a4d7c54dde5298e44f5b30d86d593302a3f5015d9/cvxopt-1.3.3-cp39-cp39-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:8c0550bcbe3229b5f1cbd10c24f6d573c87083eeac13773043873a78dcbe5fdc", size = 13831866, upload-time = "2026-02-10T00:01:55.454Z" }, + { url = "https://files.pythonhosted.org/packages/c2/eb/cf1a0d702ccead1932c826304cb6bd819aec397c55c29e8cab325f5eb4f2/cvxopt-1.3.3-cp39-cp39-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:6d0d7774b59066538a44f881fe5fe7013c4b939b9283d5955e300f437fb90ac6", size = 21259678, upload-time = "2026-02-10T00:01:58.215Z" }, + { url = "https://files.pythonhosted.org/packages/92/a6/e0dd9a34dc6a6960a900dfef86904fc9ac36a447c133d4ff8b12a0e5ce1a/cvxopt-1.3.3-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:4c03e49a6de20e0f41d047982da35d7f1626e4cd729d9be1cc90234a3fdcb7be", size = 9927447, upload-time = "2026-02-10T00:02:00.454Z" }, + { url = "https://files.pythonhosted.org/packages/01/96/41d040b3b60ddd97e515a4e60c32fdb7bb2be1cf6dd53fbbac490e274d72/cvxopt-1.3.3-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:82bbac138aef58b435c131fb57a5b9cc1b7045fe6fc9b11b9681b9ad6915b91d", size = 16892412, upload-time = "2026-02-10T00:02:02.627Z" }, + { url = "https://files.pythonhosted.org/packages/bc/e7/d048e0e026b3f3750380c3c736e995454eb3002200c9386e252862418146/cvxopt-1.3.3-cp39-cp39-win_amd64.whl", hash = "sha256:0daf7b4386cadad2d8d04d21ea5a867de9f714f1f9049c282604ad027ee7ffaf", size = 13561259, upload-time = "2026-02-10T00:02:05.184Z" }, ] [[package]] name = "cvxpy" -version = "1.6.5" +version = "1.7.5" source = { registry = "https://pypi.org/simple" } dependencies = [ { name = "clarabel" }, { name = "numpy" }, { name = "osqp" }, { name = "scipy", version = "1.13.1", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.10'" }, - { name = "scipy", version = "1.15.2", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.10'" }, + { name = "scipy", version = "1.15.3", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version == '3.10.*'" }, + { name = "scipy", version = "1.17.1", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.11'" }, { name = "scs" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/6c/9e/0aeb94d435f4aad947b45eb9354fba31b23066b5ed78c42bbf71a9e4105e/cvxpy-1.6.5.tar.gz", hash = "sha256:666081b9c1f6db8947bcfc3c6f250174f934fa1ba8e30b38e3d32eba779ff785", size = 1610956 } -wheels = [ - { url = "https://files.pythonhosted.org/packages/15/d4/6fcae39e6be6556f49752e1b2d1ccdfea1e9599aa086adfb7f038019c771/cvxpy-1.6.5-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:26ac571ffed3f98ad59c2ddfb88eaad7280003faa96b5f509c353e46fb79e787", size = 1485548 }, - { url = "https://files.pythonhosted.org/packages/6a/00/e1a1f8ca3ec4410e9d17b3190f73b00ac404c3b22577c6458a53e74191ba/cvxpy-1.6.5-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:b35a3b5c6c7b43b85179ee77d895ac7a49afdccbe7ebcf60f5f74cd9186cedd8", size = 1151746 }, - { url = "https://files.pythonhosted.org/packages/5f/a9/0b56ee6107410548914dcb6ad041b3aed1cf0f75e8ade3cc0690290f59da/cvxpy-1.6.5-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:374b18b023a9266d888bf753b6f012d1e58199bb9ba7d2e71bcbbd1f2c677ddf", size = 1204806 }, - { url = "https://files.pythonhosted.org/packages/de/81/8e6b99e5f53bfd107cea01dbbbcc2bd832146b6bf313b632cf5be0c90f79/cvxpy-1.6.5-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a2e39e83fab103c049209d93e38a439c9ce0d09b59874c1b026c82b655aad2d9", size = 1229089 }, - { url = "https://files.pythonhosted.org/packages/b9/90/9c36f1274d7fe055c5bd190fc197d62695e29fe715a3ce7be50d56c2e992/cvxpy-1.6.5-cp310-cp310-win_amd64.whl", hash = "sha256:ff94cad9bcb0897bdecadd0b34836fba7d44b5c95237837132f09f979dadafe0", size = 1096536 }, - { url = "https://files.pythonhosted.org/packages/c5/43/eb11a345f504c600add4e58f7420d19630b11903db053e00f8dce7b0ec4c/cvxpy-1.6.5-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:9dfc3fda013b7387e4d8820d01c81739330519231254b73dfaa79bebdd509937", size = 1487826 }, - { url = "https://files.pythonhosted.org/packages/66/e4/e38fa091c4a3bdeaec92c31764e92382956d82f6997b481b9ec894c7b188/cvxpy-1.6.5-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:7a7debf1bf36550c74bc6b5625592a9bec92d9f3a884b7e0a9d49f9e302ce6e4", size = 1153256 }, - { url = "https://files.pythonhosted.org/packages/72/21/199abe12ba335c989574ccf12113b27ddfdfd67d888f74163323164a5b95/cvxpy-1.6.5-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:93d898722b772438ae7e41b043d89d5896ff33c0ba764429c0282dc7e7db80e6", size = 1206204 }, - { url = "https://files.pythonhosted.org/packages/3d/ed/9cf4defd1ddd44a96b54c7482117de5d032ab44e473de2517027735db360/cvxpy-1.6.5-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:de121b64c4a876a0d1b005fbd68a893f0fc8640d2d02f58f2f3f0941f48a6742", size = 1230283 }, - { url = "https://files.pythonhosted.org/packages/11/3f/9f58f7e6537b35c10b5de30a3d6496f765e65ede72fa35db3ac76512e1f0/cvxpy-1.6.5-cp311-cp311-win_amd64.whl", hash = "sha256:9752baf15c2339c24d4d8bd974563c14f7cc8020a338d31dbcb80149fcbb7971", size = 1097721 }, - { url = "https://files.pythonhosted.org/packages/30/ae/4acbab3ab701ec0873d54c2d704472cbbbe58d29090f28685ad1df4028ae/cvxpy-1.6.5-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:4c3365de01866f3f3a14f2c754d52f1aa361184c4f5f004b7257622b2c177237", size = 1490248 }, - { url = "https://files.pythonhosted.org/packages/40/a5/39ae4adec78e063e5a5a3f751701ff5d72d5b1548712771ec337b35883d5/cvxpy-1.6.5-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:9f70e39a41e1691783a4e55a73440f9e68b852fe0e0498c4d0c5a1505f3a2640", size = 1154518 }, - { url = "https://files.pythonhosted.org/packages/c2/ba/ab502c2cc25e4b6eeaf7833b6bef5f1a5aa14c394a9bf9822bdcd7efcf9d/cvxpy-1.6.5-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:579b0039fa097e2e20272028bd2d4b592de7c67e60fd8eb6991629b5d53204a2", size = 1205970 }, - { url = "https://files.pythonhosted.org/packages/27/e7/56c6fea9afc1ff1a8abcd60a40a21370bea37b620902237045b5083b9044/cvxpy-1.6.5-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a82c6de45a39065dd8c5ff5b30bee21b09ca85eac6b6dcbd3f5ed1b19986bec1", size = 1231908 }, - { url = "https://files.pythonhosted.org/packages/de/0c/d0dd074b17076665e5a28145944c88eac07e8ecf05d8ece9a06dbd495b8b/cvxpy-1.6.5-cp312-cp312-win_amd64.whl", hash = "sha256:436aed23d0ca84df81944018d971cf8bda8f19bfa2362ae3c540313d5183eca6", size = 1098416 }, - { url = "https://files.pythonhosted.org/packages/ac/47/c5c7e3e2d5a4ed2ced98daa8ceac8f0844c9be620695fdd3a9b8d79f3ea9/cvxpy-1.6.5-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:aed6510cc589ee2836cfe53cbb323a86328101996ee7ec60f81797d07aafd528", size = 1485745 }, - { url = "https://files.pythonhosted.org/packages/9f/a0/05658540264e688eb3b25b43abcc4ca0b0ef0710f5a5b27b0fcd09475cd8/cvxpy-1.6.5-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:45a9fa33eb26abc6f62d0458f0971ea1dcb704a2dd4143687e68916bd8506c7e", size = 1151794 }, - { url = "https://files.pythonhosted.org/packages/79/d2/d1c9a80183adc6702cd79e543aa098f0c0094d957fe9779176e5dbc44e0c/cvxpy-1.6.5-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:7240f3befd12a12b164809ca4af30de6cb3513672d52806cd9f5858177e32617", size = 1204660 }, - { url = "https://files.pythonhosted.org/packages/94/ef/053505eaf172fef1cd9c54068a59615d825e9e8b7529531aa9fc13073d4e/cvxpy-1.6.5-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:245a3b84a72b0156c2dd0f0e3a3de7699a46da83d308a738c53d65a63999846c", size = 1229144 }, - { url = "https://files.pythonhosted.org/packages/b6/fc/646d9d3d87a673ac2a98bdbd80f608598e46216c6f7cf923f5d8043a70a8/cvxpy-1.6.5-cp39-cp39-win_amd64.whl", hash = "sha256:2cfc2069b7c9e0c77f789c14500a91134b352e36671da2b1174d2ea7bdb31f73", size = 1096839 }, +sdist = { url = "https://files.pythonhosted.org/packages/9a/7f/2a13e0e7ee76c03bc11aae397572e82d8a8bd23c1c3ac020766f0e15da8e/cvxpy-1.7.5.tar.gz", hash = "sha256:4b512218001c27659e16fc914a2490038635874681032c3c3485ff1099b83f5d", size = 1651490, upload-time = "2025-12-05T03:48:49.127Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/6f/da/61dd487912377ad5a96994cdee06b2c3df81eec1ca58d412726c0c37bc7c/cvxpy-1.7.5-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:a9938ea90898da51b1129ba9c185cd774d83fdbea3eb0099cd86d47e37ed5297", size = 1545847, upload-time = "2025-12-05T03:34:08.874Z" }, + { url = "https://files.pythonhosted.org/packages/19/a3/5884ba82956d46c22db0e8d7f964664dd780d808c1a25a7282e987846898/cvxpy-1.7.5-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:f0a4818665c3231a5a35001c41f691471b35e2231295f85ddf6044f3982f2f88", size = 1205976, upload-time = "2025-12-05T03:34:10.434Z" }, + { url = "https://files.pythonhosted.org/packages/af/9d/d0a72c7539f79d9259f9a92f7d65e149d063ba62c7ecf66a860a7b3b451c/cvxpy-1.7.5-cp310-cp310-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:bd50c29539fb39cc53de93a689e73019cd26c1b80fc29aba7a63cc0ae5ec7b01", size = 1218882, upload-time = "2025-12-05T03:39:57.461Z" }, + { url = "https://files.pythonhosted.org/packages/18/17/4e51e96ac3f5ae1578c1d702702f90e5da63d4ec8e504effa61ade8c2168/cvxpy-1.7.5-cp310-cp310-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:8c05116b9633747857758ca105f2744a9c27bb9dbed771087e5712c4405f2517", size = 1247058, upload-time = "2025-12-05T03:39:58.622Z" }, + { url = "https://files.pythonhosted.org/packages/2f/5a/a5235091074a2675fc8ce134cab80aeacb9343c4d61bf4cec226d8d3b702/cvxpy-1.7.5-cp310-cp310-win_amd64.whl", hash = "sha256:3207a3cf7360d176fe7f1dfe172846d7a3befd9b1db604c0082e4fa242373aff", size = 1148361, upload-time = "2025-12-05T03:26:02.347Z" }, + { url = "https://files.pythonhosted.org/packages/65/00/1d3c92ee50976ad8804b4526eceaba098f3455069e409cda39dfaadf6427/cvxpy-1.7.5-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:0df3bc1aee0431ee6419cfc77fb7543ad7588150b9bb5d8ef44da7a76770ba1d", size = 1548998, upload-time = "2025-12-05T03:42:14.7Z" }, + { url = "https://files.pythonhosted.org/packages/a8/6f/052a0e80339f8080ca7788452efbb6164e9d543ed31e5ea23fb94882206f/cvxpy-1.7.5-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:86876084d1874c837b6dc9dad61ba1e873e979d06462fdc149a6ba0b067a8638", size = 1207819, upload-time = "2025-12-05T03:42:16.01Z" }, + { url = "https://files.pythonhosted.org/packages/f0/71/b7282178f46a744d6acd6c45122a3a5600458ba1aaa89612d618cd8b9d60/cvxpy-1.7.5-cp311-cp311-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:7633c2a369188aa0fa3df4a767267774257c9dba71ac8e5b9e8eefb17e2613f8", size = 1220587, upload-time = "2025-12-05T03:45:08.717Z" }, + { url = "https://files.pythonhosted.org/packages/69/5a/168630f5aaaaf5d8be935369b8b7e7c8f9752921027679e9d79ac67305e8/cvxpy-1.7.5-cp311-cp311-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:9f9d93892f0805a9fa1b0702ca4c6d3b8deb056ab0140a58f41b933fe8f28aae", size = 1249941, upload-time = "2025-12-05T03:45:09.961Z" }, + { url = "https://files.pythonhosted.org/packages/21/25/bf0914023100d1ee3c4ccf04e1638cc6b70b8c623f56a431051bc40d2540/cvxpy-1.7.5-cp311-cp311-win_amd64.whl", hash = "sha256:911575f28ecd3fd913165354aad24ebfe264a59a1d86a2c0e296177c6a13092f", size = 1148858, upload-time = "2025-12-05T03:36:16.144Z" }, + { url = "https://files.pythonhosted.org/packages/53/f3/d96f535bd3820b3c1d4aeeb664921c4b1414bcdada8be6e9d7ee5a3d5714/cvxpy-1.7.5-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:6c397b86ef2109b99ec10d4fb144a826af840e1111167d307c52c96719ac5f57", size = 1556519, upload-time = "2025-12-05T03:42:14.895Z" }, + { url = "https://files.pythonhosted.org/packages/33/e5/142e5b659fdba2e243d2ffb5da93b2cc5f1ce52a58568625f32443aa2994/cvxpy-1.7.5-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:20bacc1781b5b168e0272688d8652cef7433a4d07dea2482e790e1bdcee4f46e", size = 1212257, upload-time = "2025-12-05T03:42:16.896Z" }, + { url = "https://files.pythonhosted.org/packages/6c/bc/f54aec4ce417d3aa71ed48ee822cd319d4abd2bff45f4ecd432991c3f23f/cvxpy-1.7.5-cp312-cp312-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:573396b116cff9c46952c885d9c06db1fc7a6e4838feb2fcba2982d521140205", size = 1222707, upload-time = "2025-12-05T03:48:46.624Z" }, + { url = "https://files.pythonhosted.org/packages/af/58/aae05f3749c85a8910367982546891f6ac29abddcf4943bb599a858b3030/cvxpy-1.7.5-cp312-cp312-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:5926ca62e6998f160ecf4c4acc139eb0fe8c28453c904e1c3d7b93b5b40e4303", size = 1251680, upload-time = "2025-12-05T03:48:47.798Z" }, + { url = "https://files.pythonhosted.org/packages/5d/77/05f1bb03743610771cf4d784bda2855d63470ec21f315521bc0c944c67f5/cvxpy-1.7.5-cp312-cp312-win_amd64.whl", hash = "sha256:e8308b88b515567d7a5a5762c8e7c971692e1022a924613d808648916c20834b", size = 1150457, upload-time = "2025-12-05T03:39:32.385Z" }, + { url = "https://files.pythonhosted.org/packages/98/d0/d4fad27003a63da5a2456837a3e43de5303297a45090af2ee97ef76e83ac/cvxpy-1.7.5-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:de23fad688520f099c476e70917a28e9162d58496c9f12d29bde01eb58b0d2e2", size = 1545817, upload-time = "2025-12-05T03:39:43.368Z" }, + { url = "https://files.pythonhosted.org/packages/32/2e/92adc6f44d4df303d5c6c2b62641e2be39b192cd4900e2cf340406914bfd/cvxpy-1.7.5-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:e416efb52ff89e2dffa2079ccca8034b59f27d5414cf92674d89bfb89a6a61ad", size = 1205849, upload-time = "2025-12-05T03:39:44.737Z" }, + { url = "https://files.pythonhosted.org/packages/66/92/0e97e45dec123e1d9d26e3d9e5d88d1e4fdea2c53c0653ff7ca9d37ca2b8/cvxpy-1.7.5-cp39-cp39-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:806d9f435a062cb05dfb63812738d973ce209e58df72fa424cf9bbae5320996e", size = 1219653, upload-time = "2025-12-05T03:43:39.601Z" }, + { url = "https://files.pythonhosted.org/packages/cf/b3/1adeea295e773b2cc759f39e6d05426f397b8f9852e999a2eed6138bb6fe/cvxpy-1.7.5-cp39-cp39-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:0ad9e26897584b441c95ea824a0b6fc0f0ffd2260c1435e3c1f1183c28817142", size = 1248357, upload-time = "2025-12-05T03:43:40.957Z" }, + { url = "https://files.pythonhosted.org/packages/ac/2f/e2a09af5950a445f149d145b22736666940bc7c62000170e3c540a3b5447/cvxpy-1.7.5-cp39-cp39-win_amd64.whl", hash = "sha256:c570d240ba63c1c6dcc34a40c405e1057ae7faade64691a3f25ba8ca3b534cb1", size = 1148431, upload-time = "2025-12-05T03:40:38.184Z" }, ] [package.optional-dependencies] @@ -434,56 +642,122 @@ glpk = [ [[package]] name = "distlib" -version = "0.3.9" +version = "0.4.0" source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/0d/dd/1bec4c5ddb504ca60fc29472f3d27e8d4da1257a854e1d96742f15c1d02d/distlib-0.3.9.tar.gz", hash = "sha256:a60f20dea646b8a33f3e7772f74dc0b2d0772d2837ee1342a00645c81edf9403", size = 613923 } +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/91/a1/cf2472db20f7ce4a6be1253a81cfdf85ad9c7885ffbed7047fb72c24cf87/distlib-0.3.9-py2.py3-none-any.whl", hash = "sha256:47f8c22fd27c27e25a65601af709b38e4f0a45ea4fc2e710f65755fa8caaaf87", size = 468973 }, + { 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 = "exceptiongroup" -version = "1.2.2" +version = "1.3.1" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "typing-extensions", marker = "python_full_version < '3.11'" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/50/79/66800aadf48771f6b62f7eb014e352e5d06856655206165d775e675a02c9/exceptiongroup-1.3.1.tar.gz", hash = "sha256:8b412432c6055b0b7d14c310000ae93352ed6754f70fa8f7c34141f91c4e3219", size = 30371, upload-time = "2025-11-21T23:01:54.787Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/8a/0e/97c33bf5009bdbac74fd2beace167cab3f978feb69cc36f1ef79360d6c4e/exceptiongroup-1.3.1-py3-none-any.whl", hash = "sha256:a7a39a3bd276781e98394987d3a5701d0c4edffb633bb7a5144577f82c773598", size = 16740, upload-time = "2025-11-21T23:01:53.443Z" }, +] + +[[package]] +name = "filelock" +version = "3.19.1" source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/09/35/2495c4ac46b980e4ca1f6ad6db102322ef3ad2410b79fdde159a4b0f3b92/exceptiongroup-1.2.2.tar.gz", hash = "sha256:47c2edf7c6738fafb49fd34290706d1a1a2f4d1c6df275526b62cbb4aa5393cc", size = 28883 } +resolution-markers = [ + "python_full_version < '3.10'", +] +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/02/cc/b7e31358aac6ed1ef2bb790a9746ac2c69bcb3c8588b41616914eb106eaf/exceptiongroup-1.2.2-py3-none-any.whl", hash = "sha256:3111b9d131c238bec2f8f516e123e14ba243563fb135d3fe885990585aa7795b", size = 16453 }, + { 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]] name = "filelock" -version = "3.18.0" +version = "3.25.2" +source = { registry = "https://pypi.org/simple" } +resolution-markers = [ + "python_full_version >= '3.11' and sys_platform == 'win32'", + "python_full_version >= '3.11' and sys_platform == 'emscripten'", + "python_full_version >= '3.11' and sys_platform != 'emscripten' and sys_platform != 'win32'", + "python_full_version == '3.10.*'", +] +sdist = { url = "https://files.pythonhosted.org/packages/94/b8/00651a0f559862f3bb7d6f7477b192afe3f583cc5e26403b44e59a55ab34/filelock-3.25.2.tar.gz", hash = "sha256:b64ece2b38f4ca29dd3e810287aa8c48182bbecd1ae6e9ae126c9b35f1382694", size = 40480, upload-time = "2026-03-11T20:45:38.487Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/a4/a5/842ae8f0c08b61d6484b52f99a03510a3a72d23141942d216ebe81fefbce/filelock-3.25.2-py3-none-any.whl", hash = "sha256:ca8afb0da15f229774c9ad1b455ed96e85a81373065fb10446672f64444ddf70", size = 26759, upload-time = "2026-03-11T20:45:37.437Z" }, +] + +[[package]] +name = "identify" +version = "2.6.15" source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/0a/10/c23352565a6544bdc5353e0b15fc1c563352101f30e24bf500207a54df9a/filelock-3.18.0.tar.gz", hash = "sha256:adbc88eabb99d2fec8c9c1b229b171f18afa655400173ddc653d5d01501fb9f2", size = 18075 } +resolution-markers = [ + "python_full_version < '3.10'", +] +sdist = { url = "https://files.pythonhosted.org/packages/ff/e7/685de97986c916a6d93b3876139e00eef26ad5bbbd61925d670ae8013449/identify-2.6.15.tar.gz", hash = "sha256:e4f4864b96c6557ef2a1e1c951771838f4edc9df3a72ec7118b338801b11c7bf", size = 99311, upload-time = "2025-10-02T17:43:40.631Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/4d/36/2a115987e2d8c300a974597416d9de88f2444426de9571f4b59b2cca3acc/filelock-3.18.0-py3-none-any.whl", hash = "sha256:c401f4f8377c4464e6db25fff06205fd89bdd83b65eb0488ed1b160f780e21de", size = 16215 }, + { url = "https://files.pythonhosted.org/packages/0f/1c/e5fd8f973d4f375adb21565739498e2e9a1e54c858a97b9a8ccfdc81da9b/identify-2.6.15-py2.py3-none-any.whl", hash = "sha256:1181ef7608e00704db228516541eb83a88a9f94433a8c80bb9b5bd54b1d81757", size = 99183, upload-time = "2025-10-02T17:43:39.137Z" }, ] [[package]] name = "identify" -version = "2.6.9" +version = "2.6.18" source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/9b/98/a71ab060daec766acc30fb47dfca219d03de34a70d616a79a38c6066c5bf/identify-2.6.9.tar.gz", hash = "sha256:d40dfe3142a1421d8518e3d3985ef5ac42890683e32306ad614a29490abeb6bf", size = 99249 } +resolution-markers = [ + "python_full_version >= '3.11' and sys_platform == 'win32'", + "python_full_version >= '3.11' and sys_platform == 'emscripten'", + "python_full_version >= '3.11' and sys_platform != 'emscripten' and sys_platform != 'win32'", + "python_full_version == '3.10.*'", +] +sdist = { url = "https://files.pythonhosted.org/packages/46/c4/7fb4db12296cdb11893d61c92048fe617ee853f8523b9b296ac03b43757e/identify-2.6.18.tar.gz", hash = "sha256:873ac56a5e3fd63e7438a7ecbc4d91aca692eb3fefa4534db2b7913f3fc352fd", size = 99580, upload-time = "2026-03-15T18:39:50.319Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/07/ce/0845144ed1f0e25db5e7a79c2354c1da4b5ce392b8966449d5db8dca18f1/identify-2.6.9-py2.py3-none-any.whl", hash = "sha256:c98b4322da415a8e5a70ff6e51fbc2d2932c015532d77e9f8537b4ba7813b150", size = 99101 }, + { url = "https://files.pythonhosted.org/packages/46/33/92ef41c6fad0233e41d3d84ba8e8ad18d1780f1e5d99b3c683e6d7f98b63/identify-2.6.18-py2.py3-none-any.whl", hash = "sha256:8db9d3c8ea9079db92cafb0ebf97abdc09d52e97f4dcf773a2e694048b7cd737", size = 99394, upload-time = "2026-03-15T18:39:48.915Z" }, ] [[package]] name = "idna" -version = "3.10" +version = "3.11" 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/6f/6d/0703ccc57f3a7233505399edb88de3cbd678da106337b9fcde432b65ed60/idna-3.11.tar.gz", hash = "sha256:795dafcc9c04ed0c1fb032c2aa73654d8e8c5023a7df64a53f39190ada629902", size = 194582, upload-time = "2025-10-12T14:55:20.501Z" } 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/0e/61/66938bbb5fc52dbdf84594873d5b51fb1f7c7794e9c0f5bd885f30bc507b/idna-3.11-py3-none-any.whl", hash = "sha256:771a87f49d9defaf64091e6e6fe9c18d4833f140bd19464795bc32d966ca37ea", size = 71008, upload-time = "2025-10-12T14:55:18.883Z" }, +] + +[[package]] +name = "immutabledict" +version = "4.3.1" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/1d/e6/718471048fea0366c3e3d1df3acfd914ca66d571cdffcf6d37bbcd725708/immutabledict-4.3.1.tar.gz", hash = "sha256:f844a669106cfdc73f47b1a9da003782fb17dc955a54c80972e0d93d1c63c514", size = 7806, upload-time = "2026-02-15T10:32:34.668Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/a3/ce/f9018bf69ae91b273b6391a095e7c93fa5e1617f25b6ba81ad4b20c9df10/immutabledict-4.3.1-py3-none-any.whl", hash = "sha256:c9facdc0ff30fdb8e35bd16532026cac472a549e182c94fa201b51b25e4bf7bf", size = 5000, upload-time = "2026-02-15T10:32:33.672Z" }, ] [[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 } +resolution-markers = [ + "python_full_version < '3.10'", +] +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]] +name = "iniconfig" +version = "2.3.0" +source = { registry = "https://pypi.org/simple" } +resolution-markers = [ + "python_full_version >= '3.11' and sys_platform == 'win32'", + "python_full_version >= '3.11' and sys_platform == 'emscripten'", + "python_full_version >= '3.11' and sys_platform != 'emscripten' and sys_platform != 'win32'", + "python_full_version == '3.10.*'", +] +sdist = { url = "https://files.pythonhosted.org/packages/72/34/14ca021ce8e5dfedc35312d08ba8bf51fdd999c576889fc2c24cb97f4f10/iniconfig-2.3.0.tar.gz", hash = "sha256:c76315c77db068650d49c5b56314774a7804df16fee4402c1f19d6d15d8c4730", size = 20503, upload-time = "2025-10-18T21:55:43.219Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/cb/b1/3846dd7f199d53cb17f49cba7e651e9ce294d8497c8c150530ed11865bb8/iniconfig-2.3.0-py3-none-any.whl", hash = "sha256:f631c04d2c48c52b84d0d0549c99ff3859c98df65b3101406327ecc7d53fbf12", size = 7484, upload-time = "2025-10-18T21:55:41.639Z" }, ] [[package]] @@ -493,18 +767,18 @@ 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]] name = "joblib" -version = "1.4.2" +version = "1.5.3" source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/64/33/60135848598c076ce4b231e1b1895170f45fbcaeaa2c9d5e38b04db70c35/joblib-1.4.2.tar.gz", hash = "sha256:2382c5816b2636fbd20a09e0f4e9dad4736765fdfb7dca582943b9c1366b3f0e", size = 2116621 } +sdist = { url = "https://files.pythonhosted.org/packages/41/f2/d34e8b3a08a9cc79a50b2208a93dce981fe615b64d5a4d4abee421d898df/joblib-1.5.3.tar.gz", hash = "sha256:8561a3269e6801106863fd0d6d84bb737be9e7631e33aaed3fb9ce5953688da3", size = 331603, upload-time = "2025-12-15T08:41:46.427Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/91/29/df4b9b42f2be0b623cbd5e2140cafcaa2bef0759a00b7b70104dcfe2fb51/joblib-1.4.2-py3-none-any.whl", hash = "sha256:06d478d5674cbc267e7496a410ee875abd68e4340feff4490bcb7afb88060ae6", size = 301817 }, + { url = "https://files.pythonhosted.org/packages/7b/91/984aca2ec129e2757d1e4e3c81c3fcda9d0f85b74670a094cc443d9ee949/joblib-1.5.3-py3-none-any.whl", hash = "sha256:5fc3c5039fc5ca8c0276333a188bbd59d6b7ab37fe6632daa76bc7f9ec18e713", size = 309071, upload-time = "2025-12-15T08:41:44.973Z" }, ] [[package]] @@ -514,224 +788,206 @@ source = { registry = "https://pypi.org/simple" } resolution-markers = [ "python_full_version < '3.10'", ] -sdist = { url = "https://files.pythonhosted.org/packages/9f/3d/f513755f285db51ab363a53e898b85562e950f79a2e6767a364530c2f645/llvmlite-0.43.0.tar.gz", hash = "sha256:ae2b5b5c3ef67354824fb75517c8db5fbe93bc02cd9671f3c62271626bc041d5", size = 157069 } -wheels = [ - { url = "https://files.pythonhosted.org/packages/23/ff/6ca7e98998b573b4bd6566f15c35e5c8bea829663a6df0c7aa55ab559da9/llvmlite-0.43.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:a289af9a1687c6cf463478f0fa8e8aa3b6fb813317b0d70bf1ed0759eab6f761", size = 31064408 }, - { url = "https://files.pythonhosted.org/packages/ca/5c/a27f9257f86f0cda3f764ff21d9f4217b9f6a0d45e7a39ecfa7905f524ce/llvmlite-0.43.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:6d4fd101f571a31acb1559ae1af30f30b1dc4b3186669f92ad780e17c81e91bc", size = 28793153 }, - { url = "https://files.pythonhosted.org/packages/7e/3c/4410f670ad0a911227ea2ecfcba9f672a77cf1924df5280c4562032ec32d/llvmlite-0.43.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:7d434ec7e2ce3cc8f452d1cd9a28591745de022f931d67be688a737320dfcead", size = 42857276 }, - { url = "https://files.pythonhosted.org/packages/c6/21/2ffbab5714e72f2483207b4a1de79b2eecd9debbf666ff4e7067bcc5c134/llvmlite-0.43.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6912a87782acdff6eb8bf01675ed01d60ca1f2551f8176a300a886f09e836a6a", size = 43871781 }, - { url = "https://files.pythonhosted.org/packages/f2/26/b5478037c453554a61625ef1125f7e12bb1429ae11c6376f47beba9b0179/llvmlite-0.43.0-cp310-cp310-win_amd64.whl", hash = "sha256:14f0e4bf2fd2d9a75a3534111e8ebeb08eda2f33e9bdd6dfa13282afacdde0ed", size = 28123487 }, - { url = "https://files.pythonhosted.org/packages/95/8c/de3276d773ab6ce3ad676df5fab5aac19696b2956319d65d7dd88fb10f19/llvmlite-0.43.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:3e8d0618cb9bfe40ac38a9633f2493d4d4e9fcc2f438d39a4e854f39cc0f5f98", size = 31064409 }, - { url = "https://files.pythonhosted.org/packages/ee/e1/38deed89ced4cf378c61e232265cfe933ccde56ae83c901aa68b477d14b1/llvmlite-0.43.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:e0a9a1a39d4bf3517f2af9d23d479b4175ead205c592ceeb8b89af48a327ea57", size = 28793149 }, - { url = "https://files.pythonhosted.org/packages/2f/b2/4429433eb2dc8379e2cb582502dca074c23837f8fd009907f78a24de4c25/llvmlite-0.43.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:c1da416ab53e4f7f3bc8d4eeba36d801cc1894b9fbfbf2022b29b6bad34a7df2", size = 42857277 }, - { url = "https://files.pythonhosted.org/packages/6b/99/5d00a7d671b1ba1751fc9f19d3b36f3300774c6eebe2bcdb5f6191763eb4/llvmlite-0.43.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:977525a1e5f4059316b183fb4fd34fa858c9eade31f165427a3977c95e3ee749", size = 43871781 }, - { url = "https://files.pythonhosted.org/packages/20/ab/ed5ed3688c6ba4f0b8d789da19fd8e30a9cf7fc5852effe311bc5aefe73e/llvmlite-0.43.0-cp311-cp311-win_amd64.whl", hash = "sha256:d5bd550001d26450bd90777736c69d68c487d17bf371438f975229b2b8241a91", size = 28107433 }, - { url = "https://files.pythonhosted.org/packages/0b/67/9443509e5d2b6d8587bae3ede5598fa8bd586b1c7701696663ea8af15b5b/llvmlite-0.43.0-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:f99b600aa7f65235a5a05d0b9a9f31150c390f31261f2a0ba678e26823ec38f7", size = 31064409 }, - { url = "https://files.pythonhosted.org/packages/a2/9c/24139d3712d2d352e300c39c0e00d167472c08b3bd350c3c33d72c88ff8d/llvmlite-0.43.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:35d80d61d0cda2d767f72de99450766250560399edc309da16937b93d3b676e7", size = 28793145 }, - { url = "https://files.pythonhosted.org/packages/bf/f1/4c205a48488e574ee9f6505d50e84370a978c90f08dab41a42d8f2c576b6/llvmlite-0.43.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:eccce86bba940bae0d8d48ed925f21dbb813519169246e2ab292b5092aba121f", size = 42857276 }, - { url = "https://files.pythonhosted.org/packages/00/5f/323c4d56e8401c50185fd0e875fcf06b71bf825a863699be1eb10aa2a9cb/llvmlite-0.43.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:df6509e1507ca0760787a199d19439cc887bfd82226f5af746d6977bd9f66844", size = 43871781 }, - { url = "https://files.pythonhosted.org/packages/c6/94/dea10e263655ce78d777e78d904903faae39d1fc440762be4a9dc46bed49/llvmlite-0.43.0-cp312-cp312-win_amd64.whl", hash = "sha256:7a2872ee80dcf6b5dbdc838763d26554c2a18aa833d31a2635bff16aafefb9c9", size = 28107442 }, - { url = "https://files.pythonhosted.org/packages/2a/73/12925b1bbb3c2beb6d96f892ef5b4d742c34f00ddb9f4a125e9e87b22f52/llvmlite-0.43.0-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:9cd2a7376f7b3367019b664c21f0c61766219faa3b03731113ead75107f3b66c", size = 31064410 }, - { url = "https://files.pythonhosted.org/packages/cc/61/58c70aa0808a8cba825a7d98cc65bef4801b99328fba80837bfcb5fc767f/llvmlite-0.43.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:18e9953c748b105668487b7c81a3e97b046d8abf95c4ddc0cd3c94f4e4651ae8", size = 28793145 }, - { url = "https://files.pythonhosted.org/packages/c8/c6/9324eb5de2ba9d99cbed853d85ba7a318652a48e077797bec27cf40f911d/llvmlite-0.43.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:74937acd22dc11b33946b67dca7680e6d103d6e90eeaaaf932603bec6fe7b03a", size = 42857276 }, - { url = "https://files.pythonhosted.org/packages/e0/d0/889e9705107db7b1ec0767b03f15d7b95b4c4f9fdf91928ab1c7e9ffacf6/llvmlite-0.43.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:bc9efc739cc6ed760f795806f67889923f7274276f0eb45092a1473e40d9b867", size = 43871777 }, - { url = "https://files.pythonhosted.org/packages/df/41/73cc26a2634b538cfe813f618c91e7e9960b8c163f8f0c94a2b0f008b9da/llvmlite-0.43.0-cp39-cp39-win_amd64.whl", hash = "sha256:47e147cdda9037f94b399bf03bfd8a6b6b1f2f90be94a454e3386f006455a9b4", size = 28123489 }, +sdist = { url = "https://files.pythonhosted.org/packages/9f/3d/f513755f285db51ab363a53e898b85562e950f79a2e6767a364530c2f645/llvmlite-0.43.0.tar.gz", hash = "sha256:ae2b5b5c3ef67354824fb75517c8db5fbe93bc02cd9671f3c62271626bc041d5", size = 157069, upload-time = "2024-06-13T18:09:32.641Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/23/ff/6ca7e98998b573b4bd6566f15c35e5c8bea829663a6df0c7aa55ab559da9/llvmlite-0.43.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:a289af9a1687c6cf463478f0fa8e8aa3b6fb813317b0d70bf1ed0759eab6f761", size = 31064408, upload-time = "2024-06-13T18:08:13.462Z" }, + { url = "https://files.pythonhosted.org/packages/ca/5c/a27f9257f86f0cda3f764ff21d9f4217b9f6a0d45e7a39ecfa7905f524ce/llvmlite-0.43.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:6d4fd101f571a31acb1559ae1af30f30b1dc4b3186669f92ad780e17c81e91bc", size = 28793153, upload-time = "2024-06-13T18:08:17.336Z" }, + { url = "https://files.pythonhosted.org/packages/7e/3c/4410f670ad0a911227ea2ecfcba9f672a77cf1924df5280c4562032ec32d/llvmlite-0.43.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:7d434ec7e2ce3cc8f452d1cd9a28591745de022f931d67be688a737320dfcead", size = 42857276, upload-time = "2024-06-13T18:08:21.071Z" }, + { url = "https://files.pythonhosted.org/packages/c6/21/2ffbab5714e72f2483207b4a1de79b2eecd9debbf666ff4e7067bcc5c134/llvmlite-0.43.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6912a87782acdff6eb8bf01675ed01d60ca1f2551f8176a300a886f09e836a6a", size = 43871781, upload-time = "2024-06-13T18:08:26.32Z" }, + { url = "https://files.pythonhosted.org/packages/f2/26/b5478037c453554a61625ef1125f7e12bb1429ae11c6376f47beba9b0179/llvmlite-0.43.0-cp310-cp310-win_amd64.whl", hash = "sha256:14f0e4bf2fd2d9a75a3534111e8ebeb08eda2f33e9bdd6dfa13282afacdde0ed", size = 28123487, upload-time = "2024-06-13T18:08:30.348Z" }, + { url = "https://files.pythonhosted.org/packages/95/8c/de3276d773ab6ce3ad676df5fab5aac19696b2956319d65d7dd88fb10f19/llvmlite-0.43.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:3e8d0618cb9bfe40ac38a9633f2493d4d4e9fcc2f438d39a4e854f39cc0f5f98", size = 31064409, upload-time = "2024-06-13T18:08:34.006Z" }, + { url = "https://files.pythonhosted.org/packages/ee/e1/38deed89ced4cf378c61e232265cfe933ccde56ae83c901aa68b477d14b1/llvmlite-0.43.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:e0a9a1a39d4bf3517f2af9d23d479b4175ead205c592ceeb8b89af48a327ea57", size = 28793149, upload-time = "2024-06-13T18:08:37.42Z" }, + { url = "https://files.pythonhosted.org/packages/2f/b2/4429433eb2dc8379e2cb582502dca074c23837f8fd009907f78a24de4c25/llvmlite-0.43.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:c1da416ab53e4f7f3bc8d4eeba36d801cc1894b9fbfbf2022b29b6bad34a7df2", size = 42857277, upload-time = "2024-06-13T18:08:40.822Z" }, + { url = "https://files.pythonhosted.org/packages/6b/99/5d00a7d671b1ba1751fc9f19d3b36f3300774c6eebe2bcdb5f6191763eb4/llvmlite-0.43.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:977525a1e5f4059316b183fb4fd34fa858c9eade31f165427a3977c95e3ee749", size = 43871781, upload-time = "2024-06-13T18:08:46.41Z" }, + { url = "https://files.pythonhosted.org/packages/20/ab/ed5ed3688c6ba4f0b8d789da19fd8e30a9cf7fc5852effe311bc5aefe73e/llvmlite-0.43.0-cp311-cp311-win_amd64.whl", hash = "sha256:d5bd550001d26450bd90777736c69d68c487d17bf371438f975229b2b8241a91", size = 28107433, upload-time = "2024-06-13T18:08:50.834Z" }, + { url = "https://files.pythonhosted.org/packages/0b/67/9443509e5d2b6d8587bae3ede5598fa8bd586b1c7701696663ea8af15b5b/llvmlite-0.43.0-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:f99b600aa7f65235a5a05d0b9a9f31150c390f31261f2a0ba678e26823ec38f7", size = 31064409, upload-time = "2024-06-13T18:08:54.375Z" }, + { url = "https://files.pythonhosted.org/packages/a2/9c/24139d3712d2d352e300c39c0e00d167472c08b3bd350c3c33d72c88ff8d/llvmlite-0.43.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:35d80d61d0cda2d767f72de99450766250560399edc309da16937b93d3b676e7", size = 28793145, upload-time = "2024-06-13T18:08:57.953Z" }, + { url = "https://files.pythonhosted.org/packages/bf/f1/4c205a48488e574ee9f6505d50e84370a978c90f08dab41a42d8f2c576b6/llvmlite-0.43.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:eccce86bba940bae0d8d48ed925f21dbb813519169246e2ab292b5092aba121f", size = 42857276, upload-time = "2024-06-13T18:09:02.067Z" }, + { url = "https://files.pythonhosted.org/packages/00/5f/323c4d56e8401c50185fd0e875fcf06b71bf825a863699be1eb10aa2a9cb/llvmlite-0.43.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:df6509e1507ca0760787a199d19439cc887bfd82226f5af746d6977bd9f66844", size = 43871781, upload-time = "2024-06-13T18:09:06.667Z" }, + { url = "https://files.pythonhosted.org/packages/c6/94/dea10e263655ce78d777e78d904903faae39d1fc440762be4a9dc46bed49/llvmlite-0.43.0-cp312-cp312-win_amd64.whl", hash = "sha256:7a2872ee80dcf6b5dbdc838763d26554c2a18aa833d31a2635bff16aafefb9c9", size = 28107442, upload-time = "2024-06-13T18:09:10.709Z" }, + { url = "https://files.pythonhosted.org/packages/2a/73/12925b1bbb3c2beb6d96f892ef5b4d742c34f00ddb9f4a125e9e87b22f52/llvmlite-0.43.0-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:9cd2a7376f7b3367019b664c21f0c61766219faa3b03731113ead75107f3b66c", size = 31064410, upload-time = "2024-06-13T18:09:14.091Z" }, + { url = "https://files.pythonhosted.org/packages/cc/61/58c70aa0808a8cba825a7d98cc65bef4801b99328fba80837bfcb5fc767f/llvmlite-0.43.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:18e9953c748b105668487b7c81a3e97b046d8abf95c4ddc0cd3c94f4e4651ae8", size = 28793145, upload-time = "2024-06-13T18:09:17.531Z" }, + { url = "https://files.pythonhosted.org/packages/c8/c6/9324eb5de2ba9d99cbed853d85ba7a318652a48e077797bec27cf40f911d/llvmlite-0.43.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:74937acd22dc11b33946b67dca7680e6d103d6e90eeaaaf932603bec6fe7b03a", size = 42857276, upload-time = "2024-06-13T18:09:21.377Z" }, + { url = "https://files.pythonhosted.org/packages/e0/d0/889e9705107db7b1ec0767b03f15d7b95b4c4f9fdf91928ab1c7e9ffacf6/llvmlite-0.43.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:bc9efc739cc6ed760f795806f67889923f7274276f0eb45092a1473e40d9b867", size = 43871777, upload-time = "2024-06-13T18:09:25.76Z" }, + { url = "https://files.pythonhosted.org/packages/df/41/73cc26a2634b538cfe813f618c91e7e9960b8c163f8f0c94a2b0f008b9da/llvmlite-0.43.0-cp39-cp39-win_amd64.whl", hash = "sha256:47e147cdda9037f94b399bf03bfd8a6b6b1f2f90be94a454e3386f006455a9b4", size = 28123489, upload-time = "2024-06-13T18:09:29.78Z" }, ] [[package]] name = "llvmlite" -version = "0.44.0" +version = "0.46.0" source = { registry = "https://pypi.org/simple" } resolution-markers = [ - "python_full_version >= '3.12'", - "python_full_version == '3.11.*'", + "python_full_version >= '3.11' and sys_platform == 'win32'", + "python_full_version >= '3.11' and sys_platform == 'emscripten'", + "python_full_version >= '3.11' and sys_platform != 'emscripten' and sys_platform != 'win32'", "python_full_version == '3.10.*'", ] -sdist = { url = "https://files.pythonhosted.org/packages/89/6a/95a3d3610d5c75293d5dbbb2a76480d5d4eeba641557b69fe90af6c5b84e/llvmlite-0.44.0.tar.gz", hash = "sha256:07667d66a5d150abed9157ab6c0b9393c9356f229784a4385c02f99e94fc94d4", size = 171880 } +sdist = { url = "https://files.pythonhosted.org/packages/74/cd/08ae687ba099c7e3d21fe2ea536500563ef1943c5105bf6ab4ee3829f68e/llvmlite-0.46.0.tar.gz", hash = "sha256:227c9fd6d09dce2783c18b754b7cd9d9b3b3515210c46acc2d3c5badd9870ceb", size = 193456, upload-time = "2025-12-08T18:15:36.295Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/41/75/d4863ddfd8ab5f6e70f4504cf8cc37f4e986ec6910f4ef8502bb7d3c1c71/llvmlite-0.44.0-cp310-cp310-macosx_10_14_x86_64.whl", hash = "sha256:9fbadbfba8422123bab5535b293da1cf72f9f478a65645ecd73e781f962ca614", size = 28132306 }, - { url = "https://files.pythonhosted.org/packages/37/d9/6e8943e1515d2f1003e8278819ec03e4e653e2eeb71e4d00de6cfe59424e/llvmlite-0.44.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:cccf8eb28f24840f2689fb1a45f9c0f7e582dd24e088dcf96e424834af11f791", size = 26201096 }, - { url = "https://files.pythonhosted.org/packages/aa/46/8ffbc114def88cc698906bf5acab54ca9fdf9214fe04aed0e71731fb3688/llvmlite-0.44.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:7202b678cdf904823c764ee0fe2dfe38a76981f4c1e51715b4cb5abb6cf1d9e8", size = 42361859 }, - { url = "https://files.pythonhosted.org/packages/30/1c/9366b29ab050a726af13ebaae8d0dff00c3c58562261c79c635ad4f5eb71/llvmlite-0.44.0-cp310-cp310-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:40526fb5e313d7b96bda4cbb2c85cd5374e04d80732dd36a282d72a560bb6408", size = 41184199 }, - { url = "https://files.pythonhosted.org/packages/69/07/35e7c594b021ecb1938540f5bce543ddd8713cff97f71d81f021221edc1b/llvmlite-0.44.0-cp310-cp310-win_amd64.whl", hash = "sha256:41e3839150db4330e1b2716c0be3b5c4672525b4c9005e17c7597f835f351ce2", size = 30332381 }, - { url = "https://files.pythonhosted.org/packages/b5/e2/86b245397052386595ad726f9742e5223d7aea999b18c518a50e96c3aca4/llvmlite-0.44.0-cp311-cp311-macosx_10_14_x86_64.whl", hash = "sha256:eed7d5f29136bda63b6d7804c279e2b72e08c952b7c5df61f45db408e0ee52f3", size = 28132305 }, - { url = "https://files.pythonhosted.org/packages/ff/ec/506902dc6870249fbe2466d9cf66d531265d0f3a1157213c8f986250c033/llvmlite-0.44.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:ace564d9fa44bb91eb6e6d8e7754977783c68e90a471ea7ce913bff30bd62427", size = 26201090 }, - { url = "https://files.pythonhosted.org/packages/99/fe/d030f1849ebb1f394bb3f7adad5e729b634fb100515594aca25c354ffc62/llvmlite-0.44.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:c5d22c3bfc842668168a786af4205ec8e3ad29fb1bc03fd11fd48460d0df64c1", size = 42361858 }, - { url = "https://files.pythonhosted.org/packages/d7/7a/ce6174664b9077fc673d172e4c888cb0b128e707e306bc33fff8c2035f0d/llvmlite-0.44.0-cp311-cp311-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:f01a394e9c9b7b1d4e63c327b096d10f6f0ed149ef53d38a09b3749dcf8c9610", size = 41184200 }, - { url = "https://files.pythonhosted.org/packages/5f/c6/258801143975a6d09a373f2641237992496e15567b907a4d401839d671b8/llvmlite-0.44.0-cp311-cp311-win_amd64.whl", hash = "sha256:d8489634d43c20cd0ad71330dde1d5bc7b9966937a263ff1ec1cebb90dc50955", size = 30331193 }, - { url = "https://files.pythonhosted.org/packages/15/86/e3c3195b92e6e492458f16d233e58a1a812aa2bfbef9bdd0fbafcec85c60/llvmlite-0.44.0-cp312-cp312-macosx_10_14_x86_64.whl", hash = "sha256:1d671a56acf725bf1b531d5ef76b86660a5ab8ef19bb6a46064a705c6ca80aad", size = 28132297 }, - { url = "https://files.pythonhosted.org/packages/d6/53/373b6b8be67b9221d12b24125fd0ec56b1078b660eeae266ec388a6ac9a0/llvmlite-0.44.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:5f79a728e0435493611c9f405168682bb75ffd1fbe6fc360733b850c80a026db", size = 26201105 }, - { url = "https://files.pythonhosted.org/packages/cb/da/8341fd3056419441286c8e26bf436923021005ece0bff5f41906476ae514/llvmlite-0.44.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:c0143a5ef336da14deaa8ec26c5449ad5b6a2b564df82fcef4be040b9cacfea9", size = 42361901 }, - { url = "https://files.pythonhosted.org/packages/53/ad/d79349dc07b8a395a99153d7ce8b01d6fcdc9f8231355a5df55ded649b61/llvmlite-0.44.0-cp312-cp312-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:d752f89e31b66db6f8da06df8b39f9b91e78c5feea1bf9e8c1fba1d1c24c065d", size = 41184247 }, - { url = "https://files.pythonhosted.org/packages/e2/3b/a9a17366af80127bd09decbe2a54d8974b6d8b274b39bf47fbaedeec6307/llvmlite-0.44.0-cp312-cp312-win_amd64.whl", hash = "sha256:eae7e2d4ca8f88f89d315b48c6b741dcb925d6a1042da694aa16ab3dd4cbd3a1", size = 30332380 }, + { url = "https://files.pythonhosted.org/packages/3d/a4/3959e1c61c5ca9db7921e5fd115b344c29b9d57a5dadd87bef97963ca1a5/llvmlite-0.46.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:4323177e936d61ae0f73e653e2e614284d97d14d5dd12579adc92b6c2b0597b0", size = 37232766, upload-time = "2025-12-08T18:14:34.765Z" }, + { url = "https://files.pythonhosted.org/packages/c2/a5/a4d916f1015106e1da876028606a8e87fd5d5c840f98c87bc2d5153b6a2f/llvmlite-0.46.0-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:0a2d461cb89537b7c20feb04c46c32e12d5ad4f0896c9dfc0f60336219ff248e", size = 56275176, upload-time = "2025-12-08T18:14:37.944Z" }, + { url = "https://files.pythonhosted.org/packages/79/7f/a7f2028805dac8c1a6fae7bda4e739b7ebbcd45b29e15bf6d21556fcd3d5/llvmlite-0.46.0-cp310-cp310-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:b1f6595a35b7b39c3518b85a28bf18f45e075264e4b2dce3f0c2a4f232b4a910", size = 55128629, upload-time = "2025-12-08T18:14:41.674Z" }, + { url = "https://files.pythonhosted.org/packages/b2/bc/4689e1ba0c073c196b594471eb21be0aa51d9e64b911728aa13cd85ef0ae/llvmlite-0.46.0-cp310-cp310-win_amd64.whl", hash = "sha256:e7a34d4aa6f9a97ee006b504be6d2b8cb7f755b80ab2f344dda1ef992f828559", size = 38138651, upload-time = "2025-12-08T18:14:45.845Z" }, + { url = "https://files.pythonhosted.org/packages/7a/a1/2ad4b2367915faeebe8447f0a057861f646dbf5fbbb3561db42c65659cf3/llvmlite-0.46.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:82f3d39b16f19aa1a56d5fe625883a6ab600d5cc9ea8906cca70ce94cabba067", size = 37232766, upload-time = "2025-12-08T18:14:48.836Z" }, + { url = "https://files.pythonhosted.org/packages/12/b5/99cf8772fdd846c07da4fd70f07812a3c8fd17ea2409522c946bb0f2b277/llvmlite-0.46.0-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:a3df43900119803bbc52720e758c76f316a9a0f34612a886862dfe0a5591a17e", size = 56275175, upload-time = "2025-12-08T18:14:51.604Z" }, + { url = "https://files.pythonhosted.org/packages/38/f2/ed806f9c003563732da156139c45d970ee435bd0bfa5ed8de87ba972b452/llvmlite-0.46.0-cp311-cp311-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:de183fefc8022d21b0aa37fc3e90410bc3524aed8617f0ff76732fc6c3af5361", size = 55128630, upload-time = "2025-12-08T18:14:55.107Z" }, + { url = "https://files.pythonhosted.org/packages/19/0c/8f5a37a65fc9b7b17408508145edd5f86263ad69c19d3574e818f533a0eb/llvmlite-0.46.0-cp311-cp311-win_amd64.whl", hash = "sha256:e8b10bc585c58bdffec9e0c309bb7d51be1f2f15e169a4b4d42f2389e431eb93", size = 38138652, upload-time = "2025-12-08T18:14:58.171Z" }, + { url = "https://files.pythonhosted.org/packages/2b/f8/4db016a5e547d4e054ff2f3b99203d63a497465f81ab78ec8eb2ff7b2304/llvmlite-0.46.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:6b9588ad4c63b4f0175a3984b85494f0c927c6b001e3a246a3a7fb3920d9a137", size = 37232767, upload-time = "2025-12-08T18:15:00.737Z" }, + { url = "https://files.pythonhosted.org/packages/aa/85/4890a7c14b4fa54400945cb52ac3cd88545bbdb973c440f98ca41591cdc5/llvmlite-0.46.0-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:3535bd2bb6a2d7ae4012681ac228e5132cdb75fefb1bcb24e33f2f3e0c865ed4", size = 56275176, upload-time = "2025-12-08T18:15:03.936Z" }, + { url = "https://files.pythonhosted.org/packages/6a/07/3d31d39c1a1a08cd5337e78299fca77e6aebc07c059fbd0033e3edfab45c/llvmlite-0.46.0-cp312-cp312-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:4cbfd366e60ff87ea6cc62f50bc4cd800ebb13ed4c149466f50cf2163a473d1e", size = 55128630, upload-time = "2025-12-08T18:15:07.196Z" }, + { url = "https://files.pythonhosted.org/packages/2a/6b/d139535d7590a1bba1ceb68751bef22fadaa5b815bbdf0e858e3875726b2/llvmlite-0.46.0-cp312-cp312-win_amd64.whl", hash = "sha256:398b39db462c39563a97b912d4f2866cd37cba60537975a09679b28fbbc0fb38", size = 38138940, upload-time = "2025-12-08T18:15:10.162Z" }, ] [[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/04/90/d08277ce111dd22f77149fd1a5d4653eeb3b3eaacbdfcbae5afb2600eebd/MarkupSafe-3.0.2-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:7e94c425039cde14257288fd61dcfb01963e658efbc0ff54f5306b06054700f8", size = 14357 }, - { url = "https://files.pythonhosted.org/packages/04/e1/6e2194baeae0bca1fae6629dc0cbbb968d4d941469cbab11a3872edff374/MarkupSafe-3.0.2-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:9e2d922824181480953426608b81967de705c3cef4d1af983af849d7bd619158", size = 12393 }, - { url = "https://files.pythonhosted.org/packages/1d/69/35fa85a8ece0a437493dc61ce0bb6d459dcba482c34197e3efc829aa357f/MarkupSafe-3.0.2-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:38a9ef736c01fccdd6600705b09dc574584b89bea478200c5fbf112a6b0d5579", size = 21732 }, - { url = "https://files.pythonhosted.org/packages/22/35/137da042dfb4720b638d2937c38a9c2df83fe32d20e8c8f3185dbfef05f7/MarkupSafe-3.0.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:bbcb445fa71794da8f178f0f6d66789a28d7319071af7a496d4d507ed566270d", size = 20866 }, - { url = "https://files.pythonhosted.org/packages/29/28/6d029a903727a1b62edb51863232152fd335d602def598dade38996887f0/MarkupSafe-3.0.2-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:57cb5a3cf367aeb1d316576250f65edec5bb3be939e9247ae594b4bcbc317dfb", size = 20964 }, - { url = "https://files.pythonhosted.org/packages/cc/cd/07438f95f83e8bc028279909d9c9bd39e24149b0d60053a97b2bc4f8aa51/MarkupSafe-3.0.2-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:3809ede931876f5b2ec92eef964286840ed3540dadf803dd570c3b7e13141a3b", size = 21977 }, - { url = "https://files.pythonhosted.org/packages/29/01/84b57395b4cc062f9c4c55ce0df7d3108ca32397299d9df00fedd9117d3d/MarkupSafe-3.0.2-cp310-cp310-musllinux_1_2_i686.whl", hash = "sha256:e07c3764494e3776c602c1e78e298937c3315ccc9043ead7e685b7f2b8d47b3c", size = 21366 }, - { url = "https://files.pythonhosted.org/packages/bd/6e/61ebf08d8940553afff20d1fb1ba7294b6f8d279df9fd0c0db911b4bbcfd/MarkupSafe-3.0.2-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:b424c77b206d63d500bcb69fa55ed8d0e6a3774056bdc4839fc9298a7edca171", size = 21091 }, - { url = "https://files.pythonhosted.org/packages/11/23/ffbf53694e8c94ebd1e7e491de185124277964344733c45481f32ede2499/MarkupSafe-3.0.2-cp310-cp310-win32.whl", hash = "sha256:fcabf5ff6eea076f859677f5f0b6b5c1a51e70a376b0579e0eadef8db48c6b50", size = 15065 }, - { url = "https://files.pythonhosted.org/packages/44/06/e7175d06dd6e9172d4a69a72592cb3f7a996a9c396eee29082826449bbc3/MarkupSafe-3.0.2-cp310-cp310-win_amd64.whl", hash = "sha256:6af100e168aa82a50e186c82875a5893c5597a0c1ccdb0d8b40240b1f28b969a", size = 15514 }, - { url = "https://files.pythonhosted.org/packages/6b/28/bbf83e3f76936960b850435576dd5e67034e200469571be53f69174a2dfd/MarkupSafe-3.0.2-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:9025b4018f3a1314059769c7bf15441064b2207cb3f065e6ea1e7359cb46db9d", size = 14353 }, - { url = "https://files.pythonhosted.org/packages/6c/30/316d194b093cde57d448a4c3209f22e3046c5bb2fb0820b118292b334be7/MarkupSafe-3.0.2-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:93335ca3812df2f366e80509ae119189886b0f3c2b81325d39efdb84a1e2ae93", size = 12392 }, - { url = "https://files.pythonhosted.org/packages/f2/96/9cdafba8445d3a53cae530aaf83c38ec64c4d5427d975c974084af5bc5d2/MarkupSafe-3.0.2-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:2cb8438c3cbb25e220c2ab33bb226559e7afb3baec11c4f218ffa7308603c832", size = 23984 }, - { url = "https://files.pythonhosted.org/packages/f1/a4/aefb044a2cd8d7334c8a47d3fb2c9f328ac48cb349468cc31c20b539305f/MarkupSafe-3.0.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a123e330ef0853c6e822384873bef7507557d8e4a082961e1defa947aa59ba84", size = 23120 }, - { url = "https://files.pythonhosted.org/packages/8d/21/5e4851379f88f3fad1de30361db501300d4f07bcad047d3cb0449fc51f8c/MarkupSafe-3.0.2-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:1e084f686b92e5b83186b07e8a17fc09e38fff551f3602b249881fec658d3eca", size = 23032 }, - { url = "https://files.pythonhosted.org/packages/00/7b/e92c64e079b2d0d7ddf69899c98842f3f9a60a1ae72657c89ce2655c999d/MarkupSafe-3.0.2-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:d8213e09c917a951de9d09ecee036d5c7d36cb6cb7dbaece4c71a60d79fb9798", size = 24057 }, - { url = "https://files.pythonhosted.org/packages/f9/ac/46f960ca323037caa0a10662ef97d0a4728e890334fc156b9f9e52bcc4ca/MarkupSafe-3.0.2-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:5b02fb34468b6aaa40dfc198d813a641e3a63b98c2b05a16b9f80b7ec314185e", size = 23359 }, - { url = "https://files.pythonhosted.org/packages/69/84/83439e16197337b8b14b6a5b9c2105fff81d42c2a7c5b58ac7b62ee2c3b1/MarkupSafe-3.0.2-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:0bff5e0ae4ef2e1ae4fdf2dfd5b76c75e5c2fa4132d05fc1b0dabcd20c7e28c4", size = 23306 }, - { url = "https://files.pythonhosted.org/packages/9a/34/a15aa69f01e2181ed8d2b685c0d2f6655d5cca2c4db0ddea775e631918cd/MarkupSafe-3.0.2-cp311-cp311-win32.whl", hash = "sha256:6c89876f41da747c8d3677a2b540fb32ef5715f97b66eeb0c6b66f5e3ef6f59d", size = 15094 }, - { url = "https://files.pythonhosted.org/packages/da/b8/3a3bd761922d416f3dc5d00bfbed11f66b1ab89a0c2b6e887240a30b0f6b/MarkupSafe-3.0.2-cp311-cp311-win_amd64.whl", hash = "sha256:70a87b411535ccad5ef2f1df5136506a10775d267e197e4cf531ced10537bd6b", size = 15521 }, - { 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/a7/ea/9b1530c3fdeeca613faeb0fb5cbcf2389d816072fab72a71b45749ef6062/MarkupSafe-3.0.2-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:eaa0a10b7f72326f1372a713e73c3f739b524b3af41feb43e4921cb529f5929a", size = 14344 }, - { url = "https://files.pythonhosted.org/packages/4b/c2/fbdbfe48848e7112ab05e627e718e854d20192b674952d9042ebd8c9e5de/MarkupSafe-3.0.2-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:48032821bbdf20f5799ff537c7ac3d1fba0ba032cfc06194faffa8cda8b560ff", size = 12389 }, - { url = "https://files.pythonhosted.org/packages/f0/25/7a7c6e4dbd4f867d95d94ca15449e91e52856f6ed1905d58ef1de5e211d0/MarkupSafe-3.0.2-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:1a9d3f5f0901fdec14d8d2f66ef7d035f2157240a433441719ac9a3fba440b13", size = 21607 }, - { url = "https://files.pythonhosted.org/packages/53/8f/f339c98a178f3c1e545622206b40986a4c3307fe39f70ccd3d9df9a9e425/MarkupSafe-3.0.2-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:88b49a3b9ff31e19998750c38e030fc7bb937398b1f78cfa599aaef92d693144", size = 20728 }, - { url = "https://files.pythonhosted.org/packages/1a/03/8496a1a78308456dbd50b23a385c69b41f2e9661c67ea1329849a598a8f9/MarkupSafe-3.0.2-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:cfad01eed2c2e0c01fd0ecd2ef42c492f7f93902e39a42fc9ee1692961443a29", size = 20826 }, - { url = "https://files.pythonhosted.org/packages/e6/cf/0a490a4bd363048c3022f2f475c8c05582179bb179defcee4766fb3dcc18/MarkupSafe-3.0.2-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:1225beacc926f536dc82e45f8a4d68502949dc67eea90eab715dea3a21c1b5f0", size = 21843 }, - { url = "https://files.pythonhosted.org/packages/19/a3/34187a78613920dfd3cdf68ef6ce5e99c4f3417f035694074beb8848cd77/MarkupSafe-3.0.2-cp39-cp39-musllinux_1_2_i686.whl", hash = "sha256:3169b1eefae027567d1ce6ee7cae382c57fe26e82775f460f0b2778beaad66c0", size = 21219 }, - { url = "https://files.pythonhosted.org/packages/17/d8/5811082f85bb88410ad7e452263af048d685669bbbfb7b595e8689152498/MarkupSafe-3.0.2-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:eb7972a85c54febfb25b5c4b4f3af4dcc731994c7da0d8a0b4a6eb0640e1d178", size = 20946 }, - { url = "https://files.pythonhosted.org/packages/7c/31/bd635fb5989440d9365c5e3c47556cfea121c7803f5034ac843e8f37c2f2/MarkupSafe-3.0.2-cp39-cp39-win32.whl", hash = "sha256:8c4e8c3ce11e1f92f6536ff07154f9d49677ebaaafc32db9db4620bc11ed480f", size = 15063 }, - { url = "https://files.pythonhosted.org/packages/b3/73/085399401383ce949f727afec55ec3abd76648d04b9f22e1c0e99cb4bec3/MarkupSafe-3.0.2-cp39-cp39-win_amd64.whl", hash = "sha256:6e296a513ca3d94054c2c881cc913116e90fd030ad1c656b3869762b754f5f8a", size = 15506 }, +version = "3.0.3" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/7e/99/7690b6d4034fffd95959cbe0c02de8deb3098cc577c67bb6a24fe5d7caa7/markupsafe-3.0.3.tar.gz", hash = "sha256:722695808f4b6457b320fdc131280796bdceb04ab50fe1795cd540799ebe1698", size = 80313, upload-time = "2025-09-27T18:37:40.426Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/e8/4b/3541d44f3937ba468b75da9eebcae497dcf67adb65caa16760b0a6807ebb/markupsafe-3.0.3-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:2f981d352f04553a7171b8e44369f2af4055f888dfb147d55e42d29e29e74559", size = 11631, upload-time = "2025-09-27T18:36:05.558Z" }, + { url = "https://files.pythonhosted.org/packages/98/1b/fbd8eed11021cabd9226c37342fa6ca4e8a98d8188a8d9b66740494960e4/markupsafe-3.0.3-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:e1c1493fb6e50ab01d20a22826e57520f1284df32f2d8601fdd90b6304601419", size = 12057, upload-time = "2025-09-27T18:36:07.165Z" }, + { url = "https://files.pythonhosted.org/packages/40/01/e560d658dc0bb8ab762670ece35281dec7b6c1b33f5fbc09ebb57a185519/markupsafe-3.0.3-cp310-cp310-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:1ba88449deb3de88bd40044603fafffb7bc2b055d626a330323a9ed736661695", size = 22050, upload-time = "2025-09-27T18:36:08.005Z" }, + { url = "https://files.pythonhosted.org/packages/af/cd/ce6e848bbf2c32314c9b237839119c5a564a59725b53157c856e90937b7a/markupsafe-3.0.3-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:f42d0984e947b8adf7dd6dde396e720934d12c506ce84eea8476409563607591", size = 20681, upload-time = "2025-09-27T18:36:08.881Z" }, + { url = "https://files.pythonhosted.org/packages/c9/2a/b5c12c809f1c3045c4d580b035a743d12fcde53cf685dbc44660826308da/markupsafe-3.0.3-cp310-cp310-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:c0c0b3ade1c0b13b936d7970b1d37a57acde9199dc2aecc4c336773e1d86049c", size = 20705, upload-time = "2025-09-27T18:36:10.131Z" }, + { url = "https://files.pythonhosted.org/packages/cf/e3/9427a68c82728d0a88c50f890d0fc072a1484de2f3ac1ad0bfc1a7214fd5/markupsafe-3.0.3-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:0303439a41979d9e74d18ff5e2dd8c43ed6c6001fd40e5bf2e43f7bd9bbc523f", size = 21524, upload-time = "2025-09-27T18:36:11.324Z" }, + { url = "https://files.pythonhosted.org/packages/bc/36/23578f29e9e582a4d0278e009b38081dbe363c5e7165113fad546918a232/markupsafe-3.0.3-cp310-cp310-musllinux_1_2_riscv64.whl", hash = "sha256:d2ee202e79d8ed691ceebae8e0486bd9a2cd4794cec4824e1c99b6f5009502f6", size = 20282, upload-time = "2025-09-27T18:36:12.573Z" }, + { url = "https://files.pythonhosted.org/packages/56/21/dca11354e756ebd03e036bd8ad58d6d7168c80ce1fe5e75218e4945cbab7/markupsafe-3.0.3-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:177b5253b2834fe3678cb4a5f0059808258584c559193998be2601324fdeafb1", size = 20745, upload-time = "2025-09-27T18:36:13.504Z" }, + { url = "https://files.pythonhosted.org/packages/87/99/faba9369a7ad6e4d10b6a5fbf71fa2a188fe4a593b15f0963b73859a1bbd/markupsafe-3.0.3-cp310-cp310-win32.whl", hash = "sha256:2a15a08b17dd94c53a1da0438822d70ebcd13f8c3a95abe3a9ef9f11a94830aa", size = 14571, upload-time = "2025-09-27T18:36:14.779Z" }, + { url = "https://files.pythonhosted.org/packages/d6/25/55dc3ab959917602c96985cb1253efaa4ff42f71194bddeb61eb7278b8be/markupsafe-3.0.3-cp310-cp310-win_amd64.whl", hash = "sha256:c4ffb7ebf07cfe8931028e3e4c85f0357459a3f9f9490886198848f4fa002ec8", size = 15056, upload-time = "2025-09-27T18:36:16.125Z" }, + { url = "https://files.pythonhosted.org/packages/d0/9e/0a02226640c255d1da0b8d12e24ac2aa6734da68bff14c05dd53b94a0fc3/markupsafe-3.0.3-cp310-cp310-win_arm64.whl", hash = "sha256:e2103a929dfa2fcaf9bb4e7c091983a49c9ac3b19c9061b6d5427dd7d14d81a1", size = 13932, upload-time = "2025-09-27T18:36:17.311Z" }, + { url = "https://files.pythonhosted.org/packages/08/db/fefacb2136439fc8dd20e797950e749aa1f4997ed584c62cfb8ef7c2be0e/markupsafe-3.0.3-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:1cc7ea17a6824959616c525620e387f6dd30fec8cb44f649e31712db02123dad", size = 11631, upload-time = "2025-09-27T18:36:18.185Z" }, + { url = "https://files.pythonhosted.org/packages/e1/2e/5898933336b61975ce9dc04decbc0a7f2fee78c30353c5efba7f2d6ff27a/markupsafe-3.0.3-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:4bd4cd07944443f5a265608cc6aab442e4f74dff8088b0dfc8238647b8f6ae9a", size = 12058, upload-time = "2025-09-27T18:36:19.444Z" }, + { url = "https://files.pythonhosted.org/packages/1d/09/adf2df3699d87d1d8184038df46a9c80d78c0148492323f4693df54e17bb/markupsafe-3.0.3-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:6b5420a1d9450023228968e7e6a9ce57f65d148ab56d2313fcd589eee96a7a50", size = 24287, upload-time = "2025-09-27T18:36:20.768Z" }, + { url = "https://files.pythonhosted.org/packages/30/ac/0273f6fcb5f42e314c6d8cd99effae6a5354604d461b8d392b5ec9530a54/markupsafe-3.0.3-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:0bf2a864d67e76e5c9a34dc26ec616a66b9888e25e7b9460e1c76d3293bd9dbf", size = 22940, upload-time = "2025-09-27T18:36:22.249Z" }, + { url = "https://files.pythonhosted.org/packages/19/ae/31c1be199ef767124c042c6c3e904da327a2f7f0cd63a0337e1eca2967a8/markupsafe-3.0.3-cp311-cp311-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:bc51efed119bc9cfdf792cdeaa4d67e8f6fcccab66ed4bfdd6bde3e59bfcbb2f", size = 21887, upload-time = "2025-09-27T18:36:23.535Z" }, + { url = "https://files.pythonhosted.org/packages/b2/76/7edcab99d5349a4532a459e1fe64f0b0467a3365056ae550d3bcf3f79e1e/markupsafe-3.0.3-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:068f375c472b3e7acbe2d5318dea141359e6900156b5b2ba06a30b169086b91a", size = 23692, upload-time = "2025-09-27T18:36:24.823Z" }, + { url = "https://files.pythonhosted.org/packages/a4/28/6e74cdd26d7514849143d69f0bf2399f929c37dc2b31e6829fd2045b2765/markupsafe-3.0.3-cp311-cp311-musllinux_1_2_riscv64.whl", hash = "sha256:7be7b61bb172e1ed687f1754f8e7484f1c8019780f6f6b0786e76bb01c2ae115", size = 21471, upload-time = "2025-09-27T18:36:25.95Z" }, + { url = "https://files.pythonhosted.org/packages/62/7e/a145f36a5c2945673e590850a6f8014318d5577ed7e5920a4b3448e0865d/markupsafe-3.0.3-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:f9e130248f4462aaa8e2552d547f36ddadbeaa573879158d721bbd33dfe4743a", size = 22923, upload-time = "2025-09-27T18:36:27.109Z" }, + { url = "https://files.pythonhosted.org/packages/0f/62/d9c46a7f5c9adbeeeda52f5b8d802e1094e9717705a645efc71b0913a0a8/markupsafe-3.0.3-cp311-cp311-win32.whl", hash = "sha256:0db14f5dafddbb6d9208827849fad01f1a2609380add406671a26386cdf15a19", size = 14572, upload-time = "2025-09-27T18:36:28.045Z" }, + { url = "https://files.pythonhosted.org/packages/83/8a/4414c03d3f891739326e1783338e48fb49781cc915b2e0ee052aa490d586/markupsafe-3.0.3-cp311-cp311-win_amd64.whl", hash = "sha256:de8a88e63464af587c950061a5e6a67d3632e36df62b986892331d4620a35c01", size = 15077, upload-time = "2025-09-27T18:36:29.025Z" }, + { url = "https://files.pythonhosted.org/packages/35/73/893072b42e6862f319b5207adc9ae06070f095b358655f077f69a35601f0/markupsafe-3.0.3-cp311-cp311-win_arm64.whl", hash = "sha256:3b562dd9e9ea93f13d53989d23a7e775fdfd1066c33494ff43f5418bc8c58a5c", size = 13876, upload-time = "2025-09-27T18:36:29.954Z" }, + { url = "https://files.pythonhosted.org/packages/5a/72/147da192e38635ada20e0a2e1a51cf8823d2119ce8883f7053879c2199b5/markupsafe-3.0.3-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:d53197da72cc091b024dd97249dfc7794d6a56530370992a5e1a08983ad9230e", size = 11615, upload-time = "2025-09-27T18:36:30.854Z" }, + { url = "https://files.pythonhosted.org/packages/9a/81/7e4e08678a1f98521201c3079f77db69fb552acd56067661f8c2f534a718/markupsafe-3.0.3-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:1872df69a4de6aead3491198eaf13810b565bdbeec3ae2dc8780f14458ec73ce", size = 12020, upload-time = "2025-09-27T18:36:31.971Z" }, + { url = "https://files.pythonhosted.org/packages/1e/2c/799f4742efc39633a1b54a92eec4082e4f815314869865d876824c257c1e/markupsafe-3.0.3-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:3a7e8ae81ae39e62a41ec302f972ba6ae23a5c5396c8e60113e9066ef893da0d", size = 24332, upload-time = "2025-09-27T18:36:32.813Z" }, + { url = "https://files.pythonhosted.org/packages/3c/2e/8d0c2ab90a8c1d9a24f0399058ab8519a3279d1bd4289511d74e909f060e/markupsafe-3.0.3-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:d6dd0be5b5b189d31db7cda48b91d7e0a9795f31430b7f271219ab30f1d3ac9d", size = 22947, upload-time = "2025-09-27T18:36:33.86Z" }, + { url = "https://files.pythonhosted.org/packages/2c/54/887f3092a85238093a0b2154bd629c89444f395618842e8b0c41783898ea/markupsafe-3.0.3-cp312-cp312-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:94c6f0bb423f739146aec64595853541634bde58b2135f27f61c1ffd1cd4d16a", size = 21962, upload-time = "2025-09-27T18:36:35.099Z" }, + { url = "https://files.pythonhosted.org/packages/c9/2f/336b8c7b6f4a4d95e91119dc8521402461b74a485558d8f238a68312f11c/markupsafe-3.0.3-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:be8813b57049a7dc738189df53d69395eba14fb99345e0a5994914a3864c8a4b", size = 23760, upload-time = "2025-09-27T18:36:36.001Z" }, + { url = "https://files.pythonhosted.org/packages/32/43/67935f2b7e4982ffb50a4d169b724d74b62a3964bc1a9a527f5ac4f1ee2b/markupsafe-3.0.3-cp312-cp312-musllinux_1_2_riscv64.whl", hash = "sha256:83891d0e9fb81a825d9a6d61e3f07550ca70a076484292a70fde82c4b807286f", size = 21529, upload-time = "2025-09-27T18:36:36.906Z" }, + { url = "https://files.pythonhosted.org/packages/89/e0/4486f11e51bbba8b0c041098859e869e304d1c261e59244baa3d295d47b7/markupsafe-3.0.3-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:77f0643abe7495da77fb436f50f8dab76dbc6e5fd25d39589a0f1fe6548bfa2b", size = 23015, upload-time = "2025-09-27T18:36:37.868Z" }, + { url = "https://files.pythonhosted.org/packages/2f/e1/78ee7a023dac597a5825441ebd17170785a9dab23de95d2c7508ade94e0e/markupsafe-3.0.3-cp312-cp312-win32.whl", hash = "sha256:d88b440e37a16e651bda4c7c2b930eb586fd15ca7406cb39e211fcff3bf3017d", size = 14540, upload-time = "2025-09-27T18:36:38.761Z" }, + { url = "https://files.pythonhosted.org/packages/aa/5b/bec5aa9bbbb2c946ca2733ef9c4ca91c91b6a24580193e891b5f7dbe8e1e/markupsafe-3.0.3-cp312-cp312-win_amd64.whl", hash = "sha256:26a5784ded40c9e318cfc2bdb30fe164bdb8665ded9cd64d500a34fb42067b1c", size = 15105, upload-time = "2025-09-27T18:36:39.701Z" }, + { url = "https://files.pythonhosted.org/packages/e5/f1/216fc1bbfd74011693a4fd837e7026152e89c4bcf3e77b6692fba9923123/markupsafe-3.0.3-cp312-cp312-win_arm64.whl", hash = "sha256:35add3b638a5d900e807944a078b51922212fb3dedb01633a8defc4b01a3c85f", size = 13906, upload-time = "2025-09-27T18:36:40.689Z" }, + { url = "https://files.pythonhosted.org/packages/56/23/0d8c13a44bde9154821586520840643467aee574d8ce79a17da539ee7fed/markupsafe-3.0.3-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:15d939a21d546304880945ca1ecb8a039db6b4dc49b2c5a400387cdae6a62e26", size = 11623, upload-time = "2025-09-27T18:37:29.296Z" }, + { url = "https://files.pythonhosted.org/packages/fd/23/07a2cb9a8045d5f3f0890a8c3bc0859d7a47bfd9a560b563899bec7b72ed/markupsafe-3.0.3-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:f71a396b3bf33ecaa1626c255855702aca4d3d9fea5e051b41ac59a9c1c41edc", size = 12049, upload-time = "2025-09-27T18:37:30.234Z" }, + { url = "https://files.pythonhosted.org/packages/bc/e4/6be85eb81503f8e11b61c0b6369b6e077dcf0a74adbd9ebf6b349937b4e9/markupsafe-3.0.3-cp39-cp39-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:0f4b68347f8c5eab4a13419215bdfd7f8c9b19f2b25520968adfad23eb0ce60c", size = 21923, upload-time = "2025-09-27T18:37:31.177Z" }, + { url = "https://files.pythonhosted.org/packages/6f/bc/4dc914ead3fe6ddaef035341fee0fc956949bbd27335b611829292b89ee2/markupsafe-3.0.3-cp39-cp39-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:e8fc20152abba6b83724d7ff268c249fa196d8259ff481f3b1476383f8f24e42", size = 20543, upload-time = "2025-09-27T18:37:32.168Z" }, + { url = "https://files.pythonhosted.org/packages/89/6e/5fe81fbcfba4aef4093d5f856e5c774ec2057946052d18d168219b7bd9f9/markupsafe-3.0.3-cp39-cp39-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:949b8d66bc381ee8b007cd945914c721d9aba8e27f71959d750a46f7c282b20b", size = 20585, upload-time = "2025-09-27T18:37:33.166Z" }, + { url = "https://files.pythonhosted.org/packages/f6/f6/e0e5a3d3ae9c4020f696cd055f940ef86b64fe88de26f3a0308b9d3d048c/markupsafe-3.0.3-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:3537e01efc9d4dccdf77221fb1cb3b8e1a38d5428920e0657ce299b20324d758", size = 21387, upload-time = "2025-09-27T18:37:34.185Z" }, + { url = "https://files.pythonhosted.org/packages/c8/25/651753ef4dea08ea790f4fbb65146a9a44a014986996ca40102e237aa49a/markupsafe-3.0.3-cp39-cp39-musllinux_1_2_riscv64.whl", hash = "sha256:591ae9f2a647529ca990bc681daebdd52c8791ff06c2bfa05b65163e28102ef2", size = 20133, upload-time = "2025-09-27T18:37:35.138Z" }, + { url = "https://files.pythonhosted.org/packages/dc/0a/c3cf2b4fef5f0426e8a6d7fce3cb966a17817c568ce59d76b92a233fdbec/markupsafe-3.0.3-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:a320721ab5a1aba0a233739394eb907f8c8da5c98c9181d1161e77a0c8e36f2d", size = 20588, upload-time = "2025-09-27T18:37:36.096Z" }, + { url = "https://files.pythonhosted.org/packages/cd/1b/a7782984844bd519ad4ffdbebbba2671ec5d0ebbeac34736c15fb86399e8/markupsafe-3.0.3-cp39-cp39-win32.whl", hash = "sha256:df2449253ef108a379b8b5d6b43f4b1a8e81a061d6537becd5582fba5f9196d7", size = 14566, upload-time = "2025-09-27T18:37:37.09Z" }, + { url = "https://files.pythonhosted.org/packages/18/1f/8d9c20e1c9440e215a44be5ab64359e207fcb4f675543f1cf9a2a7f648d0/markupsafe-3.0.3-cp39-cp39-win_amd64.whl", hash = "sha256:7c3fb7d25180895632e5d3148dbdc29ea38ccb7fd210aa27acbd1201a1902c6e", size = 15053, upload-time = "2025-09-27T18:37:38.054Z" }, + { url = "https://files.pythonhosted.org/packages/4e/d3/fe08482b5cd995033556d45041a4f4e76e7f0521112a9c9991d40d39825f/markupsafe-3.0.3-cp39-cp39-win_arm64.whl", hash = "sha256:38664109c14ffc9e7437e86b4dceb442b0096dfe3541d7864d9cbe1da4cf36c8", size = 13928, upload-time = "2025-09-27T18:37:39.037Z" }, ] [[package]] name = "msgpack" -version = "1.1.0" -source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/cb/d0/7555686ae7ff5731205df1012ede15dd9d927f6227ea151e901c7406af4f/msgpack-1.1.0.tar.gz", hash = "sha256:dd432ccc2c72b914e4cb77afce64aab761c1137cc698be3984eee260bcb2896e", size = 167260 } -wheels = [ - { url = "https://files.pythonhosted.org/packages/4b/f9/a892a6038c861fa849b11a2bb0502c07bc698ab6ea53359e5771397d883b/msgpack-1.1.0-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:7ad442d527a7e358a469faf43fda45aaf4ac3249c8310a82f0ccff9164e5dccd", size = 150428 }, - { url = "https://files.pythonhosted.org/packages/df/7a/d174cc6a3b6bb85556e6a046d3193294a92f9a8e583cdbd46dc8a1d7e7f4/msgpack-1.1.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:74bed8f63f8f14d75eec75cf3d04ad581da6b914001b474a5d3cd3372c8cc27d", size = 84131 }, - { url = "https://files.pythonhosted.org/packages/08/52/bf4fbf72f897a23a56b822997a72c16de07d8d56d7bf273242f884055682/msgpack-1.1.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:914571a2a5b4e7606997e169f64ce53a8b1e06f2cf2c3a7273aa106236d43dd5", size = 81215 }, - { url = "https://files.pythonhosted.org/packages/02/95/dc0044b439b518236aaf012da4677c1b8183ce388411ad1b1e63c32d8979/msgpack-1.1.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:c921af52214dcbb75e6bdf6a661b23c3e6417f00c603dd2070bccb5c3ef499f5", size = 371229 }, - { url = "https://files.pythonhosted.org/packages/ff/75/09081792db60470bef19d9c2be89f024d366b1e1973c197bb59e6aabc647/msgpack-1.1.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:d8ce0b22b890be5d252de90d0e0d119f363012027cf256185fc3d474c44b1b9e", size = 378034 }, - { url = "https://files.pythonhosted.org/packages/32/d3/c152e0c55fead87dd948d4b29879b0f14feeeec92ef1fd2ec21b107c3f49/msgpack-1.1.0-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:73322a6cc57fcee3c0c57c4463d828e9428275fb85a27aa2aa1a92fdc42afd7b", size = 363070 }, - { url = "https://files.pythonhosted.org/packages/d9/2c/82e73506dd55f9e43ac8aa007c9dd088c6f0de2aa19e8f7330e6a65879fc/msgpack-1.1.0-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:e1f3c3d21f7cf67bcf2da8e494d30a75e4cf60041d98b3f79875afb5b96f3a3f", size = 359863 }, - { url = "https://files.pythonhosted.org/packages/cb/a0/3d093b248837094220e1edc9ec4337de3443b1cfeeb6e0896af8ccc4cc7a/msgpack-1.1.0-cp310-cp310-musllinux_1_2_i686.whl", hash = "sha256:64fc9068d701233effd61b19efb1485587560b66fe57b3e50d29c5d78e7fef68", size = 368166 }, - { url = "https://files.pythonhosted.org/packages/e4/13/7646f14f06838b406cf5a6ddbb7e8dc78b4996d891ab3b93c33d1ccc8678/msgpack-1.1.0-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:42f754515e0f683f9c79210a5d1cad631ec3d06cea5172214d2176a42e67e19b", size = 370105 }, - { url = "https://files.pythonhosted.org/packages/67/fa/dbbd2443e4578e165192dabbc6a22c0812cda2649261b1264ff515f19f15/msgpack-1.1.0-cp310-cp310-win32.whl", hash = "sha256:3df7e6b05571b3814361e8464f9304c42d2196808e0119f55d0d3e62cd5ea044", size = 68513 }, - { url = "https://files.pythonhosted.org/packages/24/ce/c2c8fbf0ded750cb63cbcbb61bc1f2dfd69e16dca30a8af8ba80ec182dcd/msgpack-1.1.0-cp310-cp310-win_amd64.whl", hash = "sha256:685ec345eefc757a7c8af44a3032734a739f8c45d1b0ac45efc5d8977aa4720f", size = 74687 }, - { url = "https://files.pythonhosted.org/packages/b7/5e/a4c7154ba65d93be91f2f1e55f90e76c5f91ccadc7efc4341e6f04c8647f/msgpack-1.1.0-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:3d364a55082fb2a7416f6c63ae383fbd903adb5a6cf78c5b96cc6316dc1cedc7", size = 150803 }, - { url = "https://files.pythonhosted.org/packages/60/c2/687684164698f1d51c41778c838d854965dd284a4b9d3a44beba9265c931/msgpack-1.1.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:79ec007767b9b56860e0372085f8504db5d06bd6a327a335449508bbee9648fa", size = 84343 }, - { url = "https://files.pythonhosted.org/packages/42/ae/d3adea9bb4a1342763556078b5765e666f8fdf242e00f3f6657380920972/msgpack-1.1.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:6ad622bf7756d5a497d5b6836e7fc3752e2dd6f4c648e24b1803f6048596f701", size = 81408 }, - { url = "https://files.pythonhosted.org/packages/dc/17/6313325a6ff40ce9c3207293aee3ba50104aed6c2c1559d20d09e5c1ff54/msgpack-1.1.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:8e59bca908d9ca0de3dc8684f21ebf9a690fe47b6be93236eb40b99af28b6ea6", size = 396096 }, - { url = "https://files.pythonhosted.org/packages/a8/a1/ad7b84b91ab5a324e707f4c9761633e357820b011a01e34ce658c1dda7cc/msgpack-1.1.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:5e1da8f11a3dd397f0a32c76165cf0c4eb95b31013a94f6ecc0b280c05c91b59", size = 403671 }, - { url = "https://files.pythonhosted.org/packages/bb/0b/fd5b7c0b308bbf1831df0ca04ec76fe2f5bf6319833646b0a4bd5e9dc76d/msgpack-1.1.0-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:452aff037287acb1d70a804ffd022b21fa2bb7c46bee884dbc864cc9024128a0", size = 387414 }, - { url = "https://files.pythonhosted.org/packages/f0/03/ff8233b7c6e9929a1f5da3c7860eccd847e2523ca2de0d8ef4878d354cfa/msgpack-1.1.0-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:8da4bf6d54ceed70e8861f833f83ce0814a2b72102e890cbdfe4b34764cdd66e", size = 383759 }, - { url = "https://files.pythonhosted.org/packages/1f/1b/eb82e1fed5a16dddd9bc75f0854b6e2fe86c0259c4353666d7fab37d39f4/msgpack-1.1.0-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:41c991beebf175faf352fb940bf2af9ad1fb77fd25f38d9142053914947cdbf6", size = 394405 }, - { url = "https://files.pythonhosted.org/packages/90/2e/962c6004e373d54ecf33d695fb1402f99b51832631e37c49273cc564ffc5/msgpack-1.1.0-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:a52a1f3a5af7ba1c9ace055b659189f6c669cf3657095b50f9602af3a3ba0fe5", size = 396041 }, - { url = "https://files.pythonhosted.org/packages/f8/20/6e03342f629474414860c48aeffcc2f7f50ddaf351d95f20c3f1c67399a8/msgpack-1.1.0-cp311-cp311-win32.whl", hash = "sha256:58638690ebd0a06427c5fe1a227bb6b8b9fdc2bd07701bec13c2335c82131a88", size = 68538 }, - { url = "https://files.pythonhosted.org/packages/aa/c4/5a582fc9a87991a3e6f6800e9bb2f3c82972912235eb9539954f3e9997c7/msgpack-1.1.0-cp311-cp311-win_amd64.whl", hash = "sha256:fd2906780f25c8ed5d7b323379f6138524ba793428db5d0e9d226d3fa6aa1788", size = 74871 }, - { url = "https://files.pythonhosted.org/packages/e1/d6/716b7ca1dbde63290d2973d22bbef1b5032ca634c3ff4384a958ec3f093a/msgpack-1.1.0-cp312-cp312-macosx_10_9_universal2.whl", hash = "sha256:d46cf9e3705ea9485687aa4001a76e44748b609d260af21c4ceea7f2212a501d", size = 152421 }, - { url = "https://files.pythonhosted.org/packages/70/da/5312b067f6773429cec2f8f08b021c06af416bba340c912c2ec778539ed6/msgpack-1.1.0-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:5dbad74103df937e1325cc4bfeaf57713be0b4f15e1c2da43ccdd836393e2ea2", size = 85277 }, - { url = "https://files.pythonhosted.org/packages/28/51/da7f3ae4462e8bb98af0d5bdf2707f1b8c65a0d4f496e46b6afb06cbc286/msgpack-1.1.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:58dfc47f8b102da61e8949708b3eafc3504509a5728f8b4ddef84bd9e16ad420", size = 82222 }, - { url = "https://files.pythonhosted.org/packages/33/af/dc95c4b2a49cff17ce47611ca9ba218198806cad7796c0b01d1e332c86bb/msgpack-1.1.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:4676e5be1b472909b2ee6356ff425ebedf5142427842aa06b4dfd5117d1ca8a2", size = 392971 }, - { url = "https://files.pythonhosted.org/packages/f1/54/65af8de681fa8255402c80eda2a501ba467921d5a7a028c9c22a2c2eedb5/msgpack-1.1.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:17fb65dd0bec285907f68b15734a993ad3fc94332b5bb21b0435846228de1f39", size = 401403 }, - { url = "https://files.pythonhosted.org/packages/97/8c/e333690777bd33919ab7024269dc3c41c76ef5137b211d776fbb404bfead/msgpack-1.1.0-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:a51abd48c6d8ac89e0cfd4fe177c61481aca2d5e7ba42044fd218cfd8ea9899f", size = 385356 }, - { url = "https://files.pythonhosted.org/packages/57/52/406795ba478dc1c890559dd4e89280fa86506608a28ccf3a72fbf45df9f5/msgpack-1.1.0-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:2137773500afa5494a61b1208619e3871f75f27b03bcfca7b3a7023284140247", size = 383028 }, - { url = "https://files.pythonhosted.org/packages/e7/69/053b6549bf90a3acadcd8232eae03e2fefc87f066a5b9fbb37e2e608859f/msgpack-1.1.0-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:398b713459fea610861c8a7b62a6fec1882759f308ae0795b5413ff6a160cf3c", size = 391100 }, - { url = "https://files.pythonhosted.org/packages/23/f0/d4101d4da054f04274995ddc4086c2715d9b93111eb9ed49686c0f7ccc8a/msgpack-1.1.0-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:06f5fd2f6bb2a7914922d935d3b8bb4a7fff3a9a91cfce6d06c13bc42bec975b", size = 394254 }, - { url = "https://files.pythonhosted.org/packages/1c/12/cf07458f35d0d775ff3a2dc5559fa2e1fcd06c46f1ef510e594ebefdca01/msgpack-1.1.0-cp312-cp312-win32.whl", hash = "sha256:ad33e8400e4ec17ba782f7b9cf868977d867ed784a1f5f2ab46e7ba53b6e1e1b", size = 69085 }, - { url = "https://files.pythonhosted.org/packages/73/80/2708a4641f7d553a63bc934a3eb7214806b5b39d200133ca7f7afb0a53e8/msgpack-1.1.0-cp312-cp312-win_amd64.whl", hash = "sha256:115a7af8ee9e8cddc10f87636767857e7e3717b7a2e97379dc2054712693e90f", size = 75347 }, - { url = "https://files.pythonhosted.org/packages/f7/3b/544a5c5886042b80e1f4847a4757af3430f60d106d8d43bb7be72c9e9650/msgpack-1.1.0-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:53258eeb7a80fc46f62fd59c876957a2d0e15e6449a9e71842b6d24419d88ca1", size = 150713 }, - { url = "https://files.pythonhosted.org/packages/93/af/d63f25bcccd3d6f06fd518ba4a321f34a4370c67b579ca5c70b4a37721b4/msgpack-1.1.0-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:7e7b853bbc44fb03fbdba34feb4bd414322180135e2cb5164f20ce1c9795ee48", size = 84277 }, - { url = "https://files.pythonhosted.org/packages/92/9b/5c0dfb0009b9f96328664fecb9f8e4e9c8a1ae919e6d53986c1b813cb493/msgpack-1.1.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:f3e9b4936df53b970513eac1758f3882c88658a220b58dcc1e39606dccaaf01c", size = 81357 }, - { url = "https://files.pythonhosted.org/packages/d1/7c/3a9ee6ec9fc3e47681ad39b4d344ee04ff20a776b594fba92d88d8b68356/msgpack-1.1.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:46c34e99110762a76e3911fc923222472c9d681f1094096ac4102c18319e6468", size = 371256 }, - { url = "https://files.pythonhosted.org/packages/f7/0a/8a213cecea7b731c540f25212ba5f9a818f358237ac51a44d448bd753690/msgpack-1.1.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:8a706d1e74dd3dea05cb54580d9bd8b2880e9264856ce5068027eed09680aa74", size = 377868 }, - { url = "https://files.pythonhosted.org/packages/1b/94/a82b0db0981e9586ed5af77d6cfb343da05d7437dceaae3b35d346498110/msgpack-1.1.0-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:534480ee5690ab3cbed89d4c8971a5c631b69a8c0883ecfea96c19118510c846", size = 363370 }, - { url = "https://files.pythonhosted.org/packages/93/fc/6c7f0dcc1c913e14861e16eaf494c07fc1dde454ec726ff8cebcf348ae53/msgpack-1.1.0-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:8cf9e8c3a2153934a23ac160cc4cba0ec035f6867c8013cc6077a79823370346", size = 358970 }, - { url = "https://files.pythonhosted.org/packages/1f/c6/e4a04c0089deace870dabcdef5c9f12798f958e2e81d5012501edaff342f/msgpack-1.1.0-cp39-cp39-musllinux_1_2_i686.whl", hash = "sha256:3180065ec2abbe13a4ad37688b61b99d7f9e012a535b930e0e683ad6bc30155b", size = 366358 }, - { url = "https://files.pythonhosted.org/packages/b6/54/7d8317dac590cf16b3e08e3fb74d2081e5af44eb396f0effa13f17777f30/msgpack-1.1.0-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:c5a91481a3cc573ac8c0d9aace09345d989dc4a0202b7fcb312c88c26d4e71a8", size = 370336 }, - { url = "https://files.pythonhosted.org/packages/dc/6f/a5a1f43b6566831e9630e5bc5d86034a8884386297302be128402555dde1/msgpack-1.1.0-cp39-cp39-win32.whl", hash = "sha256:f80bc7d47f76089633763f952e67f8214cb7b3ee6bfa489b3cb6a84cfac114cd", size = 68683 }, - { url = "https://files.pythonhosted.org/packages/5f/e8/2162621e18dbc36e2bc8492fd0e97b3975f5d89fe0472ae6d5f7fbdd8cf7/msgpack-1.1.0-cp39-cp39-win_amd64.whl", hash = "sha256:4d1b7ff2d6146e16e8bd665ac726a89c74163ef8cd39fa8c1087d4e52d3a2325", size = 74787 }, +version = "1.1.2" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/4d/f2/bfb55a6236ed8725a96b0aa3acbd0ec17588e6a2c3b62a93eb513ed8783f/msgpack-1.1.2.tar.gz", hash = "sha256:3b60763c1373dd60f398488069bcdc703cd08a711477b5d480eecc9f9626f47e", size = 173581, upload-time = "2025-10-08T09:15:56.596Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/f5/a2/3b68a9e769db68668b25c6108444a35f9bd163bb848c0650d516761a59c0/msgpack-1.1.2-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:0051fffef5a37ca2cd16978ae4f0aef92f164df86823871b5162812bebecd8e2", size = 81318, upload-time = "2025-10-08T09:14:38.722Z" }, + { url = "https://files.pythonhosted.org/packages/5b/e1/2b720cc341325c00be44e1ed59e7cfeae2678329fbf5aa68f5bda57fe728/msgpack-1.1.2-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:a605409040f2da88676e9c9e5853b3449ba8011973616189ea5ee55ddbc5bc87", size = 83786, upload-time = "2025-10-08T09:14:40.082Z" }, + { url = "https://files.pythonhosted.org/packages/71/e5/c2241de64bfceac456b140737812a2ab310b10538a7b34a1d393b748e095/msgpack-1.1.2-cp310-cp310-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:8b696e83c9f1532b4af884045ba7f3aa741a63b2bc22617293a2c6a7c645f251", size = 398240, upload-time = "2025-10-08T09:14:41.151Z" }, + { url = "https://files.pythonhosted.org/packages/b7/09/2a06956383c0fdebaef5aa9246e2356776f12ea6f2a44bd1368abf0e46c4/msgpack-1.1.2-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:365c0bbe981a27d8932da71af63ef86acc59ed5c01ad929e09a0b88c6294e28a", size = 406070, upload-time = "2025-10-08T09:14:42.821Z" }, + { url = "https://files.pythonhosted.org/packages/0e/74/2957703f0e1ef20637d6aead4fbb314330c26f39aa046b348c7edcf6ca6b/msgpack-1.1.2-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:41d1a5d875680166d3ac5c38573896453bbbea7092936d2e107214daf43b1d4f", size = 393403, upload-time = "2025-10-08T09:14:44.38Z" }, + { url = "https://files.pythonhosted.org/packages/a5/09/3bfc12aa90f77b37322fc33e7a8a7c29ba7c8edeadfa27664451801b9860/msgpack-1.1.2-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:354e81bcdebaab427c3df4281187edc765d5d76bfb3a7c125af9da7a27e8458f", size = 398947, upload-time = "2025-10-08T09:14:45.56Z" }, + { url = "https://files.pythonhosted.org/packages/4b/4f/05fcebd3b4977cb3d840f7ef6b77c51f8582086de5e642f3fefee35c86fc/msgpack-1.1.2-cp310-cp310-win32.whl", hash = "sha256:e64c8d2f5e5d5fda7b842f55dec6133260ea8f53c4257d64494c534f306bf7a9", size = 64769, upload-time = "2025-10-08T09:14:47.334Z" }, + { url = "https://files.pythonhosted.org/packages/d0/3e/b4547e3a34210956382eed1c85935fff7e0f9b98be3106b3745d7dec9c5e/msgpack-1.1.2-cp310-cp310-win_amd64.whl", hash = "sha256:db6192777d943bdaaafb6ba66d44bf65aa0e9c5616fa1d2da9bb08828c6b39aa", size = 71293, upload-time = "2025-10-08T09:14:48.665Z" }, + { url = "https://files.pythonhosted.org/packages/2c/97/560d11202bcd537abca693fd85d81cebe2107ba17301de42b01ac1677b69/msgpack-1.1.2-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:2e86a607e558d22985d856948c12a3fa7b42efad264dca8a3ebbcfa2735d786c", size = 82271, upload-time = "2025-10-08T09:14:49.967Z" }, + { url = "https://files.pythonhosted.org/packages/83/04/28a41024ccbd67467380b6fb440ae916c1e4f25e2cd4c63abe6835ac566e/msgpack-1.1.2-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:283ae72fc89da59aa004ba147e8fc2f766647b1251500182fac0350d8af299c0", size = 84914, upload-time = "2025-10-08T09:14:50.958Z" }, + { url = "https://files.pythonhosted.org/packages/71/46/b817349db6886d79e57a966346cf0902a426375aadc1e8e7a86a75e22f19/msgpack-1.1.2-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:61c8aa3bd513d87c72ed0b37b53dd5c5a0f58f2ff9f26e1555d3bd7948fb7296", size = 416962, upload-time = "2025-10-08T09:14:51.997Z" }, + { url = "https://files.pythonhosted.org/packages/da/e0/6cc2e852837cd6086fe7d8406af4294e66827a60a4cf60b86575a4a65ca8/msgpack-1.1.2-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:454e29e186285d2ebe65be34629fa0e8605202c60fbc7c4c650ccd41870896ef", size = 426183, upload-time = "2025-10-08T09:14:53.477Z" }, + { url = "https://files.pythonhosted.org/packages/25/98/6a19f030b3d2ea906696cedd1eb251708e50a5891d0978b012cb6107234c/msgpack-1.1.2-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:7bc8813f88417599564fafa59fd6f95be417179f76b40325b500b3c98409757c", size = 411454, upload-time = "2025-10-08T09:14:54.648Z" }, + { url = "https://files.pythonhosted.org/packages/b7/cd/9098fcb6adb32187a70b7ecaabf6339da50553351558f37600e53a4a2a23/msgpack-1.1.2-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:bafca952dc13907bdfdedfc6a5f579bf4f292bdd506fadb38389afa3ac5b208e", size = 422341, upload-time = "2025-10-08T09:14:56.328Z" }, + { url = "https://files.pythonhosted.org/packages/e6/ae/270cecbcf36c1dc85ec086b33a51a4d7d08fc4f404bdbc15b582255d05ff/msgpack-1.1.2-cp311-cp311-win32.whl", hash = "sha256:602b6740e95ffc55bfb078172d279de3773d7b7db1f703b2f1323566b878b90e", size = 64747, upload-time = "2025-10-08T09:14:57.882Z" }, + { url = "https://files.pythonhosted.org/packages/2a/79/309d0e637f6f37e83c711f547308b91af02b72d2326ddd860b966080ef29/msgpack-1.1.2-cp311-cp311-win_amd64.whl", hash = "sha256:d198d275222dc54244bf3327eb8cbe00307d220241d9cec4d306d49a44e85f68", size = 71633, upload-time = "2025-10-08T09:14:59.177Z" }, + { url = "https://files.pythonhosted.org/packages/73/4d/7c4e2b3d9b1106cd0aa6cb56cc57c6267f59fa8bfab7d91df5adc802c847/msgpack-1.1.2-cp311-cp311-win_arm64.whl", hash = "sha256:86f8136dfa5c116365a8a651a7d7484b65b13339731dd6faebb9a0242151c406", size = 64755, upload-time = "2025-10-08T09:15:00.48Z" }, + { url = "https://files.pythonhosted.org/packages/ad/bd/8b0d01c756203fbab65d265859749860682ccd2a59594609aeec3a144efa/msgpack-1.1.2-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:70a0dff9d1f8da25179ffcf880e10cf1aad55fdb63cd59c9a49a1b82290062aa", size = 81939, upload-time = "2025-10-08T09:15:01.472Z" }, + { url = "https://files.pythonhosted.org/packages/34/68/ba4f155f793a74c1483d4bdef136e1023f7bcba557f0db4ef3db3c665cf1/msgpack-1.1.2-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:446abdd8b94b55c800ac34b102dffd2f6aa0ce643c55dfc017ad89347db3dbdb", size = 85064, upload-time = "2025-10-08T09:15:03.764Z" }, + { url = "https://files.pythonhosted.org/packages/f2/60/a064b0345fc36c4c3d2c743c82d9100c40388d77f0b48b2f04d6041dbec1/msgpack-1.1.2-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:c63eea553c69ab05b6747901b97d620bb2a690633c77f23feb0c6a947a8a7b8f", size = 417131, upload-time = "2025-10-08T09:15:05.136Z" }, + { url = "https://files.pythonhosted.org/packages/65/92/a5100f7185a800a5d29f8d14041f61475b9de465ffcc0f3b9fba606e4505/msgpack-1.1.2-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:372839311ccf6bdaf39b00b61288e0557916c3729529b301c52c2d88842add42", size = 427556, upload-time = "2025-10-08T09:15:06.837Z" }, + { url = "https://files.pythonhosted.org/packages/f5/87/ffe21d1bf7d9991354ad93949286f643b2bb6ddbeab66373922b44c3b8cc/msgpack-1.1.2-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:2929af52106ca73fcb28576218476ffbb531a036c2adbcf54a3664de124303e9", size = 404920, upload-time = "2025-10-08T09:15:08.179Z" }, + { url = "https://files.pythonhosted.org/packages/ff/41/8543ed2b8604f7c0d89ce066f42007faac1eaa7d79a81555f206a5cdb889/msgpack-1.1.2-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:be52a8fc79e45b0364210eef5234a7cf8d330836d0a64dfbb878efa903d84620", size = 415013, upload-time = "2025-10-08T09:15:09.83Z" }, + { url = "https://files.pythonhosted.org/packages/41/0d/2ddfaa8b7e1cee6c490d46cb0a39742b19e2481600a7a0e96537e9c22f43/msgpack-1.1.2-cp312-cp312-win32.whl", hash = "sha256:1fff3d825d7859ac888b0fbda39a42d59193543920eda9d9bea44d958a878029", size = 65096, upload-time = "2025-10-08T09:15:11.11Z" }, + { url = "https://files.pythonhosted.org/packages/8c/ec/d431eb7941fb55a31dd6ca3404d41fbb52d99172df2e7707754488390910/msgpack-1.1.2-cp312-cp312-win_amd64.whl", hash = "sha256:1de460f0403172cff81169a30b9a92b260cb809c4cb7e2fc79ae8d0510c78b6b", size = 72708, upload-time = "2025-10-08T09:15:12.554Z" }, + { url = "https://files.pythonhosted.org/packages/c5/31/5b1a1f70eb0e87d1678e9624908f86317787b536060641d6798e3cf70ace/msgpack-1.1.2-cp312-cp312-win_arm64.whl", hash = "sha256:be5980f3ee0e6bd44f3a9e9dea01054f175b50c3e6cdb692bc9424c0bbb8bf69", size = 64119, upload-time = "2025-10-08T09:15:13.589Z" }, + { url = "https://files.pythonhosted.org/packages/46/73/85469b4aa71d25e5949fee50d3c2cf46f69cea619fe97cfe309058080f75/msgpack-1.1.2-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:ea5405c46e690122a76531ab97a079e184c0daf491e588592d6a23d3e32af99e", size = 81529, upload-time = "2025-10-08T09:15:46.069Z" }, + { url = "https://files.pythonhosted.org/packages/6c/3a/7d4077e8ae720b29d2b299a9591969f0d105146960681ea6f4121e6d0f8d/msgpack-1.1.2-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:9fba231af7a933400238cb357ecccf8ab5d51535ea95d94fc35b7806218ff844", size = 84106, upload-time = "2025-10-08T09:15:47.064Z" }, + { url = "https://files.pythonhosted.org/packages/df/c0/da451c74746ed9388dca1b4ec647c82945f4e2f8ce242c25fb7c0e12181f/msgpack-1.1.2-cp39-cp39-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:a8f6e7d30253714751aa0b0c84ae28948e852ee7fb0524082e6716769124bc23", size = 396656, upload-time = "2025-10-08T09:15:48.118Z" }, + { url = "https://files.pythonhosted.org/packages/e5/a1/20486c29a31ec9f0f88377fdf7eb7a67f30bcb5e0f89b7550f6f16d9373b/msgpack-1.1.2-cp39-cp39-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:94fd7dc7d8cb0a54432f296f2246bc39474e017204ca6f4ff345941d4ed285a7", size = 404722, upload-time = "2025-10-08T09:15:49.328Z" }, + { url = "https://files.pythonhosted.org/packages/ad/ae/e613b0a526d54ce85447d9665c2ff8c3210a784378d50573321d43d324b8/msgpack-1.1.2-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:350ad5353a467d9e3b126d8d1b90fe05ad081e2e1cef5753f8c345217c37e7b8", size = 391838, upload-time = "2025-10-08T09:15:50.517Z" }, + { url = "https://files.pythonhosted.org/packages/49/6a/07f3e10ed4503045b882ef7bf8512d01d8a9e25056950a977bd5f50df1c2/msgpack-1.1.2-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:6bde749afe671dc44893f8d08e83bf475a1a14570d67c4bb5cec5573463c8833", size = 397516, upload-time = "2025-10-08T09:15:51.646Z" }, + { url = "https://files.pythonhosted.org/packages/76/9b/a86828e75986c12a3809c1e5062f5eba8e0cae3dfa2bf724ed2b1bb72b4c/msgpack-1.1.2-cp39-cp39-win32.whl", hash = "sha256:ad09b984828d6b7bb52d1d1d0c9be68ad781fa004ca39216c8a1e63c0f34ba3c", size = 64863, upload-time = "2025-10-08T09:15:53.118Z" }, + { url = "https://files.pythonhosted.org/packages/14/a7/b1992b4fb3da3b413f5fb78a63bad42f256c3be2352eb69273c3789c2c96/msgpack-1.1.2-cp39-cp39-win_amd64.whl", hash = "sha256:67016ae8c8965124fdede9d3769528ad8284f14d635337ffa6a713a580f6c030", size = 71540, upload-time = "2025-10-08T09:15:55.573Z" }, ] [[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 = "ndindex" -version = "1.9.2" -source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/2c/f9/f8d491c18f16ffcb1a8abf78345e54879fd1fe6b61dcc8a9b471285cd27e/ndindex-1.9.2.tar.gz", hash = "sha256:b8658a06e52d6c47445c2ec11d292e1d52c3af259214c8b52e3a1aab733daa72", size = 243001 } -wheels = [ - { url = "https://files.pythonhosted.org/packages/69/63/ecada5bf66ba8a7382866be58323a6ecb7ad85ddea6fc9fa93d29d9ba472/ndindex-1.9.2-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:6c0bd9fb02b5ac6e3e8b70404930e1f6824ad565363bf8f0e817d6f6a3a47593", size = 163400 }, - { url = "https://files.pythonhosted.org/packages/61/25/8a6d5905e36e03c1f84d0cdf4a269ad4e80f84105f4607574e44cd2d9195/ndindex-1.9.2-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:3502df515c225e653b55fc08e714d4ae56306ad46454759d90156530cb4e2f40", size = 162245 }, - { url = "https://files.pythonhosted.org/packages/b6/62/b9eec0bb5f653b48cbf6777ab30c6fd5928a6a3892b445c7cb935979fc35/ndindex-1.9.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6a36a48abc26dbf405aaa121ee3b4245390801a07856192f4f6c79d4db403520", size = 475505 }, - { url = "https://files.pythonhosted.org/packages/3e/ea/2f425a58568e2a359a7ea7f1882591a611c36bb08cc329fd279a33fc8198/ndindex-1.9.2-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:0adcfa8f213493399458184175e411ce8040790f5de00d5cbca6ec6a778bfa71", size = 455841 }, - { url = "https://files.pythonhosted.org/packages/df/be/4a1cab33eb8ec3838e312318b21a7044d3fb2546e1e809d0ae245e028250/ndindex-1.9.2-cp310-cp310-musllinux_1_2_i686.whl", hash = "sha256:5f53810a8eb73ad7054c1d628365a86c3f550a14e59ed7d9904ee7de21a3a432", size = 462059 }, - { url = "https://files.pythonhosted.org/packages/b4/5e/6a25117f74c410bf09bf7cac9db8f84b256870378230e4e6ebdaa2e23e1c/ndindex-1.9.2-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:d227c1c8e3c83ded04499b9a43c58862aebc948f2fe61d4c8622f711a56032b6", size = 477098 }, - { url = "https://files.pythonhosted.org/packages/9c/e1/02f4fc78960a6a14ca1f5012cbdfdfaacd4380ab67f2d88ed3fd4c1ce120/ndindex-1.9.2-cp310-cp310-win32.whl", hash = "sha256:2707453757dabd7efa6c8f2d8acda4cdc8e39108528479a8c8fcc9126a693024", size = 151769 }, - { url = "https://files.pythonhosted.org/packages/21/fc/088633718e73413e909c1cef18f5ff1bc2ab333fec5e15f3b9b429d09d45/ndindex-1.9.2-cp310-cp310-win_amd64.whl", hash = "sha256:42614f829e614808987dd68377cacda32634c2d8399b239a7a43f78bd8e3bdda", size = 159535 }, - { url = "https://files.pythonhosted.org/packages/90/6d/f272dbbe0a23575e57773272f02a237b51f4e4f33317bf28b2b8be47ac3d/ndindex-1.9.2-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:1fa2e521a872870d55fa6fa85399f16c1c20bbe4e3e315bbfc80e3ea92561334", size = 163453 }, - { url = "https://files.pythonhosted.org/packages/77/f6/8ff749841f6f8f4096184e8e158e48d572358d4ad0ba1055728e4f7e0f44/ndindex-1.9.2-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:6b0ef52d15fa8755d00a6868c799ff4227f1f453901a6f4de395586f9a435b7a", size = 161947 }, - { url = "https://files.pythonhosted.org/packages/51/2d/bfc284ecc9b24acb916f5d04a69357ae56e0b6073286eaa71cf54bf0b136/ndindex-1.9.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f647eda61cae68a260017118ad8daac4d580ad221ff922bbaa1526e30e350feb", size = 506119 }, - { url = "https://files.pythonhosted.org/packages/5d/6b/83e328c3dc41ff244d7e79cd24ac62fff96405a3ea948810b2fa883c14f5/ndindex-1.9.2-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:384520b4d9f52cb2fd1d324e6f278ec422b2cc2885e95a00587394bf6f56a798", size = 485492 }, - { url = "https://files.pythonhosted.org/packages/87/f4/8a3a3c0d541d96a6cd39026a1211647d0fcbf047f8bac4332e4b95f54e8b/ndindex-1.9.2-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:e2dd75a6e25269b66607f1722acd72e8f086837b2c58275d31b3bdfdf8a095bf", size = 489557 }, - { url = "https://files.pythonhosted.org/packages/0f/5c/5e96422400fad72762e85e3cc3a4bd52b11476b990c4e7df25836e8e9c0c/ndindex-1.9.2-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:8634be005b18034846163067bce78a0209fab65e4bc77e0bc333aa160ef12b7a", size = 506268 }, - { url = "https://files.pythonhosted.org/packages/f8/8b/5948067de44c5484aa8a4db640b8b5dc5cc9b394e9f547a23fd694edf399/ndindex-1.9.2-cp311-cp311-win32.whl", hash = "sha256:89172e90e56a409197cbbe12a49aa16c83879274ca4f61fd8a03b30c6c90e3ca", size = 151566 }, - { url = "https://files.pythonhosted.org/packages/b0/f6/b2fde7ec7880d51f7280bb5e974e400bb716e3054048c409ba35ba509823/ndindex-1.9.2-cp311-cp311-win_amd64.whl", hash = "sha256:d23f07831d28bb3c04c234936b6038078cd7c0c4966d2e2e37738edad6435f9f", size = 159516 }, - { url = "https://files.pythonhosted.org/packages/a3/a5/c3775c1a7279517027b86dc0c1a6a74f9a1fc7e0c298c960ed170fcf585e/ndindex-1.9.2-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:466d2e30a3c2afac6dac64e5ada19db30d23164befa7f69d29f209fb512b3d2f", size = 164104 }, - { url = "https://files.pythonhosted.org/packages/de/81/edb7ba51dae8d5a2879d39eb56651eeea4927f8292fc6286fae8b1cda0f1/ndindex-1.9.2-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:3e87eefa75af0f974cf2c5af14a488ee97dfdc7fb6da67f19f9dc600da5ae041", size = 161991 }, - { url = "https://files.pythonhosted.org/packages/f2/9e/79342047dd441fdcf25c776370c2b09ef8fad30bf06d7920b09278d93260/ndindex-1.9.2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:c9d98a41ff276fc623f3e068d40381ee06289644b530c3535bc00a8cbc5526c6", size = 521201 }, - { url = "https://files.pythonhosted.org/packages/fc/bd/834e4bb7054accc8bbf63c73f7c9f0bcbdc326fec0f560f375dd6637c63a/ndindex-1.9.2-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:05d42c5cd86d923f1606c3a9defbaeb3ece8f7b444f95a46ec6f1fb511e971f7", size = 498251 }, - { url = "https://files.pythonhosted.org/packages/35/1b/fe4d51e07f18596abd53b3b63dd1d4a8617af3896193418a86b7a7a95fa7/ndindex-1.9.2-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:959f8babfc3055933079296a33449e02c24074027c39ce974cf73757c7d5ea21", size = 501804 }, - { url = "https://files.pythonhosted.org/packages/ae/e5/95d5dd5a628c41db959e07ddc7212ed45844865d10375efe4fc0aa5c905b/ndindex-1.9.2-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:d68d8285f3ab8a78b0db990fb25eddc637df4b00467fbf36a4656c7ee46ddc5d", size = 518095 }, - { url = "https://files.pythonhosted.org/packages/bc/49/ca6155435bb408173c3d07f07aac6e6c4a30cefec31c4dd2af75c44774d7/ndindex-1.9.2-cp312-cp312-win32.whl", hash = "sha256:c87aa8218b6eaaa9eacb2f68f1ce71be0e368280ef926d0ed9ad71d2fbe24fe6", size = 151487 }, - { url = "https://files.pythonhosted.org/packages/01/e3/c87442ba34a76e3d778135e967b625e5bb2217773a8c0be751e1537231b7/ndindex-1.9.2-cp312-cp312-win_amd64.whl", hash = "sha256:d15f3a8566910ec25898e3d77b3b7c258b37f84a235d49cb17dfddc9036127b4", size = 159655 }, - { url = "https://files.pythonhosted.org/packages/f7/cf/7cfa18540a3d00d5dae797ceaf8ec9758cd01449c843c7e19571dc65b388/ndindex-1.9.2-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:35543c2638beeb1119c0842f3cdc394b9a242d312f7a5ec9d967486d66c3094f", size = 164537 }, - { url = "https://files.pythonhosted.org/packages/a2/9f/e2584f621e223f75bce3143dbfbe5f3bf9294362f51c7c08e78bd1e915a6/ndindex-1.9.2-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:a2d9c237269fffdc02b810127d3cacaf82ac7cbee24ac9743e80859e789448b8", size = 163328 }, - { url = "https://files.pythonhosted.org/packages/a2/06/3f95030c6a3ece0271e369b34ea2a9be8879c0197a78ee7d84273861342d/ndindex-1.9.2-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:d64688b27f89d529dfabeae5f1216e0673652b21143e802cf427ded8a4954ecd", size = 478286 }, - { url = "https://files.pythonhosted.org/packages/0e/6b/c8ca550014dcb374d5134dce100e0a139dcb9a5e5f10b8cede1069316e97/ndindex-1.9.2-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:7d3e507c079dfe12cf8144de0cfd9e670d0c234a3200d578556965723f0387fb", size = 458578 }, - { url = "https://files.pythonhosted.org/packages/92/4c/64610ced3a603ded96ed8be9c3572e5e4cf395417626dc2ddd74da8346ea/ndindex-1.9.2-cp39-cp39-musllinux_1_2_i686.whl", hash = "sha256:7daafad7af277e92d155178f625a3c951ed2dfb34878f1b7e6e952246eca0314", size = 466979 }, - { url = "https://files.pythonhosted.org/packages/fb/4e/e8c5cf31e0289af579b44b0aa4f7f6198ecf7b0cfb9b2ad80c0f5660aaed/ndindex-1.9.2-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:4110c98e77cd529ec1ea8065bf6ce96a5c613ac47ad17e6f97943a80409de721", size = 483261 }, - { url = "https://files.pythonhosted.org/packages/9d/f6/91cc1b2e5dfd9e018a448b2c3bdac1b67329851b56a5018e6dae9d7d4995/ndindex-1.9.2-cp39-cp39-win32.whl", hash = "sha256:9c92921b1453b050b7531f55c568e64d93d6943e16bd9249a896258a6d4489bb", size = 152487 }, - { url = "https://files.pythonhosted.org/packages/ae/a2/ab7527ec8d96d9fdb686c83bc111e8cf1f53ba177b08b256d0178c320c3e/ndindex-1.9.2-cp39-cp39-win_amd64.whl", hash = "sha256:cd1b3d39cb0d3ef6606d7450b79729e1934bf88fd1a20e123d164bae8e74d01b", size = 160126 }, - { url = "https://files.pythonhosted.org/packages/d7/61/9e7a4f9fd6504b8e34c20fe8df01ce78ea54b3c7124e4085ba93ede0cba9/ndindex-1.9.2-pp310-pypy310_pp73-macosx_10_15_x86_64.whl", hash = "sha256:f32019691f52314d6b7ae0168f6c148f94fecda92cd84cc0fd94331982a55f37", size = 147207 }, - { url = "https://files.pythonhosted.org/packages/0d/46/ad616f44c759e6026dcfed5ebc990a2303ba478ecf3edb5216088233d5b6/ndindex-1.9.2-pp310-pypy310_pp73-macosx_11_0_arm64.whl", hash = "sha256:c6aa27f552a810e60e207fca372db94147811ca9228a728d3529a908197d35ce", size = 147005 }, - { url = "https://files.pythonhosted.org/packages/3b/a7/2f2f38620d84c68e40a91521beb5b695ec4c8ad99795d2a89021fdced592/ndindex-1.9.2-pp310-pypy310_pp73-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:67e02762cd342d0e722f47a26ba546d5709e4b17205bda504228ed455f31b690", size = 163542 }, - { url = "https://files.pythonhosted.org/packages/92/29/048cfd992465e0b66ffd9443eeaf5a9fd596f2ba5c8d470b8445f8c959e9/ndindex-1.9.2-pp310-pypy310_pp73-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:4750ded2e1d2941cda4604aade162452ed5eccffd6737e072359a5a633acd5eb", size = 160084 }, - { url = "https://files.pythonhosted.org/packages/dc/41/7f993f571958d9352d92a4136e8f191713372491c20096a65ac9ab64499b/ndindex-1.9.2-pp310-pypy310_pp73-win_amd64.whl", hash = "sha256:e8c33c2feedefde0789505ffb4b1324c6cb1adf553923f6bff7084910d37740b", size = 150322 }, - { url = "https://files.pythonhosted.org/packages/5a/5e/6a685909a5a77279a155a307ed13da76d95ad764b131c252cf1df9f2c56d/ndindex-1.9.2-pp39-pypy39_pp73-macosx_10_15_x86_64.whl", hash = "sha256:cd82f7b46f0df51631273f72e1c5c8a03c30ce0e0c6da6f8b0ce70235cda31bb", size = 147011 }, - { url = "https://files.pythonhosted.org/packages/22/ba/e90af369b1ce098f26885a4f25308599692df9764ebbf3601b2362b68617/ndindex-1.9.2-pp39-pypy39_pp73-macosx_11_0_arm64.whl", hash = "sha256:9dff41fcb353fdb7589f6c7c69fd34748254cddd9c35824d3c81447de8906f5d", size = 146853 }, - { url = "https://files.pythonhosted.org/packages/a8/41/4ee2e5878f1aa057409c553cb7128b92374d38787084f85e4e3cfb0e2b85/ndindex-1.9.2-pp39-pypy39_pp73-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:4cabded9f47e988b9564df7f37662a53dae5ac8e3419e784c3db07dc230d0480", size = 163130 }, - { url = "https://files.pythonhosted.org/packages/3d/a0/b300377cb18f9599e4759710e1569a3f873d9dea7e6c9c84c9702d0ea351/ndindex-1.9.2-pp39-pypy39_pp73-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:04ce2e8712a4908641a1e23bba692fc88ba147e5926b6346dd526605de7a7980", size = 159786 }, - { url = "https://files.pythonhosted.org/packages/30/81/5631aca8b0a4b99805313f3f162d50ea73601af6c209a4ff298bcaf16e3c/ndindex-1.9.2-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:7ca14a442375f911dd930b7a246b24d6dfc64543ca202d20d65e5b1b96e9dbbf", size = 150190 }, +version = "1.10.1" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/f5/92/4b9d2f4e0f3eabcfc7b02b48261f6e5ad36a3e2c1bbdcc4e3b7b6c768fa6/ndindex-1.10.1.tar.gz", hash = "sha256:0f6113c1f031248f8818cbee1aa92aa3c9472b7701debcce9fddebcd2f610f11", size = 271395, upload-time = "2025-11-19T20:40:08.899Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/4b/71/aff23bd84111d038efdcdaea4d218b463a0b2129ff49f30613cbc6f535ff/ndindex-1.10.1-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:8644c76e74c0fbbdaa54752de30b7c6b98b1e8f6c05f0c6228632a29c862d83f", size = 172022, upload-time = "2025-11-19T20:38:12.429Z" }, + { url = "https://files.pythonhosted.org/packages/99/a6/adcc17b685b24362983b00f965ee5c8607f74e7c68049a20facbd7ceb0b6/ndindex-1.10.1-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:a9a211ec2198994cb3600cd46adb335a740f27e4d406b40d48ed7b98d2d2a89b", size = 171057, upload-time = "2025-11-19T20:38:13.846Z" }, + { url = "https://files.pythonhosted.org/packages/ee/28/b0b1bde7818d2ccd5c288802c1f24b69705e03f3975bc948c005eccab25a/ndindex-1.10.1-cp310-cp310-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:cdb86a4176f2ae23bd4bcd0401ca35d5dad2d1ed0d0dca1ff64480ebe41b75d9", size = 498925, upload-time = "2025-11-19T20:38:17.214Z" }, + { url = "https://files.pythonhosted.org/packages/ec/46/55c3800048ef5310de542f188e1aad00e0b1d37713230c0eae980e88c895/ndindex-1.10.1-cp310-cp310-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:3ce3bd0882572269ca09285112cf38ce84baa2aaa5891551af968ca7c18f84bb", size = 495662, upload-time = "2025-11-19T20:38:20.026Z" }, + { url = "https://files.pythonhosted.org/packages/48/a4/0103c3ee3778d7079c3ff7dd879c79362afe3a7e9d3b8dcdaa25b49ca413/ndindex-1.10.1-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:2d6442ecce9b395aade5e9f2431e169e01393953a069f6d2d53a63b6c94d1d06", size = 1471263, upload-time = "2025-11-19T20:38:21.545Z" }, + { url = "https://files.pythonhosted.org/packages/95/5a/eaa38b18757c3d8e7b2438faa5001a02f193b51a68a5558d6066f3c407e6/ndindex-1.10.1-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:bada24abee6bc6ca438b2e6b68a752fc9b58b67bdcb54008e2bc6330ecb0a777", size = 1522878, upload-time = "2025-11-19T20:38:23.064Z" }, + { url = "https://files.pythonhosted.org/packages/a3/93/a40920c849fa128c9439bc3eb0add814696216dde235497eaa415f14d5e7/ndindex-1.10.1-cp310-cp310-win32.whl", hash = "sha256:bc236d1612714cbd80610cf25a6ef92584ff1402e9d5a5c50e926195716f7d22", size = 149268, upload-time = "2025-11-19T20:38:25.12Z" }, + { url = "https://files.pythonhosted.org/packages/85/d9/baf1655d0b2d36eb46134fddf7dd0ef0093203c9c91d17f8ce01b9060366/ndindex-1.10.1-cp310-cp310-win_amd64.whl", hash = "sha256:4cea15cff221e76abd12e3e940c26124184735cf421c229307f5db6742e14dd7", size = 157151, upload-time = "2025-11-19T20:38:27.229Z" }, + { url = "https://files.pythonhosted.org/packages/8c/d9/c94ab6151c9fdd199c2b560f23e3759a9fb86a7a1275855e0b97291bf05a/ndindex-1.10.1-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:e2ad917bcdf8dc5ba1e21f01054c991d26862d4d01c3c203a50e907096d558ac", size = 172128, upload-time = "2025-11-19T20:38:28.977Z" }, + { url = "https://files.pythonhosted.org/packages/3a/34/880c4073750766e44492d51280d025f28e36475394ca3d741b0a4adad4b0/ndindex-1.10.1-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:e851990a68937db5f485cd9f3e760c1fd47fa0f2a99f63a5e2cc880908faf3bb", size = 171423, upload-time = "2025-11-19T20:38:30.357Z" }, + { url = "https://files.pythonhosted.org/packages/f0/1e/0342da55dabe4075efc2b2ab91a6a22ed3047c5bd511ef771a7a3f822c90/ndindex-1.10.1-cp311-cp311-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:27385939f317b55773ea53f6bf9334810cf1d66206034c0a6a6f2a88f2001c3c", size = 519590, upload-time = "2025-11-19T20:38:32.464Z" }, + { url = "https://files.pythonhosted.org/packages/fd/cb/7a02b6f29b15a16cd0002f4591d14493eff8e9236f7ca4c02ee4d4bcefbd/ndindex-1.10.1-cp311-cp311-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:9fdf3ca16efcdfbb8800aa88fbab1bc6528e6a0504bcb9cf7af4cb9d50e9f5d9", size = 516676, upload-time = "2025-11-19T20:38:34.276Z" }, + { url = "https://files.pythonhosted.org/packages/67/d5/38da808f968a54b0fead2d7e15ca011d3df93c96a07f4914e8ef3974506e/ndindex-1.10.1-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:3307817bdc92846b18f309fae3582856f567dd6e0742fb0b41ac68682bfc4e2a", size = 1491141, upload-time = "2025-11-19T20:38:35.785Z" }, + { url = "https://files.pythonhosted.org/packages/bc/1f/8c66ef982a01ae4cbdabba679a2bc711f262cedf23bfb9682293146f8a98/ndindex-1.10.1-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:ae73cd2d66b09ef2f2a7d7f93bad396d6abf168d1ee825e403c6c5fb8ae1341c", size = 1543876, upload-time = "2025-11-19T20:38:37.456Z" }, + { url = "https://files.pythonhosted.org/packages/05/a1/7c7e3a3c6e81b4284fd0d53cbaec51d9e5b90df26dd78e9bde06cb307217/ndindex-1.10.1-cp311-cp311-win32.whl", hash = "sha256:890bb92f0a779e6f16bdbcc8bd2e06c32bcc0239e5893ba246114eb924aecaaa", size = 149149, upload-time = "2025-11-19T20:38:38.911Z" }, + { url = "https://files.pythonhosted.org/packages/3b/38/99e1fb0effdef74b883be615ea0053ebcea28a53fd8b896263f4e99b0113/ndindex-1.10.1-cp311-cp311-win_amd64.whl", hash = "sha256:1827a40301405b44ad709e388c5b48cf35cd90a67f77e63f0f17d87f6000fa81", size = 157246, upload-time = "2025-11-19T20:38:40.197Z" }, + { url = "https://files.pythonhosted.org/packages/65/90/774ddd08b2a1b41faa56da111f0fbfeb4f17ee537214c938ef41d61af949/ndindex-1.10.1-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:87f83e8c35a7f49a68cd3a3054c406e6c22f8c1315f3905f7a778c657669187e", size = 177348, upload-time = "2025-11-19T20:38:41.768Z" }, + { url = "https://files.pythonhosted.org/packages/ed/ee/a423e857f5b45da3adc8ddbcfbfd4a0e9a047edce3915d3e3d6e189b6bd9/ndindex-1.10.1-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:cf9e05986b2eb8c5993bce0f911d6cedd15bda30b5e35dd354b1ad1f4cc3599d", size = 176561, upload-time = "2025-11-19T20:38:43.06Z" }, + { url = "https://files.pythonhosted.org/packages/1f/40/139b6b050ba2b2a0bb40e0381a352b1eb6551302dcb8f86fb4c97dd34e92/ndindex-1.10.1-cp312-cp312-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:046c1e88d46b2bd2fd3483e06d27b4e85132b55bc693f2fca2db0bb56eea1e78", size = 542901, upload-time = "2025-11-19T20:38:44.43Z" }, + { url = "https://files.pythonhosted.org/packages/27/ae/defd665dbbeb2fffa077491365ed160acaec49274ce8d4b979f55db71f18/ndindex-1.10.1-cp312-cp312-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:03cf1e6cdac876bd8fc92d3b65bb223496b1581d10eab3ba113f7c195121a959", size = 546875, upload-time = "2025-11-19T20:38:45.938Z" }, + { url = "https://files.pythonhosted.org/packages/59/43/6d54d48e8eaee25cdab70d3e4c4f579ddb0255e4f1660040d5ad55e029c6/ndindex-1.10.1-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:752e78a5e87911ded117c57a7246596f26c9c6da066de3c2b533b3db694949bb", size = 1510036, upload-time = "2025-11-19T20:38:47.444Z" }, + { url = "https://files.pythonhosted.org/packages/09/61/e28ba3b98eacd18193176526526b34d7d70d2a6f9fd2b4d8309ab5692678/ndindex-1.10.1-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:c9dd58d91220b1c1fe516324bfcf4114566c98e84b1cbbe416abe345c75bd557", size = 1571849, upload-time = "2025-11-19T20:38:48.951Z" }, + { url = "https://files.pythonhosted.org/packages/8f/63/83fff78a3712cb9f478dd84a19ec389acf6f8c7b01dc347a65ae74e6123d/ndindex-1.10.1-cp312-cp312-win32.whl", hash = "sha256:3b0d9ce2c8488444499ab6d40e92e09867bf4413f5cf04c01635de923f44aa67", size = 149792, upload-time = "2025-11-19T20:38:50.959Z" }, + { url = "https://files.pythonhosted.org/packages/52/fd/a5e3c8c043d0dddea6cd4567bfaea568f022ac197301882b3d85d9c1e9b3/ndindex-1.10.1-cp312-cp312-win_amd64.whl", hash = "sha256:5c026dbbf2455d97ce6456d8a50b349aee8fefa11027d020638c89e9be2c9c4c", size = 158164, upload-time = "2025-11-19T20:38:52.242Z" }, + { url = "https://files.pythonhosted.org/packages/6f/68/ccc852f446052a72537aa353462682e06b4c02202432942cf85a60cd607a/ndindex-1.10.1-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:f77c4fd3f34c53037678020ab4e060da4bbdcae3a428797c7cbec69a6785dc93", size = 173127, upload-time = "2025-11-19T20:39:51.383Z" }, + { url = "https://files.pythonhosted.org/packages/c3/8f/f6b58d995975fd0a0527df31c45587c6ff920910a2ec7840d0a0a7c6ff07/ndindex-1.10.1-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:777bb6fa1dc72527fb43744b8c1499ca86e8e110b238d7aad6a686489c23d3bd", size = 172083, upload-time = "2025-11-19T20:39:52.687Z" }, + { url = "https://files.pythonhosted.org/packages/3b/37/cb9703a956931a0723286939f06a4e0e071f375acdcf2e4a365e9aa4d25c/ndindex-1.10.1-cp39-cp39-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:1ae21b06235cb0884e97cf672780c170449baa0314085595cfe751705fa352de", size = 500585, upload-time = "2025-11-19T20:39:54.165Z" }, + { url = "https://files.pythonhosted.org/packages/1c/1c/8eaa3c2cc2d269b923a5e58be0a2dae5ee696078899a4b67a6798caa6845/ndindex-1.10.1-cp39-cp39-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:0ad8e060b26568c4e67c7b1dc2bc64e28597afdaabd7d63f98f655bfe2daa644", size = 497694, upload-time = "2025-11-19T20:39:56.742Z" }, + { url = "https://files.pythonhosted.org/packages/f1/91/6b8a34cf114e77950b5555207bebec06988fc71f843206d58ff62076ab74/ndindex-1.10.1-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:dc7ebdbd465d25f29a9cd7ba31c304172351fc85626835385bcb72807d309a9a", size = 1472005, upload-time = "2025-11-19T20:39:59.231Z" }, + { url = "https://files.pythonhosted.org/packages/2f/f4/e9560aabe09ec7b20f21bb4db22f5d8bb6133dcf0a2d568e9cbb16bbf418/ndindex-1.10.1-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:27a7729a4d33df6b96f7d5edff281d2b987bbe6545031c5eb606b95c47694f54", size = 1524943, upload-time = "2025-11-19T20:40:04.451Z" }, + { url = "https://files.pythonhosted.org/packages/24/a0/ce4989060bacfbeaa092c49d1a1116dbec9b1185656a27a6eadb185abfc8/ndindex-1.10.1-cp39-cp39-win32.whl", hash = "sha256:8ff1558ddbfedcecd1f6ed7777530917ad08f9c253fcaa8b7152a7aa4ca0264f", size = 150143, upload-time = "2025-11-19T20:40:06.048Z" }, + { url = "https://files.pythonhosted.org/packages/ee/3d/674b0b74b65ad43149e43048520c4e556b15c05abb519721da11a12d88d0/ndindex-1.10.1-cp39-cp39-win_amd64.whl", hash = "sha256:092b92c07690292ec7c6b266c38d7e63d254ec8d913ed06f2a8e16103eb7861a", size = 158034, upload-time = "2025-11-19T20:40:07.544Z" }, ] [[package]] name = "nodeenv" -version = "1.9.1" +version = "1.10.0" 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/24/bf/d1bda4f6168e0b2e9e5958945e01910052158313224ada5ce1fb2e1113b8/nodeenv-1.10.0.tar.gz", hash = "sha256:996c191ad80897d076bdfba80a41994c2b47c68e224c542b48feba42ba00f8bb", size = 55611, upload-time = "2025-12-20T14:08:54.006Z" } 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/88/b2/d0896bdcdc8d28a7fc5717c305f1a861c26e18c05047949fb371034d98bd/nodeenv-1.10.0-py2.py3-none-any.whl", hash = "sha256:5bb13e3eed2923615535339b3c620e76779af4cb4c6a90deccc9e36b274d3827", size = 23438, upload-time = "2025-12-20T14:08:52.782Z" }, ] [[package]] @@ -745,142 +1001,184 @@ dependencies = [ { name = "llvmlite", version = "0.43.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.10'" }, { name = "numpy", marker = "python_full_version < '3.10'" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/3c/93/2849300a9184775ba274aba6f82f303343669b0592b7bb0849ea713dabb0/numba-0.60.0.tar.gz", hash = "sha256:5df6158e5584eece5fc83294b949fd30b9f1125df7708862205217e068aabf16", size = 2702171 } -wheels = [ - { url = "https://files.pythonhosted.org/packages/f7/cf/baa13a7e3556d73d9e38021e6d6aa4aeb30d8b94545aa8b70d0f24a1ccc4/numba-0.60.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:5d761de835cd38fb400d2c26bb103a2726f548dc30368853121d66201672e651", size = 2647627 }, - { url = "https://files.pythonhosted.org/packages/ac/ba/4b57fa498564457c3cc9fc9e570a6b08e6086c74220f24baaf04e54b995f/numba-0.60.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:159e618ef213fba758837f9837fb402bbe65326e60ba0633dbe6c7f274d42c1b", size = 2650322 }, - { url = "https://files.pythonhosted.org/packages/28/98/7ea97ee75870a54f938a8c70f7e0be4495ba5349c5f9db09d467c4a5d5b7/numba-0.60.0-cp310-cp310-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:1527dc578b95c7c4ff248792ec33d097ba6bef9eda466c948b68dfc995c25781", size = 3407390 }, - { url = "https://files.pythonhosted.org/packages/79/58/cb4ac5b8f7ec64200460aef1fed88258fb872ceef504ab1f989d2ff0f684/numba-0.60.0-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:fe0b28abb8d70f8160798f4de9d486143200f34458d34c4a214114e445d7124e", size = 3699694 }, - { url = "https://files.pythonhosted.org/packages/1c/b0/c61a93ca947d12233ff45de506ddbf52af3f752066a0b8be4d27426e16da/numba-0.60.0-cp310-cp310-win_amd64.whl", hash = "sha256:19407ced081d7e2e4b8d8c36aa57b7452e0283871c296e12d798852bc7d7f198", size = 2687030 }, - { url = "https://files.pythonhosted.org/packages/98/ad/df18d492a8f00d29a30db307904b9b296e37507034eedb523876f3a2e13e/numba-0.60.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:a17b70fc9e380ee29c42717e8cc0bfaa5556c416d94f9aa96ba13acb41bdece8", size = 2647254 }, - { url = "https://files.pythonhosted.org/packages/9a/51/a4dc2c01ce7a850b8e56ff6d5381d047a5daea83d12bad08aa071d34b2ee/numba-0.60.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:3fb02b344a2a80efa6f677aa5c40cd5dd452e1b35f8d1c2af0dfd9ada9978e4b", size = 2649970 }, - { url = "https://files.pythonhosted.org/packages/f9/4c/8889ac94c0b33dca80bed11564b8c6d9ea14d7f094e674c58e5c5b05859b/numba-0.60.0-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:5f4fde652ea604ea3c86508a3fb31556a6157b2c76c8b51b1d45eb40c8598703", size = 3412492 }, - { url = "https://files.pythonhosted.org/packages/57/03/2b4245b05b71c0cee667e6a0b51606dfa7f4157c9093d71c6b208385a611/numba-0.60.0-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:4142d7ac0210cc86432b818338a2bc368dc773a2f5cf1e32ff7c5b378bd63ee8", size = 3705018 }, - { url = "https://files.pythonhosted.org/packages/79/89/2d924ca60dbf949f18a6fec223a2445f5f428d9a5f97a6b29c2122319015/numba-0.60.0-cp311-cp311-win_amd64.whl", hash = "sha256:cac02c041e9b5bc8cf8f2034ff6f0dbafccd1ae9590dc146b3a02a45e53af4e2", size = 2686920 }, - { url = "https://files.pythonhosted.org/packages/eb/5c/b5ec752c475e78a6c3676b67c514220dbde2725896bbb0b6ec6ea54b2738/numba-0.60.0-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:d7da4098db31182fc5ffe4bc42c6f24cd7d1cb8a14b59fd755bfee32e34b8404", size = 2647866 }, - { url = "https://files.pythonhosted.org/packages/65/42/39559664b2e7c15689a638c2a38b3b74c6e69a04e2b3019b9f7742479188/numba-0.60.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:38d6ea4c1f56417076ecf8fc327c831ae793282e0ff51080c5094cb726507b1c", size = 2650208 }, - { url = "https://files.pythonhosted.org/packages/67/88/c4459ccc05674ef02119abf2888ccd3e2fed12a323f52255f4982fc95876/numba-0.60.0-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:62908d29fb6a3229c242e981ca27e32a6e606cc253fc9e8faeb0e48760de241e", size = 3466946 }, - { url = "https://files.pythonhosted.org/packages/8b/41/ac11cf33524def12aa5bd698226ae196a1185831c05ed29dc0c56eaa308b/numba-0.60.0-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:0ebaa91538e996f708f1ab30ef4d3ddc344b64b5227b67a57aa74f401bb68b9d", size = 3761463 }, - { url = "https://files.pythonhosted.org/packages/ca/bd/0fe29fcd1b6a8de479a4ed25c6e56470e467e3611c079d55869ceef2b6d1/numba-0.60.0-cp312-cp312-win_amd64.whl", hash = "sha256:f75262e8fe7fa96db1dca93d53a194a38c46da28b112b8a4aca168f0df860347", size = 2707588 }, - { url = "https://files.pythonhosted.org/packages/68/1a/87c53f836cdf557083248c3f47212271f220280ff766538795e77c8c6bbf/numba-0.60.0-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:01ef4cd7d83abe087d644eaa3d95831b777aa21d441a23703d649e06b8e06b74", size = 2647186 }, - { url = "https://files.pythonhosted.org/packages/28/14/a5baa1f2edea7b49afa4dc1bb1b126645198cf1075186853b5b497be826e/numba-0.60.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:819a3dfd4630d95fd574036f99e47212a1af41cbcb019bf8afac63ff56834449", size = 2650038 }, - { url = "https://files.pythonhosted.org/packages/3b/bd/f1985719ff34e37e07bb18f9d3acd17e5a21da255f550c8eae031e2ddf5f/numba-0.60.0-cp39-cp39-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:0b983bd6ad82fe868493012487f34eae8bf7dd94654951404114f23c3466d34b", size = 3403010 }, - { url = "https://files.pythonhosted.org/packages/54/9b/cd73d3f6617ddc8398a63ef97d8dc9139a9879b9ca8a7ca4b8789056ea46/numba-0.60.0-cp39-cp39-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:c151748cd269ddeab66334bd754817ffc0cabd9433acb0f551697e5151917d25", size = 3695086 }, - { url = "https://files.pythonhosted.org/packages/01/01/8b7b670c77c5ea0e47e283d82332969bf672ab6410d0b2610cac5b7a3ded/numba-0.60.0-cp39-cp39-win_amd64.whl", hash = "sha256:3031547a015710140e8c87226b4cfe927cac199835e5bf7d4fe5cb64e814e3ab", size = 2686978 }, +sdist = { url = "https://files.pythonhosted.org/packages/3c/93/2849300a9184775ba274aba6f82f303343669b0592b7bb0849ea713dabb0/numba-0.60.0.tar.gz", hash = "sha256:5df6158e5584eece5fc83294b949fd30b9f1125df7708862205217e068aabf16", size = 2702171, upload-time = "2024-06-13T18:11:19.869Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/f7/cf/baa13a7e3556d73d9e38021e6d6aa4aeb30d8b94545aa8b70d0f24a1ccc4/numba-0.60.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:5d761de835cd38fb400d2c26bb103a2726f548dc30368853121d66201672e651", size = 2647627, upload-time = "2024-06-13T18:10:29.857Z" }, + { url = "https://files.pythonhosted.org/packages/ac/ba/4b57fa498564457c3cc9fc9e570a6b08e6086c74220f24baaf04e54b995f/numba-0.60.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:159e618ef213fba758837f9837fb402bbe65326e60ba0633dbe6c7f274d42c1b", size = 2650322, upload-time = "2024-06-13T18:10:32.849Z" }, + { url = "https://files.pythonhosted.org/packages/28/98/7ea97ee75870a54f938a8c70f7e0be4495ba5349c5f9db09d467c4a5d5b7/numba-0.60.0-cp310-cp310-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:1527dc578b95c7c4ff248792ec33d097ba6bef9eda466c948b68dfc995c25781", size = 3407390, upload-time = "2024-06-13T18:10:34.741Z" }, + { url = "https://files.pythonhosted.org/packages/79/58/cb4ac5b8f7ec64200460aef1fed88258fb872ceef504ab1f989d2ff0f684/numba-0.60.0-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:fe0b28abb8d70f8160798f4de9d486143200f34458d34c4a214114e445d7124e", size = 3699694, upload-time = "2024-06-13T18:10:37.295Z" }, + { url = "https://files.pythonhosted.org/packages/1c/b0/c61a93ca947d12233ff45de506ddbf52af3f752066a0b8be4d27426e16da/numba-0.60.0-cp310-cp310-win_amd64.whl", hash = "sha256:19407ced081d7e2e4b8d8c36aa57b7452e0283871c296e12d798852bc7d7f198", size = 2687030, upload-time = "2024-06-13T18:10:39.47Z" }, + { url = "https://files.pythonhosted.org/packages/98/ad/df18d492a8f00d29a30db307904b9b296e37507034eedb523876f3a2e13e/numba-0.60.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:a17b70fc9e380ee29c42717e8cc0bfaa5556c416d94f9aa96ba13acb41bdece8", size = 2647254, upload-time = "2024-06-13T18:10:41.69Z" }, + { url = "https://files.pythonhosted.org/packages/9a/51/a4dc2c01ce7a850b8e56ff6d5381d047a5daea83d12bad08aa071d34b2ee/numba-0.60.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:3fb02b344a2a80efa6f677aa5c40cd5dd452e1b35f8d1c2af0dfd9ada9978e4b", size = 2649970, upload-time = "2024-06-13T18:10:44.682Z" }, + { url = "https://files.pythonhosted.org/packages/f9/4c/8889ac94c0b33dca80bed11564b8c6d9ea14d7f094e674c58e5c5b05859b/numba-0.60.0-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:5f4fde652ea604ea3c86508a3fb31556a6157b2c76c8b51b1d45eb40c8598703", size = 3412492, upload-time = "2024-06-13T18:10:47.1Z" }, + { url = "https://files.pythonhosted.org/packages/57/03/2b4245b05b71c0cee667e6a0b51606dfa7f4157c9093d71c6b208385a611/numba-0.60.0-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:4142d7ac0210cc86432b818338a2bc368dc773a2f5cf1e32ff7c5b378bd63ee8", size = 3705018, upload-time = "2024-06-13T18:10:49.539Z" }, + { url = "https://files.pythonhosted.org/packages/79/89/2d924ca60dbf949f18a6fec223a2445f5f428d9a5f97a6b29c2122319015/numba-0.60.0-cp311-cp311-win_amd64.whl", hash = "sha256:cac02c041e9b5bc8cf8f2034ff6f0dbafccd1ae9590dc146b3a02a45e53af4e2", size = 2686920, upload-time = "2024-06-13T18:10:51.937Z" }, + { url = "https://files.pythonhosted.org/packages/eb/5c/b5ec752c475e78a6c3676b67c514220dbde2725896bbb0b6ec6ea54b2738/numba-0.60.0-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:d7da4098db31182fc5ffe4bc42c6f24cd7d1cb8a14b59fd755bfee32e34b8404", size = 2647866, upload-time = "2024-06-13T18:10:54.453Z" }, + { url = "https://files.pythonhosted.org/packages/65/42/39559664b2e7c15689a638c2a38b3b74c6e69a04e2b3019b9f7742479188/numba-0.60.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:38d6ea4c1f56417076ecf8fc327c831ae793282e0ff51080c5094cb726507b1c", size = 2650208, upload-time = "2024-06-13T18:10:56.779Z" }, + { url = "https://files.pythonhosted.org/packages/67/88/c4459ccc05674ef02119abf2888ccd3e2fed12a323f52255f4982fc95876/numba-0.60.0-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:62908d29fb6a3229c242e981ca27e32a6e606cc253fc9e8faeb0e48760de241e", size = 3466946, upload-time = "2024-06-13T18:10:58.961Z" }, + { url = "https://files.pythonhosted.org/packages/8b/41/ac11cf33524def12aa5bd698226ae196a1185831c05ed29dc0c56eaa308b/numba-0.60.0-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:0ebaa91538e996f708f1ab30ef4d3ddc344b64b5227b67a57aa74f401bb68b9d", size = 3761463, upload-time = "2024-06-13T18:11:01.657Z" }, + { url = "https://files.pythonhosted.org/packages/ca/bd/0fe29fcd1b6a8de479a4ed25c6e56470e467e3611c079d55869ceef2b6d1/numba-0.60.0-cp312-cp312-win_amd64.whl", hash = "sha256:f75262e8fe7fa96db1dca93d53a194a38c46da28b112b8a4aca168f0df860347", size = 2707588, upload-time = "2024-06-13T18:11:04.261Z" }, + { url = "https://files.pythonhosted.org/packages/68/1a/87c53f836cdf557083248c3f47212271f220280ff766538795e77c8c6bbf/numba-0.60.0-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:01ef4cd7d83abe087d644eaa3d95831b777aa21d441a23703d649e06b8e06b74", size = 2647186, upload-time = "2024-06-13T18:11:06.753Z" }, + { url = "https://files.pythonhosted.org/packages/28/14/a5baa1f2edea7b49afa4dc1bb1b126645198cf1075186853b5b497be826e/numba-0.60.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:819a3dfd4630d95fd574036f99e47212a1af41cbcb019bf8afac63ff56834449", size = 2650038, upload-time = "2024-06-13T18:11:10.869Z" }, + { url = "https://files.pythonhosted.org/packages/3b/bd/f1985719ff34e37e07bb18f9d3acd17e5a21da255f550c8eae031e2ddf5f/numba-0.60.0-cp39-cp39-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:0b983bd6ad82fe868493012487f34eae8bf7dd94654951404114f23c3466d34b", size = 3403010, upload-time = "2024-06-13T18:11:13.057Z" }, + { url = "https://files.pythonhosted.org/packages/54/9b/cd73d3f6617ddc8398a63ef97d8dc9139a9879b9ca8a7ca4b8789056ea46/numba-0.60.0-cp39-cp39-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:c151748cd269ddeab66334bd754817ffc0cabd9433acb0f551697e5151917d25", size = 3695086, upload-time = "2024-06-13T18:11:15.497Z" }, + { url = "https://files.pythonhosted.org/packages/01/01/8b7b670c77c5ea0e47e283d82332969bf672ab6410d0b2610cac5b7a3ded/numba-0.60.0-cp39-cp39-win_amd64.whl", hash = "sha256:3031547a015710140e8c87226b4cfe927cac199835e5bf7d4fe5cb64e814e3ab", size = 2686978, upload-time = "2024-06-13T18:11:17.765Z" }, ] [[package]] name = "numba" -version = "0.61.2" +version = "0.64.0" source = { registry = "https://pypi.org/simple" } resolution-markers = [ - "python_full_version >= '3.12'", - "python_full_version == '3.11.*'", + "python_full_version >= '3.11' and sys_platform == 'win32'", + "python_full_version >= '3.11' and sys_platform == 'emscripten'", + "python_full_version >= '3.11' and sys_platform != 'emscripten' and sys_platform != 'win32'", "python_full_version == '3.10.*'", ] dependencies = [ - { name = "llvmlite", version = "0.44.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.10'" }, + { name = "llvmlite", version = "0.46.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.10'" }, { name = "numpy", marker = "python_full_version >= '3.10'" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/1c/a0/e21f57604304aa03ebb8e098429222722ad99176a4f979d34af1d1ee80da/numba-0.61.2.tar.gz", hash = "sha256:8750ee147940a6637b80ecf7f95062185ad8726c8c28a2295b8ec1160a196f7d", size = 2820615 } +sdist = { url = "https://files.pythonhosted.org/packages/23/c9/a0fb41787d01d621046138da30f6c2100d80857bf34b3390dd68040f27a3/numba-0.64.0.tar.gz", hash = "sha256:95e7300af648baa3308127b1955b52ce6d11889d16e8cfe637b4f85d2fca52b1", size = 2765679, upload-time = "2026-02-18T18:41:20.974Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/eb/ca/f470be59552ccbf9531d2d383b67ae0b9b524d435fb4a0d229fef135116e/numba-0.61.2-cp310-cp310-macosx_10_14_x86_64.whl", hash = "sha256:cf9f9fc00d6eca0c23fc840817ce9f439b9f03c8f03d6246c0e7f0cb15b7162a", size = 2775663 }, - { url = "https://files.pythonhosted.org/packages/f5/13/3bdf52609c80d460a3b4acfb9fdb3817e392875c0d6270cf3fd9546f138b/numba-0.61.2-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:ea0247617edcb5dd61f6106a56255baab031acc4257bddaeddb3a1003b4ca3fd", size = 2778344 }, - { url = "https://files.pythonhosted.org/packages/e2/7d/bfb2805bcfbd479f04f835241ecf28519f6e3609912e3a985aed45e21370/numba-0.61.2-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:ae8c7a522c26215d5f62ebec436e3d341f7f590079245a2f1008dfd498cc1642", size = 3824054 }, - { url = "https://files.pythonhosted.org/packages/e3/27/797b2004745c92955470c73c82f0e300cf033c791f45bdecb4b33b12bdea/numba-0.61.2-cp310-cp310-manylinux_2_28_aarch64.whl", hash = "sha256:bd1e74609855aa43661edffca37346e4e8462f6903889917e9f41db40907daa2", size = 3518531 }, - { url = "https://files.pythonhosted.org/packages/b1/c6/c2fb11e50482cb310afae87a997707f6c7d8a48967b9696271347441f650/numba-0.61.2-cp310-cp310-win_amd64.whl", hash = "sha256:ae45830b129c6137294093b269ef0a22998ccc27bf7cf096ab8dcf7bca8946f9", size = 2831612 }, - { url = "https://files.pythonhosted.org/packages/3f/97/c99d1056aed767503c228f7099dc11c402906b42a4757fec2819329abb98/numba-0.61.2-cp311-cp311-macosx_10_14_x86_64.whl", hash = "sha256:efd3db391df53aaa5cfbee189b6c910a5b471488749fd6606c3f33fc984c2ae2", size = 2775825 }, - { url = "https://files.pythonhosted.org/packages/95/9e/63c549f37136e892f006260c3e2613d09d5120672378191f2dc387ba65a2/numba-0.61.2-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:49c980e4171948ffebf6b9a2520ea81feed113c1f4890747ba7f59e74be84b1b", size = 2778695 }, - { url = "https://files.pythonhosted.org/packages/97/c8/8740616c8436c86c1b9a62e72cb891177d2c34c2d24ddcde4c390371bf4c/numba-0.61.2-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:3945615cd73c2c7eba2a85ccc9c1730c21cd3958bfcf5a44302abae0fb07bb60", size = 3829227 }, - { url = "https://files.pythonhosted.org/packages/fc/06/66e99ae06507c31d15ff3ecd1f108f2f59e18b6e08662cd5f8a5853fbd18/numba-0.61.2-cp311-cp311-manylinux_2_28_aarch64.whl", hash = "sha256:bbfdf4eca202cebade0b7d43896978e146f39398909a42941c9303f82f403a18", size = 3523422 }, - { url = "https://files.pythonhosted.org/packages/0f/a4/2b309a6a9f6d4d8cfba583401c7c2f9ff887adb5d54d8e2e130274c0973f/numba-0.61.2-cp311-cp311-win_amd64.whl", hash = "sha256:76bcec9f46259cedf888041b9886e257ae101c6268261b19fda8cfbc52bec9d1", size = 2831505 }, - { url = "https://files.pythonhosted.org/packages/b4/a0/c6b7b9c615cfa3b98c4c63f4316e3f6b3bbe2387740277006551784218cd/numba-0.61.2-cp312-cp312-macosx_10_14_x86_64.whl", hash = "sha256:34fba9406078bac7ab052efbf0d13939426c753ad72946baaa5bf9ae0ebb8dd2", size = 2776626 }, - { url = "https://files.pythonhosted.org/packages/92/4a/fe4e3c2ecad72d88f5f8cd04e7f7cff49e718398a2fac02d2947480a00ca/numba-0.61.2-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:4ddce10009bc097b080fc96876d14c051cc0c7679e99de3e0af59014dab7dfe8", size = 2779287 }, - { url = "https://files.pythonhosted.org/packages/9a/2d/e518df036feab381c23a624dac47f8445ac55686ec7f11083655eb707da3/numba-0.61.2-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:5b1bb509d01f23d70325d3a5a0e237cbc9544dd50e50588bc581ba860c213546", size = 3885928 }, - { url = "https://files.pythonhosted.org/packages/10/0f/23cced68ead67b75d77cfcca3df4991d1855c897ee0ff3fe25a56ed82108/numba-0.61.2-cp312-cp312-manylinux_2_28_aarch64.whl", hash = "sha256:48a53a3de8f8793526cbe330f2a39fe9a6638efcbf11bd63f3d2f9757ae345cd", size = 3577115 }, - { url = "https://files.pythonhosted.org/packages/68/1d/ddb3e704c5a8fb90142bf9dc195c27db02a08a99f037395503bfbc1d14b3/numba-0.61.2-cp312-cp312-win_amd64.whl", hash = "sha256:97cf4f12c728cf77c9c1d7c23707e4d8fb4632b46275f8f3397de33e5877af18", size = 2831929 }, + { url = "https://files.pythonhosted.org/packages/4c/5e/604fed821cd7e3426bb3bc99a7ed6ac0bcb489f4cd93052256437d082f95/numba-0.64.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:cc09b79440952e3098eeebea4bf6e8d2355fb7f12734fcd9fc5039f0dca90727", size = 2683250, upload-time = "2026-02-18T18:40:45.829Z" }, + { url = "https://files.pythonhosted.org/packages/4f/9f/9275a723d050b5f1a9b1c7fb7dbfce324fef301a8e50c5f88338569db06c/numba-0.64.0-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:1afe3a80b8c2f376b211fb7a49e536ef9eafc92436afc95a2f41ea5392f8cc65", size = 3742168, upload-time = "2026-02-18T18:40:48.066Z" }, + { url = "https://files.pythonhosted.org/packages/e2/d1/97ca7dddaa36b16f4c46319bdb6b4913ba15d0245317d0d8ccde7b2d7d92/numba-0.64.0-cp310-cp310-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:23804194b93b8cd416c6444b5fbc4956082a45fed2d25436ef49c594666e7f7e", size = 3449103, upload-time = "2026-02-18T18:40:49.905Z" }, + { url = "https://files.pythonhosted.org/packages/52/0a/b9e137ad78415373e3353564500e8bf29dbce3c0d73633bb384d4e5d7537/numba-0.64.0-cp310-cp310-win_amd64.whl", hash = "sha256:e2a9fe998bb2cf848960b34db02c2c3b5e02cf82c07a26d9eef3494069740278", size = 2749950, upload-time = "2026-02-18T18:40:51.536Z" }, + { url = "https://files.pythonhosted.org/packages/89/a3/1a4286a1c16136c8896d8e2090d950e79b3ec626d3a8dc9620f6234d5a38/numba-0.64.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:766156ee4b8afeeb2b2e23c81307c5d19031f18d5ce76ae2c5fb1429e72fa92b", size = 2682938, upload-time = "2026-02-18T18:40:52.897Z" }, + { url = "https://files.pythonhosted.org/packages/19/16/aa6e3ba3cd45435c117d1101b278b646444ed05b7c712af631b91353f573/numba-0.64.0-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:d17071b4ffc9d39b75d8e6c101a36f0c81b646123859898c9799cb31807c8f78", size = 3747376, upload-time = "2026-02-18T18:40:54.925Z" }, + { url = "https://files.pythonhosted.org/packages/c0/f1/dd2f25e18d75fdf897f730b78c5a7b00cc4450f2405564dbebfaf359f21f/numba-0.64.0-cp311-cp311-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:4ead5630434133bac87fa67526eacb264535e4e9a2d5ec780e0b4fc381a7d275", size = 3453292, upload-time = "2026-02-18T18:40:56.818Z" }, + { url = "https://files.pythonhosted.org/packages/31/29/e09d5630578a50a2b3fa154990b6b839cf95327aa0709e2d50d0b6816cd1/numba-0.64.0-cp311-cp311-win_amd64.whl", hash = "sha256:f2b1fd93e7aaac07d6fbaed059c00679f591f2423885c206d8c1b55d65ca3f2d", size = 2749824, upload-time = "2026-02-18T18:40:58.392Z" }, + { url = "https://files.pythonhosted.org/packages/70/a6/9fc52cb4f0d5e6d8b5f4d81615bc01012e3cf24e1052a60f17a68deb8092/numba-0.64.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:69440a8e8bc1a81028446f06b363e28635aa67bd51b1e498023f03b812e0ce68", size = 2683418, upload-time = "2026-02-18T18:40:59.886Z" }, + { url = "https://files.pythonhosted.org/packages/9b/89/1a74ea99b180b7a5587b0301ed1b183a2937c4b4b67f7994689b5d36fc34/numba-0.64.0-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:f13721011f693ba558b8dd4e4db7f2640462bba1b855bdc804be45bbeb55031a", size = 3804087, upload-time = "2026-02-18T18:41:01.699Z" }, + { url = "https://files.pythonhosted.org/packages/91/e1/583c647404b15f807410510fec1eb9b80cb8474165940b7749f026f21cbc/numba-0.64.0-cp312-cp312-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:e0b180b1133f2b5d8b3f09d96b6d7a9e51a7da5dda3c09e998b5bcfac85d222c", size = 3504309, upload-time = "2026-02-18T18:41:03.252Z" }, + { url = "https://files.pythonhosted.org/packages/85/23/0fce5789b8a5035e7ace21216a468143f3144e02013252116616c58339aa/numba-0.64.0-cp312-cp312-win_amd64.whl", hash = "sha256:e63dc94023b47894849b8b106db28ccb98b49d5498b98878fac1a38f83ac007a", size = 2752740, upload-time = "2026-02-18T18:41:05.097Z" }, ] [[package]] name = "numexpr" version = "2.10.2" source = { registry = "https://pypi.org/simple" } +resolution-markers = [ + "python_full_version < '3.10'", +] dependencies = [ - { name = "numpy" }, + { name = "numpy", marker = "python_full_version < '3.10'" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/21/67/c7415cf04ebe418193cfd6595ae03e3a64d76dac7b9c010098b39cc7992e/numexpr-2.10.2.tar.gz", hash = "sha256:b0aff6b48ebc99d2f54f27b5f73a58cb92fde650aeff1b397c71c8788b4fff1a", size = 106787, upload-time = "2024-11-23T13:34:23.127Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/fd/dc/bd84219318826d138b7e729ac3ffce3c706ab9d810ce74326a55c7252dd1/numexpr-2.10.2-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:b5b0e82d2109c1d9e63fcd5ea177d80a11b881157ab61178ddbdebd4c561ea46", size = 145011, upload-time = "2024-11-23T13:33:24.846Z" }, + { url = "https://files.pythonhosted.org/packages/31/6a/b1f08141283327478a57490c0ab3f26a634d4741ff33b9e22f760a7cedb0/numexpr-2.10.2-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:3fc2b8035a0c2cdc352e58c3875cb668836018065cbf5752cb531015d9a568d8", size = 134777, upload-time = "2024-11-23T13:33:26.693Z" }, + { url = "https://files.pythonhosted.org/packages/7c/d6/6641864b0446ce472330de7644c78f90bd7e55d902046b44161f92721279/numexpr-2.10.2-cp310-cp310-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:0db5ff5183935d1612653559c319922143e8fa3019007696571b13135f216458", size = 408893, upload-time = "2024-11-23T13:33:28.44Z" }, + { url = "https://files.pythonhosted.org/packages/25/ab/cb5809cb1f66431632d63dc028c58cb91492725c74dddc4b97ba62e88a92/numexpr-2.10.2-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:15f59655458056fdb3a621b1bb8e071581ccf7e823916c7568bb7c9a3e393025", size = 397305, upload-time = "2024-11-23T13:33:30.181Z" }, + { url = "https://files.pythonhosted.org/packages/9c/a0/29bcb31a9debb743e3dc46bacd55f4f6ee6a77d95eda5c8dca19a29c0627/numexpr-2.10.2-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:ce8cccf944339051e44a49a124a06287fe3066d0acbff33d1aa5aee10a96abb7", size = 1378789, upload-time = "2024-11-23T13:33:32.263Z" }, + { url = "https://files.pythonhosted.org/packages/cc/72/415262a7bdda706c41bf8254311a5ca13d3b8532341ab478be4583d7061a/numexpr-2.10.2-cp310-cp310-win32.whl", hash = "sha256:ba85371c9a8d03e115f4dfb6d25dfbce05387002b9bc85016af939a1da9624f0", size = 151935, upload-time = "2024-11-23T13:33:33.653Z" }, + { url = "https://files.pythonhosted.org/packages/71/fa/0124f0c2a502a0bac4553c8a171c551f154cf80a83a15e40d30c43e48a7e/numexpr-2.10.2-cp310-cp310-win_amd64.whl", hash = "sha256:deb64235af9eeba59fcefa67e82fa80cfc0662e1b0aa373b7118a28da124d51d", size = 144961, upload-time = "2024-11-23T13:33:34.883Z" }, + { url = "https://files.pythonhosted.org/packages/de/b7/f25d6166f92ef23737c1c90416144492a664f0a56510d90f7c6577c2cd14/numexpr-2.10.2-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:6b360eb8d392483410fe6a3d5a7144afa298c9a0aa3e9fe193e89590b47dd477", size = 145055, upload-time = "2024-11-23T13:33:36.154Z" }, + { url = "https://files.pythonhosted.org/packages/66/64/428361ea6415826332f38ef2dd5c3abf4e7e601f033bfc9be68b680cb765/numexpr-2.10.2-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:d9a42f5c24880350d88933c4efee91b857c378aaea7e8b86221fff569069841e", size = 134743, upload-time = "2024-11-23T13:33:37.273Z" }, + { url = "https://files.pythonhosted.org/packages/3f/fb/639ec91d2ea7b4a5d66e26e8ef8e06b020c8e9b9ebaf3bab7b0a9bee472e/numexpr-2.10.2-cp311-cp311-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:83fcb11988b57cc25b028a36d285287d706d1f536ebf2662ea30bd990e0de8b9", size = 410397, upload-time = "2024-11-23T13:33:38.474Z" }, + { url = "https://files.pythonhosted.org/packages/89/5a/0f5c5b8a3a6d34eeecb30d0e2f722d50b9b38c0e175937e7c6268ffab997/numexpr-2.10.2-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:4213a92efa9770bc28e3792134e27c7e5c7e97068bdfb8ba395baebbd12f991b", size = 398902, upload-time = "2024-11-23T13:33:39.802Z" }, + { url = "https://files.pythonhosted.org/packages/a2/d5/ec734e735eba5a753efed5be3707ee7447ebd371772f8081b65a4153fb97/numexpr-2.10.2-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:ebdbef5763ca057eea0c2b5698e4439d084a0505d9d6e94f4804f26e8890c45e", size = 1380354, upload-time = "2024-11-23T13:33:41.68Z" }, + { url = "https://files.pythonhosted.org/packages/30/51/406e572531d817480bd612ee08239a36ee82865fea02fce569f15631f4ee/numexpr-2.10.2-cp311-cp311-win32.whl", hash = "sha256:3bf01ec502d89944e49e9c1b5cc7c7085be8ca2eb9dd46a0eafd218afbdbd5f5", size = 151938, upload-time = "2024-11-23T13:33:43.998Z" }, + { url = "https://files.pythonhosted.org/packages/04/32/5882ed1dbd96234f327a73316a481add151ff827cfaf2ea24fb4d5ad04db/numexpr-2.10.2-cp311-cp311-win_amd64.whl", hash = "sha256:e2d0ae24b0728e4bc3f1d3f33310340d67321d36d6043f7ce26897f4f1042db0", size = 144961, upload-time = "2024-11-23T13:33:45.329Z" }, + { url = "https://files.pythonhosted.org/packages/2b/96/d5053dea06d8298ae8052b4b049cbf8ef74998e28d57166cc27b8ae909e2/numexpr-2.10.2-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:b5323a46e75832334f1af86da1ef6ff0add00fbacdd266250be872b438bdf2be", size = 145029, upload-time = "2024-11-23T13:33:46.892Z" }, + { url = "https://files.pythonhosted.org/packages/3e/3c/fcd5a812ed5dda757b2d9ef2764a3e1cca6f6d1f02dbf113dc23a2c7702a/numexpr-2.10.2-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:a42963bd4c62d8afa4f51e7974debfa39a048383f653544ab54f50a2f7ec6c42", size = 134851, upload-time = "2024-11-23T13:33:47.986Z" }, + { url = "https://files.pythonhosted.org/packages/0a/52/0ed3b306d8c9944129bce97fec73a2caff13adbd7e1df148d546d7eb2d4d/numexpr-2.10.2-cp312-cp312-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:5191ba8f2975cb9703afc04ae845a929e193498c0e8bcd408ecb147b35978470", size = 411837, upload-time = "2024-11-23T13:33:49.223Z" }, + { url = "https://files.pythonhosted.org/packages/7d/9c/6b671dd3fb67d7e7da93cb76b7c5277743f310a216b7856bb18776bb3371/numexpr-2.10.2-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:97298b14f0105a794bea06fd9fbc5c423bd3ff4d88cbc618860b83eb7a436ad6", size = 400577, upload-time = "2024-11-23T13:33:50.559Z" }, + { url = "https://files.pythonhosted.org/packages/ea/4d/a167d1a215fe10ce58c45109f2869fd13aa0eef66f7e8c69af68be45d436/numexpr-2.10.2-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:f9d7805ccb6be2d3b0f7f6fad3707a09ac537811e8e9964f4074d28cb35543db", size = 1381735, upload-time = "2024-11-23T13:33:51.918Z" }, + { url = "https://files.pythonhosted.org/packages/c1/d4/17e4434f989e4917d31cbd88a043e1c9c16958149cf43fa622987111392b/numexpr-2.10.2-cp312-cp312-win32.whl", hash = "sha256:cb845b2d4f9f8ef0eb1c9884f2b64780a85d3b5ae4eeb26ae2b0019f489cd35e", size = 152102, upload-time = "2024-11-23T13:33:53.93Z" }, + { url = "https://files.pythonhosted.org/packages/b8/25/9ae599994076ef2a42d35ff6b0430da002647f212567851336a6c7b132d6/numexpr-2.10.2-cp312-cp312-win_amd64.whl", hash = "sha256:57b59cbb5dcce4edf09cd6ce0b57ff60312479930099ca8d944c2fac896a1ead", size = 145061, upload-time = "2024-11-23T13:33:55.161Z" }, + { url = "https://files.pythonhosted.org/packages/41/6a/06a225ac970c5921f41bc069a30438ff64fd79ef5e828f5ec2d4f6658307/numexpr-2.10.2-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:0495f8111c3633e265248709b8b3b521bbfa646ba384909edd10e2b9a588a83a", size = 145100, upload-time = "2024-11-23T13:33:12.013Z" }, + { url = "https://files.pythonhosted.org/packages/bb/c5/9ecfa0da1d93d57e3f447d10da8cf6d695c93131cec085625e5092b37631/numexpr-2.10.2-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:2aa05ac71bee3b1253e73173c4d7fa96a09a18970c0226f1c2c07a71ffe988dc", size = 134839, upload-time = "2024-11-23T13:33:13.608Z" }, + { url = "https://files.pythonhosted.org/packages/f5/30/f1a48c485183da517bd28e0df6fee337d12bbb0cd2d6bf13f8f5695afd37/numexpr-2.10.2-cp39-cp39-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:c3a23c3002ab330056fbdd2785871937a6f2f2fa85d06c8d0ff74ea8418119d1", size = 408149, upload-time = "2024-11-23T13:33:15.549Z" }, + { url = "https://files.pythonhosted.org/packages/ed/f2/009d9dd8cd22f253fd6ead4165f81fafbe22489c1cfea612e18aa3dcb0fa/numexpr-2.10.2-cp39-cp39-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:a018a7d81326f4c73d8b5aee61794d7d8514512f43957c0db61eb2a8a86848c7", size = 396740, upload-time = "2024-11-23T13:33:17.396Z" }, + { url = "https://files.pythonhosted.org/packages/47/90/e3f12670b3cca9bed85096671265e0f65cde6cf4646baadd4ee9c33944a8/numexpr-2.10.2-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:037859b17a0abe2b489d4c2cfdadd2bf458ec80dd83f338ea5544c7987e06b85", size = 1377883, upload-time = "2024-11-23T13:33:20.385Z" }, + { url = "https://files.pythonhosted.org/packages/06/1d/068c09a3c013c1178495f73a21ebd6ee25b9f0fc4202cea38b7a826c43a2/numexpr-2.10.2-cp39-cp39-win32.whl", hash = "sha256:eb278ccda6f893a312aa0452701bb17d098b7b14eb7c9381517d509cce0a39a3", size = 151878, upload-time = "2024-11-23T13:33:21.67Z" }, + { url = "https://files.pythonhosted.org/packages/70/81/affb9ff26e8accb210fe5585b095bd6872f5614d18b76cd53888e955ed9a/numexpr-2.10.2-cp39-cp39-win_amd64.whl", hash = "sha256:734b64c6d6a597601ce9d0ef7b666e678ec015b446f1d1412c23903c021436c3", size = 144960, upload-time = "2024-11-23T13:33:23.617Z" }, +] + +[[package]] +name = "numexpr" +version = "2.14.1" +source = { registry = "https://pypi.org/simple" } +resolution-markers = [ + "python_full_version >= '3.11' and sys_platform == 'win32'", + "python_full_version >= '3.11' and sys_platform == 'emscripten'", + "python_full_version >= '3.11' and sys_platform != 'emscripten' and sys_platform != 'win32'", + "python_full_version == '3.10.*'", +] +dependencies = [ + { name = "numpy", marker = "python_full_version >= '3.10'" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/21/67/c7415cf04ebe418193cfd6595ae03e3a64d76dac7b9c010098b39cc7992e/numexpr-2.10.2.tar.gz", hash = "sha256:b0aff6b48ebc99d2f54f27b5f73a58cb92fde650aeff1b397c71c8788b4fff1a", size = 106787 } -wheels = [ - { url = "https://files.pythonhosted.org/packages/fd/dc/bd84219318826d138b7e729ac3ffce3c706ab9d810ce74326a55c7252dd1/numexpr-2.10.2-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:b5b0e82d2109c1d9e63fcd5ea177d80a11b881157ab61178ddbdebd4c561ea46", size = 145011 }, - { url = "https://files.pythonhosted.org/packages/31/6a/b1f08141283327478a57490c0ab3f26a634d4741ff33b9e22f760a7cedb0/numexpr-2.10.2-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:3fc2b8035a0c2cdc352e58c3875cb668836018065cbf5752cb531015d9a568d8", size = 134777 }, - { url = "https://files.pythonhosted.org/packages/7c/d6/6641864b0446ce472330de7644c78f90bd7e55d902046b44161f92721279/numexpr-2.10.2-cp310-cp310-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:0db5ff5183935d1612653559c319922143e8fa3019007696571b13135f216458", size = 408893 }, - { url = "https://files.pythonhosted.org/packages/25/ab/cb5809cb1f66431632d63dc028c58cb91492725c74dddc4b97ba62e88a92/numexpr-2.10.2-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:15f59655458056fdb3a621b1bb8e071581ccf7e823916c7568bb7c9a3e393025", size = 397305 }, - { url = "https://files.pythonhosted.org/packages/9c/a0/29bcb31a9debb743e3dc46bacd55f4f6ee6a77d95eda5c8dca19a29c0627/numexpr-2.10.2-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:ce8cccf944339051e44a49a124a06287fe3066d0acbff33d1aa5aee10a96abb7", size = 1378789 }, - { url = "https://files.pythonhosted.org/packages/cc/72/415262a7bdda706c41bf8254311a5ca13d3b8532341ab478be4583d7061a/numexpr-2.10.2-cp310-cp310-win32.whl", hash = "sha256:ba85371c9a8d03e115f4dfb6d25dfbce05387002b9bc85016af939a1da9624f0", size = 151935 }, - { url = "https://files.pythonhosted.org/packages/71/fa/0124f0c2a502a0bac4553c8a171c551f154cf80a83a15e40d30c43e48a7e/numexpr-2.10.2-cp310-cp310-win_amd64.whl", hash = "sha256:deb64235af9eeba59fcefa67e82fa80cfc0662e1b0aa373b7118a28da124d51d", size = 144961 }, - { url = "https://files.pythonhosted.org/packages/de/b7/f25d6166f92ef23737c1c90416144492a664f0a56510d90f7c6577c2cd14/numexpr-2.10.2-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:6b360eb8d392483410fe6a3d5a7144afa298c9a0aa3e9fe193e89590b47dd477", size = 145055 }, - { url = "https://files.pythonhosted.org/packages/66/64/428361ea6415826332f38ef2dd5c3abf4e7e601f033bfc9be68b680cb765/numexpr-2.10.2-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:d9a42f5c24880350d88933c4efee91b857c378aaea7e8b86221fff569069841e", size = 134743 }, - { url = "https://files.pythonhosted.org/packages/3f/fb/639ec91d2ea7b4a5d66e26e8ef8e06b020c8e9b9ebaf3bab7b0a9bee472e/numexpr-2.10.2-cp311-cp311-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:83fcb11988b57cc25b028a36d285287d706d1f536ebf2662ea30bd990e0de8b9", size = 410397 }, - { url = "https://files.pythonhosted.org/packages/89/5a/0f5c5b8a3a6d34eeecb30d0e2f722d50b9b38c0e175937e7c6268ffab997/numexpr-2.10.2-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:4213a92efa9770bc28e3792134e27c7e5c7e97068bdfb8ba395baebbd12f991b", size = 398902 }, - { url = "https://files.pythonhosted.org/packages/a2/d5/ec734e735eba5a753efed5be3707ee7447ebd371772f8081b65a4153fb97/numexpr-2.10.2-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:ebdbef5763ca057eea0c2b5698e4439d084a0505d9d6e94f4804f26e8890c45e", size = 1380354 }, - { url = "https://files.pythonhosted.org/packages/30/51/406e572531d817480bd612ee08239a36ee82865fea02fce569f15631f4ee/numexpr-2.10.2-cp311-cp311-win32.whl", hash = "sha256:3bf01ec502d89944e49e9c1b5cc7c7085be8ca2eb9dd46a0eafd218afbdbd5f5", size = 151938 }, - { url = "https://files.pythonhosted.org/packages/04/32/5882ed1dbd96234f327a73316a481add151ff827cfaf2ea24fb4d5ad04db/numexpr-2.10.2-cp311-cp311-win_amd64.whl", hash = "sha256:e2d0ae24b0728e4bc3f1d3f33310340d67321d36d6043f7ce26897f4f1042db0", size = 144961 }, - { url = "https://files.pythonhosted.org/packages/2b/96/d5053dea06d8298ae8052b4b049cbf8ef74998e28d57166cc27b8ae909e2/numexpr-2.10.2-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:b5323a46e75832334f1af86da1ef6ff0add00fbacdd266250be872b438bdf2be", size = 145029 }, - { url = "https://files.pythonhosted.org/packages/3e/3c/fcd5a812ed5dda757b2d9ef2764a3e1cca6f6d1f02dbf113dc23a2c7702a/numexpr-2.10.2-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:a42963bd4c62d8afa4f51e7974debfa39a048383f653544ab54f50a2f7ec6c42", size = 134851 }, - { url = "https://files.pythonhosted.org/packages/0a/52/0ed3b306d8c9944129bce97fec73a2caff13adbd7e1df148d546d7eb2d4d/numexpr-2.10.2-cp312-cp312-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:5191ba8f2975cb9703afc04ae845a929e193498c0e8bcd408ecb147b35978470", size = 411837 }, - { url = "https://files.pythonhosted.org/packages/7d/9c/6b671dd3fb67d7e7da93cb76b7c5277743f310a216b7856bb18776bb3371/numexpr-2.10.2-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:97298b14f0105a794bea06fd9fbc5c423bd3ff4d88cbc618860b83eb7a436ad6", size = 400577 }, - { url = "https://files.pythonhosted.org/packages/ea/4d/a167d1a215fe10ce58c45109f2869fd13aa0eef66f7e8c69af68be45d436/numexpr-2.10.2-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:f9d7805ccb6be2d3b0f7f6fad3707a09ac537811e8e9964f4074d28cb35543db", size = 1381735 }, - { url = "https://files.pythonhosted.org/packages/c1/d4/17e4434f989e4917d31cbd88a043e1c9c16958149cf43fa622987111392b/numexpr-2.10.2-cp312-cp312-win32.whl", hash = "sha256:cb845b2d4f9f8ef0eb1c9884f2b64780a85d3b5ae4eeb26ae2b0019f489cd35e", size = 152102 }, - { url = "https://files.pythonhosted.org/packages/b8/25/9ae599994076ef2a42d35ff6b0430da002647f212567851336a6c7b132d6/numexpr-2.10.2-cp312-cp312-win_amd64.whl", hash = "sha256:57b59cbb5dcce4edf09cd6ce0b57ff60312479930099ca8d944c2fac896a1ead", size = 145061 }, - { url = "https://files.pythonhosted.org/packages/41/6a/06a225ac970c5921f41bc069a30438ff64fd79ef5e828f5ec2d4f6658307/numexpr-2.10.2-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:0495f8111c3633e265248709b8b3b521bbfa646ba384909edd10e2b9a588a83a", size = 145100 }, - { url = "https://files.pythonhosted.org/packages/bb/c5/9ecfa0da1d93d57e3f447d10da8cf6d695c93131cec085625e5092b37631/numexpr-2.10.2-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:2aa05ac71bee3b1253e73173c4d7fa96a09a18970c0226f1c2c07a71ffe988dc", size = 134839 }, - { url = "https://files.pythonhosted.org/packages/f5/30/f1a48c485183da517bd28e0df6fee337d12bbb0cd2d6bf13f8f5695afd37/numexpr-2.10.2-cp39-cp39-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:c3a23c3002ab330056fbdd2785871937a6f2f2fa85d06c8d0ff74ea8418119d1", size = 408149 }, - { url = "https://files.pythonhosted.org/packages/ed/f2/009d9dd8cd22f253fd6ead4165f81fafbe22489c1cfea612e18aa3dcb0fa/numexpr-2.10.2-cp39-cp39-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:a018a7d81326f4c73d8b5aee61794d7d8514512f43957c0db61eb2a8a86848c7", size = 396740 }, - { url = "https://files.pythonhosted.org/packages/47/90/e3f12670b3cca9bed85096671265e0f65cde6cf4646baadd4ee9c33944a8/numexpr-2.10.2-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:037859b17a0abe2b489d4c2cfdadd2bf458ec80dd83f338ea5544c7987e06b85", size = 1377883 }, - { url = "https://files.pythonhosted.org/packages/06/1d/068c09a3c013c1178495f73a21ebd6ee25b9f0fc4202cea38b7a826c43a2/numexpr-2.10.2-cp39-cp39-win32.whl", hash = "sha256:eb278ccda6f893a312aa0452701bb17d098b7b14eb7c9381517d509cce0a39a3", size = 151878 }, - { url = "https://files.pythonhosted.org/packages/70/81/affb9ff26e8accb210fe5585b095bd6872f5614d18b76cd53888e955ed9a/numexpr-2.10.2-cp39-cp39-win_amd64.whl", hash = "sha256:734b64c6d6a597601ce9d0ef7b666e678ec015b446f1d1412c23903c021436c3", size = 144960 }, +sdist = { url = "https://files.pythonhosted.org/packages/cb/2f/fdba158c9dbe5caca9c3eca3eaffffb251f2fb8674bf8e2d0aed5f38d319/numexpr-2.14.1.tar.gz", hash = "sha256:4be00b1086c7b7a5c32e31558122b7b80243fe098579b170967da83f3152b48b", size = 119400, upload-time = "2025-10-13T16:17:27.351Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/db/91/ccd504cbe5b88d06987c77f42ba37a13ef05065fdab4afe6dcfeb2961faf/numexpr-2.14.1-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:d0fab3fd06a04f6b86102552b26aa5d85e20ac7d8296c15764c726eeabae6cc8", size = 163200, upload-time = "2025-10-13T16:16:25.47Z" }, + { url = "https://files.pythonhosted.org/packages/f3/89/6b07977baf2af75fb6692f9e7a1fb612a15f600fc921f3f565366de01f4a/numexpr-2.14.1-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:64ae5dfd62d74a3ef82fe0b37f80527247f3626171ad82025900f46ffca4b39a", size = 152085, upload-time = "2025-10-13T16:16:29.508Z" }, + { url = "https://files.pythonhosted.org/packages/28/c2/c5775541256c4bf16b4d88fa1cffa74a0126703e513093c8774d911b0bb7/numexpr-2.14.1-cp310-cp310-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:955c92b064f9074d2970cf3138f5e3b965be673b82024962ed526f39bc25a920", size = 449435, upload-time = "2025-10-13T16:13:16.257Z" }, + { url = "https://files.pythonhosted.org/packages/34/d4/d1a410901c620f7a6a3c5c2b1fc9dab22170be05a89d2c02ae699e27bd3f/numexpr-2.14.1-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:75440c54fc01e130396650fdf307aa9d41a67dc06ddbfb288971b591c13a395b", size = 440197, upload-time = "2025-10-13T16:14:44.109Z" }, + { url = "https://files.pythonhosted.org/packages/ac/c8/fa85f0cc5c39db587ba4927b862a92477c017ee8476e415e8120a100457b/numexpr-2.14.1-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:dde9fa47ed319e1e1728940a539df3cb78326b7754bc7c6ab3152afc91808f9b", size = 1414125, upload-time = "2025-10-13T16:13:19.882Z" }, + { url = "https://files.pythonhosted.org/packages/08/72/a58ddc05e0eabb3fa8d3fcd319f3d97870e6b41520832acfd04a6734c2c0/numexpr-2.14.1-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:76db0bc6267e591ab9c4df405ffb533598e4c88239db7338d11ae9e4b368a85a", size = 1463041, upload-time = "2025-10-13T16:14:47.502Z" }, + { url = "https://files.pythonhosted.org/packages/c4/c5/bdd1862302bb71a78dba941eaf7060e1274f1cf6af2d1b0f1880bfcb289b/numexpr-2.14.1-cp310-cp310-win32.whl", hash = "sha256:0d1dcbdc4d0374c0d523cee2f94f06b001623cbc1fd163612841017a3495427c", size = 166833, upload-time = "2025-10-13T16:17:03.543Z" }, + { url = "https://files.pythonhosted.org/packages/18/af/26773a246716922794388786529e5640676399efabb0ee217ce034df9d27/numexpr-2.14.1-cp310-cp310-win_amd64.whl", hash = "sha256:823cd82c8e7937981339f634e7a9c6a92cb2d0b9d0a5cf627a5e394fffc05377", size = 160068, upload-time = "2025-10-13T16:17:05.191Z" }, + { url = "https://files.pythonhosted.org/packages/b2/a3/67999bdd1ed1f938d38f3fedd4969632f2f197b090e50505f7cc1fa82510/numexpr-2.14.1-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:2d03fcb4644a12f70a14d74006f72662824da5b6128bf1bcd10cc3ed80e64c34", size = 163195, upload-time = "2025-10-13T16:16:31.212Z" }, + { url = "https://files.pythonhosted.org/packages/25/95/d64f680ea1fc56d165457287e0851d6708800f9fcea346fc1b9957942ee6/numexpr-2.14.1-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:2773ee1133f77009a1fc2f34fe236f3d9823779f5f75450e183137d49f00499f", size = 152088, upload-time = "2025-10-13T16:16:33.186Z" }, + { url = "https://files.pythonhosted.org/packages/0e/7f/3bae417cb13ae08afd86d08bb0301c32440fe0cae4e6262b530e0819aeda/numexpr-2.14.1-cp311-cp311-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:ebe4980f9494b9f94d10d2e526edc29e72516698d3bf95670ba79415492212a4", size = 451126, upload-time = "2025-10-13T16:13:22.248Z" }, + { url = "https://files.pythonhosted.org/packages/4c/1a/edbe839109518364ac0bd9e918cf874c755bb2c128040e920f198c494263/numexpr-2.14.1-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:2a381e5e919a745c9503bcefffc1c7f98c972c04ec58fc8e999ed1a929e01ba6", size = 442012, upload-time = "2025-10-13T16:14:51.416Z" }, + { url = "https://files.pythonhosted.org/packages/66/b1/be4ce99bff769a5003baddac103f34681997b31d4640d5a75c0e8ed59c78/numexpr-2.14.1-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:d08856cfc1b440eb1caaa60515235369654321995dd68eb9377577392020f6cb", size = 1415975, upload-time = "2025-10-13T16:13:26.088Z" }, + { url = "https://files.pythonhosted.org/packages/e7/33/b33b8fdc032a05d9ebb44a51bfcd4b92c178a2572cd3e6c1b03d8a4b45b2/numexpr-2.14.1-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:03130afa04edf83a7b590d207444f05a00363c9b9ea5d81c0f53b1ea13fad55a", size = 1464683, upload-time = "2025-10-13T16:14:58.87Z" }, + { url = "https://files.pythonhosted.org/packages/d0/b2/ddcf0ac6cf0a1d605e5aecd4281507fd79a9628a67896795ab2e975de5df/numexpr-2.14.1-cp311-cp311-win32.whl", hash = "sha256:db78fa0c9fcbaded3ae7453faf060bd7a18b0dc10299d7fcd02d9362be1213ed", size = 166838, upload-time = "2025-10-13T16:17:06.765Z" }, + { url = "https://files.pythonhosted.org/packages/64/72/4ca9bd97b2eb6dce9f5e70a3b6acec1a93e1fb9b079cb4cba2cdfbbf295d/numexpr-2.14.1-cp311-cp311-win_amd64.whl", hash = "sha256:e9b2f957798c67a2428be96b04bce85439bed05efe78eb78e4c2ca43737578e7", size = 160069, upload-time = "2025-10-13T16:17:08.752Z" }, + { url = "https://files.pythonhosted.org/packages/9d/20/c473fc04a371f5e2f8c5749e04505c13e7a8ede27c09e9f099b2ad6f43d6/numexpr-2.14.1-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:91ebae0ab18c799b0e6b8c5a8d11e1fa3848eb4011271d99848b297468a39430", size = 162790, upload-time = "2025-10-13T16:16:34.903Z" }, + { url = "https://files.pythonhosted.org/packages/45/93/b6760dd1904c2a498e5f43d1bb436f59383c3ddea3815f1461dfaa259373/numexpr-2.14.1-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:47041f2f7b9e69498fb311af672ba914a60e6e6d804011caacb17d66f639e659", size = 152196, upload-time = "2025-10-13T16:16:36.593Z" }, + { url = "https://files.pythonhosted.org/packages/72/94/cc921e35593b820521e464cbbeaf8212bbdb07f16dc79fe283168df38195/numexpr-2.14.1-cp312-cp312-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:d686dfb2c1382d9e6e0ee0b7647f943c1886dba3adbf606c625479f35f1956c1", size = 452468, upload-time = "2025-10-13T16:13:29.531Z" }, + { url = "https://files.pythonhosted.org/packages/d9/43/560e9ba23c02c904b5934496486d061bcb14cd3ebba2e3cf0e2dccb6c22b/numexpr-2.14.1-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:eee6d4fbbbc368e6cdd0772734d6249128d957b3b8ad47a100789009f4de7083", size = 443631, upload-time = "2025-10-13T16:15:02.473Z" }, + { url = "https://files.pythonhosted.org/packages/7b/6c/78f83b6219f61c2c22d71ab6e6c2d4e5d7381334c6c29b77204e59edb039/numexpr-2.14.1-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:3a2839efa25f3c8d4133252ea7342d8f81226c7c4dda81f97a57e090b9d87a48", size = 1417670, upload-time = "2025-10-13T16:13:33.464Z" }, + { url = "https://files.pythonhosted.org/packages/0e/bb/1ccc9dcaf46281568ce769888bf16294c40e98a5158e4b16c241de31d0d3/numexpr-2.14.1-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:9f9137f1351b310436662b5dc6f4082a245efa8950c3b0d9008028df92fefb9b", size = 1466212, upload-time = "2025-10-13T16:15:12.828Z" }, + { url = "https://files.pythonhosted.org/packages/31/9f/203d82b9e39dadd91d64bca55b3c8ca432e981b822468dcef41a4418626b/numexpr-2.14.1-cp312-cp312-win32.whl", hash = "sha256:36f8d5c1bd1355df93b43d766790f9046cccfc1e32b7c6163f75bcde682cda07", size = 166996, upload-time = "2025-10-13T16:17:10.369Z" }, + { url = "https://files.pythonhosted.org/packages/1f/67/ffe750b5452eb66de788c34e7d21ec6d886abb4d7c43ad1dc88ceb3d998f/numexpr-2.14.1-cp312-cp312-win_amd64.whl", hash = "sha256:fdd886f4b7dbaf167633ee396478f0d0aa58ea2f9e7ccc3c6431019623e8d68f", size = 160187, upload-time = "2025-10-13T16:17:11.974Z" }, ] [[package]] name = "numpy" version = "1.26.4" source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/65/6e/09db70a523a96d25e115e71cc56a6f9031e7b8cd166c1ac8438307c14058/numpy-1.26.4.tar.gz", hash = "sha256:2a02aba9ed12e4ac4eb3ea9421c420301a0c6460d9830d74a9df87efa4912010", size = 15786129 } -wheels = [ - { url = "https://files.pythonhosted.org/packages/a7/94/ace0fdea5241a27d13543ee117cbc65868e82213fb31a8eb7fe9ff23f313/numpy-1.26.4-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:9ff0f4f29c51e2803569d7a51c2304de5554655a60c5d776e35b4a41413830d0", size = 20631468 }, - { url = "https://files.pythonhosted.org/packages/20/f7/b24208eba89f9d1b58c1668bc6c8c4fd472b20c45573cb767f59d49fb0f6/numpy-1.26.4-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:2e4ee3380d6de9c9ec04745830fd9e2eccb3e6cf790d39d7b98ffd19b0dd754a", size = 13966411 }, - { url = "https://files.pythonhosted.org/packages/fc/a5/4beee6488160798683eed5bdb7eead455892c3b4e1f78d79d8d3f3b084ac/numpy-1.26.4-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d209d8969599b27ad20994c8e41936ee0964e6da07478d6c35016bc386b66ad4", size = 14219016 }, - { url = "https://files.pythonhosted.org/packages/4b/d7/ecf66c1cd12dc28b4040b15ab4d17b773b87fa9d29ca16125de01adb36cd/numpy-1.26.4-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ffa75af20b44f8dba823498024771d5ac50620e6915abac414251bd971b4529f", size = 18240889 }, - { url = "https://files.pythonhosted.org/packages/24/03/6f229fe3187546435c4f6f89f6d26c129d4f5bed40552899fcf1f0bf9e50/numpy-1.26.4-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:62b8e4b1e28009ef2846b4c7852046736bab361f7aeadeb6a5b89ebec3c7055a", size = 13876746 }, - { url = "https://files.pythonhosted.org/packages/39/fe/39ada9b094f01f5a35486577c848fe274e374bbf8d8f472e1423a0bbd26d/numpy-1.26.4-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:a4abb4f9001ad2858e7ac189089c42178fcce737e4169dc61321660f1a96c7d2", size = 18078620 }, - { url = "https://files.pythonhosted.org/packages/d5/ef/6ad11d51197aad206a9ad2286dc1aac6a378059e06e8cf22cd08ed4f20dc/numpy-1.26.4-cp310-cp310-win32.whl", hash = "sha256:bfe25acf8b437eb2a8b2d49d443800a5f18508cd811fea3181723922a8a82b07", size = 5972659 }, - { url = "https://files.pythonhosted.org/packages/19/77/538f202862b9183f54108557bfda67e17603fc560c384559e769321c9d92/numpy-1.26.4-cp310-cp310-win_amd64.whl", hash = "sha256:b97fe8060236edf3662adfc2c633f56a08ae30560c56310562cb4f95500022d5", size = 15808905 }, - { url = "https://files.pythonhosted.org/packages/11/57/baae43d14fe163fa0e4c47f307b6b2511ab8d7d30177c491960504252053/numpy-1.26.4-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:4c66707fabe114439db9068ee468c26bbdf909cac0fb58686a42a24de1760c71", size = 20630554 }, - { url = "https://files.pythonhosted.org/packages/1a/2e/151484f49fd03944c4a3ad9c418ed193cfd02724e138ac8a9505d056c582/numpy-1.26.4-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:edd8b5fe47dab091176d21bb6de568acdd906d1887a4584a15a9a96a1dca06ef", size = 13997127 }, - { url = "https://files.pythonhosted.org/packages/79/ae/7e5b85136806f9dadf4878bf73cf223fe5c2636818ba3ab1c585d0403164/numpy-1.26.4-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:7ab55401287bfec946ced39700c053796e7cc0e3acbef09993a9ad2adba6ca6e", size = 14222994 }, - { url = "https://files.pythonhosted.org/packages/3a/d0/edc009c27b406c4f9cbc79274d6e46d634d139075492ad055e3d68445925/numpy-1.26.4-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:666dbfb6ec68962c033a450943ded891bed2d54e6755e35e5835d63f4f6931d5", size = 18252005 }, - { url = "https://files.pythonhosted.org/packages/09/bf/2b1aaf8f525f2923ff6cfcf134ae5e750e279ac65ebf386c75a0cf6da06a/numpy-1.26.4-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:96ff0b2ad353d8f990b63294c8986f1ec3cb19d749234014f4e7eb0112ceba5a", size = 13885297 }, - { url = "https://files.pythonhosted.org/packages/df/a0/4e0f14d847cfc2a633a1c8621d00724f3206cfeddeb66d35698c4e2cf3d2/numpy-1.26.4-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:60dedbb91afcbfdc9bc0b1f3f402804070deed7392c23eb7a7f07fa857868e8a", size = 18093567 }, - { url = "https://files.pythonhosted.org/packages/d2/b7/a734c733286e10a7f1a8ad1ae8c90f2d33bf604a96548e0a4a3a6739b468/numpy-1.26.4-cp311-cp311-win32.whl", hash = "sha256:1af303d6b2210eb850fcf03064d364652b7120803a0b872f5211f5234b399f20", size = 5968812 }, - { url = "https://files.pythonhosted.org/packages/3f/6b/5610004206cf7f8e7ad91c5a85a8c71b2f2f8051a0c0c4d5916b76d6cbb2/numpy-1.26.4-cp311-cp311-win_amd64.whl", hash = "sha256:cd25bcecc4974d09257ffcd1f098ee778f7834c3ad767fe5db785be9a4aa9cb2", size = 15811913 }, - { url = "https://files.pythonhosted.org/packages/95/12/8f2020a8e8b8383ac0177dc9570aad031a3beb12e38847f7129bacd96228/numpy-1.26.4-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:b3ce300f3644fb06443ee2222c2201dd3a89ea6040541412b8fa189341847218", size = 20335901 }, - { url = "https://files.pythonhosted.org/packages/75/5b/ca6c8bd14007e5ca171c7c03102d17b4f4e0ceb53957e8c44343a9546dcc/numpy-1.26.4-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:03a8c78d01d9781b28a6989f6fa1bb2c4f2d51201cf99d3dd875df6fbd96b23b", size = 13685868 }, - { url = "https://files.pythonhosted.org/packages/79/f8/97f10e6755e2a7d027ca783f63044d5b1bc1ae7acb12afe6a9b4286eac17/numpy-1.26.4-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:9fad7dcb1aac3c7f0584a5a8133e3a43eeb2fe127f47e3632d43d677c66c102b", size = 13925109 }, - { url = "https://files.pythonhosted.org/packages/0f/50/de23fde84e45f5c4fda2488c759b69990fd4512387a8632860f3ac9cd225/numpy-1.26.4-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:675d61ffbfa78604709862923189bad94014bef562cc35cf61d3a07bba02a7ed", size = 17950613 }, - { url = "https://files.pythonhosted.org/packages/4c/0c/9c603826b6465e82591e05ca230dfc13376da512b25ccd0894709b054ed0/numpy-1.26.4-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:ab47dbe5cc8210f55aa58e4805fe224dac469cde56b9f731a4c098b91917159a", size = 13572172 }, - { url = "https://files.pythonhosted.org/packages/76/8c/2ba3902e1a0fc1c74962ea9bb33a534bb05984ad7ff9515bf8d07527cadd/numpy-1.26.4-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:1dda2e7b4ec9dd512f84935c5f126c8bd8b9f2fc001e9f54af255e8c5f16b0e0", size = 17786643 }, - { url = "https://files.pythonhosted.org/packages/28/4a/46d9e65106879492374999e76eb85f87b15328e06bd1550668f79f7b18c6/numpy-1.26.4-cp312-cp312-win32.whl", hash = "sha256:50193e430acfc1346175fcbdaa28ffec49947a06918b7b92130744e81e640110", size = 5677803 }, - { url = "https://files.pythonhosted.org/packages/16/2e/86f24451c2d530c88daf997cb8d6ac622c1d40d19f5a031ed68a4b73a374/numpy-1.26.4-cp312-cp312-win_amd64.whl", hash = "sha256:08beddf13648eb95f8d867350f6a018a4be2e5ad54c8d8caed89ebca558b2818", size = 15517754 }, - { url = "https://files.pythonhosted.org/packages/7d/24/ce71dc08f06534269f66e73c04f5709ee024a1afe92a7b6e1d73f158e1f8/numpy-1.26.4-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:7349ab0fa0c429c82442a27a9673fc802ffdb7c7775fad780226cb234965e53c", size = 20636301 }, - { url = "https://files.pythonhosted.org/packages/ae/8c/ab03a7c25741f9ebc92684a20125fbc9fc1b8e1e700beb9197d750fdff88/numpy-1.26.4-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:52b8b60467cd7dd1e9ed082188b4e6bb35aa5cdd01777621a1658910745b90be", size = 13971216 }, - { url = "https://files.pythonhosted.org/packages/6d/64/c3bcdf822269421d85fe0d64ba972003f9bb4aa9a419da64b86856c9961f/numpy-1.26.4-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d5241e0a80d808d70546c697135da2c613f30e28251ff8307eb72ba696945764", size = 14226281 }, - { url = "https://files.pythonhosted.org/packages/54/30/c2a907b9443cf42b90c17ad10c1e8fa801975f01cb9764f3f8eb8aea638b/numpy-1.26.4-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f870204a840a60da0b12273ef34f7051e98c3b5961b61b0c2c1be6dfd64fbcd3", size = 18249516 }, - { url = "https://files.pythonhosted.org/packages/43/12/01a563fc44c07095996d0129b8899daf89e4742146f7044cdbdb3101c57f/numpy-1.26.4-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:679b0076f67ecc0138fd2ede3a8fd196dddc2ad3254069bcb9faf9a79b1cebcd", size = 13882132 }, - { url = "https://files.pythonhosted.org/packages/16/ee/9df80b06680aaa23fc6c31211387e0db349e0e36d6a63ba3bd78c5acdf11/numpy-1.26.4-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:47711010ad8555514b434df65f7d7b076bb8261df1ca9bb78f53d3b2db02e95c", size = 18084181 }, - { url = "https://files.pythonhosted.org/packages/28/7d/4b92e2fe20b214ffca36107f1a3e75ef4c488430e64de2d9af5db3a4637d/numpy-1.26.4-cp39-cp39-win32.whl", hash = "sha256:a354325ee03388678242a4d7ebcd08b5c727033fcff3b2f536aea978e15ee9e6", size = 5976360 }, - { url = "https://files.pythonhosted.org/packages/b5/42/054082bd8220bbf6f297f982f0a8f5479fcbc55c8b511d928df07b965869/numpy-1.26.4-cp39-cp39-win_amd64.whl", hash = "sha256:3373d5d70a5fe74a2c1bb6d2cfd9609ecf686d47a2d7b1d37a8f3b6bf6003aea", size = 15814633 }, - { url = "https://files.pythonhosted.org/packages/3f/72/3df6c1c06fc83d9cfe381cccb4be2532bbd38bf93fbc9fad087b6687f1c0/numpy-1.26.4-pp39-pypy39_pp73-macosx_10_9_x86_64.whl", hash = "sha256:afedb719a9dcfc7eaf2287b839d8198e06dcd4cb5d276a3df279231138e83d30", size = 20455961 }, - { url = "https://files.pythonhosted.org/packages/8e/02/570545bac308b58ffb21adda0f4e220ba716fb658a63c151daecc3293350/numpy-1.26.4-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:95a7476c59002f2f6c590b9b7b998306fba6a5aa646b1e22ddfeaf8f78c3a29c", size = 18061071 }, - { url = "https://files.pythonhosted.org/packages/f4/5f/fafd8c51235f60d49f7a88e2275e13971e90555b67da52dd6416caec32fe/numpy-1.26.4-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:7e50d0a0cc3189f9cb0aeb3a6a6af18c16f59f004b866cd2be1c14b36134a4a0", size = 15709730 }, +sdist = { url = "https://files.pythonhosted.org/packages/65/6e/09db70a523a96d25e115e71cc56a6f9031e7b8cd166c1ac8438307c14058/numpy-1.26.4.tar.gz", hash = "sha256:2a02aba9ed12e4ac4eb3ea9421c420301a0c6460d9830d74a9df87efa4912010", size = 15786129, upload-time = "2024-02-06T00:26:44.495Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/a7/94/ace0fdea5241a27d13543ee117cbc65868e82213fb31a8eb7fe9ff23f313/numpy-1.26.4-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:9ff0f4f29c51e2803569d7a51c2304de5554655a60c5d776e35b4a41413830d0", size = 20631468, upload-time = "2024-02-05T23:48:01.194Z" }, + { url = "https://files.pythonhosted.org/packages/20/f7/b24208eba89f9d1b58c1668bc6c8c4fd472b20c45573cb767f59d49fb0f6/numpy-1.26.4-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:2e4ee3380d6de9c9ec04745830fd9e2eccb3e6cf790d39d7b98ffd19b0dd754a", size = 13966411, upload-time = "2024-02-05T23:48:29.038Z" }, + { url = "https://files.pythonhosted.org/packages/fc/a5/4beee6488160798683eed5bdb7eead455892c3b4e1f78d79d8d3f3b084ac/numpy-1.26.4-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d209d8969599b27ad20994c8e41936ee0964e6da07478d6c35016bc386b66ad4", size = 14219016, upload-time = "2024-02-05T23:48:54.098Z" }, + { url = "https://files.pythonhosted.org/packages/4b/d7/ecf66c1cd12dc28b4040b15ab4d17b773b87fa9d29ca16125de01adb36cd/numpy-1.26.4-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ffa75af20b44f8dba823498024771d5ac50620e6915abac414251bd971b4529f", size = 18240889, upload-time = "2024-02-05T23:49:25.361Z" }, + { url = "https://files.pythonhosted.org/packages/24/03/6f229fe3187546435c4f6f89f6d26c129d4f5bed40552899fcf1f0bf9e50/numpy-1.26.4-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:62b8e4b1e28009ef2846b4c7852046736bab361f7aeadeb6a5b89ebec3c7055a", size = 13876746, upload-time = "2024-02-05T23:49:51.983Z" }, + { url = "https://files.pythonhosted.org/packages/39/fe/39ada9b094f01f5a35486577c848fe274e374bbf8d8f472e1423a0bbd26d/numpy-1.26.4-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:a4abb4f9001ad2858e7ac189089c42178fcce737e4169dc61321660f1a96c7d2", size = 18078620, upload-time = "2024-02-05T23:50:22.515Z" }, + { url = "https://files.pythonhosted.org/packages/d5/ef/6ad11d51197aad206a9ad2286dc1aac6a378059e06e8cf22cd08ed4f20dc/numpy-1.26.4-cp310-cp310-win32.whl", hash = "sha256:bfe25acf8b437eb2a8b2d49d443800a5f18508cd811fea3181723922a8a82b07", size = 5972659, upload-time = "2024-02-05T23:50:35.834Z" }, + { url = "https://files.pythonhosted.org/packages/19/77/538f202862b9183f54108557bfda67e17603fc560c384559e769321c9d92/numpy-1.26.4-cp310-cp310-win_amd64.whl", hash = "sha256:b97fe8060236edf3662adfc2c633f56a08ae30560c56310562cb4f95500022d5", size = 15808905, upload-time = "2024-02-05T23:51:03.701Z" }, + { url = "https://files.pythonhosted.org/packages/11/57/baae43d14fe163fa0e4c47f307b6b2511ab8d7d30177c491960504252053/numpy-1.26.4-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:4c66707fabe114439db9068ee468c26bbdf909cac0fb58686a42a24de1760c71", size = 20630554, upload-time = "2024-02-05T23:51:50.149Z" }, + { url = "https://files.pythonhosted.org/packages/1a/2e/151484f49fd03944c4a3ad9c418ed193cfd02724e138ac8a9505d056c582/numpy-1.26.4-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:edd8b5fe47dab091176d21bb6de568acdd906d1887a4584a15a9a96a1dca06ef", size = 13997127, upload-time = "2024-02-05T23:52:15.314Z" }, + { url = "https://files.pythonhosted.org/packages/79/ae/7e5b85136806f9dadf4878bf73cf223fe5c2636818ba3ab1c585d0403164/numpy-1.26.4-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:7ab55401287bfec946ced39700c053796e7cc0e3acbef09993a9ad2adba6ca6e", size = 14222994, upload-time = "2024-02-05T23:52:47.569Z" }, + { url = "https://files.pythonhosted.org/packages/3a/d0/edc009c27b406c4f9cbc79274d6e46d634d139075492ad055e3d68445925/numpy-1.26.4-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:666dbfb6ec68962c033a450943ded891bed2d54e6755e35e5835d63f4f6931d5", size = 18252005, upload-time = "2024-02-05T23:53:15.637Z" }, + { url = "https://files.pythonhosted.org/packages/09/bf/2b1aaf8f525f2923ff6cfcf134ae5e750e279ac65ebf386c75a0cf6da06a/numpy-1.26.4-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:96ff0b2ad353d8f990b63294c8986f1ec3cb19d749234014f4e7eb0112ceba5a", size = 13885297, upload-time = "2024-02-05T23:53:42.16Z" }, + { url = "https://files.pythonhosted.org/packages/df/a0/4e0f14d847cfc2a633a1c8621d00724f3206cfeddeb66d35698c4e2cf3d2/numpy-1.26.4-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:60dedbb91afcbfdc9bc0b1f3f402804070deed7392c23eb7a7f07fa857868e8a", size = 18093567, upload-time = "2024-02-05T23:54:11.696Z" }, + { url = "https://files.pythonhosted.org/packages/d2/b7/a734c733286e10a7f1a8ad1ae8c90f2d33bf604a96548e0a4a3a6739b468/numpy-1.26.4-cp311-cp311-win32.whl", hash = "sha256:1af303d6b2210eb850fcf03064d364652b7120803a0b872f5211f5234b399f20", size = 5968812, upload-time = "2024-02-05T23:54:26.453Z" }, + { url = "https://files.pythonhosted.org/packages/3f/6b/5610004206cf7f8e7ad91c5a85a8c71b2f2f8051a0c0c4d5916b76d6cbb2/numpy-1.26.4-cp311-cp311-win_amd64.whl", hash = "sha256:cd25bcecc4974d09257ffcd1f098ee778f7834c3ad767fe5db785be9a4aa9cb2", size = 15811913, upload-time = "2024-02-05T23:54:53.933Z" }, + { url = "https://files.pythonhosted.org/packages/95/12/8f2020a8e8b8383ac0177dc9570aad031a3beb12e38847f7129bacd96228/numpy-1.26.4-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:b3ce300f3644fb06443ee2222c2201dd3a89ea6040541412b8fa189341847218", size = 20335901, upload-time = "2024-02-05T23:55:32.801Z" }, + { url = "https://files.pythonhosted.org/packages/75/5b/ca6c8bd14007e5ca171c7c03102d17b4f4e0ceb53957e8c44343a9546dcc/numpy-1.26.4-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:03a8c78d01d9781b28a6989f6fa1bb2c4f2d51201cf99d3dd875df6fbd96b23b", size = 13685868, upload-time = "2024-02-05T23:55:56.28Z" }, + { url = "https://files.pythonhosted.org/packages/79/f8/97f10e6755e2a7d027ca783f63044d5b1bc1ae7acb12afe6a9b4286eac17/numpy-1.26.4-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:9fad7dcb1aac3c7f0584a5a8133e3a43eeb2fe127f47e3632d43d677c66c102b", size = 13925109, upload-time = "2024-02-05T23:56:20.368Z" }, + { url = "https://files.pythonhosted.org/packages/0f/50/de23fde84e45f5c4fda2488c759b69990fd4512387a8632860f3ac9cd225/numpy-1.26.4-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:675d61ffbfa78604709862923189bad94014bef562cc35cf61d3a07bba02a7ed", size = 17950613, upload-time = "2024-02-05T23:56:56.054Z" }, + { url = "https://files.pythonhosted.org/packages/4c/0c/9c603826b6465e82591e05ca230dfc13376da512b25ccd0894709b054ed0/numpy-1.26.4-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:ab47dbe5cc8210f55aa58e4805fe224dac469cde56b9f731a4c098b91917159a", size = 13572172, upload-time = "2024-02-05T23:57:21.56Z" }, + { url = "https://files.pythonhosted.org/packages/76/8c/2ba3902e1a0fc1c74962ea9bb33a534bb05984ad7ff9515bf8d07527cadd/numpy-1.26.4-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:1dda2e7b4ec9dd512f84935c5f126c8bd8b9f2fc001e9f54af255e8c5f16b0e0", size = 17786643, upload-time = "2024-02-05T23:57:56.585Z" }, + { url = "https://files.pythonhosted.org/packages/28/4a/46d9e65106879492374999e76eb85f87b15328e06bd1550668f79f7b18c6/numpy-1.26.4-cp312-cp312-win32.whl", hash = "sha256:50193e430acfc1346175fcbdaa28ffec49947a06918b7b92130744e81e640110", size = 5677803, upload-time = "2024-02-05T23:58:08.963Z" }, + { url = "https://files.pythonhosted.org/packages/16/2e/86f24451c2d530c88daf997cb8d6ac622c1d40d19f5a031ed68a4b73a374/numpy-1.26.4-cp312-cp312-win_amd64.whl", hash = "sha256:08beddf13648eb95f8d867350f6a018a4be2e5ad54c8d8caed89ebca558b2818", size = 15517754, upload-time = "2024-02-05T23:58:36.364Z" }, + { url = "https://files.pythonhosted.org/packages/7d/24/ce71dc08f06534269f66e73c04f5709ee024a1afe92a7b6e1d73f158e1f8/numpy-1.26.4-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:7349ab0fa0c429c82442a27a9673fc802ffdb7c7775fad780226cb234965e53c", size = 20636301, upload-time = "2024-02-05T23:59:10.976Z" }, + { url = "https://files.pythonhosted.org/packages/ae/8c/ab03a7c25741f9ebc92684a20125fbc9fc1b8e1e700beb9197d750fdff88/numpy-1.26.4-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:52b8b60467cd7dd1e9ed082188b4e6bb35aa5cdd01777621a1658910745b90be", size = 13971216, upload-time = "2024-02-05T23:59:35.472Z" }, + { url = "https://files.pythonhosted.org/packages/6d/64/c3bcdf822269421d85fe0d64ba972003f9bb4aa9a419da64b86856c9961f/numpy-1.26.4-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d5241e0a80d808d70546c697135da2c613f30e28251ff8307eb72ba696945764", size = 14226281, upload-time = "2024-02-05T23:59:59.372Z" }, + { url = "https://files.pythonhosted.org/packages/54/30/c2a907b9443cf42b90c17ad10c1e8fa801975f01cb9764f3f8eb8aea638b/numpy-1.26.4-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f870204a840a60da0b12273ef34f7051e98c3b5961b61b0c2c1be6dfd64fbcd3", size = 18249516, upload-time = "2024-02-06T00:00:32.79Z" }, + { url = "https://files.pythonhosted.org/packages/43/12/01a563fc44c07095996d0129b8899daf89e4742146f7044cdbdb3101c57f/numpy-1.26.4-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:679b0076f67ecc0138fd2ede3a8fd196dddc2ad3254069bcb9faf9a79b1cebcd", size = 13882132, upload-time = "2024-02-06T00:00:58.197Z" }, + { url = "https://files.pythonhosted.org/packages/16/ee/9df80b06680aaa23fc6c31211387e0db349e0e36d6a63ba3bd78c5acdf11/numpy-1.26.4-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:47711010ad8555514b434df65f7d7b076bb8261df1ca9bb78f53d3b2db02e95c", size = 18084181, upload-time = "2024-02-06T00:01:31.21Z" }, + { url = "https://files.pythonhosted.org/packages/28/7d/4b92e2fe20b214ffca36107f1a3e75ef4c488430e64de2d9af5db3a4637d/numpy-1.26.4-cp39-cp39-win32.whl", hash = "sha256:a354325ee03388678242a4d7ebcd08b5c727033fcff3b2f536aea978e15ee9e6", size = 5976360, upload-time = "2024-02-06T00:01:43.013Z" }, + { url = "https://files.pythonhosted.org/packages/b5/42/054082bd8220bbf6f297f982f0a8f5479fcbc55c8b511d928df07b965869/numpy-1.26.4-cp39-cp39-win_amd64.whl", hash = "sha256:3373d5d70a5fe74a2c1bb6d2cfd9609ecf686d47a2d7b1d37a8f3b6bf6003aea", size = 15814633, upload-time = "2024-02-06T00:02:16.694Z" }, + { url = "https://files.pythonhosted.org/packages/3f/72/3df6c1c06fc83d9cfe381cccb4be2532bbd38bf93fbc9fad087b6687f1c0/numpy-1.26.4-pp39-pypy39_pp73-macosx_10_9_x86_64.whl", hash = "sha256:afedb719a9dcfc7eaf2287b839d8198e06dcd4cb5d276a3df279231138e83d30", size = 20455961, upload-time = "2024-02-06T00:03:05.993Z" }, + { url = "https://files.pythonhosted.org/packages/8e/02/570545bac308b58ffb21adda0f4e220ba716fb658a63c151daecc3293350/numpy-1.26.4-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:95a7476c59002f2f6c590b9b7b998306fba6a5aa646b1e22ddfeaf8f78c3a29c", size = 18061071, upload-time = "2024-02-06T00:03:41.5Z" }, + { url = "https://files.pythonhosted.org/packages/f4/5f/fafd8c51235f60d49f7a88e2275e13971e90555b67da52dd6416caec32fe/numpy-1.26.4-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:7e50d0a0cc3189f9cb0aeb3a6a6af18c16f59f004b866cd2be1c14b36134a4a0", size = 15709730, upload-time = "2024-02-06T00:04:11.719Z" }, ] [[package]] @@ -888,186 +1186,268 @@ name = "orca" version = "1.8" source = { registry = "https://pypi.org/simple" } dependencies = [ - { name = "pandas" }, + { name = "pandas", version = "2.3.3", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.11'" }, + { name = "pandas", version = "3.0.1", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.11'" }, { name = "tables", version = "3.9.2", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.10'" }, { name = "tables", version = "3.10.1", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version == '3.10.*'" }, - { name = "tables", version = "3.10.2", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.11'" }, + { name = "tables", version = "3.11.1", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.11'" }, { name = "toolz" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/76/b8/a95bd1ee18700ef6781f288dac3bce26f8b7ec30ad160342d5c83f6a1e82/orca-1.8.tar.gz", hash = "sha256:b3ca9e651cefe2f25a0ff9842191d661594731cfde00a12d22216900a9445bd8", size = 19753 } +sdist = { url = "https://files.pythonhosted.org/packages/76/b8/a95bd1ee18700ef6781f288dac3bce26f8b7ec30ad160342d5c83f6a1e82/orca-1.8.tar.gz", hash = "sha256:b3ca9e651cefe2f25a0ff9842191d661594731cfde00a12d22216900a9445bd8", size = 19753, upload-time = "2022-10-11T00:16:28.869Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/8b/2b/39bd6ed24898df4c7e38de520ae8544878e2457451d93ec8fa17f8c46ba7/orca-1.8-py2.py3-none-any.whl", hash = "sha256:7ed742914507d0bb21563016ce3947f99c3122a37459111f745f261b93273a40", size = 19528 }, + { url = "https://files.pythonhosted.org/packages/8b/2b/39bd6ed24898df4c7e38de520ae8544878e2457451d93ec8fa17f8c46ba7/orca-1.8-py2.py3-none-any.whl", hash = "sha256:7ed742914507d0bb21563016ce3947f99c3122a37459111f745f261b93273a40", size = 19528, upload-time = "2022-10-11T00:16:26.512Z" }, ] [[package]] name = "ortools" -version = "9.7.2996" +version = "9.14.6206" source = { registry = "https://pypi.org/simple" } dependencies = [ - { name = "absl-py" }, + { name = "absl-py", version = "2.3.1", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.10'" }, + { name = "absl-py", version = "2.4.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.10'" }, + { name = "immutabledict" }, { name = "numpy" }, + { name = "pandas", version = "2.3.3", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.11'" }, + { name = "pandas", version = "3.0.1", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.11'" }, { name = "protobuf" }, -] -wheels = [ - { url = "https://files.pythonhosted.org/packages/e3/65/8dc3f93ffd527c26818c78ee8f622e1170695d7cad9f1a954128c682b049/ortools-9.7.2996-cp310-cp310-macosx_10_15_x86_64.whl", hash = "sha256:127cb98e5b00dc6532b28f4a3db9369fd42e5145e4e6e15db5a948e5424e5d8f", size = 17319296 }, - { url = "https://files.pythonhosted.org/packages/f9/be/0bcdf51f10562c14ec0b219d37b9a98245c0566e24ffd980493f4232e6eb/ortools-9.7.2996-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:da5599f32fb37dfc231e3762eabe1397e2d68a2e4da1386e11cf43a5486d793d", size = 15768204 }, - { url = "https://files.pythonhosted.org/packages/89/bc/4687f8aabffadefbb76bc3ecabef4877d9e3b9def9b7b6686622856bef54/ortools-9.7.2996-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:bdbabe4e257e3e0622d475bde1fde720d7ac8405704cf342f62df650805ef5bb", size = 19748859 }, - { url = "https://files.pythonhosted.org/packages/f3/1e/360ac86253764cf8fb40f4a31c0d634cb2e334cf7ec672a3f9ecab356196/ortools-9.7.2996-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:c26fd0e91e489c021414ce8aa7e80774c918c632e5f3e3dc62e31b4fb8ccecca", size = 21087306 }, - { url = "https://files.pythonhosted.org/packages/a5/3b/6cc4f57727db5efc7a5faaafcecb257cbd2b81d1d4b344dd895ddadbf2b0/ortools-9.7.2996-cp310-cp310-win_amd64.whl", hash = "sha256:092a2e3e32acdcbf8b9bb20a9dd055e69a1bde861a32c06f2966aa1ac9f21258", size = 44906260 }, - { url = "https://files.pythonhosted.org/packages/2d/1a/917b2d2e789aaa5c2f77fdf17936750103567a8784478381c0e30c2a055c/ortools-9.7.2996-cp311-cp311-macosx_10_15_x86_64.whl", hash = "sha256:d1ac7f23beb4e01ba657e55157b6397cd0ecd17af190afa872bf72535a053034", size = 17319162 }, - { url = "https://files.pythonhosted.org/packages/2d/99/05949d19d6d8d69a391933b65dfc68b8bd0ede492e6f59e8da6fb444d81d/ortools-9.7.2996-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:39cf31cfd891b8e883c9905cf39aa54b9eeed1e7cffdfe1c0e98b693d6650902", size = 15767293 }, - { url = "https://files.pythonhosted.org/packages/24/8b/4d003fa4f910c7d532d0dae3ac95c763a6ed901348051df6a7346ec08502/ortools-9.7.2996-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:07c41f0e8613d8ec6ba685334904cd76e45bc46da3d52f173e9301668ff223dd", size = 19748695 }, - { url = "https://files.pythonhosted.org/packages/b1/31/d7be081eb3c55c9ea6b5f8cd25878685deca17f16acc84bd039a6d2282bc/ortools-9.7.2996-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a547ab95bd9cca413d718adacfaf0c9ee04a0cce15d43bb44dadf2bded7a2bfa", size = 21086980 }, - { url = "https://files.pythonhosted.org/packages/78/76/a128836d2018f34f1ce58f30ee4c6b80b026dde521f5674aeaf2a2c5d1c7/ortools-9.7.2996-cp311-cp311-win_amd64.whl", hash = "sha256:5ea51e31c18c5ca0ea4c28f3a86eedaca07e5ffe1f2a45d6ddcdccd231d8ab91", size = 44906198 }, - { url = "https://files.pythonhosted.org/packages/68/b1/2f565a116f03c995e7ee49dad689595f86e0cf5b1dd04db6c526ef0959cf/ortools-9.7.2996-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:2355634341d2bc1a04967e864636d6ed71f39b53af9c4a3f2a2b04c62566cc4f", size = 19746615 }, - { url = "https://files.pythonhosted.org/packages/1b/31/365eb5fcbc924a390fd02be3f441a0a1d92d3b5e6b35ac7693bfac53842b/ortools-9.7.2996-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ed6a2119fd9d391a5fc618591ad519f63ca7be2f213187bee8d41c4a7d16f7d5", size = 21081905 }, - { url = "https://files.pythonhosted.org/packages/d9/6d/4e376b393db18b8ad60239679464f79760c0ea385a1ac48dfc162e3c2baf/ortools-9.7.2996-cp39-cp39-macosx_10_15_x86_64.whl", hash = "sha256:7c86107de792b790ecbcbfa5cefa0e777a2368db24a85bf77ca36f421986c472", size = 17320426 }, - { url = "https://files.pythonhosted.org/packages/85/ed/34a19ea21828d7d0495378f229f734e9076605a884910c54c719596b2fbc/ortools-9.7.2996-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:e6b9f8cdd863c15b0affe038354a5bf26fcfd3f99b7215f940a1b04148a4691a", size = 15768613 }, - { url = "https://files.pythonhosted.org/packages/93/2a/3c67c3683f2726959dd2307351154d3bdda42760e33a8031c39bb0c4c548/ortools-9.7.2996-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:fee439f455e74d50709d08d2d65ebafc3d7f3e513f96aab99fd0c1953dc35c95", size = 19751892 }, - { url = "https://files.pythonhosted.org/packages/25/9d/1e30f3bd26abfb4dfb49b29f6abc62c9e5ae5a9807e61f26e41b74e36ab8/ortools-9.7.2996-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3c96995aa3cb7edc1f0d9992bbfe07be8d1cc3f21bce6e459a2c12d9c9733c32", size = 21089761 }, - { url = "https://files.pythonhosted.org/packages/fa/b8/beb791430850082d3e86eec8100eea80c4b9244c6814aeb2cdd4c1d66166/ortools-9.7.2996-cp39-cp39-win_amd64.whl", hash = "sha256:ce08e69a7755793c5b673b4a4a3bac7301141dba74b7c1bef501471f00ffdc97", size = 44895110 }, + { name = "typing-extensions" }, +] +wheels = [ + { url = "https://files.pythonhosted.org/packages/c6/b4/e2290f8f11ffeb4ce60374a03fd4d4b70e9b3e4529cc2d5811012a12c628/ortools-9.14.6206-cp310-cp310-macosx_10_15_x86_64.whl", hash = "sha256:6e2364edd1577cd094e7c7121ec5fb0aa462a69a78ce29cdc40fa45943ff0091", size = 22208463, upload-time = "2025-06-19T15:45:38.623Z" }, + { url = "https://files.pythonhosted.org/packages/ab/8a/d276555559a7be70462bd884a8ac79606be4be0d42743eb6992afaba105e/ortools-9.14.6206-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:164b726b4d358ae68a018a52ff1999c0646d6f861b33676c2c83e2ddb60cfa13", size = 20203764, upload-time = "2025-06-19T15:45:41.73Z" }, + { url = "https://files.pythonhosted.org/packages/64/c9/46f75b9d9b4ccc87b29a53e3ca1589b6adcee79bcc1b1a550a3fb4432150/ortools-9.14.6206-cp310-cp310-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:ebb0e210969cc3246fe78dadf9038936a3a18edc8156e23a394e2bbcec962431", size = 25643416, upload-time = "2025-06-19T15:47:05.715Z" }, + { url = "https://files.pythonhosted.org/packages/46/cf/55eaf6651b10cbbd3048d0427580e4447138104ac2e06ae871e9ad8fce05/ortools-9.14.6206-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:174de2f04c106c7dcc5989560f2c0e065e78fba0ad0d1fd029897582f4823c3a", size = 27637674, upload-time = "2025-06-19T15:47:09.222Z" }, + { url = "https://files.pythonhosted.org/packages/2a/3f/b53096bbb5a1a8e186064cdd177fc67670823e8d12d7c9ae59510fa1a6dd/ortools-9.14.6206-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:e6d994ebcf9cbdda1e20a75662967124e7e6ffd707c7f60b2db1a11f2104d384", size = 27638296, upload-time = "2025-06-19T15:53:33.223Z" }, + { url = "https://files.pythonhosted.org/packages/c0/be/c5032e905a886535b2418e061328e204651b8089212cf68cc15744cf314b/ortools-9.14.6206-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:5763472f8b05072c96c36c4eafadd9f6ffcdab38a81d8f0142fc408ad52a4342", size = 29470113, upload-time = "2025-06-19T15:53:36.889Z" }, + { url = "https://files.pythonhosted.org/packages/a8/95/bcaeeac2e02952c3a04f9aec55662b2e03cb68c272291d9cb6cad189734c/ortools-9.14.6206-cp310-cp310-win_amd64.whl", hash = "sha256:6711516f837f06836ff9fda66fe4337b88c214f2ba6a921b84d3b05876f1fa8c", size = 20488753, upload-time = "2025-06-19T15:46:27.034Z" }, + { url = "https://files.pythonhosted.org/packages/31/22/6989f0ece28fcac9da969be734dcd08fcca5a8852e48e237a4e071c62419/ortools-9.14.6206-cp311-cp311-macosx_10_15_x86_64.whl", hash = "sha256:8bcd8481846090585a4fac82800683555841685c49fa24578ad1e48a37918568", size = 22228768, upload-time = "2025-06-19T15:45:44.553Z" }, + { url = "https://files.pythonhosted.org/packages/f7/c8/094edd5b3a238757af6260e2c1dcfd1258346ef503ce73de63703fe154b9/ortools-9.14.6206-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:5af2bbf2fff7d922ba036e27d7ff378abecb24749380c86a77fa6208d5ba35cd", size = 20222655, upload-time = "2025-06-19T15:45:48.39Z" }, + { url = "https://files.pythonhosted.org/packages/df/29/9a8f9a308f2516c662a89a85fef3fa5e3ffc83d21d105f560120eb8fb171/ortools-9.14.6206-cp311-cp311-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:a6ab43490583c4bbf0fff4e51bb1c15675d5651c2e8e12ba974fd08e8c05a48f", size = 25657925, upload-time = "2025-06-19T15:47:13.592Z" }, + { url = "https://files.pythonhosted.org/packages/01/45/8b3492e2e725091ec33e6a09628d102c9aabffafbe84f316327dc71b98d6/ortools-9.14.6206-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:9aa2c0c50a765c6a060960dcb0207bd6aeb6341f5adacb3d33e613b7e7409428", size = 27653495, upload-time = "2025-06-19T15:47:16.932Z" }, + { url = "https://files.pythonhosted.org/packages/b5/34/7250c799eede59cbf6eecc830399ef7948c4e7419d9e709704d1a2da4361/ortools-9.14.6206-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:64ec63fd92125499e9ca6b72700406dda161eefdfef92f04c35c5150391f89a4", size = 27655065, upload-time = "2025-06-19T15:53:40.013Z" }, + { url = "https://files.pythonhosted.org/packages/f6/f0/2ce82db5cbeb628c1f7a736a228a7f0023441afc950fe953555124b43896/ortools-9.14.6206-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:8651008f05257471f45a919ade5027afa12ab6f7a4fdf0a8bcc18c92032f8571", size = 29486478, upload-time = "2025-06-19T15:53:43.71Z" }, + { url = "https://files.pythonhosted.org/packages/5a/16/482f766ac4d28292a9c1095773820d1ff1dd0d4e74f7e0749519805980ef/ortools-9.14.6206-cp311-cp311-win_amd64.whl", hash = "sha256:ca60877830a631545234e83e7f6bd55830334a4d0c2b51f1669b1f2698d58b84", size = 20503273, upload-time = "2025-06-19T15:46:30.098Z" }, + { url = "https://files.pythonhosted.org/packages/72/2e/b0d7e7ee9d1a45001a05ca2f65ccc1ab28cee510e725e01e248496510ac1/ortools-9.14.6206-cp312-cp312-macosx_10_15_x86_64.whl", hash = "sha256:e38c8c4a184820cbfdb812a8d484f6506cf16993ce2a95c88bc1c9d23b17c63e", size = 22239884, upload-time = "2025-06-19T15:45:51.774Z" }, + { url = "https://files.pythonhosted.org/packages/31/ad/964ee5341767dd9e2f13e76f0a36d45aa8d81ad776c80bdd6dedc8f2f462/ortools-9.14.6206-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:db685073cbed9f8bfaa744f5e883f3dea57c93179b0abe1788276fd3b074fa61", size = 20211128, upload-time = "2025-06-19T15:45:54.829Z" }, + { url = "https://files.pythonhosted.org/packages/7c/93/d94a66cdfadeb2747d96f1c8d3f590d81c4ad47fd357dfc57de8d7a75bbe/ortools-9.14.6206-cp312-cp312-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:d4bfb8bffb29991834cf4bde7048ca8ee8caed73e8dd21e5ec7de99a33bbfea0", size = 25663650, upload-time = "2025-06-19T15:47:20.207Z" }, + { url = "https://files.pythonhosted.org/packages/eb/74/1d374bf510e9fb36bba82ecd3e09461cd8394afef3e418fa5b060f129401/ortools-9.14.6206-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:eb464a698837e7f90ca5f9b3d748b6ddf553198a70032bc77824d1cd88695d2b", size = 27670004, upload-time = "2025-06-19T15:47:23.111Z" }, + { url = "https://files.pythonhosted.org/packages/e9/e3/5943467ae41efa06cff12b79bfd146c4a54903345f0cc5c896884829d14a/ortools-9.14.6206-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:8f33deaeb7c3dda8ca1d29c5b9aa9c3a4f2ca9ecf34f12a1f809bb2995f41274", size = 27653302, upload-time = "2025-06-19T15:53:47.615Z" }, + { url = "https://files.pythonhosted.org/packages/6c/28/a896080fe6e13b4bdae74601f19c28b7ba05ec45f3adca3e992d6174ac57/ortools-9.14.6206-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:086e7c2dc4f23efffb20a5e20f618c7d6adb99b2d94f684cab482387da3bc434", size = 29503497, upload-time = "2025-06-19T15:53:51.174Z" }, + { url = "https://files.pythonhosted.org/packages/38/ad/8d02013116cc5d51084fe24c5b73f5b349dd10925d2927d19d21a2068a4c/ortools-9.14.6206-cp312-cp312-win_amd64.whl", hash = "sha256:17c13b0bfde17ac57789ad35243edf1318ecd5db23cf949b75ab62480599f188", size = 20512174, upload-time = "2025-06-19T15:46:33.339Z" }, + { url = "https://files.pythonhosted.org/packages/ec/16/08dea389793f0122bd8d8ecc34bbd1d3ccbf94fb86d4878943866c378bf1/ortools-9.14.6206-cp39-cp39-macosx_10_15_x86_64.whl", hash = "sha256:070dc7cebfa0df066acb6b9a6d02339351be8f91b2352b782ee7f40412207e20", size = 22209674, upload-time = "2025-06-19T15:46:03.267Z" }, + { url = "https://files.pythonhosted.org/packages/d9/ab/d728cb5e421ea9670241dc260fb44515e3c757fcaeeef097ab92c46b21d0/ortools-9.14.6206-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:5eb558a03b4ada501ecdea7b89f0d3bdf2cc6752e1728759ccf27923f592a8c2", size = 20205205, upload-time = "2025-06-19T15:46:06.065Z" }, + { url = "https://files.pythonhosted.org/packages/26/11/50181c9e4db6cd06509ab1682ef24d55898ffea46c578d09bae0b83ae9f5/ortools-9.14.6206-cp39-cp39-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:646329fa74a5c48c591b7fabfd26743f6d2de4e632b3b96ec596c47bfe19177a", size = 25645127, upload-time = "2025-06-19T15:47:39.78Z" }, + { url = "https://files.pythonhosted.org/packages/ed/21/f2538d48fb44c15efcc1b4090fa1f28febb08b43f33b931275f46ef20e87/ortools-9.14.6206-cp39-cp39-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:aa5161924f35b8244295acd0fab2a8171bb08ef8d5cfaf1913a21274475704cc", size = 27637436, upload-time = "2025-06-19T15:47:42.654Z" }, + { url = "https://files.pythonhosted.org/packages/93/81/d81e88a5bdf31cfb32e4f463ae159ac365b50bd5f6d0315e43aa992acf14/ortools-9.14.6206-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:e253526a026ae194aed544a0d065163f52a0c9cb606a1061c62df546877d5452", size = 27640116, upload-time = "2025-06-19T15:54:07.668Z" }, + { url = "https://files.pythonhosted.org/packages/17/3d/08cd7d46df3171cb491cadb7fb6a4eb43b5a78070ba2d4da1706e3aba7c0/ortools-9.14.6206-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:dcb496ef633d884036770783f43bf8a47ff253ecdd8a8f5b95f00276ec241bfd", size = 29470215, upload-time = "2025-06-19T15:54:11.055Z" }, + { url = "https://files.pythonhosted.org/packages/c8/2b/b6a092a3ee40bc2ca8c0aaf6ef006ca69be31a621bf0b71ac10dfcaf332f/ortools-9.14.6206-cp39-cp39-win_amd64.whl", hash = "sha256:2733f635675de631fdc7b1611878ec9ee2f48a26434b7b3c07d0a0f535b92e03", size = 20571493, upload-time = "2025-06-19T15:46:38.693Z" }, ] [[package]] name = "osqp" -version = "1.0.3" +version = "1.1.1" source = { registry = "https://pypi.org/simple" } dependencies = [ { name = "jinja2" }, { name = "joblib" }, { name = "numpy" }, { name = "scipy", version = "1.13.1", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.10'" }, - { name = "scipy", version = "1.15.2", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.10'" }, + { name = "scipy", version = "1.15.3", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version == '3.10.*'" }, + { name = "scipy", version = "1.17.1", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.11'" }, { name = "setuptools" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/7e/de/c2ecacff5adbacc2fdf116eda1cdc036ea01c6280a17ed1698f8ab3c277f/osqp-1.0.3.tar.gz", hash = "sha256:b496d4ffecc7d1b4c189a228301e449f83fb9f196abac9fbb709fe3a483f2f3c", size = 56069 } -wheels = [ - { url = "https://files.pythonhosted.org/packages/42/e7/e7703d0cc5a568d072009b3f891c99801bf00dd9cf6e51d2e1d39f4049be/osqp-1.0.3-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:36a34b186be83920c60083afdbbe73a2117b2294d67b8775e30f2cb3c1f19a6d", size = 309955 }, - { url = "https://files.pythonhosted.org/packages/f3/6b/3e3021d1170fb0dab2b7aab95325f6d6a980258dcc701026006f908645a3/osqp-1.0.3-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:f585903709140cdaf9426c4256ce60d865529ec4f97d4e5b8dfd41921a833b93", size = 289125 }, - { url = "https://files.pythonhosted.org/packages/b5/20/f431714b9499d8c34a88422e67684ef6ef067f6fadad39a9f52289cd6786/osqp-1.0.3-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:5686f088773f5b9f7209293eaa4473a9f122a3b76106de9c33bfb347ecc6eb46", size = 343362 }, - { url = "https://files.pythonhosted.org/packages/44/d5/1fcc4895f1063400f89eee393e71261c0712d0ccf7a66e921a33ed195bd0/osqp-1.0.3-cp310-cp310-win_amd64.whl", hash = "sha256:cdd2b9fc1afa1dffab4e42dad3388de43f4412c91e783ae3e8fab0dcbe54be93", size = 300542 }, - { url = "https://files.pythonhosted.org/packages/ae/b7/b5d2ce91561ab12b28284225143bc205dec236a77f069bacc5f1ee9c6002/osqp-1.0.3-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:3fbc35040ba86295554311ce30da70e0fd08c1c37a4ea0956748c27fc8ca9f49", size = 311463 }, - { url = "https://files.pythonhosted.org/packages/e4/bb/65bf8715618691480fcbe5ff33c9f4704351659d5a908b290758b77778ec/osqp-1.0.3-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:f0c9d69eb027be72f90b5d337cb5c33f8a3760ad1175558104152e0d039c9770", size = 290456 }, - { url = "https://files.pythonhosted.org/packages/d2/de/07c26903440b532c358c111295755b586f3d33ee51ece69883799f71f8d4/osqp-1.0.3-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:b1435b94b91405ce825e45bf7b2ddec8cf03198e46e4de19c63623c1f952c012", size = 344065 }, - { url = "https://files.pythonhosted.org/packages/2a/8b/608d3dda174add20b919d252288bce9ab89f44f915d9605ca5461031dd60/osqp-1.0.3-cp311-cp311-win_amd64.whl", hash = "sha256:09bd34c885bec05a39e70215ddc74e8b3b8a71df3cab020d80c923578bbe2325", size = 301682 }, - { url = "https://files.pythonhosted.org/packages/f2/a3/ba5f287ffe1146f62d9813f9b380dc3654bec68036bdc440e39e53b4e3c5/osqp-1.0.3-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:21d0c2b773f2a0677112f130a26689cbc86e15da82832455ad1facc612777829", size = 312268 }, - { url = "https://files.pythonhosted.org/packages/24/5e/dd6a71c17785632fc8004257fb1f2a264bf425d833d3c5948f3374267e41/osqp-1.0.3-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:ff385ea5aaf9d91805b7a8104386c2023d2f0cf121419be83a1f5310cf239971", size = 290624 }, - { url = "https://files.pythonhosted.org/packages/af/57/0db1d9b7eed9b4f5095ee075453d5b31b88266224a1e8d62b1a16169dd7c/osqp-1.0.3-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:c02e7c696df64441a4e6996d63d753ac924ef46a26421e6a7ee73d9becfa8b4f", size = 343872 }, - { url = "https://files.pythonhosted.org/packages/04/5b/6a997111d58224ce78350676cc1c337f945c019a042fa1eef195493d2a40/osqp-1.0.3-cp312-cp312-win_amd64.whl", hash = "sha256:ec9ca611cb8372ff1a658a2f9d4e47a401401f75b95bbc7f06489090dbd259fe", size = 301873 }, - { url = "https://files.pythonhosted.org/packages/01/2f/2bb5e242b96647f4f958f3ab90f3383fc609555e57f16a34f66260d62123/osqp-1.0.3-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:d940bca40a4c5f60494906385d4339acc50e054203df2da7be25e1b80e4712c8", size = 310031 }, - { url = "https://files.pythonhosted.org/packages/af/6f/f9f4ead64008b584b59f876d39cf5b9e40aeea47532528d5bc2b22cfbb59/osqp-1.0.3-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:ac9b78df06c48e57dca220fe5091636e269f5141e51b800866bbf2a30f3451cd", size = 289196 }, - { url = "https://files.pythonhosted.org/packages/0b/52/bb2a1584c7aa8922715135bd102a2a8188feda5abc24e86bbc7305338333/osqp-1.0.3-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:90ad668c84ae52f2f8dbfa8eb71c8cd8ffbb04713afa98e4cb669e2f52b8bac4", size = 343750 }, - { url = "https://files.pythonhosted.org/packages/04/8d/79f293f5140faa5c23e250fcfb8526c2f1f21c6bebae5f30a44fbd86a940/osqp-1.0.3-cp39-cp39-win_amd64.whl", hash = "sha256:2e3fb7d10fd7c80190d7516fa9b23d09461d84148642aefe37ad80707e72b38d", size = 300740 }, +sdist = { url = "https://files.pythonhosted.org/packages/df/09/fb28f57d6eba067fbb6c941c9136f8d2e41b3d4fd4ddac643cf734210085/osqp-1.1.1.tar.gz", hash = "sha256:1719e6a88f2ec2bd5dab06131331d1433152fb222372832727d9eb5604d7acf4", size = 57059, upload-time = "2026-02-11T18:15:45.329Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/36/44/b822dde1d329a6dd648adda57c3d13bcf87aa43f6146e864aad53d9a512c/osqp-1.1.1-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:415096d3cf1710a2200a7e70c0c69591abef9081ce3ef8efb8fe16b14e214726", size = 318023, upload-time = "2026-02-11T18:07:14.461Z" }, + { url = "https://files.pythonhosted.org/packages/9f/0c/0c74eef9271f06bd76fc462f747574a53642aef77819512a2ae57cdff0a8/osqp-1.1.1-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:b3f26a5deb848e577d3b8b03c129be141756f3675297c38c128d556ab6216fb8", size = 300954, upload-time = "2026-02-11T18:07:15.8Z" }, + { url = "https://files.pythonhosted.org/packages/0a/fa/1fbc642665916e0e79804802dd869a9974c51feaad29f48415c9dae838a9/osqp-1.1.1-cp310-cp310-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:9974235f05905317cd01cf6c6e526fa97f9097812c2c5c3e4dc479c07cdf9d55", size = 320177, upload-time = "2026-02-11T18:07:17.341Z" }, + { url = "https://files.pythonhosted.org/packages/40/e8/0c501eb2a1d7fd35beda8bebfe2283a159e2733254fd17dd691d21d8c3ca/osqp-1.1.1-cp310-cp310-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:f7328e138fe8c2f40a8235d1f47593a0437bc48e29aad5c14ab7b3dafa6baf17", size = 341459, upload-time = "2026-02-11T18:07:18.958Z" }, + { url = "https://files.pythonhosted.org/packages/d2/7d/3a51e378bdb91691e34fc8ea24c7b6e80f413882ace21963e95d6fe6be91/osqp-1.1.1-cp310-cp310-win_amd64.whl", hash = "sha256:de3aaa7b3db1c61c288d710be5b190894d0475d3fdb13969a6fe823f6c0c5634", size = 309378, upload-time = "2026-02-11T18:07:20.161Z" }, + { url = "https://files.pythonhosted.org/packages/f2/7e/b821d6819cbae6c7a0d76b5db23836c8b3b6db7684332414a1ff9cf737eb/osqp-1.1.1-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:48a6f62df0ec55a5a3a445e4143f51a813931f1e48ac006b15b7e5c9899e2937", size = 319461, upload-time = "2026-02-11T18:07:22.32Z" }, + { url = "https://files.pythonhosted.org/packages/81/ac/1d5361ddfad9e23ca56a0c580024ca1c99535f11b16d94b3d4c9fbc543af/osqp-1.1.1-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:0e569d36955e1a69129f391bb27b2240b3b69d0bcff28e5d19446013dda59836", size = 301952, upload-time = "2026-02-11T18:07:23.542Z" }, + { url = "https://files.pythonhosted.org/packages/83/93/5c245d507d061a1532cc2bf0ad8ad907b464851b31f36d8316771a5b3c84/osqp-1.1.1-cp311-cp311-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:9fd6d87d5aa17161c43b95e44ab53c76cef466b851cc4ed32da658596cb0a0a1", size = 321822, upload-time = "2026-02-11T18:07:24.78Z" }, + { url = "https://files.pythonhosted.org/packages/f2/f7/351c42d12b2632d1512ec6e67f42c1367599f0b224d0621c94e9c76d06ab/osqp-1.1.1-cp311-cp311-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:2a0481c1f19f70eea9e9883b176eb37b64cd52525920c9ed765acb02411998ae", size = 343182, upload-time = "2026-02-11T18:07:26.165Z" }, + { url = "https://files.pythonhosted.org/packages/8c/d9/ebf4d06bb13ecad4edcb2c6b491c47a798b58b9b5e71ba315e01a8696e2d/osqp-1.1.1-cp311-cp311-win_amd64.whl", hash = "sha256:d7524d22e91a8381ed30eecbfdf82935528f84b3d8a1b5ad1f8dd84dff3fc07e", size = 310097, upload-time = "2026-02-11T18:07:27.683Z" }, + { url = "https://files.pythonhosted.org/packages/07/49/0ac80ef771eeb985b12a0c7fad86279a59269bce192110dc499890013b9f/osqp-1.1.1-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:ca4e41477852f725293c666ffa5f795413151c9a14155a7750dff25d3107b851", size = 321455, upload-time = "2026-02-11T18:07:29.258Z" }, + { url = "https://files.pythonhosted.org/packages/4c/7f/39437ab1c73ea432c6510741f954ccec87bda9a2b9b3233439384363cd92/osqp-1.1.1-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:25cd4e8995d18b65c54d1163769797665b9ca5a8a0009f1c4adf4dafe30e33be", size = 302230, upload-time = "2026-02-11T18:07:30.365Z" }, + { url = "https://files.pythonhosted.org/packages/d3/1f/83d45a3a194e7f58eec3bdfc2879390c56b18351936d569f3f6a79e5ca39/osqp-1.1.1-cp312-cp312-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:ed006d74017578fe98a2afad77f4bbeb096f2d64aa00f50809bb394a7bbd98bf", size = 322626, upload-time = "2026-02-11T18:07:31.508Z" }, + { url = "https://files.pythonhosted.org/packages/03/13/45db581134dab5942e723622bf994f30a79fe00029b90127625f3464bb3f/osqp-1.1.1-cp312-cp312-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:61aca4a356d1555d13c26166c282b9b7985c6c715baf093f839e338e6b49aca0", size = 345768, upload-time = "2026-02-11T18:07:32.938Z" }, + { url = "https://files.pythonhosted.org/packages/9d/c7/4beccbd5993b3d92956d450eb24edd4055b66475d9802166160bc8dfd1ad/osqp-1.1.1-cp312-cp312-win_amd64.whl", hash = "sha256:cd4ac30fd125e12ef5b67836442ebd3bb90925828816e0253e96a203197f5dc7", size = 310738, upload-time = "2026-02-11T18:08:54.392Z" }, + { url = "https://files.pythonhosted.org/packages/2c/58/c844aa4730bfb9c3a4b3c8e66c2069e5376972f458f97f4520bad963cafd/osqp-1.1.1-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:e2eb72980685a59d57bcb61a32559bddb61deaf3ee275a68e70c77ecb9da2910", size = 318058, upload-time = "2026-02-11T18:09:14.967Z" }, + { url = "https://files.pythonhosted.org/packages/c7/22/cebf39f3229f6773113e64d7238d58bf04b725d264c4872f0a4eb526a568/osqp-1.1.1-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:24a9c749a0d8d9378483c55a8519244e1c6789c6f3c4638a6e546178c70fccc4", size = 301005, upload-time = "2026-02-11T18:09:16.839Z" }, + { url = "https://files.pythonhosted.org/packages/63/e9/7ab40edc1f0a7415dd0fbccd0f9d7a0de7f6221427c96f7d62be1da7dbb5/osqp-1.1.1-cp39-cp39-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:1e8c0078682646260a8c154fd9042f006a60426736ffa495ac1c358723a1d7f7", size = 320322, upload-time = "2026-02-11T18:09:18.398Z" }, + { url = "https://files.pythonhosted.org/packages/96/38/046544ee3890c7a0426fe552bbea8fd189c5f67617d15f59c1aa00dd61fe/osqp-1.1.1-cp39-cp39-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:e506467e88d9552f07bb2005adce569619d01fd8d2c8676213e7cfede2feeb24", size = 341795, upload-time = "2026-02-11T18:09:19.585Z" }, + { url = "https://files.pythonhosted.org/packages/0f/fc/4055742e996edc4f5c08ff8a27369bbb023bb3b9e21fb30b2ec1a0a3eb72/osqp-1.1.1-cp39-cp39-win_amd64.whl", hash = "sha256:89988e8661ab43b139013e9e37c34e18d5ae0c084f296db87c31b97a8d95b9be", size = 309225, upload-time = "2026-02-11T18:09:20.703Z" }, ] [[package]] name = "packaging" -version = "24.2" +version = "26.0" source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/d0/63/68dbb6eb2de9cb10ee4c9c14a0148804425e13c4fb20d61cce69f53106da/packaging-24.2.tar.gz", hash = "sha256:c228a6dc5e932d346bc5739379109d49e8853dd8223571c7c5b55260edc0b97f", size = 163950 } +sdist = { url = "https://files.pythonhosted.org/packages/65/ee/299d360cdc32edc7d2cf530f3accf79c4fca01e96ffc950d8a52213bd8e4/packaging-26.0.tar.gz", hash = "sha256:00243ae351a257117b6a241061796684b084ed1c516a08c48a3f7e147a9d80b4", size = 143416, upload-time = "2026-01-21T20:50:39.064Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/88/ef/eb23f262cca3c0c4eb7ab1933c3b1f03d021f2c48f54763065b6f0e321be/packaging-24.2-py3-none-any.whl", hash = "sha256:09abb1bccd265c01f4a3aa3f7a7db064b36514d2cba19a2f694fe6150451a759", size = 65451 }, + { url = "https://files.pythonhosted.org/packages/b7/b9/c538f279a4e237a006a2c98387d081e9eb060d203d8ed34467cc0f0b9b53/packaging-26.0-py3-none-any.whl", hash = "sha256:b36f1fef9334a5588b4166f8bcd26a14e521f2b55e6b9de3aaa80d3ff7a37529", size = 74366, upload-time = "2026-01-21T20:50:37.788Z" }, ] [[package]] name = "pandas" -version = "2.2.3" +version = "2.3.3" source = { registry = "https://pypi.org/simple" } +resolution-markers = [ + "python_full_version == '3.10.*'", + "python_full_version < '3.10'", +] dependencies = [ - { name = "numpy" }, - { name = "python-dateutil" }, - { name = "pytz" }, - { name = "tzdata" }, -] -sdist = { url = "https://files.pythonhosted.org/packages/9c/d6/9f8431bacc2e19dca897724cd097b1bb224a6ad5433784a44b587c7c13af/pandas-2.2.3.tar.gz", hash = "sha256:4f18ba62b61d7e192368b84517265a99b4d7ee8912f8708660fb4a366cc82667", size = 4399213 } -wheels = [ - { url = "https://files.pythonhosted.org/packages/aa/70/c853aec59839bceed032d52010ff5f1b8d87dc3114b762e4ba2727661a3b/pandas-2.2.3-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:1948ddde24197a0f7add2bdc4ca83bf2b1ef84a1bc8ccffd95eda17fd836ecb5", size = 12580827 }, - { url = "https://files.pythonhosted.org/packages/99/f2/c4527768739ffa4469b2b4fff05aa3768a478aed89a2f271a79a40eee984/pandas-2.2.3-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:381175499d3802cde0eabbaf6324cce0c4f5d52ca6f8c377c29ad442f50f6348", size = 11303897 }, - { url = "https://files.pythonhosted.org/packages/ed/12/86c1747ea27989d7a4064f806ce2bae2c6d575b950be087837bdfcabacc9/pandas-2.2.3-cp310-cp310-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:d9c45366def9a3dd85a6454c0e7908f2b3b8e9c138f5dc38fed7ce720d8453ed", size = 66480908 }, - { url = "https://files.pythonhosted.org/packages/44/50/7db2cd5e6373ae796f0ddad3675268c8d59fb6076e66f0c339d61cea886b/pandas-2.2.3-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:86976a1c5b25ae3f8ccae3a5306e443569ee3c3faf444dfd0f41cda24667ad57", size = 13064210 }, - { url = "https://files.pythonhosted.org/packages/61/61/a89015a6d5536cb0d6c3ba02cebed51a95538cf83472975275e28ebf7d0c/pandas-2.2.3-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:b8661b0238a69d7aafe156b7fa86c44b881387509653fdf857bebc5e4008ad42", size = 16754292 }, - { url = "https://files.pythonhosted.org/packages/ce/0d/4cc7b69ce37fac07645a94e1d4b0880b15999494372c1523508511b09e40/pandas-2.2.3-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:37e0aced3e8f539eccf2e099f65cdb9c8aa85109b0be6e93e2baff94264bdc6f", size = 14416379 }, - { url = "https://files.pythonhosted.org/packages/31/9e/6ebb433de864a6cd45716af52a4d7a8c3c9aaf3a98368e61db9e69e69a9c/pandas-2.2.3-cp310-cp310-win_amd64.whl", hash = "sha256:56534ce0746a58afaf7942ba4863e0ef81c9c50d3f0ae93e9497d6a41a057645", size = 11598471 }, - { url = "https://files.pythonhosted.org/packages/a8/44/d9502bf0ed197ba9bf1103c9867d5904ddcaf869e52329787fc54ed70cc8/pandas-2.2.3-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:66108071e1b935240e74525006034333f98bcdb87ea116de573a6a0dccb6c039", size = 12602222 }, - { url = "https://files.pythonhosted.org/packages/52/11/9eac327a38834f162b8250aab32a6781339c69afe7574368fffe46387edf/pandas-2.2.3-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:7c2875855b0ff77b2a64a0365e24455d9990730d6431b9e0ee18ad8acee13dbd", size = 11321274 }, - { url = "https://files.pythonhosted.org/packages/45/fb/c4beeb084718598ba19aa9f5abbc8aed8b42f90930da861fcb1acdb54c3a/pandas-2.2.3-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:cd8d0c3be0515c12fed0bdbae072551c8b54b7192c7b1fda0ba56059a0179698", size = 15579836 }, - { url = "https://files.pythonhosted.org/packages/cd/5f/4dba1d39bb9c38d574a9a22548c540177f78ea47b32f99c0ff2ec499fac5/pandas-2.2.3-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:c124333816c3a9b03fbeef3a9f230ba9a737e9e5bb4060aa2107a86cc0a497fc", size = 13058505 }, - { url = "https://files.pythonhosted.org/packages/b9/57/708135b90391995361636634df1f1130d03ba456e95bcf576fada459115a/pandas-2.2.3-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:63cc132e40a2e084cf01adf0775b15ac515ba905d7dcca47e9a251819c575ef3", size = 16744420 }, - { url = "https://files.pythonhosted.org/packages/86/4a/03ed6b7ee323cf30404265c284cee9c65c56a212e0a08d9ee06984ba2240/pandas-2.2.3-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:29401dbfa9ad77319367d36940cd8a0b3a11aba16063e39632d98b0e931ddf32", size = 14440457 }, - { url = "https://files.pythonhosted.org/packages/ed/8c/87ddf1fcb55d11f9f847e3c69bb1c6f8e46e2f40ab1a2d2abadb2401b007/pandas-2.2.3-cp311-cp311-win_amd64.whl", hash = "sha256:3fc6873a41186404dad67245896a6e440baacc92f5b716ccd1bc9ed2995ab2c5", size = 11617166 }, - { url = "https://files.pythonhosted.org/packages/17/a3/fb2734118db0af37ea7433f57f722c0a56687e14b14690edff0cdb4b7e58/pandas-2.2.3-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:b1d432e8d08679a40e2a6d8b2f9770a5c21793a6f9f47fdd52c5ce1948a5a8a9", size = 12529893 }, - { url = "https://files.pythonhosted.org/packages/e1/0c/ad295fd74bfac85358fd579e271cded3ac969de81f62dd0142c426b9da91/pandas-2.2.3-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:a5a1595fe639f5988ba6a8e5bc9649af3baf26df3998a0abe56c02609392e0a4", size = 11363475 }, - { url = "https://files.pythonhosted.org/packages/c6/2a/4bba3f03f7d07207481fed47f5b35f556c7441acddc368ec43d6643c5777/pandas-2.2.3-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:5de54125a92bb4d1c051c0659e6fcb75256bf799a732a87184e5ea503965bce3", size = 15188645 }, - { url = "https://files.pythonhosted.org/packages/38/f8/d8fddee9ed0d0c0f4a2132c1dfcf0e3e53265055da8df952a53e7eaf178c/pandas-2.2.3-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:fffb8ae78d8af97f849404f21411c95062db1496aeb3e56f146f0355c9989319", size = 12739445 }, - { url = "https://files.pythonhosted.org/packages/20/e8/45a05d9c39d2cea61ab175dbe6a2de1d05b679e8de2011da4ee190d7e748/pandas-2.2.3-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:6dfcb5ee8d4d50c06a51c2fffa6cff6272098ad6540aed1a76d15fb9318194d8", size = 16359235 }, - { url = "https://files.pythonhosted.org/packages/1d/99/617d07a6a5e429ff90c90da64d428516605a1ec7d7bea494235e1c3882de/pandas-2.2.3-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:062309c1b9ea12a50e8ce661145c6aab431b1e99530d3cd60640e255778bd43a", size = 14056756 }, - { url = "https://files.pythonhosted.org/packages/29/d4/1244ab8edf173a10fd601f7e13b9566c1b525c4f365d6bee918e68381889/pandas-2.2.3-cp312-cp312-win_amd64.whl", hash = "sha256:59ef3764d0fe818125a5097d2ae867ca3fa64df032331b7e0917cf5d7bf66b13", size = 11504248 }, - { url = "https://files.pythonhosted.org/packages/ca/8c/8848a4c9b8fdf5a534fe2077af948bf53cd713d77ffbcd7bd15710348fd7/pandas-2.2.3-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:bc6b93f9b966093cb0fd62ff1a7e4c09e6d546ad7c1de191767baffc57628f39", size = 12595535 }, - { url = "https://files.pythonhosted.org/packages/9c/b9/5cead4f63b6d31bdefeb21a679bc5a7f4aaf262ca7e07e2bc1c341b68470/pandas-2.2.3-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:5dbca4c1acd72e8eeef4753eeca07de9b1db4f398669d5994086f788a5d7cc30", size = 11319822 }, - { url = "https://files.pythonhosted.org/packages/31/af/89e35619fb573366fa68dc26dad6ad2c08c17b8004aad6d98f1a31ce4bb3/pandas-2.2.3-cp39-cp39-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:8cd6d7cc958a3910f934ea8dbdf17b2364827bb4dafc38ce6eef6bb3d65ff09c", size = 15625439 }, - { url = "https://files.pythonhosted.org/packages/3d/dd/bed19c2974296661493d7acc4407b1d2db4e2a482197df100f8f965b6225/pandas-2.2.3-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:99df71520d25fade9db7c1076ac94eb994f4d2673ef2aa2e86ee039b6746d20c", size = 13068928 }, - { url = "https://files.pythonhosted.org/packages/31/a3/18508e10a31ea108d746c848b5a05c0711e0278fa0d6f1c52a8ec52b80a5/pandas-2.2.3-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:31d0ced62d4ea3e231a9f228366919a5ea0b07440d9d4dac345376fd8e1477ea", size = 16783266 }, - { url = "https://files.pythonhosted.org/packages/c4/a5/3429bd13d82bebc78f4d78c3945efedef63a7cd0c15c17b2eeb838d1121f/pandas-2.2.3-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:7eee9e7cea6adf3e3d24e304ac6b8300646e2a5d1cd3a3c2abed9101b0846761", size = 14450871 }, - { url = "https://files.pythonhosted.org/packages/2f/49/5c30646e96c684570925b772eac4eb0a8cb0ca590fa978f56c5d3ae73ea1/pandas-2.2.3-cp39-cp39-win_amd64.whl", hash = "sha256:4850ba03528b6dd51d6c5d273c46f183f39a9baf3f0143e566b89450965b105e", size = 11618011 }, + { name = "numpy", marker = "python_full_version < '3.11'" }, + { name = "python-dateutil", marker = "python_full_version < '3.11'" }, + { name = "pytz", marker = "python_full_version < '3.11'" }, + { name = "tzdata", marker = "python_full_version < '3.11'" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/33/01/d40b85317f86cf08d853a4f495195c73815fdf205eef3993821720274518/pandas-2.3.3.tar.gz", hash = "sha256:e05e1af93b977f7eafa636d043f9f94c7ee3ac81af99c13508215942e64c993b", size = 4495223, upload-time = "2025-09-29T23:34:51.853Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/3d/f7/f425a00df4fcc22b292c6895c6831c0c8ae1d9fac1e024d16f98a9ce8749/pandas-2.3.3-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:376c6446ae31770764215a6c937f72d917f214b43560603cd60da6408f183b6c", size = 11555763, upload-time = "2025-09-29T23:16:53.287Z" }, + { url = "https://files.pythonhosted.org/packages/13/4f/66d99628ff8ce7857aca52fed8f0066ce209f96be2fede6cef9f84e8d04f/pandas-2.3.3-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:e19d192383eab2f4ceb30b412b22ea30690c9e618f78870357ae1d682912015a", size = 10801217, upload-time = "2025-09-29T23:17:04.522Z" }, + { url = "https://files.pythonhosted.org/packages/1d/03/3fc4a529a7710f890a239cc496fc6d50ad4a0995657dccc1d64695adb9f4/pandas-2.3.3-cp310-cp310-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:5caf26f64126b6c7aec964f74266f435afef1c1b13da3b0636c7518a1fa3e2b1", size = 12148791, upload-time = "2025-09-29T23:17:18.444Z" }, + { url = "https://files.pythonhosted.org/packages/40/a8/4dac1f8f8235e5d25b9955d02ff6f29396191d4e665d71122c3722ca83c5/pandas-2.3.3-cp310-cp310-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:dd7478f1463441ae4ca7308a70e90b33470fa593429f9d4c578dd00d1fa78838", size = 12769373, upload-time = "2025-09-29T23:17:35.846Z" }, + { url = "https://files.pythonhosted.org/packages/df/91/82cc5169b6b25440a7fc0ef3a694582418d875c8e3ebf796a6d6470aa578/pandas-2.3.3-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:4793891684806ae50d1288c9bae9330293ab4e083ccd1c5e383c34549c6e4250", size = 13200444, upload-time = "2025-09-29T23:17:49.341Z" }, + { url = "https://files.pythonhosted.org/packages/10/ae/89b3283800ab58f7af2952704078555fa60c807fff764395bb57ea0b0dbd/pandas-2.3.3-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:28083c648d9a99a5dd035ec125d42439c6c1c525098c58af0fc38dd1a7a1b3d4", size = 13858459, upload-time = "2025-09-29T23:18:03.722Z" }, + { url = "https://files.pythonhosted.org/packages/85/72/530900610650f54a35a19476eca5104f38555afccda1aa11a92ee14cb21d/pandas-2.3.3-cp310-cp310-win_amd64.whl", hash = "sha256:503cf027cf9940d2ceaa1a93cfb5f8c8c7e6e90720a2850378f0b3f3b1e06826", size = 11346086, upload-time = "2025-09-29T23:18:18.505Z" }, + { url = "https://files.pythonhosted.org/packages/c1/fa/7ac648108144a095b4fb6aa3de1954689f7af60a14cf25583f4960ecb878/pandas-2.3.3-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:602b8615ebcc4a0c1751e71840428ddebeb142ec02c786e8ad6b1ce3c8dec523", size = 11578790, upload-time = "2025-09-29T23:18:30.065Z" }, + { url = "https://files.pythonhosted.org/packages/9b/35/74442388c6cf008882d4d4bdfc4109be87e9b8b7ccd097ad1e7f006e2e95/pandas-2.3.3-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:8fe25fc7b623b0ef6b5009149627e34d2a4657e880948ec3c840e9402e5c1b45", size = 10833831, upload-time = "2025-09-29T23:38:56.071Z" }, + { url = "https://files.pythonhosted.org/packages/fe/e4/de154cbfeee13383ad58d23017da99390b91d73f8c11856f2095e813201b/pandas-2.3.3-cp311-cp311-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:b468d3dad6ff947df92dcb32ede5b7bd41a9b3cceef0a30ed925f6d01fb8fa66", size = 12199267, upload-time = "2025-09-29T23:18:41.627Z" }, + { url = "https://files.pythonhosted.org/packages/bf/c9/63f8d545568d9ab91476b1818b4741f521646cbdd151c6efebf40d6de6f7/pandas-2.3.3-cp311-cp311-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:b98560e98cb334799c0b07ca7967ac361a47326e9b4e5a7dfb5ab2b1c9d35a1b", size = 12789281, upload-time = "2025-09-29T23:18:56.834Z" }, + { url = "https://files.pythonhosted.org/packages/f2/00/a5ac8c7a0e67fd1a6059e40aa08fa1c52cc00709077d2300e210c3ce0322/pandas-2.3.3-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:1d37b5848ba49824e5c30bedb9c830ab9b7751fd049bc7914533e01c65f79791", size = 13240453, upload-time = "2025-09-29T23:19:09.247Z" }, + { url = "https://files.pythonhosted.org/packages/27/4d/5c23a5bc7bd209231618dd9e606ce076272c9bc4f12023a70e03a86b4067/pandas-2.3.3-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:db4301b2d1f926ae677a751eb2bd0e8c5f5319c9cb3f88b0becbbb0b07b34151", size = 13890361, upload-time = "2025-09-29T23:19:25.342Z" }, + { url = "https://files.pythonhosted.org/packages/8e/59/712db1d7040520de7a4965df15b774348980e6df45c129b8c64d0dbe74ef/pandas-2.3.3-cp311-cp311-win_amd64.whl", hash = "sha256:f086f6fe114e19d92014a1966f43a3e62285109afe874f067f5abbdcbb10e59c", size = 11348702, upload-time = "2025-09-29T23:19:38.296Z" }, + { url = "https://files.pythonhosted.org/packages/9c/fb/231d89e8637c808b997d172b18e9d4a4bc7bf31296196c260526055d1ea0/pandas-2.3.3-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:6d21f6d74eb1725c2efaa71a2bfc661a0689579b58e9c0ca58a739ff0b002b53", size = 11597846, upload-time = "2025-09-29T23:19:48.856Z" }, + { url = "https://files.pythonhosted.org/packages/5c/bd/bf8064d9cfa214294356c2d6702b716d3cf3bb24be59287a6a21e24cae6b/pandas-2.3.3-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:3fd2f887589c7aa868e02632612ba39acb0b8948faf5cc58f0850e165bd46f35", size = 10729618, upload-time = "2025-09-29T23:39:08.659Z" }, + { url = "https://files.pythonhosted.org/packages/57/56/cf2dbe1a3f5271370669475ead12ce77c61726ffd19a35546e31aa8edf4e/pandas-2.3.3-cp312-cp312-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:ecaf1e12bdc03c86ad4a7ea848d66c685cb6851d807a26aa245ca3d2017a1908", size = 11737212, upload-time = "2025-09-29T23:19:59.765Z" }, + { url = "https://files.pythonhosted.org/packages/e5/63/cd7d615331b328e287d8233ba9fdf191a9c2d11b6af0c7a59cfcec23de68/pandas-2.3.3-cp312-cp312-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:b3d11d2fda7eb164ef27ffc14b4fcab16a80e1ce67e9f57e19ec0afaf715ba89", size = 12362693, upload-time = "2025-09-29T23:20:14.098Z" }, + { url = "https://files.pythonhosted.org/packages/a6/de/8b1895b107277d52f2b42d3a6806e69cfef0d5cf1d0ba343470b9d8e0a04/pandas-2.3.3-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:a68e15f780eddf2b07d242e17a04aa187a7ee12b40b930bfdd78070556550e98", size = 12771002, upload-time = "2025-09-29T23:20:26.76Z" }, + { url = "https://files.pythonhosted.org/packages/87/21/84072af3187a677c5893b170ba2c8fbe450a6ff911234916da889b698220/pandas-2.3.3-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:371a4ab48e950033bcf52b6527eccb564f52dc826c02afd9a1bc0ab731bba084", size = 13450971, upload-time = "2025-09-29T23:20:41.344Z" }, + { url = "https://files.pythonhosted.org/packages/86/41/585a168330ff063014880a80d744219dbf1dd7a1c706e75ab3425a987384/pandas-2.3.3-cp312-cp312-win_amd64.whl", hash = "sha256:a16dcec078a01eeef8ee61bf64074b4e524a2a3f4b3be9326420cabe59c4778b", size = 10992722, upload-time = "2025-09-29T23:20:54.139Z" }, + { url = "https://files.pythonhosted.org/packages/56/b4/52eeb530a99e2a4c55ffcd352772b599ed4473a0f892d127f4147cf0f88e/pandas-2.3.3-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:c503ba5216814e295f40711470446bc3fd00f0faea8a086cbc688808e26f92a2", size = 11567720, upload-time = "2025-09-29T23:33:06.209Z" }, + { url = "https://files.pythonhosted.org/packages/48/4a/2d8b67632a021bced649ba940455ed441ca854e57d6e7658a6024587b083/pandas-2.3.3-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:a637c5cdfa04b6d6e2ecedcb81fc52ffb0fd78ce2ebccc9ea964df9f658de8c8", size = 10810302, upload-time = "2025-09-29T23:33:35.846Z" }, + { url = "https://files.pythonhosted.org/packages/13/e6/d2465010ee0569a245c975dc6967b801887068bc893e908239b1f4b6c1ac/pandas-2.3.3-cp39-cp39-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:854d00d556406bffe66a4c0802f334c9ad5a96b4f1f868adf036a21b11ef13ff", size = 12154874, upload-time = "2025-09-29T23:33:49.939Z" }, + { url = "https://files.pythonhosted.org/packages/1f/18/aae8c0aa69a386a3255940e9317f793808ea79d0a525a97a903366bb2569/pandas-2.3.3-cp39-cp39-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:bf1f8a81d04ca90e32a0aceb819d34dbd378a98bf923b6398b9a3ec0bf44de29", size = 12790141, upload-time = "2025-09-29T23:34:05.655Z" }, + { url = "https://files.pythonhosted.org/packages/f7/26/617f98de789de00c2a444fbe6301bb19e66556ac78cff933d2c98f62f2b4/pandas-2.3.3-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:23ebd657a4d38268c7dfbdf089fbc31ea709d82e4923c5ffd4fbd5747133ce73", size = 13208697, upload-time = "2025-09-29T23:34:21.835Z" }, + { url = "https://files.pythonhosted.org/packages/b9/fb/25709afa4552042bd0e15717c75e9b4a2294c3dc4f7e6ea50f03c5136600/pandas-2.3.3-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:5554c929ccc317d41a5e3d1234f3be588248e61f08a74dd17c9eabb535777dc9", size = 13879233, upload-time = "2025-09-29T23:34:35.079Z" }, + { url = "https://files.pythonhosted.org/packages/98/af/7be05277859a7bc399da8ba68b88c96b27b48740b6cf49688899c6eb4176/pandas-2.3.3-cp39-cp39-win_amd64.whl", hash = "sha256:d3e28b3e83862ccf4d85ff19cf8c20b2ae7e503881711ff2d534dc8f761131aa", size = 11359119, upload-time = "2025-09-29T23:34:46.339Z" }, +] + +[[package]] +name = "pandas" +version = "3.0.1" +source = { registry = "https://pypi.org/simple" } +resolution-markers = [ + "python_full_version >= '3.11' and sys_platform == 'win32'", + "python_full_version >= '3.11' and sys_platform == 'emscripten'", + "python_full_version >= '3.11' and sys_platform != 'emscripten' and sys_platform != 'win32'", +] +dependencies = [ + { name = "numpy", marker = "python_full_version >= '3.11'" }, + { name = "python-dateutil", marker = "python_full_version >= '3.11'" }, + { name = "tzdata", marker = "(python_full_version >= '3.11' and sys_platform == 'emscripten') or (python_full_version >= '3.11' and sys_platform == 'win32')" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/2e/0c/b28ed414f080ee0ad153f848586d61d1878f91689950f037f976ce15f6c8/pandas-3.0.1.tar.gz", hash = "sha256:4186a699674af418f655dbd420ed87f50d56b4cd6603784279d9eef6627823c8", size = 4641901, upload-time = "2026-02-17T22:20:16.434Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/ff/07/c7087e003ceee9b9a82539b40414ec557aa795b584a1a346e89180853d79/pandas-3.0.1-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:de09668c1bf3b925c07e5762291602f0d789eca1b3a781f99c1c78f6cac0e7ea", size = 10323380, upload-time = "2026-02-17T22:18:16.133Z" }, + { url = "https://files.pythonhosted.org/packages/c1/27/90683c7122febeefe84a56f2cde86a9f05f68d53885cebcc473298dfc33e/pandas-3.0.1-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:24ba315ba3d6e5806063ac6eb717504e499ce30bd8c236d8693a5fd3f084c796", size = 9923455, upload-time = "2026-02-17T22:18:19.13Z" }, + { url = "https://files.pythonhosted.org/packages/0e/f1/ed17d927f9950643bc7631aa4c99ff0cc83a37864470bc419345b656a41f/pandas-3.0.1-cp311-cp311-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:406ce835c55bac912f2a0dcfaf27c06d73c6b04a5dde45f1fd3169ce31337389", size = 10753464, upload-time = "2026-02-17T22:18:21.134Z" }, + { url = "https://files.pythonhosted.org/packages/2e/7c/870c7e7daec2a6c7ff2ac9e33b23317230d4e4e954b35112759ea4a924a7/pandas-3.0.1-cp311-cp311-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:830994d7e1f31dd7e790045235605ab61cff6c94defc774547e8b7fdfbff3dc7", size = 11255234, upload-time = "2026-02-17T22:18:24.175Z" }, + { url = "https://files.pythonhosted.org/packages/5c/39/3653fe59af68606282b989c23d1a543ceba6e8099cbcc5f1d506a7bae2aa/pandas-3.0.1-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:a64ce8b0f2de1d2efd2ae40b0abe7f8ae6b29fbfb3812098ed5a6f8e235ad9bf", size = 11767299, upload-time = "2026-02-17T22:18:26.824Z" }, + { url = "https://files.pythonhosted.org/packages/9b/31/1daf3c0c94a849c7a8dab8a69697b36d313b229918002ba3e409265c7888/pandas-3.0.1-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:9832c2c69da24b602c32e0c7b1b508a03949c18ba08d4d9f1c1033426685b447", size = 12333292, upload-time = "2026-02-17T22:18:28.996Z" }, + { url = "https://files.pythonhosted.org/packages/1f/67/af63f83cd6ca603a00fe8530c10a60f0879265b8be00b5930e8e78c5b30b/pandas-3.0.1-cp311-cp311-win_amd64.whl", hash = "sha256:84f0904a69e7365f79a0c77d3cdfccbfb05bf87847e3a51a41e1426b0edb9c79", size = 9892176, upload-time = "2026-02-17T22:18:31.79Z" }, + { url = "https://files.pythonhosted.org/packages/79/ab/9c776b14ac4b7b4140788eca18468ea39894bc7340a408f1d1e379856a6b/pandas-3.0.1-cp311-cp311-win_arm64.whl", hash = "sha256:4a68773d5a778afb31d12e34f7dd4612ab90de8c6fb1d8ffe5d4a03b955082a1", size = 9151328, upload-time = "2026-02-17T22:18:35.721Z" }, + { url = "https://files.pythonhosted.org/packages/37/51/b467209c08dae2c624873d7491ea47d2b47336e5403309d433ea79c38571/pandas-3.0.1-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:476f84f8c20c9f5bc47252b66b4bb25e1a9fc2fa98cead96744d8116cb85771d", size = 10344357, upload-time = "2026-02-17T22:18:38.262Z" }, + { url = "https://files.pythonhosted.org/packages/7c/f1/e2567ffc8951ab371db2e40b2fe068e36b81d8cf3260f06ae508700e5504/pandas-3.0.1-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:0ab749dfba921edf641d4036c4c21c0b3ea70fea478165cb98a998fb2a261955", size = 9884543, upload-time = "2026-02-17T22:18:41.476Z" }, + { url = "https://files.pythonhosted.org/packages/d7/39/327802e0b6d693182403c144edacbc27eb82907b57062f23ef5a4c4a5ea7/pandas-3.0.1-cp312-cp312-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:b8e36891080b87823aff3640c78649b91b8ff6eea3c0d70aeabd72ea43ab069b", size = 10396030, upload-time = "2026-02-17T22:18:43.822Z" }, + { url = "https://files.pythonhosted.org/packages/3d/fe/89d77e424365280b79d99b3e1e7d606f5165af2f2ecfaf0c6d24c799d607/pandas-3.0.1-cp312-cp312-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:532527a701281b9dd371e2f582ed9094f4c12dd9ffb82c0c54ee28d8ac9520c4", size = 10876435, upload-time = "2026-02-17T22:18:45.954Z" }, + { url = "https://files.pythonhosted.org/packages/b5/a6/2a75320849dd154a793f69c951db759aedb8d1dd3939eeacda9bdcfa1629/pandas-3.0.1-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:356e5c055ed9b0da1580d465657bc7d00635af4fd47f30afb23025352ba764d1", size = 11405133, upload-time = "2026-02-17T22:18:48.533Z" }, + { url = "https://files.pythonhosted.org/packages/58/53/1d68fafb2e02d7881df66aa53be4cd748d25cbe311f3b3c85c93ea5d30ca/pandas-3.0.1-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:9d810036895f9ad6345b8f2a338dd6998a74e8483847403582cab67745bff821", size = 11932065, upload-time = "2026-02-17T22:18:50.837Z" }, + { url = "https://files.pythonhosted.org/packages/75/08/67cc404b3a966b6df27b38370ddd96b3b023030b572283d035181854aac5/pandas-3.0.1-cp312-cp312-win_amd64.whl", hash = "sha256:536232a5fe26dd989bd633e7a0c450705fdc86a207fec7254a55e9a22950fe43", size = 9741627, upload-time = "2026-02-17T22:18:53.905Z" }, + { url = "https://files.pythonhosted.org/packages/86/4f/caf9952948fb00d23795f09b893d11f1cacb384e666854d87249530f7cbe/pandas-3.0.1-cp312-cp312-win_arm64.whl", hash = "sha256:0f463ebfd8de7f326d38037c7363c6dacb857c5881ab8961fb387804d6daf2f7", size = 9052483, upload-time = "2026-02-17T22:18:57.31Z" }, ] [[package]] name = "pathspec" -version = "0.12.1" +version = "1.0.4" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/fa/36/e27608899f9b8d4dff0617b2d9ab17ca5608956ca44461ac14ac48b44015/pathspec-1.0.4.tar.gz", hash = "sha256:0210e2ae8a21a9137c0d470578cb0e595af87edaa6ebf12ff176f14a02e0e645", size = 131200, upload-time = "2026-01-27T03:59:46.938Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/ef/3c/2c197d226f9ea224a9ab8d197933f9da0ae0aac5b6e0f884e2b8d9c8e9f7/pathspec-1.0.4-py3-none-any.whl", hash = "sha256:fb6ae2fd4e7c921a165808a552060e722767cfa526f99ca5156ed2ce45a5c723", size = 55206, upload-time = "2026-01-27T03:59:45.137Z" }, +] + +[[package]] +name = "platformdirs" +version = "4.4.0" 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 } +resolution-markers = [ + "python_full_version < '3.10'", +] +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/cc/20/ff623b09d963f88bfde16306a54e12ee5ea43e9b597108672ff3a408aad6/pathspec-0.12.1-py3-none-any.whl", hash = "sha256:a0d503e138a4c123b27490a4f7beda6a01c6f288df0e4a8b79c7eb0dc7b4cc08", size = 31191 }, + { 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 = "platformdirs" -version = "4.3.7" +version = "4.9.4" source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/b6/2d/7d512a3913d60623e7eb945c6d1b4f0bddf1d0b7ada5225274c87e5b53d1/platformdirs-4.3.7.tar.gz", hash = "sha256:eb437d586b6a0986388f0d6f74aa0cde27b48d0e3d66843640bfb6bdcdb6e351", size = 21291 } +resolution-markers = [ + "python_full_version >= '3.11' and sys_platform == 'win32'", + "python_full_version >= '3.11' and sys_platform == 'emscripten'", + "python_full_version >= '3.11' and sys_platform != 'emscripten' and sys_platform != 'win32'", + "python_full_version == '3.10.*'", +] +sdist = { url = "https://files.pythonhosted.org/packages/19/56/8d4c30c8a1d07013911a8fdbd8f89440ef9f08d07a1b50ab8ca8be5a20f9/platformdirs-4.9.4.tar.gz", hash = "sha256:1ec356301b7dc906d83f371c8f487070e99d3ccf9e501686456394622a01a934", size = 28737, upload-time = "2026-03-05T18:34:13.271Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/6d/45/59578566b3275b8fd9157885918fcd0c4d74162928a5310926887b856a51/platformdirs-4.3.7-py3-none-any.whl", hash = "sha256:a03875334331946f13c549dbd8f4bac7a13a50a895a0eb1e8c6a8ace80d40a94", size = 18499 }, + { url = "https://files.pythonhosted.org/packages/63/d7/97f7e3a6abb67d8080dd406fd4df842c2be0efaf712d1c899c32a075027c/platformdirs-4.9.4-py3-none-any.whl", hash = "sha256:68a9a4619a666ea6439f2ff250c12a853cd1cbd5158d258bd824a7df6be2f868", size = 21216, upload-time = "2026-03-05T18:34:12.172Z" }, ] [[package]] name = "pluggy" -version = "1.5.0" +version = "1.6.0" source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/96/2d/02d4312c973c6050a18b314a5ad0b3210edb65a906f868e31c111dede4a6/pluggy-1.5.0.tar.gz", hash = "sha256:2cffa88e94fdc978c4c574f15f9e59b7f4201d439195c3715ca9e2486f1d0cf1", size = 67955 } +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/88/5f/e351af9a41f866ac3f1fac4ca0613908d9a41741cfcf2228f4ad853b697d/pluggy-1.5.0-py3-none-any.whl", hash = "sha256:44e1ad92c8ca002de6377e165f3e0f1be63266ab4d554740532335b9d75ea669", size = 20556 }, + { 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]] name = "populationsim" -version = "0.9.2" +version = "0.10.0" source = { virtual = "." } dependencies = [ { name = "blosc2", version = "2.5.1", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.10'" }, - { name = "blosc2", version = "2.7.1", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version == '3.10.*'" }, - { name = "blosc2", version = "3.3.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.11'" }, + { name = "blosc2", version = "4.1.2", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.10'" }, { name = "cvxpy", extra = ["glpk"] }, { name = "numba", version = "0.60.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.10'" }, - { name = "numba", version = "0.61.2", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.10'" }, + { name = "numba", version = "0.64.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.10'" }, { name = "numpy" }, { name = "orca" }, { name = "ortools" }, - { name = "pandas" }, + { name = "pandas", version = "2.3.3", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.11'" }, + { name = "pandas", version = "3.0.1", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.11'" }, { name = "psutil" }, - { name = "pyarrow" }, + { name = "pyarrow", version = "21.0.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.10'" }, + { name = "pyarrow", version = "23.0.1", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.10'" }, { name = "pyinstrument" }, { name = "pyyaml" }, { name = "tables", version = "3.9.2", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.10'" }, { name = "tables", version = "3.10.1", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version == '3.10.*'" }, - { name = "tables", version = "3.10.2", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.11'" }, + { name = "tables", version = "3.11.1", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.11'" }, ] [package.dev-dependencies] dev = [ - { name = "black" }, + { name = "black", version = "25.11.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.10'" }, + { name = "black", version = "26.3.1", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.10'" }, { name = "populationsim" }, - { name = "pre-commit" }, - { name = "pytest" }, + { name = "pre-commit", version = "4.3.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.10'" }, + { name = "pre-commit", version = "4.5.1", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.10'" }, + { name = "pytest", version = "8.4.2", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.10'" }, + { name = "pytest", version = "9.0.2", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.10'" }, { name = "pytest-cov" }, { name = "ruff" }, ] @@ -1100,180 +1480,295 @@ dev = [ [[package]] name = "pre-commit" -version = "4.2.0" +version = "4.3.0" source = { registry = "https://pypi.org/simple" } +resolution-markers = [ + "python_full_version < '3.10'", +] dependencies = [ - { name = "cfgv" }, - { name = "identify" }, - { name = "nodeenv" }, - { name = "pyyaml" }, - { name = "virtualenv" }, + { name = "cfgv", version = "3.4.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.10'" }, + { name = "identify", version = "2.6.15", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.10'" }, + { name = "nodeenv", marker = "python_full_version < '3.10'" }, + { name = "pyyaml", marker = "python_full_version < '3.10'" }, + { name = "virtualenv", marker = "python_full_version < '3.10'" }, +] +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, upload-time = "2025-08-09T18:56:13.192Z" }, +] + +[[package]] +name = "pre-commit" +version = "4.5.1" +source = { registry = "https://pypi.org/simple" } +resolution-markers = [ + "python_full_version >= '3.11' and sys_platform == 'win32'", + "python_full_version >= '3.11' and sys_platform == 'emscripten'", + "python_full_version >= '3.11' and sys_platform != 'emscripten' and sys_platform != 'win32'", + "python_full_version == '3.10.*'", +] +dependencies = [ + { name = "cfgv", version = "3.5.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.10'" }, + { name = "identify", version = "2.6.18", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.10'" }, + { name = "nodeenv", marker = "python_full_version >= '3.10'" }, + { name = "pyyaml", marker = "python_full_version >= '3.10'" }, + { name = "virtualenv", marker = "python_full_version >= '3.10'" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/08/39/679ca9b26c7bb2999ff122d50faa301e49af82ca9c066ec061cfbc0c6784/pre_commit-4.2.0.tar.gz", hash = "sha256:601283b9757afd87d40c4c4a9b2b5de9637a8ea02eaff7adc2d0fb4e04841146", size = 193424 } +sdist = { url = "https://files.pythonhosted.org/packages/40/f1/6d86a29246dfd2e9b6237f0b5823717f60cad94d47ddc26afa916d21f525/pre_commit-4.5.1.tar.gz", hash = "sha256:eb545fcff725875197837263e977ea257a402056661f09dae08e4b149b030a61", size = 198232, upload-time = "2025-12-16T21:14:33.552Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/88/74/a88bf1b1efeae488a0c0b7bdf71429c313722d1fc0f377537fbe554e6180/pre_commit-4.2.0-py2.py3-none-any.whl", hash = "sha256:a009ca7205f1eb497d10b845e52c838a98b6cdd2102a6c8e4540e94ee75c58bd", size = 220707 }, + { url = "https://files.pythonhosted.org/packages/5d/19/fd3ef348460c80af7bb4669ea7926651d1f95c23ff2df18b9d24bab4f3fa/pre_commit-4.5.1-py2.py3-none-any.whl", hash = "sha256:3b3afd891e97337708c1674210f8eba659b52a38ea5f822ff142d10786221f77", size = 226437, upload-time = "2025-12-16T21:14:32.409Z" }, ] [[package]] name = "protobuf" -version = "5.29.4" +version = "6.31.1" source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/17/7d/b9dca7365f0e2c4fa7c193ff795427cfa6290147e5185ab11ece280a18e7/protobuf-5.29.4.tar.gz", hash = "sha256:4f1dfcd7997b31ef8f53ec82781ff434a28bf71d9102ddde14d076adcfc78c99", size = 424902 } +sdist = { url = "https://files.pythonhosted.org/packages/52/f3/b9655a711b32c19720253f6f06326faf90580834e2e83f840472d752bc8b/protobuf-6.31.1.tar.gz", hash = "sha256:d8cac4c982f0b957a4dc73a80e2ea24fab08e679c0de9deb835f4a12d69aca9a", size = 441797, upload-time = "2025-05-28T19:25:54.947Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/9a/b2/043a1a1a20edd134563699b0e91862726a0dc9146c090743b6c44d798e75/protobuf-5.29.4-cp310-abi3-win32.whl", hash = "sha256:13eb236f8eb9ec34e63fc8b1d6efd2777d062fa6aaa68268fb67cf77f6839ad7", size = 422709 }, - { url = "https://files.pythonhosted.org/packages/79/fc/2474b59570daa818de6124c0a15741ee3e5d6302e9d6ce0bdfd12e98119f/protobuf-5.29.4-cp310-abi3-win_amd64.whl", hash = "sha256:bcefcdf3976233f8a502d265eb65ea740c989bacc6c30a58290ed0e519eb4b8d", size = 434506 }, - { url = "https://files.pythonhosted.org/packages/46/de/7c126bbb06aa0f8a7b38aaf8bd746c514d70e6a2a3f6dd460b3b7aad7aae/protobuf-5.29.4-cp38-abi3-macosx_10_9_universal2.whl", hash = "sha256:307ecba1d852ec237e9ba668e087326a67564ef83e45a0189a772ede9e854dd0", size = 417826 }, - { url = "https://files.pythonhosted.org/packages/a2/b5/bade14ae31ba871a139aa45e7a8183d869efe87c34a4850c87b936963261/protobuf-5.29.4-cp38-abi3-manylinux2014_aarch64.whl", hash = "sha256:aec4962f9ea93c431d5714ed1be1c93f13e1a8618e70035ba2b0564d9e633f2e", size = 319574 }, - { url = "https://files.pythonhosted.org/packages/46/88/b01ed2291aae68b708f7d334288ad5fb3e7aa769a9c309c91a0d55cb91b0/protobuf-5.29.4-cp38-abi3-manylinux2014_x86_64.whl", hash = "sha256:d7d3f7d1d5a66ed4942d4fefb12ac4b14a29028b209d4bfb25c68ae172059922", size = 319672 }, - { url = "https://files.pythonhosted.org/packages/8a/b8/c3847343ebd9c7ae0b762de1e173b110689fd334ac8dcf1697ffd9316861/protobuf-5.29.4-cp39-cp39-win32.whl", hash = "sha256:fd32223020cb25a2cc100366f1dedc904e2d71d9322403224cdde5fdced0dabe", size = 422675 }, - { url = "https://files.pythonhosted.org/packages/f0/74/e23e1ab05b27ce0b55f70be90df82076a5c18924d98679110459c52bacd9/protobuf-5.29.4-cp39-cp39-win_amd64.whl", hash = "sha256:678974e1e3a9b975b8bc2447fca458db5f93a2fb6b0c8db46b6675b5b5346812", size = 434594 }, - { url = "https://files.pythonhosted.org/packages/12/fb/a586e0c973c95502e054ac5f81f88394f24ccc7982dac19c515acd9e2c93/protobuf-5.29.4-py3-none-any.whl", hash = "sha256:3fde11b505e1597f71b875ef2fc52062b6a9740e5f7c8997ce878b6009145862", size = 172551 }, + { url = "https://files.pythonhosted.org/packages/f3/6f/6ab8e4bf962fd5570d3deaa2d5c38f0a363f57b4501047b5ebeb83ab1125/protobuf-6.31.1-cp310-abi3-win32.whl", hash = "sha256:7fa17d5a29c2e04b7d90e5e32388b8bfd0e7107cd8e616feef7ed3fa6bdab5c9", size = 423603, upload-time = "2025-05-28T19:25:41.198Z" }, + { url = "https://files.pythonhosted.org/packages/44/3a/b15c4347dd4bf3a1b0ee882f384623e2063bb5cf9fa9d57990a4f7df2fb6/protobuf-6.31.1-cp310-abi3-win_amd64.whl", hash = "sha256:426f59d2964864a1a366254fa703b8632dcec0790d8862d30034d8245e1cd447", size = 435283, upload-time = "2025-05-28T19:25:44.275Z" }, + { url = "https://files.pythonhosted.org/packages/6a/c9/b9689a2a250264a84e66c46d8862ba788ee7a641cdca39bccf64f59284b7/protobuf-6.31.1-cp39-abi3-macosx_10_9_universal2.whl", hash = "sha256:6f1227473dc43d44ed644425268eb7c2e488ae245d51c6866d19fe158e207402", size = 425604, upload-time = "2025-05-28T19:25:45.702Z" }, + { url = "https://files.pythonhosted.org/packages/76/a1/7a5a94032c83375e4fe7e7f56e3976ea6ac90c5e85fac8576409e25c39c3/protobuf-6.31.1-cp39-abi3-manylinux2014_aarch64.whl", hash = "sha256:a40fc12b84c154884d7d4c4ebd675d5b3b5283e155f324049ae396b95ddebc39", size = 322115, upload-time = "2025-05-28T19:25:47.128Z" }, + { url = "https://files.pythonhosted.org/packages/fa/b1/b59d405d64d31999244643d88c45c8241c58f17cc887e73bcb90602327f8/protobuf-6.31.1-cp39-abi3-manylinux2014_x86_64.whl", hash = "sha256:4ee898bf66f7a8b0bd21bce523814e6fbd8c6add948045ce958b73af7e8878c6", size = 321070, upload-time = "2025-05-28T19:25:50.036Z" }, + { url = "https://files.pythonhosted.org/packages/b1/f0/4160dbd205eee8fdf8647d154e7ceaa9d25b3a877b6311274eb6dc896b75/protobuf-6.31.1-cp39-cp39-win32.whl", hash = "sha256:0414e3aa5a5f3ff423828e1e6a6e907d6c65c1d5b7e6e975793d5590bdeecc16", size = 423626, upload-time = "2025-05-28T19:25:51.355Z" }, + { url = "https://files.pythonhosted.org/packages/09/34/13989eb9f482409ed821bfa3e34e6a3878b42607c38e7f7572b4cc825091/protobuf-6.31.1-cp39-cp39-win_amd64.whl", hash = "sha256:8764cf4587791e7564051b35524b72844f845ad0bb011704c3736cce762d8fe9", size = 435347, upload-time = "2025-05-28T19:25:52.932Z" }, + { url = "https://files.pythonhosted.org/packages/f7/af/ab3c51ab7507a7325e98ffe691d9495ee3d3aa5f589afad65ec920d39821/protobuf-6.31.1-py3-none-any.whl", hash = "sha256:720a6c7e6b77288b85063569baae8536671b39f15cc22037ec7045658d80489e", size = 168724, upload-time = "2025-05-28T19:25:53.926Z" }, ] [[package]] name = "psutil" -version = "7.0.0" +version = "7.2.2" source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/2a/80/336820c1ad9286a4ded7e845b2eccfcb27851ab8ac6abece774a6ff4d3de/psutil-7.0.0.tar.gz", hash = "sha256:7be9c3eba38beccb6495ea33afd982a44074b78f28c434a1f51cc07fd315c456", size = 497003 } +sdist = { url = "https://files.pythonhosted.org/packages/aa/c6/d1ddf4abb55e93cebc4f2ed8b5d6dbad109ecb8d63748dd2b20ab5e57ebe/psutil-7.2.2.tar.gz", hash = "sha256:0746f5f8d406af344fd547f1c8daa5f5c33dbc293bb8d6a16d80b4bb88f59372", size = 493740, upload-time = "2026-01-28T18:14:54.428Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/ed/e6/2d26234410f8b8abdbf891c9da62bee396583f713fb9f3325a4760875d22/psutil-7.0.0-cp36-abi3-macosx_10_9_x86_64.whl", hash = "sha256:101d71dc322e3cffd7cea0650b09b3d08b8e7c4109dd6809fe452dfd00e58b25", size = 238051 }, - { url = "https://files.pythonhosted.org/packages/04/8b/30f930733afe425e3cbfc0e1468a30a18942350c1a8816acfade80c005c4/psutil-7.0.0-cp36-abi3-macosx_11_0_arm64.whl", hash = "sha256:39db632f6bb862eeccf56660871433e111b6ea58f2caea825571951d4b6aa3da", size = 239535 }, - { url = "https://files.pythonhosted.org/packages/2a/ed/d362e84620dd22876b55389248e522338ed1bf134a5edd3b8231d7207f6d/psutil-7.0.0-cp36-abi3-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:1fcee592b4c6f146991ca55919ea3d1f8926497a713ed7faaf8225e174581e91", size = 275004 }, - { url = "https://files.pythonhosted.org/packages/bf/b9/b0eb3f3cbcb734d930fdf839431606844a825b23eaf9a6ab371edac8162c/psutil-7.0.0-cp36-abi3-manylinux_2_12_x86_64.manylinux2010_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:4b1388a4f6875d7e2aff5c4ca1cc16c545ed41dd8bb596cefea80111db353a34", size = 277986 }, - { url = "https://files.pythonhosted.org/packages/eb/a2/709e0fe2f093556c17fbafda93ac032257242cabcc7ff3369e2cb76a97aa/psutil-7.0.0-cp36-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a5f098451abc2828f7dc6b58d44b532b22f2088f4999a937557b603ce72b1993", size = 279544 }, - { url = "https://files.pythonhosted.org/packages/50/e6/eecf58810b9d12e6427369784efe814a1eec0f492084ce8eb8f4d89d6d61/psutil-7.0.0-cp37-abi3-win32.whl", hash = "sha256:ba3fcef7523064a6c9da440fc4d6bd07da93ac726b5733c29027d7dc95b39d99", size = 241053 }, - { url = "https://files.pythonhosted.org/packages/50/1b/6921afe68c74868b4c9fa424dad3be35b095e16687989ebbb50ce4fceb7c/psutil-7.0.0-cp37-abi3-win_amd64.whl", hash = "sha256:4cf3d4eb1aa9b348dec30105c55cd9b7d4629285735a102beb4441e38db90553", size = 244885 }, + { url = "https://files.pythonhosted.org/packages/e7/36/5ee6e05c9bd427237b11b3937ad82bb8ad2752d72c6969314590dd0c2f6e/psutil-7.2.2-cp36-abi3-macosx_10_9_x86_64.whl", hash = "sha256:ed0cace939114f62738d808fdcecd4c869222507e266e574799e9c0faa17d486", size = 129090, upload-time = "2026-01-28T18:15:22.168Z" }, + { url = "https://files.pythonhosted.org/packages/80/c4/f5af4c1ca8c1eeb2e92ccca14ce8effdeec651d5ab6053c589b074eda6e1/psutil-7.2.2-cp36-abi3-macosx_11_0_arm64.whl", hash = "sha256:1a7b04c10f32cc88ab39cbf606e117fd74721c831c98a27dc04578deb0c16979", size = 129859, upload-time = "2026-01-28T18:15:23.795Z" }, + { url = "https://files.pythonhosted.org/packages/b5/70/5d8df3b09e25bce090399cf48e452d25c935ab72dad19406c77f4e828045/psutil-7.2.2-cp36-abi3-manylinux2010_x86_64.manylinux_2_12_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:076a2d2f923fd4821644f5ba89f059523da90dc9014e85f8e45a5774ca5bc6f9", size = 155560, upload-time = "2026-01-28T18:15:25.976Z" }, + { url = "https://files.pythonhosted.org/packages/63/65/37648c0c158dc222aba51c089eb3bdfa238e621674dc42d48706e639204f/psutil-7.2.2-cp36-abi3-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:b0726cecd84f9474419d67252add4ac0cd9811b04d61123054b9fb6f57df6e9e", size = 156997, upload-time = "2026-01-28T18:15:27.794Z" }, + { url = "https://files.pythonhosted.org/packages/8e/13/125093eadae863ce03c6ffdbae9929430d116a246ef69866dad94da3bfbc/psutil-7.2.2-cp36-abi3-musllinux_1_2_aarch64.whl", hash = "sha256:fd04ef36b4a6d599bbdb225dd1d3f51e00105f6d48a28f006da7f9822f2606d8", size = 148972, upload-time = "2026-01-28T18:15:29.342Z" }, + { url = "https://files.pythonhosted.org/packages/04/78/0acd37ca84ce3ddffaa92ef0f571e073faa6d8ff1f0559ab1272188ea2be/psutil-7.2.2-cp36-abi3-musllinux_1_2_x86_64.whl", hash = "sha256:b58fabe35e80b264a4e3bb23e6b96f9e45a3df7fb7eed419ac0e5947c61e47cc", size = 148266, upload-time = "2026-01-28T18:15:31.597Z" }, + { url = "https://files.pythonhosted.org/packages/b4/90/e2159492b5426be0c1fef7acba807a03511f97c5f86b3caeda6ad92351a7/psutil-7.2.2-cp37-abi3-win_amd64.whl", hash = "sha256:eb7e81434c8d223ec4a219b5fc1c47d0417b12be7ea866e24fb5ad6e84b3d988", size = 137737, upload-time = "2026-01-28T18:15:33.849Z" }, + { url = "https://files.pythonhosted.org/packages/8c/c7/7bb2e321574b10df20cbde462a94e2b71d05f9bbda251ef27d104668306a/psutil-7.2.2-cp37-abi3-win_arm64.whl", hash = "sha256:8c233660f575a5a89e6d4cb65d9f938126312bca76d8fe087b947b3a1aaac9ee", size = 134617, upload-time = "2026-01-28T18:15:36.514Z" }, ] [[package]] name = "py-cpuinfo" version = "9.0.0" source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/37/a8/d832f7293ebb21690860d2e01d8115e5ff6f2ae8bbdc953f0eb0fa4bd2c7/py-cpuinfo-9.0.0.tar.gz", hash = "sha256:3cdbbf3fac90dc6f118bfd64384f309edeadd902d7c8fb17f02ffa1fc3f49690", size = 104716 } +sdist = { url = "https://files.pythonhosted.org/packages/37/a8/d832f7293ebb21690860d2e01d8115e5ff6f2ae8bbdc953f0eb0fa4bd2c7/py-cpuinfo-9.0.0.tar.gz", hash = "sha256:3cdbbf3fac90dc6f118bfd64384f309edeadd902d7c8fb17f02ffa1fc3f49690", size = 104716, upload-time = "2022-10-25T20:38:06.303Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/e0/a9/023730ba63db1e494a271cb018dcd361bd2c917ba7004c3e49d5daf795a2/py_cpuinfo-9.0.0-py3-none-any.whl", hash = "sha256:859625bc251f64e21f077d099d4162689c762b5d6a4c3c97553d56241c9674d5", size = 22335 }, + { url = "https://files.pythonhosted.org/packages/e0/a9/023730ba63db1e494a271cb018dcd361bd2c917ba7004c3e49d5daf795a2/py_cpuinfo-9.0.0-py3-none-any.whl", hash = "sha256:859625bc251f64e21f077d099d4162689c762b5d6a4c3c97553d56241c9674d5", size = 22335, upload-time = "2022-10-25T20:38:27.636Z" }, ] [[package]] name = "pyarrow" -version = "20.0.0" -source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/a2/ee/a7810cb9f3d6e9238e61d312076a9859bf3668fd21c69744de9532383912/pyarrow-20.0.0.tar.gz", hash = "sha256:febc4a913592573c8d5805091a6c2b5064c8bd6e002131f01061797d91c783c1", size = 1125187 } -wheels = [ - { url = "https://files.pythonhosted.org/packages/5b/23/77094eb8ee0dbe88441689cb6afc40ac312a1e15d3a7acc0586999518222/pyarrow-20.0.0-cp310-cp310-macosx_12_0_arm64.whl", hash = "sha256:c7dd06fd7d7b410ca5dc839cc9d485d2bc4ae5240851bcd45d85105cc90a47d7", size = 30832591 }, - { url = "https://files.pythonhosted.org/packages/c3/d5/48cc573aff00d62913701d9fac478518f693b30c25f2c157550b0b2565cb/pyarrow-20.0.0-cp310-cp310-macosx_12_0_x86_64.whl", hash = "sha256:d5382de8dc34c943249b01c19110783d0d64b207167c728461add1ecc2db88e4", size = 32273686 }, - { url = "https://files.pythonhosted.org/packages/37/df/4099b69a432b5cb412dd18adc2629975544d656df3d7fda6d73c5dba935d/pyarrow-20.0.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:6415a0d0174487456ddc9beaead703d0ded5966129fa4fd3114d76b5d1c5ceae", size = 41337051 }, - { url = "https://files.pythonhosted.org/packages/4c/27/99922a9ac1c9226f346e3a1e15e63dee6f623ed757ff2893f9d6994a69d3/pyarrow-20.0.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:15aa1b3b2587e74328a730457068dc6c89e6dcbf438d4369f572af9d320a25ee", size = 42404659 }, - { url = "https://files.pythonhosted.org/packages/21/d1/71d91b2791b829c9e98f1e0d85be66ed93aff399f80abb99678511847eaa/pyarrow-20.0.0-cp310-cp310-manylinux_2_28_aarch64.whl", hash = "sha256:5605919fbe67a7948c1f03b9f3727d82846c053cd2ce9303ace791855923fd20", size = 40695446 }, - { url = "https://files.pythonhosted.org/packages/f1/ca/ae10fba419a6e94329707487835ec721f5a95f3ac9168500bcf7aa3813c7/pyarrow-20.0.0-cp310-cp310-manylinux_2_28_x86_64.whl", hash = "sha256:a5704f29a74b81673d266e5ec1fe376f060627c2e42c5c7651288ed4b0db29e9", size = 42278528 }, - { url = "https://files.pythonhosted.org/packages/7a/a6/aba40a2bf01b5d00cf9cd16d427a5da1fad0fb69b514ce8c8292ab80e968/pyarrow-20.0.0-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:00138f79ee1b5aca81e2bdedb91e3739b987245e11fa3c826f9e57c5d102fb75", size = 42918162 }, - { url = "https://files.pythonhosted.org/packages/93/6b/98b39650cd64f32bf2ec6d627a9bd24fcb3e4e6ea1873c5e1ea8a83b1a18/pyarrow-20.0.0-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:f2d67ac28f57a362f1a2c1e6fa98bfe2f03230f7e15927aecd067433b1e70ce8", size = 44550319 }, - { url = "https://files.pythonhosted.org/packages/ab/32/340238be1eb5037e7b5de7e640ee22334417239bc347eadefaf8c373936d/pyarrow-20.0.0-cp310-cp310-win_amd64.whl", hash = "sha256:4a8b029a07956b8d7bd742ffca25374dd3f634b35e46cc7a7c3fa4c75b297191", size = 25770759 }, - { url = "https://files.pythonhosted.org/packages/47/a2/b7930824181ceadd0c63c1042d01fa4ef63eee233934826a7a2a9af6e463/pyarrow-20.0.0-cp311-cp311-macosx_12_0_arm64.whl", hash = "sha256:24ca380585444cb2a31324c546a9a56abbe87e26069189e14bdba19c86c049f0", size = 30856035 }, - { url = "https://files.pythonhosted.org/packages/9b/18/c765770227d7f5bdfa8a69f64b49194352325c66a5c3bb5e332dfd5867d9/pyarrow-20.0.0-cp311-cp311-macosx_12_0_x86_64.whl", hash = "sha256:95b330059ddfdc591a3225f2d272123be26c8fa76e8c9ee1a77aad507361cfdb", size = 32309552 }, - { url = "https://files.pythonhosted.org/packages/44/fb/dfb2dfdd3e488bb14f822d7335653092dde150cffc2da97de6e7500681f9/pyarrow-20.0.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:5f0fb1041267e9968c6d0d2ce3ff92e3928b243e2b6d11eeb84d9ac547308232", size = 41334704 }, - { url = "https://files.pythonhosted.org/packages/58/0d/08a95878d38808051a953e887332d4a76bc06c6ee04351918ee1155407eb/pyarrow-20.0.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:b8ff87cc837601532cc8242d2f7e09b4e02404de1b797aee747dd4ba4bd6313f", size = 42399836 }, - { url = "https://files.pythonhosted.org/packages/f3/cd/efa271234dfe38f0271561086eedcad7bc0f2ddd1efba423916ff0883684/pyarrow-20.0.0-cp311-cp311-manylinux_2_28_aarch64.whl", hash = "sha256:7a3a5dcf54286e6141d5114522cf31dd67a9e7c9133d150799f30ee302a7a1ab", size = 40711789 }, - { url = "https://files.pythonhosted.org/packages/46/1f/7f02009bc7fc8955c391defee5348f510e589a020e4b40ca05edcb847854/pyarrow-20.0.0-cp311-cp311-manylinux_2_28_x86_64.whl", hash = "sha256:a6ad3e7758ecf559900261a4df985662df54fb7fdb55e8e3b3aa99b23d526b62", size = 42301124 }, - { url = "https://files.pythonhosted.org/packages/4f/92/692c562be4504c262089e86757a9048739fe1acb4024f92d39615e7bab3f/pyarrow-20.0.0-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:6bb830757103a6cb300a04610e08d9636f0cd223d32f388418ea893a3e655f1c", size = 42916060 }, - { url = "https://files.pythonhosted.org/packages/a4/ec/9f5c7e7c828d8e0a3c7ef50ee62eca38a7de2fa6eb1b8fa43685c9414fef/pyarrow-20.0.0-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:96e37f0766ecb4514a899d9a3554fadda770fb57ddf42b63d80f14bc20aa7db3", size = 44547640 }, - { url = "https://files.pythonhosted.org/packages/54/96/46613131b4727f10fd2ffa6d0d6f02efcc09a0e7374eff3b5771548aa95b/pyarrow-20.0.0-cp311-cp311-win_amd64.whl", hash = "sha256:3346babb516f4b6fd790da99b98bed9708e3f02e734c84971faccb20736848dc", size = 25781491 }, - { url = "https://files.pythonhosted.org/packages/a1/d6/0c10e0d54f6c13eb464ee9b67a68b8c71bcf2f67760ef5b6fbcddd2ab05f/pyarrow-20.0.0-cp312-cp312-macosx_12_0_arm64.whl", hash = "sha256:75a51a5b0eef32727a247707d4755322cb970be7e935172b6a3a9f9ae98404ba", size = 30815067 }, - { url = "https://files.pythonhosted.org/packages/7e/e2/04e9874abe4094a06fd8b0cbb0f1312d8dd7d707f144c2ec1e5e8f452ffa/pyarrow-20.0.0-cp312-cp312-macosx_12_0_x86_64.whl", hash = "sha256:211d5e84cecc640c7a3ab900f930aaff5cd2702177e0d562d426fb7c4f737781", size = 32297128 }, - { url = "https://files.pythonhosted.org/packages/31/fd/c565e5dcc906a3b471a83273039cb75cb79aad4a2d4a12f76cc5ae90a4b8/pyarrow-20.0.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:4ba3cf4182828be7a896cbd232aa8dd6a31bd1f9e32776cc3796c012855e1199", size = 41334890 }, - { url = "https://files.pythonhosted.org/packages/af/a9/3bdd799e2c9b20c1ea6dc6fa8e83f29480a97711cf806e823f808c2316ac/pyarrow-20.0.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:2c3a01f313ffe27ac4126f4c2e5ea0f36a5fc6ab51f8726cf41fee4b256680bd", size = 42421775 }, - { url = "https://files.pythonhosted.org/packages/10/f7/da98ccd86354c332f593218101ae56568d5dcedb460e342000bd89c49cc1/pyarrow-20.0.0-cp312-cp312-manylinux_2_28_aarch64.whl", hash = "sha256:a2791f69ad72addd33510fec7bb14ee06c2a448e06b649e264c094c5b5f7ce28", size = 40687231 }, - { url = "https://files.pythonhosted.org/packages/bb/1b/2168d6050e52ff1e6cefc61d600723870bf569cbf41d13db939c8cf97a16/pyarrow-20.0.0-cp312-cp312-manylinux_2_28_x86_64.whl", hash = "sha256:4250e28a22302ce8692d3a0e8ec9d9dde54ec00d237cff4dfa9c1fbf79e472a8", size = 42295639 }, - { url = "https://files.pythonhosted.org/packages/b2/66/2d976c0c7158fd25591c8ca55aee026e6d5745a021915a1835578707feb3/pyarrow-20.0.0-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:89e030dc58fc760e4010148e6ff164d2f44441490280ef1e97a542375e41058e", size = 42908549 }, - { url = "https://files.pythonhosted.org/packages/31/a9/dfb999c2fc6911201dcbf348247f9cc382a8990f9ab45c12eabfd7243a38/pyarrow-20.0.0-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:6102b4864d77102dbbb72965618e204e550135a940c2534711d5ffa787df2a5a", size = 44557216 }, - { url = "https://files.pythonhosted.org/packages/a0/8e/9adee63dfa3911be2382fb4d92e4b2e7d82610f9d9f668493bebaa2af50f/pyarrow-20.0.0-cp312-cp312-win_amd64.whl", hash = "sha256:96d6a0a37d9c98be08f5ed6a10831d88d52cac7b13f5287f1e0f625a0de8062b", size = 25660496 }, - { url = "https://files.pythonhosted.org/packages/10/53/421820fa125138c868729b930d4bc487af2c4b01b1c6104818aab7e98f13/pyarrow-20.0.0-cp39-cp39-macosx_12_0_arm64.whl", hash = "sha256:1bcbe471ef3349be7714261dea28fe280db574f9d0f77eeccc195a2d161fd861", size = 30844702 }, - { url = "https://files.pythonhosted.org/packages/2e/70/fd75e03312b715e90d928fb91ed8d45c9b0520346e5231b1c69293afd4c7/pyarrow-20.0.0-cp39-cp39-macosx_12_0_x86_64.whl", hash = "sha256:a18a14baef7d7ae49247e75641fd8bcbb39f44ed49a9fc4ec2f65d5031aa3b96", size = 32287180 }, - { url = "https://files.pythonhosted.org/packages/c4/e3/21e5758e46219fdedf5e6c800574dd9d17e962e80014cfe08d6d475be863/pyarrow-20.0.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:cb497649e505dc36542d0e68eca1a3c94ecbe9799cb67b578b55f2441a247fbc", size = 41351968 }, - { url = "https://files.pythonhosted.org/packages/ac/f5/ed6a4c4b11f9215092a35097a985485bb7d879cb79d93d203494e8604f4e/pyarrow-20.0.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:11529a2283cb1f6271d7c23e4a8f9f8b7fd173f7360776b668e509d712a02eec", size = 42415208 }, - { url = "https://files.pythonhosted.org/packages/44/e5/466a63668ba25788ee8d38d55f853a60469ae7ad1cda343db9f3f45e0b0a/pyarrow-20.0.0-cp39-cp39-manylinux_2_28_aarch64.whl", hash = "sha256:6fc1499ed3b4b57ee4e090e1cea6eb3584793fe3d1b4297bbf53f09b434991a5", size = 40708556 }, - { url = "https://files.pythonhosted.org/packages/e8/d7/4c4d4e4cf6e53e16a519366dfe9223ee4a7a38e6e28c1c0d372b38ba3fe7/pyarrow-20.0.0-cp39-cp39-manylinux_2_28_x86_64.whl", hash = "sha256:db53390eaf8a4dab4dbd6d93c85c5cf002db24902dbff0ca7d988beb5c9dd15b", size = 42291754 }, - { url = "https://files.pythonhosted.org/packages/07/d5/79effb32585b7c18897d3047a2163034f3f9c944d12f7b2fd8df6a2edc70/pyarrow-20.0.0-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:851c6a8260ad387caf82d2bbf54759130534723e37083111d4ed481cb253cc0d", size = 42936483 }, - { url = "https://files.pythonhosted.org/packages/09/5c/f707603552c058b2e9129732de99a67befb1f13f008cc58856304a62c38b/pyarrow-20.0.0-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:e22f80b97a271f0a7d9cd07394a7d348f80d3ac63ed7cc38b6d1b696ab3b2619", size = 44558895 }, - { url = "https://files.pythonhosted.org/packages/26/cc/1eb6a01c1bbc787f596c270c46bcd2273e35154a84afcb1d0cb4cc72457e/pyarrow-20.0.0-cp39-cp39-win_amd64.whl", hash = "sha256:9965a050048ab02409fb7cbbefeedba04d3d67f2cc899eff505cc084345959ca", size = 25785667 }, +version = "21.0.0" +source = { registry = "https://pypi.org/simple" } +resolution-markers = [ + "python_full_version < '3.10'", +] +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/17/d9/110de31880016e2afc52d8580b397dbe47615defbf09ca8cf55f56c62165/pyarrow-21.0.0-cp310-cp310-macosx_12_0_arm64.whl", hash = "sha256:e563271e2c5ff4d4a4cbeb2c83d5cf0d4938b891518e676025f7268c6fe5fe26", size = 31196837, upload-time = "2025-07-18T00:54:34.755Z" }, + { url = "https://files.pythonhosted.org/packages/df/5f/c1c1997613abf24fceb087e79432d24c19bc6f7259cab57c2c8e5e545fab/pyarrow-21.0.0-cp310-cp310-macosx_12_0_x86_64.whl", hash = "sha256:fee33b0ca46f4c85443d6c450357101e47d53e6c3f008d658c27a2d020d44c79", size = 32659470, upload-time = "2025-07-18T00:54:38.329Z" }, + { url = "https://files.pythonhosted.org/packages/3e/ed/b1589a777816ee33ba123ba1e4f8f02243a844fed0deec97bde9fb21a5cf/pyarrow-21.0.0-cp310-cp310-manylinux_2_28_aarch64.whl", hash = "sha256:7be45519b830f7c24b21d630a31d48bcebfd5d4d7f9d3bdb49da9cdf6d764edb", size = 41055619, upload-time = "2025-07-18T00:54:42.172Z" }, + { url = "https://files.pythonhosted.org/packages/44/28/b6672962639e85dc0ac36f71ab3a8f5f38e01b51343d7aa372a6b56fa3f3/pyarrow-21.0.0-cp310-cp310-manylinux_2_28_x86_64.whl", hash = "sha256:26bfd95f6bff443ceae63c65dc7e048670b7e98bc892210acba7e4995d3d4b51", size = 42733488, upload-time = "2025-07-18T00:54:47.132Z" }, + { url = "https://files.pythonhosted.org/packages/f8/cc/de02c3614874b9089c94eac093f90ca5dfa6d5afe45de3ba847fd950fdf1/pyarrow-21.0.0-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:bd04ec08f7f8bd113c55868bd3fc442a9db67c27af098c5f814a3091e71cc61a", size = 43329159, upload-time = "2025-07-18T00:54:51.686Z" }, + { url = "https://files.pythonhosted.org/packages/a6/3e/99473332ac40278f196e105ce30b79ab8affab12f6194802f2593d6b0be2/pyarrow-21.0.0-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:9b0b14b49ac10654332a805aedfc0147fb3469cbf8ea951b3d040dab12372594", size = 45050567, upload-time = "2025-07-18T00:54:56.679Z" }, + { url = "https://files.pythonhosted.org/packages/7b/f5/c372ef60593d713e8bfbb7e0c743501605f0ad00719146dc075faf11172b/pyarrow-21.0.0-cp310-cp310-win_amd64.whl", hash = "sha256:9d9f8bcb4c3be7738add259738abdeddc363de1b80e3310e04067aa1ca596634", size = 26217959, upload-time = "2025-07-18T00:55:00.482Z" }, + { url = "https://files.pythonhosted.org/packages/94/dc/80564a3071a57c20b7c32575e4a0120e8a330ef487c319b122942d665960/pyarrow-21.0.0-cp311-cp311-macosx_12_0_arm64.whl", hash = "sha256:c077f48aab61738c237802836fc3844f85409a46015635198761b0d6a688f87b", size = 31243234, upload-time = "2025-07-18T00:55:03.812Z" }, + { url = "https://files.pythonhosted.org/packages/ea/cc/3b51cb2db26fe535d14f74cab4c79b191ed9a8cd4cbba45e2379b5ca2746/pyarrow-21.0.0-cp311-cp311-macosx_12_0_x86_64.whl", hash = "sha256:689f448066781856237eca8d1975b98cace19b8dd2ab6145bf49475478bcaa10", size = 32714370, upload-time = "2025-07-18T00:55:07.495Z" }, + { url = "https://files.pythonhosted.org/packages/24/11/a4431f36d5ad7d83b87146f515c063e4d07ef0b7240876ddb885e6b44f2e/pyarrow-21.0.0-cp311-cp311-manylinux_2_28_aarch64.whl", hash = "sha256:479ee41399fcddc46159a551705b89c05f11e8b8cb8e968f7fec64f62d91985e", size = 41135424, upload-time = "2025-07-18T00:55:11.461Z" }, + { url = "https://files.pythonhosted.org/packages/74/dc/035d54638fc5d2971cbf1e987ccd45f1091c83bcf747281cf6cc25e72c88/pyarrow-21.0.0-cp311-cp311-manylinux_2_28_x86_64.whl", hash = "sha256:40ebfcb54a4f11bcde86bc586cbd0272bac0d516cfa539c799c2453768477569", size = 42823810, upload-time = "2025-07-18T00:55:16.301Z" }, + { url = "https://files.pythonhosted.org/packages/2e/3b/89fced102448a9e3e0d4dded1f37fa3ce4700f02cdb8665457fcc8015f5b/pyarrow-21.0.0-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:8d58d8497814274d3d20214fbb24abcad2f7e351474357d552a8d53bce70c70e", size = 43391538, upload-time = "2025-07-18T00:55:23.82Z" }, + { url = "https://files.pythonhosted.org/packages/fb/bb/ea7f1bd08978d39debd3b23611c293f64a642557e8141c80635d501e6d53/pyarrow-21.0.0-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:585e7224f21124dd57836b1530ac8f2df2afc43c861d7bf3d58a4870c42ae36c", size = 45120056, upload-time = "2025-07-18T00:55:28.231Z" }, + { url = "https://files.pythonhosted.org/packages/6e/0b/77ea0600009842b30ceebc3337639a7380cd946061b620ac1a2f3cb541e2/pyarrow-21.0.0-cp311-cp311-win_amd64.whl", hash = "sha256:555ca6935b2cbca2c0e932bedd853e9bc523098c39636de9ad4693b5b1df86d6", size = 26220568, upload-time = "2025-07-18T00:55:32.122Z" }, + { 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/3e/cc/ce4939f4b316457a083dc5718b3982801e8c33f921b3c98e7a93b7c7491f/pyarrow-21.0.0-cp39-cp39-macosx_12_0_arm64.whl", hash = "sha256:a7f6524e3747e35f80744537c78e7302cd41deee8baa668d56d55f77d9c464b3", size = 31211248, upload-time = "2025-07-18T00:56:59.7Z" }, + { url = "https://files.pythonhosted.org/packages/1f/c2/7a860931420d73985e2f340f06516b21740c15b28d24a0e99a900bb27d2b/pyarrow-21.0.0-cp39-cp39-macosx_12_0_x86_64.whl", hash = "sha256:203003786c9fd253ebcafa44b03c06983c9c8d06c3145e37f1b76a1f317aeae1", size = 32676896, upload-time = "2025-07-18T00:57:03.884Z" }, + { url = "https://files.pythonhosted.org/packages/68/a8/197f989b9a75e59b4ca0db6a13c56f19a0ad8a298c68da9cc28145e0bb97/pyarrow-21.0.0-cp39-cp39-manylinux_2_28_aarch64.whl", hash = "sha256:3b4d97e297741796fead24867a8dabf86c87e4584ccc03167e4a811f50fdf74d", size = 41067862, upload-time = "2025-07-18T00:57:07.587Z" }, + { url = "https://files.pythonhosted.org/packages/fa/82/6ecfa89487b35aa21accb014b64e0a6b814cc860d5e3170287bf5135c7d8/pyarrow-21.0.0-cp39-cp39-manylinux_2_28_x86_64.whl", hash = "sha256:898afce396b80fdda05e3086b4256f8677c671f7b1d27a6976fa011d3fd0a86e", size = 42747508, upload-time = "2025-07-18T00:57:13.917Z" }, + { url = "https://files.pythonhosted.org/packages/3b/b7/ba252f399bbf3addc731e8643c05532cf32e74cebb5e32f8f7409bc243cf/pyarrow-21.0.0-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:067c66ca29aaedae08218569a114e413b26e742171f526e828e1064fcdec13f4", size = 43345293, upload-time = "2025-07-18T00:57:19.828Z" }, + { url = "https://files.pythonhosted.org/packages/ff/0a/a20819795bd702b9486f536a8eeb70a6aa64046fce32071c19ec8230dbaa/pyarrow-21.0.0-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:0c4e75d13eb76295a49e0ea056eb18dbd87d81450bfeb8afa19a7e5a75ae2ad7", size = 45060670, upload-time = "2025-07-18T00:57:24.477Z" }, + { url = "https://files.pythonhosted.org/packages/10/15/6b30e77872012bbfe8265d42a01d5b3c17ef0ac0f2fae531ad91b6a6c02e/pyarrow-21.0.0-cp39-cp39-win_amd64.whl", hash = "sha256:cdc4c17afda4dab2a9c0b79148a43a7f4e1094916b3e18d8975bfd6d6d52241f", size = 26227521, upload-time = "2025-07-18T00:57:29.119Z" }, +] + +[[package]] +name = "pyarrow" +version = "23.0.1" +source = { registry = "https://pypi.org/simple" } +resolution-markers = [ + "python_full_version >= '3.11' and sys_platform == 'win32'", + "python_full_version >= '3.11' and sys_platform == 'emscripten'", + "python_full_version >= '3.11' and sys_platform != 'emscripten' and sys_platform != 'win32'", + "python_full_version == '3.10.*'", +] +sdist = { url = "https://files.pythonhosted.org/packages/88/22/134986a4cc224d593c1afde5494d18ff629393d74cc2eddb176669f234a4/pyarrow-23.0.1.tar.gz", hash = "sha256:b8c5873e33440b2bc2f4a79d2b47017a89c5a24116c055625e6f2ee50523f019", size = 1167336, upload-time = "2026-02-16T10:14:12.39Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/bc/a8/24e5dc6855f50a62936ceb004e6e9645e4219a8065f304145d7fb8a79d5d/pyarrow-23.0.1-cp310-cp310-macosx_12_0_arm64.whl", hash = "sha256:3fab8f82571844eb3c460f90a75583801d14ca0cc32b1acc8c361650e006fd56", size = 34307390, upload-time = "2026-02-16T10:08:08.654Z" }, + { url = "https://files.pythonhosted.org/packages/bc/8e/4be5617b4aaae0287f621ad31c6036e5f63118cfca0dc57d42121ff49b51/pyarrow-23.0.1-cp310-cp310-macosx_12_0_x86_64.whl", hash = "sha256:3f91c038b95f71ddfc865f11d5876c42f343b4495535bd262c7b321b0b94507c", size = 35853761, upload-time = "2026-02-16T10:08:17.811Z" }, + { url = "https://files.pythonhosted.org/packages/2e/08/3e56a18819462210432ae37d10f5c8eed3828be1d6c751b6e6a2e93c286a/pyarrow-23.0.1-cp310-cp310-manylinux_2_28_aarch64.whl", hash = "sha256:d0744403adabef53c985a7f8a082b502a368510c40d184df349a0a8754533258", size = 44493116, upload-time = "2026-02-16T10:08:25.792Z" }, + { url = "https://files.pythonhosted.org/packages/f8/82/c40b68001dbec8a3faa4c08cd8c200798ac732d2854537c5449dc859f55a/pyarrow-23.0.1-cp310-cp310-manylinux_2_28_x86_64.whl", hash = "sha256:c33b5bf406284fd0bba436ed6f6c3ebe8e311722b441d89397c54f871c6863a2", size = 47564532, upload-time = "2026-02-16T10:08:34.27Z" }, + { url = "https://files.pythonhosted.org/packages/20/bc/73f611989116b6f53347581b02177f9f620efdf3cd3f405d0e83cdf53a83/pyarrow-23.0.1-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:ddf743e82f69dcd6dbbcb63628895d7161e04e56794ef80550ac6f3315eeb1d5", size = 48183685, upload-time = "2026-02-16T10:08:42.889Z" }, + { url = "https://files.pythonhosted.org/packages/b0/cc/6c6b3ecdae2a8c3aced99956187e8302fc954cc2cca2a37cf2111dad16ce/pyarrow-23.0.1-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:e052a211c5ac9848ae15d5ec875ed0943c0221e2fcfe69eee80b604b4e703222", size = 50605582, upload-time = "2026-02-16T10:08:51.641Z" }, + { url = "https://files.pythonhosted.org/packages/8d/94/d359e708672878d7638a04a0448edf7c707f9e5606cee11e15aaa5c7535a/pyarrow-23.0.1-cp310-cp310-win_amd64.whl", hash = "sha256:5abde149bb3ce524782d838eb67ac095cd3fd6090eba051130589793f1a7f76d", size = 27521148, upload-time = "2026-02-16T10:08:58.077Z" }, + { url = "https://files.pythonhosted.org/packages/b0/41/8e6b6ef7e225d4ceead8459427a52afdc23379768f54dd3566014d7618c1/pyarrow-23.0.1-cp311-cp311-macosx_12_0_arm64.whl", hash = "sha256:6f0147ee9e0386f519c952cc670eb4a8b05caa594eeffe01af0e25f699e4e9bb", size = 34302230, upload-time = "2026-02-16T10:09:03.859Z" }, + { url = "https://files.pythonhosted.org/packages/bf/4a/1472c00392f521fea03ae93408bf445cc7bfa1ab81683faf9bc188e36629/pyarrow-23.0.1-cp311-cp311-macosx_12_0_x86_64.whl", hash = "sha256:0ae6e17c828455b6265d590100c295193f93cc5675eb0af59e49dbd00d2de350", size = 35850050, upload-time = "2026-02-16T10:09:11.877Z" }, + { url = "https://files.pythonhosted.org/packages/0c/b2/bd1f2f05ded56af7f54d702c8364c9c43cd6abb91b0e9933f3d77b4f4132/pyarrow-23.0.1-cp311-cp311-manylinux_2_28_aarch64.whl", hash = "sha256:fed7020203e9ef273360b9e45be52a2a47d3103caf156a30ace5247ffb51bdbd", size = 44491918, upload-time = "2026-02-16T10:09:18.144Z" }, + { url = "https://files.pythonhosted.org/packages/0b/62/96459ef5b67957eac38a90f541d1c28833d1b367f014a482cb63f3b7cd2d/pyarrow-23.0.1-cp311-cp311-manylinux_2_28_x86_64.whl", hash = "sha256:26d50dee49d741ac0e82185033488d28d35be4d763ae6f321f97d1140eb7a0e9", size = 47562811, upload-time = "2026-02-16T10:09:25.792Z" }, + { url = "https://files.pythonhosted.org/packages/7d/94/1170e235add1f5f45a954e26cd0e906e7e74e23392dcb560de471f7366ec/pyarrow-23.0.1-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:3c30143b17161310f151f4a2bcfe41b5ff744238c1039338779424e38579d701", size = 48183766, upload-time = "2026-02-16T10:09:34.645Z" }, + { url = "https://files.pythonhosted.org/packages/0e/2d/39a42af4570377b99774cdb47f63ee6c7da7616bd55b3d5001aa18edfe4f/pyarrow-23.0.1-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:db2190fa79c80a23fdd29fef4b8992893f024ae7c17d2f5f4db7171fa30c2c78", size = 50607669, upload-time = "2026-02-16T10:09:44.153Z" }, + { url = "https://files.pythonhosted.org/packages/00/ca/db94101c187f3df742133ac837e93b1f269ebdac49427f8310ee40b6a58f/pyarrow-23.0.1-cp311-cp311-win_amd64.whl", hash = "sha256:f00f993a8179e0e1c9713bcc0baf6d6c01326a406a9c23495ec1ba9c9ebf2919", size = 27527698, upload-time = "2026-02-16T10:09:50.263Z" }, + { url = "https://files.pythonhosted.org/packages/9a/4b/4166bb5abbfe6f750fc60ad337c43ecf61340fa52ab386da6e8dbf9e63c4/pyarrow-23.0.1-cp312-cp312-macosx_12_0_arm64.whl", hash = "sha256:f4b0dbfa124c0bb161f8b5ebb40f1a680b70279aa0c9901d44a2b5a20806039f", size = 34214575, upload-time = "2026-02-16T10:09:56.225Z" }, + { url = "https://files.pythonhosted.org/packages/e1/da/3f941e3734ac8088ea588b53e860baeddac8323ea40ce22e3d0baa865cc9/pyarrow-23.0.1-cp312-cp312-macosx_12_0_x86_64.whl", hash = "sha256:7707d2b6673f7de054e2e83d59f9e805939038eebe1763fe811ee8fa5c0cd1a7", size = 35832540, upload-time = "2026-02-16T10:10:03.428Z" }, + { url = "https://files.pythonhosted.org/packages/88/7c/3d841c366620e906d54430817531b877ba646310296df42ef697308c2705/pyarrow-23.0.1-cp312-cp312-manylinux_2_28_aarch64.whl", hash = "sha256:86ff03fb9f1a320266e0de855dee4b17da6794c595d207f89bba40d16b5c78b9", size = 44470940, upload-time = "2026-02-16T10:10:10.704Z" }, + { url = "https://files.pythonhosted.org/packages/2c/a5/da83046273d990f256cb79796a190bbf7ec999269705ddc609403f8c6b06/pyarrow-23.0.1-cp312-cp312-manylinux_2_28_x86_64.whl", hash = "sha256:813d99f31275919c383aab17f0f455a04f5a429c261cc411b1e9a8f5e4aaaa05", size = 47586063, upload-time = "2026-02-16T10:10:17.95Z" }, + { url = "https://files.pythonhosted.org/packages/5b/3c/b7d2ebcff47a514f47f9da1e74b7949138c58cfeb108cdd4ee62f43f0cf3/pyarrow-23.0.1-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:bf5842f960cddd2ef757d486041d57c96483efc295a8c4a0e20e704cbbf39c67", size = 48173045, upload-time = "2026-02-16T10:10:25.363Z" }, + { url = "https://files.pythonhosted.org/packages/43/b2/b40961262213beaba6acfc88698eb773dfce32ecdf34d19291db94c2bd73/pyarrow-23.0.1-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:564baf97c858ecc03ec01a41062e8f4698abc3e6e2acd79c01c2e97880a19730", size = 50621741, upload-time = "2026-02-16T10:10:33.477Z" }, + { url = "https://files.pythonhosted.org/packages/f6/70/1fdda42d65b28b078e93d75d371b2185a61da89dda4def8ba6ba41ebdeb4/pyarrow-23.0.1-cp312-cp312-win_amd64.whl", hash = "sha256:07deae7783782ac7250989a7b2ecde9b3c343a643f82e8a4df03d93b633006f0", size = 27620678, upload-time = "2026-02-16T10:10:39.31Z" }, +] + +[[package]] +name = "pycparser" +version = "2.23" +source = { registry = "https://pypi.org/simple" } +resolution-markers = [ + "python_full_version < '3.10'", +] +sdist = { url = "https://files.pythonhosted.org/packages/fe/cf/d2d3b9f5699fb1e4615c8e32ff220203e43b248e1dfcc6736ad9057731ca/pycparser-2.23.tar.gz", hash = "sha256:78816d4f24add8f10a06d6f05b4d424ad9e96cfebf68a4ddc99c65c0720d00c2", size = 173734, upload-time = "2025-09-09T13:23:47.91Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/a0/e3/59cd50310fc9b59512193629e1984c1f95e5c8ae6e5d8c69532ccc65a7fe/pycparser-2.23-py3-none-any.whl", hash = "sha256:e5c6e8d3fbad53479cab09ac03729e0a9faf2bee3db8208a550daf5af81a5934", size = 118140, upload-time = "2025-09-09T13:23:46.651Z" }, +] + +[[package]] +name = "pycparser" +version = "3.0" +source = { registry = "https://pypi.org/simple" } +resolution-markers = [ + "python_full_version >= '3.11' and sys_platform == 'win32'", + "python_full_version >= '3.11' and sys_platform == 'emscripten'", + "python_full_version >= '3.11' and sys_platform != 'emscripten' and sys_platform != 'win32'", + "python_full_version == '3.10.*'", +] +sdist = { url = "https://files.pythonhosted.org/packages/1b/7d/92392ff7815c21062bea51aa7b87d45576f649f16458d78b7cf94b9ab2e6/pycparser-3.0.tar.gz", hash = "sha256:600f49d217304a5902ac3c37e1281c9fe94e4d0489de643a9504c5cdfdfc6b29", size = 103492, upload-time = "2026-01-21T14:26:51.89Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/0c/c3/44f3fbbfa403ea2a7c779186dc20772604442dde72947e7d01069cbe98e3/pycparser-3.0-py3-none-any.whl", hash = "sha256:b727414169a36b7d524c1c3e31839a521725078d7b2ff038656844266160a992", size = 48172, upload-time = "2026-01-21T14:26:50.693Z" }, +] + +[[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, 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, upload-time = "2025-06-21T13:39:07.939Z" }, ] [[package]] name = "pyinstrument" -version = "5.0.1" -source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/64/6e/85c2722e40cab4fd9df6bbe68a0d032e237cf8cfada71e5f067e4e433214/pyinstrument-5.0.1.tar.gz", hash = "sha256:f4fd0754d02959c113a4b1ebed02f4627b6e2c138719ddf43244fd95f201c8c9", size = 263162 } -wheels = [ - { url = "https://files.pythonhosted.org/packages/85/35/06f943dc6bc147e0f39db714b14a67fa2dcff4930392658b529e8f523530/pyinstrument-5.0.1-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:a14d3a90c432f1ce1be91716fa76b75dc74ed03100282878d2a4d30c7c75c980", size = 129015 }, - { url = "https://files.pythonhosted.org/packages/ff/a8/d91857423b9c0f9604db9974b782753049e9f6f86f3500fb76306c4b06bf/pyinstrument-5.0.1-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:6afe94a27a9016b365b9dd3a5f03732a3cd29d8bcb178113b09e73d36cf51196", size = 121591 }, - { url = "https://files.pythonhosted.org/packages/68/c4/6ad462fc766f578973402aca949ac7783a7c40c2e750b9a996bd6640ccae/pyinstrument-5.0.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a3f16a0bde13a4ac1b8fdbcaf49626926e523028bd68804caa186ba9e9c51d09", size = 145275 }, - { url = "https://files.pythonhosted.org/packages/d3/20/9c9732ac3e0be811df6893f7230bc0b3b5b2c2e95c0bed415de51a2324dc/pyinstrument-5.0.1-cp310-cp310-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:8ceee4fa6c24c5a1c346ee641b50f63438cf76bf25d2e86ee6fbfe5d505e00e6", size = 144076 }, - { url = "https://files.pythonhosted.org/packages/f3/40/f0d5920cea0543012367b338cd8ce6b1cbc9e4dd98e31829946d35f650be/pyinstrument-5.0.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:835ecac9061ce8926321276b47b7d17a6ae19a932d33c5ef7be632a83a07f78a", size = 145396 }, - { url = "https://files.pythonhosted.org/packages/de/c7/a365da27070773f8fb6e2f6e305b0962fa60a6acbb802772d5e348b9a599/pyinstrument-5.0.1-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:c0e26a6fc51f259882b621a13ec2736a4788a57e304a102aee1bf0401eb29ce2", size = 144925 }, - { url = "https://files.pythonhosted.org/packages/75/00/a56bc74cb4468b413e6849067d95b7c3ba59386ed703045437d8f040a7d5/pyinstrument-5.0.1-cp310-cp310-musllinux_1_2_i686.whl", hash = "sha256:81b7192c7dc956923829355a85ac361f2409093a3f998e8a0294ffd447863526", size = 144397 }, - { url = "https://files.pythonhosted.org/packages/db/08/eaac32dfed78a8b0cf4398da4b9bf36c370ff42d963f666f52293fec9cdc/pyinstrument-5.0.1-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:d18e37baaaae969f3cf5b3187db386de7f458a8393f6825564ebb6e51714363a", size = 144795 }, - { url = "https://files.pythonhosted.org/packages/47/3e/fd73018f941e658a2b1b736c8e8e181df3735f117331dab4c33f43fbe1d7/pyinstrument-5.0.1-cp310-cp310-win32.whl", hash = "sha256:cbfdc71be2dd8e5a8a349df0430e4908897ced448a2f2c50c1cac493cd2565b5", size = 122957 }, - { url = "https://files.pythonhosted.org/packages/4c/76/5c5b2e7b381a470ced1d899ee55c532e68269e72ec1b0b9e9c3b561acc49/pyinstrument-5.0.1-cp310-cp310-win_amd64.whl", hash = "sha256:442c763c8311557062a7ad20f9edd77600182cb14cd9fcb207cdf947d42038bb", size = 123830 }, - { url = "https://files.pythonhosted.org/packages/d8/6e/dab9eef973f8a573eea492f2ad6ba46a5fc3ce6ae947947a97f7b40ddf6e/pyinstrument-5.0.1-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:a5f0a468382198b84991e83beff7c43e9315f974379b17abcc285caff154bdfc", size = 128765 }, - { url = "https://files.pythonhosted.org/packages/14/2d/c729e0bc525d070a1916b8a84c0b6088e85ea8d79f507f1c7c1a66db6cda/pyinstrument-5.0.1-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:dabda1485011aa2bfa6cb293020f2e35163ccc3b2746c1e72ff0ea5e62dfe730", size = 121472 }, - { url = "https://files.pythonhosted.org/packages/e3/54/dc9fbd755337b66fb0a8309bb3451379ecee1236ff17ec44323b54f61ee7/pyinstrument-5.0.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:9f54285f0924d443dd27f0510693a76ecafd6d38573be2254b3c86314db42efe", size = 143599 }, - { url = "https://files.pythonhosted.org/packages/63/f3/26394bd74f5fe632b0a7670f008f675df397fb38d5d8fb363f5243ce8dd9/pyinstrument-5.0.1-cp311-cp311-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:7387acabf1eb74b7a0deead0d5ad3b1a41c2c7b2d7c9b5507047f04700d0b446", size = 142529 }, - { url = "https://files.pythonhosted.org/packages/73/9a/7751e9070a6f7a4ae56de93e3e8991cf321c15f9878b2a1c390ea1839e3b/pyinstrument-5.0.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f5ee80ac5e7821c28458b19ca61b082e1f71f1171e2c5da700e07e21c114fd31", size = 143670 }, - { url = "https://files.pythonhosted.org/packages/fa/3c/9421fa66fdf60d80994b2d69ae4d22a89a98b9993fb7d09552374902f340/pyinstrument-5.0.1-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:d29093f7fd419aa26c0ef5a81dfed80cbe48799d9ab977f343570a6864ce76e2", size = 143618 }, - { url = "https://files.pythonhosted.org/packages/68/62/17a973a9dee2ce1e25d9b3289b0d606fa4e512a6dd4df64e3aed87bcb28a/pyinstrument-5.0.1-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:000de38068c10769ce9268955191df2738b065e606b5a3453077e31c0db96259", size = 143142 }, - { url = "https://files.pythonhosted.org/packages/cc/cb/9812a0ee561c158ad91d1eaa90291772061708676a8cf81e81934cbe3bfd/pyinstrument-5.0.1-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:219ed803f5e3887a9f345ec73c9e2b1f76e993202bc8f9c46a681cda2b7040f6", size = 143383 }, - { url = "https://files.pythonhosted.org/packages/93/37/8d8ea4442f2c067e0c15c745e4bf5e04eae7a6a1f48ad909a96a9fee32a3/pyinstrument-5.0.1-cp311-cp311-win32.whl", hash = "sha256:fe85109415bc63e2cc22144e6c6202b99a8087dc54330abf6d1067c775c6eb54", size = 122929 }, - { url = "https://files.pythonhosted.org/packages/d7/e9/1565ac257a7b6c9d439823848d065196fb13082d952212eaf28467737615/pyinstrument-5.0.1-cp311-cp311-win_amd64.whl", hash = "sha256:29ff672575fc44ca775c1bd6d5871323d6e8e3b5ad49791107b750be682e5865", size = 123737 }, - { url = "https://files.pythonhosted.org/packages/e1/09/696e29364503393c5bd0471f1c396d41820167b3f496bf8b128dc981f30d/pyinstrument-5.0.1-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:cfd7b7dc56501a1f30aa059cc2f1746ece6258a841d2e4609882581f9c17f824", size = 128903 }, - { url = "https://files.pythonhosted.org/packages/b5/dd/36d1641414eb0ab3fb50815de8d927b74924a9bfb1e409c53e9aad4a16de/pyinstrument-5.0.1-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:fe1f33178a2b0ddb3c6d2321406228bdad41286774e65314d511dcf4a71b83e4", size = 121440 }, - { url = "https://files.pythonhosted.org/packages/9e/3f/05196fb514735aceef9a9439f56bcaa5ccb8b440685aa4f13fdb9e925182/pyinstrument-5.0.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:0519d02dee55a87afcf6d787f8d8f5a16d2b89f7ba9533064a986a2d31f27340", size = 144783 }, - { url = "https://files.pythonhosted.org/packages/73/4b/1b041b974e7e465ca311e712beb8be0bc9cf769bcfc6660b1b2ba630c27c/pyinstrument-5.0.1-cp312-cp312-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:2f59ed9ac9466ff9b30eb7285160fa794aa3f8ce2bcf58a94142f945882d28ab", size = 143717 }, - { url = "https://files.pythonhosted.org/packages/4a/dc/3fa73e2dde1588b6281e494a14c183a27e1a67db7401fddf9c528fb8e1a9/pyinstrument-5.0.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:cbf3114d332e499ba35ca4aedc1ef95bc6fb15c8d819729b5c0aeb35c8b64dd2", size = 145082 }, - { url = "https://files.pythonhosted.org/packages/91/24/b86d4273cc524a4f334a610a1c4b157146c808d8935e85d44dff3a6b75ee/pyinstrument-5.0.1-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:20f8054e85dd710f5a8c4d6b738867366ceef89671db09c87690ba1b5c66bd67", size = 144737 }, - { url = "https://files.pythonhosted.org/packages/3c/39/6025a71082122bfbfee4eac6649635e4c688954bdf306bcd3629457c49b2/pyinstrument-5.0.1-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:63e8d75ffa50c3cf6d980844efce0334659e934dcc3832bad08c23c171c545ff", size = 144488 }, - { url = "https://files.pythonhosted.org/packages/da/ce/679b0e9a278004defc93c277c3f81b456389dd530f89e28a45bd9dae203e/pyinstrument-5.0.1-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:a3ca9c8540051513dd633de9d7eac9fee2eda50b78b6eedeaa7e5a7be66026b5", size = 144895 }, - { url = "https://files.pythonhosted.org/packages/58/d8/cf80bb278e2a071325e4fb244127eb68dce9d0520d20c1fda75414f119ee/pyinstrument-5.0.1-cp312-cp312-win32.whl", hash = "sha256:b549d910b846757ffbf74d94528d1a694a3848a6cfc6a6cab2ce697ee71e4548", size = 123027 }, - { url = "https://files.pythonhosted.org/packages/39/49/9251fe641d242d4c0dc49178b064f22da1c542d80e4040561428a9f8dd1c/pyinstrument-5.0.1-cp312-cp312-win_amd64.whl", hash = "sha256:86f20b680223697a8ac5c061fb40a63d3ee519c7dfb1097627bd4480711216d9", size = 123818 }, - { url = "https://files.pythonhosted.org/packages/02/cb/76e92f4069c8e14ed1a154a982c4c08ad8f70ae5e21e9f9a5b8f9ef28f4b/pyinstrument-5.0.1-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:9bdded62e0a6878a4a061d6cfdd9ec92a1ec1002776688a90f0b5329938a087b", size = 129008 }, - { url = "https://files.pythonhosted.org/packages/ce/d2/b296472da1e25883f919857b1e0394d1bb3829da76ffb56ab58e5ab54eb1/pyinstrument-5.0.1-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:de3a7b81236f893fb43aa428db9919a1fbc8ccb47c2428ade1fc2a6b96e007ec", size = 121586 }, - { url = "https://files.pythonhosted.org/packages/b3/94/75aad28b763b36259deb287a2d4d5567fb5b7823f200e984ace3b0f9efc8/pyinstrument-5.0.1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:ed712b88fe6f0dbd4a1966d4254e546545e512dc3b69329c74aded0c7e7baff2", size = 144901 }, - { url = "https://files.pythonhosted.org/packages/ee/40/0efcef4354ab1c9343940d498d8192797fb71afc7e785c753746740f880c/pyinstrument-5.0.1-cp39-cp39-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:823d2022c47b8d635f0d8ec6dfd36eb3d50a77abfcabc32aa6d3cdea8eea3fe9", size = 143749 }, - { url = "https://files.pythonhosted.org/packages/ab/34/879361b76fc119f4a62cc1628adaa1a524e40b5186d0c0a9da4a23a17123/pyinstrument-5.0.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:47959cd63cfc0559639199a4a88c871790cd7f0a0f9043057e7408048c035319", size = 145011 }, - { url = "https://files.pythonhosted.org/packages/a9/b9/eb9bf583648225e5c3980b577582b0d71ad336fdc9ff8275cf86651ee1a3/pyinstrument-5.0.1-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:0e0197702dab98ef7da02a9e1def0b9b04659ac09a67266791b096837d0d3f68", size = 144624 }, - { url = "https://files.pythonhosted.org/packages/55/fe/753581a17ac4a9da29923790f67407a279498e617dac8bc967e0ab5eb532/pyinstrument-5.0.1-cp39-cp39-musllinux_1_2_i686.whl", hash = "sha256:248dc2d016fe935ae7365cd0f83f9d32a7285593f23b703b363c2db9f126983f", size = 144054 }, - { url = "https://files.pythonhosted.org/packages/b0/5b/c096f23b9cac850f52025c9b1b9ac7ca41197dc1498bf2f416c3c5557025/pyinstrument-5.0.1-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:8f3af11d4219360b89307581ea204fde476c6f5ab91afc932c34655f0974ed6f", size = 144500 }, - { url = "https://files.pythonhosted.org/packages/ff/94/733553e1fc43a8a2e6f39ac84e9861f937911f68dde171b1d3a48439c0ce/pyinstrument-5.0.1-cp39-cp39-win32.whl", hash = "sha256:8f1b7d6d4b9d1ed1b9e222352421a5b080a87b9e6b7cd654b9ba94c5c8266286", size = 122966 }, - { url = "https://files.pythonhosted.org/packages/53/0a/32c7f168f45cf6b7e4c7dfa792a509a82ea66d339352366915da5d8a2b22/pyinstrument-5.0.1-cp39-cp39-win_amd64.whl", hash = "sha256:a876d6f6d6ad7840be62d2eeb8af868d3bf9ab0b023e082a79b22909bce7c755", size = 123842 }, +version = "5.1.2" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/32/7f/d3c4ef7c43f3294bd5a475dfa6f295a9fee5243c292d5c8122044fa83bcb/pyinstrument-5.1.2.tar.gz", hash = "sha256:af149d672da9493fa37334a1cc68f7b80c3e6cb9fd99b9e426c447db5c650bf0", size = 266889, upload-time = "2026-01-04T18:38:58.464Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/43/74/c66e1bf3565600d78f53195efb6f8fd31610f85a58aa3fee39c56bf71d1b/pyinstrument-5.1.2-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:f224fe80ba288a00980af298d3808219f9d246fd95b4f91729c9c33a0dc54fe6", size = 131470, upload-time = "2026-01-04T18:37:22.536Z" }, + { url = "https://files.pythonhosted.org/packages/1a/6b/606c5bfa311b5be74f58ef505c678216dda2be3b76a2ac770c2b0fccff77/pyinstrument-5.1.2-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:7df09fc0d5b72daf48b73cdf07738761bff7f656c81aff686b3ccdd7d2abe236", size = 124567, upload-time = "2026-01-04T18:37:24.161Z" }, + { url = "https://files.pythonhosted.org/packages/15/70/c8a88defb77873513971f590549c48ceb70f7ef10f30a689762ef36dd877/pyinstrument-5.1.2-cp310-cp310-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:75a7e17377d4405666bbaf126b1fd7bbb7e206d7246e6db3d62864d3d4790ae3", size = 149205, upload-time = "2026-01-04T18:37:25.696Z" }, + { url = "https://files.pythonhosted.org/packages/8f/4b/0e64fefb939af472c3fbc63ab45224766447bde73f51579f3ecc335b0a49/pyinstrument-5.1.2-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:5381cc6583d26e04d9298acded4242f4fe71986f1472c8aee6992c6816f0cac5", size = 147900, upload-time = "2026-01-04T18:37:27.343Z" }, + { url = "https://files.pythonhosted.org/packages/38/6e/b4209711c61176acfeb6c351e9f88a37ed3d3bc3b749c374c0a655ee8f50/pyinstrument-5.1.2-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:ec08a530bef8d3492d31d8b0b12d0cfde09539f2a1c4b9678662ebc3c843e478", size = 148133, upload-time = "2026-01-04T18:37:29.047Z" }, + { url = "https://files.pythonhosted.org/packages/26/28/f323b70789833baf0628af7b9f797b8c1a13b695bd8aa582b1312f14b602/pyinstrument-5.1.2-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:9d671168508129b472be570bc9aee361190ba917b997c703bd134bb4de445ce7", size = 147652, upload-time = "2026-01-04T18:37:30.682Z" }, + { url = "https://files.pythonhosted.org/packages/16/cd/9b0af0307a3a2cffb48ca76275c50b8bec3f85ca6e7b996e2e6cfbda1207/pyinstrument-5.1.2-cp310-cp310-win32.whl", hash = "sha256:5957a94f84564b374a7f856d1b322345d600964280b0d687b8ddcc483f21e576", size = 125793, upload-time = "2026-01-04T18:37:31.906Z" }, + { url = "https://files.pythonhosted.org/packages/05/89/fe4c650c252aefb8064bfdff6c0a020d33d15c55dc22abfa1f352dcc2dd1/pyinstrument-5.1.2-cp310-cp310-win_amd64.whl", hash = "sha256:38a2180a7801c51610b50e5d423674b21872efd019ccf05a11b7f9016cb1dcfc", size = 126679, upload-time = "2026-01-04T18:37:33.59Z" }, + { url = "https://files.pythonhosted.org/packages/79/ef/0288edd620fb0cf2074d8c8e3567007a6bac66307b839d99988563de4eb8/pyinstrument-5.1.2-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:3739a05583ea6312c385eb59fe985cd20d9048e95f9eeeb6a2f6c35202e2d36e", size = 131284, upload-time = "2026-01-04T18:37:35.01Z" }, + { url = "https://files.pythonhosted.org/packages/0b/4e/2a90a6997d9f7a39a6998d56de72e52673ebf5a9169a1c39dbf173e95105/pyinstrument-5.1.2-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:7c9ee05dc75ac5fb18498c311e624f77f7f321f7ff325b251aa09e52e46f1d6a", size = 124468, upload-time = "2026-01-04T18:37:36.628Z" }, + { url = "https://files.pythonhosted.org/packages/04/74/7bfd403e81f9b5ec523f60cced8f516ee52312752bb2e0fafabfd90bbd78/pyinstrument-5.1.2-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:7a49a55ca5b75218767e29cacbe515d0b66fc18cb48a937bca0f77b8dafc7202", size = 148057, upload-time = "2026-01-04T18:37:37.998Z" }, + { url = "https://files.pythonhosted.org/packages/50/3a/7205d7c199947d18edcd013af4ddf4d3cca85c5488fbe493050035947f7c/pyinstrument-5.1.2-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:0c45c14974ff04b1bfdc6c2a448627c6da7409c7800d0eb7bd03fb435dcb41d7", size = 146526, upload-time = "2026-01-04T18:37:39.642Z" }, + { url = "https://files.pythonhosted.org/packages/24/e8/f6864172e7ebe4bc5209bafbc574a619b4c511b9506b941789b11441be7c/pyinstrument-5.1.2-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:22b9c04b3982c41c04b1c5ed05d1bc3a2ba26533450084058119f6dc160e70a3", size = 147179, upload-time = "2026-01-04T18:37:41.332Z" }, + { url = "https://files.pythonhosted.org/packages/6d/04/89ef2d1c34767bfdbcc74ab0c7e0d021d7fac5e79873239e4ca26e97d6da/pyinstrument-5.1.2-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:5c4995ee0774801790c138f0dfec17d4e7a7ef09a6d56d53cbcbf0578a711021", size = 146354, upload-time = "2026-01-04T18:37:42.808Z" }, + { url = "https://files.pythonhosted.org/packages/2e/d4/64441547ec12391b92c739a3b0685059e7dfa088d928df8364676ef7abc7/pyinstrument-5.1.2-cp311-cp311-win32.whl", hash = "sha256:fe449e4a8ee60a2a27cf509350a584670f4c3704649601be7937598f09dbe7ca", size = 125790, upload-time = "2026-01-04T18:37:44.141Z" }, + { url = "https://files.pythonhosted.org/packages/4d/8b/0a5f6b239294decb0ecd932711f3470bfbd42fc2e08a94cd5c1f4f6da7f1/pyinstrument-5.1.2-cp311-cp311-win_amd64.whl", hash = "sha256:3fb839429671a42bf349335af4c1ce5cf83386ac11f04df0bc40720d4cb7d77d", size = 126578, upload-time = "2026-01-04T18:37:45.423Z" }, + { url = "https://files.pythonhosted.org/packages/26/d9/8fa5571ddd21b2b7189bd8b0bb4e90be1659a54dda5af51c7f6bf2b5666f/pyinstrument-5.1.2-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:2519865d4bf58936f2506c1c46a82d29a20f3239aa50c941df1ca9618c7da5f0", size = 131419, upload-time = "2026-01-04T18:37:46.843Z" }, + { url = "https://files.pythonhosted.org/packages/6f/50/0512adb83cadfeaa1a215dc9784defff5043c5aa052d15015e3d8013af75/pyinstrument-5.1.2-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:059442106b8b5de29ae5ac1bdc20d044fed4da534b8caba434b6ffb119037bf5", size = 124446, upload-time = "2026-01-04T18:37:48.572Z" }, + { url = "https://files.pythonhosted.org/packages/9b/78/c45f0b668fb3c8c0d32058a451a8e1d34737cd7586387982185e12df1977/pyinstrument-5.1.2-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:cd51f2d54fc39a4cfd73ba6be27cd0187123132ce3f445b639bff5e1b23d7e26", size = 149694, upload-time = "2026-01-04T18:37:49.876Z" }, + { url = "https://files.pythonhosted.org/packages/91/4d/2ca3ca9906ce6e05070f431c54d54ccbaf57a980cfa58032d35b0b0ac1f8/pyinstrument-5.1.2-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:12af1e83795b6c640d657d339014dd1ff718b182dec736d7d1f1d8a97534eb53", size = 148461, upload-time = "2026-01-04T18:37:51.544Z" }, + { url = "https://files.pythonhosted.org/packages/18/d2/bfe84a4326172ef68655b65b49fd041eeb94c8e59ee47258589b8b79dd3b/pyinstrument-5.1.2-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:2565513658e742c5eb691a779cb29d19d01bc9ee951d0eb76482e9f343c38c2e", size = 148560, upload-time = "2026-01-04T18:37:52.931Z" }, + { url = "https://files.pythonhosted.org/packages/d0/00/db7f5def351e869230b0165828c4edacbf3fdda8d66aff30dd73a62082c2/pyinstrument-5.1.2-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:5afd0ba788a1d112da49fb77966918e01df1f9e7d62e72894d82f7acb0996c2d", size = 148178, upload-time = "2026-01-04T18:37:54.278Z" }, + { url = "https://files.pythonhosted.org/packages/5e/bc/aea3329576e20b987d205027b8e6442ece845d681b9f9d8682d5404f81f3/pyinstrument-5.1.2-cp312-cp312-win32.whl", hash = "sha256:554077b031b278593cb2301f0057be771ea62a729878c69aaf29fcdfb7b71281", size = 125927, upload-time = "2026-01-04T18:37:55.615Z" }, + { url = "https://files.pythonhosted.org/packages/14/e2/d928434ec3a840478e95fd0d73b0dfc0b8060a07b06f4b45e9df30444e9a/pyinstrument-5.1.2-cp312-cp312-win_amd64.whl", hash = "sha256:55a905384ba43efc924b8863aa6cfd276f029e4aa70c4a0e3b7389e27b191e45", size = 126675, upload-time = "2026-01-04T18:37:57.278Z" }, + { url = "https://files.pythonhosted.org/packages/d5/41/79c253fb1de32bee30652eee1e4840bb89070746c7c71316b4029fe3b38f/pyinstrument-5.1.2-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:bea0687665c181c6e62677fb560739a473c4286816582a43f8eb0aa6094ed529", size = 131469, upload-time = "2026-01-04T18:38:46.478Z" }, + { url = "https://files.pythonhosted.org/packages/17/11/2971fa65946ea480ee100cc279796bc5c70f86dab89778260ead36a29937/pyinstrument-5.1.2-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:64246d2bd475870b62ed5df4808bfb33328135e8dfbdff823f9cb7d1358eb40b", size = 124567, upload-time = "2026-01-04T18:38:47.865Z" }, + { url = "https://files.pythonhosted.org/packages/f8/3b/b26c9cdfeeff239078e8b0eaf8be2dd87d43496824007bdf23130ce39b3c/pyinstrument-5.1.2-cp39-cp39-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:ff6fd3c7907e57f082cdd405bec1b34768c1810a165538299d259ee1bff5d7b6", size = 148807, upload-time = "2026-01-04T18:38:49.272Z" }, + { url = "https://files.pythonhosted.org/packages/db/d8/cd59f7180b1e65767f72b7aff6430941b4681db776f07c30799d485530f4/pyinstrument-5.1.2-cp39-cp39-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:af09af38ee8407ca273407e24a8e6470d2444561d01005ee6a8db5f2fd908c08", size = 147559, upload-time = "2026-01-04T18:38:51.066Z" }, + { url = "https://files.pythonhosted.org/packages/36/0f/39e3d1659cd017adc555dec757e704c0121e0d96350e8b6700d9d1f1771c/pyinstrument-5.1.2-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:1249d2799cdd57151b4444167e5c7736e2c9b5e79bd781b0779d631338509553", size = 147800, upload-time = "2026-01-04T18:38:52.479Z" }, + { url = "https://files.pythonhosted.org/packages/89/43/6c1f1b58811b1394ca75d4896e643f63d86890a8ac132af760fd5664590d/pyinstrument-5.1.2-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:2d653206f50260f20bc78339c3d7aa0f19f8cf9c9f71939fbf02e2ea30353487", size = 147333, upload-time = "2026-01-04T18:38:54.246Z" }, + { url = "https://files.pythonhosted.org/packages/3c/c2/75b9b1baecb26f5cd468c879831565c2405ed3e0855053e419e95199f198/pyinstrument-5.1.2-cp39-cp39-win32.whl", hash = "sha256:d0b0c6e289725f14d0ff73f8190c953bdcb98f21c5c29c3eafb0dca8025583cb", size = 125804, upload-time = "2026-01-04T18:38:55.644Z" }, + { url = "https://files.pythonhosted.org/packages/e7/e0/2baf39b8564ce62b889c02727b72d5f4f1e09bb0a7c9a3ec35ccd4a061b6/pyinstrument-5.1.2-cp39-cp39-win_amd64.whl", hash = "sha256:db8243e602aca43dc7ce8e40ed7d0ca4820d024c3c03824870c5a9e98f84e953", size = 126679, upload-time = "2026-01-04T18:38:56.991Z" }, ] [[package]] name = "pytest" -version = "8.3.5" +version = "8.4.2" source = { registry = "https://pypi.org/simple" } +resolution-markers = [ + "python_full_version < '3.10'", +] dependencies = [ - { name = "colorama", marker = "sys_platform == 'win32'" }, - { name = "exceptiongroup", marker = "python_full_version < '3.11'" }, - { name = "iniconfig" }, - { name = "packaging" }, - { name = "pluggy" }, - { name = "tomli", marker = "python_full_version < '3.11'" }, + { name = "colorama", marker = "python_full_version < '3.10' and sys_platform == 'win32'" }, + { name = "exceptiongroup", marker = "python_full_version < '3.10'" }, + { name = "iniconfig", version = "2.1.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.10'" }, + { name = "packaging", marker = "python_full_version < '3.10'" }, + { name = "pluggy", marker = "python_full_version < '3.10'" }, + { name = "pygments", marker = "python_full_version < '3.10'" }, + { name = "tomli", marker = "python_full_version < '3.10'" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/ae/3c/c9d525a414d506893f0cd8a8d0de7706446213181570cdbd766691164e40/pytest-8.3.5.tar.gz", hash = "sha256:f4efe70cc14e511565ac476b57c279e12a855b11f48f212af1080ef2263d3845", size = 1450891 } +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/30/3d/64ad57c803f1fa1e963a7946b6e0fea4a70df53c1a7fed304586539c2bac/pytest-8.3.5-py3-none-any.whl", hash = "sha256:c69214aa47deac29fad6c2a4f590b9c4a9fdb16a403176fe154b79c0b4d4d820", size = 343634 }, + { 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]] +name = "pytest" +version = "9.0.2" +source = { registry = "https://pypi.org/simple" } +resolution-markers = [ + "python_full_version >= '3.11' and sys_platform == 'win32'", + "python_full_version >= '3.11' and sys_platform == 'emscripten'", + "python_full_version >= '3.11' and sys_platform != 'emscripten' and sys_platform != 'win32'", + "python_full_version == '3.10.*'", +] +dependencies = [ + { name = "colorama", marker = "python_full_version >= '3.10' and sys_platform == 'win32'" }, + { name = "exceptiongroup", marker = "python_full_version == '3.10.*'" }, + { name = "iniconfig", version = "2.3.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.10'" }, + { name = "packaging", marker = "python_full_version >= '3.10'" }, + { name = "pluggy", marker = "python_full_version >= '3.10'" }, + { name = "pygments", marker = "python_full_version >= '3.10'" }, + { name = "tomli", marker = "python_full_version == '3.10.*'" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/d1/db/7ef3487e0fb0049ddb5ce41d3a49c235bf9ad299b6a25d5780a89f19230f/pytest-9.0.2.tar.gz", hash = "sha256:75186651a92bd89611d1d9fc20f0b4345fd827c41ccd5c299a868a05d70edf11", size = 1568901, upload-time = "2025-12-06T21:30:51.014Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/3b/ab/b3226f0bd7cdcf710fbede2b3548584366da3b19b5021e74f5bde2a8fa3f/pytest-9.0.2-py3-none-any.whl", hash = "sha256:711ffd45bf766d5264d487b917733b453d917afd2b0ad65223959f59089f875b", size = 374801, upload-time = "2025-12-06T21:30:49.154Z" }, ] [[package]] name = "pytest-cov" -version = "5.0.0" +version = "7.1.0" source = { registry = "https://pypi.org/simple" } dependencies = [ - { name = "coverage", extra = ["toml"] }, - { name = "pytest" }, + { name = "coverage", version = "7.10.7", source = { registry = "https://pypi.org/simple" }, extra = ["toml"], marker = "python_full_version < '3.10'" }, + { name = "coverage", version = "7.13.5", source = { registry = "https://pypi.org/simple" }, extra = ["toml"], marker = "python_full_version >= '3.10'" }, + { name = "pluggy" }, + { name = "pytest", version = "8.4.2", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.10'" }, + { name = "pytest", version = "9.0.2", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.10'" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/74/67/00efc8d11b630c56f15f4ad9c7f9223f1e5ec275aaae3fa9118c6a223ad2/pytest-cov-5.0.0.tar.gz", hash = "sha256:5837b58e9f6ebd335b0f8060eecce69b662415b16dc503883a02f45dfeb14857", size = 63042 } +sdist = { url = "https://files.pythonhosted.org/packages/b1/51/a849f96e117386044471c8ec2bd6cfebacda285da9525c9106aeb28da671/pytest_cov-7.1.0.tar.gz", hash = "sha256:30674f2b5f6351aa09702a9c8c364f6a01c27aae0c1366ae8016160d1efc56b2", size = 55592, upload-time = "2026-03-21T20:11:16.284Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/78/3a/af5b4fa5961d9a1e6237b530eb87dd04aea6eb83da09d2a4073d81b54ccf/pytest_cov-5.0.0-py3-none-any.whl", hash = "sha256:4f0764a1219df53214206bf1feea4633c3b558a2925c8b59f144f682861ce652", size = 21990 }, + { url = "https://files.pythonhosted.org/packages/9d/7a/d968e294073affff457b041c2be9868a40c1c71f4a35fcc1e45e5493067b/pytest_cov-7.1.0-py3-none-any.whl", hash = "sha256:a0461110b7865f9a271aa1b51e516c9a95de9d696734a2f71e3e78f46e1d4678", size = 22876, upload-time = "2026-03-21T20:11:14.438Z" }, ] [[package]] @@ -1283,102 +1778,147 @@ 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, upload-time = "2024-03-01T18:36:18.57Z" }, +] + +[[package]] +name = "python-discovery" +version = "1.2.0" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "filelock", version = "3.19.1", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.10'" }, + { name = "filelock", version = "3.25.2", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.10'" }, + { name = "platformdirs", version = "4.4.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.10'" }, + { name = "platformdirs", version = "4.9.4", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.10'" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/9c/90/bcce6b46823c9bec1757c964dc37ed332579be512e17a30e9698095dcae4/python_discovery-1.2.0.tar.gz", hash = "sha256:7d33e350704818b09e3da2bd419d37e21e7c30db6e0977bb438916e06b41b5b1", size = 58055, upload-time = "2026-03-19T01:43:08.248Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/c2/3c/2005227cb951df502412de2fa781f800663cccbef8d90ec6f1b371ac2c0d/python_discovery-1.2.0-py3-none-any.whl", hash = "sha256:1e108f1bbe2ed0ef089823d28805d5ad32be8e734b86a5f212bf89b71c266e4a", size = 31524, upload-time = "2026-03-19T01:43:07.045Z" }, +] + +[[package]] +name = "pytokens" +version = "0.4.1" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/b6/34/b4e015b99031667a7b960f888889c5bd34ef585c85e1cb56a594b92836ac/pytokens-0.4.1.tar.gz", hash = "sha256:292052fe80923aae2260c073f822ceba21f3872ced9a68bb7953b348e561179a", size = 23015, upload-time = "2026-01-30T01:03:45.924Z" } 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/42/24/f206113e05cb8ef51b3850e7ef88f20da6f4bf932190ceb48bd3da103e10/pytokens-0.4.1-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:2a44ed93ea23415c54f3face3b65ef2b844d96aeb3455b8a69b3df6beab6acc5", size = 161522, upload-time = "2026-01-30T01:02:50.393Z" }, + { url = "https://files.pythonhosted.org/packages/d4/e9/06a6bf1b90c2ed81a9c7d2544232fe5d2891d1cd480e8a1809ca354a8eb2/pytokens-0.4.1-cp310-cp310-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:add8bf86b71a5d9fb5b89f023a80b791e04fba57960aa790cc6125f7f1d39dfe", size = 246945, upload-time = "2026-01-30T01:02:52.399Z" }, + { url = "https://files.pythonhosted.org/packages/69/66/f6fb1007a4c3d8b682d5d65b7c1fb33257587a5f782647091e3408abe0b8/pytokens-0.4.1-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:670d286910b531c7b7e3c0b453fd8156f250adb140146d234a82219459b9640c", size = 259525, upload-time = "2026-01-30T01:02:53.737Z" }, + { url = "https://files.pythonhosted.org/packages/04/92/086f89b4d622a18418bac74ab5db7f68cf0c21cf7cc92de6c7b919d76c88/pytokens-0.4.1-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:4e691d7f5186bd2842c14813f79f8884bb03f5995f0575272009982c5ac6c0f7", size = 262693, upload-time = "2026-01-30T01:02:54.871Z" }, + { url = "https://files.pythonhosted.org/packages/b4/7b/8b31c347cf94a3f900bdde750b2e9131575a61fdb620d3d3c75832262137/pytokens-0.4.1-cp310-cp310-win_amd64.whl", hash = "sha256:27b83ad28825978742beef057bfe406ad6ed524b2d28c252c5de7b4a6dd48fa2", size = 103567, upload-time = "2026-01-30T01:02:56.414Z" }, + { url = "https://files.pythonhosted.org/packages/3d/92/790ebe03f07b57e53b10884c329b9a1a308648fc083a6d4a39a10a28c8fc/pytokens-0.4.1-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:d70e77c55ae8380c91c0c18dea05951482e263982911fc7410b1ffd1dadd3440", size = 160864, upload-time = "2026-01-30T01:02:57.882Z" }, + { url = "https://files.pythonhosted.org/packages/13/25/a4f555281d975bfdd1eba731450e2fe3a95870274da73fb12c40aeae7625/pytokens-0.4.1-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:4a58d057208cb9075c144950d789511220b07636dd2e4708d5645d24de666bdc", size = 248565, upload-time = "2026-01-30T01:02:59.912Z" }, + { url = "https://files.pythonhosted.org/packages/17/50/bc0394b4ad5b1601be22fa43652173d47e4c9efbf0044c62e9a59b747c56/pytokens-0.4.1-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:b49750419d300e2b5a3813cf229d4e5a4c728dae470bcc89867a9ad6f25a722d", size = 260824, upload-time = "2026-01-30T01:03:01.471Z" }, + { url = "https://files.pythonhosted.org/packages/4e/54/3e04f9d92a4be4fc6c80016bc396b923d2a6933ae94b5f557c939c460ee0/pytokens-0.4.1-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:d9907d61f15bf7261d7e775bd5d7ee4d2930e04424bab1972591918497623a16", size = 264075, upload-time = "2026-01-30T01:03:04.143Z" }, + { url = "https://files.pythonhosted.org/packages/d1/1b/44b0326cb5470a4375f37988aea5d61b5cc52407143303015ebee94abfd6/pytokens-0.4.1-cp311-cp311-win_amd64.whl", hash = "sha256:ee44d0f85b803321710f9239f335aafe16553b39106384cef8e6de40cb4ef2f6", size = 103323, upload-time = "2026-01-30T01:03:05.412Z" }, + { url = "https://files.pythonhosted.org/packages/41/5d/e44573011401fb82e9d51e97f1290ceb377800fb4eed650b96f4753b499c/pytokens-0.4.1-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:140709331e846b728475786df8aeb27d24f48cbcf7bcd449f8de75cae7a45083", size = 160663, upload-time = "2026-01-30T01:03:06.473Z" }, + { url = "https://files.pythonhosted.org/packages/f0/e6/5bbc3019f8e6f21d09c41f8b8654536117e5e211a85d89212d59cbdab381/pytokens-0.4.1-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:6d6c4268598f762bc8e91f5dbf2ab2f61f7b95bdc07953b602db879b3c8c18e1", size = 255626, upload-time = "2026-01-30T01:03:08.177Z" }, + { url = "https://files.pythonhosted.org/packages/bf/3c/2d5297d82286f6f3d92770289fd439956b201c0a4fc7e72efb9b2293758e/pytokens-0.4.1-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:24afde1f53d95348b5a0eb19488661147285ca4dd7ed752bbc3e1c6242a304d1", size = 269779, upload-time = "2026-01-30T01:03:09.756Z" }, + { url = "https://files.pythonhosted.org/packages/20/01/7436e9ad693cebda0551203e0bf28f7669976c60ad07d6402098208476de/pytokens-0.4.1-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:5ad948d085ed6c16413eb5fec6b3e02fa00dc29a2534f088d3302c47eb59adf9", size = 268076, upload-time = "2026-01-30T01:03:10.957Z" }, + { url = "https://files.pythonhosted.org/packages/2e/df/533c82a3c752ba13ae7ef238b7f8cdd272cf1475f03c63ac6cf3fcfb00b6/pytokens-0.4.1-cp312-cp312-win_amd64.whl", hash = "sha256:3f901fe783e06e48e8cbdc82d631fca8f118333798193e026a50ce1b3757ea68", size = 103552, upload-time = "2026-01-30T01:03:12.066Z" }, + { url = "https://files.pythonhosted.org/packages/51/2a/f125667ce48105bf1f4e50e03cfa7b24b8c4f47684d7f1cf4dcb6f6b1c15/pytokens-0.4.1-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:34bcc734bd2f2d5fe3b34e7b3c0116bfb2397f2d9666139988e7a3eb5f7400e3", size = 161464, upload-time = "2026-01-30T01:03:39.11Z" }, + { url = "https://files.pythonhosted.org/packages/40/df/065a30790a7ca6bb48ad9018dd44668ed9135610ebf56a2a4cb8e513fd5c/pytokens-0.4.1-cp39-cp39-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:941d4343bf27b605e9213b26bfa1c4bf197c9c599a9627eb7305b0defcfe40c1", size = 246159, upload-time = "2026-01-30T01:03:40.131Z" }, + { url = "https://files.pythonhosted.org/packages/a5/1c/fd09976a7e04960dabc07ab0e0072c7813d566ec67d5490a4c600683c158/pytokens-0.4.1-cp39-cp39-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:3ad72b851e781478366288743198101e5eb34a414f1d5627cdd585ca3b25f1db", size = 259120, upload-time = "2026-01-30T01:03:41.233Z" }, + { url = "https://files.pythonhosted.org/packages/52/49/59fdc6fc5a390ae9f308eadeb97dfc70fc2d804ffc49dd39fc97604622ec/pytokens-0.4.1-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:682fa37ff4d8e95f7df6fe6fe6a431e8ed8e788023c6bcc0f0880a12eab80ad1", size = 262196, upload-time = "2026-01-30T01:03:42.696Z" }, + { url = "https://files.pythonhosted.org/packages/3d/e7/d6734dccf0080e3dc00a55b0827ab5af30c886f8bc127bbc04bc3445daec/pytokens-0.4.1-cp39-cp39-win_amd64.whl", hash = "sha256:30f51edd9bb7f85c748979384165601d028b84f7bd13fe14d3e065304093916a", size = 103510, upload-time = "2026-01-30T01:03:43.915Z" }, + { url = "https://files.pythonhosted.org/packages/c6/78/397db326746f0a342855b81216ae1f0a32965deccfd7c830a2dbc66d2483/pytokens-0.4.1-py3-none-any.whl", hash = "sha256:26cef14744a8385f35d0e095dc8b3a7583f6c953c2e3d269c7f82484bf5ad2de", size = 13729, upload-time = "2026-01-30T01:03:45.029Z" }, ] [[package]] name = "pytz" -version = "2025.2" +version = "2026.1.post1" 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/56/db/b8721d71d945e6a8ac63c0fc900b2067181dbb50805958d4d4661cf7d277/pytz-2026.1.post1.tar.gz", hash = "sha256:3378dde6a0c3d26719182142c56e60c7f9af7e968076f31aae569d72a0358ee1", size = 321088, upload-time = "2026-03-03T07:47:50.683Z" } 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/10/99/781fe0c827be2742bcc775efefccb3b048a3a9c6ce9aec0cbf4a101677e5/pytz-2026.1.post1-py2.py3-none-any.whl", hash = "sha256:f2fd16142fda348286a75e1a524be810bb05d444e5a081f37f7affc635035f7a", size = 510489, upload-time = "2026-03-03T07:47:49.167Z" }, ] [[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/9b/95/a3fac87cb7158e231b5a6012e438c647e1a87f09f8e0d123acec8ab8bf71/PyYAML-6.0.2-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:0a9a2848a5b7feac301353437eb7d5957887edbf81d56e903999a75a3d743086", size = 184199 }, - { url = "https://files.pythonhosted.org/packages/c7/7a/68bd47624dab8fd4afbfd3c48e3b79efe09098ae941de5b58abcbadff5cb/PyYAML-6.0.2-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:29717114e51c84ddfba879543fb232a6ed60086602313ca38cce623c1d62cfbf", size = 171758 }, - { url = "https://files.pythonhosted.org/packages/49/ee/14c54df452143b9ee9f0f29074d7ca5516a36edb0b4cc40c3f280131656f/PyYAML-6.0.2-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:8824b5a04a04a047e72eea5cec3bc266db09e35de6bdfe34c9436ac5ee27d237", size = 718463 }, - { url = "https://files.pythonhosted.org/packages/4d/61/de363a97476e766574650d742205be468921a7b532aa2499fcd886b62530/PyYAML-6.0.2-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:7c36280e6fb8385e520936c3cb3b8042851904eba0e58d277dca80a5cfed590b", size = 719280 }, - { url = "https://files.pythonhosted.org/packages/6b/4e/1523cb902fd98355e2e9ea5e5eb237cbc5f3ad5f3075fa65087aa0ecb669/PyYAML-6.0.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ec031d5d2feb36d1d1a24380e4db6d43695f3748343d99434e6f5f9156aaa2ed", size = 751239 }, - { url = "https://files.pythonhosted.org/packages/b7/33/5504b3a9a4464893c32f118a9cc045190a91637b119a9c881da1cf6b7a72/PyYAML-6.0.2-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:936d68689298c36b53b29f23c6dbb74de12b4ac12ca6cfe0e047bedceea56180", size = 695802 }, - { url = "https://files.pythonhosted.org/packages/5c/20/8347dcabd41ef3a3cdc4f7b7a2aff3d06598c8779faa189cdbf878b626a4/PyYAML-6.0.2-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:23502f431948090f597378482b4812b0caae32c22213aecf3b55325e049a6c68", size = 720527 }, - { url = "https://files.pythonhosted.org/packages/be/aa/5afe99233fb360d0ff37377145a949ae258aaab831bde4792b32650a4378/PyYAML-6.0.2-cp310-cp310-win32.whl", hash = "sha256:2e99c6826ffa974fe6e27cdb5ed0021786b03fc98e5ee3c5bfe1fd5015f42b99", size = 144052 }, - { url = "https://files.pythonhosted.org/packages/b5/84/0fa4b06f6d6c958d207620fc60005e241ecedceee58931bb20138e1e5776/PyYAML-6.0.2-cp310-cp310-win_amd64.whl", hash = "sha256:a4d3091415f010369ae4ed1fc6b79def9416358877534caf6a0fdd2146c87a3e", size = 161774 }, - { url = "https://files.pythonhosted.org/packages/f8/aa/7af4e81f7acba21a4c6be026da38fd2b872ca46226673c89a758ebdc4fd2/PyYAML-6.0.2-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:cc1c1159b3d456576af7a3e4d1ba7e6924cb39de8f67111c735f6fc832082774", size = 184612 }, - { url = "https://files.pythonhosted.org/packages/8b/62/b9faa998fd185f65c1371643678e4d58254add437edb764a08c5a98fb986/PyYAML-6.0.2-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:1e2120ef853f59c7419231f3bf4e7021f1b936f6ebd222406c3b60212205d2ee", size = 172040 }, - { url = "https://files.pythonhosted.org/packages/ad/0c/c804f5f922a9a6563bab712d8dcc70251e8af811fce4524d57c2c0fd49a4/PyYAML-6.0.2-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:5d225db5a45f21e78dd9358e58a98702a0302f2659a3c6cd320564b75b86f47c", size = 736829 }, - { url = "https://files.pythonhosted.org/packages/51/16/6af8d6a6b210c8e54f1406a6b9481febf9c64a3109c541567e35a49aa2e7/PyYAML-6.0.2-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:5ac9328ec4831237bec75defaf839f7d4564be1e6b25ac710bd1a96321cc8317", size = 764167 }, - { url = "https://files.pythonhosted.org/packages/75/e4/2c27590dfc9992f73aabbeb9241ae20220bd9452df27483b6e56d3975cc5/PyYAML-6.0.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3ad2a3decf9aaba3d29c8f537ac4b243e36bef957511b4766cb0057d32b0be85", size = 762952 }, - { url = "https://files.pythonhosted.org/packages/9b/97/ecc1abf4a823f5ac61941a9c00fe501b02ac3ab0e373c3857f7d4b83e2b6/PyYAML-6.0.2-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:ff3824dc5261f50c9b0dfb3be22b4567a6f938ccce4587b38952d85fd9e9afe4", size = 735301 }, - { url = "https://files.pythonhosted.org/packages/45/73/0f49dacd6e82c9430e46f4a027baa4ca205e8b0a9dce1397f44edc23559d/PyYAML-6.0.2-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:797b4f722ffa07cc8d62053e4cff1486fa6dc094105d13fea7b1de7d8bf71c9e", size = 756638 }, - { url = "https://files.pythonhosted.org/packages/22/5f/956f0f9fc65223a58fbc14459bf34b4cc48dec52e00535c79b8db361aabd/PyYAML-6.0.2-cp311-cp311-win32.whl", hash = "sha256:11d8f3dd2b9c1207dcaf2ee0bbbfd5991f571186ec9cc78427ba5bd32afae4b5", size = 143850 }, - { url = "https://files.pythonhosted.org/packages/ed/23/8da0bbe2ab9dcdd11f4f4557ccaf95c10b9811b13ecced089d43ce59c3c8/PyYAML-6.0.2-cp311-cp311-win_amd64.whl", hash = "sha256:e10ce637b18caea04431ce14fabcf5c64a1c61ec9c56b071a4b7ca131ca52d44", size = 161980 }, - { 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/65/d8/b7a1db13636d7fb7d4ff431593c510c8b8fca920ade06ca8ef20015493c5/PyYAML-6.0.2-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:688ba32a1cffef67fd2e9398a2efebaea461578b0923624778664cc1c914db5d", size = 184777 }, - { url = "https://files.pythonhosted.org/packages/0a/02/6ec546cd45143fdf9840b2c6be8d875116a64076218b61d68e12548e5839/PyYAML-6.0.2-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:a8786accb172bd8afb8be14490a16625cbc387036876ab6ba70912730faf8e1f", size = 172318 }, - { url = "https://files.pythonhosted.org/packages/0e/9a/8cc68be846c972bda34f6c2a93abb644fb2476f4dcc924d52175786932c9/PyYAML-6.0.2-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d8e03406cac8513435335dbab54c0d385e4a49e4945d2909a581c83647ca0290", size = 720891 }, - { url = "https://files.pythonhosted.org/packages/e9/6c/6e1b7f40181bc4805e2e07f4abc10a88ce4648e7e95ff1abe4ae4014a9b2/PyYAML-6.0.2-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:f753120cb8181e736c57ef7636e83f31b9c0d1722c516f7e86cf15b7aa57ff12", size = 722614 }, - { url = "https://files.pythonhosted.org/packages/3d/32/e7bd8535d22ea2874cef6a81021ba019474ace0d13a4819c2a4bce79bd6a/PyYAML-6.0.2-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3b1fdb9dc17f5a7677423d508ab4f243a726dea51fa5e70992e59a7411c89d19", size = 737360 }, - { url = "https://files.pythonhosted.org/packages/d7/12/7322c1e30b9be969670b672573d45479edef72c9a0deac3bb2868f5d7469/PyYAML-6.0.2-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:0b69e4ce7a131fe56b7e4d770c67429700908fc0752af059838b1cfb41960e4e", size = 699006 }, - { url = "https://files.pythonhosted.org/packages/82/72/04fcad41ca56491995076630c3ec1e834be241664c0c09a64c9a2589b507/PyYAML-6.0.2-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:a9f8c2e67970f13b16084e04f134610fd1d374bf477b17ec1599185cf611d725", size = 723577 }, - { url = "https://files.pythonhosted.org/packages/ed/5e/46168b1f2757f1fcd442bc3029cd8767d88a98c9c05770d8b420948743bb/PyYAML-6.0.2-cp39-cp39-win32.whl", hash = "sha256:6395c297d42274772abc367baaa79683958044e5d3835486c16da75d2a694631", size = 144593 }, - { url = "https://files.pythonhosted.org/packages/19/87/5124b1c1f2412bb95c59ec481eaf936cd32f0fe2a7b16b97b81c4c017a6a/PyYAML-6.0.2-cp39-cp39-win_amd64.whl", hash = "sha256:39693e1f8320ae4f43943590b49779ffb98acb81f788220ea932a6b6c51004d8", size = 162312 }, +version = "6.0.3" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/05/8e/961c0007c59b8dd7729d542c61a4d537767a59645b82a0b521206e1e25c2/pyyaml-6.0.3.tar.gz", hash = "sha256:d76623373421df22fb4cf8817020cbb7ef15c725b9d5e45f17e189bfc384190f", size = 130960, upload-time = "2025-09-25T21:33:16.546Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/f4/a0/39350dd17dd6d6c6507025c0e53aef67a9293a6d37d3511f23ea510d5800/pyyaml-6.0.3-cp310-cp310-macosx_10_13_x86_64.whl", hash = "sha256:214ed4befebe12df36bcc8bc2b64b396ca31be9304b8f59e25c11cf94a4c033b", size = 184227, upload-time = "2025-09-25T21:31:46.04Z" }, + { url = "https://files.pythonhosted.org/packages/05/14/52d505b5c59ce73244f59c7a50ecf47093ce4765f116cdb98286a71eeca2/pyyaml-6.0.3-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:02ea2dfa234451bbb8772601d7b8e426c2bfa197136796224e50e35a78777956", size = 174019, upload-time = "2025-09-25T21:31:47.706Z" }, + { url = "https://files.pythonhosted.org/packages/43/f7/0e6a5ae5599c838c696adb4e6330a59f463265bfa1e116cfd1fbb0abaaae/pyyaml-6.0.3-cp310-cp310-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:b30236e45cf30d2b8e7b3e85881719e98507abed1011bf463a8fa23e9c3e98a8", size = 740646, upload-time = "2025-09-25T21:31:49.21Z" }, + { url = "https://files.pythonhosted.org/packages/2f/3a/61b9db1d28f00f8fd0ae760459a5c4bf1b941baf714e207b6eb0657d2578/pyyaml-6.0.3-cp310-cp310-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:66291b10affd76d76f54fad28e22e51719ef9ba22b29e1d7d03d6777a9174198", size = 840793, upload-time = "2025-09-25T21:31:50.735Z" }, + { url = "https://files.pythonhosted.org/packages/7a/1e/7acc4f0e74c4b3d9531e24739e0ab832a5edf40e64fbae1a9c01941cabd7/pyyaml-6.0.3-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:9c7708761fccb9397fe64bbc0395abcae8c4bf7b0eac081e12b809bf47700d0b", size = 770293, upload-time = "2025-09-25T21:31:51.828Z" }, + { url = "https://files.pythonhosted.org/packages/8b/ef/abd085f06853af0cd59fa5f913d61a8eab65d7639ff2a658d18a25d6a89d/pyyaml-6.0.3-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:418cf3f2111bc80e0933b2cd8cd04f286338bb88bdc7bc8e6dd775ebde60b5e0", size = 732872, upload-time = "2025-09-25T21:31:53.282Z" }, + { url = "https://files.pythonhosted.org/packages/1f/15/2bc9c8faf6450a8b3c9fc5448ed869c599c0a74ba2669772b1f3a0040180/pyyaml-6.0.3-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:5e0b74767e5f8c593e8c9b5912019159ed0533c70051e9cce3e8b6aa699fcd69", size = 758828, upload-time = "2025-09-25T21:31:54.807Z" }, + { url = "https://files.pythonhosted.org/packages/a3/00/531e92e88c00f4333ce359e50c19b8d1de9fe8d581b1534e35ccfbc5f393/pyyaml-6.0.3-cp310-cp310-win32.whl", hash = "sha256:28c8d926f98f432f88adc23edf2e6d4921ac26fb084b028c733d01868d19007e", size = 142415, upload-time = "2025-09-25T21:31:55.885Z" }, + { url = "https://files.pythonhosted.org/packages/2a/fa/926c003379b19fca39dd4634818b00dec6c62d87faf628d1394e137354d4/pyyaml-6.0.3-cp310-cp310-win_amd64.whl", hash = "sha256:bdb2c67c6c1390b63c6ff89f210c8fd09d9a1217a465701eac7316313c915e4c", size = 158561, upload-time = "2025-09-25T21:31:57.406Z" }, + { url = "https://files.pythonhosted.org/packages/6d/16/a95b6757765b7b031c9374925bb718d55e0a9ba8a1b6a12d25962ea44347/pyyaml-6.0.3-cp311-cp311-macosx_10_13_x86_64.whl", hash = "sha256:44edc647873928551a01e7a563d7452ccdebee747728c1080d881d68af7b997e", size = 185826, upload-time = "2025-09-25T21:31:58.655Z" }, + { url = "https://files.pythonhosted.org/packages/16/19/13de8e4377ed53079ee996e1ab0a9c33ec2faf808a4647b7b4c0d46dd239/pyyaml-6.0.3-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:652cb6edd41e718550aad172851962662ff2681490a8a711af6a4d288dd96824", size = 175577, upload-time = "2025-09-25T21:32:00.088Z" }, + { url = "https://files.pythonhosted.org/packages/0c/62/d2eb46264d4b157dae1275b573017abec435397aa59cbcdab6fc978a8af4/pyyaml-6.0.3-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:10892704fc220243f5305762e276552a0395f7beb4dbf9b14ec8fd43b57f126c", size = 775556, upload-time = "2025-09-25T21:32:01.31Z" }, + { url = "https://files.pythonhosted.org/packages/10/cb/16c3f2cf3266edd25aaa00d6c4350381c8b012ed6f5276675b9eba8d9ff4/pyyaml-6.0.3-cp311-cp311-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:850774a7879607d3a6f50d36d04f00ee69e7fc816450e5f7e58d7f17f1ae5c00", size = 882114, upload-time = "2025-09-25T21:32:03.376Z" }, + { url = "https://files.pythonhosted.org/packages/71/60/917329f640924b18ff085ab889a11c763e0b573da888e8404ff486657602/pyyaml-6.0.3-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:b8bb0864c5a28024fac8a632c443c87c5aa6f215c0b126c449ae1a150412f31d", size = 806638, upload-time = "2025-09-25T21:32:04.553Z" }, + { url = "https://files.pythonhosted.org/packages/dd/6f/529b0f316a9fd167281a6c3826b5583e6192dba792dd55e3203d3f8e655a/pyyaml-6.0.3-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:1d37d57ad971609cf3c53ba6a7e365e40660e3be0e5175fa9f2365a379d6095a", size = 767463, upload-time = "2025-09-25T21:32:06.152Z" }, + { url = "https://files.pythonhosted.org/packages/f2/6a/b627b4e0c1dd03718543519ffb2f1deea4a1e6d42fbab8021936a4d22589/pyyaml-6.0.3-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:37503bfbfc9d2c40b344d06b2199cf0e96e97957ab1c1b546fd4f87e53e5d3e4", size = 794986, upload-time = "2025-09-25T21:32:07.367Z" }, + { url = "https://files.pythonhosted.org/packages/45/91/47a6e1c42d9ee337c4839208f30d9f09caa9f720ec7582917b264defc875/pyyaml-6.0.3-cp311-cp311-win32.whl", hash = "sha256:8098f252adfa6c80ab48096053f512f2321f0b998f98150cea9bd23d83e1467b", size = 142543, upload-time = "2025-09-25T21:32:08.95Z" }, + { url = "https://files.pythonhosted.org/packages/da/e3/ea007450a105ae919a72393cb06f122f288ef60bba2dc64b26e2646fa315/pyyaml-6.0.3-cp311-cp311-win_amd64.whl", hash = "sha256:9f3bfb4965eb874431221a3ff3fdcddc7e74e3b07799e0e84ca4a0f867d449bf", size = 158763, upload-time = "2025-09-25T21:32:09.96Z" }, + { url = "https://files.pythonhosted.org/packages/d1/33/422b98d2195232ca1826284a76852ad5a86fe23e31b009c9886b2d0fb8b2/pyyaml-6.0.3-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:7f047e29dcae44602496db43be01ad42fc6f1cc0d8cd6c83d342306c32270196", size = 182063, upload-time = "2025-09-25T21:32:11.445Z" }, + { url = "https://files.pythonhosted.org/packages/89/a0/6cf41a19a1f2f3feab0e9c0b74134aa2ce6849093d5517a0c550fe37a648/pyyaml-6.0.3-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:fc09d0aa354569bc501d4e787133afc08552722d3ab34836a80547331bb5d4a0", size = 173973, upload-time = "2025-09-25T21:32:12.492Z" }, + { url = "https://files.pythonhosted.org/packages/ed/23/7a778b6bd0b9a8039df8b1b1d80e2e2ad78aa04171592c8a5c43a56a6af4/pyyaml-6.0.3-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:9149cad251584d5fb4981be1ecde53a1ca46c891a79788c0df828d2f166bda28", size = 775116, upload-time = "2025-09-25T21:32:13.652Z" }, + { url = "https://files.pythonhosted.org/packages/65/30/d7353c338e12baef4ecc1b09e877c1970bd3382789c159b4f89d6a70dc09/pyyaml-6.0.3-cp312-cp312-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:5fdec68f91a0c6739b380c83b951e2c72ac0197ace422360e6d5a959d8d97b2c", size = 844011, upload-time = "2025-09-25T21:32:15.21Z" }, + { url = "https://files.pythonhosted.org/packages/8b/9d/b3589d3877982d4f2329302ef98a8026e7f4443c765c46cfecc8858c6b4b/pyyaml-6.0.3-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:ba1cc08a7ccde2d2ec775841541641e4548226580ab850948cbfda66a1befcdc", size = 807870, upload-time = "2025-09-25T21:32:16.431Z" }, + { url = "https://files.pythonhosted.org/packages/05/c0/b3be26a015601b822b97d9149ff8cb5ead58c66f981e04fedf4e762f4bd4/pyyaml-6.0.3-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:8dc52c23056b9ddd46818a57b78404882310fb473d63f17b07d5c40421e47f8e", size = 761089, upload-time = "2025-09-25T21:32:17.56Z" }, + { url = "https://files.pythonhosted.org/packages/be/8e/98435a21d1d4b46590d5459a22d88128103f8da4c2d4cb8f14f2a96504e1/pyyaml-6.0.3-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:41715c910c881bc081f1e8872880d3c650acf13dfa8214bad49ed4cede7c34ea", size = 790181, upload-time = "2025-09-25T21:32:18.834Z" }, + { url = "https://files.pythonhosted.org/packages/74/93/7baea19427dcfbe1e5a372d81473250b379f04b1bd3c4c5ff825e2327202/pyyaml-6.0.3-cp312-cp312-win32.whl", hash = "sha256:96b533f0e99f6579b3d4d4995707cf36df9100d67e0c8303a0c55b27b5f99bc5", size = 137658, upload-time = "2025-09-25T21:32:20.209Z" }, + { url = "https://files.pythonhosted.org/packages/86/bf/899e81e4cce32febab4fb42bb97dcdf66bc135272882d1987881a4b519e9/pyyaml-6.0.3-cp312-cp312-win_amd64.whl", hash = "sha256:5fcd34e47f6e0b794d17de1b4ff496c00986e1c83f7ab2fb8fcfe9616ff7477b", size = 154003, upload-time = "2025-09-25T21:32:21.167Z" }, + { url = "https://files.pythonhosted.org/packages/1a/08/67bd04656199bbb51dbed1439b7f27601dfb576fb864099c7ef0c3e55531/pyyaml-6.0.3-cp312-cp312-win_arm64.whl", hash = "sha256:64386e5e707d03a7e172c0701abfb7e10f0fb753ee1d773128192742712a98fd", size = 140344, upload-time = "2025-09-25T21:32:22.617Z" }, + { url = "https://files.pythonhosted.org/packages/9f/62/67fc8e68a75f738c9200422bf65693fb79a4cd0dc5b23310e5202e978090/pyyaml-6.0.3-cp39-cp39-macosx_10_13_x86_64.whl", hash = "sha256:b865addae83924361678b652338317d1bd7e79b1f4596f96b96c77a5a34b34da", size = 184450, upload-time = "2025-09-25T21:33:00.618Z" }, + { url = "https://files.pythonhosted.org/packages/ae/92/861f152ce87c452b11b9d0977952259aa7df792d71c1053365cc7b09cc08/pyyaml-6.0.3-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:c3355370a2c156cffb25e876646f149d5d68f5e0a3ce86a5084dd0b64a994917", size = 174319, upload-time = "2025-09-25T21:33:02.086Z" }, + { url = "https://files.pythonhosted.org/packages/d0/cd/f0cfc8c74f8a030017a2b9c771b7f47e5dd702c3e28e5b2071374bda2948/pyyaml-6.0.3-cp39-cp39-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:3c5677e12444c15717b902a5798264fa7909e41153cdf9ef7ad571b704a63dd9", size = 737631, upload-time = "2025-09-25T21:33:03.25Z" }, + { url = "https://files.pythonhosted.org/packages/ef/b2/18f2bd28cd2055a79a46c9b0895c0b3d987ce40ee471cecf58a1a0199805/pyyaml-6.0.3-cp39-cp39-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:5ed875a24292240029e4483f9d4a4b8a1ae08843b9c54f43fcc11e404532a8a5", size = 836795, upload-time = "2025-09-25T21:33:05.014Z" }, + { url = "https://files.pythonhosted.org/packages/73/b9/793686b2d54b531203c160ef12bec60228a0109c79bae6c1277961026770/pyyaml-6.0.3-cp39-cp39-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:0150219816b6a1fa26fb4699fb7daa9caf09eb1999f3b70fb6e786805e80375a", size = 750767, upload-time = "2025-09-25T21:33:06.398Z" }, + { url = "https://files.pythonhosted.org/packages/a9/86/a137b39a611def2ed78b0e66ce2fe13ee701a07c07aebe55c340ed2a050e/pyyaml-6.0.3-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:fa160448684b4e94d80416c0fa4aac48967a969efe22931448d853ada8baf926", size = 727982, upload-time = "2025-09-25T21:33:08.708Z" }, + { url = "https://files.pythonhosted.org/packages/dd/62/71c27c94f457cf4418ef8ccc71735324c549f7e3ea9d34aba50874563561/pyyaml-6.0.3-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:27c0abcb4a5dac13684a37f76e701e054692a9b2d3064b70f5e4eb54810553d7", size = 755677, upload-time = "2025-09-25T21:33:09.876Z" }, + { url = "https://files.pythonhosted.org/packages/29/3d/6f5e0d58bd924fb0d06c3a6bad00effbdae2de5adb5cda5648006ffbd8d3/pyyaml-6.0.3-cp39-cp39-win32.whl", hash = "sha256:1ebe39cb5fc479422b83de611d14e2c0d3bb2a18bbcb01f229ab3cfbd8fee7a0", size = 142592, upload-time = "2025-09-25T21:33:10.983Z" }, + { url = "https://files.pythonhosted.org/packages/f0/0c/25113e0b5e103d7f1490c0e947e303fe4a696c10b501dea7a9f49d4e876c/pyyaml-6.0.3-cp39-cp39-win_amd64.whl", hash = "sha256:2e71d11abed7344e42a8849600193d15b6def118602c4c176f748e4583246007", size = 158777, upload-time = "2025-09-25T21:33:15.55Z" }, ] [[package]] name = "requests" -version = "2.32.3" +version = "2.32.5" source = { registry = "https://pypi.org/simple" } dependencies = [ - { name = "certifi", marker = "python_full_version >= '3.11'" }, - { name = "charset-normalizer", marker = "python_full_version >= '3.11'" }, - { name = "idna", marker = "python_full_version >= '3.11'" }, - { name = "urllib3", marker = "python_full_version >= '3.11'" }, + { name = "certifi", marker = "python_full_version >= '3.10'" }, + { name = "charset-normalizer", marker = "python_full_version >= '3.10'" }, + { name = "idna", marker = "python_full_version >= '3.10'" }, + { name = "urllib3", marker = "python_full_version >= '3.10'" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/63/70/2bf7780ad2d390a8d301ad0b550f1581eadbd9a20f896afe06353c2a2913/requests-2.32.3.tar.gz", hash = "sha256:55365417734eb18255590a9ff9eb97e9e1da868d4ccd6402399eaf68af20a760", size = 131218 } +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/f9/9b/335f9764261e915ed497fcdeb11df5dfd6f7bf257d4a6a2a686d80da4d54/requests-2.32.3-py3-none-any.whl", hash = "sha256:70761cfe03c773ceb22aa2f671b4757976145175cdfca038c02654d061d6dcc6", size = 64928 }, + { 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 = "ruff" -version = "0.11.2" -source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/90/61/fb87430f040e4e577e784e325351186976516faef17d6fcd921fe28edfd7/ruff-0.11.2.tar.gz", hash = "sha256:ec47591497d5a1050175bdf4e1a4e6272cddff7da88a2ad595e1e326041d8d94", size = 3857511 } -wheels = [ - { url = "https://files.pythonhosted.org/packages/62/99/102578506f0f5fa29fd7e0df0a273864f79af044757aef73d1cae0afe6ad/ruff-0.11.2-py3-none-linux_armv6l.whl", hash = "sha256:c69e20ea49e973f3afec2c06376eb56045709f0212615c1adb0eda35e8a4e477", size = 10113146 }, - { url = "https://files.pythonhosted.org/packages/74/ad/5cd4ba58ab602a579997a8494b96f10f316e874d7c435bcc1a92e6da1b12/ruff-0.11.2-py3-none-macosx_10_12_x86_64.whl", hash = "sha256:2c5424cc1c4eb1d8ecabe6d4f1b70470b4f24a0c0171356290b1953ad8f0e272", size = 10867092 }, - { url = "https://files.pythonhosted.org/packages/fc/3e/d3f13619e1d152c7b600a38c1a035e833e794c6625c9a6cea6f63dbf3af4/ruff-0.11.2-py3-none-macosx_11_0_arm64.whl", hash = "sha256:ecf20854cc73f42171eedb66f006a43d0a21bfb98a2523a809931cda569552d9", size = 10224082 }, - { url = "https://files.pythonhosted.org/packages/90/06/f77b3d790d24a93f38e3806216f263974909888fd1e826717c3ec956bbcd/ruff-0.11.2-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:0c543bf65d5d27240321604cee0633a70c6c25c9a2f2492efa9f6d4b8e4199bb", size = 10394818 }, - { url = "https://files.pythonhosted.org/packages/99/7f/78aa431d3ddebfc2418cd95b786642557ba8b3cb578c075239da9ce97ff9/ruff-0.11.2-py3-none-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:20967168cc21195db5830b9224be0e964cc9c8ecf3b5a9e3ce19876e8d3a96e3", size = 9952251 }, - { url = "https://files.pythonhosted.org/packages/30/3e/f11186d1ddfaca438c3bbff73c6a2fdb5b60e6450cc466129c694b0ab7a2/ruff-0.11.2-py3-none-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:955a9ce63483999d9f0b8f0b4a3ad669e53484232853054cc8b9d51ab4c5de74", size = 11563566 }, - { url = "https://files.pythonhosted.org/packages/22/6c/6ca91befbc0a6539ee133d9a9ce60b1a354db12c3c5d11cfdbf77140f851/ruff-0.11.2-py3-none-manylinux_2_17_ppc64.manylinux2014_ppc64.whl", hash = "sha256:86b3a27c38b8fce73bcd262b0de32e9a6801b76d52cdb3ae4c914515f0cef608", size = 12208721 }, - { url = "https://files.pythonhosted.org/packages/19/b0/24516a3b850d55b17c03fc399b681c6a549d06ce665915721dc5d6458a5c/ruff-0.11.2-py3-none-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:a3b66a03b248c9fcd9d64d445bafdf1589326bee6fc5c8e92d7562e58883e30f", size = 11662274 }, - { url = "https://files.pythonhosted.org/packages/d7/65/76be06d28ecb7c6070280cef2bcb20c98fbf99ff60b1c57d2fb9b8771348/ruff-0.11.2-py3-none-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:0397c2672db015be5aa3d4dac54c69aa012429097ff219392c018e21f5085147", size = 13792284 }, - { url = "https://files.pythonhosted.org/packages/ce/d2/4ceed7147e05852876f3b5f3fdc23f878ce2b7e0b90dd6e698bda3d20787/ruff-0.11.2-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:869bcf3f9abf6457fbe39b5a37333aa4eecc52a3b99c98827ccc371a8e5b6f1b", size = 11327861 }, - { url = "https://files.pythonhosted.org/packages/c4/78/4935ecba13706fd60ebe0e3dc50371f2bdc3d9bc80e68adc32ff93914534/ruff-0.11.2-py3-none-musllinux_1_2_aarch64.whl", hash = "sha256:2a2b50ca35457ba785cd8c93ebbe529467594087b527a08d487cf0ee7b3087e9", size = 10276560 }, - { url = "https://files.pythonhosted.org/packages/81/7f/1b2435c3f5245d410bb5dc80f13ec796454c21fbda12b77d7588d5cf4e29/ruff-0.11.2-py3-none-musllinux_1_2_armv7l.whl", hash = "sha256:7c69c74bf53ddcfbc22e6eb2f31211df7f65054bfc1f72288fc71e5f82db3eab", size = 9945091 }, - { url = "https://files.pythonhosted.org/packages/39/c4/692284c07e6bf2b31d82bb8c32f8840f9d0627d92983edaac991a2b66c0a/ruff-0.11.2-py3-none-musllinux_1_2_i686.whl", hash = "sha256:6e8fb75e14560f7cf53b15bbc55baf5ecbe373dd5f3aab96ff7aa7777edd7630", size = 10977133 }, - { url = "https://files.pythonhosted.org/packages/94/cf/8ab81cb7dd7a3b0a3960c2769825038f3adcd75faf46dd6376086df8b128/ruff-0.11.2-py3-none-musllinux_1_2_x86_64.whl", hash = "sha256:842a472d7b4d6f5924e9297aa38149e5dcb1e628773b70e6387ae2c97a63c58f", size = 11378514 }, - { url = "https://files.pythonhosted.org/packages/d9/3a/a647fa4f316482dacf2fd68e8a386327a33d6eabd8eb2f9a0c3d291ec549/ruff-0.11.2-py3-none-win32.whl", hash = "sha256:aca01ccd0eb5eb7156b324cfaa088586f06a86d9e5314b0eb330cb48415097cc", size = 10319835 }, - { url = "https://files.pythonhosted.org/packages/86/54/3c12d3af58012a5e2cd7ebdbe9983f4834af3f8cbea0e8a8c74fa1e23b2b/ruff-0.11.2-py3-none-win_amd64.whl", hash = "sha256:3170150172a8f994136c0c66f494edf199a0bbea7a409f649e4bc8f4d7084080", size = 11373713 }, - { url = "https://files.pythonhosted.org/packages/d6/d4/dd813703af8a1e2ac33bf3feb27e8a5ad514c9f219df80c64d69807e7f71/ruff-0.11.2-py3-none-win_arm64.whl", hash = "sha256:52933095158ff328f4c77af3d74f0379e34fd52f175144cefc1b192e7ccd32b4", size = 10441990 }, +version = "0.15.7" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/a1/22/9e4f66ee588588dc6c9af6a994e12d26e19efbe874d1a909d09a6dac7a59/ruff-0.15.7.tar.gz", hash = "sha256:04f1ae61fc20fe0b148617c324d9d009b5f63412c0b16474f3d5f1a1a665f7ac", size = 4601277, upload-time = "2026-03-19T16:26:22.605Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/41/2f/0b08ced94412af091807b6119ca03755d651d3d93a242682bf020189db94/ruff-0.15.7-py3-none-linux_armv6l.whl", hash = "sha256:a81cc5b6910fb7dfc7c32d20652e50fa05963f6e13ead3c5915c41ac5d16668e", size = 10489037, upload-time = "2026-03-19T16:26:32.47Z" }, + { url = "https://files.pythonhosted.org/packages/91/4a/82e0fa632e5c8b1eba5ee86ecd929e8ff327bbdbfb3c6ac5d81631bef605/ruff-0.15.7-py3-none-macosx_10_12_x86_64.whl", hash = "sha256:722d165bd52403f3bdabc0ce9e41fc47070ac56d7a91b4e0d097b516a53a3477", size = 10955433, upload-time = "2026-03-19T16:27:00.205Z" }, + { url = "https://files.pythonhosted.org/packages/ab/10/12586735d0ff42526ad78c049bf51d7428618c8b5c467e72508c694119df/ruff-0.15.7-py3-none-macosx_11_0_arm64.whl", hash = "sha256:7fbc2448094262552146cbe1b9643a92f66559d3761f1ad0656d4991491af49e", size = 10269302, upload-time = "2026-03-19T16:26:26.183Z" }, + { url = "https://files.pythonhosted.org/packages/eb/5d/32b5c44ccf149a26623671df49cbfbd0a0ae511ff3df9d9d2426966a8d57/ruff-0.15.7-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:6b39329b60eba44156d138275323cc726bbfbddcec3063da57caa8a8b1d50adf", size = 10607625, upload-time = "2026-03-19T16:27:03.263Z" }, + { url = "https://files.pythonhosted.org/packages/5d/f1/f0001cabe86173aaacb6eb9bb734aa0605f9a6aa6fa7d43cb49cbc4af9c9/ruff-0.15.7-py3-none-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:87768c151808505f2bfc93ae44e5f9e7c8518943e5074f76ac21558ef5627c85", size = 10324743, upload-time = "2026-03-19T16:27:09.791Z" }, + { url = "https://files.pythonhosted.org/packages/7a/87/b8a8f3d56b8d848008559e7c9d8bf367934d5367f6d932ba779456e2f73b/ruff-0.15.7-py3-none-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:fb0511670002c6c529ec66c0e30641c976c8963de26a113f3a30456b702468b0", size = 11138536, upload-time = "2026-03-19T16:27:06.101Z" }, + { url = "https://files.pythonhosted.org/packages/e4/f2/4fd0d05aab0c5934b2e1464784f85ba2eab9d54bffc53fb5430d1ed8b829/ruff-0.15.7-py3-none-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:e0d19644f801849229db8345180a71bee5407b429dd217f853ec515e968a6912", size = 11994292, upload-time = "2026-03-19T16:26:48.718Z" }, + { url = "https://files.pythonhosted.org/packages/64/22/fc4483871e767e5e95d1622ad83dad5ebb830f762ed0420fde7dfa9d9b08/ruff-0.15.7-py3-none-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:4806d8e09ef5e84eb19ba833d0442f7e300b23fe3f0981cae159a248a10f0036", size = 11398981, upload-time = "2026-03-19T16:26:54.513Z" }, + { url = "https://files.pythonhosted.org/packages/b0/99/66f0343176d5eab02c3f7fcd2de7a8e0dd7a41f0d982bee56cd1c24db62b/ruff-0.15.7-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:dce0896488562f09a27b9c91b1f58a097457143931f3c4d519690dea54e624c5", size = 11242422, upload-time = "2026-03-19T16:26:29.277Z" }, + { url = "https://files.pythonhosted.org/packages/5d/3a/a7060f145bfdcce4c987ea27788b30c60e2c81d6e9a65157ca8afe646328/ruff-0.15.7-py3-none-manylinux_2_31_riscv64.whl", hash = "sha256:1852ce241d2bc89e5dc823e03cff4ce73d816b5c6cdadd27dbfe7b03217d2a12", size = 11232158, upload-time = "2026-03-19T16:26:42.321Z" }, + { url = "https://files.pythonhosted.org/packages/a7/53/90fbb9e08b29c048c403558d3cdd0adf2668b02ce9d50602452e187cd4af/ruff-0.15.7-py3-none-musllinux_1_2_aarch64.whl", hash = "sha256:5f3e4b221fb4bd293f79912fc5e93a9063ebd6d0dcbd528f91b89172a9b8436c", size = 10577861, upload-time = "2026-03-19T16:26:57.459Z" }, + { url = "https://files.pythonhosted.org/packages/2f/aa/5f486226538fe4d0f0439e2da1716e1acf895e2a232b26f2459c55f8ddad/ruff-0.15.7-py3-none-musllinux_1_2_armv7l.whl", hash = "sha256:b15e48602c9c1d9bdc504b472e90b90c97dc7d46c7028011ae67f3861ceba7b4", size = 10327310, upload-time = "2026-03-19T16:26:35.909Z" }, + { url = "https://files.pythonhosted.org/packages/99/9e/271afdffb81fe7bfc8c43ba079e9d96238f674380099457a74ccb3863857/ruff-0.15.7-py3-none-musllinux_1_2_i686.whl", hash = "sha256:1b4705e0e85cedc74b0a23cf6a179dbb3df184cb227761979cc76c0440b5ab0d", size = 10840752, upload-time = "2026-03-19T16:26:45.723Z" }, + { url = "https://files.pythonhosted.org/packages/bf/29/a4ae78394f76c7759953c47884eb44de271b03a66634148d9f7d11e721bd/ruff-0.15.7-py3-none-musllinux_1_2_x86_64.whl", hash = "sha256:112c1fa316a558bb34319282c1200a8bf0495f1b735aeb78bfcb2991e6087580", size = 11336961, upload-time = "2026-03-19T16:26:39.076Z" }, + { url = "https://files.pythonhosted.org/packages/26/6b/8786ba5736562220d588a2f6653e6c17e90c59ced34a2d7b512ef8956103/ruff-0.15.7-py3-none-win32.whl", hash = "sha256:6d39e2d3505b082323352f733599f28169d12e891f7dd407f2d4f54b4c2886de", size = 10582538, upload-time = "2026-03-19T16:26:15.992Z" }, + { url = "https://files.pythonhosted.org/packages/2b/e9/346d4d3fffc6871125e877dae8d9a1966b254fbd92a50f8561078b88b099/ruff-0.15.7-py3-none-win_amd64.whl", hash = "sha256:4d53d712ddebcd7dace1bc395367aec12c057aacfe9adbb6d832302575f4d3a1", size = 11755839, upload-time = "2026-03-19T16:26:19.897Z" }, + { url = "https://files.pythonhosted.org/packages/8f/e8/726643a3ea68c727da31570bde48c7a10f1aa60eddd628d94078fec586ff/ruff-0.15.7-py3-none-win_arm64.whl", hash = "sha256:18e8d73f1c3fdf27931497972250340f92e8c861722161a9caeb89a58ead6ed2", size = 11023304, upload-time = "2026-03-19T16:26:51.669Z" }, ] [[package]] @@ -1391,130 +1931,161 @@ resolution-markers = [ dependencies = [ { name = "numpy", marker = "python_full_version < '3.10'" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/ae/00/48c2f661e2816ccf2ecd77982f6605b2950afe60f60a52b4cbbc2504aa8f/scipy-1.13.1.tar.gz", hash = "sha256:095a87a0312b08dfd6a6155cbbd310a8c51800fc931b8c0b84003014b874ed3c", size = 57210720 } -wheels = [ - { url = "https://files.pythonhosted.org/packages/33/59/41b2529908c002ade869623b87eecff3e11e3ce62e996d0bdcb536984187/scipy-1.13.1-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:20335853b85e9a49ff7572ab453794298bcf0354d8068c5f6775a0eabf350aca", size = 39328076 }, - { url = "https://files.pythonhosted.org/packages/d5/33/f1307601f492f764062ce7dd471a14750f3360e33cd0f8c614dae208492c/scipy-1.13.1-cp310-cp310-macosx_12_0_arm64.whl", hash = "sha256:d605e9c23906d1994f55ace80e0125c587f96c020037ea6aa98d01b4bd2e222f", size = 30306232 }, - { url = "https://files.pythonhosted.org/packages/c0/66/9cd4f501dd5ea03e4a4572ecd874936d0da296bd04d1c45ae1a4a75d9c3a/scipy-1.13.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:cfa31f1def5c819b19ecc3a8b52d28ffdcc7ed52bb20c9a7589669dd3c250989", size = 33743202 }, - { url = "https://files.pythonhosted.org/packages/a3/ba/7255e5dc82a65adbe83771c72f384d99c43063648456796436c9a5585ec3/scipy-1.13.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f26264b282b9da0952a024ae34710c2aff7d27480ee91a2e82b7b7073c24722f", size = 38577335 }, - { url = "https://files.pythonhosted.org/packages/49/a5/bb9ded8326e9f0cdfdc412eeda1054b914dfea952bda2097d174f8832cc0/scipy-1.13.1-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:eccfa1906eacc02de42d70ef4aecea45415f5be17e72b61bafcfd329bdc52e94", size = 38820728 }, - { url = "https://files.pythonhosted.org/packages/12/30/df7a8fcc08f9b4a83f5f27cfaaa7d43f9a2d2ad0b6562cced433e5b04e31/scipy-1.13.1-cp310-cp310-win_amd64.whl", hash = "sha256:2831f0dc9c5ea9edd6e51e6e769b655f08ec6db6e2e10f86ef39bd32eb11da54", size = 46210588 }, - { url = "https://files.pythonhosted.org/packages/b4/15/4a4bb1b15bbd2cd2786c4f46e76b871b28799b67891f23f455323a0cdcfb/scipy-1.13.1-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:27e52b09c0d3a1d5b63e1105f24177e544a222b43611aaf5bc44d4a0979e32f9", size = 39333805 }, - { url = "https://files.pythonhosted.org/packages/ba/92/42476de1af309c27710004f5cdebc27bec62c204db42e05b23a302cb0c9a/scipy-1.13.1-cp311-cp311-macosx_12_0_arm64.whl", hash = "sha256:54f430b00f0133e2224c3ba42b805bfd0086fe488835effa33fa291561932326", size = 30317687 }, - { url = "https://files.pythonhosted.org/packages/80/ba/8be64fe225360a4beb6840f3cbee494c107c0887f33350d0a47d55400b01/scipy-1.13.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e89369d27f9e7b0884ae559a3a956e77c02114cc60a6058b4e5011572eea9299", size = 33694638 }, - { url = "https://files.pythonhosted.org/packages/36/07/035d22ff9795129c5a847c64cb43c1fa9188826b59344fee28a3ab02e283/scipy-1.13.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a78b4b3345f1b6f68a763c6e25c0c9a23a9fd0f39f5f3d200efe8feda560a5fa", size = 38569931 }, - { url = "https://files.pythonhosted.org/packages/d9/10/f9b43de37e5ed91facc0cfff31d45ed0104f359e4f9a68416cbf4e790241/scipy-1.13.1-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:45484bee6d65633752c490404513b9ef02475b4284c4cfab0ef946def50b3f59", size = 38838145 }, - { url = "https://files.pythonhosted.org/packages/4a/48/4513a1a5623a23e95f94abd675ed91cfb19989c58e9f6f7d03990f6caf3d/scipy-1.13.1-cp311-cp311-win_amd64.whl", hash = "sha256:5713f62f781eebd8d597eb3f88b8bf9274e79eeabf63afb4a737abc6c84ad37b", size = 46196227 }, - { url = "https://files.pythonhosted.org/packages/f2/7b/fb6b46fbee30fc7051913068758414f2721003a89dd9a707ad49174e3843/scipy-1.13.1-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:5d72782f39716b2b3509cd7c33cdc08c96f2f4d2b06d51e52fb45a19ca0c86a1", size = 39357301 }, - { url = "https://files.pythonhosted.org/packages/dc/5a/2043a3bde1443d94014aaa41e0b50c39d046dda8360abd3b2a1d3f79907d/scipy-1.13.1-cp312-cp312-macosx_12_0_arm64.whl", hash = "sha256:017367484ce5498445aade74b1d5ab377acdc65e27095155e448c88497755a5d", size = 30363348 }, - { url = "https://files.pythonhosted.org/packages/e7/cb/26e4a47364bbfdb3b7fb3363be6d8a1c543bcd70a7753ab397350f5f189a/scipy-1.13.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:949ae67db5fa78a86e8fa644b9a6b07252f449dcf74247108c50e1d20d2b4627", size = 33406062 }, - { url = "https://files.pythonhosted.org/packages/88/ab/6ecdc526d509d33814835447bbbeedbebdec7cca46ef495a61b00a35b4bf/scipy-1.13.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:de3ade0e53bc1f21358aa74ff4830235d716211d7d077e340c7349bc3542e884", size = 38218311 }, - { url = "https://files.pythonhosted.org/packages/0b/00/9f54554f0f8318100a71515122d8f4f503b1a2c4b4cfab3b4b68c0eb08fa/scipy-1.13.1-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:2ac65fb503dad64218c228e2dc2d0a0193f7904747db43014645ae139c8fad16", size = 38442493 }, - { url = "https://files.pythonhosted.org/packages/3e/df/963384e90733e08eac978cd103c34df181d1fec424de383cdc443f418dd4/scipy-1.13.1-cp312-cp312-win_amd64.whl", hash = "sha256:cdd7dacfb95fea358916410ec61bbc20440f7860333aee6d882bb8046264e949", size = 45910955 }, - { url = "https://files.pythonhosted.org/packages/7f/29/c2ea58c9731b9ecb30b6738113a95d147e83922986b34c685b8f6eefde21/scipy-1.13.1-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:436bbb42a94a8aeef855d755ce5a465479c721e9d684de76bf61a62e7c2b81d5", size = 39352927 }, - { url = "https://files.pythonhosted.org/packages/5c/c0/e71b94b20ccf9effb38d7147c0064c08c622309fd487b1b677771a97d18c/scipy-1.13.1-cp39-cp39-macosx_12_0_arm64.whl", hash = "sha256:8335549ebbca860c52bf3d02f80784e91a004b71b059e3eea9678ba994796a24", size = 30324538 }, - { url = "https://files.pythonhosted.org/packages/6d/0f/aaa55b06d474817cea311e7b10aab2ea1fd5d43bc6a2861ccc9caec9f418/scipy-1.13.1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d533654b7d221a6a97304ab63c41c96473ff04459e404b83275b60aa8f4b7004", size = 33732190 }, - { url = "https://files.pythonhosted.org/packages/35/f5/d0ad1a96f80962ba65e2ce1de6a1e59edecd1f0a7b55990ed208848012e0/scipy-1.13.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:637e98dcf185ba7f8e663e122ebf908c4702420477ae52a04f9908707456ba4d", size = 38612244 }, - { url = "https://files.pythonhosted.org/packages/8d/02/1165905f14962174e6569076bcc3315809ae1291ed14de6448cc151eedfd/scipy-1.13.1-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:a014c2b3697bde71724244f63de2476925596c24285c7a637364761f8710891c", size = 38845637 }, - { url = "https://files.pythonhosted.org/packages/3e/77/dab54fe647a08ee4253963bcd8f9cf17509c8ca64d6335141422fe2e2114/scipy-1.13.1-cp39-cp39-win_amd64.whl", hash = "sha256:392e4ec766654852c25ebad4f64e4e584cf19820b980bc04960bca0b0cd6eaa2", size = 46227440 }, +sdist = { url = "https://files.pythonhosted.org/packages/ae/00/48c2f661e2816ccf2ecd77982f6605b2950afe60f60a52b4cbbc2504aa8f/scipy-1.13.1.tar.gz", hash = "sha256:095a87a0312b08dfd6a6155cbbd310a8c51800fc931b8c0b84003014b874ed3c", size = 57210720, upload-time = "2024-05-23T03:29:26.079Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/33/59/41b2529908c002ade869623b87eecff3e11e3ce62e996d0bdcb536984187/scipy-1.13.1-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:20335853b85e9a49ff7572ab453794298bcf0354d8068c5f6775a0eabf350aca", size = 39328076, upload-time = "2024-05-23T03:19:01.687Z" }, + { url = "https://files.pythonhosted.org/packages/d5/33/f1307601f492f764062ce7dd471a14750f3360e33cd0f8c614dae208492c/scipy-1.13.1-cp310-cp310-macosx_12_0_arm64.whl", hash = "sha256:d605e9c23906d1994f55ace80e0125c587f96c020037ea6aa98d01b4bd2e222f", size = 30306232, upload-time = "2024-05-23T03:19:09.089Z" }, + { url = "https://files.pythonhosted.org/packages/c0/66/9cd4f501dd5ea03e4a4572ecd874936d0da296bd04d1c45ae1a4a75d9c3a/scipy-1.13.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:cfa31f1def5c819b19ecc3a8b52d28ffdcc7ed52bb20c9a7589669dd3c250989", size = 33743202, upload-time = "2024-05-23T03:19:15.138Z" }, + { url = "https://files.pythonhosted.org/packages/a3/ba/7255e5dc82a65adbe83771c72f384d99c43063648456796436c9a5585ec3/scipy-1.13.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f26264b282b9da0952a024ae34710c2aff7d27480ee91a2e82b7b7073c24722f", size = 38577335, upload-time = "2024-05-23T03:19:21.984Z" }, + { url = "https://files.pythonhosted.org/packages/49/a5/bb9ded8326e9f0cdfdc412eeda1054b914dfea952bda2097d174f8832cc0/scipy-1.13.1-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:eccfa1906eacc02de42d70ef4aecea45415f5be17e72b61bafcfd329bdc52e94", size = 38820728, upload-time = "2024-05-23T03:19:28.225Z" }, + { url = "https://files.pythonhosted.org/packages/12/30/df7a8fcc08f9b4a83f5f27cfaaa7d43f9a2d2ad0b6562cced433e5b04e31/scipy-1.13.1-cp310-cp310-win_amd64.whl", hash = "sha256:2831f0dc9c5ea9edd6e51e6e769b655f08ec6db6e2e10f86ef39bd32eb11da54", size = 46210588, upload-time = "2024-05-23T03:19:35.661Z" }, + { url = "https://files.pythonhosted.org/packages/b4/15/4a4bb1b15bbd2cd2786c4f46e76b871b28799b67891f23f455323a0cdcfb/scipy-1.13.1-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:27e52b09c0d3a1d5b63e1105f24177e544a222b43611aaf5bc44d4a0979e32f9", size = 39333805, upload-time = "2024-05-23T03:19:43.081Z" }, + { url = "https://files.pythonhosted.org/packages/ba/92/42476de1af309c27710004f5cdebc27bec62c204db42e05b23a302cb0c9a/scipy-1.13.1-cp311-cp311-macosx_12_0_arm64.whl", hash = "sha256:54f430b00f0133e2224c3ba42b805bfd0086fe488835effa33fa291561932326", size = 30317687, upload-time = "2024-05-23T03:19:48.799Z" }, + { url = "https://files.pythonhosted.org/packages/80/ba/8be64fe225360a4beb6840f3cbee494c107c0887f33350d0a47d55400b01/scipy-1.13.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e89369d27f9e7b0884ae559a3a956e77c02114cc60a6058b4e5011572eea9299", size = 33694638, upload-time = "2024-05-23T03:19:55.104Z" }, + { url = "https://files.pythonhosted.org/packages/36/07/035d22ff9795129c5a847c64cb43c1fa9188826b59344fee28a3ab02e283/scipy-1.13.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a78b4b3345f1b6f68a763c6e25c0c9a23a9fd0f39f5f3d200efe8feda560a5fa", size = 38569931, upload-time = "2024-05-23T03:20:01.82Z" }, + { url = "https://files.pythonhosted.org/packages/d9/10/f9b43de37e5ed91facc0cfff31d45ed0104f359e4f9a68416cbf4e790241/scipy-1.13.1-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:45484bee6d65633752c490404513b9ef02475b4284c4cfab0ef946def50b3f59", size = 38838145, upload-time = "2024-05-23T03:20:09.173Z" }, + { url = "https://files.pythonhosted.org/packages/4a/48/4513a1a5623a23e95f94abd675ed91cfb19989c58e9f6f7d03990f6caf3d/scipy-1.13.1-cp311-cp311-win_amd64.whl", hash = "sha256:5713f62f781eebd8d597eb3f88b8bf9274e79eeabf63afb4a737abc6c84ad37b", size = 46196227, upload-time = "2024-05-23T03:20:16.433Z" }, + { url = "https://files.pythonhosted.org/packages/f2/7b/fb6b46fbee30fc7051913068758414f2721003a89dd9a707ad49174e3843/scipy-1.13.1-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:5d72782f39716b2b3509cd7c33cdc08c96f2f4d2b06d51e52fb45a19ca0c86a1", size = 39357301, upload-time = "2024-05-23T03:20:23.538Z" }, + { url = "https://files.pythonhosted.org/packages/dc/5a/2043a3bde1443d94014aaa41e0b50c39d046dda8360abd3b2a1d3f79907d/scipy-1.13.1-cp312-cp312-macosx_12_0_arm64.whl", hash = "sha256:017367484ce5498445aade74b1d5ab377acdc65e27095155e448c88497755a5d", size = 30363348, upload-time = "2024-05-23T03:20:29.885Z" }, + { url = "https://files.pythonhosted.org/packages/e7/cb/26e4a47364bbfdb3b7fb3363be6d8a1c543bcd70a7753ab397350f5f189a/scipy-1.13.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:949ae67db5fa78a86e8fa644b9a6b07252f449dcf74247108c50e1d20d2b4627", size = 33406062, upload-time = "2024-05-23T03:20:36.012Z" }, + { url = "https://files.pythonhosted.org/packages/88/ab/6ecdc526d509d33814835447bbbeedbebdec7cca46ef495a61b00a35b4bf/scipy-1.13.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:de3ade0e53bc1f21358aa74ff4830235d716211d7d077e340c7349bc3542e884", size = 38218311, upload-time = "2024-05-23T03:20:42.086Z" }, + { url = "https://files.pythonhosted.org/packages/0b/00/9f54554f0f8318100a71515122d8f4f503b1a2c4b4cfab3b4b68c0eb08fa/scipy-1.13.1-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:2ac65fb503dad64218c228e2dc2d0a0193f7904747db43014645ae139c8fad16", size = 38442493, upload-time = "2024-05-23T03:20:48.292Z" }, + { url = "https://files.pythonhosted.org/packages/3e/df/963384e90733e08eac978cd103c34df181d1fec424de383cdc443f418dd4/scipy-1.13.1-cp312-cp312-win_amd64.whl", hash = "sha256:cdd7dacfb95fea358916410ec61bbc20440f7860333aee6d882bb8046264e949", size = 45910955, upload-time = "2024-05-23T03:20:55.091Z" }, + { url = "https://files.pythonhosted.org/packages/7f/29/c2ea58c9731b9ecb30b6738113a95d147e83922986b34c685b8f6eefde21/scipy-1.13.1-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:436bbb42a94a8aeef855d755ce5a465479c721e9d684de76bf61a62e7c2b81d5", size = 39352927, upload-time = "2024-05-23T03:21:01.95Z" }, + { url = "https://files.pythonhosted.org/packages/5c/c0/e71b94b20ccf9effb38d7147c0064c08c622309fd487b1b677771a97d18c/scipy-1.13.1-cp39-cp39-macosx_12_0_arm64.whl", hash = "sha256:8335549ebbca860c52bf3d02f80784e91a004b71b059e3eea9678ba994796a24", size = 30324538, upload-time = "2024-05-23T03:21:07.634Z" }, + { url = "https://files.pythonhosted.org/packages/6d/0f/aaa55b06d474817cea311e7b10aab2ea1fd5d43bc6a2861ccc9caec9f418/scipy-1.13.1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d533654b7d221a6a97304ab63c41c96473ff04459e404b83275b60aa8f4b7004", size = 33732190, upload-time = "2024-05-23T03:21:14.41Z" }, + { url = "https://files.pythonhosted.org/packages/35/f5/d0ad1a96f80962ba65e2ce1de6a1e59edecd1f0a7b55990ed208848012e0/scipy-1.13.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:637e98dcf185ba7f8e663e122ebf908c4702420477ae52a04f9908707456ba4d", size = 38612244, upload-time = "2024-05-23T03:21:21.827Z" }, + { url = "https://files.pythonhosted.org/packages/8d/02/1165905f14962174e6569076bcc3315809ae1291ed14de6448cc151eedfd/scipy-1.13.1-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:a014c2b3697bde71724244f63de2476925596c24285c7a637364761f8710891c", size = 38845637, upload-time = "2024-05-23T03:21:28.729Z" }, + { url = "https://files.pythonhosted.org/packages/3e/77/dab54fe647a08ee4253963bcd8f9cf17509c8ca64d6335141422fe2e2114/scipy-1.13.1-cp39-cp39-win_amd64.whl", hash = "sha256:392e4ec766654852c25ebad4f64e4e584cf19820b980bc04960bca0b0cd6eaa2", size = 46227440, upload-time = "2024-05-23T03:21:35.888Z" }, ] [[package]] name = "scipy" -version = "1.15.2" +version = "1.15.3" source = { registry = "https://pypi.org/simple" } resolution-markers = [ - "python_full_version >= '3.12'", - "python_full_version == '3.11.*'", "python_full_version == '3.10.*'", ] dependencies = [ - { name = "numpy", marker = "python_full_version >= '3.10'" }, + { name = "numpy", marker = "python_full_version == '3.10.*'" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/b7/b9/31ba9cd990e626574baf93fbc1ac61cf9ed54faafd04c479117517661637/scipy-1.15.2.tar.gz", hash = "sha256:cd58a314d92838f7e6f755c8a2167ead4f27e1fd5c1251fd54289569ef3495ec", size = 59417316 } -wheels = [ - { url = "https://files.pythonhosted.org/packages/95/df/ef233fff6838fe6f7840d69b5ef9f20d2b5c912a8727b21ebf876cb15d54/scipy-1.15.2-cp310-cp310-macosx_10_13_x86_64.whl", hash = "sha256:a2ec871edaa863e8213ea5df811cd600734f6400b4af272e1c011e69401218e9", size = 38692502 }, - { url = "https://files.pythonhosted.org/packages/5c/20/acdd4efb8a68b842968f7bc5611b1aeb819794508771ad104de418701422/scipy-1.15.2-cp310-cp310-macosx_12_0_arm64.whl", hash = "sha256:6f223753c6ea76983af380787611ae1291e3ceb23917393079dcc746ba60cfb5", size = 30085508 }, - { url = "https://files.pythonhosted.org/packages/42/55/39cf96ca7126f1e78ee72a6344ebdc6702fc47d037319ad93221063e6cf4/scipy-1.15.2-cp310-cp310-macosx_14_0_arm64.whl", hash = "sha256:ecf797d2d798cf7c838c6d98321061eb3e72a74710e6c40540f0e8087e3b499e", size = 22359166 }, - { url = "https://files.pythonhosted.org/packages/51/48/708d26a4ab8a1441536bf2dfcad1df0ca14a69f010fba3ccbdfc02df7185/scipy-1.15.2-cp310-cp310-macosx_14_0_x86_64.whl", hash = "sha256:9b18aa747da280664642997e65aab1dd19d0c3d17068a04b3fe34e2559196cb9", size = 25112047 }, - { url = "https://files.pythonhosted.org/packages/dd/65/f9c5755b995ad892020381b8ae11f16d18616208e388621dfacc11df6de6/scipy-1.15.2-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:87994da02e73549dfecaed9e09a4f9d58a045a053865679aeb8d6d43747d4df3", size = 35536214 }, - { url = "https://files.pythonhosted.org/packages/de/3c/c96d904b9892beec978562f64d8cc43f9cca0842e65bd3cd1b7f7389b0ba/scipy-1.15.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:69ea6e56d00977f355c0f84eba69877b6df084516c602d93a33812aa04d90a3d", size = 37646981 }, - { url = "https://files.pythonhosted.org/packages/3d/74/c2d8a24d18acdeae69ed02e132b9bc1bb67b7bee90feee1afe05a68f9d67/scipy-1.15.2-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:888307125ea0c4466287191e5606a2c910963405ce9671448ff9c81c53f85f58", size = 37230048 }, - { url = "https://files.pythonhosted.org/packages/42/19/0aa4ce80eca82d487987eff0bc754f014dec10d20de2f66754fa4ea70204/scipy-1.15.2-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:9412f5e408b397ff5641080ed1e798623dbe1ec0d78e72c9eca8992976fa65aa", size = 40010322 }, - { url = "https://files.pythonhosted.org/packages/d0/d2/f0683b7e992be44d1475cc144d1f1eeae63c73a14f862974b4db64af635e/scipy-1.15.2-cp310-cp310-win_amd64.whl", hash = "sha256:b5e025e903b4f166ea03b109bb241355b9c42c279ea694d8864d033727205e65", size = 41233385 }, - { url = "https://files.pythonhosted.org/packages/40/1f/bf0a5f338bda7c35c08b4ed0df797e7bafe8a78a97275e9f439aceb46193/scipy-1.15.2-cp311-cp311-macosx_10_13_x86_64.whl", hash = "sha256:92233b2df6938147be6fa8824b8136f29a18f016ecde986666be5f4d686a91a4", size = 38703651 }, - { url = "https://files.pythonhosted.org/packages/de/54/db126aad3874601048c2c20ae3d8a433dbfd7ba8381551e6f62606d9bd8e/scipy-1.15.2-cp311-cp311-macosx_12_0_arm64.whl", hash = "sha256:62ca1ff3eb513e09ed17a5736929429189adf16d2d740f44e53270cc800ecff1", size = 30102038 }, - { url = "https://files.pythonhosted.org/packages/61/d8/84da3fffefb6c7d5a16968fe5b9f24c98606b165bb801bb0b8bc3985200f/scipy-1.15.2-cp311-cp311-macosx_14_0_arm64.whl", hash = "sha256:4c6676490ad76d1c2894d77f976144b41bd1a4052107902238047fb6a473e971", size = 22375518 }, - { url = "https://files.pythonhosted.org/packages/44/78/25535a6e63d3b9c4c90147371aedb5d04c72f3aee3a34451f2dc27c0c07f/scipy-1.15.2-cp311-cp311-macosx_14_0_x86_64.whl", hash = "sha256:a8bf5cb4a25046ac61d38f8d3c3426ec11ebc350246a4642f2f315fe95bda655", size = 25142523 }, - { url = "https://files.pythonhosted.org/packages/e0/22/4b4a26fe1cd9ed0bc2b2cb87b17d57e32ab72c346949eaf9288001f8aa8e/scipy-1.15.2-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:6a8e34cf4c188b6dd004654f88586d78f95639e48a25dfae9c5e34a6dc34547e", size = 35491547 }, - { url = "https://files.pythonhosted.org/packages/32/ea/564bacc26b676c06a00266a3f25fdfe91a9d9a2532ccea7ce6dd394541bc/scipy-1.15.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:28a0d2c2075946346e4408b211240764759e0fabaeb08d871639b5f3b1aca8a0", size = 37634077 }, - { url = "https://files.pythonhosted.org/packages/43/c2/bfd4e60668897a303b0ffb7191e965a5da4056f0d98acfb6ba529678f0fb/scipy-1.15.2-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:42dabaaa798e987c425ed76062794e93a243be8f0f20fff6e7a89f4d61cb3d40", size = 37231657 }, - { url = "https://files.pythonhosted.org/packages/4a/75/5f13050bf4f84c931bcab4f4e83c212a36876c3c2244475db34e4b5fe1a6/scipy-1.15.2-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:6f5e296ec63c5da6ba6fa0343ea73fd51b8b3e1a300b0a8cae3ed4b1122c7462", size = 40035857 }, - { url = "https://files.pythonhosted.org/packages/b9/8b/7ec1832b09dbc88f3db411f8cdd47db04505c4b72c99b11c920a8f0479c3/scipy-1.15.2-cp311-cp311-win_amd64.whl", hash = "sha256:597a0c7008b21c035831c39927406c6181bcf8f60a73f36219b69d010aa04737", size = 41217654 }, - { url = "https://files.pythonhosted.org/packages/4b/5d/3c78815cbab499610f26b5bae6aed33e227225a9fa5290008a733a64f6fc/scipy-1.15.2-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:c4697a10da8f8765bb7c83e24a470da5797e37041edfd77fd95ba3811a47c4fd", size = 38756184 }, - { url = "https://files.pythonhosted.org/packages/37/20/3d04eb066b471b6e171827548b9ddb3c21c6bbea72a4d84fc5989933910b/scipy-1.15.2-cp312-cp312-macosx_12_0_arm64.whl", hash = "sha256:869269b767d5ee7ea6991ed7e22b3ca1f22de73ab9a49c44bad338b725603301", size = 30163558 }, - { url = "https://files.pythonhosted.org/packages/a4/98/e5c964526c929ef1f795d4c343b2ff98634ad2051bd2bbadfef9e772e413/scipy-1.15.2-cp312-cp312-macosx_14_0_arm64.whl", hash = "sha256:bad78d580270a4d32470563ea86c6590b465cb98f83d760ff5b0990cb5518a93", size = 22437211 }, - { url = "https://files.pythonhosted.org/packages/1d/cd/1dc7371e29195ecbf5222f9afeedb210e0a75057d8afbd942aa6cf8c8eca/scipy-1.15.2-cp312-cp312-macosx_14_0_x86_64.whl", hash = "sha256:b09ae80010f52efddb15551025f9016c910296cf70adbf03ce2a8704f3a5ad20", size = 25232260 }, - { url = "https://files.pythonhosted.org/packages/f0/24/1a181a9e5050090e0b5138c5f496fee33293c342b788d02586bc410c6477/scipy-1.15.2-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:5a6fd6eac1ce74a9f77a7fc724080d507c5812d61e72bd5e4c489b042455865e", size = 35198095 }, - { url = "https://files.pythonhosted.org/packages/c0/53/eaada1a414c026673eb983f8b4a55fe5eb172725d33d62c1b21f63ff6ca4/scipy-1.15.2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:2b871df1fe1a3ba85d90e22742b93584f8d2b8e6124f8372ab15c71b73e428b8", size = 37297371 }, - { url = "https://files.pythonhosted.org/packages/e9/06/0449b744892ed22b7e7b9a1994a866e64895363572677a316a9042af1fe5/scipy-1.15.2-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:03205d57a28e18dfd39f0377d5002725bf1f19a46f444108c29bdb246b6c8a11", size = 36872390 }, - { url = "https://files.pythonhosted.org/packages/6a/6f/a8ac3cfd9505ec695c1bc35edc034d13afbd2fc1882a7c6b473e280397bb/scipy-1.15.2-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:601881dfb761311045b03114c5fe718a12634e5608c3b403737ae463c9885d53", size = 39700276 }, - { url = "https://files.pythonhosted.org/packages/f5/6f/e6e5aff77ea2a48dd96808bb51d7450875af154ee7cbe72188afb0b37929/scipy-1.15.2-cp312-cp312-win_amd64.whl", hash = "sha256:e7c68b6a43259ba0aab737237876e5c2c549a031ddb7abc28c7b47f22e202ded", size = 40942317 }, +sdist = { url = "https://files.pythonhosted.org/packages/0f/37/6964b830433e654ec7485e45a00fc9a27cf868d622838f6b6d9c5ec0d532/scipy-1.15.3.tar.gz", hash = "sha256:eae3cf522bc7df64b42cad3925c876e1b0b6c35c1337c93e12c0f366f55b0eaf", size = 59419214, upload-time = "2025-05-08T16:13:05.955Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/78/2f/4966032c5f8cc7e6a60f1b2e0ad686293b9474b65246b0c642e3ef3badd0/scipy-1.15.3-cp310-cp310-macosx_10_13_x86_64.whl", hash = "sha256:a345928c86d535060c9c2b25e71e87c39ab2f22fc96e9636bd74d1dbf9de448c", size = 38702770, upload-time = "2025-05-08T16:04:20.849Z" }, + { url = "https://files.pythonhosted.org/packages/a0/6e/0c3bf90fae0e910c274db43304ebe25a6b391327f3f10b5dcc638c090795/scipy-1.15.3-cp310-cp310-macosx_12_0_arm64.whl", hash = "sha256:ad3432cb0f9ed87477a8d97f03b763fd1d57709f1bbde3c9369b1dff5503b253", size = 30094511, upload-time = "2025-05-08T16:04:27.103Z" }, + { url = "https://files.pythonhosted.org/packages/ea/b1/4deb37252311c1acff7f101f6453f0440794f51b6eacb1aad4459a134081/scipy-1.15.3-cp310-cp310-macosx_14_0_arm64.whl", hash = "sha256:aef683a9ae6eb00728a542b796f52a5477b78252edede72b8327a886ab63293f", size = 22368151, upload-time = "2025-05-08T16:04:31.731Z" }, + { url = "https://files.pythonhosted.org/packages/38/7d/f457626e3cd3c29b3a49ca115a304cebb8cc6f31b04678f03b216899d3c6/scipy-1.15.3-cp310-cp310-macosx_14_0_x86_64.whl", hash = "sha256:1c832e1bd78dea67d5c16f786681b28dd695a8cb1fb90af2e27580d3d0967e92", size = 25121732, upload-time = "2025-05-08T16:04:36.596Z" }, + { url = "https://files.pythonhosted.org/packages/db/0a/92b1de4a7adc7a15dcf5bddc6e191f6f29ee663b30511ce20467ef9b82e4/scipy-1.15.3-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:263961f658ce2165bbd7b99fa5135195c3a12d9bef045345016b8b50c315cb82", size = 35547617, upload-time = "2025-05-08T16:04:43.546Z" }, + { url = "https://files.pythonhosted.org/packages/8e/6d/41991e503e51fc1134502694c5fa7a1671501a17ffa12716a4a9151af3df/scipy-1.15.3-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9e2abc762b0811e09a0d3258abee2d98e0c703eee49464ce0069590846f31d40", size = 37662964, upload-time = "2025-05-08T16:04:49.431Z" }, + { url = "https://files.pythonhosted.org/packages/25/e1/3df8f83cb15f3500478c889be8fb18700813b95e9e087328230b98d547ff/scipy-1.15.3-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:ed7284b21a7a0c8f1b6e5977ac05396c0d008b89e05498c8b7e8f4a1423bba0e", size = 37238749, upload-time = "2025-05-08T16:04:55.215Z" }, + { url = "https://files.pythonhosted.org/packages/93/3e/b3257cf446f2a3533ed7809757039016b74cd6f38271de91682aa844cfc5/scipy-1.15.3-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:5380741e53df2c566f4d234b100a484b420af85deb39ea35a1cc1be84ff53a5c", size = 40022383, upload-time = "2025-05-08T16:05:01.914Z" }, + { url = "https://files.pythonhosted.org/packages/d1/84/55bc4881973d3f79b479a5a2e2df61c8c9a04fcb986a213ac9c02cfb659b/scipy-1.15.3-cp310-cp310-win_amd64.whl", hash = "sha256:9d61e97b186a57350f6d6fd72640f9e99d5a4a2b8fbf4b9ee9a841eab327dc13", size = 41259201, upload-time = "2025-05-08T16:05:08.166Z" }, + { url = "https://files.pythonhosted.org/packages/96/ab/5cc9f80f28f6a7dff646c5756e559823614a42b1939d86dd0ed550470210/scipy-1.15.3-cp311-cp311-macosx_10_13_x86_64.whl", hash = "sha256:993439ce220d25e3696d1b23b233dd010169b62f6456488567e830654ee37a6b", size = 38714255, upload-time = "2025-05-08T16:05:14.596Z" }, + { url = "https://files.pythonhosted.org/packages/4a/4a/66ba30abe5ad1a3ad15bfb0b59d22174012e8056ff448cb1644deccbfed2/scipy-1.15.3-cp311-cp311-macosx_12_0_arm64.whl", hash = "sha256:34716e281f181a02341ddeaad584205bd2fd3c242063bd3423d61ac259ca7eba", size = 30111035, upload-time = "2025-05-08T16:05:20.152Z" }, + { url = "https://files.pythonhosted.org/packages/4b/fa/a7e5b95afd80d24313307f03624acc65801846fa75599034f8ceb9e2cbf6/scipy-1.15.3-cp311-cp311-macosx_14_0_arm64.whl", hash = "sha256:3b0334816afb8b91dab859281b1b9786934392aa3d527cd847e41bb6f45bee65", size = 22384499, upload-time = "2025-05-08T16:05:24.494Z" }, + { url = "https://files.pythonhosted.org/packages/17/99/f3aaddccf3588bb4aea70ba35328c204cadd89517a1612ecfda5b2dd9d7a/scipy-1.15.3-cp311-cp311-macosx_14_0_x86_64.whl", hash = "sha256:6db907c7368e3092e24919b5e31c76998b0ce1684d51a90943cb0ed1b4ffd6c1", size = 25152602, upload-time = "2025-05-08T16:05:29.313Z" }, + { url = "https://files.pythonhosted.org/packages/56/c5/1032cdb565f146109212153339f9cb8b993701e9fe56b1c97699eee12586/scipy-1.15.3-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:721d6b4ef5dc82ca8968c25b111e307083d7ca9091bc38163fb89243e85e3889", size = 35503415, upload-time = "2025-05-08T16:05:34.699Z" }, + { url = "https://files.pythonhosted.org/packages/bd/37/89f19c8c05505d0601ed5650156e50eb881ae3918786c8fd7262b4ee66d3/scipy-1.15.3-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:39cb9c62e471b1bb3750066ecc3a3f3052b37751c7c3dfd0fd7e48900ed52982", size = 37652622, upload-time = "2025-05-08T16:05:40.762Z" }, + { url = "https://files.pythonhosted.org/packages/7e/31/be59513aa9695519b18e1851bb9e487de66f2d31f835201f1b42f5d4d475/scipy-1.15.3-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:795c46999bae845966368a3c013e0e00947932d68e235702b5c3f6ea799aa8c9", size = 37244796, upload-time = "2025-05-08T16:05:48.119Z" }, + { url = "https://files.pythonhosted.org/packages/10/c0/4f5f3eeccc235632aab79b27a74a9130c6c35df358129f7ac8b29f562ac7/scipy-1.15.3-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:18aaacb735ab38b38db42cb01f6b92a2d0d4b6aabefeb07f02849e47f8fb3594", size = 40047684, upload-time = "2025-05-08T16:05:54.22Z" }, + { url = "https://files.pythonhosted.org/packages/ab/a7/0ddaf514ce8a8714f6ed243a2b391b41dbb65251affe21ee3077ec45ea9a/scipy-1.15.3-cp311-cp311-win_amd64.whl", hash = "sha256:ae48a786a28412d744c62fd7816a4118ef97e5be0bee968ce8f0a2fba7acf3bb", size = 41246504, upload-time = "2025-05-08T16:06:00.437Z" }, + { url = "https://files.pythonhosted.org/packages/37/4b/683aa044c4162e10ed7a7ea30527f2cbd92e6999c10a8ed8edb253836e9c/scipy-1.15.3-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:6ac6310fdbfb7aa6612408bd2f07295bcbd3fda00d2d702178434751fe48e019", size = 38766735, upload-time = "2025-05-08T16:06:06.471Z" }, + { url = "https://files.pythonhosted.org/packages/7b/7e/f30be3d03de07f25dc0ec926d1681fed5c732d759ac8f51079708c79e680/scipy-1.15.3-cp312-cp312-macosx_12_0_arm64.whl", hash = "sha256:185cd3d6d05ca4b44a8f1595af87f9c372bb6acf9c808e99aa3e9aa03bd98cf6", size = 30173284, upload-time = "2025-05-08T16:06:11.686Z" }, + { url = "https://files.pythonhosted.org/packages/07/9c/0ddb0d0abdabe0d181c1793db51f02cd59e4901da6f9f7848e1f96759f0d/scipy-1.15.3-cp312-cp312-macosx_14_0_arm64.whl", hash = "sha256:05dc6abcd105e1a29f95eada46d4a3f251743cfd7d3ae8ddb4088047f24ea477", size = 22446958, upload-time = "2025-05-08T16:06:15.97Z" }, + { url = "https://files.pythonhosted.org/packages/af/43/0bce905a965f36c58ff80d8bea33f1f9351b05fad4beaad4eae34699b7a1/scipy-1.15.3-cp312-cp312-macosx_14_0_x86_64.whl", hash = "sha256:06efcba926324df1696931a57a176c80848ccd67ce6ad020c810736bfd58eb1c", size = 25242454, upload-time = "2025-05-08T16:06:20.394Z" }, + { url = "https://files.pythonhosted.org/packages/56/30/a6f08f84ee5b7b28b4c597aca4cbe545535c39fe911845a96414700b64ba/scipy-1.15.3-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:c05045d8b9bfd807ee1b9f38761993297b10b245f012b11b13b91ba8945f7e45", size = 35210199, upload-time = "2025-05-08T16:06:26.159Z" }, + { url = "https://files.pythonhosted.org/packages/0b/1f/03f52c282437a168ee2c7c14a1a0d0781a9a4a8962d84ac05c06b4c5b555/scipy-1.15.3-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:271e3713e645149ea5ea3e97b57fdab61ce61333f97cfae392c28ba786f9bb49", size = 37309455, upload-time = "2025-05-08T16:06:32.778Z" }, + { url = "https://files.pythonhosted.org/packages/89/b1/fbb53137f42c4bf630b1ffdfc2151a62d1d1b903b249f030d2b1c0280af8/scipy-1.15.3-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:6cfd56fc1a8e53f6e89ba3a7a7251f7396412d655bca2aa5611c8ec9a6784a1e", size = 36885140, upload-time = "2025-05-08T16:06:39.249Z" }, + { url = "https://files.pythonhosted.org/packages/2e/2e/025e39e339f5090df1ff266d021892694dbb7e63568edcfe43f892fa381d/scipy-1.15.3-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:0ff17c0bb1cb32952c09217d8d1eed9b53d1463e5f1dd6052c7857f83127d539", size = 39710549, upload-time = "2025-05-08T16:06:45.729Z" }, + { url = "https://files.pythonhosted.org/packages/e6/eb/3bf6ea8ab7f1503dca3a10df2e4b9c3f6b3316df07f6c0ded94b281c7101/scipy-1.15.3-cp312-cp312-win_amd64.whl", hash = "sha256:52092bc0472cfd17df49ff17e70624345efece4e1a12b23783a1ac59a1b728ed", size = 40966184, upload-time = "2025-05-08T16:06:52.623Z" }, +] + +[[package]] +name = "scipy" +version = "1.17.1" +source = { registry = "https://pypi.org/simple" } +resolution-markers = [ + "python_full_version >= '3.11' and sys_platform == 'win32'", + "python_full_version >= '3.11' and sys_platform == 'emscripten'", + "python_full_version >= '3.11' and sys_platform != 'emscripten' and sys_platform != 'win32'", +] +dependencies = [ + { name = "numpy", marker = "python_full_version >= '3.11'" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/7a/97/5a3609c4f8d58b039179648e62dd220f89864f56f7357f5d4f45c29eb2cc/scipy-1.17.1.tar.gz", hash = "sha256:95d8e012d8cb8816c226aef832200b1d45109ed4464303e997c5b13122b297c0", size = 30573822, upload-time = "2026-02-23T00:26:24.851Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/df/75/b4ce781849931fef6fd529afa6b63711d5a733065722d0c3e2724af9e40a/scipy-1.17.1-cp311-cp311-macosx_10_14_x86_64.whl", hash = "sha256:1f95b894f13729334fb990162e911c9e5dc1ab390c58aa6cbecb389c5b5e28ec", size = 31613675, upload-time = "2026-02-23T00:16:00.13Z" }, + { url = "https://files.pythonhosted.org/packages/f7/58/bccc2861b305abdd1b8663d6130c0b3d7cc22e8d86663edbc8401bfd40d4/scipy-1.17.1-cp311-cp311-macosx_12_0_arm64.whl", hash = "sha256:e18f12c6b0bc5a592ed23d3f7b891f68fd7f8241d69b7883769eb5d5dfb52696", size = 28162057, upload-time = "2026-02-23T00:16:09.456Z" }, + { url = "https://files.pythonhosted.org/packages/6d/ee/18146b7757ed4976276b9c9819108adbc73c5aad636e5353e20746b73069/scipy-1.17.1-cp311-cp311-macosx_14_0_arm64.whl", hash = "sha256:a3472cfbca0a54177d0faa68f697d8ba4c80bbdc19908c3465556d9f7efce9ee", size = 20334032, upload-time = "2026-02-23T00:16:17.358Z" }, + { url = "https://files.pythonhosted.org/packages/ec/e6/cef1cf3557f0c54954198554a10016b6a03b2ec9e22a4e1df734936bd99c/scipy-1.17.1-cp311-cp311-macosx_14_0_x86_64.whl", hash = "sha256:766e0dc5a616d026a3a1cffa379af959671729083882f50307e18175797b3dfd", size = 22709533, upload-time = "2026-02-23T00:16:25.791Z" }, + { url = "https://files.pythonhosted.org/packages/4d/60/8804678875fc59362b0fb759ab3ecce1f09c10a735680318ac30da8cd76b/scipy-1.17.1-cp311-cp311-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:744b2bf3640d907b79f3fd7874efe432d1cf171ee721243e350f55234b4cec4c", size = 33062057, upload-time = "2026-02-23T00:16:36.931Z" }, + { url = "https://files.pythonhosted.org/packages/09/7d/af933f0f6e0767995b4e2d705a0665e454d1c19402aa7e895de3951ebb04/scipy-1.17.1-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:43af8d1f3bea642559019edfe64e9b11192a8978efbd1539d7bc2aaa23d92de4", size = 35349300, upload-time = "2026-02-23T00:16:49.108Z" }, + { url = "https://files.pythonhosted.org/packages/b4/3d/7ccbbdcbb54c8fdc20d3b6930137c782a163fa626f0aef920349873421ba/scipy-1.17.1-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:cd96a1898c0a47be4520327e01f874acfd61fb48a9420f8aa9f6483412ffa444", size = 35127333, upload-time = "2026-02-23T00:17:01.293Z" }, + { url = "https://files.pythonhosted.org/packages/e8/19/f926cb11c42b15ba08e3a71e376d816ac08614f769b4f47e06c3580c836a/scipy-1.17.1-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:4eb6c25dd62ee8d5edf68a8e1c171dd71c292fdae95d8aeb3dd7d7de4c364082", size = 37741314, upload-time = "2026-02-23T00:17:12.576Z" }, + { url = "https://files.pythonhosted.org/packages/95/da/0d1df507cf574b3f224ccc3d45244c9a1d732c81dcb26b1e8a766ae271a8/scipy-1.17.1-cp311-cp311-win_amd64.whl", hash = "sha256:d30e57c72013c2a4fe441c2fcb8e77b14e152ad48b5464858e07e2ad9fbfceff", size = 36607512, upload-time = "2026-02-23T00:17:23.424Z" }, + { url = "https://files.pythonhosted.org/packages/68/7f/bdd79ceaad24b671543ffe0ef61ed8e659440eb683b66f033454dcee90eb/scipy-1.17.1-cp311-cp311-win_arm64.whl", hash = "sha256:9ecb4efb1cd6e8c4afea0daa91a87fbddbce1b99d2895d151596716c0b2e859d", size = 24599248, upload-time = "2026-02-23T00:17:34.561Z" }, + { url = "https://files.pythonhosted.org/packages/35/48/b992b488d6f299dbe3f11a20b24d3dda3d46f1a635ede1c46b5b17a7b163/scipy-1.17.1-cp312-cp312-macosx_10_14_x86_64.whl", hash = "sha256:35c3a56d2ef83efc372eaec584314bd0ef2e2f0d2adb21c55e6ad5b344c0dcb8", size = 31610954, upload-time = "2026-02-23T00:17:49.855Z" }, + { url = "https://files.pythonhosted.org/packages/b2/02/cf107b01494c19dc100f1d0b7ac3cc08666e96ba2d64db7626066cee895e/scipy-1.17.1-cp312-cp312-macosx_12_0_arm64.whl", hash = "sha256:fcb310ddb270a06114bb64bbe53c94926b943f5b7f0842194d585c65eb4edd76", size = 28172662, upload-time = "2026-02-23T00:18:01.64Z" }, + { url = "https://files.pythonhosted.org/packages/cf/a9/599c28631bad314d219cf9ffd40e985b24d603fc8a2f4ccc5ae8419a535b/scipy-1.17.1-cp312-cp312-macosx_14_0_arm64.whl", hash = "sha256:cc90d2e9c7e5c7f1a482c9875007c095c3194b1cfedca3c2f3291cdc2bc7c086", size = 20344366, upload-time = "2026-02-23T00:18:12.015Z" }, + { url = "https://files.pythonhosted.org/packages/35/f5/906eda513271c8deb5af284e5ef0206d17a96239af79f9fa0aebfe0e36b4/scipy-1.17.1-cp312-cp312-macosx_14_0_x86_64.whl", hash = "sha256:c80be5ede8f3f8eded4eff73cc99a25c388ce98e555b17d31da05287015ffa5b", size = 22704017, upload-time = "2026-02-23T00:18:21.502Z" }, + { url = "https://files.pythonhosted.org/packages/da/34/16f10e3042d2f1d6b66e0428308ab52224b6a23049cb2f5c1756f713815f/scipy-1.17.1-cp312-cp312-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:e19ebea31758fac5893a2ac360fedd00116cbb7628e650842a6691ba7ca28a21", size = 32927842, upload-time = "2026-02-23T00:18:35.367Z" }, + { url = "https://files.pythonhosted.org/packages/01/8e/1e35281b8ab6d5d72ebe9911edcdffa3f36b04ed9d51dec6dd140396e220/scipy-1.17.1-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:02ae3b274fde71c5e92ac4d54bc06c42d80e399fec704383dcd99b301df37458", size = 35235890, upload-time = "2026-02-23T00:18:49.188Z" }, + { url = "https://files.pythonhosted.org/packages/c5/5c/9d7f4c88bea6e0d5a4f1bc0506a53a00e9fcb198de372bfe4d3652cef482/scipy-1.17.1-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:8a604bae87c6195d8b1045eddece0514d041604b14f2727bbc2b3020172045eb", size = 35003557, upload-time = "2026-02-23T00:18:54.74Z" }, + { url = "https://files.pythonhosted.org/packages/65/94/7698add8f276dbab7a9de9fb6b0e02fc13ee61d51c7c3f85ac28b65e1239/scipy-1.17.1-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:f590cd684941912d10becc07325a3eeb77886fe981415660d9265c4c418d0bea", size = 37625856, upload-time = "2026-02-23T00:19:00.307Z" }, + { url = "https://files.pythonhosted.org/packages/a2/84/dc08d77fbf3d87d3ee27f6a0c6dcce1de5829a64f2eae85a0ecc1f0daa73/scipy-1.17.1-cp312-cp312-win_amd64.whl", hash = "sha256:41b71f4a3a4cab9d366cd9065b288efc4d4f3c0b37a91a8e0947fb5bd7f31d87", size = 36549682, upload-time = "2026-02-23T00:19:07.67Z" }, + { url = "https://files.pythonhosted.org/packages/bc/98/fe9ae9ffb3b54b62559f52dedaebe204b408db8109a8c66fdd04869e6424/scipy-1.17.1-cp312-cp312-win_arm64.whl", hash = "sha256:f4115102802df98b2b0db3cce5cb9b92572633a1197c77b7553e5203f284a5b3", size = 24547340, upload-time = "2026-02-23T00:19:12.024Z" }, ] [[package]] name = "scs" -version = "3.2.7.post2" +version = "3.2.11" source = { registry = "https://pypi.org/simple" } dependencies = [ { name = "numpy" }, { name = "scipy", version = "1.13.1", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.10'" }, - { name = "scipy", version = "1.15.2", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.10'" }, -] -sdist = { url = "https://files.pythonhosted.org/packages/c5/2f/3f15676b0f4cc73879400d94f2c5c64130cad0bbca266aff1365dc643e79/scs-3.2.7.post2.tar.gz", hash = "sha256:4245a4f76328cc73911f20e1414df68d41ead4bcc4a187503a9cd639b644014b", size = 1600725 } -wheels = [ - { url = "https://files.pythonhosted.org/packages/bf/ae/4763d0461f2fb424b276c891156520d8cb76166d98a4ddbb0aa0631a708d/scs-3.2.7.post2-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:b7271ff566ac9df929c8cf7d1b024b89c3882b541c21a7a6d9aa94480822bccb", size = 105856 }, - { url = "https://files.pythonhosted.org/packages/49/e1/c9246d57588d8376d131a1e7055496b0a1d0239c5a949f9067df904044ea/scs-3.2.7.post2-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:eb2997f53ef3426934599517c6e0e77f4f05cc23c3aa2380fd176c7fd22bc0c8", size = 93595 }, - { url = "https://files.pythonhosted.org/packages/58/df/3c88703fe7c592b1184704c668d796045be57ee94d0d29599423628dea77/scs-3.2.7.post2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:bd8307b7302f8105148478a5723a2f7d5a3cbf86ef3cc6f27567203addfa3b10", size = 10443087 }, - { url = "https://files.pythonhosted.org/packages/1e/18/cfae3a8809fec2a13abfa79e7d32aac1884a4e03642ad39665cfc960f59d/scs-3.2.7.post2-cp310-cp310-manylinux_2_28_aarch64.whl", hash = "sha256:f34cc43c9eb1092423b55f01430ad99b4e5825a6595ead8e081f985032685e8c", size = 5066485 }, - { url = "https://files.pythonhosted.org/packages/85/53/0da457be1dcf3f0c20dcf21ef96610638a143c073c53f5b82842d1d9636d/scs-3.2.7.post2-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:f645f3789bc4659de2a468c2e4db552f6656bcb286e81f3cb42d5a607028627b", size = 11612087 }, - { url = "https://files.pythonhosted.org/packages/2c/84/55f5f5fb95e4a38f2501a7bd6840a91524b44c4aea2f05975c2ddf101e03/scs-3.2.7.post2-cp310-cp310-win_amd64.whl", hash = "sha256:e5f90940c383b68dd7960b734105cd1dd6c11c80275321de3a6388f563a1ff19", size = 7432199 }, - { url = "https://files.pythonhosted.org/packages/2b/a8/75e215fb61f65c7dee0a5d2c8e2b9043967fd332b70a4d47478bca45ec10/scs-3.2.7.post2-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:6d551b90d9e2c0497ee17d8c3db325d6fcefa4419057954e68709da8b9184d4f", size = 105857 }, - { url = "https://files.pythonhosted.org/packages/1f/e4/b757b7926cc3355ba41ba747afb5e4d6c553d05be840ea25dc47b47b47b1/scs-3.2.7.post2-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:7c15d035dda04a6626d3cd9b68d3bf814d2e0eb3cb372021775bd358fd8c7405", size = 93594 }, - { url = "https://files.pythonhosted.org/packages/e7/34/bf8e999e13e00946660a1e9009e67d5718356c06b9a2b2905f10829a7c45/scs-3.2.7.post2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6da6add18f039e7e08f0ebc13cb1f853ec4c96ae81d7a578f46e0f9f0e5bf4b5", size = 10443087 }, - { url = "https://files.pythonhosted.org/packages/d3/03/d41749f5c680241345669da533bc7ce6f5f1fac6d88fb255792fdd187e3f/scs-3.2.7.post2-cp311-cp311-manylinux_2_28_aarch64.whl", hash = "sha256:d6c965f026e56c92b59a9c96744eb90178982c270ab196f58a0260ac392785aa", size = 5066487 }, - { url = "https://files.pythonhosted.org/packages/ac/b1/26db804cdc4009745f4bc4be2a478ac2c29f017672747a3ce64d46bccc7f/scs-3.2.7.post2-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:0427a5bf9aa43eb2a22083e1a43412db5054a88d695fdaa6018cd6fb3a9f0203", size = 11612089 }, - { url = "https://files.pythonhosted.org/packages/bf/34/a42b90bff9330ac57e1dcc8c35b978cee47d6e9eee14cb71981b801fc7cf/scs-3.2.7.post2-cp311-cp311-win_amd64.whl", hash = "sha256:4d05ec092c891eb842630f343ebc0c46d2ef6047f325a835771b13f9804d6b3b", size = 7432186 }, - { url = "https://files.pythonhosted.org/packages/0b/ef/982d35cadee11137a27c80404155265bb2c4e5899551436ef5e6cc28a0bc/scs-3.2.7.post2-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:99e4af2968b046ee55fa0dc89dcd3bfba771f1027d9224cb6efa10008d8bfee1", size = 107289 }, - { url = "https://files.pythonhosted.org/packages/33/2a/f807b0f9dd108c9c75c4d12692803d687be7bd32c91dbfd7213837b3b6ed/scs-3.2.7.post2-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:bc46fef9743d4629337382f034fda92dfce338659e8377afae674517b7d8345f", size = 93544 }, - { url = "https://files.pythonhosted.org/packages/82/0e/f56426e3b3d9ac12dac252c1c4a0e65a530d460b9448e3fc2e20ac8e6bed/scs-3.2.7.post2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f92e925d89004276a449850926a45536f75c03cab701b5e758b1a7efa119ba08", size = 10443128 }, - { url = "https://files.pythonhosted.org/packages/e4/f3/343803e20415bf604e4b237fdce4203f51c35e89707d18eafa7e3fe172d7/scs-3.2.7.post2-cp312-cp312-manylinux_2_28_aarch64.whl", hash = "sha256:640faf61f85b933fdfc3d33d7ce4f0049b082b245e82d2d6a8c2c54aa0b7f540", size = 5066484 }, - { url = "https://files.pythonhosted.org/packages/33/9a/5b06bc2ba789aa2ce5ba57be503f2563bbc772c0e7b4249e646e44fdcd2b/scs-3.2.7.post2-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:a520c9bef84eee734df0da3e5e06aa9192d3be34cd5e6d4221cc01f4d09b20c0", size = 11612180 }, - { url = "https://files.pythonhosted.org/packages/30/49/1645fa1219493ac94475ab8f48a2520d2fc27f486327f2b0f167440a8188/scs-3.2.7.post2-cp312-cp312-win_amd64.whl", hash = "sha256:2995d4099943c3fd754b3e39fe178a9c03dcb9c7d84b40f64ac5eb26d8d6085a", size = 7432205 }, - { url = "https://files.pythonhosted.org/packages/97/35/04c20fa51d1db8767d2ea6acb7e16111391e262386be65f398f27f4be1fd/scs-3.2.7.post2-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:ed80e841680d62a3c3b4e5757852f88df19ca6ef85bd61f7abaefb64994cfd04", size = 105857 }, - { url = "https://files.pythonhosted.org/packages/4d/e1/9ab04392124cf7238dcbf506202259f601084e5fed29015b5d13605a76b8/scs-3.2.7.post2-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:93de54f8acf83d224e007babfa410823838b28dc4a2d2c964396b52e13b78c61", size = 93585 }, - { url = "https://files.pythonhosted.org/packages/e1/1a/2e9681cd6e4f5612494d2061666b6f583679ad9f5ee60dac8c939edd783c/scs-3.2.7.post2-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3562d84b6187959f9c7bcf2ad254e82a6674593729c4d85917d2f8536f89f2b2", size = 10443075 }, - { url = "https://files.pythonhosted.org/packages/68/00/b6682624d69b97d27bbb2afb36dad1969465beb62ebe2e69c29b84269aeb/scs-3.2.7.post2-cp39-cp39-manylinux_2_28_aarch64.whl", hash = "sha256:f9d523d91904e2fba13ae0348789badd3270bba329208126d5457869e0180da2", size = 5066503 }, - { url = "https://files.pythonhosted.org/packages/6e/1c/d54fc3b56e2b86e8008d9a33bfc01e1711831534190c5320b372685aedd5/scs-3.2.7.post2-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:4a30b9d9bdcdc823acfaf5b72b7689dd699e8ab80b9dfab529628e9b2c765266", size = 11612083 }, - { url = "https://files.pythonhosted.org/packages/58/85/00fa1ca4ed0ce1094cff322fcab43612c376789b64901ee8d566a58abefa/scs-3.2.7.post2-cp39-cp39-win_amd64.whl", hash = "sha256:82422e7bc04300f6381afc4a6df2897e577cbe072daba29cd67856b28dba9718", size = 7432883 }, + { name = "scipy", version = "1.15.3", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version == '3.10.*'" }, + { name = "scipy", version = "1.17.1", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.11'" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/9e/59/5cb7f9612a5a3ff6efd4ab2d899902a536cc5974a7edb589084c5577291c/scs-3.2.11.tar.gz", hash = "sha256:2a5455cf2093d07f84f2f848c199faed52e79cdb3a11fe250b5622b6bbac4913", size = 1691825, upload-time = "2026-01-09T17:53:54.074Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/97/8c/7f1741021153e66c8a1c9eaa6c197a8a86443f3f449cae5f997309f2fb85/scs-3.2.11-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:928b2fd09d1f4446bd440037d8ca4fb70eb55e411c3259461646ba909ed098f7", size = 96299, upload-time = "2026-01-09T17:52:41.097Z" }, + { url = "https://files.pythonhosted.org/packages/82/60/6b3bfaa02126a0b69a787f5dc16e94471e0ae401bc27ac60054cfb3be714/scs-3.2.11-cp310-cp310-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:ace8221013596173de6bdf199d4415f6532b38372e7b68ff22f688b7de2a72bf", size = 5071451, upload-time = "2026-01-09T17:52:42.629Z" }, + { url = "https://files.pythonhosted.org/packages/e0/a4/d9f6279fe2b6ca7bdcc3c99732904e842e2dc185e0c414510a6114b17458/scs-3.2.11-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:d0a42a6df9308f7a7dc5e5f6c9cc08a4f556e139e39dc7d7fe1f1c6768d7ff9a", size = 12079925, upload-time = "2026-01-09T17:52:44.469Z" }, + { url = "https://files.pythonhosted.org/packages/d7/2e/f309cfc22f146e67ac456807eaba322a2a6e59c94bf7cc749b74adc9c90a/scs-3.2.11-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:c839603fd99d719d27b63918e0eff9e6f1df594506c5fd0dd1529a0df0219243", size = 11973857, upload-time = "2026-01-09T17:52:46.426Z" }, + { url = "https://files.pythonhosted.org/packages/4d/34/7316e1a99c589aa1270717b43fb68d812af3802e7ec7c82922e822298bf8/scs-3.2.11-cp310-cp310-win_amd64.whl", hash = "sha256:8c56c9739da8d06c10a94f84c5715ff0731bb2efce695a83e07c116eb1c48dcf", size = 7478511, upload-time = "2026-01-09T17:52:49.683Z" }, + { url = "https://files.pythonhosted.org/packages/13/3d/c76901e5d9b37c90c90810eda2324b54c52976b3171b3c2b35b47b6bd0c2/scs-3.2.11-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:698bdf36c67acc43b7a65f1ffa13d11d09b7050f4da6dd5b9c05080e10d198f7", size = 96304, upload-time = "2026-01-09T17:52:51.45Z" }, + { url = "https://files.pythonhosted.org/packages/2c/da/9fc31759cdccedbe2687da562f3dab61a459171a76bece1e41ae7f7b476a/scs-3.2.11-cp311-cp311-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:6aece172705a6e3b04b54b49558d580ab71be02c2fa8fba12b35012e1f386e9c", size = 5071445, upload-time = "2026-01-09T17:52:52.904Z" }, + { url = "https://files.pythonhosted.org/packages/86/b7/4594d24229a763f464e995ad6d00ec5eeee84adfae764f85752e27fdd382/scs-3.2.11-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:67a9bf34da4be7baf28eb50c8ea7d2e29ae5f345e4b04f057ba3dbeca42efbba", size = 12079923, upload-time = "2026-01-09T17:52:54.992Z" }, + { url = "https://files.pythonhosted.org/packages/ef/58/608b2efc99ff134964dcae11a91578705eff376bfa46f75956dd7382ad3b/scs-3.2.11-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:9810701691de9da18d98e542e4f8900e197ec501a47b3a4c1c76242cba133453", size = 11973862, upload-time = "2026-01-09T17:52:57.541Z" }, + { url = "https://files.pythonhosted.org/packages/e2/21/bdae36f204f3284ad92493bc09d5e8ae7df0c902b71493ebddbcf1c15e2c/scs-3.2.11-cp311-cp311-win_amd64.whl", hash = "sha256:4bd13200492b9ea334a3c50c17ccbfc9359b206bf7a4f0b022504ebc34e11cda", size = 7478511, upload-time = "2026-01-09T17:53:00.229Z" }, + { url = "https://files.pythonhosted.org/packages/80/74/87a97e5fc2aac7ab3661c2555a25115121734c51eb4ebbabc2127f53bd83/scs-3.2.11-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:ad646848375b5cf2d3e45a9ebefd87ccc37a53da9c32f2bf30ea5ad0e84d9e5b", size = 96302, upload-time = "2026-01-09T17:53:01.95Z" }, + { url = "https://files.pythonhosted.org/packages/24/0c/e34764a320249465dc6c11e67a6d34e2e53a9186a64f21759e94dfb043ee/scs-3.2.11-cp312-cp312-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:f30821521a74f6930924b13e731e9455b6bdcfc964f66d5623d3c8d3fdd98126", size = 5071418, upload-time = "2026-01-09T17:53:03.59Z" }, + { url = "https://files.pythonhosted.org/packages/db/3d/dd17a1c1890ce25efd3908f7ab67a56b208e89c5a5d60a2dedaf99394dcb/scs-3.2.11-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:8a89c71ebacd4790c461d3032a47e59ed4759e11c0f03fa79b5b84086ef9c7bc", size = 12079957, upload-time = "2026-01-09T17:53:05.439Z" }, + { url = "https://files.pythonhosted.org/packages/38/63/6f83bfa17e074c92b17e16a9bd897aedeec64f10f9200c86588d7fc583c2/scs-3.2.11-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:4e37dc60081dd742bdcd63eeb5b260db116b3803162bcf6084eb203ebedcb080", size = 11973936, upload-time = "2026-01-09T17:53:07.926Z" }, + { url = "https://files.pythonhosted.org/packages/1a/fe/5d8f6048a90abc3aa053b5ac2acf3885dc46af94c3baf7d9ccf201a1ce19/scs-3.2.11-cp312-cp312-win_amd64.whl", hash = "sha256:2504266ff8e6a226f7ecb987567c93e6e996534cbf479a60a5a886549446205e", size = 7478461, upload-time = "2026-01-09T17:53:11.899Z" }, + { url = "https://files.pythonhosted.org/packages/58/40/c390d0f5ffdaa3bf3683e45b79b3411241c567e8b0802445c0ae399497a9/scs-3.2.11-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:a58e2be11a6eeb03463ab57accfac96fbe4a64168b32769ecca0a35962c86231", size = 96295, upload-time = "2026-01-09T17:53:44.741Z" }, + { url = "https://files.pythonhosted.org/packages/f8/63/901dde8a349c490bf7093f890b5e271b4b867cf2e53af5df4591a66be485/scs-3.2.11-cp39-cp39-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:9761271e2efd4ae06af7cde4d367c99c82fddb6e6c7542fa6f4d02526d0888ef", size = 5071448, upload-time = "2026-01-09T17:53:46.005Z" }, + { url = "https://files.pythonhosted.org/packages/97/85/8ae7698bf9b3f3a66a710ccdddb1588beaae4a58bf209304018cb3f2f9bb/scs-3.2.11-cp39-cp39-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:f6ec937514d613181ec0b27df6d7fc33a06ada7769da419a1a98c846528758b6", size = 12079908, upload-time = "2026-01-09T17:53:47.732Z" }, + { url = "https://files.pythonhosted.org/packages/5a/6e/f4c3c3a5772b69103da12b244eb887e9da7a0ff552a8ce6a99736cfe89ee/scs-3.2.11-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:4f9e1abcac09bddc6a6d9e5955440e5cd26fb51371759491b3100cffa8ebad2f", size = 11973882, upload-time = "2026-01-09T17:53:50.301Z" }, + { url = "https://files.pythonhosted.org/packages/15/d5/84b7454aa3023a4cac87cb1886339ca7e470db7b74c1ff7dbe7615fe99ab/scs-3.2.11-cp39-cp39-win_amd64.whl", hash = "sha256:caf85064e7ee78001ea205205b8a8c59e134f912e8d7491cc702a64af8cc7227", size = 7479189, upload-time = "2026-01-09T17:53:52.377Z" }, ] [[package]] name = "setuptools" -version = "78.1.0" +version = "82.0.1" source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/a9/5a/0db4da3bc908df06e5efae42b44e75c81dd52716e10192ff36d0c1c8e379/setuptools-78.1.0.tar.gz", hash = "sha256:18fd474d4a82a5f83dac888df697af65afa82dec7323d09c3e37d1f14288da54", size = 1367827 } +sdist = { url = "https://files.pythonhosted.org/packages/4f/db/cfac1baf10650ab4d1c111714410d2fbb77ac5a616db26775db562c8fab2/setuptools-82.0.1.tar.gz", hash = "sha256:7d872682c5d01cfde07da7bccc7b65469d3dca203318515ada1de5eda35efbf9", size = 1152316, upload-time = "2026-03-09T12:47:17.221Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/54/21/f43f0a1fa8b06b32812e0975981f4677d28e0f3271601dc88ac5a5b83220/setuptools-78.1.0-py3-none-any.whl", hash = "sha256:3e386e96793c8702ae83d17b853fb93d3e09ef82ec62722e61da5cd22376dcd8", size = 1256108 }, + { url = "https://files.pythonhosted.org/packages/9d/76/f789f7a86709c6b087c5a2f52f911838cad707cc613162401badc665acfe/setuptools-82.0.1-py3-none-any.whl", hash = "sha256:a59e362652f08dcd477c78bb6e7bd9d80a7995bc73ce773050228a348ce2e5bb", size = 1006223, upload-time = "2026-03-09T12:47:15.026Z" }, ] [[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]] @@ -1526,29 +2097,29 @@ resolution-markers = [ ] dependencies = [ { name = "blosc2", version = "2.5.1", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.10'" }, - { name = "numexpr", marker = "python_full_version < '3.10'" }, + { name = "numexpr", version = "2.10.2", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.10'" }, { name = "numpy", marker = "python_full_version < '3.10'" }, { name = "packaging", marker = "python_full_version < '3.10'" }, { name = "py-cpuinfo", marker = "python_full_version < '3.10'" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/31/83/8a13be8338219c3fe0aa7357d1ec4edb27bc346e0f224df7212892b243b5/tables-3.9.2.tar.gz", hash = "sha256:d470263c2e50c4b7c8635a0d99ac1ff2f9e704c24d71e5fa33c4529e7d0ad9c3", size = 4683437 } +sdist = { url = "https://files.pythonhosted.org/packages/31/83/8a13be8338219c3fe0aa7357d1ec4edb27bc346e0f224df7212892b243b5/tables-3.9.2.tar.gz", hash = "sha256:d470263c2e50c4b7c8635a0d99ac1ff2f9e704c24d71e5fa33c4529e7d0ad9c3", size = 4683437, upload-time = "2023-11-27T11:53:17.229Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/17/95/dea498a083e1fbe60bf0ea999da38cb8e33b5506ba99237b5416267a9bc0/tables-3.9.2-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:8a4e71fc9d2a3a0cacce4994afd47cd5f4797093ff9cee2cc7dc87e51f308107", size = 7392824 }, - { url = "https://files.pythonhosted.org/packages/49/b0/e424d4d409925cdf38689bb85f33e2a7c7bca310fb188de65af031c933b7/tables-3.9.2-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:5fbea426ce9bdd60cda435a265823b31d18f2b36e9045fb2d565679825a7aa46", size = 7113863 }, - { url = "https://files.pythonhosted.org/packages/22/86/5a474f002126e37d9ee1062e71dc99223d1618ffcfbd5683a7662766c4af/tables-3.9.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:e756c272bb111d016fec1d03a60095403a8fb42a5fbaf5f317dcf6e3b9d8e92e", size = 7481194 }, - { url = "https://files.pythonhosted.org/packages/90/eb/8b998ae92009d6e9a696d8ec43a5b5ab9200a715f8da86d9f952a1a1bde5/tables-3.9.2-cp310-cp310-win_amd64.whl", hash = "sha256:eea41cb32dd22b30d6f3dd4e113f6d693384d301c89f3c4b4712f90c9c955875", size = 4391242 }, - { url = "https://files.pythonhosted.org/packages/14/41/ea4928ece6c79614d1b61215a52760d88a134e55eca42a3a09815468afa9/tables-3.9.2-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:d71913fb8147dc6132595b94fc82f88f6c2436a3b5c57aadfe26c680f96aa387", size = 7323512 }, - { url = "https://files.pythonhosted.org/packages/d2/de/a3f2a4c6ac32b81e4e2789d7364db0f8fff0657f1b767004c3e63b353142/tables-3.9.2-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:9d6bbc477d038a17c5062ab6ccd94c8b1fa365cf017b9a2ad6c2dff1a07abb2b", size = 7112660 }, - { url = "https://files.pythonhosted.org/packages/03/76/53d432936c6955de1346b629b9f92213b11ee9e8aeab8831027fac9e053d/tables-3.9.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:8e67c71070b871fade3694a4c764504e03836bb1843321766cf2e40b7d280e84", size = 7478756 }, - { url = "https://files.pythonhosted.org/packages/64/09/1071a5cef60108dc3fd8d44596371d223834171800f43a652a9bd523588f/tables-3.9.2-cp311-cp311-win_amd64.whl", hash = "sha256:ab9291ff4d243e7966b6706a2675b83138bd9bbe82721d695b78971660d59632", size = 4391764 }, - { url = "https://files.pythonhosted.org/packages/01/4f/cb9e44384982889ff720b8fabddb24aa4b0deb69afb1a5f09dd17a93b4ca/tables-3.9.2-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:c14dc879b041cf53be1afe9e5ed581e1aeacdcee9e2e1ee79110dc96a4c8d97c", size = 7351431 }, - { url = "https://files.pythonhosted.org/packages/9a/e0/070c3ebc11614f1c3fc413f2327ea9d1818444eab7ae4975a2fea7de03cb/tables-3.9.2-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:2848fb3dce30a7b83fa099d026a91d7b10ad48afae04fa10f974f1da3f1e2bbf", size = 7077135 }, - { url = "https://files.pythonhosted.org/packages/dd/50/8efbd7339a1fd69658f623bcee5e4c0318d823cc39bb23dbc6b0ff1a7491/tables-3.9.2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:b131c9b4e003816a45e2efe5c5c797d01d8308cac4aee72597a15837cedb605c", size = 7442059 }, - { url = "https://files.pythonhosted.org/packages/8b/84/93dd082a991c36f3e55e170cb71c4011256e45549c0a3b0d3693cf9053e3/tables-3.9.2-cp312-cp312-win_amd64.whl", hash = "sha256:c6304d321452fd56865e5c309e38373011b0f0f6c714786c5660613ceb623acb", size = 4374051 }, - { url = "https://files.pythonhosted.org/packages/64/5d/eb0c1b4401cbd9006589cb1f2a4288e70faa246538c7115ee7e54805c2d7/tables-3.9.2-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:c52087ed8b90a5f6ba87f0adcd1c433e5f5db7c7ca5984b08ff45f2247635f7d", size = 7396210 }, - { url = "https://files.pythonhosted.org/packages/a9/9c/fb98d7a5b9e1c7f588bf71ea75c87711212c964f0c1c8e0cb1246bda0a35/tables-3.9.2-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:164b945d0cb731c7232775fd3657f150bcf05413928b86033b023a1dc8dbeb05", size = 7116751 }, - { url = "https://files.pythonhosted.org/packages/62/cf/897ad10477897bd55bcb3431833b274adda1c01bc8f856b8de57f6de0b83/tables-3.9.2-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a068d4ad08d5a6b2ad457f60ac6676efdab9e29459e776e433d5537a46e62e41", size = 7483600 }, - { url = "https://files.pythonhosted.org/packages/28/67/f710befc6a57a339ac0aa7272c7df58014fff4f8863c16f683894b8c7893/tables-3.9.2-cp39-cp39-win_amd64.whl", hash = "sha256:bca5a6bf162a84a6ef74ca4017b28c59c1526cffdbd93ce94c98ff8f9593f1d5", size = 4394103 }, + { url = "https://files.pythonhosted.org/packages/17/95/dea498a083e1fbe60bf0ea999da38cb8e33b5506ba99237b5416267a9bc0/tables-3.9.2-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:8a4e71fc9d2a3a0cacce4994afd47cd5f4797093ff9cee2cc7dc87e51f308107", size = 7392824, upload-time = "2023-11-27T11:52:19.054Z" }, + { url = "https://files.pythonhosted.org/packages/49/b0/e424d4d409925cdf38689bb85f33e2a7c7bca310fb188de65af031c933b7/tables-3.9.2-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:5fbea426ce9bdd60cda435a265823b31d18f2b36e9045fb2d565679825a7aa46", size = 7113863, upload-time = "2023-11-27T11:52:24.217Z" }, + { url = "https://files.pythonhosted.org/packages/22/86/5a474f002126e37d9ee1062e71dc99223d1618ffcfbd5683a7662766c4af/tables-3.9.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:e756c272bb111d016fec1d03a60095403a8fb42a5fbaf5f317dcf6e3b9d8e92e", size = 7481194, upload-time = "2023-11-27T11:52:29.369Z" }, + { url = "https://files.pythonhosted.org/packages/90/eb/8b998ae92009d6e9a696d8ec43a5b5ab9200a715f8da86d9f952a1a1bde5/tables-3.9.2-cp310-cp310-win_amd64.whl", hash = "sha256:eea41cb32dd22b30d6f3dd4e113f6d693384d301c89f3c4b4712f90c9c955875", size = 4391242, upload-time = "2023-11-27T11:52:33.314Z" }, + { url = "https://files.pythonhosted.org/packages/14/41/ea4928ece6c79614d1b61215a52760d88a134e55eca42a3a09815468afa9/tables-3.9.2-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:d71913fb8147dc6132595b94fc82f88f6c2436a3b5c57aadfe26c680f96aa387", size = 7323512, upload-time = "2023-11-27T11:52:37.305Z" }, + { url = "https://files.pythonhosted.org/packages/d2/de/a3f2a4c6ac32b81e4e2789d7364db0f8fff0657f1b767004c3e63b353142/tables-3.9.2-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:9d6bbc477d038a17c5062ab6ccd94c8b1fa365cf017b9a2ad6c2dff1a07abb2b", size = 7112660, upload-time = "2023-11-27T11:52:40.427Z" }, + { url = "https://files.pythonhosted.org/packages/03/76/53d432936c6955de1346b629b9f92213b11ee9e8aeab8831027fac9e053d/tables-3.9.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:8e67c71070b871fade3694a4c764504e03836bb1843321766cf2e40b7d280e84", size = 7478756, upload-time = "2023-11-27T11:52:44.182Z" }, + { url = "https://files.pythonhosted.org/packages/64/09/1071a5cef60108dc3fd8d44596371d223834171800f43a652a9bd523588f/tables-3.9.2-cp311-cp311-win_amd64.whl", hash = "sha256:ab9291ff4d243e7966b6706a2675b83138bd9bbe82721d695b78971660d59632", size = 4391764, upload-time = "2023-11-27T11:52:47.4Z" }, + { url = "https://files.pythonhosted.org/packages/01/4f/cb9e44384982889ff720b8fabddb24aa4b0deb69afb1a5f09dd17a93b4ca/tables-3.9.2-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:c14dc879b041cf53be1afe9e5ed581e1aeacdcee9e2e1ee79110dc96a4c8d97c", size = 7351431, upload-time = "2023-11-27T11:52:51.371Z" }, + { url = "https://files.pythonhosted.org/packages/9a/e0/070c3ebc11614f1c3fc413f2327ea9d1818444eab7ae4975a2fea7de03cb/tables-3.9.2-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:2848fb3dce30a7b83fa099d026a91d7b10ad48afae04fa10f974f1da3f1e2bbf", size = 7077135, upload-time = "2023-11-27T11:52:54.361Z" }, + { url = "https://files.pythonhosted.org/packages/dd/50/8efbd7339a1fd69658f623bcee5e4c0318d823cc39bb23dbc6b0ff1a7491/tables-3.9.2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:b131c9b4e003816a45e2efe5c5c797d01d8308cac4aee72597a15837cedb605c", size = 7442059, upload-time = "2023-11-27T11:52:57.999Z" }, + { url = "https://files.pythonhosted.org/packages/8b/84/93dd082a991c36f3e55e170cb71c4011256e45549c0a3b0d3693cf9053e3/tables-3.9.2-cp312-cp312-win_amd64.whl", hash = "sha256:c6304d321452fd56865e5c309e38373011b0f0f6c714786c5660613ceb623acb", size = 4374051, upload-time = "2023-11-27T11:53:00.801Z" }, + { url = "https://files.pythonhosted.org/packages/64/5d/eb0c1b4401cbd9006589cb1f2a4288e70faa246538c7115ee7e54805c2d7/tables-3.9.2-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:c52087ed8b90a5f6ba87f0adcd1c433e5f5db7c7ca5984b08ff45f2247635f7d", size = 7396210, upload-time = "2023-11-27T11:53:03.627Z" }, + { url = "https://files.pythonhosted.org/packages/a9/9c/fb98d7a5b9e1c7f588bf71ea75c87711212c964f0c1c8e0cb1246bda0a35/tables-3.9.2-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:164b945d0cb731c7232775fd3657f150bcf05413928b86033b023a1dc8dbeb05", size = 7116751, upload-time = "2023-11-27T11:53:07.406Z" }, + { url = "https://files.pythonhosted.org/packages/62/cf/897ad10477897bd55bcb3431833b274adda1c01bc8f856b8de57f6de0b83/tables-3.9.2-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a068d4ad08d5a6b2ad457f60ac6676efdab9e29459e776e433d5537a46e62e41", size = 7483600, upload-time = "2023-11-27T11:53:10.155Z" }, + { url = "https://files.pythonhosted.org/packages/28/67/f710befc6a57a339ac0aa7272c7df58014fff4f8863c16f683894b8c7893/tables-3.9.2-cp39-cp39-win_amd64.whl", hash = "sha256:bca5a6bf162a84a6ef74ca4017b28c59c1526cffdbd93ce94c98ff8f9593f1d5", size = 4394103, upload-time = "2023-11-27T11:53:13.632Z" }, ] [[package]] @@ -1559,137 +2130,134 @@ resolution-markers = [ "python_full_version == '3.10.*'", ] dependencies = [ - { name = "blosc2", version = "2.7.1", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version == '3.10.*'" }, - { name = "numexpr", marker = "python_full_version == '3.10.*'" }, + { name = "blosc2", version = "4.1.2", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version == '3.10.*'" }, + { name = "numexpr", version = "2.14.1", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version == '3.10.*'" }, { name = "numpy", marker = "python_full_version == '3.10.*'" }, { name = "packaging", marker = "python_full_version == '3.10.*'" }, { name = "py-cpuinfo", marker = "python_full_version == '3.10.*'" }, { name = "typing-extensions", marker = "python_full_version == '3.10.*'" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/0d/5d/96708a84e9fcd29d1f684d56d4c38a23d29b1c934599a072a49f27ccfa71/tables-3.10.1.tar.gz", hash = "sha256:4aa07ac734b9c037baeaf44aec64ec902ad247f57811b59f30c4e31d31f126cf", size = 4762413 } +sdist = { url = "https://files.pythonhosted.org/packages/0d/5d/96708a84e9fcd29d1f684d56d4c38a23d29b1c934599a072a49f27ccfa71/tables-3.10.1.tar.gz", hash = "sha256:4aa07ac734b9c037baeaf44aec64ec902ad247f57811b59f30c4e31d31f126cf", size = 4762413, upload-time = "2024-08-17T09:57:47.127Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/ff/69/a768ec8104ada032c9be09f521f548766ddd0351bc941c9d42fa5db001de/tables-3.10.1-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:bca9d11a570ca1bc57f0845e54e55c3093d5a1ace376faee639e09503a73745b", size = 6823691 }, - { url = "https://files.pythonhosted.org/packages/e4/2d/074bc14b39de9b552eec02ee583eff2997d903da1355f4450506335a6055/tables-3.10.1-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:b62881cb682438d1e92b9178db42b160638aef3ca23341f7d98e9b27821b1eb4", size = 5471221 }, - { url = "https://files.pythonhosted.org/packages/4a/30/29411ab804b5ac4bee25c82ba38f4e7a8c0b52c6a1cdbeea7d1db33a53fe/tables-3.10.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f9cf1bfd8b0e0195196205fc8a134628219cff85d20da537facd67a291e6b347", size = 7170201 }, - { url = "https://files.pythonhosted.org/packages/0a/7d/3165c7538b8e89b22fa17ad68e04106cca7023cf68e94011ae7b3b6d2a78/tables-3.10.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:77f0e6dd45b91d99bf3976c8655c48fe3816baf390b9098e4fb2f0fdf9da7078", size = 7571035 }, - { url = "https://files.pythonhosted.org/packages/46/b3/985a23d2cf27aad383301a5e99e1851228a1941b868515612b5357bded5f/tables-3.10.1-cp310-cp310-win_amd64.whl", hash = "sha256:d90542ec172d1d60df0b796c48ad446f2b69a5d5cd3077bd6450891b854d1ffb", size = 6311650 }, - { url = "https://files.pythonhosted.org/packages/dc/04/957264eb35e60251830a965e2d02332eb36ed14fbd8345df06981bbf3ece/tables-3.10.1-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:f8917262a2bb3cd79d37e108557e34ec4b365fdcc806e01dd10765a84c65dab6", size = 6790492 }, - { url = "https://files.pythonhosted.org/packages/b2/19/eb7af9d92aaf6766f5fedfce11a97ab03cf39856561c5f562dc0c769a682/tables-3.10.1-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:f93f6db623b484bb6606537c2a71e95ee34fae19b0d891867642dd8c7be05af6", size = 5506835 }, - { url = "https://files.pythonhosted.org/packages/b0/8f/897324e1ad543ca439b2c91f04c406f3eeda6e7ff2f43b4cd939f05043e4/tables-3.10.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:01ca51624bca1a87e703d6d6b796368bc3460ff007ea8b1341be03bedd863833", size = 7166960 }, - { url = "https://files.pythonhosted.org/packages/4e/5c/3f21d1135bf60af99ac79a17bbffd333d69763df2197ba04f47dd30bbd4e/tables-3.10.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9372516c76be3a05a573df63a69ce38315d03b5816d2a1e89c48129ec8b161b0", size = 7568724 }, - { url = "https://files.pythonhosted.org/packages/1f/e3/3ee6b66263902eccadc4e0e23bca7fb480fd190904b7ce0bea4777b5b799/tables-3.10.1-cp311-cp311-win_amd64.whl", hash = "sha256:09190fb504888aeacafb7739c13d5c5a3e87af3d261f4d2f832b1f8407be133a", size = 6312200 }, - { url = "https://files.pythonhosted.org/packages/95/ec/ea6c476e33602c172c797fe8f8ab96d007d964137068276d142b142a28e5/tables-3.10.1-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:a7090af37909e3bf229d5599fa442633e5a93b6082960b01038dc0106e07a8da", size = 6791597 }, - { url = "https://files.pythonhosted.org/packages/74/02/a967a506e9204e3328a8c03f67e6f3c919defc8df11aba83ae5b2abf7b0f/tables-3.10.1-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:203ed50c0c5f30f007df7633089b2a567b99856cd25d68f19d91624a8db2e7ad", size = 5474779 }, - { url = "https://files.pythonhosted.org/packages/c3/26/925793f753664ec698b2c6315c818269313db143da38150897cf260405c2/tables-3.10.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e36ce9f10471c69c1f0b06c6966de762558a35d62592c55df7994a8019adaf0c", size = 7130683 }, - { url = "https://files.pythonhosted.org/packages/d8/79/2b34f22284459e940a84e71dba19b2a34c7cc0ce3cdf685923c50d5b9611/tables-3.10.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f233e78cc9fa4157ec4c3ef2abf01a731fe7969bc6ed73539e5f4cd3b94c98b2", size = 7531367 }, - { url = "https://files.pythonhosted.org/packages/3d/27/5a23830f611e26dd7ee104096c6bb82e481b16f3f17ccaed3075f8d48312/tables-3.10.1-cp312-cp312-win_amd64.whl", hash = "sha256:34357d2f2f75843a44e6fe54d1f11fc2e35a8fd3cb134df3d3362cff78010adb", size = 6295046 }, + { url = "https://files.pythonhosted.org/packages/ff/69/a768ec8104ada032c9be09f521f548766ddd0351bc941c9d42fa5db001de/tables-3.10.1-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:bca9d11a570ca1bc57f0845e54e55c3093d5a1ace376faee639e09503a73745b", size = 6823691, upload-time = "2024-08-17T09:56:50.229Z" }, + { url = "https://files.pythonhosted.org/packages/e4/2d/074bc14b39de9b552eec02ee583eff2997d903da1355f4450506335a6055/tables-3.10.1-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:b62881cb682438d1e92b9178db42b160638aef3ca23341f7d98e9b27821b1eb4", size = 5471221, upload-time = "2024-08-17T09:56:54.84Z" }, + { url = "https://files.pythonhosted.org/packages/4a/30/29411ab804b5ac4bee25c82ba38f4e7a8c0b52c6a1cdbeea7d1db33a53fe/tables-3.10.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f9cf1bfd8b0e0195196205fc8a134628219cff85d20da537facd67a291e6b347", size = 7170201, upload-time = "2024-08-17T09:56:59.011Z" }, + { url = "https://files.pythonhosted.org/packages/0a/7d/3165c7538b8e89b22fa17ad68e04106cca7023cf68e94011ae7b3b6d2a78/tables-3.10.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:77f0e6dd45b91d99bf3976c8655c48fe3816baf390b9098e4fb2f0fdf9da7078", size = 7571035, upload-time = "2024-08-17T09:57:03.115Z" }, + { url = "https://files.pythonhosted.org/packages/46/b3/985a23d2cf27aad383301a5e99e1851228a1941b868515612b5357bded5f/tables-3.10.1-cp310-cp310-win_amd64.whl", hash = "sha256:d90542ec172d1d60df0b796c48ad446f2b69a5d5cd3077bd6450891b854d1ffb", size = 6311650, upload-time = "2024-08-17T09:57:06.593Z" }, + { url = "https://files.pythonhosted.org/packages/dc/04/957264eb35e60251830a965e2d02332eb36ed14fbd8345df06981bbf3ece/tables-3.10.1-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:f8917262a2bb3cd79d37e108557e34ec4b365fdcc806e01dd10765a84c65dab6", size = 6790492, upload-time = "2024-08-17T09:57:10.247Z" }, + { url = "https://files.pythonhosted.org/packages/b2/19/eb7af9d92aaf6766f5fedfce11a97ab03cf39856561c5f562dc0c769a682/tables-3.10.1-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:f93f6db623b484bb6606537c2a71e95ee34fae19b0d891867642dd8c7be05af6", size = 5506835, upload-time = "2024-08-17T09:57:13.883Z" }, + { url = "https://files.pythonhosted.org/packages/b0/8f/897324e1ad543ca439b2c91f04c406f3eeda6e7ff2f43b4cd939f05043e4/tables-3.10.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:01ca51624bca1a87e703d6d6b796368bc3460ff007ea8b1341be03bedd863833", size = 7166960, upload-time = "2024-08-17T09:57:17.463Z" }, + { url = "https://files.pythonhosted.org/packages/4e/5c/3f21d1135bf60af99ac79a17bbffd333d69763df2197ba04f47dd30bbd4e/tables-3.10.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9372516c76be3a05a573df63a69ce38315d03b5816d2a1e89c48129ec8b161b0", size = 7568724, upload-time = "2024-08-17T09:57:23.02Z" }, + { url = "https://files.pythonhosted.org/packages/1f/e3/3ee6b66263902eccadc4e0e23bca7fb480fd190904b7ce0bea4777b5b799/tables-3.10.1-cp311-cp311-win_amd64.whl", hash = "sha256:09190fb504888aeacafb7739c13d5c5a3e87af3d261f4d2f832b1f8407be133a", size = 6312200, upload-time = "2024-08-17T09:57:26.322Z" }, + { url = "https://files.pythonhosted.org/packages/95/ec/ea6c476e33602c172c797fe8f8ab96d007d964137068276d142b142a28e5/tables-3.10.1-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:a7090af37909e3bf229d5599fa442633e5a93b6082960b01038dc0106e07a8da", size = 6791597, upload-time = "2024-08-17T09:57:29.598Z" }, + { url = "https://files.pythonhosted.org/packages/74/02/a967a506e9204e3328a8c03f67e6f3c919defc8df11aba83ae5b2abf7b0f/tables-3.10.1-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:203ed50c0c5f30f007df7633089b2a567b99856cd25d68f19d91624a8db2e7ad", size = 5474779, upload-time = "2024-08-17T09:57:32.43Z" }, + { url = "https://files.pythonhosted.org/packages/c3/26/925793f753664ec698b2c6315c818269313db143da38150897cf260405c2/tables-3.10.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e36ce9f10471c69c1f0b06c6966de762558a35d62592c55df7994a8019adaf0c", size = 7130683, upload-time = "2024-08-17T09:57:36.181Z" }, + { url = "https://files.pythonhosted.org/packages/d8/79/2b34f22284459e940a84e71dba19b2a34c7cc0ce3cdf685923c50d5b9611/tables-3.10.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f233e78cc9fa4157ec4c3ef2abf01a731fe7969bc6ed73539e5f4cd3b94c98b2", size = 7531367, upload-time = "2024-08-17T09:57:39.864Z" }, + { url = "https://files.pythonhosted.org/packages/3d/27/5a23830f611e26dd7ee104096c6bb82e481b16f3f17ccaed3075f8d48312/tables-3.10.1-cp312-cp312-win_amd64.whl", hash = "sha256:34357d2f2f75843a44e6fe54d1f11fc2e35a8fd3cb134df3d3362cff78010adb", size = 6295046, upload-time = "2024-08-17T09:57:43.561Z" }, ] [[package]] name = "tables" -version = "3.10.2" +version = "3.11.1" source = { registry = "https://pypi.org/simple" } resolution-markers = [ - "python_full_version >= '3.12'", - "python_full_version == '3.11.*'", + "python_full_version >= '3.11' and sys_platform == 'win32'", + "python_full_version >= '3.11' and sys_platform == 'emscripten'", + "python_full_version >= '3.11' and sys_platform != 'emscripten' and sys_platform != 'win32'", ] dependencies = [ - { name = "blosc2", version = "3.3.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.11'" }, - { name = "numexpr", marker = "python_full_version >= '3.11'" }, + { name = "blosc2", version = "4.1.2", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.11'" }, + { name = "numexpr", version = "2.14.1", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.11'" }, { name = "numpy", marker = "python_full_version >= '3.11'" }, { name = "packaging", marker = "python_full_version >= '3.11'" }, { name = "py-cpuinfo", marker = "python_full_version >= '3.11'" }, - { name = "typing-extensions", marker = "python_full_version >= '3.11'" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/15/50/23ead25f60bb1babe7f2f061d8a2f8c2f6804c1a20b3058677beb9085b56/tables-3.10.2.tar.gz", hash = "sha256:2544812a7186fadba831d6dd34eb49ccd788d6a83f4e4c2b431b835b6796c910", size = 4779722 } +sdist = { url = "https://files.pythonhosted.org/packages/cc/a3/d213ebe7376d48055bd55a29cd9f99061afa0dcece608f94a5025d797b0a/tables-3.11.1.tar.gz", hash = "sha256:78abcf413091bc7c1e4e8c10fbbb438d1ac0b5a87436c5b972c3e8253871b6fb", size = 4790533, upload-time = "2026-03-01T11:43:36.036Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/96/f6/ef0c376c1fa01b916d5db0c2681be063f6289ee99faf7bb6610e0b55b773/tables-3.10.2-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:63f8adec3c4421a011c5c6a245c0c1fccf16dba7aaa67d9915d2821cf365ed4a", size = 6767194 }, - { url = "https://files.pythonhosted.org/packages/d9/d0/accd41382fa9da45bf816c56f85bda64223a3b8d0006d3496b67e0781a6e/tables-3.10.2-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:34c120bff666d33d3bdfb9e33173a4869d5f34e6c87824f2c7ec6a72c8dfab82", size = 5482665 }, - { url = "https://files.pythonhosted.org/packages/59/2f/c95e94423c463177b8a7d55a1dbbd524840fe6a684844ff728f238e71f68/tables-3.10.2-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e71f63ac67c583ac42943c99c2d33bcc9e361e94d1ab1a763dc0698bdd9ff815", size = 7117696 }, - { url = "https://files.pythonhosted.org/packages/88/d5/71665919aa2a5a3d2a20eeef3c71dc7c2ebbd9f26d114a7808514aba24d6/tables-3.10.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:154773f97763ccc91a29bcead6ab7b5ef164c2ed8c409cd79a2115aa9b4184c9", size = 7520921 }, - { url = "https://files.pythonhosted.org/packages/46/96/b5023c1f7b9d560cac3e2c0daceebaeb88dd24c70c75db2d291abfa563e5/tables-3.10.2-cp311-cp311-win_amd64.whl", hash = "sha256:96b5e945d275415e79ddb0578657ecc6ac77030dcc0632ab2c39f89390bb239d", size = 6407137 }, - { url = "https://files.pythonhosted.org/packages/ab/c4/1efbcc699db863d88874f3d111e5bb6dd2e0fbaca38f91c992e696324730/tables-3.10.2-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:c6ba58205d1f6a4e0e2212bc221e76cf104f22190f90c3f1683f3c1ab138f28f", size = 6734990 }, - { url = "https://files.pythonhosted.org/packages/4a/db/4c7facfc805ab764f2ee256011d20f96791d2426afa3389ca7ff2a8a4ea8/tables-3.10.2-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:cdb5c040aa43e5e96259d6f6bb9df5b66fef2b071a6eb035c21bf6508e865d40", size = 5483377 }, - { url = "https://files.pythonhosted.org/packages/93/0a/53815b516a2465b329e5dc2079c99a8b6b1a23f6b9ce5da8a7ebc7892bf4/tables-3.10.2-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e694123fa886d9be57f55fc7e1dcacac49f0b4ed4a931c795bd8f82f7111b5a8", size = 7081356 }, - { url = "https://files.pythonhosted.org/packages/d3/e1/3f4adfc83eb7390abb964682a7d1df0dbe451dd2cee99750b1c7ca8e2c9d/tables-3.10.2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f6c12d0d04de89297763923ebeaddfd7e0b51f29041895db284fd4913e7448b7", size = 7483570 }, - { url = "https://files.pythonhosted.org/packages/9a/d4/0b9ba57a5a8d2d05d1108055a8d70a4b066db4ebed61921de34043a31bdb/tables-3.10.2-cp312-cp312-win_amd64.whl", hash = "sha256:a406d5dbbcb6604bd1ca129af337e0790d4e02d29d06159ddb9f74e38d756d32", size = 6388443 }, + { url = "https://files.pythonhosted.org/packages/fa/bb/4a9cde6628563388db26fa86c64adb0f2475a757e72af0ec185fd520b72f/tables-3.11.1-cp311-abi3-macosx_10_9_x86_64.whl", hash = "sha256:eb30684c42a77bbecdef2b9c763c4372b0ddc9cc5bd8b2a2055f2042eee67217", size = 7045977, upload-time = "2026-03-01T11:42:48.605Z" }, + { url = "https://files.pythonhosted.org/packages/78/74/6568c8d3aabf9982ab89fe3e378afbd7aad4894bde4570991a3246169ef4/tables-3.11.1-cp311-abi3-macosx_11_0_arm64.whl", hash = "sha256:f0367d2e3df0f10ea63ccf4279f3fe58e32ec481767320301a483e2b3cd83efc", size = 6264947, upload-time = "2026-03-01T11:42:53.192Z" }, + { url = "https://files.pythonhosted.org/packages/cc/a3/ec228901fca4c996306b17f5c60a4105144df0bbd07b3a4a816f91f37b4a/tables-3.11.1-cp311-abi3-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:56bf6fb9132ead989b7e76695d7613d6d08f071a8019038d6565ba90c66b9f3e", size = 6903733, upload-time = "2026-03-01T11:42:58.349Z" }, + { url = "https://files.pythonhosted.org/packages/99/29/c2dc674ea70fa9a4819417289a9c0d3e4780835beeed573eb66964cfb763/tables-3.11.1-cp311-abi3-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:1e78fe190fdeb4afe430b79651bae2a4f341904eb85aa8dbafe5f1caee1c7f67", size = 7241357, upload-time = "2026-03-01T11:43:03.938Z" }, + { url = "https://files.pythonhosted.org/packages/60/b5/a59b62af4127790c618eb11c06c106706e07509a3fb9e346b2a3ffa74419/tables-3.11.1-cp311-abi3-win_amd64.whl", hash = "sha256:7fa6cb03f6fe55ae4f85e89ec5450e5c40cc4c52d8c3b60eb157a445c2219e89", size = 6526565, upload-time = "2026-03-01T11:43:08.58Z" }, ] [[package]] name = "tomli" -version = "2.2.1" -source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/18/87/302344fed471e44a87289cf4967697d07e532f2421fdaf868a303cbae4ff/tomli-2.2.1.tar.gz", hash = "sha256:cd45e1dc79c835ce60f7404ec8119f2eb06d38b1deba146f07ced3bbc44505ff", size = 17175 } -wheels = [ - { url = "https://files.pythonhosted.org/packages/43/ca/75707e6efa2b37c77dadb324ae7d9571cb424e61ea73fad7c56c2d14527f/tomli-2.2.1-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:678e4fa69e4575eb77d103de3df8a895e1591b48e740211bd1067378c69e8249", size = 131077 }, - { url = "https://files.pythonhosted.org/packages/c7/16/51ae563a8615d472fdbffc43a3f3d46588c264ac4f024f63f01283becfbb/tomli-2.2.1-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:023aa114dd824ade0100497eb2318602af309e5a55595f76b626d6d9f3b7b0a6", size = 123429 }, - { url = "https://files.pythonhosted.org/packages/f1/dd/4f6cd1e7b160041db83c694abc78e100473c15d54620083dbd5aae7b990e/tomli-2.2.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:ece47d672db52ac607a3d9599a9d48dcb2f2f735c6c2d1f34130085bb12b112a", size = 226067 }, - { url = "https://files.pythonhosted.org/packages/a9/6b/c54ede5dc70d648cc6361eaf429304b02f2871a345bbdd51e993d6cdf550/tomli-2.2.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6972ca9c9cc9f0acaa56a8ca1ff51e7af152a9f87fb64623e31d5c83700080ee", size = 236030 }, - { url = "https://files.pythonhosted.org/packages/1f/47/999514fa49cfaf7a92c805a86c3c43f4215621855d151b61c602abb38091/tomli-2.2.1-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:c954d2250168d28797dd4e3ac5cf812a406cd5a92674ee4c8f123c889786aa8e", size = 240898 }, - { url = "https://files.pythonhosted.org/packages/73/41/0a01279a7ae09ee1573b423318e7934674ce06eb33f50936655071d81a24/tomli-2.2.1-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:8dd28b3e155b80f4d54beb40a441d366adcfe740969820caf156c019fb5c7ec4", size = 229894 }, - { url = "https://files.pythonhosted.org/packages/55/18/5d8bc5b0a0362311ce4d18830a5d28943667599a60d20118074ea1b01bb7/tomli-2.2.1-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:e59e304978767a54663af13c07b3d1af22ddee3bb2fb0618ca1593e4f593a106", size = 245319 }, - { url = "https://files.pythonhosted.org/packages/92/a3/7ade0576d17f3cdf5ff44d61390d4b3febb8a9fc2b480c75c47ea048c646/tomli-2.2.1-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:33580bccab0338d00994d7f16f4c4ec25b776af3ffaac1ed74e0b3fc95e885a8", size = 238273 }, - { url = "https://files.pythonhosted.org/packages/72/6f/fa64ef058ac1446a1e51110c375339b3ec6be245af9d14c87c4a6412dd32/tomli-2.2.1-cp311-cp311-win32.whl", hash = "sha256:465af0e0875402f1d226519c9904f37254b3045fc5084697cefb9bdde1ff99ff", size = 98310 }, - { url = "https://files.pythonhosted.org/packages/6a/1c/4a2dcde4a51b81be3530565e92eda625d94dafb46dbeb15069df4caffc34/tomli-2.2.1-cp311-cp311-win_amd64.whl", hash = "sha256:2d0f2fdd22b02c6d81637a3c95f8cd77f995846af7414c5c4b8d0545afa1bc4b", size = 108309 }, - { url = "https://files.pythonhosted.org/packages/52/e1/f8af4c2fcde17500422858155aeb0d7e93477a0d59a98e56cbfe75070fd0/tomli-2.2.1-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:4a8f6e44de52d5e6c657c9fe83b562f5f4256d8ebbfe4ff922c495620a7f6cea", size = 132762 }, - { url = "https://files.pythonhosted.org/packages/03/b8/152c68bb84fc00396b83e7bbddd5ec0bd3dd409db4195e2a9b3e398ad2e3/tomli-2.2.1-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:8d57ca8095a641b8237d5b079147646153d22552f1c637fd3ba7f4b0b29167a8", size = 123453 }, - { url = "https://files.pythonhosted.org/packages/c8/d6/fc9267af9166f79ac528ff7e8c55c8181ded34eb4b0e93daa767b8841573/tomli-2.2.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:4e340144ad7ae1533cb897d406382b4b6fede8890a03738ff1683af800d54192", size = 233486 }, - { url = "https://files.pythonhosted.org/packages/5c/51/51c3f2884d7bab89af25f678447ea7d297b53b5a3b5730a7cb2ef6069f07/tomli-2.2.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:db2b95f9de79181805df90bedc5a5ab4c165e6ec3fe99f970d0e302f384ad222", size = 242349 }, - { url = "https://files.pythonhosted.org/packages/ab/df/bfa89627d13a5cc22402e441e8a931ef2108403db390ff3345c05253935e/tomli-2.2.1-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:40741994320b232529c802f8bc86da4e1aa9f413db394617b9a256ae0f9a7f77", size = 252159 }, - { url = "https://files.pythonhosted.org/packages/9e/6e/fa2b916dced65763a5168c6ccb91066f7639bdc88b48adda990db10c8c0b/tomli-2.2.1-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:400e720fe168c0f8521520190686ef8ef033fb19fc493da09779e592861b78c6", size = 237243 }, - { url = "https://files.pythonhosted.org/packages/b4/04/885d3b1f650e1153cbb93a6a9782c58a972b94ea4483ae4ac5cedd5e4a09/tomli-2.2.1-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:02abe224de6ae62c19f090f68da4e27b10af2b93213d36cf44e6e1c5abd19fdd", size = 259645 }, - { url = "https://files.pythonhosted.org/packages/9c/de/6b432d66e986e501586da298e28ebeefd3edc2c780f3ad73d22566034239/tomli-2.2.1-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:b82ebccc8c8a36f2094e969560a1b836758481f3dc360ce9a3277c65f374285e", size = 244584 }, - { url = "https://files.pythonhosted.org/packages/1c/9a/47c0449b98e6e7d1be6cbac02f93dd79003234ddc4aaab6ba07a9a7482e2/tomli-2.2.1-cp312-cp312-win32.whl", hash = "sha256:889f80ef92701b9dbb224e49ec87c645ce5df3fa2cc548664eb8a25e03127a98", size = 98875 }, - { url = "https://files.pythonhosted.org/packages/ef/60/9b9638f081c6f1261e2688bd487625cd1e660d0a85bd469e91d8db969734/tomli-2.2.1-cp312-cp312-win_amd64.whl", hash = "sha256:7fc04e92e1d624a4a63c76474610238576942d6b8950a2d7f908a340494e67e4", size = 109418 }, - { url = "https://files.pythonhosted.org/packages/6e/c2/61d3e0f47e2b74ef40a68b9e6ad5984f6241a942f7cd3bbfbdbd03861ea9/tomli-2.2.1-py3-none-any.whl", hash = "sha256:cb55c73c5f4408779d0cf3eef9f762b9c9f147a77de7b258bef0a5628adc85cc", size = 14257 }, +version = "2.4.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/82/30/31573e9457673ab10aa432461bee537ce6cef177667deca369efb79df071/tomli-2.4.0.tar.gz", hash = "sha256:aa89c3f6c277dd275d8e243ad24f3b5e701491a860d5121f2cdd399fbb31fc9c", size = 17477, upload-time = "2026-01-11T11:22:38.165Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/3c/d9/3dc2289e1f3b32eb19b9785b6a006b28ee99acb37d1d47f78d4c10e28bf8/tomli-2.4.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:b5ef256a3fd497d4973c11bf142e9ed78b150d36f5773f1ca6088c230ffc5867", size = 153663, upload-time = "2026-01-11T11:21:45.27Z" }, + { url = "https://files.pythonhosted.org/packages/51/32/ef9f6845e6b9ca392cd3f64f9ec185cc6f09f0a2df3db08cbe8809d1d435/tomli-2.4.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:5572e41282d5268eb09a697c89a7bee84fae66511f87533a6f88bd2f7b652da9", size = 148469, upload-time = "2026-01-11T11:21:46.873Z" }, + { url = "https://files.pythonhosted.org/packages/d6/c2/506e44cce89a8b1b1e047d64bd495c22c9f71f21e05f380f1a950dd9c217/tomli-2.4.0-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:551e321c6ba03b55676970b47cb1b73f14a0a4dce6a3e1a9458fd6d921d72e95", size = 236039, upload-time = "2026-01-11T11:21:48.503Z" }, + { url = "https://files.pythonhosted.org/packages/b3/40/e1b65986dbc861b7e986e8ec394598187fa8aee85b1650b01dd925ca0be8/tomli-2.4.0-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:5e3f639a7a8f10069d0e15408c0b96a2a828cfdec6fca05296ebcdcc28ca7c76", size = 243007, upload-time = "2026-01-11T11:21:49.456Z" }, + { url = "https://files.pythonhosted.org/packages/9c/6f/6e39ce66b58a5b7ae572a0f4352ff40c71e8573633deda43f6a379d56b3e/tomli-2.4.0-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:1b168f2731796b045128c45982d3a4874057626da0e2ef1fdd722848b741361d", size = 240875, upload-time = "2026-01-11T11:21:50.755Z" }, + { url = "https://files.pythonhosted.org/packages/aa/ad/cb089cb190487caa80204d503c7fd0f4d443f90b95cf4ef5cf5aa0f439b0/tomli-2.4.0-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:133e93646ec4300d651839d382d63edff11d8978be23da4cc106f5a18b7d0576", size = 246271, upload-time = "2026-01-11T11:21:51.81Z" }, + { url = "https://files.pythonhosted.org/packages/0b/63/69125220e47fd7a3a27fd0de0c6398c89432fec41bc739823bcc66506af6/tomli-2.4.0-cp311-cp311-win32.whl", hash = "sha256:b6c78bdf37764092d369722d9946cb65b8767bfa4110f902a1b2542d8d173c8a", size = 96770, upload-time = "2026-01-11T11:21:52.647Z" }, + { url = "https://files.pythonhosted.org/packages/1e/0d/a22bb6c83f83386b0008425a6cd1fa1c14b5f3dd4bad05e98cf3dbbf4a64/tomli-2.4.0-cp311-cp311-win_amd64.whl", hash = "sha256:d3d1654e11d724760cdb37a3d7691f0be9db5fbdaef59c9f532aabf87006dbaa", size = 107626, upload-time = "2026-01-11T11:21:53.459Z" }, + { url = "https://files.pythonhosted.org/packages/2f/6d/77be674a3485e75cacbf2ddba2b146911477bd887dda9d8c9dfb2f15e871/tomli-2.4.0-cp311-cp311-win_arm64.whl", hash = "sha256:cae9c19ed12d4e8f3ebf46d1a75090e4c0dc16271c5bce1c833ac168f08fb614", size = 94842, upload-time = "2026-01-11T11:21:54.831Z" }, + { url = "https://files.pythonhosted.org/packages/3c/43/7389a1869f2f26dba52404e1ef13b4784b6b37dac93bac53457e3ff24ca3/tomli-2.4.0-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:920b1de295e72887bafa3ad9f7a792f811847d57ea6b1215154030cf131f16b1", size = 154894, upload-time = "2026-01-11T11:21:56.07Z" }, + { url = "https://files.pythonhosted.org/packages/e9/05/2f9bf110b5294132b2edf13fe6ca6ae456204f3d749f623307cbb7a946f2/tomli-2.4.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:7d6d9a4aee98fac3eab4952ad1d73aee87359452d1c086b5ceb43ed02ddb16b8", size = 149053, upload-time = "2026-01-11T11:21:57.467Z" }, + { url = "https://files.pythonhosted.org/packages/e8/41/1eda3ca1abc6f6154a8db4d714a4d35c4ad90adc0bcf700657291593fbf3/tomli-2.4.0-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:36b9d05b51e65b254ea6c2585b59d2c4cb91c8a3d91d0ed0f17591a29aaea54a", size = 243481, upload-time = "2026-01-11T11:21:58.661Z" }, + { url = "https://files.pythonhosted.org/packages/d2/6d/02ff5ab6c8868b41e7d4b987ce2b5f6a51d3335a70aa144edd999e055a01/tomli-2.4.0-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:1c8a885b370751837c029ef9bc014f27d80840e48bac415f3412e6593bbc18c1", size = 251720, upload-time = "2026-01-11T11:22:00.178Z" }, + { url = "https://files.pythonhosted.org/packages/7b/57/0405c59a909c45d5b6f146107c6d997825aa87568b042042f7a9c0afed34/tomli-2.4.0-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:8768715ffc41f0008abe25d808c20c3d990f42b6e2e58305d5da280ae7d1fa3b", size = 247014, upload-time = "2026-01-11T11:22:01.238Z" }, + { url = "https://files.pythonhosted.org/packages/2c/0e/2e37568edd944b4165735687cbaf2fe3648129e440c26d02223672ee0630/tomli-2.4.0-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:7b438885858efd5be02a9a133caf5812b8776ee0c969fea02c45e8e3f296ba51", size = 251820, upload-time = "2026-01-11T11:22:02.727Z" }, + { url = "https://files.pythonhosted.org/packages/5a/1c/ee3b707fdac82aeeb92d1a113f803cf6d0f37bdca0849cb489553e1f417a/tomli-2.4.0-cp312-cp312-win32.whl", hash = "sha256:0408e3de5ec77cc7f81960c362543cbbd91ef883e3138e81b729fc3eea5b9729", size = 97712, upload-time = "2026-01-11T11:22:03.777Z" }, + { url = "https://files.pythonhosted.org/packages/69/13/c07a9177d0b3bab7913299b9278845fc6eaaca14a02667c6be0b0a2270c8/tomli-2.4.0-cp312-cp312-win_amd64.whl", hash = "sha256:685306e2cc7da35be4ee914fd34ab801a6acacb061b6a7abca922aaf9ad368da", size = 108296, upload-time = "2026-01-11T11:22:04.86Z" }, + { url = "https://files.pythonhosted.org/packages/18/27/e267a60bbeeee343bcc279bb9e8fbed0cbe224bc7b2a3dc2975f22809a09/tomli-2.4.0-cp312-cp312-win_arm64.whl", hash = "sha256:5aa48d7c2356055feef06a43611fc401a07337d5b006be13a30f6c58f869e3c3", size = 94553, upload-time = "2026-01-11T11:22:05.854Z" }, + { url = "https://files.pythonhosted.org/packages/23/d1/136eb2cb77520a31e1f64cbae9d33ec6df0d78bdf4160398e86eec8a8754/tomli-2.4.0-py3-none-any.whl", hash = "sha256:1f776e7d669ebceb01dee46484485f43a4048746235e683bcdffacdf1fb4785a", size = 14477, upload-time = "2026-01-11T11:22:37.446Z" }, ] [[package]] name = "toolz" -version = "1.0.0" +version = "1.1.0" source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/8a/0b/d80dfa675bf592f636d1ea0b835eab4ec8df6e9415d8cfd766df54456123/toolz-1.0.0.tar.gz", hash = "sha256:2c86e3d9a04798ac556793bced838816296a2f085017664e4995cb40a1047a02", size = 66790 } +sdist = { url = "https://files.pythonhosted.org/packages/11/d6/114b492226588d6ff54579d95847662fc69196bdeec318eb45393b24c192/toolz-1.1.0.tar.gz", hash = "sha256:27a5c770d068c110d9ed9323f24f1543e83b2f300a687b7891c1a6d56b697b5b", size = 52613, upload-time = "2025-10-17T04:03:21.661Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/03/98/eb27cc78ad3af8e302c9d8ff4977f5026676e130d28dd7578132a457170c/toolz-1.0.0-py3-none-any.whl", hash = "sha256:292c8f1c4e7516bf9086f8850935c799a874039c8bcf959d47b600e4c44a6236", size = 56383 }, + { url = "https://files.pythonhosted.org/packages/fb/12/5911ae3eeec47800503a238d971e51722ccea5feb8569b735184d5fcdbc0/toolz-1.1.0-py3-none-any.whl", hash = "sha256:15ccc861ac51c53696de0a5d6d4607f99c210739caf987b5d2054f3efed429d8", size = 58093, upload-time = "2025-10-17T04:03:20.435Z" }, ] [[package]] name = "typing-extensions" -version = "4.13.2" +version = "4.15.0" source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/f6/37/23083fcd6e35492953e8d2aaaa68b860eb422b34627b13f2ce3eb6106061/typing_extensions-4.13.2.tar.gz", hash = "sha256:e6c81219bd689f51865d9e372991c540bda33a0379d5573cddb9a3a23f7caaef", size = 106967 } +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/8b/54/b1ae86c0973cc6f0210b53d508ca3641fb6d0c56823f288d108bc7ab3cc8/typing_extensions-4.13.2-py3-none-any.whl", hash = "sha256:a439e7c04b49fec3e5d3e2beaa21755cadbbdc391694e28ccdd36ca4a1408f8c", size = 45806 }, + { 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" +version = "2025.3" 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/5e/a7/c202b344c5ca7daf398f3b8a477eeb205cf3b6f32e7ec3a6bac0629ca975/tzdata-2025.3.tar.gz", hash = "sha256:de39c2ca5dc7b0344f2eba86f49d614019d29f060fc4ebc8a417896a620b56a7", size = 196772, upload-time = "2025-12-13T17:45:35.667Z" } 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/c7/b0/003792df09decd6849a5e39c28b513c06e84436a54440380862b5aeff25d/tzdata-2025.3-py2.py3-none-any.whl", hash = "sha256:06a47e5700f3081aab02b2e513160914ff0694bce9947d6b76ebd6bf57cfc5d1", size = 348521, upload-time = "2025-12-13T17:45:33.889Z" }, ] [[package]] name = "urllib3" -version = "2.4.0" +version = "2.6.3" source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/8a/78/16493d9c386d8e60e442a35feac5e00f0913c0f4b7c217c11e8ec2ff53e0/urllib3-2.4.0.tar.gz", hash = "sha256:414bc6535b787febd7567804cc015fee39daab8ad86268f1310a9250697de466", size = 390672 } +sdist = { url = "https://files.pythonhosted.org/packages/c7/24/5f1b3bdffd70275f6661c76461e25f024d5a38a46f04aaca912426a2b1d3/urllib3-2.6.3.tar.gz", hash = "sha256:1b62b6884944a57dbe321509ab94fd4d3b307075e0c2eae991ac71ee15ad38ed", size = 435556, upload-time = "2026-01-07T16:24:43.925Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/6b/11/cc635220681e93a0183390e26485430ca2c7b5f9d33b15c74c2861cb8091/urllib3-2.4.0-py3-none-any.whl", hash = "sha256:4e16665048960a0900c702d4a66415956a584919c03361cac9f1df5c5dd7e813", size = 128680 }, + { url = "https://files.pythonhosted.org/packages/39/08/aaaad47bc4e9dc8c725e68f9d04865dbcb2052843ff09c97b08904852d84/urllib3-2.6.3-py3-none-any.whl", hash = "sha256:bf272323e553dfb2e87d9bfd225ca7b0f467b919d7bbd355436d3fd37cb0acd4", size = 131584, upload-time = "2026-01-07T16:24:42.685Z" }, ] [[package]] name = "virtualenv" -version = "20.30.0" +version = "21.2.0" source = { registry = "https://pypi.org/simple" } dependencies = [ { name = "distlib" }, - { name = "filelock" }, - { name = "platformdirs" }, + { name = "filelock", version = "3.19.1", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.10'" }, + { name = "filelock", version = "3.25.2", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.10'" }, + { name = "platformdirs", version = "4.4.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.10'" }, + { name = "platformdirs", version = "4.9.4", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.10'" }, + { name = "python-discovery" }, + { name = "typing-extensions", marker = "python_full_version < '3.11'" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/38/e0/633e369b91bbc664df47dcb5454b6c7cf441e8f5b9d0c250ce9f0546401e/virtualenv-20.30.0.tar.gz", hash = "sha256:800863162bcaa5450a6e4d721049730e7f2dae07720e0902b0e4040bd6f9ada8", size = 4346945 } +sdist = { url = "https://files.pythonhosted.org/packages/aa/92/58199fe10049f9703c2666e809c4f686c54ef0a68b0f6afccf518c0b1eb9/virtualenv-21.2.0.tar.gz", hash = "sha256:1720dc3a62ef5b443092e3f499228599045d7fea4c79199770499df8becf9098", size = 5840618, upload-time = "2026-03-09T17:24:38.013Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/4c/ed/3cfeb48175f0671ec430ede81f628f9fb2b1084c9064ca67ebe8c0ed6a05/virtualenv-20.30.0-py3-none-any.whl", hash = "sha256:e34302959180fca3af42d1800df014b35019490b119eba981af27f2fa486e5d6", size = 4329461 }, + { url = "https://files.pythonhosted.org/packages/c6/59/7d02447a55b2e55755011a647479041bc92a82e143f96a8195cb33bd0a1c/virtualenv-21.2.0-py3-none-any.whl", hash = "sha256:1bd755b504931164a5a496d217c014d098426cddc79363ad66ac78125f9d908f", size = 5825084, upload-time = "2026-03-09T17:24:35.378Z" }, ] From 1c788f930f63f941d057cc26e54eb9f080df9cd3 Mon Sep 17 00:00:00 2001 From: nick-fournier <45876721+nick-fournier@users.noreply.github.com> Date: Thu, 23 Apr 2026 11:42:50 -0700 Subject: [PATCH 11/20] encapsulate tests to avoid pipeline leakage --- tests/test_flex.py | 6 ++++-- tests/test_intermediate_geography.py | 14 +++++++------- tests/test_steps.py | 8 ++------ tests/test_steps_mp.py | 6 ++++++ tests/test_weighting.py | 6 ++++-- 5 files changed, 23 insertions(+), 17 deletions(-) diff --git a/tests/test_flex.py b/tests/test_flex.py index 4466bf53..54d8b515 100644 --- a/tests/test_flex.py +++ b/tests/test_flex.py @@ -28,6 +28,8 @@ def setup_function(): data_dir = example_dir / "example_test" / "data_flex" output_dir = Path(__file__).parent / "output" + inject.reinject_decorated_tables() + inject.add_injectable("data_dir", data_dir) inject.add_injectable("configs_dir", configs_dir) inject.add_injectable("output_dir", output_dir) @@ -43,8 +45,8 @@ def setup_function(): def teardown_function(): - # tables will no longer be available after pipeline is closed - pipeline.close_pipeline() + if pipeline.is_open(): + pipeline.close_pipeline() inject.clear_cache() inject.reinject_decorated_tables() diff --git a/tests/test_intermediate_geography.py b/tests/test_intermediate_geography.py index ad9e50c7..8f25872b 100644 --- a/tests/test_intermediate_geography.py +++ b/tests/test_intermediate_geography.py @@ -3,7 +3,13 @@ from populationsim.core import tracing, inject, pipeline +def setup_function(): + inject.reinject_decorated_tables() + + def teardown_function(func): + if pipeline.is_open(): + pipeline.close_pipeline() inject.clear_cache() inject.reinject_decorated_tables() @@ -15,8 +21,6 @@ def test_intermediate_geography(): data_dir = example_dir / "data_intermediate" output_dir = Path(__file__).parent / "output" - inject.reinject_decorated_tables() - inject.add_injectable("data_dir", data_dir) inject.add_injectable("configs_dir", configs_dir) inject.add_injectable("output_dir", output_dir) @@ -40,8 +44,4 @@ def test_intermediate_geography(): "write_synthetic_population", ] - pipeline.run(models=_MODELS, resume_after=None) - - pipeline.close_pipeline() - - inject.clear_cache() \ No newline at end of file + pipeline.run(models=_MODELS, resume_after=None) \ No newline at end of file diff --git a/tests/test_steps.py b/tests/test_steps.py index 41a14f17..27a712b1 100644 --- a/tests/test_steps.py +++ b/tests/test_steps.py @@ -33,6 +33,8 @@ def setup_function(): def teardown_function(func): + if pipeline.is_open(): + pipeline.close_pipeline() inject.clear_cache() inject.reinject_decorated_tables() @@ -79,8 +81,6 @@ def test_full_run1(): # tables will no longer be available after pipeline is closed pipeline.close_pipeline() - inject.clear_cache() - def test_full_run2_repop_replace(): # Note: tests are run in alphabetical order. @@ -116,8 +116,6 @@ def test_full_run2_repop_replace(): # tables will no longer be available after pipeline is closed pipeline.close_pipeline() - inject.clear_cache() - def test_full_run2_repop_append(): @@ -148,5 +146,3 @@ def test_full_run2_repop_append(): # tables will no longer be available after pipeline is closed pipeline.close_pipeline() - - inject.clear_cache() diff --git a/tests/test_steps_mp.py b/tests/test_steps_mp.py index 7474636a..7e642bfe 100644 --- a/tests/test_steps_mp.py +++ b/tests/test_steps_mp.py @@ -16,12 +16,16 @@ def setup_function(func): output_dir = Path(__file__).parent / "output" data_dir = example_dir / "example_test" / "data" + inject.reinject_decorated_tables() + inject.add_injectable( "configs_dir", [mp_configs_dir, configs_dir, example_configs_dir] ) inject.add_injectable("output_dir", output_dir) inject.add_injectable("data_dir", data_dir) + inject.clear_cache() + tracing.config_logger() tracing.delete_output_files("csv") @@ -52,6 +56,8 @@ def regress(): def teardown_function(func): + if pipeline.is_open(): + pipeline.close_pipeline() inject.clear_cache() inject.reinject_decorated_tables() diff --git a/tests/test_weighting.py b/tests/test_weighting.py index eb4be662..70934e0f 100644 --- a/tests/test_weighting.py +++ b/tests/test_weighting.py @@ -6,6 +6,8 @@ def teardown_function(func): + if pipeline.is_open(): + pipeline.close_pipeline() inject.clear_cache() inject.reinject_decorated_tables() @@ -18,6 +20,8 @@ def test_weighting(): output_dir = Path(__file__).parent / "output" expect_dir = Path(__file__).parent / "expected" + inject.reinject_decorated_tables() + inject.add_injectable("data_dir", data_dir) inject.add_injectable("configs_dir", configs_dir) inject.add_injectable("output_dir", output_dir) @@ -56,5 +60,3 @@ def test_weighting(): # tables will no longer be available after pipeline is closed pipeline.close_pipeline() - - inject.clear_cache() From b28cb81b0d87500cf1c1b8f411b016c67ed0664a Mon Sep 17 00:00:00 2001 From: nick-fournier <45876721+nick-fournier@users.noreply.github.com> Date: Thu, 23 Apr 2026 12:58:03 -0700 Subject: [PATCH 12/20] Cleanup install of package itself. Co-authored-by: Copilot --- .gitignore | 2 ++ pyproject.toml | 11 ++++------- uv.lock | 4 +--- 3 files changed, 7 insertions(+), 10 deletions(-) diff --git a/.gitignore b/.gitignore index cbe3e761..623456bc 100644 --- a/.gitignore +++ b/.gitignore @@ -1,5 +1,7 @@ scripts/calm_validation_results/ +.venv/ + regress/ .idea .ipynb_checkpoints diff --git a/pyproject.toml b/pyproject.toml index 8fe60d84..3aca1ef1 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -1,3 +1,7 @@ +[build-system] +requires = ["hatchling"] +build-backend = "hatchling.build" + [project] name = "populationsim" version = "0.10.0" @@ -25,7 +29,6 @@ dependencies = [ [dependency-groups] dev = [ "black>=25.1.0", - "populationsim", "pre-commit>=4.2.0", "pytest>=8.3.5", "pytest-cov>=5.0.0", @@ -42,11 +45,5 @@ testpaths = [ "tests", ] -[tool.setuptools.packages.find] -where = ["."] - -[tool.uv.sources] -populationsim = { workspace = true } - [project.scripts] populationsim = "populationsim.__main__:main" diff --git a/uv.lock b/uv.lock index 29e10f2f..5edee628 100644 --- a/uv.lock +++ b/uv.lock @@ -1417,7 +1417,7 @@ wheels = [ [[package]] name = "populationsim" version = "0.10.0" -source = { virtual = "." } +source = { editable = "." } dependencies = [ { name = "blosc2", version = "2.5.1", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.10'" }, { name = "blosc2", version = "4.1.2", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.10'" }, @@ -1443,7 +1443,6 @@ dependencies = [ dev = [ { name = "black", version = "25.11.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.10'" }, { name = "black", version = "26.3.1", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.10'" }, - { name = "populationsim" }, { name = "pre-commit", version = "4.3.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.10'" }, { name = "pre-commit", version = "4.5.1", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.10'" }, { name = "pytest", version = "8.4.2", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.10'" }, @@ -1471,7 +1470,6 @@ requires-dist = [ [package.metadata.requires-dev] dev = [ { name = "black", specifier = ">=25.1.0" }, - { name = "populationsim", virtual = "." }, { name = "pre-commit", specifier = ">=4.2.0" }, { name = "pytest", specifier = ">=8.3.5" }, { name = "pytest-cov", specifier = ">=5.0.0" }, From 4be40d69ccb2eee3db553ae871fa1b7a32c1b8b7 Mon Sep 17 00:00:00 2001 From: nick-fournier <45876721+nick-fournier@users.noreply.github.com> Date: Thu, 23 Apr 2026 13:21:48 -0700 Subject: [PATCH 13/20] test fix -- OS specific results due to compiled RNG differences --- tests/__init__.py | 14 ++ tests/expected/linux/expanded.parquet | Bin 0 -> 12949 bytes tests/expected/linux/expanded_cvxpy.parquet | Bin 0 -> 14000 bytes tests/expected/linux/expanded_mp.parquet | Bin 0 -> 13752 bytes tests/expected/linux/expanded_ortools.parquet | Bin 0 -> 14000 bytes .../linux/expanded_repop_append.parquet | Bin 0 -> 13678 bytes .../linux/expanded_repop_replace.parquet | Bin 0 -> 12858 bytes tests/expected/linux/weights.parquet | Bin 0 -> 343447 bytes tests/expected/{ => win32}/expanded.parquet | Bin .../{ => win32}/expanded_cvxpy.parquet | Bin .../expected/{ => win32}/expanded_mp.parquet | Bin .../{ => win32}/expanded_ortools.parquet | Bin .../{ => win32}/expanded_repop_append.parquet | Bin .../expanded_repop_replace.parquet | Bin tests/expected/{ => win32}/weights.parquet | Bin tests/generate_expected.py | 214 ++++++++++++++++++ tests/test_flex.py | 3 +- tests/test_steps.py | 13 +- tests/test_steps_mp.py | 5 +- tests/test_weighting.py | 3 +- 20 files changed, 238 insertions(+), 14 deletions(-) create mode 100644 tests/expected/linux/expanded.parquet create mode 100644 tests/expected/linux/expanded_cvxpy.parquet create mode 100644 tests/expected/linux/expanded_mp.parquet create mode 100644 tests/expected/linux/expanded_ortools.parquet create mode 100644 tests/expected/linux/expanded_repop_append.parquet create mode 100644 tests/expected/linux/expanded_repop_replace.parquet create mode 100644 tests/expected/linux/weights.parquet rename tests/expected/{ => win32}/expanded.parquet (100%) rename tests/expected/{ => win32}/expanded_cvxpy.parquet (100%) rename tests/expected/{ => win32}/expanded_mp.parquet (100%) rename tests/expected/{ => win32}/expanded_ortools.parquet (100%) rename tests/expected/{ => win32}/expanded_repop_append.parquet (100%) rename tests/expected/{ => win32}/expanded_repop_replace.parquet (100%) rename tests/expected/{ => win32}/weights.parquet (100%) create mode 100644 tests/generate_expected.py diff --git a/tests/__init__.py b/tests/__init__.py index 72f5be0f..cf056a4b 100644 --- a/tests/__init__.py +++ b/tests/__init__.py @@ -1,2 +1,16 @@ # PopulationSim # See full license in LICENSE.txt. + +import sys +from pathlib import Path + +EXPECTED_DIR = Path(__file__).parent / "expected" + + +def expected_path(name: str) -> Path: + """Return the platform-specific expected parquet file. + + Returns ``expected//.parquet`` (e.g. + ``expected/linux/expanded.parquet``). + """ + return EXPECTED_DIR / sys.platform / f"{name}.parquet" diff --git a/tests/expected/linux/expanded.parquet b/tests/expected/linux/expanded.parquet new file mode 100644 index 0000000000000000000000000000000000000000..0f295aa8f0d76a1f45ca900403a661083ef35d7c GIT binary patch literal 12949 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 RBzpNzl%p>a`SBl8{uhu^R;2&{ literal 0 HcmV?d00001 diff --git a/tests/expected/linux/expanded_cvxpy.parquet b/tests/expected/linux/expanded_cvxpy.parquet new file mode 100644 index 0000000000000000000000000000000000000000..66248eb208212cb7b69b5b08c429d4db10546741 GIT binary patch literal 14000 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 literal 0 HcmV?d00001 diff --git a/tests/expected/linux/expanded_mp.parquet b/tests/expected/linux/expanded_mp.parquet new file mode 100644 index 0000000000000000000000000000000000000000..f33b3b50c012998c71146f7335f4e658137851c6 GIT binary patch literal 13752 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 L%-$FOXY0QJ>9`+g literal 0 HcmV?d00001 diff --git a/tests/expected/linux/expanded_ortools.parquet b/tests/expected/linux/expanded_ortools.parquet new file mode 100644 index 0000000000000000000000000000000000000000..66248eb208212cb7b69b5b08c429d4db10546741 GIT binary patch literal 14000 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 literal 0 HcmV?d00001 diff --git a/tests/expected/linux/expanded_repop_append.parquet b/tests/expected/linux/expanded_repop_append.parquet new file mode 100644 index 0000000000000000000000000000000000000000..5a79087f0343359263cb98ec4ceddbc6fe4aa9a5 GIT binary patch literal 13678 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 E0xxto$N&HU literal 0 HcmV?d00001 diff --git a/tests/expected/linux/weights.parquet b/tests/expected/linux/weights.parquet new file mode 100644 index 0000000000000000000000000000000000000000..644d21c2258a3c817bca9619e17fb8d87b999569 GIT binary patch literal 343447 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%0Ang3ykMV)M=t$`p+R2%SnOk*; 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Ν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 literal 0 HcmV?d00001 diff --git a/tests/expected/expanded.parquet b/tests/expected/win32/expanded.parquet similarity index 100% rename from tests/expected/expanded.parquet rename to tests/expected/win32/expanded.parquet diff --git a/tests/expected/expanded_cvxpy.parquet b/tests/expected/win32/expanded_cvxpy.parquet similarity index 100% rename from tests/expected/expanded_cvxpy.parquet rename to tests/expected/win32/expanded_cvxpy.parquet diff --git a/tests/expected/expanded_mp.parquet b/tests/expected/win32/expanded_mp.parquet similarity index 100% rename from tests/expected/expanded_mp.parquet rename to tests/expected/win32/expanded_mp.parquet diff --git a/tests/expected/expanded_ortools.parquet b/tests/expected/win32/expanded_ortools.parquet similarity index 100% rename from tests/expected/expanded_ortools.parquet rename to tests/expected/win32/expanded_ortools.parquet diff --git a/tests/expected/expanded_repop_append.parquet b/tests/expected/win32/expanded_repop_append.parquet similarity index 100% rename from tests/expected/expanded_repop_append.parquet rename to tests/expected/win32/expanded_repop_append.parquet diff --git a/tests/expected/expanded_repop_replace.parquet b/tests/expected/win32/expanded_repop_replace.parquet similarity index 100% rename from tests/expected/expanded_repop_replace.parquet rename to tests/expected/win32/expanded_repop_replace.parquet diff --git a/tests/expected/weights.parquet b/tests/expected/win32/weights.parquet similarity index 100% rename from tests/expected/weights.parquet rename to tests/expected/win32/weights.parquet diff --git a/tests/generate_expected.py b/tests/generate_expected.py new file mode 100644 index 00000000..a68228f0 --- /dev/null +++ b/tests/generate_expected.py @@ -0,0 +1,214 @@ +""" +Generate platform-specific expected parquet files for regression tests. + +MILP solver results vary across platforms (Windows/Linux/macOS) due to +differences in floating-point behavior and compiled CBC binaries. This script +runs the pipeline and saves expected outputs with a platform suffix. + +Usage: + python tests/generate_expected.py + +Output files are written to tests/expected/ with the naming convention: + _.parquet + +where is 'win32', 'linux', or 'darwin'. +""" + +import sys +from pathlib import Path + +import pandas as pd + +from populationsim.core import config, tracing, inject, pipeline + +PLATFORM = sys.platform # 'win32', 'linux', or 'darwin' + +TESTS_DIR = Path(__file__).parent +EXPECTED_DIR = TESTS_DIR / "expected" / PLATFORM +EXAMPLE_DIR = TESTS_DIR.parent / "examples" + + +def setup_injectables(configs_dirs, data_dir): + inject.reinject_decorated_tables() + inject.add_injectable("configs_dir", configs_dirs) + inject.add_injectable("output_dir", TESTS_DIR / "output") + inject.add_injectable("data_dir", data_dir) + inject.clear_cache() + tracing.config_logger() + + +def save_expected(df, name): + EXPECTED_DIR.mkdir(parents=True, exist_ok=True) + path = EXPECTED_DIR / f"{name}.parquet" + df.to_parquet(path) + print(f" {PLATFORM}/{name}.parquet: {df.shape}") + + +def generate_test_steps(): + """Generate expected files for test_steps.py (full run + repop replace + repop append).""" + print("=== test_steps ===") + + example_configs_dir = EXAMPLE_DIR / "example_test" / "configs" + configs_dirs = [TESTS_DIR / "configs", example_configs_dir] + data_dir = EXAMPLE_DIR / "example_test" / "data" + + models_run1 = [ + "input_pre_processor", + "setup_data_structures", + "initial_seed_balancing", + "meta_control_factoring", + "final_seed_balancing", + "integerize_final_seed_weights", + "sub_balancing.geography=TRACT", + "sub_balancing.geography=TAZ", + "expand_households", + "summarize", + "write_tables", + "write_synthetic_population", + ] + + models_repop_replace = [ + "input_pre_processor.table_list=repop_input_table_list;repop", + "repop_setup_data_structures", + "initial_seed_balancing.final=true;repop", + "integerize_final_seed_weights.repop", + "repop_balancing", + "expand_households.repop;replace", + "write_synthetic_population.repop", + "write_tables.repop", + ] + + models_repop_append = [ + "input_pre_processor.table_list=repop_input_table_list;repop", + "repop_setup_data_structures", + "initial_seed_balancing.final=true;repop", + "integerize_final_seed_weights.repop", + "repop_balancing", + "expand_households.repop;append", + "write_synthetic_population.repop", + ] + + # --- Run 1: full run --- + setup_injectables(configs_dirs, data_dir) + pipeline.run(models=models_run1, resume_after=None) + save_expected(pipeline.get_table("expanded_household_ids"), "expanded") + pipeline.close_pipeline() + inject.clear_cache() + + # --- Run 2: repop replace (resumes from run1's summarize checkpoint) --- + setup_injectables(configs_dirs, data_dir) + pipeline.run(models=models_repop_replace, resume_after="summarize") + save_expected(pipeline.get_table("expanded_household_ids"), "expanded_repop_replace") + pipeline.close_pipeline() + inject.clear_cache() + + # --- Run 3: repop append (needs fresh run1, then append) --- + setup_injectables(configs_dirs, data_dir) + pipeline.run(models=models_run1, resume_after=None) + pipeline.close_pipeline() + inject.clear_cache() + + setup_injectables(configs_dirs, data_dir) + pipeline.run(models=models_repop_append, resume_after="summarize") + save_expected(pipeline.get_table("expanded_household_ids"), "expanded_repop_append") + pipeline.close_pipeline() + inject.clear_cache() + + +def generate_test_steps_mp(): + """Generate expected files for test_steps_mp.py.""" + from populationsim.core import mp_tasks + + print("=== test_steps_mp ===") + + example_configs_dir = EXAMPLE_DIR / "example_test" / "configs" + mp_configs_dir = EXAMPLE_DIR / "example_test" / "configs_mp" + configs_dirs = [mp_configs_dir, TESTS_DIR / "configs", example_configs_dir] + data_dir = EXAMPLE_DIR / "example_test" / "data" + + setup_injectables(configs_dirs, data_dir) + + injectables = ["data_dir", "configs_dir", "output_dir"] + injectables = {k: inject.get_injectable(k) for k in injectables} + mp_tasks.run_multiprocess(injectables) + + pipeline.open_pipeline("_") + save_expected(pipeline.get_table("expanded_household_ids"), "expanded_mp") + pipeline.close_pipeline() + inject.clear_cache() + inject.reinject_decorated_tables() + + +def generate_test_flex(): + """Generate expected files for test_flex.py (ortools and cvxpy).""" + print("=== test_flex ===") + + configs_dir = EXAMPLE_DIR / "example_test" / "configs_flex" + data_dir = EXAMPLE_DIR / "example_test" / "data_flex" + + models = [ + "input_pre_processor", + "setup_data_structures", + "initial_seed_balancing", + "meta_control_factoring", + "final_seed_balancing", + "integerize_final_seed_weights", + "sub_balancing.geography=DISTRICT", + "sub_balancing.geography=TRACT", + "sub_balancing.geography=TAZ", + "expand_households", + "summarize", + "write_tables", + ] + + for solver_name, use_cvxpy in [("ortools", False), ("cvxpy", True)]: + setup_injectables(configs_dir, data_dir) + config.override_setting("cleanup_pipeline_after_run", True) + config.override_setting("NO_INTEGERIZATION_EVER", False) + config.override_setting("USE_CVXPY", use_cvxpy) + + pipeline.run(models=models, resume_after=None) + save_expected(pipeline.get_table("expanded_household_ids"), f"expanded_{solver_name}") + pipeline.close_pipeline() + inject.clear_cache() + inject.reinject_decorated_tables() + + +def generate_test_weighting(): + """Generate expected files for test_weighting.py.""" + print("=== test_weighting ===") + + example_dir = EXAMPLE_DIR / "example_survey_weighting" + configs_dir = example_dir / "configs" + data_dir = example_dir / "data" + + setup_injectables(configs_dir, data_dir) + + models = [ + "input_pre_processor", + "setup_data_structures", + "initial_seed_balancing", + "meta_control_factoring", + "final_seed_balancing", + "summarize", + ] + + pipeline.run(models=models, resume_after=None) + summary = pipeline.get_table("summary_hh_weights") + save_expected(summary, "weights") + pipeline.close_pipeline() + inject.clear_cache() + + +if __name__ == "__main__": + print(f"Generating expected files for platform: {PLATFORM}") + print(f"Output directory: {EXPECTED_DIR}") + EXPECTED_DIR.mkdir(parents=True, exist_ok=True) + print() + + generate_test_steps() + generate_test_flex() + generate_test_steps_mp() + generate_test_weighting() + + print(f"\nDone! All expected files generated for '{PLATFORM}'.") diff --git a/tests/test_flex.py b/tests/test_flex.py index 54d8b515..ad99d6e2 100644 --- a/tests/test_flex.py +++ b/tests/test_flex.py @@ -3,6 +3,7 @@ from pathlib import Path from populationsim.core import config, tracing, inject, pipeline +from tests import expected_path _MODELS = [ "input_pre_processor", @@ -101,7 +102,7 @@ def test_full_run_flex(params): expected_hh_ids = pd.DataFrame() else: expected_hh_ids = pd.read_parquet( - Path(__file__).parent / "expected" / params["expected_fname"] + expected_path(params["expected_fname"].removesuffix(".parquet")) ) # Compare the two dataframes diff --git a/tests/test_steps.py b/tests/test_steps.py index 27a712b1..887e2329 100644 --- a/tests/test_steps.py +++ b/tests/test_steps.py @@ -2,6 +2,7 @@ import pandas as pd from populationsim.core import tracing, inject, pipeline +from tests import expected_path TAZ_COUNT = 36 TAZ_100_HH_COUNT = 33 @@ -71,9 +72,7 @@ def test_full_run1(): assert not (output_dir / "households.csv").exists() assert (output_dir / "summary_DISTRICT_1.csv").exists() - expected_hh_ids = pd.read_parquet( - Path(__file__).parent / "expected" / "expanded.parquet" - ) + expected_hh_ids = pd.read_parquet(expected_path("expanded")) # Compare the two dataframes assert expanded_household_ids.equals(expected_hh_ids) @@ -106,9 +105,7 @@ def test_full_run2_repop_replace(): assert len(taz_hh_counts) == TAZ_COUNT assert taz_hh_counts.loc[100] == TAZ_100_HH_REPOP_COUNT - expected_hh_ids = pd.read_parquet( - Path(__file__).parent / "expected" / "expanded_repop_replace.parquet" - ) + expected_hh_ids = pd.read_parquet(expected_path("expanded_repop_replace")) # Compare the two dataframes assert expanded_household_ids.equals(expected_hh_ids) @@ -137,9 +134,7 @@ def test_full_run2_repop_append(): assert len(taz_hh_counts) == TAZ_COUNT assert taz_hh_counts.loc[100] == TAZ_100_HH_COUNT + TAZ_100_HH_REPOP_COUNT - expected_hh_ids = pd.read_parquet( - Path(__file__).parent / "expected" / "expanded_repop_append.parquet" - ) + expected_hh_ids = pd.read_parquet(expected_path("expanded_repop_append")) # Compare the two dataframes assert expanded_household_ids.equals(expected_hh_ids) diff --git a/tests/test_steps_mp.py b/tests/test_steps_mp.py index 7e642bfe..ebc2f3b6 100644 --- a/tests/test_steps_mp.py +++ b/tests/test_steps_mp.py @@ -2,6 +2,7 @@ import pandas as pd from populationsim.core import tracing, inject, pipeline, mp_tasks +from tests import expected_path TAZ_COUNT = 36 TAZ_100_HH_COUNT = 33 @@ -47,9 +48,7 @@ def regress(): assert not (output_dir / "households.csv").exists() assert (output_dir / "summary_DISTRICT_1.csv").exists() - expected_hh_ids = pd.read_parquet( - Path(__file__).parent / "expected" / "expanded_mp.parquet" - ) + expected_hh_ids = pd.read_parquet(expected_path("expanded_mp")) # Compare the two dataframes assert expanded_household_ids.equals(expected_hh_ids) diff --git a/tests/test_weighting.py b/tests/test_weighting.py index 70934e0f..6ba4be3e 100644 --- a/tests/test_weighting.py +++ b/tests/test_weighting.py @@ -3,6 +3,7 @@ from pathlib import Path from populationsim.core import tracing, inject, pipeline +from tests import expected_path def teardown_function(func): @@ -51,7 +52,7 @@ def test_weighting(): # Should be pretty close but not exact. assert abs(total_summary_hh_weights - total_seed_households_weights) < 1 - expected_wts = pd.read_parquet(expect_dir / "weights.parquet") + expected_wts = pd.read_parquet(expected_path("weights")) np.allclose( summary_hh_weights["SUBREGCluster_balanced_weight"].values, From 8e20cbf457a26a88a1d0eac57e9f137565094a5d Mon Sep 17 00:00:00 2001 From: nick-fournier <45876721+nick-fournier@users.noreply.github.com> Date: Thu, 23 Apr 2026 13:39:30 -0700 Subject: [PATCH 14/20] modernized travis ci --- .travis.yml | 26 ++++++-------------------- 1 file changed, 6 insertions(+), 20 deletions(-) diff --git a/.travis.yml b/.travis.yml index 8c1eac3c..79e08df0 100644 --- a/.travis.yml +++ b/.travis.yml @@ -1,7 +1,5 @@ language: python -sudo: false - python: - '3.9' - '3.10' @@ -9,27 +7,15 @@ python: - '3.12' install: -- wget https://repo.continuum.io/miniconda/Miniconda3-latest-Linux-x86_64.sh -O miniconda.sh -- bash miniconda.sh -b -p $HOME/miniconda -- source "$HOME/miniconda/etc/profile.d/conda.sh" -- hash -r -- conda config --set always_yes yes --set changeps1 no -- conda update -q conda -- conda info -a -- conda create -q -n test-environment python=$TRAVIS_PYTHON_VERSION -- conda activate test-environment -- conda install pytest pytest-cov coveralls pycodestyle cytoolz -- pip install . -- pip freeze +- curl -LsSf https://astral.sh/uv/install.sh | sh +- uv sync +- uv run python -c "import populationsim" script: -- pycodestyle populationsim -- py.test --cov populationsim --cov-report term-missing - -after_success: -- coveralls +- uv run ruff check populationsim +- uv run pytest --cov populationsim --cov-report term-missing # Build docs -- pip install sphinx numpydoc sphinx_rtd_theme==0.5.2 +- uv pip install sphinx numpydoc sphinx_rtd_theme==0.5.2 - cd docs - make clean - make html From ca338f6dbe2f155be7995469feb4f31eaa2297e4 Mon Sep 17 00:00:00 2001 From: nick-fournier <45876721+nick-fournier@users.noreply.github.com> Date: Thu, 23 Apr 2026 13:52:07 -0700 Subject: [PATCH 15/20] fix sphinx doc bug --- docs/conf.py | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/docs/conf.py b/docs/conf.py index 5e036b66..a4d5b015 100644 --- a/docs/conf.py +++ b/docs/conf.py @@ -16,12 +16,12 @@ import sphinx_rtd_theme # -- Get Package Version -------------------------------------------------- -with open("../setup.py") as file: - lines = file.readlines() - for line in lines: - if "version" in line: - VERSION = line.replace("version='", "").replace("',", "").replace(" ", "") - print("package version: " + VERSION) +try: + from importlib.metadata import version as get_version + VERSION = get_version("populationsim") +except Exception: + VERSION = "unknown" +print("package version: " + VERSION) # If extensions (or modules to document with autodoc) are in another directory, # add these directories to sys.path here. If the directory is relative to the From 057747c99f4172634a02076efc3377ef18d34504 Mon Sep 17 00:00:00 2001 From: JoeJimFlood Date: Thu, 23 Apr 2026 14:11:59 -0700 Subject: [PATCH 16/20] Removed lines causing linting issues --- tests/generate_expected.py | 2 -- tests/test_weighting.py | 1 - 2 files changed, 3 deletions(-) diff --git a/tests/generate_expected.py b/tests/generate_expected.py index a68228f0..f4d45bf0 100644 --- a/tests/generate_expected.py +++ b/tests/generate_expected.py @@ -17,8 +17,6 @@ import sys from pathlib import Path -import pandas as pd - from populationsim.core import config, tracing, inject, pipeline PLATFORM = sys.platform # 'win32', 'linux', or 'darwin' diff --git a/tests/test_weighting.py b/tests/test_weighting.py index 6ba4be3e..6475235e 100644 --- a/tests/test_weighting.py +++ b/tests/test_weighting.py @@ -19,7 +19,6 @@ def test_weighting(): configs_dir = example_dir / "configs" data_dir = example_dir / "data" output_dir = Path(__file__).parent / "output" - expect_dir = Path(__file__).parent / "expected" inject.reinject_decorated_tables() From 921ff26d90f87a0013ad860e9b92424290392c5c Mon Sep 17 00:00:00 2001 From: JoeJimFlood Date: Fri, 1 May 2026 16:52:40 -0700 Subject: [PATCH 17/20] Attempted fix suggested by Copilot to get tests to work --- tests/test_steps.py | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/tests/test_steps.py b/tests/test_steps.py index 887e2329..f83ba8ff 100644 --- a/tests/test_steps.py +++ b/tests/test_steps.py @@ -8,6 +8,11 @@ TAZ_100_HH_COUNT = 33 TAZ_100_HH_REPOP_COUNT = 26 +def assert_df_same_rows(a: pd.DataFrame, b: pd.DataFrame, sort_cols): + a2 = a.sort_values(sort_cols).reset_index(drop=True) + b2 = b.sort_values(sort_cols).reset_index(drop=True) + pd.testing.assert_frame_equal(a2, b2, check_dtype=False) + def setup_function(): @@ -75,7 +80,7 @@ def test_full_run1(): expected_hh_ids = pd.read_parquet(expected_path("expanded")) # Compare the two dataframes - assert expanded_household_ids.equals(expected_hh_ids) + assert_df_same_rows(expanded_household_ids, expected_hh_ids, ["PUMA", "TRACT", "TAZ", "hh_id"]) # tables will no longer be available after pipeline is closed pipeline.close_pipeline() @@ -108,7 +113,7 @@ def test_full_run2_repop_replace(): expected_hh_ids = pd.read_parquet(expected_path("expanded_repop_replace")) # Compare the two dataframes - assert expanded_household_ids.equals(expected_hh_ids) + assert_df_same_rows(expanded_household_ids, expected_hh_ids, ["PUMA", "TRACT", "TAZ", "hh_id"]) # tables will no longer be available after pipeline is closed pipeline.close_pipeline() @@ -137,7 +142,7 @@ def test_full_run2_repop_append(): expected_hh_ids = pd.read_parquet(expected_path("expanded_repop_append")) # Compare the two dataframes - assert expanded_household_ids.equals(expected_hh_ids) + assert_df_same_rows(expanded_household_ids, expected_hh_ids, ["PUMA", "TRACT", "TAZ", "hh_id"]) # tables will no longer be available after pipeline is closed pipeline.close_pipeline() From 0fb8842f284202a1af12096833432d95be209fa8 Mon Sep 17 00:00:00 2001 From: JoeJimFlood Date: Fri, 1 May 2026 17:01:26 -0700 Subject: [PATCH 18/20] Revert "Removed lines causing linting issues" This reverts commit 057747c99f4172634a02076efc3377ef18d34504. --- tests/generate_expected.py | 2 ++ tests/test_weighting.py | 1 + 2 files changed, 3 insertions(+) diff --git a/tests/generate_expected.py b/tests/generate_expected.py index f4d45bf0..a68228f0 100644 --- a/tests/generate_expected.py +++ b/tests/generate_expected.py @@ -17,6 +17,8 @@ import sys from pathlib import Path +import pandas as pd + from populationsim.core import config, tracing, inject, pipeline PLATFORM = sys.platform # 'win32', 'linux', or 'darwin' diff --git a/tests/test_weighting.py b/tests/test_weighting.py index 6475235e..6ba4be3e 100644 --- a/tests/test_weighting.py +++ b/tests/test_weighting.py @@ -19,6 +19,7 @@ def test_weighting(): configs_dir = example_dir / "configs" data_dir = example_dir / "data" output_dir = Path(__file__).parent / "output" + expect_dir = Path(__file__).parent / "expected" inject.reinject_decorated_tables() From aaed68c6ea440ef54b5cfd78c8973005683006c5 Mon Sep 17 00:00:00 2001 From: JoeJimFlood Date: Fri, 1 May 2026 17:06:31 -0700 Subject: [PATCH 19/20] Reapply "Removed lines causing linting issues" This reverts commit 0fb8842f284202a1af12096833432d95be209fa8. --- tests/generate_expected.py | 2 -- tests/test_weighting.py | 1 - 2 files changed, 3 deletions(-) diff --git a/tests/generate_expected.py b/tests/generate_expected.py index a68228f0..f4d45bf0 100644 --- a/tests/generate_expected.py +++ b/tests/generate_expected.py @@ -17,8 +17,6 @@ import sys from pathlib import Path -import pandas as pd - from populationsim.core import config, tracing, inject, pipeline PLATFORM = sys.platform # 'win32', 'linux', or 'darwin' diff --git a/tests/test_weighting.py b/tests/test_weighting.py index 6ba4be3e..6475235e 100644 --- a/tests/test_weighting.py +++ b/tests/test_weighting.py @@ -19,7 +19,6 @@ def test_weighting(): configs_dir = example_dir / "configs" data_dir = example_dir / "data" output_dir = Path(__file__).parent / "output" - expect_dir = Path(__file__).parent / "expected" inject.reinject_decorated_tables() From 7e46b85655616812a528d4b06e59939b9e7f8539 Mon Sep 17 00:00:00 2001 From: JoeJimFlood Date: Mon, 4 May 2026 10:57:19 -0700 Subject: [PATCH 20/20] Removed functions that AI had suggested for testing --- tests/test_steps.py | 11 +++-------- 1 file changed, 3 insertions(+), 8 deletions(-) diff --git a/tests/test_steps.py b/tests/test_steps.py index f83ba8ff..887e2329 100644 --- a/tests/test_steps.py +++ b/tests/test_steps.py @@ -8,11 +8,6 @@ TAZ_100_HH_COUNT = 33 TAZ_100_HH_REPOP_COUNT = 26 -def assert_df_same_rows(a: pd.DataFrame, b: pd.DataFrame, sort_cols): - a2 = a.sort_values(sort_cols).reset_index(drop=True) - b2 = b.sort_values(sort_cols).reset_index(drop=True) - pd.testing.assert_frame_equal(a2, b2, check_dtype=False) - def setup_function(): @@ -80,7 +75,7 @@ def test_full_run1(): expected_hh_ids = pd.read_parquet(expected_path("expanded")) # Compare the two dataframes - assert_df_same_rows(expanded_household_ids, expected_hh_ids, ["PUMA", "TRACT", "TAZ", "hh_id"]) + assert expanded_household_ids.equals(expected_hh_ids) # tables will no longer be available after pipeline is closed pipeline.close_pipeline() @@ -113,7 +108,7 @@ def test_full_run2_repop_replace(): expected_hh_ids = pd.read_parquet(expected_path("expanded_repop_replace")) # Compare the two dataframes - assert_df_same_rows(expanded_household_ids, expected_hh_ids, ["PUMA", "TRACT", "TAZ", "hh_id"]) + assert expanded_household_ids.equals(expected_hh_ids) # tables will no longer be available after pipeline is closed pipeline.close_pipeline() @@ -142,7 +137,7 @@ def test_full_run2_repop_append(): expected_hh_ids = pd.read_parquet(expected_path("expanded_repop_append")) # Compare the two dataframes - assert_df_same_rows(expanded_household_ids, expected_hh_ids, ["PUMA", "TRACT", "TAZ", "hh_id"]) + assert expanded_household_ids.equals(expected_hh_ids) # tables will no longer be available after pipeline is closed pipeline.close_pipeline()