From f8af7915f2c24231a0a273b2d1e8f3274e35eda2 Mon Sep 17 00:00:00 2001 From: Christian Sanchez Date: Thu, 18 Dec 2025 18:50:39 -0800 Subject: [PATCH 01/50] updating version numbers --- .github/workflows/ci.yml | 2 +- .goreleaser.yml | 2 +- Dockerfile | 2 +- REFACTORING.md | 381 ++++++++++++++++++ .../pipelines/poke_cli_dbt/dbt_project.yml | 2 +- nfpm.yaml | 2 +- 6 files changed, 386 insertions(+), 5 deletions(-) create mode 100644 REFACTORING.md diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 13e130a..887d24a 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -30,7 +30,7 @@ on: - main env: - VERSION_NUMBER: 'v1.8.2' + VERSION_NUMBER: 'v1.8.3' DOCKERHUB_REGISTRY_NAME: 'digitalghostdev/poke-cli' AWS_REGION: 'us-west-2' diff --git a/.goreleaser.yml b/.goreleaser.yml index 8a53370..bc74fb2 100644 --- a/.goreleaser.yml +++ b/.goreleaser.yml @@ -14,7 +14,7 @@ builds: - windows - darwin ldflags: - - -s -w -X main.version=v1.8.2 + - -s -w -X main.version=v1.8.3 archives: - formats: [ 'zip' ] diff --git a/Dockerfile b/Dockerfile index f97a844..9d10a20 100644 --- a/Dockerfile +++ b/Dockerfile @@ -8,7 +8,7 @@ RUN go mod download COPY . . -RUN go build -ldflags "-X main.version=v1.8.2" -o poke-cli . +RUN go build -ldflags "-X main.version=v1.8.3" -o poke-cli . # build 2 FROM --platform=$BUILDPLATFORM alpine:3.23 diff --git a/REFACTORING.md b/REFACTORING.md new file mode 100644 index 0000000..54c5dfe --- /dev/null +++ b/REFACTORING.md @@ -0,0 +1,381 @@ +# Refactoring TODO List for v1.8.x + +> Last reviewed: December 17, 2025 + +This document tracks DRY improvements, code quality fixes, and refactoring opportunities for the poke-cli project during the v1.8.x maintenance phase. + +--- + +## Completed Items + +These items from the previous review have been addressed: + +- [x] **Error surfacing in image viewer** (`cmd/card/imageviewer.go`) + - `imageReadyMsg` now carries a proper `err error` field + - `Update()` properly checks `msg.err` and sets `m.Error` + - `View()` uses `styling.Red.Render()` for error display + +- [x] **Avoid printing from library functions** (`connections/connection.go`) + - No more `fmt.Println(err)` in connection functions + - All errors are properly returned to callers + - `FetchEndpoint` returns styled error messages + +--- + +## High Priority + +### 1. Consolidate argument validators (`cmd/utils/validateargs.go`) + +**Current state:** 9 separate `ValidateXArgs` functions with significant duplication. + +**Issue:** +- `ValidateBerryArgs`, `ValidateCardArgs`, `ValidateNaturesArgs`, `ValidateSearchArgs`, `ValidateSpeedArgs`, `ValidateTypesArgs` are nearly identical (just different command names) +- All call `checkLength()` and `checkNoOtherOptions()` with the same pattern + +**Suggestion:** Create a parameterized validator: + +```go +type ValidatorConfig struct { + MaxArgs int + CommandName string // for error message + RequireName bool // some commands require a resource name (ability, item, move) +} + +func ValidateArgs(args []string, cfg ValidatorConfig) error { + if err := checkLength(args, cfg.MaxArgs); err != nil { + return err + } + if cfg.RequireName && len(args) == 2 { + return fmt.Errorf("Please specify a %s", cfg.CommandName) + } + if err := checkNoOtherOptions(args, cfg.MaxArgs, cfg.CommandName); err != nil { + return err + } + return nil +} +``` + +**Impact:** Reduce from 9 functions to ~3 (generic + ability + pokemon special cases) + +--- + +### 2. Deduplicate command list in cli.go + +**Current state:** Command names and descriptions appear twice: +- Lines 73-82: Help menu under "COMMANDS:" +- Lines 151-160: Error message when invalid command provided + +**Suggestion:** + +```go +var commandDescriptions = []struct { + name string + desc string +}{ + {"ability", "Get details about an ability"}, + {"berry", "Get details about a berry"}, + // ... +} + +func renderCommandList() string { + var sb strings.Builder + for _, cmd := range commandDescriptions { + sb.WriteString(fmt.Sprintf("\n\t%-15s %s", cmd.name, cmd.desc)) + } + return sb.String() +} +``` + +**Impact:** Single source of truth for command list; easier to add/remove commands + +--- + +### 3. Return struct from SetupPokemonFlagSet (`flags/pokemonflagset.go:43-82`) + +**Current state:** Returns 13 separate values: +```go +return pokeFlags, abilitiesFlag, shortAbilitiesFlag, defenseFlag, shortDefenseFlag, + imageFlag, shortImageFlag, moveFlag, shortMoveFlag, statsFlag, shortStatsFlag, + typesFlag, shortTypesFlag +``` + +**Suggestion:** + +```go +type PokemonFlags struct { + FlagSet *flag.FlagSet + Abilities *bool + ShortAbilities *bool + Defense *bool + ShortDefense *bool + Image *string + ShortImage *string + Move *bool + ShortMove *bool + Stats *bool + ShortStats *bool + Types *bool + ShortTypes *bool +} + +func SetupPokemonFlagSet() *PokemonFlags { + pf := &PokemonFlags{} + pf.FlagSet = flag.NewFlagSet("pokeFlags", flag.ExitOnError) + pf.Abilities = pf.FlagSet.Bool("abilities", false, "...") + // ... + return pf +} + +// Helper method +func (pf *PokemonFlags) IsAbilitiesSet() bool { + return *pf.Abilities || *pf.ShortAbilities +} +``` + +**Impact:** Improves readability at call site in `pokemon.go:48` + +--- + +## Medium Priority + +### 4. Remove manual help flag checking + +**Current state:** Same pattern repeated in 7 command files: +```go +if len(os.Args) == 3 && (os.Args[2] == "-h" || os.Args[2] == "--help") { + flag.Usage() + return output.String(), nil +} +``` + +**Files affected:** +- `cmd/ability/ability.go:40-43` +- `cmd/berry/berry.go:36-39` +- `cmd/item/item.go:38-41` +- `cmd/move/move.go:33-36` +- `cmd/pokemon/pokemon.go:54-57` +- `cmd/natures/natures.go` (check) +- `cmd/speed/speed.go` (check) + +**Suggestion:** Create helper in `cmd/utils/`: + +```go +func CheckHelpFlag(output *strings.Builder, usageFunc func()) bool { + if len(os.Args) == 3 && (os.Args[2] == "-h" || os.Args[2] == "--help") { + usageFunc() + return true + } + return false +} +``` + +Then in commands: +```go +if utils.CheckHelpFlag(&output, flag.Usage) { + return output.String(), nil +} +``` + +--- + +### 5. Centralize header styling (`flags/pokemonflagset.go:28-41`) + +**Current state:** `header()` function defined locally: +```go +func header(header string) string { + HeaderBold := lipgloss.NewStyle(). + BorderStyle(lipgloss.NormalBorder()). + BorderForeground(lipgloss.Color("#FFCC00")). + BorderTop(true). + Bold(true). + Render(header) + // ... +} +``` + +**Suggestion:** Move to `styling/styling.go`: + +```go +var HeaderStyle = lipgloss.NewStyle(). + BorderStyle(lipgloss.NormalBorder()). + BorderForeground(lipgloss.Color("#FFCC00")). + BorderTop(true). + Bold(true) + +func RenderHeader(text string) string { + return HeaderStyle.Render(text) +} +``` + +--- + +### 6. Add text formatting utilities to styling package + +**Current state:** Title-casing with hyphen replacement repeated throughout: +```go +cases.Title(language.English).String(strings.ReplaceAll(name, "-", " ")) +``` + +**Locations:** +- `cmd/ability/ability.go:84` +- `cmd/move/move.go:60` +- `cmd/item/item.go:63` +- `cmd/pokemon/pokemon.go:86, 116, 140, 176` +- `flags/pokemonflagset.go:104, 215, 253, 452-453, 664` + +**Suggestion:** Add to `styling/styling.go`: + +```go +var titleCaser = cases.Title(language.English) + +// CapitalizeResourceName converts "strong-jaw" to "Strong Jaw" +func CapitalizeResourceName(name string) string { + return titleCaser.String(strings.ReplaceAll(name, "-", " ")) +} +``` + +--- + +### 7. Use HandleFlagError consistently + +**Current state:** `cmd/ability/ability.go:54-55` uses inline error handling: +```go +output.WriteString(fmt.Sprintf("error parsing flags: %v\n", err)) +``` + +But `HandleFlagError` exists in `cmd/utils/output.go:24-27` and is used in `pokemon.go:230`. + +**Action:** Replace inline flag error handling with `utils.HandleFlagError()` in ability.go and any other commands. + +--- + +## Low Priority + +### 8. Expand CLI test coverage (`cli_test.go:131`) + +**Current state:** TODO comment with commented-out test cases: +```go +// TODO: finish testing different commands? +func TestRunCLI_VariousCommands(t *testing.T) { + tests := []struct{...}{ + //{"Invalid command", []string{"foobar"}, 1}, + //{"Missing Pokemon name", []string{"pokemon"}, 1}, + //{"Another invalid command", []string{"invalid"}, 1}, + } +} +``` + +**Action:** Uncomment and implement the commented test cases. + +--- + +### 9. Consider removing API call wrapper functions (`connections/connection.go:82-104`) + +**Current state:** 6 thin wrappers that just call `FetchEndpoint`: +```go +func AbilityApiCall(endpoint, abilityName, baseURL string) (structs.AbilityJSONStruct, string, error) { + return FetchEndpoint[structs.AbilityJSONStruct](endpoint, abilityName, baseURL, "Ability") +} +``` + +**Trade-off:** +- Keep: Slightly cleaner call sites, enforces type safety +- Remove: Less code, callers use `FetchEndpoint` directly + +**Recommendation:** Keep for now - provides good API boundary and clear naming. + +--- + +### 10. Normalize hyphen hint text + +**Current state:** Similar hints appear with slightly different wording: +- `cli.go:83-85`: "hint: when calling a resource with a space, use a hyphen" +- `ability.go:25`: "Use a hyphen when typing a name with a space." +- `pokemon.go:34`: Same as ability +- `move.go:26`: Same + +**Suggestion:** Define a constant: +```go +// In styling or utils +const HyphenHint = "Use a hyphen when typing a name with a space." +``` + +--- + +### 11. Consistent flag parsing pattern + +**Current state:** `pokemon.go:68-72` uses `os.Exit(1)`: +```go +if err := pokeFlags.Parse(args[3:]); err != nil { + fmt.Printf("error parsing flags: %v\n", err) + pokeFlags.Usage() + os.Exit(1) +} +``` + +But `ability.go:53-58` returns an error properly: +```go +if err := abilityFlags.Parse(args[3:]); err != nil { + output.WriteString(fmt.Sprintf("error parsing flags: %v\n", err)) + abilityFlags.Usage() + return output.String(), err +} +``` + +**Action:** Standardize on returning errors (avoid `os.Exit` in library code). + +--- + +### 12. Split pokemonflagset.go into smaller files + +**Current state:** 680 lines with 6 major functions: +- `SetupPokemonFlagSet()` (43-82) +- `AbilitiesFlag()` (84-135) +- `DefenseFlag()` (137-319) +- `ImageFlag()` (321-408) +- `MovesFlag()` (410-553) +- `StatsFlag()` (555-648) +- `TypesFlag()` (650-680) - marked deprecated + +**Suggestion:** Split into: +- `flags/pokemonflagset.go` - just `SetupPokemonFlagSet()` +- `flags/pokemon_abilities.go` +- `flags/pokemon_defense.go` +- `flags/pokemon_image.go` +- `flags/pokemon_moves.go` +- `flags/pokemon_stats.go` + +**Trade-off:** More files vs. easier navigation. Lower priority since file is well-organized. + +--- + +## Suggested Refactor Order + +For incremental improvement without breaking changes: + +1. **Quick wins (< 1 hour each):** + - [ ] Add `CapitalizeResourceName` to styling package (#6) + - [ ] Normalize hyphen hint constant (#10) + - [ ] Use `HandleFlagError` consistently (#7) + +2. **Medium effort (1-2 hours each):** + - [ ] Consolidate simple validators (#1) + - [ ] Deduplicate command list in cli.go (#2) + - [ ] Create help flag checker utility (#4) + +3. **Larger refactors (2+ hours):** + - [ ] Return struct from SetupPokemonFlagSet (#3) + - [ ] Move header styling to styling package (#5) + - [ ] Standardize flag parsing pattern (#11) + +4. **When time permits:** + - [ ] Expand CLI test coverage (#8) + - [ ] Consider splitting pokemonflagset.go (#12) + +--- + +## Notes + +- All refactors should maintain backward compatibility with existing CLI usage +- Run `go test ./...` after each change +- Consider adding deprecation warnings before removing any public functions diff --git a/card_data/pipelines/poke_cli_dbt/dbt_project.yml b/card_data/pipelines/poke_cli_dbt/dbt_project.yml index 2f56743..1e444bf 100644 --- a/card_data/pipelines/poke_cli_dbt/dbt_project.yml +++ b/card_data/pipelines/poke_cli_dbt/dbt_project.yml @@ -1,5 +1,5 @@ name: 'poke_cli_dbt' -version: '1.8.2' +version: '1.8.3' profile: 'poke_cli_dbt' diff --git a/nfpm.yaml b/nfpm.yaml index 84aabaa..0ee0aba 100644 --- a/nfpm.yaml +++ b/nfpm.yaml @@ -1,7 +1,7 @@ name: "poke-cli" arch: "arm64" platform: "linux" -version: "v1.8.2" +version: "v1.8.3" section: "default" version_schema: semver maintainer: "Christian S" From 0618cf7ae8c07f85f6432e7f244d8e462efe3a1a Mon Sep 17 00:00:00 2001 From: Christian Sanchez Date: Thu, 18 Dec 2025 18:53:10 -0800 Subject: [PATCH 02/50] accidental commit --- REFACTORING.md | 381 ------------------------------------------------- 1 file changed, 381 deletions(-) delete mode 100644 REFACTORING.md diff --git a/REFACTORING.md b/REFACTORING.md deleted file mode 100644 index 54c5dfe..0000000 --- a/REFACTORING.md +++ /dev/null @@ -1,381 +0,0 @@ -# Refactoring TODO List for v1.8.x - -> Last reviewed: December 17, 2025 - -This document tracks DRY improvements, code quality fixes, and refactoring opportunities for the poke-cli project during the v1.8.x maintenance phase. - ---- - -## Completed Items - -These items from the previous review have been addressed: - -- [x] **Error surfacing in image viewer** (`cmd/card/imageviewer.go`) - - `imageReadyMsg` now carries a proper `err error` field - - `Update()` properly checks `msg.err` and sets `m.Error` - - `View()` uses `styling.Red.Render()` for error display - -- [x] **Avoid printing from library functions** (`connections/connection.go`) - - No more `fmt.Println(err)` in connection functions - - All errors are properly returned to callers - - `FetchEndpoint` returns styled error messages - ---- - -## High Priority - -### 1. Consolidate argument validators (`cmd/utils/validateargs.go`) - -**Current state:** 9 separate `ValidateXArgs` functions with significant duplication. - -**Issue:** -- `ValidateBerryArgs`, `ValidateCardArgs`, `ValidateNaturesArgs`, `ValidateSearchArgs`, `ValidateSpeedArgs`, `ValidateTypesArgs` are nearly identical (just different command names) -- All call `checkLength()` and `checkNoOtherOptions()` with the same pattern - -**Suggestion:** Create a parameterized validator: - -```go -type ValidatorConfig struct { - MaxArgs int - CommandName string // for error message - RequireName bool // some commands require a resource name (ability, item, move) -} - -func ValidateArgs(args []string, cfg ValidatorConfig) error { - if err := checkLength(args, cfg.MaxArgs); err != nil { - return err - } - if cfg.RequireName && len(args) == 2 { - return fmt.Errorf("Please specify a %s", cfg.CommandName) - } - if err := checkNoOtherOptions(args, cfg.MaxArgs, cfg.CommandName); err != nil { - return err - } - return nil -} -``` - -**Impact:** Reduce from 9 functions to ~3 (generic + ability + pokemon special cases) - ---- - -### 2. Deduplicate command list in cli.go - -**Current state:** Command names and descriptions appear twice: -- Lines 73-82: Help menu under "COMMANDS:" -- Lines 151-160: Error message when invalid command provided - -**Suggestion:** - -```go -var commandDescriptions = []struct { - name string - desc string -}{ - {"ability", "Get details about an ability"}, - {"berry", "Get details about a berry"}, - // ... -} - -func renderCommandList() string { - var sb strings.Builder - for _, cmd := range commandDescriptions { - sb.WriteString(fmt.Sprintf("\n\t%-15s %s", cmd.name, cmd.desc)) - } - return sb.String() -} -``` - -**Impact:** Single source of truth for command list; easier to add/remove commands - ---- - -### 3. Return struct from SetupPokemonFlagSet (`flags/pokemonflagset.go:43-82`) - -**Current state:** Returns 13 separate values: -```go -return pokeFlags, abilitiesFlag, shortAbilitiesFlag, defenseFlag, shortDefenseFlag, - imageFlag, shortImageFlag, moveFlag, shortMoveFlag, statsFlag, shortStatsFlag, - typesFlag, shortTypesFlag -``` - -**Suggestion:** - -```go -type PokemonFlags struct { - FlagSet *flag.FlagSet - Abilities *bool - ShortAbilities *bool - Defense *bool - ShortDefense *bool - Image *string - ShortImage *string - Move *bool - ShortMove *bool - Stats *bool - ShortStats *bool - Types *bool - ShortTypes *bool -} - -func SetupPokemonFlagSet() *PokemonFlags { - pf := &PokemonFlags{} - pf.FlagSet = flag.NewFlagSet("pokeFlags", flag.ExitOnError) - pf.Abilities = pf.FlagSet.Bool("abilities", false, "...") - // ... - return pf -} - -// Helper method -func (pf *PokemonFlags) IsAbilitiesSet() bool { - return *pf.Abilities || *pf.ShortAbilities -} -``` - -**Impact:** Improves readability at call site in `pokemon.go:48` - ---- - -## Medium Priority - -### 4. Remove manual help flag checking - -**Current state:** Same pattern repeated in 7 command files: -```go -if len(os.Args) == 3 && (os.Args[2] == "-h" || os.Args[2] == "--help") { - flag.Usage() - return output.String(), nil -} -``` - -**Files affected:** -- `cmd/ability/ability.go:40-43` -- `cmd/berry/berry.go:36-39` -- `cmd/item/item.go:38-41` -- `cmd/move/move.go:33-36` -- `cmd/pokemon/pokemon.go:54-57` -- `cmd/natures/natures.go` (check) -- `cmd/speed/speed.go` (check) - -**Suggestion:** Create helper in `cmd/utils/`: - -```go -func CheckHelpFlag(output *strings.Builder, usageFunc func()) bool { - if len(os.Args) == 3 && (os.Args[2] == "-h" || os.Args[2] == "--help") { - usageFunc() - return true - } - return false -} -``` - -Then in commands: -```go -if utils.CheckHelpFlag(&output, flag.Usage) { - return output.String(), nil -} -``` - ---- - -### 5. Centralize header styling (`flags/pokemonflagset.go:28-41`) - -**Current state:** `header()` function defined locally: -```go -func header(header string) string { - HeaderBold := lipgloss.NewStyle(). - BorderStyle(lipgloss.NormalBorder()). - BorderForeground(lipgloss.Color("#FFCC00")). - BorderTop(true). - Bold(true). - Render(header) - // ... -} -``` - -**Suggestion:** Move to `styling/styling.go`: - -```go -var HeaderStyle = lipgloss.NewStyle(). - BorderStyle(lipgloss.NormalBorder()). - BorderForeground(lipgloss.Color("#FFCC00")). - BorderTop(true). - Bold(true) - -func RenderHeader(text string) string { - return HeaderStyle.Render(text) -} -``` - ---- - -### 6. Add text formatting utilities to styling package - -**Current state:** Title-casing with hyphen replacement repeated throughout: -```go -cases.Title(language.English).String(strings.ReplaceAll(name, "-", " ")) -``` - -**Locations:** -- `cmd/ability/ability.go:84` -- `cmd/move/move.go:60` -- `cmd/item/item.go:63` -- `cmd/pokemon/pokemon.go:86, 116, 140, 176` -- `flags/pokemonflagset.go:104, 215, 253, 452-453, 664` - -**Suggestion:** Add to `styling/styling.go`: - -```go -var titleCaser = cases.Title(language.English) - -// CapitalizeResourceName converts "strong-jaw" to "Strong Jaw" -func CapitalizeResourceName(name string) string { - return titleCaser.String(strings.ReplaceAll(name, "-", " ")) -} -``` - ---- - -### 7. Use HandleFlagError consistently - -**Current state:** `cmd/ability/ability.go:54-55` uses inline error handling: -```go -output.WriteString(fmt.Sprintf("error parsing flags: %v\n", err)) -``` - -But `HandleFlagError` exists in `cmd/utils/output.go:24-27` and is used in `pokemon.go:230`. - -**Action:** Replace inline flag error handling with `utils.HandleFlagError()` in ability.go and any other commands. - ---- - -## Low Priority - -### 8. Expand CLI test coverage (`cli_test.go:131`) - -**Current state:** TODO comment with commented-out test cases: -```go -// TODO: finish testing different commands? -func TestRunCLI_VariousCommands(t *testing.T) { - tests := []struct{...}{ - //{"Invalid command", []string{"foobar"}, 1}, - //{"Missing Pokemon name", []string{"pokemon"}, 1}, - //{"Another invalid command", []string{"invalid"}, 1}, - } -} -``` - -**Action:** Uncomment and implement the commented test cases. - ---- - -### 9. Consider removing API call wrapper functions (`connections/connection.go:82-104`) - -**Current state:** 6 thin wrappers that just call `FetchEndpoint`: -```go -func AbilityApiCall(endpoint, abilityName, baseURL string) (structs.AbilityJSONStruct, string, error) { - return FetchEndpoint[structs.AbilityJSONStruct](endpoint, abilityName, baseURL, "Ability") -} -``` - -**Trade-off:** -- Keep: Slightly cleaner call sites, enforces type safety -- Remove: Less code, callers use `FetchEndpoint` directly - -**Recommendation:** Keep for now - provides good API boundary and clear naming. - ---- - -### 10. Normalize hyphen hint text - -**Current state:** Similar hints appear with slightly different wording: -- `cli.go:83-85`: "hint: when calling a resource with a space, use a hyphen" -- `ability.go:25`: "Use a hyphen when typing a name with a space." -- `pokemon.go:34`: Same as ability -- `move.go:26`: Same - -**Suggestion:** Define a constant: -```go -// In styling or utils -const HyphenHint = "Use a hyphen when typing a name with a space." -``` - ---- - -### 11. Consistent flag parsing pattern - -**Current state:** `pokemon.go:68-72` uses `os.Exit(1)`: -```go -if err := pokeFlags.Parse(args[3:]); err != nil { - fmt.Printf("error parsing flags: %v\n", err) - pokeFlags.Usage() - os.Exit(1) -} -``` - -But `ability.go:53-58` returns an error properly: -```go -if err := abilityFlags.Parse(args[3:]); err != nil { - output.WriteString(fmt.Sprintf("error parsing flags: %v\n", err)) - abilityFlags.Usage() - return output.String(), err -} -``` - -**Action:** Standardize on returning errors (avoid `os.Exit` in library code). - ---- - -### 12. Split pokemonflagset.go into smaller files - -**Current state:** 680 lines with 6 major functions: -- `SetupPokemonFlagSet()` (43-82) -- `AbilitiesFlag()` (84-135) -- `DefenseFlag()` (137-319) -- `ImageFlag()` (321-408) -- `MovesFlag()` (410-553) -- `StatsFlag()` (555-648) -- `TypesFlag()` (650-680) - marked deprecated - -**Suggestion:** Split into: -- `flags/pokemonflagset.go` - just `SetupPokemonFlagSet()` -- `flags/pokemon_abilities.go` -- `flags/pokemon_defense.go` -- `flags/pokemon_image.go` -- `flags/pokemon_moves.go` -- `flags/pokemon_stats.go` - -**Trade-off:** More files vs. easier navigation. Lower priority since file is well-organized. - ---- - -## Suggested Refactor Order - -For incremental improvement without breaking changes: - -1. **Quick wins (< 1 hour each):** - - [ ] Add `CapitalizeResourceName` to styling package (#6) - - [ ] Normalize hyphen hint constant (#10) - - [ ] Use `HandleFlagError` consistently (#7) - -2. **Medium effort (1-2 hours each):** - - [ ] Consolidate simple validators (#1) - - [ ] Deduplicate command list in cli.go (#2) - - [ ] Create help flag checker utility (#4) - -3. **Larger refactors (2+ hours):** - - [ ] Return struct from SetupPokemonFlagSet (#3) - - [ ] Move header styling to styling package (#5) - - [ ] Standardize flag parsing pattern (#11) - -4. **When time permits:** - - [ ] Expand CLI test coverage (#8) - - [ ] Consider splitting pokemonflagset.go (#12) - ---- - -## Notes - -- All refactors should maintain backward compatibility with existing CLI usage -- Run `go test ./...` after each change -- Consider adding deprecation warnings before removing any public functions From fd9ce70140418ce8237daa2abfc12a28c93baa0f Mon Sep 17 00:00:00 2001 From: Christian Sanchez Date: Thu, 18 Dec 2025 18:56:08 -0800 Subject: [PATCH 03/50] adding paths to ignore --- .gitignore | 1 + 1 file changed, 1 insertion(+) diff --git a/.gitignore b/.gitignore index 1b8277f..18e305b 100644 --- a/.gitignore +++ b/.gitignore @@ -66,3 +66,4 @@ card_data/~/ card_data/storage/ /.claude/ CLAUDE.md +REFACTORING.md From 9e9f7917d33110f10e49f24b91acf8a95aa93b81 Mon Sep 17 00:00:00 2001 From: Christian Sanchez Date: Thu, 18 Dec 2025 18:56:59 -0800 Subject: [PATCH 04/50] updating golden test --- testdata/main_latest_flag.golden | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/testdata/main_latest_flag.golden b/testdata/main_latest_flag.golden index bfac272..9a0e4f4 100644 --- a/testdata/main_latest_flag.golden +++ b/testdata/main_latest_flag.golden @@ -2,6 +2,6 @@ ┃ ┃ ┃ Latest available release ┃ ┃ on GitHub: ┃ -┃ • v1.8.1 ┃ +┃ • v1.8.2 ┃ ┃ ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ From 485bd18e94279dd2067822f95fe41e2c940faaec Mon Sep 17 00:00:00 2001 From: Christian Sanchez Date: Thu, 18 Dec 2025 19:13:34 -0800 Subject: [PATCH 05/50] adding type hints --- card_data/pipelines/definitions.py | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/card_data/pipelines/definitions.py b/card_data/pipelines/definitions.py index 3c3bf81..8655615 100644 --- a/card_data/pipelines/definitions.py +++ b/card_data/pipelines/definitions.py @@ -9,25 +9,25 @@ @definitions -def defs(): +def defs() -> dg.Definitions: # load_from_defs_folder discovers dbt assets from transform_data.py - folder_defs = load_from_defs_folder(project_root=Path(__file__).parent.parent) + folder_defs: dg.Definitions = load_from_defs_folder(project_root=Path(__file__).parent.parent) return dg.Definitions.merge(folder_defs, defs_pricing) # Define the pricing pipeline job that materializes the assets and downstream dbt model -pricing_pipeline_job = dg.define_asset_job( +pricing_pipeline_job: dg.UnresolvedAssetJobDefinition = dg.define_asset_job( name="pricing_pipeline_job", selection=dg.AssetSelection.assets(build_dataframe).downstream(include_self=True), ) -price_schedule = dg.ScheduleDefinition( +price_schedule: dg.ScheduleDefinition = dg.ScheduleDefinition( name="price_schedule", cron_schedule="31 21 * * *", target=pricing_pipeline_job, execution_timezone="America/Los_Angeles", ) -defs_pricing = dg.Definitions( +defs_pricing: dg.Definitions = dg.Definitions( assets=[build_dataframe, load_pricing_data, data_quality_checks_on_pricing], jobs=[pricing_pipeline_job], schedules=[price_schedule], From bff836076cceaada23d08d0dac3bea175b8af018 Mon Sep 17 00:00:00 2001 From: Christian Sanchez Date: Thu, 18 Dec 2025 19:14:00 -0800 Subject: [PATCH 06/50] updating schedule --- card_data/pipelines/definitions.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/card_data/pipelines/definitions.py b/card_data/pipelines/definitions.py index 8655615..20266f1 100644 --- a/card_data/pipelines/definitions.py +++ b/card_data/pipelines/definitions.py @@ -22,7 +22,7 @@ def defs() -> dg.Definitions: price_schedule: dg.ScheduleDefinition = dg.ScheduleDefinition( name="price_schedule", - cron_schedule="31 21 * * *", + cron_schedule="0 14 * * *", target=pricing_pipeline_job, execution_timezone="America/Los_Angeles", ) From f98bf951d4669cfdecedf42544b6b9d9c00cd461 Mon Sep 17 00:00:00 2001 From: Christian Sanchez Date: Thu, 18 Dec 2025 20:00:40 -0800 Subject: [PATCH 07/50] adding type hints --- card_data/pipelines/utils/secret_retriever.py | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/card_data/pipelines/utils/secret_retriever.py b/card_data/pipelines/utils/secret_retriever.py index 598eb3a..81cd8ec 100644 --- a/card_data/pipelines/utils/secret_retriever.py +++ b/card_data/pipelines/utils/secret_retriever.py @@ -3,6 +3,11 @@ from aws_secretsmanager_caching import SecretCache, SecretCacheConfig import json +from typing import TypedDict, cast + + +class SupabaseSecret(TypedDict): + database_uri: str def fetch_secret() -> str: @@ -10,9 +15,9 @@ def fetch_secret() -> str: cache_config = SecretCacheConfig() cache = SecretCache(config=cache_config, client=client) - secret = cache.get_secret_string("supabase") + secret = cast(str, cache.get_secret_string("supabase")) # convert to dictionary - secret_dict = json.loads(secret) + secret_dict: SupabaseSecret = json.loads(secret) return secret_dict["database_uri"] From 5feeb5aa5b913a6b30cab163db8307f36b63b6fb Mon Sep 17 00:00:00 2001 From: Christian Sanchez Date: Thu, 18 Dec 2025 20:12:24 -0800 Subject: [PATCH 08/50] returning a `struct` instead of separate values (#218) --- cmd/pokemon/pokemon.go | 24 +++++++++--------- flags/pokemonflagset.go | 47 +++++++++++++++++++++++++----------- flags/pokemonflagset_test.go | 30 +++++++++++------------ 3 files changed, 60 insertions(+), 41 deletions(-) diff --git a/cmd/pokemon/pokemon.go b/cmd/pokemon/pokemon.go index 8bf8f91..aa9ff83 100644 --- a/cmd/pokemon/pokemon.go +++ b/cmd/pokemon/pokemon.go @@ -45,7 +45,7 @@ func PokemonCommand() (string, error) { output.WriteString(helpMessage) } - pokeFlags, abilitiesFlag, shortAbilitiesFlag, defenseFlag, shortDefenseFlag, imageFlag, shortImageFlag, moveFlag, shortMoveFlag, statsFlag, shortStatsFlag, typesFlag, shortTypesFlag := flags.SetupPokemonFlagSet() + pf := flags.SetupPokemonFlagSet() args := os.Args @@ -65,9 +65,9 @@ func PokemonCommand() (string, error) { endpoint := strings.ToLower(args[1]) pokemonName := strings.ToLower(args[2]) - if err := pokeFlags.Parse(args[3:]); err != nil { + if err := pf.FlagSet.Parse(args[3:]); err != nil { fmt.Printf("error parsing flags: %v\n", err) - pokeFlags.Usage() + pf.FlagSet.Usage() os.Exit(1) } @@ -199,11 +199,11 @@ func PokemonCommand() (string, error) { capitalizedString, entryOutput.String(), typeOutput.String(), metricsOutput.String(), speciesOutput.String(), eggGroupOutput.String(), )) - if *imageFlag != "" || *shortImageFlag != "" { + if *pf.Image != "" || *pf.ShortImage != "" { // Determine the size based on the provided flags - size := *imageFlag - if *shortImageFlag != "" { - size = *shortImageFlag + size := *pf.Image + if *pf.ShortImage != "" { + size = *pf.ShortImage } // Call the ImageFlag function with the specified size @@ -217,11 +217,11 @@ func PokemonCommand() (string, error) { condition bool flagFunc func(io.Writer, string, string) error }{ - {*abilitiesFlag || *shortAbilitiesFlag, flags.AbilitiesFlag}, - {*defenseFlag || *shortDefenseFlag, flags.DefenseFlag}, - {*moveFlag || *shortMoveFlag, flags.MovesFlag}, - {*typesFlag || *shortTypesFlag, flags.TypesFlag}, - {*statsFlag || *shortStatsFlag, flags.StatsFlag}, + {*pf.Abilities || *pf.ShortAbilities, flags.AbilitiesFlag}, + {*pf.Defense || *pf.ShortDefense, flags.DefenseFlag}, + {*pf.Move || *pf.ShortMove, flags.MovesFlag}, + {*pf.Stats || *pf.ShortStats, flags.StatsFlag}, + {*pf.Types || *pf.ShortTypes, flags.TypesFlag}, } for _, check := range flagChecks { diff --git a/flags/pokemonflagset.go b/flags/pokemonflagset.go index 25db317..624b83e 100644 --- a/flags/pokemonflagset.go +++ b/flags/pokemonflagset.go @@ -25,6 +25,22 @@ import ( "golang.org/x/text/language" ) +type PokemonFlags struct { + FlagSet *flag.FlagSet + Abilities *bool + ShortAbilities *bool + Defense *bool + ShortDefense *bool + Image *string + ShortImage *string + Move *bool + ShortMove *bool + Stats *bool + ShortStats *bool + Types *bool + ShortTypes *bool +} + func header(header string) string { var output strings.Builder @@ -40,26 +56,29 @@ func header(header string) string { return output.String() } -func SetupPokemonFlagSet() (*flag.FlagSet, *bool, *bool, *bool, *bool, *string, *string, *bool, *bool, *bool, *bool, *bool, *bool) { +func SetupPokemonFlagSet() *PokemonFlags { pokeFlags := flag.NewFlagSet("pokeFlags", flag.ExitOnError) - abilitiesFlag := pokeFlags.Bool("abilities", false, "Print the Pokémon's abilities") - shortAbilitiesFlag := pokeFlags.Bool("a", false, "Print the Pokémon's abilities") + pf := &PokemonFlags{} + pf.FlagSet = flag.NewFlagSet("pokeFlags", flag.ExitOnError) + + pf.Abilities = pf.FlagSet.Bool("abilities", false, "Print the Pokémon's abilities") + pf.ShortAbilities = pf.FlagSet.Bool("a", false, "Print the Pokémon's abilities") - defenseFlag := pokeFlags.Bool("defense", false, "Print the Pokémon's type defenses") - shortDefenseFlag := pokeFlags.Bool("d", false, "Print the Pokémon's type defenses") + pf.Defense = pf.FlagSet.Bool("defense", false, "Print the Pokémon's type defenses") + pf.ShortDefense = pf.FlagSet.Bool("d", false, "Print the Pokémon's type defenses") - imageFlag := pokeFlags.String("image", "", "Print the Pokémon's default sprite") - shortImageFlag := pokeFlags.String("i", "", "Print the Pokémon's default sprite") + pf.Image = pf.FlagSet.String("image", "", "Print the Pokémon's default sprite") + pf.ShortImage = pf.FlagSet.String("i", "", "Print the Pokémon's default sprite") - moveFlag := pokeFlags.Bool("moves", false, "Print the Pokémon's learnable moves") - shortMoveFlag := pokeFlags.Bool("m", false, "Print the Pokémon's learnable moves") + pf.Move = pf.FlagSet.Bool("moves", false, "Print the Pokémon's learnable moves") + pf.ShortMove = pf.FlagSet.Bool("m", false, "Print the Pokémon's learnable moves") - statsFlag := pokeFlags.Bool("stats", false, "Print the Pokémon's base stats") - shortStatsFlag := pokeFlags.Bool("s", false, "Print the Pokémon's base stats") + pf.Stats = pf.FlagSet.Bool("stats", false, "Print the Pokémon's base stats") + pf.ShortStats = pf.FlagSet.Bool("s", false, "Print the Pokémon's base stats") - typesFlag := pokeFlags.Bool("types", false, "Print the Pokémon's typing") - shortTypesFlag := pokeFlags.Bool("t", false, "Prints the Pokémon's typing") + pf.Types = pf.FlagSet.Bool("types", false, "Print the Pokémon's typing") + pf.ShortTypes = pf.FlagSet.Bool("t", false, "Prints the Pokémon's typing") hintMessage := styling.StyleItalic.Render("options: [sm, md, lg]") @@ -78,7 +97,7 @@ func SetupPokemonFlagSet() (*flag.FlagSet, *bool, *bool, *bool, *bool, *string, fmt.Println(helpMessage) } - return pokeFlags, abilitiesFlag, shortAbilitiesFlag, defenseFlag, shortDefenseFlag, imageFlag, shortImageFlag, moveFlag, shortMoveFlag, statsFlag, shortStatsFlag, typesFlag, shortTypesFlag + return pf } func AbilitiesFlag(w io.Writer, endpoint string, pokemonName string) error { diff --git a/flags/pokemonflagset_test.go b/flags/pokemonflagset_test.go index df46234..3505826 100644 --- a/flags/pokemonflagset_test.go +++ b/flags/pokemonflagset_test.go @@ -13,28 +13,28 @@ import ( ) func TestSetupPokemonFlagSet(t *testing.T) { - pokeFlags, abilitiesFlag, shortAbilitiesFlag, defenseFlag, shortDefenseFlag, imageFlag, shortImageFlag, moveFlag, shortMoveFlag, statsFlag, shortStatsFlag, typesFlag, shortTypesFlag := SetupPokemonFlagSet() + pf := SetupPokemonFlagSet() - assert.NotNil(t, pokeFlags, "Flag set should not be nil") - assert.Equal(t, "pokeFlags", pokeFlags.Name(), "Flag set name should be 'pokeFlags'") + assert.NotNil(t, pf, "Flag set should not be nil") + assert.Equal(t, "pokeFlags", pf.FlagSet.Name(), "Flag set name should be 'pokeFlags'") flagTests := []struct { flag interface{} expected interface{} name string }{ - {abilitiesFlag, false, "Abilities flag should be 'abilities'"}, - {shortAbilitiesFlag, false, "Short abilities flag should be 'a'"}, - {defenseFlag, false, "Defense flag should be 'defense'"}, - {shortDefenseFlag, false, "Short Defense flag should be 'd'"}, - {imageFlag, "", "Image flag default value should be 'md'"}, - {shortImageFlag, "", "Short image flag default value should be 'md'"}, - {moveFlag, false, "Move flag default value should be 'moves'"}, - {shortMoveFlag, false, "Short move flag default value should be 'm'"}, - {typesFlag, false, "Types flag should be 'types'"}, - {shortTypesFlag, false, "Short types flag should be 't'"}, - {statsFlag, false, "Stats flag should be 'stats'"}, - {shortStatsFlag, false, "Short stats flag should be 's'"}, + {pf.Abilities, false, "Abilities flag should be 'abilities'"}, + {pf.ShortAbilities, false, "Short abilities flag should be 'a'"}, + {pf.Defense, false, "Defense flag should be 'defense'"}, + {pf.ShortDefense, false, "Short Defense flag should be 'd'"}, + {pf.Image, "", "Image flag default value should be 'md'"}, + {pf.ShortImage, "", "Short image flag default value should be 'md'"}, + {pf.Move, false, "Move flag default value should be 'moves'"}, + {pf.ShortMove, false, "Short move flag default value should be 'm'"}, + {pf.Types, false, "Types flag should be 'types'"}, + {pf.Stats, false, "Stats flag should be 'stats'"}, + {pf.ShortStats, false, "Short stats flag should be 's'"}, + {pf.ShortTypes, false, "Short types flag should be 't'"}, } for _, tt := range flagTests { From b24d0768618e9480203d4706e214a8df251233aa Mon Sep 17 00:00:00 2001 From: Christian Sanchez Date: Thu, 18 Dec 2025 20:39:35 -0800 Subject: [PATCH 09/50] removing redundant line, using `pf.FlagSet.Usage` instead (#218) --- flags/pokemonflagset.go | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/flags/pokemonflagset.go b/flags/pokemonflagset.go index 624b83e..3056758 100644 --- a/flags/pokemonflagset.go +++ b/flags/pokemonflagset.go @@ -57,8 +57,6 @@ func header(header string) string { } func SetupPokemonFlagSet() *PokemonFlags { - pokeFlags := flag.NewFlagSet("pokeFlags", flag.ExitOnError) - pf := &PokemonFlags{} pf.FlagSet = flag.NewFlagSet("pokeFlags", flag.ExitOnError) @@ -82,7 +80,7 @@ func SetupPokemonFlagSet() *PokemonFlags { hintMessage := styling.StyleItalic.Render("options: [sm, md, lg]") - pokeFlags.Usage = func() { + pf.FlagSet.Usage = func() { helpMessage := styling.HelpBorder.Render("poke-cli pokemon [flags]\n\n", styling.StyleBold.Render("FLAGS:"), fmt.Sprintf("\n\t%-30s %s", "-a, --abilities", "Prints the Pokémon's abilities."), From 1c9f0d1cdd51999e155cee91898be54ffd07ed59 Mon Sep 17 00:00:00 2001 From: Christian Sanchez Date: Fri, 19 Dec 2025 15:47:37 -0800 Subject: [PATCH 10/50] updating `checkout` action to `v6` --- .github/workflows/coverage.yml | 2 +- .github/workflows/go_lint.yml | 2 +- .github/workflows/go_test.yml | 2 +- .github/workflows/release.yml | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) diff --git a/.github/workflows/coverage.yml b/.github/workflows/coverage.yml index 0ea2029..8bb3b7b 100644 --- a/.github/workflows/coverage.yml +++ b/.github/workflows/coverage.yml @@ -11,7 +11,7 @@ jobs: runs-on: ubuntu-22.04 steps: - name: Checkout - uses: actions/checkout@v4 + uses: actions/checkout@v6 - name: Set up Go uses: actions/setup-go@v5 diff --git a/.github/workflows/go_lint.yml b/.github/workflows/go_lint.yml index b5c1f1e..0e8c663 100644 --- a/.github/workflows/go_lint.yml +++ b/.github/workflows/go_lint.yml @@ -15,7 +15,7 @@ jobs: runs-on: ubuntu-latest steps: - name: Checkout - uses: actions/checkout@v4 + uses: actions/checkout@v6 - name: Set up Go uses: actions/setup-go@v5 diff --git a/.github/workflows/go_test.yml b/.github/workflows/go_test.yml index 03f60fe..2d7b97b 100644 --- a/.github/workflows/go_test.yml +++ b/.github/workflows/go_test.yml @@ -11,7 +11,7 @@ jobs: runs-on: ubuntu-22.04 steps: - name: Checkout - uses: actions/checkout@v4 + uses: actions/checkout@v6 - name: Set up Go uses: actions/setup-go@v5 diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index d097674..08c9e89 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -13,7 +13,7 @@ jobs: runs-on: ubuntu-22.04 steps: - name: Checkout - uses: actions/checkout@v4 + uses: actions/checkout@v6 - name: Set up Go uses: actions/setup-go@v5 From caff2ea4e1c4615c4226d10cd03834de2366cf3a Mon Sep 17 00:00:00 2001 From: Christian Sanchez Date: Sat, 20 Dec 2025 23:21:27 -0800 Subject: [PATCH 11/50] returning a `struct` instead of separate values (#218) --- cmd/ability/ability.go | 8 ++++---- flags/abilityflagset.go | 24 ++++++++++++++++-------- flags/abilityflagset_test.go | 17 +++++++++-------- 3 files changed, 29 insertions(+), 20 deletions(-) diff --git a/cmd/ability/ability.go b/cmd/ability/ability.go index bbb3921..f128144 100644 --- a/cmd/ability/ability.go +++ b/cmd/ability/ability.go @@ -31,7 +31,7 @@ func AbilityCommand() (string, error) { output.WriteString(helpMessage) } - abilityFlags, pokemonFlag, shortPokemonFlag := flags.SetupAbilityFlagSet() + af := flags.SetupAbilityFlagSet() args := os.Args @@ -50,9 +50,9 @@ func AbilityCommand() (string, error) { endpoint := strings.ToLower(args[1]) abilityName := strings.ToLower(args[2]) - if err := abilityFlags.Parse(args[3:]); err != nil { + if err := af.FlagSet.Parse(args[3:]); err != nil { output.WriteString(fmt.Sprintf("error parsing flags: %v\n", err)) - abilityFlags.Usage() + af.FlagSet.Usage() return output.String(), err } @@ -100,7 +100,7 @@ func AbilityCommand() (string, error) { output.WriteString(fmt.Sprintf("%s Effect: %s", styling.ColoredBullet, englishShortEffect)) } - if *pokemonFlag || *shortPokemonFlag { + if *af.Pokemon || *af.ShortPokemon { if err := flags.PokemonAbilitiesFlag(&output, endpoint, abilityName); err != nil { output.WriteString(fmt.Sprintf("error parsing flags: %v\n", err)) return output.String(), fmt.Errorf("error parsing flags: %w", err) diff --git a/flags/abilityflagset.go b/flags/abilityflagset.go index 8f6fad0..0326c6a 100644 --- a/flags/abilityflagset.go +++ b/flags/abilityflagset.go @@ -3,21 +3,29 @@ package flags import ( "flag" "fmt" + "io" + "strings" + "github.com/digitalghost-dev/poke-cli/connections" "github.com/digitalghost-dev/poke-cli/styling" "golang.org/x/text/cases" "golang.org/x/text/language" - "io" - "strings" ) -func SetupAbilityFlagSet() (*flag.FlagSet, *bool, *bool) { - abilityFlags := flag.NewFlagSet("AbilityFlagSet", flag.ExitOnError) +type AbilityFlags struct { + FlagSet *flag.FlagSet + Pokemon *bool + ShortPokemon *bool +} + +func SetupAbilityFlagSet() *AbilityFlags { + af := &AbilityFlags{} + af.FlagSet = flag.NewFlagSet("abilityFlags", flag.ExitOnError) - pokemonFlag := abilityFlags.Bool("pokemon", false, "List all Pokémon with chosen ability") - shortPokemonFlag := abilityFlags.Bool("p", false, "List all Pokémon with chosen ability") + af.Pokemon = af.FlagSet.Bool("pokemon", false, "List all Pokémon with chosen ability") + af.ShortPokemon = af.FlagSet.Bool("p", false, "List all Pokémon with chosen ability") - abilityFlags.Usage = func() { + af.FlagSet.Usage = func() { helpMessage := styling.HelpBorder.Render("poke-cli ability [flags]\n\n", styling.StyleBold.Render("FLAGS:"), fmt.Sprintf("\n\t%-30s %s", "-p, --pokemon", "List all Pokémon with chosen ability."), @@ -25,7 +33,7 @@ func SetupAbilityFlagSet() (*flag.FlagSet, *bool, *bool) { fmt.Println(helpMessage) } - return abilityFlags, pokemonFlag, shortPokemonFlag + return af } func PokemonAbilitiesFlag(w io.Writer, endpoint string, abilityName string) error { diff --git a/flags/abilityflagset_test.go b/flags/abilityflagset_test.go index 83677ca..eb92de5 100644 --- a/flags/abilityflagset_test.go +++ b/flags/abilityflagset_test.go @@ -3,28 +3,29 @@ package flags import ( "bytes" "fmt" - "github.com/digitalghost-dev/poke-cli/styling" - "github.com/stretchr/testify/assert" - "github.com/stretchr/testify/require" "os" "reflect" "strings" "testing" + + "github.com/digitalghost-dev/poke-cli/styling" + "github.com/stretchr/testify/assert" + "github.com/stretchr/testify/require" ) func TestSetupAbilityFlagSet(t *testing.T) { - abilityFlags, pokemonFlag, shortPokemonFlag := SetupAbilityFlagSet() + af := SetupAbilityFlagSet() - assert.NotNil(t, abilityFlags, "Flag set should not be nil") - assert.Equal(t, "AbilityFlagSet", abilityFlags.Name(), "Flag set name should be 'AbilityFlagSet'") + assert.NotNil(t, af, "Flag set should not be nil") + assert.Equal(t, "abilityFlags", af.FlagSet.Name(), "Flag set name should be 'abilityFlags'") flagTests := []struct { flag interface{} expected interface{} name string }{ - {pokemonFlag, false, "Pokemon flag should be 'pokemon'"}, - {shortPokemonFlag, false, "Short pokemon flag should be 'p'"}, + {af.Pokemon, false, "Pokemon flag should be 'pokemon'"}, + {af.ShortPokemon, false, "Short pokemon flag should be 'p'"}, } for _, tt := range flagTests { From bf2a5b7e053ac0277cb846b9e1ea4ec3775f356d Mon Sep 17 00:00:00 2001 From: Christian Sanchez Date: Sun, 21 Dec 2025 00:07:47 -0800 Subject: [PATCH 12/50] expanding list comprehension for better legibility --- .../pipelines/defs/extract/extract_data.py | 17 ++++++++++++----- 1 file changed, 12 insertions(+), 5 deletions(-) diff --git a/card_data/pipelines/defs/extract/extract_data.py b/card_data/pipelines/defs/extract/extract_data.py index 2e95051..3fb6055 100644 --- a/card_data/pipelines/defs/extract/extract_data.py +++ b/card_data/pipelines/defs/extract/extract_data.py @@ -100,11 +100,18 @@ def extract_card_url_from_set() -> list: data = r.json()["cards"] - set_card_urls = [ - f"https://api.tcgdex.net/v2/en/cards/{card['id']}" - for card in data - if "-TG" not in card["id"] - ] + # This could be a list comprehension, but I find those hard to read so, I prefer to use .append + set_card_urls = [] + for card in data: + card_id = card['id'] + + # Skip special variant cards (Trainer Gallery and Shiny Vault) + if "-TG" in card_id or "-SV" in card_id or "-GG" in card_id: + continue + + url = f"https://api.tcgdex.net/v2/en/cards/{card_id}" + set_card_urls.append(url) + all_card_urls.extend(set_card_urls) time.sleep(0.1) From 58e2ee96c0a777dda6098a0ab2214948facb9278 Mon Sep 17 00:00:00 2001 From: Christian Sanchez Date: Mon, 22 Dec 2025 14:23:49 -0800 Subject: [PATCH 13/50] applying `ruff` formatting --- card_data/pipelines/defs/load/load_data.py | 18 ++++++++---------- 1 file changed, 8 insertions(+), 10 deletions(-) diff --git a/card_data/pipelines/defs/load/load_data.py b/card_data/pipelines/defs/load/load_data.py index 092dff1..9360027 100644 --- a/card_data/pipelines/defs/load/load_data.py +++ b/card_data/pipelines/defs/load/load_data.py @@ -16,7 +16,7 @@ @dg.asset( kinds={"Supabase", "Postgres"}, name="load_series_data", - retry_policy=RetryPolicy(max_retries=3, delay=2, backoff=Backoff.EXPONENTIAL) + retry_policy=RetryPolicy(max_retries=3, delay=2, backoff=Backoff.EXPONENTIAL), ) def load_series_data(extract_series_data: pl.DataFrame) -> None: database_url: str = fetch_secret() @@ -33,11 +33,7 @@ def load_series_data(extract_series_data: pl.DataFrame) -> None: raise -@dg.asset( - deps=[load_series_data], - kinds={"Soda"}, - name="quality_checks_series" -) +@dg.asset(deps=[load_series_data], kinds={"Soda"}, name="quality_checks_series") def data_quality_check_on_series() -> None: current_file_dir = Path(__file__).parent print(f"Setting cwd to: {current_file_dir}") @@ -64,13 +60,15 @@ def data_quality_check_on_series() -> None: print(result.stderr) if result.returncode != 0: - raise Exception(f"Soda data quality checks failed with return code {result.returncode}") + raise Exception( + f"Soda data quality checks failed with return code {result.returncode}" + ) @dg.asset( kinds={"Supabase", "Postgres"}, name="load_set_data", - retry_policy=RetryPolicy(max_retries=3, delay=2, backoff=Backoff.EXPONENTIAL) + retry_policy=RetryPolicy(max_retries=3, delay=2, backoff=Backoff.EXPONENTIAL), ) def load_set_data(extract_set_data: pl.DataFrame) -> None: database_url: str = fetch_secret() @@ -90,7 +88,7 @@ def load_set_data(extract_set_data: pl.DataFrame) -> None: @dg.asset( kinds={"Supabase", "Postgres"}, name="load_card_data", - retry_policy=RetryPolicy(max_retries=3, delay=2, backoff=Backoff.EXPONENTIAL) + retry_policy=RetryPolicy(max_retries=3, delay=2, backoff=Backoff.EXPONENTIAL), ) def load_card_data(create_card_dataframe: pl.DataFrame) -> None: database_url: str = fetch_secret() @@ -104,4 +102,4 @@ def load_card_data(create_card_dataframe: pl.DataFrame) -> None: print(colored(" ✓", "green"), f"Data loaded into {table_name}") except OperationalError as e: print(colored(" ✖", "red"), "Connection error in load_card_data():", e) - raise \ No newline at end of file + raise From 03ad041d243623f9c0836e245213ca434d2e5bec Mon Sep 17 00:00:00 2001 From: Christian Sanchez Date: Mon, 22 Dec 2025 14:27:36 -0800 Subject: [PATCH 14/50] sorting imports --- card_data/pipelines/defs/load/load_data.py | 17 +++++++---------- 1 file changed, 7 insertions(+), 10 deletions(-) diff --git a/card_data/pipelines/defs/load/load_data.py b/card_data/pipelines/defs/load/load_data.py index 9360027..80dc9ec 100644 --- a/card_data/pipelines/defs/load/load_data.py +++ b/card_data/pipelines/defs/load/load_data.py @@ -1,16 +1,13 @@ +import subprocess # nosec +from pathlib import Path + import dagster as dg -from dagster import RetryPolicy, Backoff +import polars as pl +from dagster import Backoff, RetryPolicy from sqlalchemy.exc import OperationalError -from ..extract.extract_data import ( - extract_series_data, - extract_set_data, - create_card_dataframe, -) -from ...utils.secret_retriever import fetch_secret from termcolor import colored -import subprocess -from pathlib import Path -import polars as pl + +from ...utils.secret_retriever import fetch_secret @dg.asset( From 8720b2309fdd428a6bbc8fcdc03bafb959d3ea2f Mon Sep 17 00:00:00 2001 From: Christian Sanchez Date: Mon, 22 Dec 2025 14:36:24 -0800 Subject: [PATCH 15/50] removing type hint --- card_data/pipelines/definitions.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/card_data/pipelines/definitions.py b/card_data/pipelines/definitions.py index 20266f1..d521064 100644 --- a/card_data/pipelines/definitions.py +++ b/card_data/pipelines/definitions.py @@ -15,7 +15,7 @@ def defs() -> dg.Definitions: return dg.Definitions.merge(folder_defs, defs_pricing) # Define the pricing pipeline job that materializes the assets and downstream dbt model -pricing_pipeline_job: dg.UnresolvedAssetJobDefinition = dg.define_asset_job( +pricing_pipeline_job = dg.define_asset_job( name="pricing_pipeline_job", selection=dg.AssetSelection.assets(build_dataframe).downstream(include_self=True), ) From 46ff72478134bbda448324fd6e172b2683bf4a99 Mon Sep 17 00:00:00 2001 From: Christian Sanchez Date: Mon, 22 Dec 2025 15:31:13 -0800 Subject: [PATCH 16/50] update comments --- cmd/search/model_selection_test.go | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/cmd/search/model_selection_test.go b/cmd/search/model_selection_test.go index d240efd..05786d8 100644 --- a/cmd/search/model_selection_test.go +++ b/cmd/search/model_selection_test.go @@ -17,7 +17,7 @@ func TestSelection(t *testing.T) { testModel.Send(tea.KeyMsg{Type: tea.KeyEnter}) testModel.Send(tea.KeyMsg{Type: tea.KeyCtrlC}) - testModel.WaitFinished(t, teatest.WithFinalTimeout(300*time.Millisecond)) // optional timeout safety + testModel.WaitFinished(t, teatest.WithFinalTimeout(300*time.Millisecond)) final := testModel.FinalModel(t).(Model) @@ -39,16 +39,16 @@ func TestChoiceClamping(t *testing.T) { model := initialModel() testModel := teatest.NewTestModel(t, model) - // Move down twice: this should attempt to exceed max Choice + // Move down twice, this should attempt to exceed max Choice testModel.Send(tea.KeyMsg{Type: tea.KeyDown}) // 0 → 1 testModel.Send(tea.KeyMsg{Type: tea.KeyDown}) // 1 → 2, but should clamp to 1 - // Move up three times: this should attempt to go below 0 + // Move up three times, this should attempt to go below 0 testModel.Send(tea.KeyMsg{Type: tea.KeyUp}) // 1 → 0 testModel.Send(tea.KeyMsg{Type: tea.KeyUp}) // 0 → -1, clamp to 0 testModel.Send(tea.KeyMsg{Type: tea.KeyUp}) // stays at 0 - // Now simulate enter and quit to finish + // Simulate enter and quit to finish testModel.Send(tea.KeyMsg{Type: tea.KeyEnter}) testModel.Send(tea.KeyMsg{Type: tea.KeyCtrlC}) testModel.WaitFinished(t) From dab43ea3d96d3be6316b144bb4a91007117f2158 Mon Sep 17 00:00:00 2001 From: Christian Sanchez Date: Mon, 22 Dec 2025 16:00:36 -0800 Subject: [PATCH 17/50] refactoring for better testability (#220) --- cmd/types/types.go | 30 +++++++++++++++++------------- cmd/types/types_test.go | 18 ++++++++++++++++++ 2 files changed, 35 insertions(+), 13 deletions(-) diff --git a/cmd/types/types.go b/cmd/types/types.go index 7206bb2..a78cf83 100644 --- a/cmd/types/types.go +++ b/cmd/types/types.go @@ -43,7 +43,10 @@ func TypesCommand() (string, error) { } endpoint := strings.ToLower(os.Args[1])[0:4] - tableGeneration(endpoint) + if err := runTypeSelectionTable(endpoint); err != nil { + output.WriteString(err.Error()) + return output.String(), err + } return output.String(), nil } @@ -98,8 +101,7 @@ func (m model) View() string { styling.KeyMenu.Render("↑ (move up) • ↓ (move down)\nenter (select) • ctrl+c | esc (quit)")) } -// Function that generates and handles the type selection table -func tableGeneration(endpoint string) { +func createTypeSelectionTable() model { types := []string{"Normal", "Fire", "Water", "Electric", "Grass", "Ice", "Fighting", "Poison", "Ground", "Flying", "Psychic", "Bug", "Dark", "Rock", "Ghost", "Dragon", "Steel", "Fairy"} @@ -109,15 +111,13 @@ func tableGeneration(endpoint string) { rows[i] = []string{t} } - // Initialize table with configuration - t := table.New( + tbl := table.New( table.WithColumns([]table.Column{{Title: "Type", Width: 16}}), table.WithRows(rows), table.WithFocused(true), - table.WithHeight(7), + table.WithHeight(10), ) - // Set table styles s := table.DefaultStyles() s.Header = s.Header. BorderStyle(lipgloss.NormalBorder()). @@ -126,18 +126,22 @@ func tableGeneration(endpoint string) { s.Selected = s.Selected. Foreground(lipgloss.Color("#000")). Background(lipgloss.Color("#FFCC00")) - t.SetStyles(s) + tbl.SetStyles(s) - m := model{table: t} - programModel, err := tea.NewProgram(m).Run() + return model{table: tbl} +} +func runTypeSelectionTable(endpoint string) error { + m := createTypeSelectionTable() + + programModel, err := tea.NewProgram(m).Run() if err != nil { - fmt.Println("Error running program:", err) - os.Exit(1) + return fmt.Errorf("error running program: %w", err) } - // Only show damage table if a type was actually selected (not when quitting) if finalModel, ok := programModel.(model); ok && finalModel.selectedOption != "" { DamageTable(strings.ToLower(finalModel.selectedOption), endpoint) } + + return nil } diff --git a/cmd/types/types_test.go b/cmd/types/types_test.go index 5dd2997..13755a9 100644 --- a/cmd/types/types_test.go +++ b/cmd/types/types_test.go @@ -159,3 +159,21 @@ func TestView(t *testing.T) { assert.Contains(t, view, "move up", "View should contain the key menu") }) } + +func TestTypeSelection(t *testing.T) { + m := createTypeSelectionTable() + + testModel := teatest.NewTestModel(t, m, teatest.WithInitialTermSize(300, 500)) + + testModel.Send(tea.KeyMsg{Type: tea.KeyDown}) + testModel.Send(tea.KeyMsg{Type: tea.KeyDown}) + testModel.Send(tea.KeyMsg{Type: tea.KeyEnter}) + testModel.Send(tea.KeyMsg{Type: tea.KeyCtrlC}) + testModel.WaitFinished(t, teatest.WithFinalTimeout(300*time.Millisecond)) + + final := testModel.FinalModel(t).(model) + + if final.selectedOption != "Water" { + t.Errorf("Expected selectedOption to be 'Water', got '%s'", final.selectedOption) + } +} From 469354504f3fe1d570cee5bd528f96e987d185d1 Mon Sep 17 00:00:00 2001 From: Christian Sanchez Date: Tue, 23 Dec 2025 21:35:14 -0800 Subject: [PATCH 18/50] adding pyrefly and bandit tooling --- card_data/pyproject.toml | 12 + card_data/uv.lock | 2654 ++++++++++++++++++++++---------------- 2 files changed, 1565 insertions(+), 1101 deletions(-) diff --git a/card_data/pyproject.toml b/card_data/pyproject.toml index bb4b679..6eb45bd 100644 --- a/card_data/pyproject.toml +++ b/card_data/pyproject.toml @@ -49,3 +49,15 @@ override-dependencies = [ "deepdiff==8.6.1", "starlette==0.49.1", ] + +[tool.pyrefly] +search_path = [ + "." +] +project-includes = [ + "**/*.py*", + "**/*.ipynb", +] + +[tool.bandit] +exclude_dirs = [".venv", "logs", "supabase", "sample_scripts", "storage"] diff --git a/card_data/uv.lock b/card_data/uv.lock index ce60f02..3e83f86 100644 --- a/card_data/uv.lock +++ b/card_data/uv.lock @@ -28,16 +28,16 @@ wheels = [ [[package]] name = "alembic" -version = "1.16.4" +version = "1.17.2" source = { registry = "https://pypi.org/simple" } dependencies = [ { name = "mako" }, { name = "sqlalchemy" }, { name = "typing-extensions" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/83/52/72e791b75c6b1efa803e491f7cbab78e963695e76d4ada05385252927e76/alembic-1.16.4.tar.gz", hash = "sha256:efab6ada0dd0fae2c92060800e0bf5c1dc26af15a10e02fb4babff164b4725e2", size = 1968161, upload-time = "2025-07-10T16:17:20.192Z" } +sdist = { url = "https://files.pythonhosted.org/packages/02/a6/74c8cadc2882977d80ad756a13857857dbcf9bd405bc80b662eb10651282/alembic-1.17.2.tar.gz", hash = "sha256:bbe9751705c5e0f14877f02d46c53d10885e377e3d90eda810a016f9baa19e8e", size = 1988064, upload-time = "2025-11-14T20:35:04.057Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/c2/62/96b5217b742805236614f05904541000f55422a6060a90d7fd4ce26c172d/alembic-1.16.4-py3-none-any.whl", hash = "sha256:b05e51e8e82efc1abd14ba2af6392897e145930c3e0a2faf2b0da2f7f7fd660d", size = 247026, upload-time = "2025-07-10T16:17:21.845Z" }, + { url = "https://files.pythonhosted.org/packages/ba/88/6237e97e3385b57b5f1528647addea5cc03d4d65d5979ab24327d41fb00d/alembic-1.17.2-py3-none-any.whl", hash = "sha256:f483dd1fe93f6c5d49217055e4d15b905b425b6af906746abb35b69c1996c4e6", size = 248554, upload-time = "2025-11-14T20:35:05.699Z" }, ] [[package]] @@ -60,25 +60,24 @@ wheels = [ [[package]] name = "anyio" -version = "4.9.0" +version = "4.12.0" source = { registry = "https://pypi.org/simple" } dependencies = [ { name = "idna" }, - { name = "sniffio" }, { name = "typing-extensions", marker = "python_full_version < '3.13'" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/95/7d/4c1bd541d4dffa1b52bd83fb8527089e097a106fc90b467a7313b105f840/anyio-4.9.0.tar.gz", hash = "sha256:673c0c244e15788651a4ff38710fea9675823028a6f08a5eda409e0c9840a028", size = 190949, upload-time = "2025-03-17T00:02:54.77Z" } +sdist = { url = "https://files.pythonhosted.org/packages/16/ce/8a777047513153587e5434fd752e89334ac33e379aa3497db860eeb60377/anyio-4.12.0.tar.gz", hash = "sha256:73c693b567b0c55130c104d0b43a9baf3aa6a31fc6110116509f27bf75e21ec0", size = 228266, upload-time = "2025-11-28T23:37:38.911Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/a1/ee/48ca1a7c89ffec8b6a0c5d02b89c305671d5ffd8d3c94acf8b8c408575bb/anyio-4.9.0-py3-none-any.whl", hash = "sha256:9f76d541cad6e36af7beb62e978876f3b41e3e04f2c1fbf0884604c0a9c4d93c", size = 100916, upload-time = "2025-03-17T00:02:52.713Z" }, + { url = "https://files.pythonhosted.org/packages/7f/9c/36c5c37947ebfb8c7f22e0eb6e4d188ee2d53aa3880f3f2744fb894f0cb1/anyio-4.12.0-py3-none-any.whl", hash = "sha256:dad2376a628f98eeca4881fc56cd06affd18f659b17a747d3ff0307ced94b1bb", size = 113362, upload-time = "2025-11-28T23:36:57.897Z" }, ] [[package]] name = "attrs" -version = "25.3.0" +version = "25.4.0" source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/5a/b0/1367933a8532ee6ff8d63537de4f1177af4bff9f3e829baf7331f595bb24/attrs-25.3.0.tar.gz", hash = "sha256:75d7cefc7fb576747b2c81b4442d4d4a1ce0900973527c011d1030fd3bf4af1b", size = 812032, upload-time = "2025-03-13T11:10:22.779Z" } +sdist = { url = "https://files.pythonhosted.org/packages/6b/5c/685e6633917e101e5dcb62b9dd76946cbb57c26e133bae9e0cd36033c0a9/attrs-25.4.0.tar.gz", hash = "sha256:16d5969b87f0859ef33a48b35d55ac1be6e42ae49d5e853b597db70c35c57e11", size = 934251, upload-time = "2025-10-06T13:54:44.725Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/77/06/bb80f5f86020c4551da315d78b3ab75e8228f89f0162f2c3a819e407941a/attrs-25.3.0-py3-none-any.whl", hash = "sha256:427318ce031701fea540783410126f03899a97ffc6f61596ad581ac2e40e3bc3", size = 63815, upload-time = "2025-03-13T11:10:21.14Z" }, + { url = "https://files.pythonhosted.org/packages/3a/2a/7cc015f5b9f5db42b7d48157e23356022889fc354a2813c15934b7cb5c0e/attrs-25.4.0-py3-none-any.whl", hash = "sha256:adcf7e2a1fb3b36ac48d97835bb6d8ade15b8dcce26aba8bf1d14847b57a3373", size = 67615, upload-time = "2025-10-06T13:54:43.17Z" }, ] [[package]] @@ -113,29 +112,29 @@ wheels = [ [[package]] name = "beautifulsoup4" -version = "4.13.5" +version = "4.14.3" source = { registry = "https://pypi.org/simple" } dependencies = [ { name = "soupsieve" }, { name = "typing-extensions" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/85/2e/3e5079847e653b1f6dc647aa24549d68c6addb4c595cc0d902d1b19308ad/beautifulsoup4-4.13.5.tar.gz", hash = "sha256:5e70131382930e7c3de33450a2f54a63d5e4b19386eab43a5b34d594268f3695", size = 622954, upload-time = "2025-08-24T14:06:13.168Z" } +sdist = { url = "https://files.pythonhosted.org/packages/c3/b0/1c6a16426d389813b48d95e26898aff79abbde42ad353958ad95cc8c9b21/beautifulsoup4-4.14.3.tar.gz", hash = "sha256:6292b1c5186d356bba669ef9f7f051757099565ad9ada5dd630bd9de5fa7fb86", size = 627737, upload-time = "2025-11-30T15:08:26.084Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/04/eb/f4151e0c7377a6e08a38108609ba5cede57986802757848688aeedd1b9e8/beautifulsoup4-4.13.5-py3-none-any.whl", hash = "sha256:642085eaa22233aceadff9c69651bc51e8bf3f874fb6d7104ece2beb24b47c4a", size = 105113, upload-time = "2025-08-24T14:06:14.884Z" }, + { url = "https://files.pythonhosted.org/packages/1a/39/47f9197bdd44df24d67ac8893641e16f386c984a0619ef2ee4c51fbbc019/beautifulsoup4-4.14.3-py3-none-any.whl", hash = "sha256:0918bfe44902e6ad8d57732ba310582e98da931428d231a5ecb9e7c703a735bb", size = 107721, upload-time = "2025-11-30T15:08:24.087Z" }, ] [[package]] name = "botocore" -version = "1.39.4" +version = "1.42.16" source = { registry = "https://pypi.org/simple" } dependencies = [ { name = "jmespath" }, { name = "python-dateutil" }, { name = "urllib3" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/e6/9f/21c823ea2fae3fa5a6c9e8caaa1f858acd55018e6d317505a4f14c5bb999/botocore-1.39.4.tar.gz", hash = "sha256:e662ac35c681f7942a93f2ec7b4cde8f8b56dd399da47a79fa3e370338521a56", size = 14136116, upload-time = "2025-07-09T19:22:49.811Z" } +sdist = { url = "https://files.pythonhosted.org/packages/cf/eb/d91fb1fb288ba896392d68f89881f5f26bc5b51f8da28697c77f05bc44e8/botocore-1.42.16.tar.gz", hash = "sha256:29ee8555cd5d5023350405387cedcf3fe1c7f02fcb8060bf9e01602487482c25", size = 14914600, upload-time = "2025-12-23T20:44:11.025Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/58/44/f120319e0a9afface645e99f300175b9b308e4724cb400b32e1bd6eb3060/botocore-1.39.4-py3-none-any.whl", hash = "sha256:c41e167ce01cfd1973c3fa9856ef5244a51ddf9c82cb131120d8617913b6812a", size = 13795516, upload-time = "2025-07-09T19:22:44.446Z" }, + { url = "https://files.pythonhosted.org/packages/a2/98/c7c26ff399994e2b1119cc36027aaae46b9d646a49b70a82c2622e44c94b/botocore-1.42.16-py3-none-any.whl", hash = "sha256:b1f584a0f8645c12e07bf6ec9c18e05221a789f2a9b2d3c6291deb42f8c1c542", size = 14585775, upload-time = "2025-12-23T20:44:08.092Z" }, ] [[package]] @@ -157,9 +156,7 @@ dependencies = [ { name = "psycopg2-binary" }, { name = "pyarrow" }, { name = "pydantic" }, - { name = "pytest" }, { name = "requests" }, - { name = "responses" }, { name = "soda-core-postgres" }, { name = "sqlalchemy" }, { name = "termcolor" }, @@ -171,6 +168,8 @@ dev = [ { name = "dagster-dg-cli" }, { name = "dagster-postgres" }, { name = "dagster-webserver" }, + { name = "pytest" }, + { name = "responses" }, ] [package.metadata] @@ -189,9 +188,7 @@ requires-dist = [ { name = "psycopg2-binary", specifier = ">=2.9.10" }, { name = "pyarrow", specifier = ">=20.0.0" }, { name = "pydantic", specifier = ">=2.11.7" }, - { name = "pytest", specifier = ">=9.0.2" }, { name = "requests", specifier = ">=2.32.4" }, - { name = "responses", specifier = ">=0.25.8" }, { name = "soda-core-postgres", specifier = ">=3.5.5" }, { name = "sqlalchemy", specifier = ">=2.0.41" }, { name = "termcolor", specifier = ">=3.1.0" }, @@ -203,95 +200,143 @@ dev = [ { name = "dagster-dg-cli" }, { name = "dagster-postgres", specifier = ">=0.27.3" }, { name = "dagster-webserver" }, + { name = "pytest", specifier = ">=9.0.2" }, + { name = "responses", specifier = ">=0.25.8" }, ] [[package]] name = "certifi" -version = "2025.7.14" +version = "2025.11.12" source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/b3/76/52c535bcebe74590f296d6c77c86dabf761c41980e1347a2422e4aa2ae41/certifi-2025.7.14.tar.gz", hash = "sha256:8ea99dbdfaaf2ba2f9bac77b9249ef62ec5218e7c2b2e903378ed5fccf765995", size = 163981, upload-time = "2025-07-14T03:29:28.449Z" } +sdist = { url = "https://files.pythonhosted.org/packages/a2/8c/58f469717fa48465e4a50c014a0400602d3c437d7c0c468e17ada824da3a/certifi-2025.11.12.tar.gz", hash = "sha256:d8ab5478f2ecd78af242878415affce761ca6bc54a22a27e026d7c25357c3316", size = 160538, upload-time = "2025-11-12T02:54:51.517Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/4f/52/34c6cf5bb9285074dc3531c437b3919e825d976fde097a7a73f79e726d03/certifi-2025.7.14-py3-none-any.whl", hash = "sha256:6b31f564a415d79ee77df69d757bb49a5bb53bd9f756cbbe24394ffd6fc1f4b2", size = 162722, upload-time = "2025-07-14T03:29:26.863Z" }, + { url = "https://files.pythonhosted.org/packages/70/7d/9bc192684cea499815ff478dfcdc13835ddf401365057044fb721ec6bddb/certifi-2025.11.12-py3-none-any.whl", hash = "sha256:97de8790030bbd5c2d96b7ec782fc2f7820ef8dba6db909ccf95449f2d062d4b", size = 159438, upload-time = "2025-11-12T02:54:49.735Z" }, ] [[package]] name = "cffi" -version = "1.17.1" -source = { registry = "https://pypi.org/simple" } -dependencies = [ - { name = "pycparser" }, -] -sdist = { url = "https://files.pythonhosted.org/packages/fc/97/c783634659c2920c3fc70419e3af40972dbaf758daa229a7d6ea6135c90d/cffi-1.17.1.tar.gz", hash = "sha256:1c39c6016c32bc48dd54561950ebd6836e1670f2ae46128f67cf49e789c52824", size = 516621, upload-time = "2024-09-04T20:45:21.852Z" } -wheels = [ - { url = "https://files.pythonhosted.org/packages/5a/84/e94227139ee5fb4d600a7a4927f322e1d4aea6fdc50bd3fca8493caba23f/cffi-1.17.1-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:805b4371bf7197c329fcb3ead37e710d1bca9da5d583f5073b799d5c5bd1eee4", size = 183178, upload-time = "2024-09-04T20:44:12.232Z" }, - { url = "https://files.pythonhosted.org/packages/da/ee/fb72c2b48656111c4ef27f0f91da355e130a923473bf5ee75c5643d00cca/cffi-1.17.1-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:733e99bc2df47476e3848417c5a4540522f234dfd4ef3ab7fafdf555b082ec0c", size = 178840, upload-time = "2024-09-04T20:44:13.739Z" }, - { url = "https://files.pythonhosted.org/packages/cc/b6/db007700f67d151abadf508cbfd6a1884f57eab90b1bb985c4c8c02b0f28/cffi-1.17.1-cp312-cp312-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:1257bdabf294dceb59f5e70c64a3e2f462c30c7ad68092d01bbbfb1c16b1ba36", size = 454803, upload-time = "2024-09-04T20:44:15.231Z" }, - { url = "https://files.pythonhosted.org/packages/1a/df/f8d151540d8c200eb1c6fba8cd0dfd40904f1b0682ea705c36e6c2e97ab3/cffi-1.17.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:da95af8214998d77a98cc14e3a3bd00aa191526343078b530ceb0bd710fb48a5", size = 478850, upload-time = "2024-09-04T20:44:17.188Z" }, - { url = "https://files.pythonhosted.org/packages/28/c0/b31116332a547fd2677ae5b78a2ef662dfc8023d67f41b2a83f7c2aa78b1/cffi-1.17.1-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:d63afe322132c194cf832bfec0dc69a99fb9bb6bbd550f161a49e9e855cc78ff", size = 485729, upload-time = "2024-09-04T20:44:18.688Z" }, - { url = "https://files.pythonhosted.org/packages/91/2b/9a1ddfa5c7f13cab007a2c9cc295b70fbbda7cb10a286aa6810338e60ea1/cffi-1.17.1-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:f79fc4fc25f1c8698ff97788206bb3c2598949bfe0fef03d299eb1b5356ada99", size = 471256, upload-time = "2024-09-04T20:44:20.248Z" }, - { url = "https://files.pythonhosted.org/packages/b2/d5/da47df7004cb17e4955df6a43d14b3b4ae77737dff8bf7f8f333196717bf/cffi-1.17.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:b62ce867176a75d03a665bad002af8e6d54644fad99a3c70905c543130e39d93", size = 479424, upload-time = "2024-09-04T20:44:21.673Z" }, - { url = "https://files.pythonhosted.org/packages/0b/ac/2a28bcf513e93a219c8a4e8e125534f4f6db03e3179ba1c45e949b76212c/cffi-1.17.1-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:386c8bf53c502fff58903061338ce4f4950cbdcb23e2902d86c0f722b786bbe3", size = 484568, upload-time = "2024-09-04T20:44:23.245Z" }, - { url = "https://files.pythonhosted.org/packages/d4/38/ca8a4f639065f14ae0f1d9751e70447a261f1a30fa7547a828ae08142465/cffi-1.17.1-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:4ceb10419a9adf4460ea14cfd6bc43d08701f0835e979bf821052f1805850fe8", size = 488736, upload-time = "2024-09-04T20:44:24.757Z" }, - { url = "https://files.pythonhosted.org/packages/86/c5/28b2d6f799ec0bdecf44dced2ec5ed43e0eb63097b0f58c293583b406582/cffi-1.17.1-cp312-cp312-win32.whl", hash = "sha256:a08d7e755f8ed21095a310a693525137cfe756ce62d066e53f502a83dc550f65", size = 172448, upload-time = "2024-09-04T20:44:26.208Z" }, - { url = "https://files.pythonhosted.org/packages/50/b9/db34c4755a7bd1cb2d1603ac3863f22bcecbd1ba29e5ee841a4bc510b294/cffi-1.17.1-cp312-cp312-win_amd64.whl", hash = "sha256:51392eae71afec0d0c8fb1a53b204dbb3bcabcb3c9b807eedf3e1e6ccf2de903", size = 181976, upload-time = "2024-09-04T20:44:27.578Z" }, - { url = "https://files.pythonhosted.org/packages/8d/f8/dd6c246b148639254dad4d6803eb6a54e8c85c6e11ec9df2cffa87571dbe/cffi-1.17.1-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:f3a2b4222ce6b60e2e8b337bb9596923045681d71e5a082783484d845390938e", size = 182989, upload-time = "2024-09-04T20:44:28.956Z" }, - { url = "https://files.pythonhosted.org/packages/8b/f1/672d303ddf17c24fc83afd712316fda78dc6fce1cd53011b839483e1ecc8/cffi-1.17.1-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:0984a4925a435b1da406122d4d7968dd861c1385afe3b45ba82b750f229811e2", size = 178802, upload-time = "2024-09-04T20:44:30.289Z" }, - { url = "https://files.pythonhosted.org/packages/0e/2d/eab2e858a91fdff70533cab61dcff4a1f55ec60425832ddfdc9cd36bc8af/cffi-1.17.1-cp313-cp313-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:d01b12eeeb4427d3110de311e1774046ad344f5b1a7403101878976ecd7a10f3", size = 454792, upload-time = "2024-09-04T20:44:32.01Z" }, - { url = "https://files.pythonhosted.org/packages/75/b2/fbaec7c4455c604e29388d55599b99ebcc250a60050610fadde58932b7ee/cffi-1.17.1-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:706510fe141c86a69c8ddc029c7910003a17353970cff3b904ff0686a5927683", size = 478893, upload-time = "2024-09-04T20:44:33.606Z" }, - { url = "https://files.pythonhosted.org/packages/4f/b7/6e4a2162178bf1935c336d4da8a9352cccab4d3a5d7914065490f08c0690/cffi-1.17.1-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:de55b766c7aa2e2a3092c51e0483d700341182f08e67c63630d5b6f200bb28e5", size = 485810, upload-time = "2024-09-04T20:44:35.191Z" }, - { url = "https://files.pythonhosted.org/packages/c7/8a/1d0e4a9c26e54746dc08c2c6c037889124d4f59dffd853a659fa545f1b40/cffi-1.17.1-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:c59d6e989d07460165cc5ad3c61f9fd8f1b4796eacbd81cee78957842b834af4", size = 471200, upload-time = "2024-09-04T20:44:36.743Z" }, - { url = "https://files.pythonhosted.org/packages/26/9f/1aab65a6c0db35f43c4d1b4f580e8df53914310afc10ae0397d29d697af4/cffi-1.17.1-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:dd398dbc6773384a17fe0d3e7eeb8d1a21c2200473ee6806bb5e6a8e62bb73dd", size = 479447, upload-time = "2024-09-04T20:44:38.492Z" }, - { url = "https://files.pythonhosted.org/packages/5f/e4/fb8b3dd8dc0e98edf1135ff067ae070bb32ef9d509d6cb0f538cd6f7483f/cffi-1.17.1-cp313-cp313-musllinux_1_1_aarch64.whl", hash = "sha256:3edc8d958eb099c634dace3c7e16560ae474aa3803a5df240542b305d14e14ed", size = 484358, upload-time = "2024-09-04T20:44:40.046Z" }, - { url = "https://files.pythonhosted.org/packages/f1/47/d7145bf2dc04684935d57d67dff9d6d795b2ba2796806bb109864be3a151/cffi-1.17.1-cp313-cp313-musllinux_1_1_x86_64.whl", hash = "sha256:72e72408cad3d5419375fc87d289076ee319835bdfa2caad331e377589aebba9", size = 488469, upload-time = "2024-09-04T20:44:41.616Z" }, - { url = "https://files.pythonhosted.org/packages/bf/ee/f94057fa6426481d663b88637a9a10e859e492c73d0384514a17d78ee205/cffi-1.17.1-cp313-cp313-win32.whl", hash = "sha256:e03eab0a8677fa80d646b5ddece1cbeaf556c313dcfac435ba11f107ba117b5d", size = 172475, upload-time = "2024-09-04T20:44:43.733Z" }, - { url = "https://files.pythonhosted.org/packages/7c/fc/6a8cb64e5f0324877d503c854da15d76c1e50eb722e320b15345c4d0c6de/cffi-1.17.1-cp313-cp313-win_amd64.whl", hash = "sha256:f6a16c31041f09ead72d69f583767292f750d24913dadacf5756b966aacb3f1a", size = 182009, upload-time = "2024-09-04T20:44:45.309Z" }, +version = "2.0.0" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "pycparser", marker = "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/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/4b/8d/a0a47a0c9e413a658623d014e91e74a50cdd2c423f7ccfd44086ef767f90/cffi-2.0.0-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:00bdf7acc5f795150faa6957054fbbca2439db2f775ce831222b66f192f03beb", size = 185230, upload-time = "2025-09-08T23:23:00.879Z" }, + { url = "https://files.pythonhosted.org/packages/4a/d2/a6c0296814556c68ee32009d9c2ad4f85f2707cdecfd7727951ec228005d/cffi-2.0.0-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:45d5e886156860dc35862657e1494b9bae8dfa63bf56796f2fb56e1679fc0bca", size = 181043, upload-time = "2025-09-08T23:23:02.231Z" }, + { url = "https://files.pythonhosted.org/packages/b0/1e/d22cc63332bd59b06481ceaac49d6c507598642e2230f201649058a7e704/cffi-2.0.0-cp313-cp313-manylinux1_i686.manylinux2014_i686.manylinux_2_17_i686.manylinux_2_5_i686.whl", hash = "sha256:07b271772c100085dd28b74fa0cd81c8fb1a3ba18b21e03d7c27f3436a10606b", size = 212446, upload-time = "2025-09-08T23:23:03.472Z" }, + { url = "https://files.pythonhosted.org/packages/a9/f5/a2c23eb03b61a0b8747f211eb716446c826ad66818ddc7810cc2cc19b3f2/cffi-2.0.0-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:d48a880098c96020b02d5a1f7d9251308510ce8858940e6fa99ece33f610838b", size = 220101, upload-time = "2025-09-08T23:23:04.792Z" }, + { url = "https://files.pythonhosted.org/packages/f2/7f/e6647792fc5850d634695bc0e6ab4111ae88e89981d35ac269956605feba/cffi-2.0.0-cp313-cp313-manylinux2014_ppc64le.manylinux_2_17_ppc64le.whl", hash = "sha256:f93fd8e5c8c0a4aa1f424d6173f14a892044054871c771f8566e4008eaa359d2", size = 207948, upload-time = "2025-09-08T23:23:06.127Z" }, + { url = "https://files.pythonhosted.org/packages/cb/1e/a5a1bd6f1fb30f22573f76533de12a00bf274abcdc55c8edab639078abb6/cffi-2.0.0-cp313-cp313-manylinux2014_s390x.manylinux_2_17_s390x.whl", hash = "sha256:dd4f05f54a52fb558f1ba9f528228066954fee3ebe629fc1660d874d040ae5a3", size = 206422, upload-time = "2025-09-08T23:23:07.753Z" }, + { url = "https://files.pythonhosted.org/packages/98/df/0a1755e750013a2081e863e7cd37e0cdd02664372c754e5560099eb7aa44/cffi-2.0.0-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:c8d3b5532fc71b7a77c09192b4a5a200ea992702734a2e9279a37f2478236f26", size = 219499, upload-time = "2025-09-08T23:23:09.648Z" }, + { url = "https://files.pythonhosted.org/packages/50/e1/a969e687fcf9ea58e6e2a928ad5e2dd88cc12f6f0ab477e9971f2309b57c/cffi-2.0.0-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:d9b29c1f0ae438d5ee9acb31cadee00a58c46cc9c0b2f9038c6b0b3470877a8c", size = 222928, upload-time = "2025-09-08T23:23:10.928Z" }, + { url = "https://files.pythonhosted.org/packages/36/54/0362578dd2c9e557a28ac77698ed67323ed5b9775ca9d3fe73fe191bb5d8/cffi-2.0.0-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:6d50360be4546678fc1b79ffe7a66265e28667840010348dd69a314145807a1b", size = 221302, upload-time = "2025-09-08T23:23:12.42Z" }, + { url = "https://files.pythonhosted.org/packages/eb/6d/bf9bda840d5f1dfdbf0feca87fbdb64a918a69bca42cfa0ba7b137c48cb8/cffi-2.0.0-cp313-cp313-win32.whl", hash = "sha256:74a03b9698e198d47562765773b4a8309919089150a0bb17d829ad7b44b60d27", size = 172909, upload-time = "2025-09-08T23:23:14.32Z" }, + { url = "https://files.pythonhosted.org/packages/37/18/6519e1ee6f5a1e579e04b9ddb6f1676c17368a7aba48299c3759bbc3c8b3/cffi-2.0.0-cp313-cp313-win_amd64.whl", hash = "sha256:19f705ada2530c1167abacb171925dd886168931e0a7b78f5bffcae5c6b5be75", size = 183402, upload-time = "2025-09-08T23:23:15.535Z" }, + { url = "https://files.pythonhosted.org/packages/cb/0e/02ceeec9a7d6ee63bb596121c2c8e9b3a9e150936f4fbef6ca1943e6137c/cffi-2.0.0-cp313-cp313-win_arm64.whl", hash = "sha256:256f80b80ca3853f90c21b23ee78cd008713787b1b1e93eae9f3d6a7134abd91", size = 177780, upload-time = "2025-09-08T23:23:16.761Z" }, + { url = "https://files.pythonhosted.org/packages/92/c4/3ce07396253a83250ee98564f8d7e9789fab8e58858f35d07a9a2c78de9f/cffi-2.0.0-cp314-cp314-macosx_10_13_x86_64.whl", hash = "sha256:fc33c5141b55ed366cfaad382df24fe7dcbc686de5be719b207bb248e3053dc5", size = 185320, upload-time = "2025-09-08T23:23:18.087Z" }, + { url = "https://files.pythonhosted.org/packages/59/dd/27e9fa567a23931c838c6b02d0764611c62290062a6d4e8ff7863daf9730/cffi-2.0.0-cp314-cp314-macosx_11_0_arm64.whl", hash = "sha256:c654de545946e0db659b3400168c9ad31b5d29593291482c43e3564effbcee13", size = 181487, upload-time = "2025-09-08T23:23:19.622Z" }, + { url = "https://files.pythonhosted.org/packages/d6/43/0e822876f87ea8a4ef95442c3d766a06a51fc5298823f884ef87aaad168c/cffi-2.0.0-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:24b6f81f1983e6df8db3adc38562c83f7d4a0c36162885ec7f7b77c7dcbec97b", size = 220049, upload-time = "2025-09-08T23:23:20.853Z" }, + { url = "https://files.pythonhosted.org/packages/b4/89/76799151d9c2d2d1ead63c2429da9ea9d7aac304603de0c6e8764e6e8e70/cffi-2.0.0-cp314-cp314-manylinux2014_ppc64le.manylinux_2_17_ppc64le.whl", hash = "sha256:12873ca6cb9b0f0d3a0da705d6086fe911591737a59f28b7936bdfed27c0d47c", size = 207793, upload-time = "2025-09-08T23:23:22.08Z" }, + { url = "https://files.pythonhosted.org/packages/bb/dd/3465b14bb9e24ee24cb88c9e3730f6de63111fffe513492bf8c808a3547e/cffi-2.0.0-cp314-cp314-manylinux2014_s390x.manylinux_2_17_s390x.whl", hash = "sha256:d9b97165e8aed9272a6bb17c01e3cc5871a594a446ebedc996e2397a1c1ea8ef", size = 206300, upload-time = "2025-09-08T23:23:23.314Z" }, + { url = "https://files.pythonhosted.org/packages/47/d9/d83e293854571c877a92da46fdec39158f8d7e68da75bf73581225d28e90/cffi-2.0.0-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:afb8db5439b81cf9c9d0c80404b60c3cc9c3add93e114dcae767f1477cb53775", size = 219244, upload-time = "2025-09-08T23:23:24.541Z" }, + { url = "https://files.pythonhosted.org/packages/2b/0f/1f177e3683aead2bb00f7679a16451d302c436b5cbf2505f0ea8146ef59e/cffi-2.0.0-cp314-cp314-musllinux_1_2_aarch64.whl", hash = "sha256:737fe7d37e1a1bffe70bd5754ea763a62a066dc5913ca57e957824b72a85e205", size = 222828, upload-time = "2025-09-08T23:23:26.143Z" }, + { url = "https://files.pythonhosted.org/packages/c6/0f/cafacebd4b040e3119dcb32fed8bdef8dfe94da653155f9d0b9dc660166e/cffi-2.0.0-cp314-cp314-musllinux_1_2_x86_64.whl", hash = "sha256:38100abb9d1b1435bc4cc340bb4489635dc2f0da7456590877030c9b3d40b0c1", size = 220926, upload-time = "2025-09-08T23:23:27.873Z" }, + { url = "https://files.pythonhosted.org/packages/3e/aa/df335faa45b395396fcbc03de2dfcab242cd61a9900e914fe682a59170b1/cffi-2.0.0-cp314-cp314-win32.whl", hash = "sha256:087067fa8953339c723661eda6b54bc98c5625757ea62e95eb4898ad5e776e9f", size = 175328, upload-time = "2025-09-08T23:23:44.61Z" }, + { url = "https://files.pythonhosted.org/packages/bb/92/882c2d30831744296ce713f0feb4c1cd30f346ef747b530b5318715cc367/cffi-2.0.0-cp314-cp314-win_amd64.whl", hash = "sha256:203a48d1fb583fc7d78a4c6655692963b860a417c0528492a6bc21f1aaefab25", size = 185650, upload-time = "2025-09-08T23:23:45.848Z" }, + { url = "https://files.pythonhosted.org/packages/9f/2c/98ece204b9d35a7366b5b2c6539c350313ca13932143e79dc133ba757104/cffi-2.0.0-cp314-cp314-win_arm64.whl", hash = "sha256:dbd5c7a25a7cb98f5ca55d258b103a2054f859a46ae11aaf23134f9cc0d356ad", size = 180687, upload-time = "2025-09-08T23:23:47.105Z" }, + { url = "https://files.pythonhosted.org/packages/3e/61/c768e4d548bfa607abcda77423448df8c471f25dbe64fb2ef6d555eae006/cffi-2.0.0-cp314-cp314t-macosx_10_13_x86_64.whl", hash = "sha256:9a67fc9e8eb39039280526379fb3a70023d77caec1852002b4da7e8b270c4dd9", size = 188773, upload-time = "2025-09-08T23:23:29.347Z" }, + { url = "https://files.pythonhosted.org/packages/2c/ea/5f76bce7cf6fcd0ab1a1058b5af899bfbef198bea4d5686da88471ea0336/cffi-2.0.0-cp314-cp314t-macosx_11_0_arm64.whl", hash = "sha256:7a66c7204d8869299919db4d5069a82f1561581af12b11b3c9f48c584eb8743d", size = 185013, upload-time = "2025-09-08T23:23:30.63Z" }, + { url = "https://files.pythonhosted.org/packages/be/b4/c56878d0d1755cf9caa54ba71e5d049479c52f9e4afc230f06822162ab2f/cffi-2.0.0-cp314-cp314t-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:7cc09976e8b56f8cebd752f7113ad07752461f48a58cbba644139015ac24954c", size = 221593, upload-time = "2025-09-08T23:23:31.91Z" }, + { url = "https://files.pythonhosted.org/packages/e0/0d/eb704606dfe8033e7128df5e90fee946bbcb64a04fcdaa97321309004000/cffi-2.0.0-cp314-cp314t-manylinux2014_ppc64le.manylinux_2_17_ppc64le.whl", hash = "sha256:92b68146a71df78564e4ef48af17551a5ddd142e5190cdf2c5624d0c3ff5b2e8", size = 209354, upload-time = "2025-09-08T23:23:33.214Z" }, + { url = "https://files.pythonhosted.org/packages/d8/19/3c435d727b368ca475fb8742ab97c9cb13a0de600ce86f62eab7fa3eea60/cffi-2.0.0-cp314-cp314t-manylinux2014_s390x.manylinux_2_17_s390x.whl", hash = "sha256:b1e74d11748e7e98e2f426ab176d4ed720a64412b6a15054378afdb71e0f37dc", size = 208480, upload-time = "2025-09-08T23:23:34.495Z" }, + { url = "https://files.pythonhosted.org/packages/d0/44/681604464ed9541673e486521497406fadcc15b5217c3e326b061696899a/cffi-2.0.0-cp314-cp314t-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:28a3a209b96630bca57cce802da70c266eb08c6e97e5afd61a75611ee6c64592", size = 221584, upload-time = "2025-09-08T23:23:36.096Z" }, + { url = "https://files.pythonhosted.org/packages/25/8e/342a504ff018a2825d395d44d63a767dd8ebc927ebda557fecdaca3ac33a/cffi-2.0.0-cp314-cp314t-musllinux_1_2_aarch64.whl", hash = "sha256:7553fb2090d71822f02c629afe6042c299edf91ba1bf94951165613553984512", size = 224443, upload-time = "2025-09-08T23:23:37.328Z" }, + { url = "https://files.pythonhosted.org/packages/e1/5e/b666bacbbc60fbf415ba9988324a132c9a7a0448a9a8f125074671c0f2c3/cffi-2.0.0-cp314-cp314t-musllinux_1_2_x86_64.whl", hash = "sha256:6c6c373cfc5c83a975506110d17457138c8c63016b563cc9ed6e056a82f13ce4", size = 223437, upload-time = "2025-09-08T23:23:38.945Z" }, + { url = "https://files.pythonhosted.org/packages/a0/1d/ec1a60bd1a10daa292d3cd6bb0b359a81607154fb8165f3ec95fe003b85c/cffi-2.0.0-cp314-cp314t-win32.whl", hash = "sha256:1fc9ea04857caf665289b7a75923f2c6ed559b8298a1b8c49e59f7dd95c8481e", size = 180487, upload-time = "2025-09-08T23:23:40.423Z" }, + { url = "https://files.pythonhosted.org/packages/bf/41/4c1168c74fac325c0c8156f04b6749c8b6a8f405bbf91413ba088359f60d/cffi-2.0.0-cp314-cp314t-win_amd64.whl", hash = "sha256:d68b6cef7827e8641e8ef16f4494edda8b36104d79773a334beaa1e3521430f6", size = 191726, upload-time = "2025-09-08T23:23:41.742Z" }, + { url = "https://files.pythonhosted.org/packages/ae/3a/dbeec9d1ee0844c679f6bb5d6ad4e9f198b1224f4e7a32825f47f6192b0c/cffi-2.0.0-cp314-cp314t-win_arm64.whl", hash = "sha256:0a1527a803f0a659de1af2e1fd700213caba79377e27e4693648c2923da066f9", size = 184195, upload-time = "2025-09-08T23:23:43.004Z" }, ] [[package]] name = "charset-normalizer" -version = "3.4.2" -source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/e4/33/89c2ced2b67d1c2a61c19c6751aa8902d46ce3dacb23600a283619f5a12d/charset_normalizer-3.4.2.tar.gz", hash = "sha256:5baececa9ecba31eff645232d59845c07aa030f0c81ee70184a90d35099a0e63", size = 126367, upload-time = "2025-05-02T08:34:42.01Z" } -wheels = [ - { url = "https://files.pythonhosted.org/packages/d7/a4/37f4d6035c89cac7930395a35cc0f1b872e652eaafb76a6075943754f095/charset_normalizer-3.4.2-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:0c29de6a1a95f24b9a1aa7aefd27d2487263f00dfd55a77719b530788f75cff7", size = 199936, upload-time = "2025-05-02T08:32:33.712Z" }, - { url = "https://files.pythonhosted.org/packages/ee/8a/1a5e33b73e0d9287274f899d967907cd0bf9c343e651755d9307e0dbf2b3/charset_normalizer-3.4.2-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:cddf7bd982eaa998934a91f69d182aec997c6c468898efe6679af88283b498d3", size = 143790, upload-time = "2025-05-02T08:32:35.768Z" }, - { url = "https://files.pythonhosted.org/packages/66/52/59521f1d8e6ab1482164fa21409c5ef44da3e9f653c13ba71becdd98dec3/charset_normalizer-3.4.2-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:fcbe676a55d7445b22c10967bceaaf0ee69407fbe0ece4d032b6eb8d4565982a", size = 153924, upload-time = "2025-05-02T08:32:37.284Z" }, - { url = "https://files.pythonhosted.org/packages/86/2d/fb55fdf41964ec782febbf33cb64be480a6b8f16ded2dbe8db27a405c09f/charset_normalizer-3.4.2-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:d41c4d287cfc69060fa91cae9683eacffad989f1a10811995fa309df656ec214", size = 146626, upload-time = "2025-05-02T08:32:38.803Z" }, - { url = "https://files.pythonhosted.org/packages/8c/73/6ede2ec59bce19b3edf4209d70004253ec5f4e319f9a2e3f2f15601ed5f7/charset_normalizer-3.4.2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:4e594135de17ab3866138f496755f302b72157d115086d100c3f19370839dd3a", size = 148567, upload-time = "2025-05-02T08:32:40.251Z" }, - { url = "https://files.pythonhosted.org/packages/09/14/957d03c6dc343c04904530b6bef4e5efae5ec7d7990a7cbb868e4595ee30/charset_normalizer-3.4.2-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:cf713fe9a71ef6fd5adf7a79670135081cd4431c2943864757f0fa3a65b1fafd", size = 150957, upload-time = "2025-05-02T08:32:41.705Z" }, - { url = "https://files.pythonhosted.org/packages/0d/c8/8174d0e5c10ccebdcb1b53cc959591c4c722a3ad92461a273e86b9f5a302/charset_normalizer-3.4.2-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:a370b3e078e418187da8c3674eddb9d983ec09445c99a3a263c2011993522981", size = 145408, upload-time = "2025-05-02T08:32:43.709Z" }, - { url = "https://files.pythonhosted.org/packages/58/aa/8904b84bc8084ac19dc52feb4f5952c6df03ffb460a887b42615ee1382e8/charset_normalizer-3.4.2-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:a955b438e62efdf7e0b7b52a64dc5c3396e2634baa62471768a64bc2adb73d5c", size = 153399, upload-time = "2025-05-02T08:32:46.197Z" }, - { url = "https://files.pythonhosted.org/packages/c2/26/89ee1f0e264d201cb65cf054aca6038c03b1a0c6b4ae998070392a3ce605/charset_normalizer-3.4.2-cp312-cp312-musllinux_1_2_ppc64le.whl", hash = "sha256:7222ffd5e4de8e57e03ce2cef95a4c43c98fcb72ad86909abdfc2c17d227fc1b", size = 156815, upload-time = "2025-05-02T08:32:48.105Z" }, - { url = "https://files.pythonhosted.org/packages/fd/07/68e95b4b345bad3dbbd3a8681737b4338ff2c9df29856a6d6d23ac4c73cb/charset_normalizer-3.4.2-cp312-cp312-musllinux_1_2_s390x.whl", hash = "sha256:bee093bf902e1d8fc0ac143c88902c3dfc8941f7ea1d6a8dd2bcb786d33db03d", size = 154537, upload-time = "2025-05-02T08:32:49.719Z" }, - { url = "https://files.pythonhosted.org/packages/77/1a/5eefc0ce04affb98af07bc05f3bac9094513c0e23b0562d64af46a06aae4/charset_normalizer-3.4.2-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:dedb8adb91d11846ee08bec4c8236c8549ac721c245678282dcb06b221aab59f", size = 149565, upload-time = "2025-05-02T08:32:51.404Z" }, - { url = "https://files.pythonhosted.org/packages/37/a0/2410e5e6032a174c95e0806b1a6585eb21e12f445ebe239fac441995226a/charset_normalizer-3.4.2-cp312-cp312-win32.whl", hash = "sha256:db4c7bf0e07fc3b7d89ac2a5880a6a8062056801b83ff56d8464b70f65482b6c", size = 98357, upload-time = "2025-05-02T08:32:53.079Z" }, - { url = "https://files.pythonhosted.org/packages/6c/4f/c02d5c493967af3eda9c771ad4d2bbc8df6f99ddbeb37ceea6e8716a32bc/charset_normalizer-3.4.2-cp312-cp312-win_amd64.whl", hash = "sha256:5a9979887252a82fefd3d3ed2a8e3b937a7a809f65dcb1e068b090e165bbe99e", size = 105776, upload-time = "2025-05-02T08:32:54.573Z" }, - { url = "https://files.pythonhosted.org/packages/ea/12/a93df3366ed32db1d907d7593a94f1fe6293903e3e92967bebd6950ed12c/charset_normalizer-3.4.2-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:926ca93accd5d36ccdabd803392ddc3e03e6d4cd1cf17deff3b989ab8e9dbcf0", size = 199622, upload-time = "2025-05-02T08:32:56.363Z" }, - { url = "https://files.pythonhosted.org/packages/04/93/bf204e6f344c39d9937d3c13c8cd5bbfc266472e51fc8c07cb7f64fcd2de/charset_normalizer-3.4.2-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:eba9904b0f38a143592d9fc0e19e2df0fa2e41c3c3745554761c5f6447eedabf", size = 143435, upload-time = "2025-05-02T08:32:58.551Z" }, - { url = "https://files.pythonhosted.org/packages/22/2a/ea8a2095b0bafa6c5b5a55ffdc2f924455233ee7b91c69b7edfcc9e02284/charset_normalizer-3.4.2-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:3fddb7e2c84ac87ac3a947cb4e66d143ca5863ef48e4a5ecb83bd48619e4634e", size = 153653, upload-time = "2025-05-02T08:33:00.342Z" }, - { url = "https://files.pythonhosted.org/packages/b6/57/1b090ff183d13cef485dfbe272e2fe57622a76694061353c59da52c9a659/charset_normalizer-3.4.2-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:98f862da73774290f251b9df8d11161b6cf25b599a66baf087c1ffe340e9bfd1", size = 146231, upload-time = "2025-05-02T08:33:02.081Z" }, - { url = "https://files.pythonhosted.org/packages/e2/28/ffc026b26f441fc67bd21ab7f03b313ab3fe46714a14b516f931abe1a2d8/charset_normalizer-3.4.2-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6c9379d65defcab82d07b2a9dfbfc2e95bc8fe0ebb1b176a3190230a3ef0e07c", size = 148243, upload-time = "2025-05-02T08:33:04.063Z" }, - { url = "https://files.pythonhosted.org/packages/c0/0f/9abe9bd191629c33e69e47c6ef45ef99773320e9ad8e9cb08b8ab4a8d4cb/charset_normalizer-3.4.2-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:e635b87f01ebc977342e2697d05b56632f5f879a4f15955dfe8cef2448b51691", size = 150442, upload-time = "2025-05-02T08:33:06.418Z" }, - { url = "https://files.pythonhosted.org/packages/67/7c/a123bbcedca91d5916c056407f89a7f5e8fdfce12ba825d7d6b9954a1a3c/charset_normalizer-3.4.2-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:1c95a1e2902a8b722868587c0e1184ad5c55631de5afc0eb96bc4b0d738092c0", size = 145147, upload-time = "2025-05-02T08:33:08.183Z" }, - { url = "https://files.pythonhosted.org/packages/ec/fe/1ac556fa4899d967b83e9893788e86b6af4d83e4726511eaaad035e36595/charset_normalizer-3.4.2-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:ef8de666d6179b009dce7bcb2ad4c4a779f113f12caf8dc77f0162c29d20490b", size = 153057, upload-time = "2025-05-02T08:33:09.986Z" }, - { url = "https://files.pythonhosted.org/packages/2b/ff/acfc0b0a70b19e3e54febdd5301a98b72fa07635e56f24f60502e954c461/charset_normalizer-3.4.2-cp313-cp313-musllinux_1_2_ppc64le.whl", hash = "sha256:32fc0341d72e0f73f80acb0a2c94216bd704f4f0bce10aedea38f30502b271ff", size = 156454, upload-time = "2025-05-02T08:33:11.814Z" }, - { url = "https://files.pythonhosted.org/packages/92/08/95b458ce9c740d0645feb0e96cea1f5ec946ea9c580a94adfe0b617f3573/charset_normalizer-3.4.2-cp313-cp313-musllinux_1_2_s390x.whl", hash = "sha256:289200a18fa698949d2b39c671c2cc7a24d44096784e76614899a7ccf2574b7b", size = 154174, upload-time = "2025-05-02T08:33:13.707Z" }, - { url = "https://files.pythonhosted.org/packages/78/be/8392efc43487ac051eee6c36d5fbd63032d78f7728cb37aebcc98191f1ff/charset_normalizer-3.4.2-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:4a476b06fbcf359ad25d34a057b7219281286ae2477cc5ff5e3f70a246971148", size = 149166, upload-time = "2025-05-02T08:33:15.458Z" }, - { url = "https://files.pythonhosted.org/packages/44/96/392abd49b094d30b91d9fbda6a69519e95802250b777841cf3bda8fe136c/charset_normalizer-3.4.2-cp313-cp313-win32.whl", hash = "sha256:aaeeb6a479c7667fbe1099af9617c83aaca22182d6cf8c53966491a0f1b7ffb7", size = 98064, upload-time = "2025-05-02T08:33:17.06Z" }, - { url = "https://files.pythonhosted.org/packages/e9/b0/0200da600134e001d91851ddc797809e2fe0ea72de90e09bec5a2fbdaccb/charset_normalizer-3.4.2-cp313-cp313-win_amd64.whl", hash = "sha256:aa6af9e7d59f9c12b33ae4e9450619cf2488e2bbe9b44030905877f0b2324980", size = 105641, upload-time = "2025-05-02T08:33:18.753Z" }, - { url = "https://files.pythonhosted.org/packages/20/94/c5790835a017658cbfabd07f3bfb549140c3ac458cfc196323996b10095a/charset_normalizer-3.4.2-py3-none-any.whl", hash = "sha256:7f56930ab0abd1c45cd15be65cc741c28b1c9a34876ce8c17a2fa107810c0af0", size = 52626, upload-time = "2025-05-02T08:34:40.053Z" }, +version = "3.4.4" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/13/69/33ddede1939fdd074bce5434295f38fae7136463422fe4fd3e0e89b98062/charset_normalizer-3.4.4.tar.gz", hash = "sha256:94537985111c35f28720e43603b8e7b43a6ecfb2ce1d3058bbe955b73404e21a", size = 129418, upload-time = "2025-10-14T04:42:32.879Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/f3/85/1637cd4af66fa687396e757dec650f28025f2a2f5a5531a3208dc0ec43f2/charset_normalizer-3.4.4-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:0a98e6759f854bd25a58a73fa88833fba3b7c491169f86ce1180c948ab3fd394", size = 208425, upload-time = "2025-10-14T04:40:53.353Z" }, + { url = "https://files.pythonhosted.org/packages/9d/6a/04130023fef2a0d9c62d0bae2649b69f7b7d8d24ea5536feef50551029df/charset_normalizer-3.4.4-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:b5b290ccc2a263e8d185130284f8501e3e36c5e02750fc6b6bdeb2e9e96f1e25", size = 148162, upload-time = "2025-10-14T04:40:54.558Z" }, + { url = "https://files.pythonhosted.org/packages/78/29/62328d79aa60da22c9e0b9a66539feae06ca0f5a4171ac4f7dc285b83688/charset_normalizer-3.4.4-cp312-cp312-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:74bb723680f9f7a6234dcf67aea57e708ec1fbdf5699fb91dfd6f511b0a320ef", size = 144558, upload-time = "2025-10-14T04:40:55.677Z" }, + { url = "https://files.pythonhosted.org/packages/86/bb/b32194a4bf15b88403537c2e120b817c61cd4ecffa9b6876e941c3ee38fe/charset_normalizer-3.4.4-cp312-cp312-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:f1e34719c6ed0b92f418c7c780480b26b5d9c50349e9a9af7d76bf757530350d", size = 161497, upload-time = "2025-10-14T04:40:57.217Z" }, + { url = "https://files.pythonhosted.org/packages/19/89/a54c82b253d5b9b111dc74aca196ba5ccfcca8242d0fb64146d4d3183ff1/charset_normalizer-3.4.4-cp312-cp312-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:2437418e20515acec67d86e12bf70056a33abdacb5cb1655042f6538d6b085a8", size = 159240, upload-time = "2025-10-14T04:40:58.358Z" }, + { url = "https://files.pythonhosted.org/packages/c0/10/d20b513afe03acc89ec33948320a5544d31f21b05368436d580dec4e234d/charset_normalizer-3.4.4-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:11d694519d7f29d6cd09f6ac70028dba10f92f6cdd059096db198c283794ac86", size = 153471, upload-time = "2025-10-14T04:40:59.468Z" }, + { url = "https://files.pythonhosted.org/packages/61/fa/fbf177b55bdd727010f9c0a3c49eefa1d10f960e5f09d1d887bf93c2e698/charset_normalizer-3.4.4-cp312-cp312-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:ac1c4a689edcc530fc9d9aa11f5774b9e2f33f9a0c6a57864e90908f5208d30a", size = 150864, upload-time = "2025-10-14T04:41:00.623Z" }, + { url = "https://files.pythonhosted.org/packages/05/12/9fbc6a4d39c0198adeebbde20b619790e9236557ca59fc40e0e3cebe6f40/charset_normalizer-3.4.4-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:21d142cc6c0ec30d2efee5068ca36c128a30b0f2c53c1c07bd78cb6bc1d3be5f", size = 150647, upload-time = "2025-10-14T04:41:01.754Z" }, + { url = "https://files.pythonhosted.org/packages/ad/1f/6a9a593d52e3e8c5d2b167daf8c6b968808efb57ef4c210acb907c365bc4/charset_normalizer-3.4.4-cp312-cp312-musllinux_1_2_armv7l.whl", hash = "sha256:5dbe56a36425d26d6cfb40ce79c314a2e4dd6211d51d6d2191c00bed34f354cc", size = 145110, upload-time = "2025-10-14T04:41:03.231Z" }, + { url = "https://files.pythonhosted.org/packages/30/42/9a52c609e72471b0fc54386dc63c3781a387bb4fe61c20231a4ebcd58bdd/charset_normalizer-3.4.4-cp312-cp312-musllinux_1_2_ppc64le.whl", hash = "sha256:5bfbb1b9acf3334612667b61bd3002196fe2a1eb4dd74d247e0f2a4d50ec9bbf", size = 162839, upload-time = "2025-10-14T04:41:04.715Z" }, + { url = "https://files.pythonhosted.org/packages/c4/5b/c0682bbf9f11597073052628ddd38344a3d673fda35a36773f7d19344b23/charset_normalizer-3.4.4-cp312-cp312-musllinux_1_2_riscv64.whl", hash = "sha256:d055ec1e26e441f6187acf818b73564e6e6282709e9bcb5b63f5b23068356a15", size = 150667, upload-time = "2025-10-14T04:41:05.827Z" }, + { url = "https://files.pythonhosted.org/packages/e4/24/a41afeab6f990cf2daf6cb8c67419b63b48cf518e4f56022230840c9bfb2/charset_normalizer-3.4.4-cp312-cp312-musllinux_1_2_s390x.whl", hash = "sha256:af2d8c67d8e573d6de5bc30cdb27e9b95e49115cd9baad5ddbd1a6207aaa82a9", size = 160535, upload-time = "2025-10-14T04:41:06.938Z" }, + { url = "https://files.pythonhosted.org/packages/2a/e5/6a4ce77ed243c4a50a1fecca6aaaab419628c818a49434be428fe24c9957/charset_normalizer-3.4.4-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:780236ac706e66881f3b7f2f32dfe90507a09e67d1d454c762cf642e6e1586e0", size = 154816, upload-time = "2025-10-14T04:41:08.101Z" }, + { url = "https://files.pythonhosted.org/packages/a8/ef/89297262b8092b312d29cdb2517cb1237e51db8ecef2e9af5edbe7b683b1/charset_normalizer-3.4.4-cp312-cp312-win32.whl", hash = "sha256:5833d2c39d8896e4e19b689ffc198f08ea58116bee26dea51e362ecc7cd3ed26", size = 99694, upload-time = "2025-10-14T04:41:09.23Z" }, + { url = "https://files.pythonhosted.org/packages/3d/2d/1e5ed9dd3b3803994c155cd9aacb60c82c331bad84daf75bcb9c91b3295e/charset_normalizer-3.4.4-cp312-cp312-win_amd64.whl", hash = "sha256:a79cfe37875f822425b89a82333404539ae63dbdddf97f84dcbc3d339aae9525", size = 107131, upload-time = "2025-10-14T04:41:10.467Z" }, + { url = "https://files.pythonhosted.org/packages/d0/d9/0ed4c7098a861482a7b6a95603edce4c0d9db2311af23da1fb2b75ec26fc/charset_normalizer-3.4.4-cp312-cp312-win_arm64.whl", hash = "sha256:376bec83a63b8021bb5c8ea75e21c4ccb86e7e45ca4eb81146091b56599b80c3", size = 100390, upload-time = "2025-10-14T04:41:11.915Z" }, + { url = "https://files.pythonhosted.org/packages/97/45/4b3a1239bbacd321068ea6e7ac28875b03ab8bc0aa0966452db17cd36714/charset_normalizer-3.4.4-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:e1f185f86a6f3403aa2420e815904c67b2f9ebc443f045edd0de921108345794", size = 208091, upload-time = "2025-10-14T04:41:13.346Z" }, + { url = "https://files.pythonhosted.org/packages/7d/62/73a6d7450829655a35bb88a88fca7d736f9882a27eacdca2c6d505b57e2e/charset_normalizer-3.4.4-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:6b39f987ae8ccdf0d2642338faf2abb1862340facc796048b604ef14919e55ed", size = 147936, upload-time = "2025-10-14T04:41:14.461Z" }, + { url = "https://files.pythonhosted.org/packages/89/c5/adb8c8b3d6625bef6d88b251bbb0d95f8205831b987631ab0c8bb5d937c2/charset_normalizer-3.4.4-cp313-cp313-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:3162d5d8ce1bb98dd51af660f2121c55d0fa541b46dff7bb9b9f86ea1d87de72", size = 144180, upload-time = "2025-10-14T04:41:15.588Z" }, + { url = "https://files.pythonhosted.org/packages/91/ed/9706e4070682d1cc219050b6048bfd293ccf67b3d4f5a4f39207453d4b99/charset_normalizer-3.4.4-cp313-cp313-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:81d5eb2a312700f4ecaa977a8235b634ce853200e828fbadf3a9c50bab278328", size = 161346, upload-time = "2025-10-14T04:41:16.738Z" }, + { url = "https://files.pythonhosted.org/packages/d5/0d/031f0d95e4972901a2f6f09ef055751805ff541511dc1252ba3ca1f80cf5/charset_normalizer-3.4.4-cp313-cp313-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:5bd2293095d766545ec1a8f612559f6b40abc0eb18bb2f5d1171872d34036ede", size = 158874, upload-time = "2025-10-14T04:41:17.923Z" }, + { url = "https://files.pythonhosted.org/packages/f5/83/6ab5883f57c9c801ce5e5677242328aa45592be8a00644310a008d04f922/charset_normalizer-3.4.4-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:a8a8b89589086a25749f471e6a900d3f662d1d3b6e2e59dcecf787b1cc3a1894", size = 153076, upload-time = "2025-10-14T04:41:19.106Z" }, + { url = "https://files.pythonhosted.org/packages/75/1e/5ff781ddf5260e387d6419959ee89ef13878229732732ee73cdae01800f2/charset_normalizer-3.4.4-cp313-cp313-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:bc7637e2f80d8530ee4a78e878bce464f70087ce73cf7c1caf142416923b98f1", size = 150601, upload-time = "2025-10-14T04:41:20.245Z" }, + { url = "https://files.pythonhosted.org/packages/d7/57/71be810965493d3510a6ca79b90c19e48696fb1ff964da319334b12677f0/charset_normalizer-3.4.4-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:f8bf04158c6b607d747e93949aa60618b61312fe647a6369f88ce2ff16043490", size = 150376, upload-time = "2025-10-14T04:41:21.398Z" }, + { url = "https://files.pythonhosted.org/packages/e5/d5/c3d057a78c181d007014feb7e9f2e65905a6c4ef182c0ddf0de2924edd65/charset_normalizer-3.4.4-cp313-cp313-musllinux_1_2_armv7l.whl", hash = "sha256:554af85e960429cf30784dd47447d5125aaa3b99a6f0683589dbd27e2f45da44", size = 144825, upload-time = "2025-10-14T04:41:22.583Z" }, + { url = "https://files.pythonhosted.org/packages/e6/8c/d0406294828d4976f275ffbe66f00266c4b3136b7506941d87c00cab5272/charset_normalizer-3.4.4-cp313-cp313-musllinux_1_2_ppc64le.whl", hash = "sha256:74018750915ee7ad843a774364e13a3db91682f26142baddf775342c3f5b1133", size = 162583, upload-time = "2025-10-14T04:41:23.754Z" }, + { url = "https://files.pythonhosted.org/packages/d7/24/e2aa1f18c8f15c4c0e932d9287b8609dd30ad56dbe41d926bd846e22fb8d/charset_normalizer-3.4.4-cp313-cp313-musllinux_1_2_riscv64.whl", hash = "sha256:c0463276121fdee9c49b98908b3a89c39be45d86d1dbaa22957e38f6321d4ce3", size = 150366, upload-time = "2025-10-14T04:41:25.27Z" }, + { url = "https://files.pythonhosted.org/packages/e4/5b/1e6160c7739aad1e2df054300cc618b06bf784a7a164b0f238360721ab86/charset_normalizer-3.4.4-cp313-cp313-musllinux_1_2_s390x.whl", hash = "sha256:362d61fd13843997c1c446760ef36f240cf81d3ebf74ac62652aebaf7838561e", size = 160300, upload-time = "2025-10-14T04:41:26.725Z" }, + { url = "https://files.pythonhosted.org/packages/7a/10/f882167cd207fbdd743e55534d5d9620e095089d176d55cb22d5322f2afd/charset_normalizer-3.4.4-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:9a26f18905b8dd5d685d6d07b0cdf98a79f3c7a918906af7cc143ea2e164c8bc", size = 154465, upload-time = "2025-10-14T04:41:28.322Z" }, + { url = "https://files.pythonhosted.org/packages/89/66/c7a9e1b7429be72123441bfdbaf2bc13faab3f90b933f664db506dea5915/charset_normalizer-3.4.4-cp313-cp313-win32.whl", hash = "sha256:9b35f4c90079ff2e2edc5b26c0c77925e5d2d255c42c74fdb70fb49b172726ac", size = 99404, upload-time = "2025-10-14T04:41:29.95Z" }, + { url = "https://files.pythonhosted.org/packages/c4/26/b9924fa27db384bdcd97ab83b4f0a8058d96ad9626ead570674d5e737d90/charset_normalizer-3.4.4-cp313-cp313-win_amd64.whl", hash = "sha256:b435cba5f4f750aa6c0a0d92c541fb79f69a387c91e61f1795227e4ed9cece14", size = 107092, upload-time = "2025-10-14T04:41:31.188Z" }, + { url = "https://files.pythonhosted.org/packages/af/8f/3ed4bfa0c0c72a7ca17f0380cd9e4dd842b09f664e780c13cff1dcf2ef1b/charset_normalizer-3.4.4-cp313-cp313-win_arm64.whl", hash = "sha256:542d2cee80be6f80247095cc36c418f7bddd14f4a6de45af91dfad36d817bba2", size = 100408, upload-time = "2025-10-14T04:41:32.624Z" }, + { url = "https://files.pythonhosted.org/packages/2a/35/7051599bd493e62411d6ede36fd5af83a38f37c4767b92884df7301db25d/charset_normalizer-3.4.4-cp314-cp314-macosx_10_13_universal2.whl", hash = "sha256:da3326d9e65ef63a817ecbcc0df6e94463713b754fe293eaa03da99befb9a5bd", size = 207746, upload-time = "2025-10-14T04:41:33.773Z" }, + { url = "https://files.pythonhosted.org/packages/10/9a/97c8d48ef10d6cd4fcead2415523221624bf58bcf68a802721a6bc807c8f/charset_normalizer-3.4.4-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:8af65f14dc14a79b924524b1e7fffe304517b2bff5a58bf64f30b98bbc5079eb", size = 147889, upload-time = "2025-10-14T04:41:34.897Z" }, + { url = "https://files.pythonhosted.org/packages/10/bf/979224a919a1b606c82bd2c5fa49b5c6d5727aa47b4312bb27b1734f53cd/charset_normalizer-3.4.4-cp314-cp314-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:74664978bb272435107de04e36db5a9735e78232b85b77d45cfb38f758efd33e", size = 143641, upload-time = "2025-10-14T04:41:36.116Z" }, + { url = "https://files.pythonhosted.org/packages/ba/33/0ad65587441fc730dc7bd90e9716b30b4702dc7b617e6ba4997dc8651495/charset_normalizer-3.4.4-cp314-cp314-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:752944c7ffbfdd10c074dc58ec2d5a8a4cd9493b314d367c14d24c17684ddd14", size = 160779, upload-time = "2025-10-14T04:41:37.229Z" }, + { url = "https://files.pythonhosted.org/packages/67/ed/331d6b249259ee71ddea93f6f2f0a56cfebd46938bde6fcc6f7b9a3d0e09/charset_normalizer-3.4.4-cp314-cp314-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:d1f13550535ad8cff21b8d757a3257963e951d96e20ec82ab44bc64aeb62a191", size = 159035, upload-time = "2025-10-14T04:41:38.368Z" }, + { url = "https://files.pythonhosted.org/packages/67/ff/f6b948ca32e4f2a4576aa129d8bed61f2e0543bf9f5f2b7fc3758ed005c9/charset_normalizer-3.4.4-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:ecaae4149d99b1c9e7b88bb03e3221956f68fd6d50be2ef061b2381b61d20838", size = 152542, upload-time = "2025-10-14T04:41:39.862Z" }, + { url = "https://files.pythonhosted.org/packages/16/85/276033dcbcc369eb176594de22728541a925b2632f9716428c851b149e83/charset_normalizer-3.4.4-cp314-cp314-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:cb6254dc36b47a990e59e1068afacdcd02958bdcce30bb50cc1700a8b9d624a6", size = 149524, upload-time = "2025-10-14T04:41:41.319Z" }, + { url = "https://files.pythonhosted.org/packages/9e/f2/6a2a1f722b6aba37050e626530a46a68f74e63683947a8acff92569f979a/charset_normalizer-3.4.4-cp314-cp314-musllinux_1_2_aarch64.whl", hash = "sha256:c8ae8a0f02f57a6e61203a31428fa1d677cbe50c93622b4149d5c0f319c1d19e", size = 150395, upload-time = "2025-10-14T04:41:42.539Z" }, + { url = "https://files.pythonhosted.org/packages/60/bb/2186cb2f2bbaea6338cad15ce23a67f9b0672929744381e28b0592676824/charset_normalizer-3.4.4-cp314-cp314-musllinux_1_2_armv7l.whl", hash = "sha256:47cc91b2f4dd2833fddaedd2893006b0106129d4b94fdb6af1f4ce5a9965577c", size = 143680, upload-time = "2025-10-14T04:41:43.661Z" }, + { url = "https://files.pythonhosted.org/packages/7d/a5/bf6f13b772fbb2a90360eb620d52ed8f796f3c5caee8398c3b2eb7b1c60d/charset_normalizer-3.4.4-cp314-cp314-musllinux_1_2_ppc64le.whl", hash = "sha256:82004af6c302b5d3ab2cfc4cc5f29db16123b1a8417f2e25f9066f91d4411090", size = 162045, upload-time = "2025-10-14T04:41:44.821Z" }, + { url = "https://files.pythonhosted.org/packages/df/c5/d1be898bf0dc3ef9030c3825e5d3b83f2c528d207d246cbabe245966808d/charset_normalizer-3.4.4-cp314-cp314-musllinux_1_2_riscv64.whl", hash = "sha256:2b7d8f6c26245217bd2ad053761201e9f9680f8ce52f0fcd8d0755aeae5b2152", size = 149687, upload-time = "2025-10-14T04:41:46.442Z" }, + { url = "https://files.pythonhosted.org/packages/a5/42/90c1f7b9341eef50c8a1cb3f098ac43b0508413f33affd762855f67a410e/charset_normalizer-3.4.4-cp314-cp314-musllinux_1_2_s390x.whl", hash = "sha256:799a7a5e4fb2d5898c60b640fd4981d6a25f1c11790935a44ce38c54e985f828", size = 160014, upload-time = "2025-10-14T04:41:47.631Z" }, + { url = "https://files.pythonhosted.org/packages/76/be/4d3ee471e8145d12795ab655ece37baed0929462a86e72372fd25859047c/charset_normalizer-3.4.4-cp314-cp314-musllinux_1_2_x86_64.whl", hash = "sha256:99ae2cffebb06e6c22bdc25801d7b30f503cc87dbd283479e7b606f70aff57ec", size = 154044, upload-time = "2025-10-14T04:41:48.81Z" }, + { url = "https://files.pythonhosted.org/packages/b0/6f/8f7af07237c34a1defe7defc565a9bc1807762f672c0fde711a4b22bf9c0/charset_normalizer-3.4.4-cp314-cp314-win32.whl", hash = "sha256:f9d332f8c2a2fcbffe1378594431458ddbef721c1769d78e2cbc06280d8155f9", size = 99940, upload-time = "2025-10-14T04:41:49.946Z" }, + { url = "https://files.pythonhosted.org/packages/4b/51/8ade005e5ca5b0d80fb4aff72a3775b325bdc3d27408c8113811a7cbe640/charset_normalizer-3.4.4-cp314-cp314-win_amd64.whl", hash = "sha256:8a6562c3700cce886c5be75ade4a5db4214fda19fede41d9792d100288d8f94c", size = 107104, upload-time = "2025-10-14T04:41:51.051Z" }, + { url = "https://files.pythonhosted.org/packages/da/5f/6b8f83a55bb8278772c5ae54a577f3099025f9ade59d0136ac24a0df4bde/charset_normalizer-3.4.4-cp314-cp314-win_arm64.whl", hash = "sha256:de00632ca48df9daf77a2c65a484531649261ec9f25489917f09e455cb09ddb2", size = 100743, upload-time = "2025-10-14T04:41:52.122Z" }, + { url = "https://files.pythonhosted.org/packages/0a/4c/925909008ed5a988ccbb72dcc897407e5d6d3bd72410d69e051fc0c14647/charset_normalizer-3.4.4-py3-none-any.whl", hash = "sha256:7a32c560861a02ff789ad905a2fe94e3f840803362c84fecf1851cb4cf3dc37f", size = 53402, upload-time = "2025-10-14T04:42:31.76Z" }, ] [[package]] name = "click" -version = "8.1.8" +version = "8.3.1" source = { registry = "https://pypi.org/simple" } dependencies = [ { name = "colorama", marker = "sys_platform == 'win32'" }, ] -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" } +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/7e/d4/7ebdbd03970677812aac39c869717059dbb71a4cfc033ca6e5221787892c/click-8.1.8-py3-none-any.whl", hash = "sha256:63c132bbbed01578a06712a2d1f497bb62d9c1c0d329b7903a866228027263b2", size = 98188, upload-time = "2024-12-21T18:38:41.666Z" }, + { 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]] @@ -329,37 +374,58 @@ wheels = [ [[package]] name = "cryptography" -version = "45.0.5" +version = "46.0.3" source = { registry = "https://pypi.org/simple" } dependencies = [ { name = "cffi", marker = "platform_python_implementation != 'PyPy'" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/95/1e/49527ac611af559665f71cbb8f92b332b5ec9c6fbc4e88b0f8e92f5e85df/cryptography-45.0.5.tar.gz", hash = "sha256:72e76caa004ab63accdf26023fccd1d087f6d90ec6048ff33ad0445abf7f605a", size = 744903, upload-time = "2025-07-02T13:06:25.941Z" } -wheels = [ - { url = "https://files.pythonhosted.org/packages/f0/fb/09e28bc0c46d2c547085e60897fea96310574c70fb21cd58a730a45f3403/cryptography-45.0.5-cp311-abi3-macosx_10_9_universal2.whl", hash = "sha256:101ee65078f6dd3e5a028d4f19c07ffa4dd22cce6a20eaa160f8b5219911e7d8", size = 7043092, upload-time = "2025-07-02T13:05:01.514Z" }, - { url = "https://files.pythonhosted.org/packages/b1/05/2194432935e29b91fb649f6149c1a4f9e6d3d9fc880919f4ad1bcc22641e/cryptography-45.0.5-cp311-abi3-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:3a264aae5f7fbb089dbc01e0242d3b67dffe3e6292e1f5182122bdf58e65215d", size = 4205926, upload-time = "2025-07-02T13:05:04.741Z" }, - { url = "https://files.pythonhosted.org/packages/07/8b/9ef5da82350175e32de245646b1884fc01124f53eb31164c77f95a08d682/cryptography-45.0.5-cp311-abi3-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:e74d30ec9c7cb2f404af331d5b4099a9b322a8a6b25c4632755c8757345baac5", size = 4429235, upload-time = "2025-07-02T13:05:07.084Z" }, - { url = "https://files.pythonhosted.org/packages/7c/e1/c809f398adde1994ee53438912192d92a1d0fc0f2d7582659d9ef4c28b0c/cryptography-45.0.5-cp311-abi3-manylinux_2_28_aarch64.whl", hash = "sha256:3af26738f2db354aafe492fb3869e955b12b2ef2e16908c8b9cb928128d42c57", size = 4209785, upload-time = "2025-07-02T13:05:09.321Z" }, - { url = "https://files.pythonhosted.org/packages/d0/8b/07eb6bd5acff58406c5e806eff34a124936f41a4fb52909ffa4d00815f8c/cryptography-45.0.5-cp311-abi3-manylinux_2_28_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:e6c00130ed423201c5bc5544c23359141660b07999ad82e34e7bb8f882bb78e0", size = 3893050, upload-time = "2025-07-02T13:05:11.069Z" }, - { url = "https://files.pythonhosted.org/packages/ec/ef/3333295ed58d900a13c92806b67e62f27876845a9a908c939f040887cca9/cryptography-45.0.5-cp311-abi3-manylinux_2_28_x86_64.whl", hash = "sha256:dd420e577921c8c2d31289536c386aaa30140b473835e97f83bc71ea9d2baf2d", size = 4457379, upload-time = "2025-07-02T13:05:13.32Z" }, - { url = "https://files.pythonhosted.org/packages/d9/9d/44080674dee514dbb82b21d6fa5d1055368f208304e2ab1828d85c9de8f4/cryptography-45.0.5-cp311-abi3-manylinux_2_34_aarch64.whl", hash = "sha256:d05a38884db2ba215218745f0781775806bde4f32e07b135348355fe8e4991d9", size = 4209355, upload-time = "2025-07-02T13:05:15.017Z" }, - { url = "https://files.pythonhosted.org/packages/c9/d8/0749f7d39f53f8258e5c18a93131919ac465ee1f9dccaf1b3f420235e0b5/cryptography-45.0.5-cp311-abi3-manylinux_2_34_x86_64.whl", hash = "sha256:ad0caded895a00261a5b4aa9af828baede54638754b51955a0ac75576b831b27", size = 4456087, upload-time = "2025-07-02T13:05:16.945Z" }, - { url = "https://files.pythonhosted.org/packages/09/d7/92acac187387bf08902b0bf0699816f08553927bdd6ba3654da0010289b4/cryptography-45.0.5-cp311-abi3-musllinux_1_2_aarch64.whl", hash = "sha256:9024beb59aca9d31d36fcdc1604dd9bbeed0a55bface9f1908df19178e2f116e", size = 4332873, upload-time = "2025-07-02T13:05:18.743Z" }, - { url = "https://files.pythonhosted.org/packages/03/c2/840e0710da5106a7c3d4153c7215b2736151bba60bf4491bdb421df5056d/cryptography-45.0.5-cp311-abi3-musllinux_1_2_x86_64.whl", hash = "sha256:91098f02ca81579c85f66df8a588c78f331ca19089763d733e34ad359f474174", size = 4564651, upload-time = "2025-07-02T13:05:21.382Z" }, - { url = "https://files.pythonhosted.org/packages/2e/92/cc723dd6d71e9747a887b94eb3827825c6c24b9e6ce2bb33b847d31d5eaa/cryptography-45.0.5-cp311-abi3-win32.whl", hash = "sha256:926c3ea71a6043921050eaa639137e13dbe7b4ab25800932a8498364fc1abec9", size = 2929050, upload-time = "2025-07-02T13:05:23.39Z" }, - { url = "https://files.pythonhosted.org/packages/1f/10/197da38a5911a48dd5389c043de4aec4b3c94cb836299b01253940788d78/cryptography-45.0.5-cp311-abi3-win_amd64.whl", hash = "sha256:b85980d1e345fe769cfc57c57db2b59cff5464ee0c045d52c0df087e926fbe63", size = 3403224, upload-time = "2025-07-02T13:05:25.202Z" }, - { url = "https://files.pythonhosted.org/packages/fe/2b/160ce8c2765e7a481ce57d55eba1546148583e7b6f85514472b1d151711d/cryptography-45.0.5-cp37-abi3-macosx_10_9_universal2.whl", hash = "sha256:f3562c2f23c612f2e4a6964a61d942f891d29ee320edb62ff48ffb99f3de9ae8", size = 7017143, upload-time = "2025-07-02T13:05:27.229Z" }, - { url = "https://files.pythonhosted.org/packages/c2/e7/2187be2f871c0221a81f55ee3105d3cf3e273c0a0853651d7011eada0d7e/cryptography-45.0.5-cp37-abi3-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:3fcfbefc4a7f332dece7272a88e410f611e79458fab97b5efe14e54fe476f4fd", size = 4197780, upload-time = "2025-07-02T13:05:29.299Z" }, - { url = "https://files.pythonhosted.org/packages/b9/cf/84210c447c06104e6be9122661159ad4ce7a8190011669afceeaea150524/cryptography-45.0.5-cp37-abi3-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:460f8c39ba66af7db0545a8c6f2eabcbc5a5528fc1cf6c3fa9a1e44cec33385e", size = 4420091, upload-time = "2025-07-02T13:05:31.221Z" }, - { url = "https://files.pythonhosted.org/packages/3e/6a/cb8b5c8bb82fafffa23aeff8d3a39822593cee6e2f16c5ca5c2ecca344f7/cryptography-45.0.5-cp37-abi3-manylinux_2_28_aarch64.whl", hash = "sha256:9b4cf6318915dccfe218e69bbec417fdd7c7185aa7aab139a2c0beb7468c89f0", size = 4198711, upload-time = "2025-07-02T13:05:33.062Z" }, - { url = "https://files.pythonhosted.org/packages/04/f7/36d2d69df69c94cbb2473871926daf0f01ad8e00fe3986ac3c1e8c4ca4b3/cryptography-45.0.5-cp37-abi3-manylinux_2_28_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:2089cc8f70a6e454601525e5bf2779e665d7865af002a5dec8d14e561002e135", size = 3883299, upload-time = "2025-07-02T13:05:34.94Z" }, - { url = "https://files.pythonhosted.org/packages/82/c7/f0ea40f016de72f81288e9fe8d1f6748036cb5ba6118774317a3ffc6022d/cryptography-45.0.5-cp37-abi3-manylinux_2_28_x86_64.whl", hash = "sha256:0027d566d65a38497bc37e0dd7c2f8ceda73597d2ac9ba93810204f56f52ebc7", size = 4450558, upload-time = "2025-07-02T13:05:37.288Z" }, - { url = "https://files.pythonhosted.org/packages/06/ae/94b504dc1a3cdf642d710407c62e86296f7da9e66f27ab12a1ee6fdf005b/cryptography-45.0.5-cp37-abi3-manylinux_2_34_aarch64.whl", hash = "sha256:be97d3a19c16a9be00edf79dca949c8fa7eff621763666a145f9f9535a5d7f42", size = 4198020, upload-time = "2025-07-02T13:05:39.102Z" }, - { url = "https://files.pythonhosted.org/packages/05/2b/aaf0adb845d5dabb43480f18f7ca72e94f92c280aa983ddbd0bcd6ecd037/cryptography-45.0.5-cp37-abi3-manylinux_2_34_x86_64.whl", hash = "sha256:7760c1c2e1a7084153a0f68fab76e754083b126a47d0117c9ed15e69e2103492", size = 4449759, upload-time = "2025-07-02T13:05:41.398Z" }, - { url = "https://files.pythonhosted.org/packages/91/e4/f17e02066de63e0100a3a01b56f8f1016973a1d67551beaf585157a86b3f/cryptography-45.0.5-cp37-abi3-musllinux_1_2_aarch64.whl", hash = "sha256:6ff8728d8d890b3dda5765276d1bc6fb099252915a2cd3aff960c4c195745dd0", size = 4319991, upload-time = "2025-07-02T13:05:43.64Z" }, - { url = "https://files.pythonhosted.org/packages/f2/2e/e2dbd629481b499b14516eed933f3276eb3239f7cee2dcfa4ee6b44d4711/cryptography-45.0.5-cp37-abi3-musllinux_1_2_x86_64.whl", hash = "sha256:7259038202a47fdecee7e62e0fd0b0738b6daa335354396c6ddebdbe1206af2a", size = 4554189, upload-time = "2025-07-02T13:05:46.045Z" }, - { url = "https://files.pythonhosted.org/packages/f8/ea/a78a0c38f4c8736287b71c2ea3799d173d5ce778c7d6e3c163a95a05ad2a/cryptography-45.0.5-cp37-abi3-win32.whl", hash = "sha256:1e1da5accc0c750056c556a93c3e9cb828970206c68867712ca5805e46dc806f", size = 2911769, upload-time = "2025-07-02T13:05:48.329Z" }, - { url = "https://files.pythonhosted.org/packages/79/b3/28ac139109d9005ad3f6b6f8976ffede6706a6478e21c889ce36c840918e/cryptography-45.0.5-cp37-abi3-win_amd64.whl", hash = "sha256:90cb0a7bb35959f37e23303b7eed0a32280510030daba3f7fdfbb65defde6a97", size = 3390016, upload-time = "2025-07-02T13:05:50.811Z" }, +sdist = { url = "https://files.pythonhosted.org/packages/9f/33/c00162f49c0e2fe8064a62cb92b93e50c74a72bc370ab92f86112b33ff62/cryptography-46.0.3.tar.gz", hash = "sha256:a8b17438104fed022ce745b362294d9ce35b4c2e45c1d958ad4a4b019285f4a1", size = 749258, upload-time = "2025-10-15T23:18:31.74Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/1d/42/9c391dd801d6cf0d561b5890549d4b27bafcc53b39c31a817e69d87c625b/cryptography-46.0.3-cp311-abi3-macosx_10_9_universal2.whl", hash = "sha256:109d4ddfadf17e8e7779c39f9b18111a09efb969a301a31e987416a0191ed93a", size = 7225004, upload-time = "2025-10-15T23:16:52.239Z" }, + { url = "https://files.pythonhosted.org/packages/1c/67/38769ca6b65f07461eb200e85fc1639b438bdc667be02cf7f2cd6a64601c/cryptography-46.0.3-cp311-abi3-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:09859af8466b69bc3c27bdf4f5d84a665e0f7ab5088412e9e2ec49758eca5cbc", size = 4296667, upload-time = "2025-10-15T23:16:54.369Z" }, + { url = "https://files.pythonhosted.org/packages/5c/49/498c86566a1d80e978b42f0d702795f69887005548c041636df6ae1ca64c/cryptography-46.0.3-cp311-abi3-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:01ca9ff2885f3acc98c29f1860552e37f6d7c7d013d7334ff2a9de43a449315d", size = 4450807, upload-time = "2025-10-15T23:16:56.414Z" }, + { url = "https://files.pythonhosted.org/packages/4b/0a/863a3604112174c8624a2ac3c038662d9e59970c7f926acdcfaed8d61142/cryptography-46.0.3-cp311-abi3-manylinux_2_28_aarch64.whl", hash = "sha256:6eae65d4c3d33da080cff9c4ab1f711b15c1d9760809dad6ea763f3812d254cb", size = 4299615, upload-time = "2025-10-15T23:16:58.442Z" }, + { url = "https://files.pythonhosted.org/packages/64/02/b73a533f6b64a69f3cd3872acb6ebc12aef924d8d103133bb3ea750dc703/cryptography-46.0.3-cp311-abi3-manylinux_2_28_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:e5bf0ed4490068a2e72ac03d786693adeb909981cc596425d09032d372bcc849", size = 4016800, upload-time = "2025-10-15T23:17:00.378Z" }, + { url = "https://files.pythonhosted.org/packages/25/d5/16e41afbfa450cde85a3b7ec599bebefaef16b5c6ba4ec49a3532336ed72/cryptography-46.0.3-cp311-abi3-manylinux_2_28_ppc64le.whl", hash = "sha256:5ecfccd2329e37e9b7112a888e76d9feca2347f12f37918facbb893d7bb88ee8", size = 4984707, upload-time = "2025-10-15T23:17:01.98Z" }, + { url = "https://files.pythonhosted.org/packages/c9/56/e7e69b427c3878352c2fb9b450bd0e19ed552753491d39d7d0a2f5226d41/cryptography-46.0.3-cp311-abi3-manylinux_2_28_x86_64.whl", hash = "sha256:a2c0cd47381a3229c403062f764160d57d4d175e022c1df84e168c6251a22eec", size = 4482541, upload-time = "2025-10-15T23:17:04.078Z" }, + { url = "https://files.pythonhosted.org/packages/78/f6/50736d40d97e8483172f1bb6e698895b92a223dba513b0ca6f06b2365339/cryptography-46.0.3-cp311-abi3-manylinux_2_34_aarch64.whl", hash = "sha256:549e234ff32571b1f4076ac269fcce7a808d3bf98b76c8dd560e42dbc66d7d91", size = 4299464, upload-time = "2025-10-15T23:17:05.483Z" }, + { url = "https://files.pythonhosted.org/packages/00/de/d8e26b1a855f19d9994a19c702fa2e93b0456beccbcfe437eda00e0701f2/cryptography-46.0.3-cp311-abi3-manylinux_2_34_ppc64le.whl", hash = "sha256:c0a7bb1a68a5d3471880e264621346c48665b3bf1c3759d682fc0864c540bd9e", size = 4950838, upload-time = "2025-10-15T23:17:07.425Z" }, + { url = "https://files.pythonhosted.org/packages/8f/29/798fc4ec461a1c9e9f735f2fc58741b0daae30688f41b2497dcbc9ed1355/cryptography-46.0.3-cp311-abi3-manylinux_2_34_x86_64.whl", hash = "sha256:10b01676fc208c3e6feeb25a8b83d81767e8059e1fe86e1dc62d10a3018fa926", size = 4481596, upload-time = "2025-10-15T23:17:09.343Z" }, + { url = "https://files.pythonhosted.org/packages/15/8d/03cd48b20a573adfff7652b76271078e3045b9f49387920e7f1f631d125e/cryptography-46.0.3-cp311-abi3-musllinux_1_2_aarch64.whl", hash = "sha256:0abf1ffd6e57c67e92af68330d05760b7b7efb243aab8377e583284dbab72c71", size = 4426782, upload-time = "2025-10-15T23:17:11.22Z" }, + { url = "https://files.pythonhosted.org/packages/fa/b1/ebacbfe53317d55cf33165bda24c86523497a6881f339f9aae5c2e13e57b/cryptography-46.0.3-cp311-abi3-musllinux_1_2_x86_64.whl", hash = "sha256:a04bee9ab6a4da801eb9b51f1b708a1b5b5c9eb48c03f74198464c66f0d344ac", size = 4698381, upload-time = "2025-10-15T23:17:12.829Z" }, + { url = "https://files.pythonhosted.org/packages/96/92/8a6a9525893325fc057a01f654d7efc2c64b9de90413adcf605a85744ff4/cryptography-46.0.3-cp311-abi3-win32.whl", hash = "sha256:f260d0d41e9b4da1ed1e0f1ce571f97fe370b152ab18778e9e8f67d6af432018", size = 3055988, upload-time = "2025-10-15T23:17:14.65Z" }, + { url = "https://files.pythonhosted.org/packages/7e/bf/80fbf45253ea585a1e492a6a17efcb93467701fa79e71550a430c5e60df0/cryptography-46.0.3-cp311-abi3-win_amd64.whl", hash = "sha256:a9a3008438615669153eb86b26b61e09993921ebdd75385ddd748702c5adfddb", size = 3514451, upload-time = "2025-10-15T23:17:16.142Z" }, + { url = "https://files.pythonhosted.org/packages/2e/af/9b302da4c87b0beb9db4e756386a7c6c5b8003cd0e742277888d352ae91d/cryptography-46.0.3-cp311-abi3-win_arm64.whl", hash = "sha256:5d7f93296ee28f68447397bf5198428c9aeeab45705a55d53a6343455dcb2c3c", size = 2928007, upload-time = "2025-10-15T23:17:18.04Z" }, + { url = "https://files.pythonhosted.org/packages/f5/e2/a510aa736755bffa9d2f75029c229111a1d02f8ecd5de03078f4c18d91a3/cryptography-46.0.3-cp314-cp314t-macosx_10_9_universal2.whl", hash = "sha256:00a5e7e87938e5ff9ff5447ab086a5706a957137e6e433841e9d24f38a065217", size = 7158012, upload-time = "2025-10-15T23:17:19.982Z" }, + { url = "https://files.pythonhosted.org/packages/73/dc/9aa866fbdbb95b02e7f9d086f1fccfeebf8953509b87e3f28fff927ff8a0/cryptography-46.0.3-cp314-cp314t-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:c8daeb2d2174beb4575b77482320303f3d39b8e81153da4f0fb08eb5fe86a6c5", size = 4288728, upload-time = "2025-10-15T23:17:21.527Z" }, + { url = "https://files.pythonhosted.org/packages/c5/fd/bc1daf8230eaa075184cbbf5f8cd00ba9db4fd32d63fb83da4671b72ed8a/cryptography-46.0.3-cp314-cp314t-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:39b6755623145ad5eff1dab323f4eae2a32a77a7abef2c5089a04a3d04366715", size = 4435078, upload-time = "2025-10-15T23:17:23.042Z" }, + { url = "https://files.pythonhosted.org/packages/82/98/d3bd5407ce4c60017f8ff9e63ffee4200ab3e23fe05b765cab805a7db008/cryptography-46.0.3-cp314-cp314t-manylinux_2_28_aarch64.whl", hash = "sha256:db391fa7c66df6762ee3f00c95a89e6d428f4d60e7abc8328f4fe155b5ac6e54", size = 4293460, upload-time = "2025-10-15T23:17:24.885Z" }, + { url = "https://files.pythonhosted.org/packages/26/e9/e23e7900983c2b8af7a08098db406cf989d7f09caea7897e347598d4cd5b/cryptography-46.0.3-cp314-cp314t-manylinux_2_28_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:78a97cf6a8839a48c49271cdcbd5cf37ca2c1d6b7fdd86cc864f302b5e9bf459", size = 3995237, upload-time = "2025-10-15T23:17:26.449Z" }, + { url = "https://files.pythonhosted.org/packages/91/15/af68c509d4a138cfe299d0d7ddb14afba15233223ebd933b4bbdbc7155d3/cryptography-46.0.3-cp314-cp314t-manylinux_2_28_ppc64le.whl", hash = "sha256:dfb781ff7eaa91a6f7fd41776ec37c5853c795d3b358d4896fdbb5df168af422", size = 4967344, upload-time = "2025-10-15T23:17:28.06Z" }, + { url = "https://files.pythonhosted.org/packages/ca/e3/8643d077c53868b681af077edf6b3cb58288b5423610f21c62aadcbe99f4/cryptography-46.0.3-cp314-cp314t-manylinux_2_28_x86_64.whl", hash = "sha256:6f61efb26e76c45c4a227835ddeae96d83624fb0d29eb5df5b96e14ed1a0afb7", size = 4466564, upload-time = "2025-10-15T23:17:29.665Z" }, + { url = "https://files.pythonhosted.org/packages/0e/43/c1e8726fa59c236ff477ff2b5dc071e54b21e5a1e51aa2cee1676f1c986f/cryptography-46.0.3-cp314-cp314t-manylinux_2_34_aarch64.whl", hash = "sha256:23b1a8f26e43f47ceb6d6a43115f33a5a37d57df4ea0ca295b780ae8546e8044", size = 4292415, upload-time = "2025-10-15T23:17:31.686Z" }, + { url = "https://files.pythonhosted.org/packages/42/f9/2f8fefdb1aee8a8e3256a0568cffc4e6d517b256a2fe97a029b3f1b9fe7e/cryptography-46.0.3-cp314-cp314t-manylinux_2_34_ppc64le.whl", hash = "sha256:b419ae593c86b87014b9be7396b385491ad7f320bde96826d0dd174459e54665", size = 4931457, upload-time = "2025-10-15T23:17:33.478Z" }, + { url = "https://files.pythonhosted.org/packages/79/30/9b54127a9a778ccd6d27c3da7563e9f2d341826075ceab89ae3b41bf5be2/cryptography-46.0.3-cp314-cp314t-manylinux_2_34_x86_64.whl", hash = "sha256:50fc3343ac490c6b08c0cf0d704e881d0d660be923fd3076db3e932007e726e3", size = 4466074, upload-time = "2025-10-15T23:17:35.158Z" }, + { url = "https://files.pythonhosted.org/packages/ac/68/b4f4a10928e26c941b1b6a179143af9f4d27d88fe84a6a3c53592d2e76bf/cryptography-46.0.3-cp314-cp314t-musllinux_1_2_aarch64.whl", hash = "sha256:22d7e97932f511d6b0b04f2bfd818d73dcd5928db509460aaf48384778eb6d20", size = 4420569, upload-time = "2025-10-15T23:17:37.188Z" }, + { url = "https://files.pythonhosted.org/packages/a3/49/3746dab4c0d1979888f125226357d3262a6dd40e114ac29e3d2abdf1ec55/cryptography-46.0.3-cp314-cp314t-musllinux_1_2_x86_64.whl", hash = "sha256:d55f3dffadd674514ad19451161118fd010988540cee43d8bc20675e775925de", size = 4681941, upload-time = "2025-10-15T23:17:39.236Z" }, + { url = "https://files.pythonhosted.org/packages/fd/30/27654c1dbaf7e4a3531fa1fc77986d04aefa4d6d78259a62c9dc13d7ad36/cryptography-46.0.3-cp314-cp314t-win32.whl", hash = "sha256:8a6e050cb6164d3f830453754094c086ff2d0b2f3a897a1d9820f6139a1f0914", size = 3022339, upload-time = "2025-10-15T23:17:40.888Z" }, + { url = "https://files.pythonhosted.org/packages/f6/30/640f34ccd4d2a1bc88367b54b926b781b5a018d65f404d409aba76a84b1c/cryptography-46.0.3-cp314-cp314t-win_amd64.whl", hash = "sha256:760f83faa07f8b64e9c33fc963d790a2edb24efb479e3520c14a45741cd9b2db", size = 3494315, upload-time = "2025-10-15T23:17:42.769Z" }, + { url = "https://files.pythonhosted.org/packages/ba/8b/88cc7e3bd0a8e7b861f26981f7b820e1f46aa9d26cc482d0feba0ecb4919/cryptography-46.0.3-cp314-cp314t-win_arm64.whl", hash = "sha256:516ea134e703e9fe26bcd1277a4b59ad30586ea90c365a87781d7887a646fe21", size = 2919331, upload-time = "2025-10-15T23:17:44.468Z" }, + { url = "https://files.pythonhosted.org/packages/fd/23/45fe7f376a7df8daf6da3556603b36f53475a99ce4faacb6ba2cf3d82021/cryptography-46.0.3-cp38-abi3-macosx_10_9_universal2.whl", hash = "sha256:cb3d760a6117f621261d662bccc8ef5bc32ca673e037c83fbe565324f5c46936", size = 7218248, upload-time = "2025-10-15T23:17:46.294Z" }, + { url = "https://files.pythonhosted.org/packages/27/32/b68d27471372737054cbd34c84981f9edbc24fe67ca225d389799614e27f/cryptography-46.0.3-cp38-abi3-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:4b7387121ac7d15e550f5cb4a43aef2559ed759c35df7336c402bb8275ac9683", size = 4294089, upload-time = "2025-10-15T23:17:48.269Z" }, + { url = "https://files.pythonhosted.org/packages/26/42/fa8389d4478368743e24e61eea78846a0006caffaf72ea24a15159215a14/cryptography-46.0.3-cp38-abi3-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:15ab9b093e8f09daab0f2159bb7e47532596075139dd74365da52ecc9cb46c5d", size = 4440029, upload-time = "2025-10-15T23:17:49.837Z" }, + { url = "https://files.pythonhosted.org/packages/5f/eb/f483db0ec5ac040824f269e93dd2bd8a21ecd1027e77ad7bdf6914f2fd80/cryptography-46.0.3-cp38-abi3-manylinux_2_28_aarch64.whl", hash = "sha256:46acf53b40ea38f9c6c229599a4a13f0d46a6c3fa9ef19fc1a124d62e338dfa0", size = 4297222, upload-time = "2025-10-15T23:17:51.357Z" }, + { url = "https://files.pythonhosted.org/packages/fd/cf/da9502c4e1912cb1da3807ea3618a6829bee8207456fbbeebc361ec38ba3/cryptography-46.0.3-cp38-abi3-manylinux_2_28_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:10ca84c4668d066a9878890047f03546f3ae0a6b8b39b697457b7757aaf18dbc", size = 4012280, upload-time = "2025-10-15T23:17:52.964Z" }, + { url = "https://files.pythonhosted.org/packages/6b/8f/9adb86b93330e0df8b3dcf03eae67c33ba89958fc2e03862ef1ac2b42465/cryptography-46.0.3-cp38-abi3-manylinux_2_28_ppc64le.whl", hash = "sha256:36e627112085bb3b81b19fed209c05ce2a52ee8b15d161b7c643a7d5a88491f3", size = 4978958, upload-time = "2025-10-15T23:17:54.965Z" }, + { url = "https://files.pythonhosted.org/packages/d1/a0/5fa77988289c34bdb9f913f5606ecc9ada1adb5ae870bd0d1054a7021cc4/cryptography-46.0.3-cp38-abi3-manylinux_2_28_x86_64.whl", hash = "sha256:1000713389b75c449a6e979ffc7dcc8ac90b437048766cef052d4d30b8220971", size = 4473714, upload-time = "2025-10-15T23:17:56.754Z" }, + { url = "https://files.pythonhosted.org/packages/14/e5/fc82d72a58d41c393697aa18c9abe5ae1214ff6f2a5c18ac470f92777895/cryptography-46.0.3-cp38-abi3-manylinux_2_34_aarch64.whl", hash = "sha256:b02cf04496f6576afffef5ddd04a0cb7d49cf6be16a9059d793a30b035f6b6ac", size = 4296970, upload-time = "2025-10-15T23:17:58.588Z" }, + { url = "https://files.pythonhosted.org/packages/78/06/5663ed35438d0b09056973994f1aec467492b33bd31da36e468b01ec1097/cryptography-46.0.3-cp38-abi3-manylinux_2_34_ppc64le.whl", hash = "sha256:71e842ec9bc7abf543b47cf86b9a743baa95f4677d22baa4c7d5c69e49e9bc04", size = 4940236, upload-time = "2025-10-15T23:18:00.897Z" }, + { url = "https://files.pythonhosted.org/packages/fc/59/873633f3f2dcd8a053b8dd1d38f783043b5fce589c0f6988bf55ef57e43e/cryptography-46.0.3-cp38-abi3-manylinux_2_34_x86_64.whl", hash = "sha256:402b58fc32614f00980b66d6e56a5b4118e6cb362ae8f3fda141ba4689bd4506", size = 4472642, upload-time = "2025-10-15T23:18:02.749Z" }, + { url = "https://files.pythonhosted.org/packages/3d/39/8e71f3930e40f6877737d6f69248cf74d4e34b886a3967d32f919cc50d3b/cryptography-46.0.3-cp38-abi3-musllinux_1_2_aarch64.whl", hash = "sha256:ef639cb3372f69ec44915fafcd6698b6cc78fbe0c2ea41be867f6ed612811963", size = 4423126, upload-time = "2025-10-15T23:18:04.85Z" }, + { url = "https://files.pythonhosted.org/packages/cd/c7/f65027c2810e14c3e7268353b1681932b87e5a48e65505d8cc17c99e36ae/cryptography-46.0.3-cp38-abi3-musllinux_1_2_x86_64.whl", hash = "sha256:3b51b8ca4f1c6453d8829e1eb7299499ca7f313900dd4d89a24b8b87c0a780d4", size = 4686573, upload-time = "2025-10-15T23:18:06.908Z" }, + { url = "https://files.pythonhosted.org/packages/0a/6e/1c8331ddf91ca4730ab3086a0f1be19c65510a33b5a441cb334e7a2d2560/cryptography-46.0.3-cp38-abi3-win32.whl", hash = "sha256:6276eb85ef938dc035d59b87c8a7dc559a232f954962520137529d77b18ff1df", size = 3036695, upload-time = "2025-10-15T23:18:08.672Z" }, + { url = "https://files.pythonhosted.org/packages/90/45/b0d691df20633eff80955a0fc7695ff9051ffce8b69741444bd9ed7bd0db/cryptography-46.0.3-cp38-abi3-win_amd64.whl", hash = "sha256:416260257577718c05135c55958b674000baef9a1c7d9e8f306ec60d71db850f", size = 3501720, upload-time = "2025-10-15T23:18:10.632Z" }, + { url = "https://files.pythonhosted.org/packages/e8/cb/2da4cc83f5edb9c3257d09e1e7ab7b23f049c7962cae8d842bbef0a9cec9/cryptography-46.0.3-cp38-abi3-win_arm64.whl", hash = "sha256:d89c3468de4cdc4f08a57e214384d0471911a3830fcdaf7a8cc587e42a866372", size = 2918740, upload-time = "2025-10-15T23:18:12.277Z" }, ] [[package]] @@ -373,7 +439,7 @@ wheels = [ [[package]] name = "dagster" -version = "1.11.3" +version = "1.12.7" source = { registry = "https://pypi.org/simple" } dependencies = [ { name = "alembic" }, @@ -402,18 +468,18 @@ dependencies = [ { name = "tomli" }, { name = "toposort" }, { name = "tqdm" }, - { name = "tzdata", marker = "sys_platform == 'win32'" }, + { name = "tzdata" }, { name = "universal-pathlib" }, { name = "watchdog" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/b2/19/8a1b64ace70f757e90409be1e01c2dc240db43f71890a6aceffcf6d52d63/dagster-1.11.3.tar.gz", hash = "sha256:cdb216cf80dfae28e74a08778aaf60411221726019f502af6f44c304fa3f3040", size = 1511659, upload-time = "2025-07-24T20:01:12.379Z" } +sdist = { url = "https://files.pythonhosted.org/packages/9b/44/e066729cf1f2753d31c02451d65be9a81503566cd9c77e9e3c1fc5a6316d/dagster-1.12.7.tar.gz", hash = "sha256:ff8ee6e90ff1ffaefbc7f7a4b6f6ffe24925011ded86f2c5ccdf8fa76670fa78", size = 1565927, upload-time = "2025-12-19T19:03:49.008Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/dd/41/562b899831cbb00319fd32f1139d2dad88ae52103dc4bbef89c5ff1886ee/dagster-1.11.3-py3-none-any.whl", hash = "sha256:5e9546e9aba96920c16af88261a75b0244b28181e7930c038565f61aa1ab6368", size = 1875234, upload-time = "2025-07-24T20:01:09.432Z" }, + { url = "https://files.pythonhosted.org/packages/36/da/b01b8d4d379c3ab1972de2f02d5f2ad9109feba40729ebaf2e7db62f1b03/dagster-1.12.7-py3-none-any.whl", hash = "sha256:440ae8cf8ccdfb8b4430e2700a34b2d3f275cef62849e1a6070cc0afbc6ed081", size = 1950469, upload-time = "2025-12-19T19:03:46.167Z" }, ] [[package]] name = "dagster-cloud-cli" -version = "1.11.3" +version = "1.12.7" source = { registry = "https://pypi.org/simple" } dependencies = [ { name = "click" }, @@ -426,19 +492,21 @@ dependencies = [ { name = "requests" }, { name = "setuptools" }, { name = "typer" }, + { name = "validators" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/cb/af/cc47beca5524ec80c8518dbe3bd407206dc0e44c90178f1e578532446fae/dagster_cloud_cli-1.11.3.tar.gz", hash = "sha256:4e033d482c4b96cccc8a0491409a7208ff3f16d4c97c1bb472321f8256419550", size = 87939, upload-time = "2025-07-24T20:06:52.65Z" } +sdist = { url = "https://files.pythonhosted.org/packages/78/1d/4cf0f9f0a2b8ebface447d609eeb3ea624e189f8199d9b6e47938141499f/dagster_cloud_cli-1.12.7.tar.gz", hash = "sha256:d28d55db1b42e67db18f9098a81bda4e955d089d618331a51283ed0eb783abd1", size = 94085, upload-time = "2025-12-19T19:08:18.734Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/23/ee/6f37bec1bc2c4ba147f3e52a6232cf182e68ddb0eafeaa8a7ecca318aa9f/dagster_cloud_cli-1.11.3-py3-none-any.whl", hash = "sha256:db69dccb42c20ea3583097211969b6404a3eba4e470e2df7da262e7f66ea5647", size = 108344, upload-time = "2025-07-24T20:06:51.167Z" }, + { url = "https://files.pythonhosted.org/packages/9c/9c/1ce4e0fc07f3229fcba1be60b80497b8d230e5088653144bb11d4ced76f2/dagster_cloud_cli-1.12.7-py3-none-any.whl", hash = "sha256:2cbbcbb5da0c0155da5b0781df7e100767ca391ff51caf1207a3fc9a56d42a4b", size = 115045, upload-time = "2025-12-19T19:08:17.268Z" }, ] [[package]] name = "dagster-dbt" -version = "0.27.3" +version = "0.28.7" source = { registry = "https://pypi.org/simple" } dependencies = [ { name = "dagster" }, { name = "dbt-core" }, + { name = "gitpython" }, { name = "jinja2" }, { name = "networkx" }, { name = "orjson" }, @@ -448,27 +516,29 @@ dependencies = [ { name = "sqlglot", extra = ["rs"] }, { name = "typer" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/b9/d4/cfd807045e5089e8fb64013a061343078b1583c27f82a5a1363747f8dddc/dagster_dbt-0.27.3.tar.gz", hash = "sha256:d61e65734d394796f55d8a6b0a80d598ca9591d5f8a9b8ec28d4a8e2a4db419f", size = 89768, upload-time = "2025-07-24T20:08:03.99Z" } +sdist = { url = "https://files.pythonhosted.org/packages/c6/83/dfca69b6d443359bf3de3885ab20a44513879fb348c733ccf42c8d8de5b5/dagster_dbt-0.28.7.tar.gz", hash = "sha256:bdf79316266c538fd994b1a670340a4f20171187b5308d215b3c24bae0fc0384", size = 99967, upload-time = "2025-12-19T19:07:09.958Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/d5/b3/e1fadcffb947da8ee28ed906aa89da541b5cab3bc49306dd0c834ad8924c/dagster_dbt-0.27.3-py3-none-any.whl", hash = "sha256:6eec9854dd6815dc480b1cf077431617761101bb74e8ea70ce599972d21ba566", size = 108758, upload-time = "2025-07-24T20:08:02.705Z" }, + { url = "https://files.pythonhosted.org/packages/2b/53/7e6c52bbc289cbb6e6957fb33fb890070ebdf261ee637073541be5e8300a/dagster_dbt-0.28.7-py3-none-any.whl", hash = "sha256:5eaba31a628fe1cf86f53163154a64735e6bcf25f578f230cce32d0a1938f141", size = 120236, upload-time = "2025-12-19T19:07:08.234Z" }, ] [[package]] name = "dagster-dg-cli" -version = "1.11.3" +version = "1.12.7" source = { registry = "https://pypi.org/simple" } dependencies = [ { name = "dagster" }, + { name = "dagster-cloud-cli" }, { name = "dagster-dg-core" }, + { name = "typer" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/6d/ac/a1daba63e43cd6f31b54ddc266f5d95c55d6d91cd6b577992b4ea95d1a40/dagster_dg_cli-1.11.3.tar.gz", hash = "sha256:f80f56b79b06971b4318626a95bdd69737125fceaa78524fd4d08e8acebb48a9", size = 542974, upload-time = "2025-07-24T20:07:24.291Z" } +sdist = { url = "https://files.pythonhosted.org/packages/8a/c3/0f8966cc67e4dbfee3b3820ca5bf1b37d886e2017e318ef2e81f4f92e850/dagster_dg_cli-1.12.7.tar.gz", hash = "sha256:309180e2499aa931728b42f8123d22eb35634eef35970bea2b5d86f1ec139d9a", size = 124317, upload-time = "2025-12-19T19:08:08.736Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/0d/7e/82191215cfb0869ab20c12f782fa6d63b050fb61926757d8854631830592/dagster_dg_cli-1.11.3-py3-none-any.whl", hash = "sha256:e65e7e3c9d81fe07f1f07a6ecb291dc73c67ffe1bc4f3640679cd1a668a88057", size = 574388, upload-time = "2025-07-24T20:07:23.094Z" }, + { url = "https://files.pythonhosted.org/packages/66/66/f55da895774a2b1394067d3dc687a6aa42584df4f7da76a52a8581f51739/dagster_dg_cli-1.12.7-py3-none-any.whl", hash = "sha256:dd6ef4ae1f7691955ce3ecf59f070c6ed74242e6d9705b373351cdec22cd5fd9", size = 179004, upload-time = "2025-12-19T19:08:07.7Z" }, ] [[package]] name = "dagster-dg-core" -version = "1.11.3" +version = "1.12.7" source = { registry = "https://pypi.org/simple" } dependencies = [ { name = "click" }, @@ -490,14 +560,14 @@ dependencies = [ { name = "watchdog" }, { name = "yaspin" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/f8/d2/cdf3ee69f35d33a81e293c2cf862653591d5718e62ab5a29ac6c81e9f495/dagster_dg_core-1.11.3.tar.gz", hash = "sha256:64c147412781a6d9d2726016214937cf50ed7ef0cc985478eb48c1c103f6d3dc", size = 39289, upload-time = "2025-07-24T20:08:27.027Z" } +sdist = { url = "https://files.pythonhosted.org/packages/2e/1c/dbc1c0700a0022d64fd588b7c5aff996b30e280165cbc1a2cbbc7c3a755e/dagster_dg_core-1.12.7.tar.gz", hash = "sha256:9da75a8d91b13af663592a12e5662fd1acbd4970ad89ccb69cb421c8036b4b7d", size = 41310, upload-time = "2025-12-19T19:06:52.848Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/3b/37/903b516f39738d3293bcb090fc712333adf8f70093965c8e79ce0f25f71f/dagster_dg_core-1.11.3-py3-none-any.whl", hash = "sha256:dad563ae1e32554cfb92544c80f7a332e19353c7c5344a994787362c325df159", size = 45450, upload-time = "2025-07-24T20:08:26.004Z" }, + { url = "https://files.pythonhosted.org/packages/4d/43/b02886f2879bb5e81f5e5aecd24cfe2caa28b8cc7d6f23e2a16119f307a8/dagster_dg_core-1.12.7-py3-none-any.whl", hash = "sha256:43a635174ceb20eec459a40479b5012a9595c66155d2571bc065c028b8ba523b", size = 47279, upload-time = "2025-12-19T19:06:50.47Z" }, ] [[package]] name = "dagster-graphql" -version = "1.11.3" +version = "1.12.7" source = { registry = "https://pypi.org/simple" } dependencies = [ { name = "dagster" }, @@ -506,52 +576,53 @@ dependencies = [ { name = "requests" }, { name = "starlette" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/58/d3/626304e61081abcb75302f03ef4078739456a2908aaf9f981166a8b42025/dagster_graphql-1.11.3.tar.gz", hash = "sha256:f683fe509902e0be7824f7027ec3bef7394045add633f2875c84bcdfe8608dea", size = 153137, upload-time = "2025-07-24T20:01:23.463Z" } +sdist = { url = "https://files.pythonhosted.org/packages/49/dc/5adc5f5c53d4dfe38ce55988d3ffddc8d8d80ec82e5d41d9b245255558e3/dagster_graphql-1.12.7.tar.gz", hash = "sha256:de7075f8ae8a89093b0daf40a781d9c3f37f3b69aef79f0ee7ceeb3e77020e9d", size = 158847, upload-time = "2025-12-19T19:03:59.576Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/60/3c/22aa75eb2b9d7777097c19bb564215a1dca41e0fca6ce76ca635593250ac/dagster_graphql-1.11.3-py3-none-any.whl", hash = "sha256:7ddd4503bed305d0a2ab5421693790cd68f36ea89387105724cfed0723f00fad", size = 200321, upload-time = "2025-07-24T20:01:21.525Z" }, + { url = "https://files.pythonhosted.org/packages/61/e7/bd5af7477d2a987404e38e4382c76d654fd28bf77821b0f7ddd6b36195a4/dagster_graphql-1.12.7-py3-none-any.whl", hash = "sha256:8c8273cde155a4dd424d516a6ebe6a9038ff834da85a73721dc278b9499c9529", size = 206011, upload-time = "2025-12-19T19:03:58.069Z" }, ] [[package]] name = "dagster-pipes" -version = "1.11.3" +version = "1.12.7" source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/0c/27/728de7d2d962fe330abe3b38fa1f7ffd4bc3e493b293cb689d9e7ef7a8c7/dagster_pipes-1.11.3.tar.gz", hash = "sha256:5581127a0dcb157ef8fc850e90059c376ef3c204476631836e9281349e18d05b", size = 20675, upload-time = "2025-07-24T20:01:19.174Z" } +sdist = { url = "https://files.pythonhosted.org/packages/c3/b1/9a5cb7b657de1365d8743f720841066ca81f96bdc1e721c88111a9521f2a/dagster_pipes-1.12.7.tar.gz", hash = "sha256:9c0ef972c0c000d3b9de073938463c80274aae6dc4daa89f1ecce2e146e5694e", size = 21067, upload-time = "2025-12-19T19:03:55.211Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/a6/c0/23ecd20ff567c1ae959bb939ac3f8f05ed2c5304d8e8adc05d70146d989d/dagster_pipes-1.11.3-py3-none-any.whl", hash = "sha256:b3130b4bc671fccae9cd5149629421dcc50ff0712aea663b096f496ec7f91978", size = 20405, upload-time = "2025-07-24T20:01:17.912Z" }, + { url = "https://files.pythonhosted.org/packages/df/ed/a4e95215006fd01c31b1928ef0d5f3caa8a86f7ff7d526b7639a495a1360/dagster_pipes-1.12.7-py3-none-any.whl", hash = "sha256:ba411dec2ccd7f9f09bc3b62a0b6e6b8b1a18a00503808ca698d91690b219f47", size = 20835, upload-time = "2025-12-19T19:03:54.234Z" }, ] [[package]] name = "dagster-postgres" -version = "0.27.3" +version = "0.28.7" source = { registry = "https://pypi.org/simple" } dependencies = [ { name = "dagster" }, { name = "psycopg2-binary" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/de/82/367359e0db88075b858ae077d047d0d8e5bc79f94f7b020686577a106767/dagster_postgres-0.27.3.tar.gz", hash = "sha256:e1784f329dcc1631d86483170481e04e8b5aa14d3f05dc388615c313e6bc8c9a", size = 16358, upload-time = "2025-07-24T20:08:39.114Z" } +sdist = { url = "https://files.pythonhosted.org/packages/99/fd/b3657b97062ecc60672cc70beaca7be842d46f1d03e8b7f2510c61ee89db/dagster_postgres-0.28.7.tar.gz", hash = "sha256:af3b665049a6c9103e974227ee8c57d78514561b6307d7f6544eb67f66435b5b", size = 16428, upload-time = "2025-12-19T19:09:27.99Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/40/02/42a7c506a3d89ca14821be6daa45ae4dceb2660b0fbce628e5cb39f54457/dagster_postgres-0.27.3-py3-none-any.whl", hash = "sha256:d9ef53dae3c74346f952c17bd82e6ce9ebc82f445e15ec597f5d8ba1a18d5fd0", size = 22857, upload-time = "2025-07-24T20:08:38.141Z" }, + { url = "https://files.pythonhosted.org/packages/7d/90/f091609b2d95966e7e553c23cf1880b5accaa07806d84b96fd3388f2fdf0/dagster_postgres-0.28.7-py3-none-any.whl", hash = "sha256:d1a4d3d221c635c12ccafd65c3e526aeca96ed22849a2c2ee0f67a8893ec33d5", size = 22948, upload-time = "2025-12-19T19:09:26.685Z" }, ] [[package]] name = "dagster-shared" -version = "1.11.3" +version = "1.12.7" source = { registry = "https://pypi.org/simple" } dependencies = [ { name = "packaging" }, + { name = "platformdirs" }, { name = "pydantic" }, { name = "pyyaml" }, { name = "tomlkit" }, { name = "typing-extensions" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/65/fe/418afbc754c150b05291d3efd5ee0d036c3cad6f65a47af0460370c699ef/dagster_shared-1.11.3.tar.gz", hash = "sha256:36ec1fbfb79e9d37ac1ba3976c1c56309142eb98e836780bdda434636487368f", size = 74134, upload-time = "2025-07-24T20:06:45.27Z" } +sdist = { url = "https://files.pythonhosted.org/packages/23/3c/51f2bb21e6c997a134c75f7fb2cd66c92cb81674fe301ef5eba16a348844/dagster_shared-1.12.7.tar.gz", hash = "sha256:78297680f7abfe3036d4c8076f199847c37789c5c267c361fe877c01ded697fd", size = 78131, upload-time = "2025-12-19T19:09:58.613Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/4c/5f/75d5fa0e5d209ac350ff2daa1a6ee705984d651fed70271e3ed65a2dfb3b/dagster_shared-1.11.3-py3-none-any.whl", hash = "sha256:7422bf7cdd75eab08f7899d587e68be8be271f12e43407390af16049d999191c", size = 86295, upload-time = "2025-07-24T20:06:44.294Z" }, + { url = "https://files.pythonhosted.org/packages/d7/e8/9d2897c2e2cb55245e73169a68babebd6e7a4271dbb43787ca553068d445/dagster_shared-1.12.7-py3-none-any.whl", hash = "sha256:a7ce3b8599183adca28f47a82afc62514ed6a99e743c91f0e1f4f2177a3a0372", size = 91406, upload-time = "2025-12-19T19:09:57.639Z" }, ] [[package]] name = "dagster-webserver" -version = "1.11.3" +version = "1.12.7" source = { registry = "https://pypi.org/simple" } dependencies = [ { name = "click" }, @@ -560,14 +631,14 @@ dependencies = [ { name = "starlette" }, { name = "uvicorn", extra = ["standard"] }, ] -sdist = { url = "https://files.pythonhosted.org/packages/4f/91/1dbb34fbe355c4168889dcd1c44aa5f65db479323fb23801bf4551a29d6a/dagster_webserver-1.11.3.tar.gz", hash = "sha256:1e03ede51946087fb1bbd51e3c1d9890f92e0acfd92c49726821eadb88058374", size = 12371068, upload-time = "2025-07-24T20:06:24.398Z" } +sdist = { url = "https://files.pythonhosted.org/packages/91/3c/60e3ca9d0efaf8031aa857d3b35ef767d3afc969b4a6180e6b27b6321ce7/dagster_webserver-1.12.7.tar.gz", hash = "sha256:4556f4488fc404938fcf285f2961047c8469693432a9c42f29a2ae6ba80e1c57", size = 12241245, upload-time = "2025-12-19T19:06:41.145Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/49/e6/e4cca605a6bb5eb9802062e03efdf26206d13ad36d7bade569f44503f88d/dagster_webserver-1.11.3-py3-none-any.whl", hash = "sha256:38589e97e8076076990d757c528dd5d7e22ac9e4be28ead450020908e8085ddd", size = 12712291, upload-time = "2025-07-24T20:06:21.801Z" }, + { url = "https://files.pythonhosted.org/packages/44/55/6c13cfde6c77b4efd331a316766fde9a14a97f895458b59b1d771d5783ae/dagster_webserver-1.12.7-py3-none-any.whl", hash = "sha256:d14dcb9ac05caa05fbccf26cb871dc0ab9a1d12e692903030dcfb394d91412b0", size = 12582819, upload-time = "2025-12-19T19:06:38.423Z" }, ] [[package]] name = "dbt-adapters" -version = "1.16.3" +version = "1.22.2" source = { registry = "https://pypi.org/simple" } dependencies = [ { name = "agate" }, @@ -578,14 +649,14 @@ dependencies = [ { name = "pytz" }, { name = "typing-extensions" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/1d/08/b9a0f15b6311742317bab7c03c955dc3eae58c3d7092c17581e3e5ea1186/dbt_adapters-1.16.3.tar.gz", hash = "sha256:d49d3e57befaba36edf009e6fe001d95dd0c902e5aa6678df0812dcd905259ff", size = 130177, upload-time = "2025-07-21T23:04:17.544Z" } +sdist = { url = "https://files.pythonhosted.org/packages/85/af/c24e3275da3aa4ee6900ee62dda2929eb0b13c8f31297ffb367c682ddfd2/dbt_adapters-1.22.2.tar.gz", hash = "sha256:05bb99c30bd7ca0153976595d46c59354302ab076051f004e92a841f117e71be", size = 136045, upload-time = "2025-12-19T16:43:23.831Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/c0/54/36267e4067d91bbafed68cc2c524cee8532021c880e7df53c396ea0385d8/dbt_adapters-1.16.3-py3-none-any.whl", hash = "sha256:234af35140ce42753d093ff056d4cd40a7d2d80c062ed9030891494dff9a18b7", size = 167004, upload-time = "2025-07-21T23:04:16.079Z" }, + { url = "https://files.pythonhosted.org/packages/ab/59/5bb8271dd5548c2083bc28ced52cedad1ec57873f2a9af563d4bd1edece6/dbt_adapters-1.22.2-py3-none-any.whl", hash = "sha256:87767bdf33689c468bab2dc063930236c7d2cf2c69e07152d8e9df382cd75e1a", size = 172509, upload-time = "2025-12-19T16:43:22.358Z" }, ] [[package]] name = "dbt-common" -version = "1.27.1" +version = "1.37.2" source = { registry = "https://pypi.org/simple" } dependencies = [ { name = "agate" }, @@ -602,14 +673,14 @@ dependencies = [ { name = "requests" }, { name = "typing-extensions" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/c0/b9/0d0e0463a8a5e0bec09a095e68dcdd641e8f9888dc3c1642547f1f829c47/dbt_common-1.27.1.tar.gz", hash = "sha256:1cc5b0579768a03800d90ecd9b5646c9648c970b8f278d85e1760c836007a4db", size = 83971, upload-time = "2025-07-21T20:46:43.534Z" } +sdist = { url = "https://files.pythonhosted.org/packages/b7/ab/1d49b812472d4f064d715b6968f60f6636624ad18ef8e243055ee74ca5c2/dbt_common-1.37.2.tar.gz", hash = "sha256:f83f2b4c1ed234ef38edc6817e0c2bd19f27c653bc1eb8b8411285fe670c2d3c", size = 86051, upload-time = "2025-12-15T18:24:19.189Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/b7/e7/b504d0814a99c0f33ea5d5735692025469dee01468ac1930c963f215635f/dbt_common-1.27.1-py3-none-any.whl", hash = "sha256:9753e8f79d2d648c7716dd9e07dbbdd518ca3c3d101b6d2ee6e423ea9b6a20b5", size = 86084, upload-time = "2025-07-21T20:46:41.917Z" }, + { url = "https://files.pythonhosted.org/packages/b7/5a/cfc59817a398a96701243c03a4547b6457dbc18b62f375d6857a3d4c74f8/dbt_common-1.37.2-py3-none-any.whl", hash = "sha256:883a0b4af3e9a03e15b0d4862b654c5316d9525303683a8ead4dcc406eaa8a9a", size = 87670, upload-time = "2025-12-15T18:24:17.588Z" }, ] [[package]] name = "dbt-core" -version = "1.10.8" +version = "1.10.17" source = { registry = "https://pypi.org/simple" } dependencies = [ { name = "agate" }, @@ -635,9 +706,9 @@ dependencies = [ { name = "sqlparse" }, { name = "typing-extensions" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/36/87/eb0f9913be5fb2651ce0b4307185a5b2a0d903efb02c9fdc80802a0b1b18/dbt_core-1.10.8.tar.gz", hash = "sha256:eb00b7169ea078aa609548258ceebaa5801605a87de33ce14fd6cbc823c9734c", size = 897380, upload-time = "2025-08-12T13:13:51.169Z" } +sdist = { url = "https://files.pythonhosted.org/packages/f0/2c/a614f4c41af9b63cafb88e182c3a30aa36faf7eb4cad9b99b927709a7f0d/dbt_core-1.10.17.tar.gz", hash = "sha256:b3b7a9d9ff839405840659034e6f92d07fb27c4714476dc8cfdc5359a7b864c2", size = 900268, upload-time = "2025-12-20T01:32:13.059Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/4b/17/fdc3adfd4af08dfec7f75d7fc5e8c661549f88391fa9a271429433ea3533/dbt_core-1.10.8-py3-none-any.whl", hash = "sha256:117029971a32b78abc598548f63375990a9a5fcec7471aca14182dc2da7e5002", size = 983451, upload-time = "2025-08-12T13:13:49.32Z" }, + { url = "https://files.pythonhosted.org/packages/47/f1/d68b24831e8855d0b4ecc54f8341cf8d3e0a60046af08a65817954f3f4ab/dbt_core-1.10.17-py3-none-any.whl", hash = "sha256:a4a807dc37ecd88899616689c68a6446b46231c11d7e3776f4f1a06e7becce76", size = 986991, upload-time = "2025-12-20T01:32:11.079Z" }, ] [[package]] @@ -665,7 +736,7 @@ wheels = [ [[package]] name = "dbt-postgres" -version = "1.9.0" +version = "1.10.0" source = { registry = "https://pypi.org/simple" } dependencies = [ { name = "agate" }, @@ -674,21 +745,21 @@ dependencies = [ { name = "dbt-core" }, { name = "psycopg2-binary" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/09/24/03eae698e7f0bffb579a120758fcf95cdf7a58caccec79254195b4a1cb4c/dbt_postgres-1.9.0.tar.gz", hash = "sha256:b0574e9e1e66d8a5cd627b1d464ec0278eef7342f0b5babe4f987eee9d02a143", size = 23555, upload-time = "2024-12-09T18:46:56.564Z" } +sdist = { url = "https://files.pythonhosted.org/packages/53/f2/6d101b917c9f4a6c09a15cc239dc360be5b1115e27d5bdac9c6c3bead5f1/dbt_postgres-1.10.0.tar.gz", hash = "sha256:74dc7e8b531ab785bca9d44f3d1ee9b38c4cbac967eafe7373242ed181eb0fa2", size = 160230, upload-time = "2025-12-22T20:02:44.149Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/30/bb/8e48678036e5f89b49f72c98e41fa41ebe853c219e658cad3797afbc50b9/dbt_postgres-1.9.0-py3-none-any.whl", hash = "sha256:c85d1adb419251ac989e5f720fdbb964aa6c280da7739dc8c48d44e6f45d354a", size = 35182, upload-time = "2024-12-09T18:46:54.414Z" }, + { url = "https://files.pythonhosted.org/packages/2c/70/4f8ab84353844e5c5b2961d18f8c3d171b539c2c0425f855c550d766c960/dbt_postgres-1.10.0-py3-none-any.whl", hash = "sha256:9bc9d07342edbc86c16e20b2ab02c211c30c09b03736f925d612d963cbbe4f94", size = 35520, upload-time = "2025-12-22T20:02:42.792Z" }, ] [[package]] name = "dbt-protos" -version = "1.0.348" +version = "1.0.410" source = { registry = "https://pypi.org/simple" } dependencies = [ { name = "protobuf" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/a0/73/94a28249678aab925824497284f6bbb5f8e740613c10be6bf66042701aa7/dbt_protos-1.0.348.tar.gz", hash = "sha256:d8834c685c323b1533c1c7fdb5db5636cffab2f1a58515caba54b3dc13a3578b", size = 76628, upload-time = "2025-07-21T20:27:10.353Z" } +sdist = { url = "https://files.pythonhosted.org/packages/57/e1/c95f712213416a4edbebeb40c27174063f7f3e49f477b4b1d8fb547e9c26/dbt_protos-1.0.410.tar.gz", hash = "sha256:661dbc5fedd13bd48ef9cd7dd1c451fa2288dcae6202772f6e3a65f4e0dde427", size = 116692, upload-time = "2025-12-15T18:01:02.535Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/c1/d1/90bd370d92db997c635412661e0d0088b64d481f1365088842bb4823ccc0/dbt_protos-1.0.348-py3-none-any.whl", hash = "sha256:5d89171b64058170b39a80fc69abbd344170ac637c5dee90e7b3cbd7b1a43fe4", size = 94035, upload-time = "2025-07-21T20:27:09.015Z" }, + { url = "https://files.pythonhosted.org/packages/27/28/0ff773cf2467a7f2ba43aeebf508817bb725c6295d4e306ac9b4fd41e5c7/dbt_protos-1.0.410-py3-none-any.whl", hash = "sha256:f04910d664506f0dd9052b58a25419da86cc1c5cb671ab0150b653959174757a", size = 162828, upload-time = "2025-12-15T18:01:01.243Z" }, ] [[package]] @@ -734,20 +805,32 @@ wheels = [ [[package]] name = "filelock" -version = "3.18.0" +version = "3.20.1" 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, upload-time = "2025-03-14T07:11:40.47Z" } +sdist = { url = "https://files.pythonhosted.org/packages/a7/23/ce7a1126827cedeb958fc043d61745754464eb56c5937c35bbf2b8e26f34/filelock-3.20.1.tar.gz", hash = "sha256:b8360948b351b80f420878d8516519a2204b07aefcdcfd24912a5d33127f188c", size = 19476, upload-time = "2025-12-15T23:54:28.027Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/4d/36/2a115987e2d8c300a974597416d9de88f2444426de9571f4b59b2cca3acc/filelock-3.18.0-py3-none-any.whl", hash = "sha256:c401f4f8377c4464e6db25fff06205fd89bdd83b65eb0488ed1b160f780e21de", size = 16215, upload-time = "2025-03-14T07:11:39.145Z" }, + { url = "https://files.pythonhosted.org/packages/e3/7f/a1a97644e39e7316d850784c642093c99df1290a460df4ede27659056834/filelock-3.20.1-py3-none-any.whl", hash = "sha256:15d9e9a67306188a44baa72f569d2bfd803076269365fdea0934385da4dc361a", size = 16666, upload-time = "2025-12-15T23:54:26.874Z" }, ] [[package]] name = "fsspec" -version = "2025.7.0" +version = "2025.12.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/b6/27/954057b0d1f53f086f681755207dda6de6c660ce133c829158e8e8fe7895/fsspec-2025.12.0.tar.gz", hash = "sha256:c505de011584597b1060ff778bb664c1bc022e87921b0e4f10cc9c44f9635973", size = 309748, upload-time = "2025-12-03T15:23:42.687Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/51/c7/b64cae5dba3a1b138d7123ec36bb5ccd39d39939f18454407e5468f4763f/fsspec-2025.12.0-py3-none-any.whl", hash = "sha256:8bf1fe301b7d8acfa6e8571e3b1c3d158f909666642431cc78a1b7b4dbc5ec5b", size = 201422, upload-time = "2025-12-03T15:23:41.434Z" }, +] + +[[package]] +name = "gitdb" +version = "4.0.12" source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/8b/02/0835e6ab9cfc03916fe3f78c0956cfcdb6ff2669ffa6651065d5ebf7fc98/fsspec-2025.7.0.tar.gz", hash = "sha256:786120687ffa54b8283d942929540d8bc5ccfa820deb555a2b5d0ed2b737bf58", size = 304432, upload-time = "2025-07-15T16:05:21.19Z" } +dependencies = [ + { name = "smmap" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/72/94/63b0fc47eb32792c7ba1fe1b694daec9a63620db1e313033d18140c2320a/gitdb-4.0.12.tar.gz", hash = "sha256:5ef71f855d191a3326fcfbc0d5da835f26b13fbcba60c32c21091c349ffdb571", size = 394684, upload-time = "2025-01-02T07:20:46.413Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/2f/e0/014d5d9d7a4564cf1c40b5039bc882db69fd881111e03ab3657ac0b218e2/fsspec-2025.7.0-py3-none-any.whl", hash = "sha256:8b012e39f63c7d5f10474de957f3ab793b47b45ae7d39f2fb735f8bbe25c0e21", size = 199597, upload-time = "2025-07-15T16:05:19.529Z" }, + { url = "https://files.pythonhosted.org/packages/a0/61/5c78b91c3143ed5c14207f463aecfc8f9dbb5092fb2869baf37c273b2705/gitdb-4.0.12-py3-none-any.whl", hash = "sha256:67073e15955400952c6565cc3e707c554a4eea2e428946f7a4c162fab9bd9bcf", size = 62794, upload-time = "2025-01-02T07:20:43.624Z" }, ] [[package]] @@ -765,21 +848,33 @@ wheels = [ { url = "https://files.pythonhosted.org/packages/61/ad/2394d4fb542574678b0ba342daf734d4d811768da3c2ee0c84d509dcb26c/github3.py-4.0.1-py3-none-any.whl", hash = "sha256:a89af7de25650612d1da2f0609622bcdeb07ee8a45a1c06b2d16a05e4234e753", size = 151800, upload-time = "2023-04-26T17:56:25.015Z" }, ] +[[package]] +name = "gitpython" +version = "3.1.45" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "gitdb" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/9a/c8/dd58967d119baab745caec2f9d853297cec1989ec1d63f677d3880632b88/gitpython-3.1.45.tar.gz", hash = "sha256:85b0ee964ceddf211c41b9f27a49086010a190fd8132a24e21f362a4b36a791c", size = 215076, upload-time = "2025-07-24T03:45:54.871Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/01/61/d4b89fec821f72385526e1b9d9a3a0385dda4a72b206d28049e2c7cd39b8/gitpython-3.1.45-py3-none-any.whl", hash = "sha256:8908cb2e02fb3b93b7eb0f2827125cb699869470432cc885f019b8fd0fccff77", size = 208168, upload-time = "2025-07-24T03:45:52.517Z" }, +] + [[package]] name = "googleapis-common-protos" -version = "1.70.0" +version = "1.72.0" source = { registry = "https://pypi.org/simple" } dependencies = [ { name = "protobuf" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/39/24/33db22342cf4a2ea27c9955e6713140fedd51e8b141b5ce5260897020f1a/googleapis_common_protos-1.70.0.tar.gz", hash = "sha256:0e1b44e0ea153e6594f9f394fef15193a68aaaea2d843f83e2742717ca753257", size = 145903, upload-time = "2025-04-14T10:17:02.924Z" } +sdist = { url = "https://files.pythonhosted.org/packages/e5/7b/adfd75544c415c487b33061fe7ae526165241c1ea133f9a9125a56b39fd8/googleapis_common_protos-1.72.0.tar.gz", hash = "sha256:e55a601c1b32b52d7a3e65f43563e2aa61bcd737998ee672ac9b951cd49319f5", size = 147433, upload-time = "2025-11-06T18:29:24.087Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/86/f1/62a193f0227cf15a920390abe675f386dec35f7ae3ffe6da582d3ade42c7/googleapis_common_protos-1.70.0-py3-none-any.whl", hash = "sha256:b8bfcca8c25a2bb253e0e0b0adaf8c00773e5e6af6fd92397576680b807e0fd8", size = 294530, upload-time = "2025-04-14T10:17:01.271Z" }, + { url = "https://files.pythonhosted.org/packages/c4/ab/09169d5a4612a5f92490806649ac8d41e3ec9129c636754575b3553f4ea4/googleapis_common_protos-1.72.0-py3-none-any.whl", hash = "sha256:4299c5a82d5ae1a9702ada957347726b167f9f8d1fc352477702a1e851ff4038", size = 297515, upload-time = "2025-11-06T18:29:13.14Z" }, ] [[package]] name = "gql" -version = "3.5.3" +version = "4.0.0" source = { registry = "https://pypi.org/simple" } dependencies = [ { name = "anyio" }, @@ -787,9 +882,9 @@ dependencies = [ { name = "graphql-core" }, { name = "yarl" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/34/ed/44ffd30b06b3afc8274ee2f38c3c1b61fe4740bf03d92083e43d2c17ac77/gql-3.5.3.tar.gz", hash = "sha256:393b8c049d58e0d2f5461b9d738a2b5f904186a40395500b4a84dd092d56e42b", size = 180504, upload-time = "2025-05-20T12:34:08.954Z" } +sdist = { url = "https://files.pythonhosted.org/packages/06/9f/cf224a88ed71eb223b7aa0b9ff0aa10d7ecc9a4acdca2279eb046c26d5dc/gql-4.0.0.tar.gz", hash = "sha256:f22980844eb6a7c0266ffc70f111b9c7e7c7c13da38c3b439afc7eab3d7c9c8e", size = 215644, upload-time = "2025-08-17T14:32:35.397Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/cb/50/2f4e99b216821ac921dbebf91c644ba95818f5d07857acadee17220221f3/gql-3.5.3-py2.py3-none-any.whl", hash = "sha256:e1fcbde2893fcafdd28114ece87ff47f1cc339a31db271fc4e1d528f5a1d4fbc", size = 74348, upload-time = "2025-05-20T12:34:07.687Z" }, + { url = "https://files.pythonhosted.org/packages/ac/94/30bbd09e8d45339fa77a48f5778d74d47e9242c11b3cd1093b3d994770a5/gql-4.0.0-py3-none-any.whl", hash = "sha256:f3beed7c531218eb24d97cb7df031b4a84fdb462f4a2beb86e2633d395937479", size = 89900, upload-time = "2025-08-17T14:32:34.029Z" }, ] [package.optional-dependencies] @@ -815,11 +910,11 @@ wheels = [ [[package]] name = "graphql-core" -version = "3.2.6" +version = "3.2.7" source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/c4/16/7574029da84834349b60ed71614d66ca3afe46e9bf9c7b9562102acb7d4f/graphql_core-3.2.6.tar.gz", hash = "sha256:c08eec22f9e40f0bd61d805907e3b3b1b9a320bc606e23dc145eebca07c8fbab", size = 505353, upload-time = "2025-01-26T16:36:27.374Z" } +sdist = { url = "https://files.pythonhosted.org/packages/ac/9b/037a640a2983b09aed4a823f9cf1729e6d780b0671f854efa4727a7affbe/graphql_core-3.2.7.tar.gz", hash = "sha256:27b6904bdd3b43f2a0556dad5d579bdfdeab1f38e8e8788e555bdcb586a6f62c", size = 513484, upload-time = "2025-11-01T22:30:40.436Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/ae/4f/7297663840621022bc73c22d7d9d80dbc78b4db6297f764b545cd5dd462d/graphql_core-3.2.6-py3-none-any.whl", hash = "sha256:78b016718c161a6fb20a7d97bbf107f331cd1afe53e45566c59f776ed7f0b45f", size = 203416, upload-time = "2025-01-26T16:36:24.868Z" }, + { url = "https://files.pythonhosted.org/packages/0a/14/933037032608787fb92e365883ad6a741c235e0ff992865ec5d904a38f1e/graphql_core-3.2.7-py3-none-any.whl", hash = "sha256:17fc8f3ca4a42913d8e24d9ac9f08deddf0a0b2483076575757f6c412ead2ec0", size = 207262, upload-time = "2025-11-01T22:30:38.912Z" }, ] [[package]] @@ -836,76 +931,95 @@ wheels = [ [[package]] name = "greenlet" -version = "3.2.3" -source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/c9/92/bb85bd6e80148a4d2e0c59f7c0c2891029f8fd510183afc7d8d2feeed9b6/greenlet-3.2.3.tar.gz", hash = "sha256:8b0dd8ae4c0d6f5e54ee55ba935eeb3d735a9b58a8a1e5b5cbab64e01a39f365", size = 185752, upload-time = "2025-06-05T16:16:09.955Z" } -wheels = [ - { url = "https://files.pythonhosted.org/packages/f3/94/ad0d435f7c48debe960c53b8f60fb41c2026b1d0fa4a99a1cb17c3461e09/greenlet-3.2.3-cp312-cp312-macosx_11_0_universal2.whl", hash = "sha256:25ad29caed5783d4bd7a85c9251c651696164622494c00802a139c00d639242d", size = 271992, upload-time = "2025-06-05T16:11:23.467Z" }, - { url = "https://files.pythonhosted.org/packages/93/5d/7c27cf4d003d6e77749d299c7c8f5fd50b4f251647b5c2e97e1f20da0ab5/greenlet-3.2.3-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:88cd97bf37fe24a6710ec6a3a7799f3f81d9cd33317dcf565ff9950c83f55e0b", size = 638820, upload-time = "2025-06-05T16:38:52.882Z" }, - { url = "https://files.pythonhosted.org/packages/c6/7e/807e1e9be07a125bb4c169144937910bf59b9d2f6d931578e57f0bce0ae2/greenlet-3.2.3-cp312-cp312-manylinux2014_ppc64le.manylinux_2_17_ppc64le.whl", hash = "sha256:baeedccca94880d2f5666b4fa16fc20ef50ba1ee353ee2d7092b383a243b0b0d", size = 653046, upload-time = "2025-06-05T16:41:36.343Z" }, - { url = "https://files.pythonhosted.org/packages/9d/ab/158c1a4ea1068bdbc78dba5a3de57e4c7aeb4e7fa034320ea94c688bfb61/greenlet-3.2.3-cp312-cp312-manylinux2014_s390x.manylinux_2_17_s390x.whl", hash = "sha256:be52af4b6292baecfa0f397f3edb3c6092ce071b499dd6fe292c9ac9f2c8f264", size = 647701, upload-time = "2025-06-05T16:48:19.604Z" }, - { url = "https://files.pythonhosted.org/packages/cc/0d/93729068259b550d6a0288da4ff72b86ed05626eaf1eb7c0d3466a2571de/greenlet-3.2.3-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:0cc73378150b8b78b0c9fe2ce56e166695e67478550769536a6742dca3651688", size = 649747, upload-time = "2025-06-05T16:13:04.628Z" }, - { url = "https://files.pythonhosted.org/packages/f6/f6/c82ac1851c60851302d8581680573245c8fc300253fc1ff741ae74a6c24d/greenlet-3.2.3-cp312-cp312-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:706d016a03e78df129f68c4c9b4c4f963f7d73534e48a24f5f5a7101ed13dbbb", size = 605461, upload-time = "2025-06-05T16:12:50.792Z" }, - { url = "https://files.pythonhosted.org/packages/98/82/d022cf25ca39cf1200650fc58c52af32c90f80479c25d1cbf57980ec3065/greenlet-3.2.3-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:419e60f80709510c343c57b4bb5a339d8767bf9aef9b8ce43f4f143240f88b7c", size = 1121190, upload-time = "2025-06-05T16:36:48.59Z" }, - { url = "https://files.pythonhosted.org/packages/f5/e1/25297f70717abe8104c20ecf7af0a5b82d2f5a980eb1ac79f65654799f9f/greenlet-3.2.3-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:93d48533fade144203816783373f27a97e4193177ebaaf0fc396db19e5d61163", size = 1149055, upload-time = "2025-06-05T16:12:40.457Z" }, - { url = "https://files.pythonhosted.org/packages/1f/8f/8f9e56c5e82eb2c26e8cde787962e66494312dc8cb261c460e1f3a9c88bc/greenlet-3.2.3-cp312-cp312-win_amd64.whl", hash = "sha256:7454d37c740bb27bdeddfc3f358f26956a07d5220818ceb467a483197d84f849", size = 297817, upload-time = "2025-06-05T16:29:49.244Z" }, - { url = "https://files.pythonhosted.org/packages/b1/cf/f5c0b23309070ae93de75c90d29300751a5aacefc0a3ed1b1d8edb28f08b/greenlet-3.2.3-cp313-cp313-macosx_11_0_universal2.whl", hash = "sha256:500b8689aa9dd1ab26872a34084503aeddefcb438e2e7317b89b11eaea1901ad", size = 270732, upload-time = "2025-06-05T16:10:08.26Z" }, - { url = "https://files.pythonhosted.org/packages/48/ae/91a957ba60482d3fecf9be49bc3948f341d706b52ddb9d83a70d42abd498/greenlet-3.2.3-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:a07d3472c2a93117af3b0136f246b2833fdc0b542d4a9799ae5f41c28323faef", size = 639033, upload-time = "2025-06-05T16:38:53.983Z" }, - { url = "https://files.pythonhosted.org/packages/6f/df/20ffa66dd5a7a7beffa6451bdb7400d66251374ab40b99981478c69a67a8/greenlet-3.2.3-cp313-cp313-manylinux2014_ppc64le.manylinux_2_17_ppc64le.whl", hash = "sha256:8704b3768d2f51150626962f4b9a9e4a17d2e37c8a8d9867bbd9fa4eb938d3b3", size = 652999, upload-time = "2025-06-05T16:41:37.89Z" }, - { url = "https://files.pythonhosted.org/packages/51/b4/ebb2c8cb41e521f1d72bf0465f2f9a2fd803f674a88db228887e6847077e/greenlet-3.2.3-cp313-cp313-manylinux2014_s390x.manylinux_2_17_s390x.whl", hash = "sha256:5035d77a27b7c62db6cf41cf786cfe2242644a7a337a0e155c80960598baab95", size = 647368, upload-time = "2025-06-05T16:48:21.467Z" }, - { url = "https://files.pythonhosted.org/packages/8e/6a/1e1b5aa10dced4ae876a322155705257748108b7fd2e4fae3f2a091fe81a/greenlet-3.2.3-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:2d8aa5423cd4a396792f6d4580f88bdc6efcb9205891c9d40d20f6e670992efb", size = 650037, upload-time = "2025-06-05T16:13:06.402Z" }, - { url = "https://files.pythonhosted.org/packages/26/f2/ad51331a157c7015c675702e2d5230c243695c788f8f75feba1af32b3617/greenlet-3.2.3-cp313-cp313-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:2c724620a101f8170065d7dded3f962a2aea7a7dae133a009cada42847e04a7b", size = 608402, upload-time = "2025-06-05T16:12:51.91Z" }, - { url = "https://files.pythonhosted.org/packages/26/bc/862bd2083e6b3aff23300900a956f4ea9a4059de337f5c8734346b9b34fc/greenlet-3.2.3-cp313-cp313-musllinux_1_1_aarch64.whl", hash = "sha256:873abe55f134c48e1f2a6f53f7d1419192a3d1a4e873bace00499a4e45ea6af0", size = 1119577, upload-time = "2025-06-05T16:36:49.787Z" }, - { url = "https://files.pythonhosted.org/packages/86/94/1fc0cc068cfde885170e01de40a619b00eaa8f2916bf3541744730ffb4c3/greenlet-3.2.3-cp313-cp313-musllinux_1_1_x86_64.whl", hash = "sha256:024571bbce5f2c1cfff08bf3fbaa43bbc7444f580ae13b0099e95d0e6e67ed36", size = 1147121, upload-time = "2025-06-05T16:12:42.527Z" }, - { url = "https://files.pythonhosted.org/packages/27/1a/199f9587e8cb08a0658f9c30f3799244307614148ffe8b1e3aa22f324dea/greenlet-3.2.3-cp313-cp313-win_amd64.whl", hash = "sha256:5195fb1e75e592dd04ce79881c8a22becdfa3e6f500e7feb059b1e6fdd54d3e3", size = 297603, upload-time = "2025-06-05T16:20:12.651Z" }, - { url = "https://files.pythonhosted.org/packages/d8/ca/accd7aa5280eb92b70ed9e8f7fd79dc50a2c21d8c73b9a0856f5b564e222/greenlet-3.2.3-cp314-cp314-macosx_11_0_universal2.whl", hash = "sha256:3d04332dddb10b4a211b68111dabaee2e1a073663d117dc10247b5b1642bac86", size = 271479, upload-time = "2025-06-05T16:10:47.525Z" }, - { url = "https://files.pythonhosted.org/packages/55/71/01ed9895d9eb49223280ecc98a557585edfa56b3d0e965b9fa9f7f06b6d9/greenlet-3.2.3-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:8186162dffde068a465deab08fc72c767196895c39db26ab1c17c0b77a6d8b97", size = 683952, upload-time = "2025-06-05T16:38:55.125Z" }, - { url = "https://files.pythonhosted.org/packages/ea/61/638c4bdf460c3c678a0a1ef4c200f347dff80719597e53b5edb2fb27ab54/greenlet-3.2.3-cp314-cp314-manylinux2014_ppc64le.manylinux_2_17_ppc64le.whl", hash = "sha256:f4bfbaa6096b1b7a200024784217defedf46a07c2eee1a498e94a1b5f8ec5728", size = 696917, upload-time = "2025-06-05T16:41:38.959Z" }, - { url = "https://files.pythonhosted.org/packages/22/cc/0bd1a7eb759d1f3e3cc2d1bc0f0b487ad3cc9f34d74da4b80f226fde4ec3/greenlet-3.2.3-cp314-cp314-manylinux2014_s390x.manylinux_2_17_s390x.whl", hash = "sha256:ed6cfa9200484d234d8394c70f5492f144b20d4533f69262d530a1a082f6ee9a", size = 692443, upload-time = "2025-06-05T16:48:23.113Z" }, - { url = "https://files.pythonhosted.org/packages/67/10/b2a4b63d3f08362662e89c103f7fe28894a51ae0bc890fabf37d1d780e52/greenlet-3.2.3-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:02b0df6f63cd15012bed5401b47829cfd2e97052dc89da3cfaf2c779124eb892", size = 692995, upload-time = "2025-06-05T16:13:07.972Z" }, - { url = "https://files.pythonhosted.org/packages/5a/c6/ad82f148a4e3ce9564056453a71529732baf5448ad53fc323e37efe34f66/greenlet-3.2.3-cp314-cp314-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:86c2d68e87107c1792e2e8d5399acec2487a4e993ab76c792408e59394d52141", size = 655320, upload-time = "2025-06-05T16:12:53.453Z" }, - { url = "https://files.pythonhosted.org/packages/5c/4f/aab73ecaa6b3086a4c89863d94cf26fa84cbff63f52ce9bc4342b3087a06/greenlet-3.2.3-cp314-cp314-win_amd64.whl", hash = "sha256:8c47aae8fbbfcf82cc13327ae802ba13c9c36753b67e760023fd116bc124a62a", size = 301236, upload-time = "2025-06-05T16:15:20.111Z" }, +version = "3.3.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/c7/e5/40dbda2736893e3e53d25838e0f19a2b417dfc122b9989c91918db30b5d3/greenlet-3.3.0.tar.gz", hash = "sha256:a82bb225a4e9e4d653dd2fb7b8b2d36e4fb25bc0165422a11e48b88e9e6f78fb", size = 190651, upload-time = "2025-12-04T14:49:44.05Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/f8/0a/a3871375c7b9727edaeeea994bfff7c63ff7804c9829c19309ba2e058807/greenlet-3.3.0-cp312-cp312-macosx_11_0_universal2.whl", hash = "sha256:b01548f6e0b9e9784a2c99c5651e5dc89ffcbe870bc5fb2e5ef864e9cc6b5dcb", size = 276379, upload-time = "2025-12-04T14:23:30.498Z" }, + { url = "https://files.pythonhosted.org/packages/43/ab/7ebfe34dce8b87be0d11dae91acbf76f7b8246bf9d6b319c741f99fa59c6/greenlet-3.3.0-cp312-cp312-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:349345b770dc88f81506c6861d22a6ccd422207829d2c854ae2af8025af303e3", size = 597294, upload-time = "2025-12-04T14:50:06.847Z" }, + { url = "https://files.pythonhosted.org/packages/a4/39/f1c8da50024feecd0793dbd5e08f526809b8ab5609224a2da40aad3a7641/greenlet-3.3.0-cp312-cp312-manylinux_2_24_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:e8e18ed6995e9e2c0b4ed264d2cf89260ab3ac7e13555b8032b25a74c6d18655", size = 607742, upload-time = "2025-12-04T14:57:42.349Z" }, + { url = "https://files.pythonhosted.org/packages/77/cb/43692bcd5f7a0da6ec0ec6d58ee7cddb606d055ce94a62ac9b1aa481e969/greenlet-3.3.0-cp312-cp312-manylinux_2_24_s390x.manylinux_2_28_s390x.whl", hash = "sha256:c024b1e5696626890038e34f76140ed1daf858e37496d33f2af57f06189e70d7", size = 622297, upload-time = "2025-12-04T15:07:13.552Z" }, + { url = "https://files.pythonhosted.org/packages/75/b0/6bde0b1011a60782108c01de5913c588cf51a839174538d266de15e4bf4d/greenlet-3.3.0-cp312-cp312-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:047ab3df20ede6a57c35c14bf5200fcf04039d50f908270d3f9a7a82064f543b", size = 609885, upload-time = "2025-12-04T14:26:02.368Z" }, + { url = "https://files.pythonhosted.org/packages/49/0e/49b46ac39f931f59f987b7cd9f34bfec8ef81d2a1e6e00682f55be5de9f4/greenlet-3.3.0-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:2d9ad37fc657b1102ec880e637cccf20191581f75c64087a549e66c57e1ceb53", size = 1567424, upload-time = "2025-12-04T15:04:23.757Z" }, + { url = "https://files.pythonhosted.org/packages/05/f5/49a9ac2dff7f10091935def9165c90236d8f175afb27cbed38fb1d61ab6b/greenlet-3.3.0-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:83cd0e36932e0e7f36a64b732a6f60c2fc2df28c351bae79fbaf4f8092fe7614", size = 1636017, upload-time = "2025-12-04T14:27:29.688Z" }, + { url = "https://files.pythonhosted.org/packages/6c/79/3912a94cf27ec503e51ba493692d6db1e3cd8ac7ac52b0b47c8e33d7f4f9/greenlet-3.3.0-cp312-cp312-win_amd64.whl", hash = "sha256:a7a34b13d43a6b78abf828a6d0e87d3385680eaf830cd60d20d52f249faabf39", size = 301964, upload-time = "2025-12-04T14:36:58.316Z" }, + { url = "https://files.pythonhosted.org/packages/02/2f/28592176381b9ab2cafa12829ba7b472d177f3acc35d8fbcf3673d966fff/greenlet-3.3.0-cp313-cp313-macosx_11_0_universal2.whl", hash = "sha256:a1e41a81c7e2825822f4e068c48cb2196002362619e2d70b148f20a831c00739", size = 275140, upload-time = "2025-12-04T14:23:01.282Z" }, + { url = "https://files.pythonhosted.org/packages/2c/80/fbe937bf81e9fca98c981fe499e59a3f45df2a04da0baa5c2be0dca0d329/greenlet-3.3.0-cp313-cp313-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:9f515a47d02da4d30caaa85b69474cec77b7929b2e936ff7fb853d42f4bf8808", size = 599219, upload-time = "2025-12-04T14:50:08.309Z" }, + { url = "https://files.pythonhosted.org/packages/c2/ff/7c985128f0514271b8268476af89aee6866df5eec04ac17dcfbc676213df/greenlet-3.3.0-cp313-cp313-manylinux_2_24_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:7d2d9fd66bfadf230b385fdc90426fcd6eb64db54b40c495b72ac0feb5766c54", size = 610211, upload-time = "2025-12-04T14:57:43.968Z" }, + { url = "https://files.pythonhosted.org/packages/79/07/c47a82d881319ec18a4510bb30463ed6891f2ad2c1901ed5ec23d3de351f/greenlet-3.3.0-cp313-cp313-manylinux_2_24_s390x.manylinux_2_28_s390x.whl", hash = "sha256:30a6e28487a790417d036088b3bcb3f3ac7d8babaa7d0139edbaddebf3af9492", size = 624311, upload-time = "2025-12-04T15:07:14.697Z" }, + { url = "https://files.pythonhosted.org/packages/fd/8e/424b8c6e78bd9837d14ff7df01a9829fc883ba2ab4ea787d4f848435f23f/greenlet-3.3.0-cp313-cp313-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:087ea5e004437321508a8d6f20efc4cfec5e3c30118e1417ea96ed1d93950527", size = 612833, upload-time = "2025-12-04T14:26:03.669Z" }, + { url = "https://files.pythonhosted.org/packages/b5/ba/56699ff9b7c76ca12f1cdc27a886d0f81f2189c3455ff9f65246780f713d/greenlet-3.3.0-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:ab97cf74045343f6c60a39913fa59710e4bd26a536ce7ab2397adf8b27e67c39", size = 1567256, upload-time = "2025-12-04T15:04:25.276Z" }, + { url = "https://files.pythonhosted.org/packages/1e/37/f31136132967982d698c71a281a8901daf1a8fbab935dce7c0cf15f942cc/greenlet-3.3.0-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:5375d2e23184629112ca1ea89a53389dddbffcf417dad40125713d88eb5f96e8", size = 1636483, upload-time = "2025-12-04T14:27:30.804Z" }, + { url = "https://files.pythonhosted.org/packages/7e/71/ba21c3fb8c5dce83b8c01f458a42e99ffdb1963aeec08fff5a18588d8fd7/greenlet-3.3.0-cp313-cp313-win_amd64.whl", hash = "sha256:9ee1942ea19550094033c35d25d20726e4f1c40d59545815e1128ac58d416d38", size = 301833, upload-time = "2025-12-04T14:32:23.929Z" }, + { url = "https://files.pythonhosted.org/packages/d7/7c/f0a6d0ede2c7bf092d00bc83ad5bafb7e6ec9b4aab2fbdfa6f134dc73327/greenlet-3.3.0-cp314-cp314-macosx_11_0_universal2.whl", hash = "sha256:60c2ef0f578afb3c8d92ea07ad327f9a062547137afe91f38408f08aacab667f", size = 275671, upload-time = "2025-12-04T14:23:05.267Z" }, + { url = "https://files.pythonhosted.org/packages/44/06/dac639ae1a50f5969d82d2e3dd9767d30d6dbdbab0e1a54010c8fe90263c/greenlet-3.3.0-cp314-cp314-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:0a5d554d0712ba1de0a6c94c640f7aeba3f85b3a6e1f2899c11c2c0428da9365", size = 646360, upload-time = "2025-12-04T14:50:10.026Z" }, + { url = "https://files.pythonhosted.org/packages/e0/94/0fb76fe6c5369fba9bf98529ada6f4c3a1adf19e406a47332245ef0eb357/greenlet-3.3.0-cp314-cp314-manylinux_2_24_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:3a898b1e9c5f7307ebbde4102908e6cbfcb9ea16284a3abe15cab996bee8b9b3", size = 658160, upload-time = "2025-12-04T14:57:45.41Z" }, + { url = "https://files.pythonhosted.org/packages/93/79/d2c70cae6e823fac36c3bbc9077962105052b7ef81db2f01ec3b9bf17e2b/greenlet-3.3.0-cp314-cp314-manylinux_2_24_s390x.manylinux_2_28_s390x.whl", hash = "sha256:dcd2bdbd444ff340e8d6bdf54d2f206ccddbb3ccfdcd3c25bf4afaa7b8f0cf45", size = 671388, upload-time = "2025-12-04T15:07:15.789Z" }, + { url = "https://files.pythonhosted.org/packages/b8/14/bab308fc2c1b5228c3224ec2bf928ce2e4d21d8046c161e44a2012b5203e/greenlet-3.3.0-cp314-cp314-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:5773edda4dc00e173820722711d043799d3adb4f01731f40619e07ea2750b955", size = 660166, upload-time = "2025-12-04T14:26:05.099Z" }, + { url = "https://files.pythonhosted.org/packages/4b/d2/91465d39164eaa0085177f61983d80ffe746c5a1860f009811d498e7259c/greenlet-3.3.0-cp314-cp314-musllinux_1_2_aarch64.whl", hash = "sha256:ac0549373982b36d5fd5d30beb8a7a33ee541ff98d2b502714a09f1169f31b55", size = 1615193, upload-time = "2025-12-04T15:04:27.041Z" }, + { url = "https://files.pythonhosted.org/packages/42/1b/83d110a37044b92423084d52d5d5a3b3a73cafb51b547e6d7366ff62eff1/greenlet-3.3.0-cp314-cp314-musllinux_1_2_x86_64.whl", hash = "sha256:d198d2d977460358c3b3a4dc844f875d1adb33817f0613f663a656f463764ccc", size = 1683653, upload-time = "2025-12-04T14:27:32.366Z" }, + { url = "https://files.pythonhosted.org/packages/7c/9a/9030e6f9aa8fd7808e9c31ba4c38f87c4f8ec324ee67431d181fe396d705/greenlet-3.3.0-cp314-cp314-win_amd64.whl", hash = "sha256:73f51dd0e0bdb596fb0417e475fa3c5e32d4c83638296e560086b8d7da7c4170", size = 305387, upload-time = "2025-12-04T14:26:51.063Z" }, + { url = "https://files.pythonhosted.org/packages/a0/66/bd6317bc5932accf351fc19f177ffba53712a202f9df10587da8df257c7e/greenlet-3.3.0-cp314-cp314t-macosx_11_0_universal2.whl", hash = "sha256:d6ed6f85fae6cdfdb9ce04c9bf7a08d666cfcfb914e7d006f44f840b46741931", size = 282638, upload-time = "2025-12-04T14:25:20.941Z" }, + { url = "https://files.pythonhosted.org/packages/30/cf/cc81cb030b40e738d6e69502ccbd0dd1bced0588e958f9e757945de24404/greenlet-3.3.0-cp314-cp314t-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:d9125050fcf24554e69c4cacb086b87b3b55dc395a8b3ebe6487b045b2614388", size = 651145, upload-time = "2025-12-04T14:50:11.039Z" }, + { url = "https://files.pythonhosted.org/packages/9c/ea/1020037b5ecfe95ca7df8d8549959baceb8186031da83d5ecceff8b08cd2/greenlet-3.3.0-cp314-cp314t-manylinux_2_24_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:87e63ccfa13c0a0f6234ed0add552af24cc67dd886731f2261e46e241608bee3", size = 654236, upload-time = "2025-12-04T14:57:47.007Z" }, + { url = "https://files.pythonhosted.org/packages/69/cc/1e4bae2e45ca2fa55299f4e85854606a78ecc37fead20d69322f96000504/greenlet-3.3.0-cp314-cp314t-manylinux_2_24_s390x.manylinux_2_28_s390x.whl", hash = "sha256:2662433acbca297c9153a4023fe2161c8dcfdcc91f10433171cf7e7d94ba2221", size = 662506, upload-time = "2025-12-04T15:07:16.906Z" }, + { url = "https://files.pythonhosted.org/packages/57/b9/f8025d71a6085c441a7eaff0fd928bbb275a6633773667023d19179fe815/greenlet-3.3.0-cp314-cp314t-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:3c6e9b9c1527a78520357de498b0e709fb9e2f49c3a513afd5a249007261911b", size = 653783, upload-time = "2025-12-04T14:26:06.225Z" }, + { url = "https://files.pythonhosted.org/packages/f6/c7/876a8c7a7485d5d6b5c6821201d542ef28be645aa024cfe1145b35c120c1/greenlet-3.3.0-cp314-cp314t-musllinux_1_2_aarch64.whl", hash = "sha256:286d093f95ec98fdd92fcb955003b8a3d054b4e2cab3e2707a5039e7b50520fd", size = 1614857, upload-time = "2025-12-04T15:04:28.484Z" }, + { url = "https://files.pythonhosted.org/packages/4f/dc/041be1dff9f23dac5f48a43323cd0789cb798342011c19a248d9c9335536/greenlet-3.3.0-cp314-cp314t-musllinux_1_2_x86_64.whl", hash = "sha256:6c10513330af5b8ae16f023e8ddbfb486ab355d04467c4679c5cfe4659975dd9", size = 1676034, upload-time = "2025-12-04T14:27:33.531Z" }, ] [[package]] name = "grpcio" -version = "1.74.0" -source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/38/b4/35feb8f7cab7239c5b94bd2db71abb3d6adb5f335ad8f131abb6060840b6/grpcio-1.74.0.tar.gz", hash = "sha256:80d1f4fbb35b0742d3e3d3bb654b7381cd5f015f8497279a1e9c21ba623e01b1", size = 12756048, upload-time = "2025-07-24T18:54:23.039Z" } -wheels = [ - { url = "https://files.pythonhosted.org/packages/4c/5d/e504d5d5c4469823504f65687d6c8fb97b7f7bf0b34873b7598f1df24630/grpcio-1.74.0-cp312-cp312-linux_armv7l.whl", hash = "sha256:8533e6e9c5bd630ca98062e3a1326249e6ada07d05acf191a77bc33f8948f3d8", size = 5445551, upload-time = "2025-07-24T18:53:23.641Z" }, - { url = "https://files.pythonhosted.org/packages/43/01/730e37056f96f2f6ce9f17999af1556df62ee8dab7fa48bceeaab5fd3008/grpcio-1.74.0-cp312-cp312-macosx_11_0_universal2.whl", hash = "sha256:2918948864fec2a11721d91568effffbe0a02b23ecd57f281391d986847982f6", size = 10979810, upload-time = "2025-07-24T18:53:25.349Z" }, - { url = "https://files.pythonhosted.org/packages/79/3d/09fd100473ea5c47083889ca47ffd356576173ec134312f6aa0e13111dee/grpcio-1.74.0-cp312-cp312-manylinux_2_17_aarch64.whl", hash = "sha256:60d2d48b0580e70d2e1954d0d19fa3c2e60dd7cbed826aca104fff518310d1c5", size = 5941946, upload-time = "2025-07-24T18:53:27.387Z" }, - { url = "https://files.pythonhosted.org/packages/8a/99/12d2cca0a63c874c6d3d195629dcd85cdf5d6f98a30d8db44271f8a97b93/grpcio-1.74.0-cp312-cp312-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:3601274bc0523f6dc07666c0e01682c94472402ac2fd1226fd96e079863bfa49", size = 6621763, upload-time = "2025-07-24T18:53:29.193Z" }, - { url = "https://files.pythonhosted.org/packages/9d/2c/930b0e7a2f1029bbc193443c7bc4dc2a46fedb0203c8793dcd97081f1520/grpcio-1.74.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:176d60a5168d7948539def20b2a3adcce67d72454d9ae05969a2e73f3a0feee7", size = 6180664, upload-time = "2025-07-24T18:53:30.823Z" }, - { url = "https://files.pythonhosted.org/packages/db/d5/ff8a2442180ad0867717e670f5ec42bfd8d38b92158ad6bcd864e6d4b1ed/grpcio-1.74.0-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:e759f9e8bc908aaae0412642afe5416c9f983a80499448fcc7fab8692ae044c3", size = 6301083, upload-time = "2025-07-24T18:53:32.454Z" }, - { url = "https://files.pythonhosted.org/packages/b0/ba/b361d390451a37ca118e4ec7dccec690422e05bc85fba2ec72b06cefec9f/grpcio-1.74.0-cp312-cp312-musllinux_1_1_i686.whl", hash = "sha256:9e7c4389771855a92934b2846bd807fc25a3dfa820fd912fe6bd8136026b2707", size = 6994132, upload-time = "2025-07-24T18:53:34.506Z" }, - { url = "https://files.pythonhosted.org/packages/3b/0c/3a5fa47d2437a44ced74141795ac0251bbddeae74bf81df3447edd767d27/grpcio-1.74.0-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:cce634b10aeab37010449124814b05a62fb5f18928ca878f1bf4750d1f0c815b", size = 6489616, upload-time = "2025-07-24T18:53:36.217Z" }, - { url = "https://files.pythonhosted.org/packages/ae/95/ab64703b436d99dc5217228babc76047d60e9ad14df129e307b5fec81fd0/grpcio-1.74.0-cp312-cp312-win32.whl", hash = "sha256:885912559974df35d92219e2dc98f51a16a48395f37b92865ad45186f294096c", size = 3807083, upload-time = "2025-07-24T18:53:37.911Z" }, - { url = "https://files.pythonhosted.org/packages/84/59/900aa2445891fc47a33f7d2f76e00ca5d6ae6584b20d19af9c06fa09bf9a/grpcio-1.74.0-cp312-cp312-win_amd64.whl", hash = "sha256:42f8fee287427b94be63d916c90399ed310ed10aadbf9e2e5538b3e497d269bc", size = 4490123, upload-time = "2025-07-24T18:53:39.528Z" }, - { url = "https://files.pythonhosted.org/packages/d4/d8/1004a5f468715221450e66b051c839c2ce9a985aa3ee427422061fcbb6aa/grpcio-1.74.0-cp313-cp313-linux_armv7l.whl", hash = "sha256:2bc2d7d8d184e2362b53905cb1708c84cb16354771c04b490485fa07ce3a1d89", size = 5449488, upload-time = "2025-07-24T18:53:41.174Z" }, - { url = "https://files.pythonhosted.org/packages/94/0e/33731a03f63740d7743dced423846c831d8e6da808fcd02821a4416df7fa/grpcio-1.74.0-cp313-cp313-macosx_11_0_universal2.whl", hash = "sha256:c14e803037e572c177ba54a3e090d6eb12efd795d49327c5ee2b3bddb836bf01", size = 10974059, upload-time = "2025-07-24T18:53:43.066Z" }, - { url = "https://files.pythonhosted.org/packages/0d/c6/3d2c14d87771a421205bdca991467cfe473ee4c6a1231c1ede5248c62ab8/grpcio-1.74.0-cp313-cp313-manylinux_2_17_aarch64.whl", hash = "sha256:f6ec94f0e50eb8fa1744a731088b966427575e40c2944a980049798b127a687e", size = 5945647, upload-time = "2025-07-24T18:53:45.269Z" }, - { url = "https://files.pythonhosted.org/packages/c5/83/5a354c8aaff58594eef7fffebae41a0f8995a6258bbc6809b800c33d4c13/grpcio-1.74.0-cp313-cp313-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:566b9395b90cc3d0d0c6404bc8572c7c18786ede549cdb540ae27b58afe0fb91", size = 6626101, upload-time = "2025-07-24T18:53:47.015Z" }, - { url = "https://files.pythonhosted.org/packages/3f/ca/4fdc7bf59bf6994aa45cbd4ef1055cd65e2884de6113dbd49f75498ddb08/grpcio-1.74.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:e1ea6176d7dfd5b941ea01c2ec34de9531ba494d541fe2057c904e601879f249", size = 6182562, upload-time = "2025-07-24T18:53:48.967Z" }, - { url = "https://files.pythonhosted.org/packages/fd/48/2869e5b2c1922583686f7ae674937986807c2f676d08be70d0a541316270/grpcio-1.74.0-cp313-cp313-musllinux_1_1_aarch64.whl", hash = "sha256:64229c1e9cea079420527fa8ac45d80fc1e8d3f94deaa35643c381fa8d98f362", size = 6303425, upload-time = "2025-07-24T18:53:50.847Z" }, - { url = "https://files.pythonhosted.org/packages/a6/0e/bac93147b9a164f759497bc6913e74af1cb632c733c7af62c0336782bd38/grpcio-1.74.0-cp313-cp313-musllinux_1_1_i686.whl", hash = "sha256:0f87bddd6e27fc776aacf7ebfec367b6d49cad0455123951e4488ea99d9b9b8f", size = 6996533, upload-time = "2025-07-24T18:53:52.747Z" }, - { url = "https://files.pythonhosted.org/packages/84/35/9f6b2503c1fd86d068b46818bbd7329db26a87cdd8c01e0d1a9abea1104c/grpcio-1.74.0-cp313-cp313-musllinux_1_1_x86_64.whl", hash = "sha256:3b03d8f2a07f0fea8c8f74deb59f8352b770e3900d143b3d1475effcb08eec20", size = 6491489, upload-time = "2025-07-24T18:53:55.06Z" }, - { url = "https://files.pythonhosted.org/packages/75/33/a04e99be2a82c4cbc4039eb3a76f6c3632932b9d5d295221389d10ac9ca7/grpcio-1.74.0-cp313-cp313-win32.whl", hash = "sha256:b6a73b2ba83e663b2480a90b82fdae6a7aa6427f62bf43b29912c0cfd1aa2bfa", size = 3805811, upload-time = "2025-07-24T18:53:56.798Z" }, - { url = "https://files.pythonhosted.org/packages/34/80/de3eb55eb581815342d097214bed4c59e806b05f1b3110df03b2280d6dfd/grpcio-1.74.0-cp313-cp313-win_amd64.whl", hash = "sha256:fd3c71aeee838299c5887230b8a1822795325ddfea635edd82954c1eaa831e24", size = 4489214, upload-time = "2025-07-24T18:53:59.771Z" }, +version = "1.76.0" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "typing-extensions" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/b6/e0/318c1ce3ae5a17894d5791e87aea147587c9e702f24122cc7a5c8bbaeeb1/grpcio-1.76.0.tar.gz", hash = "sha256:7be78388d6da1a25c0d5ec506523db58b18be22d9c37d8d3a32c08be4987bd73", size = 12785182, upload-time = "2025-10-21T16:23:12.106Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/bf/05/8e29121994b8d959ffa0afd28996d452f291b48cfc0875619de0bde2c50c/grpcio-1.76.0-cp312-cp312-linux_armv7l.whl", hash = "sha256:81fd9652b37b36f16138611c7e884eb82e0cec137c40d3ef7c3f9b3ed00f6ed8", size = 5799718, upload-time = "2025-10-21T16:21:17.939Z" }, + { url = "https://files.pythonhosted.org/packages/d9/75/11d0e66b3cdf998c996489581bdad8900db79ebd83513e45c19548f1cba4/grpcio-1.76.0-cp312-cp312-macosx_11_0_universal2.whl", hash = "sha256:04bbe1bfe3a68bbfd4e52402ab7d4eb59d72d02647ae2042204326cf4bbad280", size = 11825627, upload-time = "2025-10-21T16:21:20.466Z" }, + { url = "https://files.pythonhosted.org/packages/28/50/2f0aa0498bc188048f5d9504dcc5c2c24f2eb1a9337cd0fa09a61a2e75f0/grpcio-1.76.0-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:d388087771c837cdb6515539f43b9d4bf0b0f23593a24054ac16f7a960be16f4", size = 6359167, upload-time = "2025-10-21T16:21:23.122Z" }, + { url = "https://files.pythonhosted.org/packages/66/e5/bbf0bb97d29ede1d59d6588af40018cfc345b17ce979b7b45424628dc8bb/grpcio-1.76.0-cp312-cp312-manylinux2014_i686.manylinux_2_17_i686.whl", hash = "sha256:9f8f757bebaaea112c00dba718fc0d3260052ce714e25804a03f93f5d1c6cc11", size = 7044267, upload-time = "2025-10-21T16:21:25.995Z" }, + { url = "https://files.pythonhosted.org/packages/f5/86/f6ec2164f743d9609691115ae8ece098c76b894ebe4f7c94a655c6b03e98/grpcio-1.76.0-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:980a846182ce88c4f2f7e2c22c56aefd515daeb36149d1c897f83cf57999e0b6", size = 6573963, upload-time = "2025-10-21T16:21:28.631Z" }, + { url = "https://files.pythonhosted.org/packages/60/bc/8d9d0d8505feccfdf38a766d262c71e73639c165b311c9457208b56d92ae/grpcio-1.76.0-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:f92f88e6c033db65a5ae3d97905c8fea9c725b63e28d5a75cb73b49bda5024d8", size = 7164484, upload-time = "2025-10-21T16:21:30.837Z" }, + { url = "https://files.pythonhosted.org/packages/67/e6/5d6c2fc10b95edf6df9b8f19cf10a34263b7fd48493936fffd5085521292/grpcio-1.76.0-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:4baf3cbe2f0be3289eb68ac8ae771156971848bb8aaff60bad42005539431980", size = 8127777, upload-time = "2025-10-21T16:21:33.577Z" }, + { url = "https://files.pythonhosted.org/packages/3f/c8/dce8ff21c86abe025efe304d9e31fdb0deaaa3b502b6a78141080f206da0/grpcio-1.76.0-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:615ba64c208aaceb5ec83bfdce7728b80bfeb8be97562944836a7a0a9647d882", size = 7594014, upload-time = "2025-10-21T16:21:41.882Z" }, + { url = "https://files.pythonhosted.org/packages/e0/42/ad28191ebf983a5d0ecef90bab66baa5a6b18f2bfdef9d0a63b1973d9f75/grpcio-1.76.0-cp312-cp312-win32.whl", hash = "sha256:45d59a649a82df5718fd9527ce775fd66d1af35e6d31abdcdc906a49c6822958", size = 3984750, upload-time = "2025-10-21T16:21:44.006Z" }, + { url = "https://files.pythonhosted.org/packages/9e/00/7bd478cbb851c04a48baccaa49b75abaa8e4122f7d86da797500cccdd771/grpcio-1.76.0-cp312-cp312-win_amd64.whl", hash = "sha256:c088e7a90b6017307f423efbb9d1ba97a22aa2170876223f9709e9d1de0b5347", size = 4704003, upload-time = "2025-10-21T16:21:46.244Z" }, + { url = "https://files.pythonhosted.org/packages/fc/ed/71467ab770effc9e8cef5f2e7388beb2be26ed642d567697bb103a790c72/grpcio-1.76.0-cp313-cp313-linux_armv7l.whl", hash = "sha256:26ef06c73eb53267c2b319f43e6634c7556ea37672029241a056629af27c10e2", size = 5807716, upload-time = "2025-10-21T16:21:48.475Z" }, + { url = "https://files.pythonhosted.org/packages/2c/85/c6ed56f9817fab03fa8a111ca91469941fb514e3e3ce6d793cb8f1e1347b/grpcio-1.76.0-cp313-cp313-macosx_11_0_universal2.whl", hash = "sha256:45e0111e73f43f735d70786557dc38141185072d7ff8dc1829d6a77ac1471468", size = 11821522, upload-time = "2025-10-21T16:21:51.142Z" }, + { url = "https://files.pythonhosted.org/packages/ac/31/2b8a235ab40c39cbc141ef647f8a6eb7b0028f023015a4842933bc0d6831/grpcio-1.76.0-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:83d57312a58dcfe2a3a0f9d1389b299438909a02db60e2f2ea2ae2d8034909d3", size = 6362558, upload-time = "2025-10-21T16:21:54.213Z" }, + { url = "https://files.pythonhosted.org/packages/bd/64/9784eab483358e08847498ee56faf8ff6ea8e0a4592568d9f68edc97e9e9/grpcio-1.76.0-cp313-cp313-manylinux2014_i686.manylinux_2_17_i686.whl", hash = "sha256:3e2a27c89eb9ac3d81ec8835e12414d73536c6e620355d65102503064a4ed6eb", size = 7049990, upload-time = "2025-10-21T16:21:56.476Z" }, + { url = "https://files.pythonhosted.org/packages/2b/94/8c12319a6369434e7a184b987e8e9f3b49a114c489b8315f029e24de4837/grpcio-1.76.0-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:61f69297cba3950a524f61c7c8ee12e55c486cb5f7db47ff9dcee33da6f0d3ae", size = 6575387, upload-time = "2025-10-21T16:21:59.051Z" }, + { url = "https://files.pythonhosted.org/packages/15/0f/f12c32b03f731f4a6242f771f63039df182c8b8e2cf8075b245b409259d4/grpcio-1.76.0-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:6a15c17af8839b6801d554263c546c69c4d7718ad4321e3166175b37eaacca77", size = 7166668, upload-time = "2025-10-21T16:22:02.049Z" }, + { url = "https://files.pythonhosted.org/packages/ff/2d/3ec9ce0c2b1d92dd59d1c3264aaec9f0f7c817d6e8ac683b97198a36ed5a/grpcio-1.76.0-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:25a18e9810fbc7e7f03ec2516addc116a957f8cbb8cbc95ccc80faa072743d03", size = 8124928, upload-time = "2025-10-21T16:22:04.984Z" }, + { url = "https://files.pythonhosted.org/packages/1a/74/fd3317be5672f4856bcdd1a9e7b5e17554692d3db9a3b273879dc02d657d/grpcio-1.76.0-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:931091142fd8cc14edccc0845a79248bc155425eee9a98b2db2ea4f00a235a42", size = 7589983, upload-time = "2025-10-21T16:22:07.881Z" }, + { url = "https://files.pythonhosted.org/packages/45/bb/ca038cf420f405971f19821c8c15bcbc875505f6ffadafe9ffd77871dc4c/grpcio-1.76.0-cp313-cp313-win32.whl", hash = "sha256:5e8571632780e08526f118f74170ad8d50fb0a48c23a746bef2a6ebade3abd6f", size = 3984727, upload-time = "2025-10-21T16:22:10.032Z" }, + { url = "https://files.pythonhosted.org/packages/41/80/84087dc56437ced7cdd4b13d7875e7439a52a261e3ab4e06488ba6173b0a/grpcio-1.76.0-cp313-cp313-win_amd64.whl", hash = "sha256:f9f7bd5faab55f47231ad8dba7787866b69f5e93bc306e3915606779bbfb4ba8", size = 4702799, upload-time = "2025-10-21T16:22:12.709Z" }, + { url = "https://files.pythonhosted.org/packages/b4/46/39adac80de49d678e6e073b70204091e76631e03e94928b9ea4ecf0f6e0e/grpcio-1.76.0-cp314-cp314-linux_armv7l.whl", hash = "sha256:ff8a59ea85a1f2191a0ffcc61298c571bc566332f82e5f5be1b83c9d8e668a62", size = 5808417, upload-time = "2025-10-21T16:22:15.02Z" }, + { url = "https://files.pythonhosted.org/packages/9c/f5/a4531f7fb8b4e2a60b94e39d5d924469b7a6988176b3422487be61fe2998/grpcio-1.76.0-cp314-cp314-macosx_11_0_universal2.whl", hash = "sha256:06c3d6b076e7b593905d04fdba6a0525711b3466f43b3400266f04ff735de0cd", size = 11828219, upload-time = "2025-10-21T16:22:17.954Z" }, + { url = "https://files.pythonhosted.org/packages/4b/1c/de55d868ed7a8bd6acc6b1d6ddc4aa36d07a9f31d33c912c804adb1b971b/grpcio-1.76.0-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:fd5ef5932f6475c436c4a55e4336ebbe47bd3272be04964a03d316bbf4afbcbc", size = 6367826, upload-time = "2025-10-21T16:22:20.721Z" }, + { url = "https://files.pythonhosted.org/packages/59/64/99e44c02b5adb0ad13ab3adc89cb33cb54bfa90c74770f2607eea629b86f/grpcio-1.76.0-cp314-cp314-manylinux2014_i686.manylinux_2_17_i686.whl", hash = "sha256:b331680e46239e090f5b3cead313cc772f6caa7d0fc8de349337563125361a4a", size = 7049550, upload-time = "2025-10-21T16:22:23.637Z" }, + { url = "https://files.pythonhosted.org/packages/43/28/40a5be3f9a86949b83e7d6a2ad6011d993cbe9b6bd27bea881f61c7788b6/grpcio-1.76.0-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:2229ae655ec4e8999599469559e97630185fdd53ae1e8997d147b7c9b2b72cba", size = 6575564, upload-time = "2025-10-21T16:22:26.016Z" }, + { url = "https://files.pythonhosted.org/packages/4b/a9/1be18e6055b64467440208a8559afac243c66a8b904213af6f392dc2212f/grpcio-1.76.0-cp314-cp314-musllinux_1_2_aarch64.whl", hash = "sha256:490fa6d203992c47c7b9e4a9d39003a0c2bcc1c9aa3c058730884bbbb0ee9f09", size = 7176236, upload-time = "2025-10-21T16:22:28.362Z" }, + { url = "https://files.pythonhosted.org/packages/0f/55/dba05d3fcc151ce6e81327541d2cc8394f442f6b350fead67401661bf041/grpcio-1.76.0-cp314-cp314-musllinux_1_2_i686.whl", hash = "sha256:479496325ce554792dba6548fae3df31a72cef7bad71ca2e12b0e58f9b336bfc", size = 8125795, upload-time = "2025-10-21T16:22:31.075Z" }, + { url = "https://files.pythonhosted.org/packages/4a/45/122df922d05655f63930cf42c9e3f72ba20aadb26c100ee105cad4ce4257/grpcio-1.76.0-cp314-cp314-musllinux_1_2_x86_64.whl", hash = "sha256:1c9b93f79f48b03ada57ea24725d83a30284a012ec27eab2cf7e50a550cbbbcc", size = 7592214, upload-time = "2025-10-21T16:22:33.831Z" }, + { url = "https://files.pythonhosted.org/packages/4a/6e/0b899b7f6b66e5af39e377055fb4a6675c9ee28431df5708139df2e93233/grpcio-1.76.0-cp314-cp314-win32.whl", hash = "sha256:747fa73efa9b8b1488a95d0ba1039c8e2dca0f741612d80415b1e1c560febf4e", size = 4062961, upload-time = "2025-10-21T16:22:36.468Z" }, + { url = "https://files.pythonhosted.org/packages/19/41/0b430b01a2eb38ee887f88c1f07644a1df8e289353b78e82b37ef988fb64/grpcio-1.76.0-cp314-cp314-win_amd64.whl", hash = "sha256:922fa70ba549fce362d2e2871ab542082d66e2aaf0c19480ea453905b01f384e", size = 4834462, upload-time = "2025-10-21T16:22:39.772Z" }, ] [[package]] name = "grpcio-health-checking" -version = "1.71.2" +version = "1.76.0" source = { registry = "https://pypi.org/simple" } dependencies = [ { name = "grpcio" }, { name = "protobuf" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/53/86/20994347ef36b7626fb74539f13128100dd8b7eaac67efc063264e6cdc80/grpcio_health_checking-1.71.2.tar.gz", hash = "sha256:1c21ece88c641932f432b573ef504b20603bdf030ad4e1ec35dd7fdb4ea02637", size = 16770, upload-time = "2025-06-28T04:24:08.768Z" } +sdist = { url = "https://files.pythonhosted.org/packages/3e/96/5a52dcf21078b47ffa0c2ed613c3153a06f138edb6133792bace5f1ccc1d/grpcio_health_checking-1.76.0.tar.gz", hash = "sha256:b7a99d74096b3ab3a59987fc02374068e1c180a352e8d1f79f10e5a23727098d", size = 16784, upload-time = "2025-10-21T16:28:55.204Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/1a/74/7bc6ab96bf1083cab2684f9c3ae434caa638de3d5c5574e8435e2c146598/grpcio_health_checking-1.71.2-py3-none-any.whl", hash = "sha256:f91db41410d6bd18a7828c5b6ac2bebd77a63483263cbe42bf3c0c9b86cece33", size = 18918, upload-time = "2025-06-28T04:23:56.923Z" }, + { url = "https://files.pythonhosted.org/packages/65/e6/746dffa51399827e38bb3f3f1ad656a3d8c1255039b256a6f76593368768/grpcio_health_checking-1.76.0-py3-none-any.whl", hash = "sha256:9743f345a855ba030cc7c381361606870b79d33bb71d7756efa47b6faa970f81", size = 18910, upload-time = "2025-10-21T16:27:26.332Z" }, ] [[package]] @@ -919,24 +1033,31 @@ wheels = [ [[package]] name = "httptools" -version = "0.6.4" -source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/a7/9a/ce5e1f7e131522e6d3426e8e7a490b3a01f39a6696602e1c4f33f9e94277/httptools-0.6.4.tar.gz", hash = "sha256:4e93eee4add6493b59a5c514da98c939b244fce4a0d8879cd3f466562f4b7d5c", size = 240639, upload-time = "2024-10-16T19:45:08.902Z" } -wheels = [ - { url = "https://files.pythonhosted.org/packages/bb/0e/d0b71465c66b9185f90a091ab36389a7352985fe857e352801c39d6127c8/httptools-0.6.4-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:df017d6c780287d5c80601dafa31f17bddb170232d85c066604d8558683711a2", size = 200683, upload-time = "2024-10-16T19:44:30.175Z" }, - { url = "https://files.pythonhosted.org/packages/e2/b8/412a9bb28d0a8988de3296e01efa0bd62068b33856cdda47fe1b5e890954/httptools-0.6.4-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:85071a1e8c2d051b507161f6c3e26155b5c790e4e28d7f236422dbacc2a9cc44", size = 104337, upload-time = "2024-10-16T19:44:31.786Z" }, - { url = "https://files.pythonhosted.org/packages/9b/01/6fb20be3196ffdc8eeec4e653bc2a275eca7f36634c86302242c4fbb2760/httptools-0.6.4-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:69422b7f458c5af875922cdb5bd586cc1f1033295aa9ff63ee196a87519ac8e1", size = 508796, upload-time = "2024-10-16T19:44:32.825Z" }, - { url = "https://files.pythonhosted.org/packages/f7/d8/b644c44acc1368938317d76ac991c9bba1166311880bcc0ac297cb9d6bd7/httptools-0.6.4-cp312-cp312-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:16e603a3bff50db08cd578d54f07032ca1631450ceb972c2f834c2b860c28ea2", size = 510837, upload-time = "2024-10-16T19:44:33.974Z" }, - { url = "https://files.pythonhosted.org/packages/52/d8/254d16a31d543073a0e57f1c329ca7378d8924e7e292eda72d0064987486/httptools-0.6.4-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:ec4f178901fa1834d4a060320d2f3abc5c9e39766953d038f1458cb885f47e81", size = 485289, upload-time = "2024-10-16T19:44:35.111Z" }, - { url = "https://files.pythonhosted.org/packages/5f/3c/4aee161b4b7a971660b8be71a92c24d6c64372c1ab3ae7f366b3680df20f/httptools-0.6.4-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:f9eb89ecf8b290f2e293325c646a211ff1c2493222798bb80a530c5e7502494f", size = 489779, upload-time = "2024-10-16T19:44:36.253Z" }, - { url = "https://files.pythonhosted.org/packages/12/b7/5cae71a8868e555f3f67a50ee7f673ce36eac970f029c0c5e9d584352961/httptools-0.6.4-cp312-cp312-win_amd64.whl", hash = "sha256:db78cb9ca56b59b016e64b6031eda5653be0589dba2b1b43453f6e8b405a0970", size = 88634, upload-time = "2024-10-16T19:44:37.357Z" }, - { url = "https://files.pythonhosted.org/packages/94/a3/9fe9ad23fd35f7de6b91eeb60848986058bd8b5a5c1e256f5860a160cc3e/httptools-0.6.4-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:ade273d7e767d5fae13fa637f4d53b6e961fb7fd93c7797562663f0171c26660", size = 197214, upload-time = "2024-10-16T19:44:38.738Z" }, - { url = "https://files.pythonhosted.org/packages/ea/d9/82d5e68bab783b632023f2fa31db20bebb4e89dfc4d2293945fd68484ee4/httptools-0.6.4-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:856f4bc0478ae143bad54a4242fccb1f3f86a6e1be5548fecfd4102061b3a083", size = 102431, upload-time = "2024-10-16T19:44:39.818Z" }, - { url = "https://files.pythonhosted.org/packages/96/c1/cb499655cbdbfb57b577734fde02f6fa0bbc3fe9fb4d87b742b512908dff/httptools-0.6.4-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:322d20ea9cdd1fa98bd6a74b77e2ec5b818abdc3d36695ab402a0de8ef2865a3", size = 473121, upload-time = "2024-10-16T19:44:41.189Z" }, - { url = "https://files.pythonhosted.org/packages/af/71/ee32fd358f8a3bb199b03261f10921716990808a675d8160b5383487a317/httptools-0.6.4-cp313-cp313-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:4d87b29bd4486c0093fc64dea80231f7c7f7eb4dc70ae394d70a495ab8436071", size = 473805, upload-time = "2024-10-16T19:44:42.384Z" }, - { url = "https://files.pythonhosted.org/packages/8a/0a/0d4df132bfca1507114198b766f1737d57580c9ad1cf93c1ff673e3387be/httptools-0.6.4-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:342dd6946aa6bda4b8f18c734576106b8a31f2fe31492881a9a160ec84ff4bd5", size = 448858, upload-time = "2024-10-16T19:44:43.959Z" }, - { url = "https://files.pythonhosted.org/packages/1e/6a/787004fdef2cabea27bad1073bf6a33f2437b4dbd3b6fb4a9d71172b1c7c/httptools-0.6.4-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:4b36913ba52008249223042dca46e69967985fb4051951f94357ea681e1f5dc0", size = 452042, upload-time = "2024-10-16T19:44:45.071Z" }, - { url = "https://files.pythonhosted.org/packages/4d/dc/7decab5c404d1d2cdc1bb330b1bf70e83d6af0396fd4fc76fc60c0d522bf/httptools-0.6.4-cp313-cp313-win_amd64.whl", hash = "sha256:28908df1b9bb8187393d5b5db91435ccc9c8e891657f9cbb42a2541b44c82fc8", size = 87682, upload-time = "2024-10-16T19:44:46.46Z" }, +version = "0.7.1" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/b5/46/120a669232c7bdedb9d52d4aeae7e6c7dfe151e99dc70802e2fc7a5e1993/httptools-0.7.1.tar.gz", hash = "sha256:abd72556974f8e7c74a259655924a717a2365b236c882c3f6f8a45fe94703ac9", size = 258961, upload-time = "2025-10-10T03:55:08.559Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/53/7f/403e5d787dc4942316e515e949b0c8a013d84078a915910e9f391ba9b3ed/httptools-0.7.1-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:38e0c83a2ea9746ebbd643bdfb521b9aa4a91703e2cd705c20443405d2fd16a5", size = 206280, upload-time = "2025-10-10T03:54:39.274Z" }, + { url = "https://files.pythonhosted.org/packages/2a/0d/7f3fd28e2ce311ccc998c388dd1c53b18120fda3b70ebb022b135dc9839b/httptools-0.7.1-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:f25bbaf1235e27704f1a7b86cd3304eabc04f569c828101d94a0e605ef7205a5", size = 110004, upload-time = "2025-10-10T03:54:40.403Z" }, + { url = "https://files.pythonhosted.org/packages/84/a6/b3965e1e146ef5762870bbe76117876ceba51a201e18cc31f5703e454596/httptools-0.7.1-cp312-cp312-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl", hash = "sha256:2c15f37ef679ab9ecc06bfc4e6e8628c32a8e4b305459de7cf6785acd57e4d03", size = 517655, upload-time = "2025-10-10T03:54:41.347Z" }, + { url = "https://files.pythonhosted.org/packages/11/7d/71fee6f1844e6fa378f2eddde6c3e41ce3a1fb4b2d81118dd544e3441ec0/httptools-0.7.1-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:7fe6e96090df46b36ccfaf746f03034e5ab723162bc51b0a4cf58305324036f2", size = 511440, upload-time = "2025-10-10T03:54:42.452Z" }, + { url = "https://files.pythonhosted.org/packages/22/a5/079d216712a4f3ffa24af4a0381b108aa9c45b7a5cc6eb141f81726b1823/httptools-0.7.1-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:f72fdbae2dbc6e68b8239defb48e6a5937b12218e6ffc2c7846cc37befa84362", size = 495186, upload-time = "2025-10-10T03:54:43.937Z" }, + { url = "https://files.pythonhosted.org/packages/e9/9e/025ad7b65278745dee3bd0ebf9314934c4592560878308a6121f7f812084/httptools-0.7.1-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:e99c7b90a29fd82fea9ef57943d501a16f3404d7b9ee81799d41639bdaae412c", size = 499192, upload-time = "2025-10-10T03:54:45.003Z" }, + { url = "https://files.pythonhosted.org/packages/6d/de/40a8f202b987d43afc4d54689600ff03ce65680ede2f31df348d7f368b8f/httptools-0.7.1-cp312-cp312-win_amd64.whl", hash = "sha256:3e14f530fefa7499334a79b0cf7e7cd2992870eb893526fb097d51b4f2d0f321", size = 86694, upload-time = "2025-10-10T03:54:45.923Z" }, + { url = "https://files.pythonhosted.org/packages/09/8f/c77b1fcbfd262d422f12da02feb0d218fa228d52485b77b953832105bb90/httptools-0.7.1-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:6babce6cfa2a99545c60bfef8bee0cc0545413cb0018f617c8059a30ad985de3", size = 202889, upload-time = "2025-10-10T03:54:47.089Z" }, + { url = "https://files.pythonhosted.org/packages/0a/1a/22887f53602feaa066354867bc49a68fc295c2293433177ee90870a7d517/httptools-0.7.1-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:601b7628de7504077dd3dcb3791c6b8694bbd967148a6d1f01806509254fb1ca", size = 108180, upload-time = "2025-10-10T03:54:48.052Z" }, + { url = "https://files.pythonhosted.org/packages/32/6a/6aaa91937f0010d288d3d124ca2946d48d60c3a5ee7ca62afe870e3ea011/httptools-0.7.1-cp313-cp313-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl", hash = "sha256:04c6c0e6c5fb0739c5b8a9eb046d298650a0ff38cf42537fc372b28dc7e4472c", size = 478596, upload-time = "2025-10-10T03:54:48.919Z" }, + { url = "https://files.pythonhosted.org/packages/6d/70/023d7ce117993107be88d2cbca566a7c1323ccbaf0af7eabf2064fe356f6/httptools-0.7.1-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:69d4f9705c405ae3ee83d6a12283dc9feba8cc6aaec671b412917e644ab4fa66", size = 473268, upload-time = "2025-10-10T03:54:49.993Z" }, + { url = "https://files.pythonhosted.org/packages/32/4d/9dd616c38da088e3f436e9a616e1d0cc66544b8cdac405cc4e81c8679fc7/httptools-0.7.1-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:44c8f4347d4b31269c8a9205d8a5ee2df5322b09bbbd30f8f862185bb6b05346", size = 455517, upload-time = "2025-10-10T03:54:51.066Z" }, + { url = "https://files.pythonhosted.org/packages/1d/3a/a6c595c310b7df958e739aae88724e24f9246a514d909547778d776799be/httptools-0.7.1-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:465275d76db4d554918aba40bf1cbebe324670f3dfc979eaffaa5d108e2ed650", size = 458337, upload-time = "2025-10-10T03:54:52.196Z" }, + { url = "https://files.pythonhosted.org/packages/fd/82/88e8d6d2c51edc1cc391b6e044c6c435b6aebe97b1abc33db1b0b24cd582/httptools-0.7.1-cp313-cp313-win_amd64.whl", hash = "sha256:322d00c2068d125bd570f7bf78b2d367dad02b919d8581d7476d8b75b294e3e6", size = 85743, upload-time = "2025-10-10T03:54:53.448Z" }, + { url = "https://files.pythonhosted.org/packages/34/50/9d095fcbb6de2d523e027a2f304d4551855c2f46e0b82befd718b8b20056/httptools-0.7.1-cp314-cp314-macosx_10_13_universal2.whl", hash = "sha256:c08fe65728b8d70b6923ce31e3956f859d5e1e8548e6f22ec520a962c6757270", size = 203619, upload-time = "2025-10-10T03:54:54.321Z" }, + { url = "https://files.pythonhosted.org/packages/07/f0/89720dc5139ae54b03f861b5e2c55a37dba9a5da7d51e1e824a1f343627f/httptools-0.7.1-cp314-cp314-macosx_11_0_arm64.whl", hash = "sha256:7aea2e3c3953521c3c51106ee11487a910d45586e351202474d45472db7d72d3", size = 108714, upload-time = "2025-10-10T03:54:55.163Z" }, + { url = "https://files.pythonhosted.org/packages/b3/cb/eea88506f191fb552c11787c23f9a405f4c7b0c5799bf73f2249cd4f5228/httptools-0.7.1-cp314-cp314-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl", hash = "sha256:0e68b8582f4ea9166be62926077a3334064d422cf08ab87d8b74664f8e9058e1", size = 472909, upload-time = "2025-10-10T03:54:56.056Z" }, + { url = "https://files.pythonhosted.org/packages/e0/4a/a548bdfae6369c0d078bab5769f7b66f17f1bfaa6fa28f81d6be6959066b/httptools-0.7.1-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:df091cf961a3be783d6aebae963cc9b71e00d57fa6f149025075217bc6a55a7b", size = 470831, upload-time = "2025-10-10T03:54:57.219Z" }, + { url = "https://files.pythonhosted.org/packages/4d/31/14df99e1c43bd132eec921c2e7e11cda7852f65619bc0fc5bdc2d0cb126c/httptools-0.7.1-cp314-cp314-musllinux_1_2_aarch64.whl", hash = "sha256:f084813239e1eb403ddacd06a30de3d3e09a9b76e7894dcda2b22f8a726e9c60", size = 452631, upload-time = "2025-10-10T03:54:58.219Z" }, + { url = "https://files.pythonhosted.org/packages/22/d2/b7e131f7be8d854d48cb6d048113c30f9a46dca0c9a8b08fcb3fcd588cdc/httptools-0.7.1-cp314-cp314-musllinux_1_2_x86_64.whl", hash = "sha256:7347714368fb2b335e9063bc2b96f2f87a9ceffcd9758ac295f8bbcd3ffbc0ca", size = 452910, upload-time = "2025-10-10T03:54:59.366Z" }, + { url = "https://files.pythonhosted.org/packages/53/cf/878f3b91e4e6e011eff6d1fa9ca39f7eb17d19c9d7971b04873734112f30/httptools-0.7.1-cp314-cp314-win_amd64.whl", hash = "sha256:cfabda2a5bb85aa2a904ce06d974a3f30fb36cc63d7feaddec05d2050acede96", size = 88205, upload-time = "2025-10-10T03:55:00.389Z" }, ] [[package]] @@ -953,23 +1074,23 @@ wheels = [ [[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, upload-time = "2024-09-15T18:07:39.745Z" } +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, upload-time = "2024-09-15T18:07:37.964Z" }, + { 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 = "importlib-metadata" -version = "8.7.0" +version = "8.7.1" source = { registry = "https://pypi.org/simple" } dependencies = [ { name = "zipp" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/76/66/650a33bd90f786193e4de4b3ad86ea60b53c89b669a5c7be931fac31cdb0/importlib_metadata-8.7.0.tar.gz", hash = "sha256:d13b81ad223b890aa16c5471f2ac3056cf76c5f10f82d6f9292f0b415f389000", size = 56641, upload-time = "2025-04-27T15:29:01.736Z" } +sdist = { url = "https://files.pythonhosted.org/packages/f3/49/3b30cad09e7771a4982d9975a8cbf64f00d4a1ececb53297f1d9a7be1b10/importlib_metadata-8.7.1.tar.gz", hash = "sha256:49fef1ae6440c182052f407c8d34a68f72efc36db9ca90dc0113398f2fdde8bb", size = 57107, upload-time = "2025-12-21T10:00:19.278Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/20/b0/36bd937216ec521246249be3bf9855081de4c5e06a0c9b4219dbeda50373/importlib_metadata-8.7.0-py3-none-any.whl", hash = "sha256:e5dd1551894c77868a30651cef00984d50e1002d06942a7101d34870c5f02afd", size = 27656, upload-time = "2025-04-27T15:29:00.214Z" }, + { url = "https://files.pythonhosted.org/packages/fa/5e/f8e9a1d23b9c20a551a8a02ea3637b4642e22c2626e3a13a9a29cdea99eb/importlib_metadata-8.7.1-py3-none-any.whl", hash = "sha256:5a1f80bf1daa489495071efbb095d75a634cf28a8bc299581244063b53176151", size = 27865, upload-time = "2025-12-21T10:00:18.329Z" }, ] [[package]] @@ -996,14 +1117,11 @@ wheels = [ [[package]] name = "isodate" -version = "0.6.1" +version = "0.7.2" source = { registry = "https://pypi.org/simple" } -dependencies = [ - { name = "six" }, -] -sdist = { url = "https://files.pythonhosted.org/packages/db/7a/c0a56c7d56c7fa723988f122fa1f1ccf8c5c4ccc48efad0d214b49e5b1af/isodate-0.6.1.tar.gz", hash = "sha256:48c5881de7e8b0a0d648cb024c8062dc84e7b840ed81e864c7614fd3c127bde9", size = 28443, upload-time = "2021-12-13T20:28:31.525Z" } +sdist = { url = "https://files.pythonhosted.org/packages/54/4d/e940025e2ce31a8ce1202635910747e5a87cc3a6a6bb2d00973375014749/isodate-0.7.2.tar.gz", hash = "sha256:4cd1aa0f43ca76f4a6c6c0292a85f40b35ec2e43e315b59f06e6d32171a953e6", size = 29705, upload-time = "2024-10-08T23:04:11.5Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/b6/85/7882d311924cbcfc70b1890780763e36ff0b140c7e51c110fc59a532f087/isodate-0.6.1-py2.py3-none-any.whl", hash = "sha256:0751eece944162659049d35f4f549ed815792b38793f07cf73381c1c87cbed96", size = 41722, upload-time = "2021-12-13T20:28:29.073Z" }, + { url = "https://files.pythonhosted.org/packages/15/aa/0aca39a37d3c7eb941ba736ede56d689e7be91cab5d9ca846bde3999eba6/isodate-0.7.2-py3-none-any.whl", hash = "sha256:28009937d8031054830160fce6d409ed342816b543597cece116d966c6d99e15", size = 22320, upload-time = "2024-10-08T23:04:09.501Z" }, ] [[package]] @@ -1029,7 +1147,7 @@ wheels = [ [[package]] name = "jsonschema" -version = "4.25.0" +version = "4.25.1" source = { registry = "https://pypi.org/simple" } dependencies = [ { name = "attrs" }, @@ -1037,30 +1155,30 @@ dependencies = [ { name = "referencing" }, { name = "rpds-py" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/d5/00/a297a868e9d0784450faa7365c2172a7d6110c763e30ba861867c32ae6a9/jsonschema-4.25.0.tar.gz", hash = "sha256:e63acf5c11762c0e6672ffb61482bdf57f0876684d8d249c0fe2d730d48bc55f", size = 356830, upload-time = "2025-07-18T15:39:45.11Z" } +sdist = { url = "https://files.pythonhosted.org/packages/74/69/f7185de793a29082a9f3c7728268ffb31cb5095131a9c139a74078e27336/jsonschema-4.25.1.tar.gz", hash = "sha256:e4a9655ce0da0c0b67a085847e00a3a51449e1157f4f75e9fb5aa545e122eb85", size = 357342, upload-time = "2025-08-18T17:03:50.038Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/fe/54/c86cd8e011fe98803d7e382fd67c0df5ceab8d2b7ad8c5a81524f791551c/jsonschema-4.25.0-py3-none-any.whl", hash = "sha256:24c2e8da302de79c8b9382fee3e76b355e44d2a4364bb207159ce10b517bd716", size = 89184, upload-time = "2025-07-18T15:39:42.956Z" }, + { url = "https://files.pythonhosted.org/packages/bf/9c/8c95d856233c1f82500c2450b8c68576b4cf1c871db3afac5c34ff84e6fd/jsonschema-4.25.1-py3-none-any.whl", hash = "sha256:3fba0169e345c7175110351d456342c364814cfcf3b964ba4587f22915230a63", size = 90040, upload-time = "2025-08-18T17:03:48.373Z" }, ] [[package]] name = "jsonschema-specifications" -version = "2025.4.1" +version = "2025.9.1" source = { registry = "https://pypi.org/simple" } dependencies = [ { name = "referencing" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/bf/ce/46fbd9c8119cfc3581ee5643ea49464d168028cfb5caff5fc0596d0cf914/jsonschema_specifications-2025.4.1.tar.gz", hash = "sha256:630159c9f4dbea161a6a2205c3011cc4f18ff381b189fff48bb39b9bf26ae608", size = 15513, upload-time = "2025-04-23T12:34:07.418Z" } +sdist = { url = "https://files.pythonhosted.org/packages/19/74/a633ee74eb36c44aa6d1095e7cc5569bebf04342ee146178e2d36600708b/jsonschema_specifications-2025.9.1.tar.gz", hash = "sha256:b540987f239e745613c7a9176f3edb72b832a4ac465cf02712288397832b5e8d", size = 32855, upload-time = "2025-09-08T01:34:59.186Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/01/0e/b27cdbaccf30b890c40ed1da9fd4a3593a5cf94dae54fb34f8a4b74fcd3f/jsonschema_specifications-2025.4.1-py3-none-any.whl", hash = "sha256:4653bffbd6584f7de83a67e0d620ef16900b390ddc7939d56684d6c81e33f1af", size = 18437, upload-time = "2025-04-23T12:34:05.422Z" }, + { url = "https://files.pythonhosted.org/packages/41/45/1a4ed80516f02155c51f51e8cedb3c1902296743db0bbc66608a0db2814f/jsonschema_specifications-2025.9.1-py3-none-any.whl", hash = "sha256:98802fee3a11ee76ecaca44429fda8a41bff98b00a0f2838151b113f210cc6fe", size = 18437, upload-time = "2025-09-08T01:34:57.871Z" }, ] [[package]] name = "leather" -version = "0.4.0" +version = "0.4.1" source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/ed/6e/48a05e2f7f62a616d675cfee182643f2dd8023bf7429aa326f4bebd629c8/leather-0.4.0.tar.gz", hash = "sha256:f964bec2086f3153a6c16e707f20cb718f811f57af116075f4c0f4805c608b95", size = 43877, upload-time = "2024-02-23T22:03:36.657Z" } +sdist = { url = "https://files.pythonhosted.org/packages/9e/09/849cf129d7eae1e42f873f2dbd60323267c738390b686a7384fb3fb289ad/leather-0.4.1.tar.gz", hash = "sha256:67119c2aee93be821f077193bd8534e296c05b38bd174d9c5a80c4aa31d1a4d3", size = 44072, upload-time = "2025-12-15T19:01:42.224Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/a1/30/9ec597c962c5249ebd5c580386e4b5f2884cd943af42634291ee3b406415/leather-0.4.0-py2.py3-none-any.whl", hash = "sha256:18290bc93749ae39039af5e31e871fcfad74d26c4c3ea28ea4f681f4571b3a2b", size = 30256, upload-time = "2024-02-23T22:03:34.75Z" }, + { url = "https://files.pythonhosted.org/packages/1a/d4/c4dcb02ed11f8884e169b3350fc40aa4c08edf8bed77a8f0f267542e6452/leather-0.4.1-py3-none-any.whl", hash = "sha256:ec61cba1ca3ccb96ed90e38b116fc58757d97d352171006b3288c47ce3fbd183", size = 30340, upload-time = "2025-12-15T19:01:40.823Z" }, ] [[package]] @@ -1077,61 +1195,86 @@ wheels = [ [[package]] name = "markdown" -version = "3.8.2" +version = "3.10" source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/d7/c2/4ab49206c17f75cb08d6311171f2d65798988db4360c4d1485bd0eedd67c/markdown-3.8.2.tar.gz", hash = "sha256:247b9a70dd12e27f67431ce62523e675b866d254f900c4fe75ce3dda62237c45", size = 362071, upload-time = "2025-06-19T17:12:44.483Z" } +sdist = { url = "https://files.pythonhosted.org/packages/7d/ab/7dd27d9d863b3376fcf23a5a13cb5d024aed1db46f963f1b5735ae43b3be/markdown-3.10.tar.gz", hash = "sha256:37062d4f2aa4b2b6b32aefb80faa300f82cc790cb949a35b8caede34f2b68c0e", size = 364931, upload-time = "2025-11-03T19:51:15.007Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/96/2b/34cc11786bc00d0f04d0f5fdc3a2b1ae0b6239eef72d3d345805f9ad92a1/markdown-3.8.2-py3-none-any.whl", hash = "sha256:5c83764dbd4e00bdd94d85a19b8d55ccca20fe35b2e678a1422b380324dd5f24", size = 106827, upload-time = "2025-06-19T17:12:42.994Z" }, + { url = "https://files.pythonhosted.org/packages/70/81/54e3ce63502cd085a0c556652a4e1b919c45a446bd1e5300e10c44c8c521/markdown-3.10-py3-none-any.whl", hash = "sha256:b5b99d6951e2e4948d939255596523444c0e677c669700b1d17aa4a8a464cb7c", size = 107678, upload-time = "2025-11-03T19:51:13.887Z" }, ] [[package]] name = "markdown-it-py" -version = "3.0.0" +version = "4.0.0" source = { registry = "https://pypi.org/simple" } dependencies = [ { name = "mdurl" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/38/71/3b932df36c1a044d397a1f92d1cf91ee0a503d91e470cbd670aa66b07ed0/markdown-it-py-3.0.0.tar.gz", hash = "sha256:e3f60a94fa066dc52ec76661e37c851cb232d92f9886b15cb560aaada2df8feb", size = 74596, upload-time = "2023-06-03T06:41:14.443Z" } +sdist = { url = "https://files.pythonhosted.org/packages/5b/f5/4ec618ed16cc4f8fb3b701563655a69816155e79e24a17b651541804721d/markdown_it_py-4.0.0.tar.gz", hash = "sha256:cb0a2b4aa34f932c007117b194e945bd74e0ec24133ceb5bac59009cda1cb9f3", size = 73070, upload-time = "2025-08-11T12:57:52.854Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/42/d7/1ec15b46af6af88f19b8e5ffea08fa375d433c998b8a7639e76935c14f1f/markdown_it_py-3.0.0-py3-none-any.whl", hash = "sha256:355216845c60bd96232cd8d8c40e8f9765cc86f46880e43a8fd22dc1a1a8cab1", size = 87528, upload-time = "2023-06-03T06:41:11.019Z" }, + { url = "https://files.pythonhosted.org/packages/94/54/e7d793b573f298e1c9013b8c4dade17d481164aa517d1d7148619c2cedbf/markdown_it_py-4.0.0-py3-none-any.whl", hash = "sha256:87327c59b172c5011896038353a81343b6754500a08cd7a4973bb48c6d578147", size = 87321, upload-time = "2025-08-11T12:57:51.923Z" }, ] [[package]] name = "markupsafe" -version = "3.0.2" -source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/b2/97/5d42485e71dfc078108a86d6de8fa46db44a1a9295e89c5d6d4a06e23a62/markupsafe-3.0.2.tar.gz", hash = "sha256:ee55d3edf80167e48ea11a923c7386f4669df67d7994554387f84e7d8b0a2bf0", size = 20537, upload-time = "2024-10-18T15:21:54.129Z" } -wheels = [ - { url = "https://files.pythonhosted.org/packages/22/09/d1f21434c97fc42f09d290cbb6350d44eb12f09cc62c9476effdb33a18aa/MarkupSafe-3.0.2-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:9778bd8ab0a994ebf6f84c2b949e65736d5575320a17ae8984a77fab08db94cf", size = 14274, upload-time = "2024-10-18T15:21:13.777Z" }, - { url = "https://files.pythonhosted.org/packages/6b/b0/18f76bba336fa5aecf79d45dcd6c806c280ec44538b3c13671d49099fdd0/MarkupSafe-3.0.2-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:846ade7b71e3536c4e56b386c2a47adf5741d2d8b94ec9dc3e92e5e1ee1e2225", size = 12348, upload-time = "2024-10-18T15:21:14.822Z" }, - { url = "https://files.pythonhosted.org/packages/e0/25/dd5c0f6ac1311e9b40f4af06c78efde0f3b5cbf02502f8ef9501294c425b/MarkupSafe-3.0.2-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:1c99d261bd2d5f6b59325c92c73df481e05e57f19837bdca8413b9eac4bd8028", size = 24149, upload-time = "2024-10-18T15:21:15.642Z" }, - { url = "https://files.pythonhosted.org/packages/f3/f0/89e7aadfb3749d0f52234a0c8c7867877876e0a20b60e2188e9850794c17/MarkupSafe-3.0.2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:e17c96c14e19278594aa4841ec148115f9c7615a47382ecb6b82bd8fea3ab0c8", size = 23118, upload-time = "2024-10-18T15:21:17.133Z" }, - { url = "https://files.pythonhosted.org/packages/d5/da/f2eeb64c723f5e3777bc081da884b414671982008c47dcc1873d81f625b6/MarkupSafe-3.0.2-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:88416bd1e65dcea10bc7569faacb2c20ce071dd1f87539ca2ab364bf6231393c", size = 22993, upload-time = "2024-10-18T15:21:18.064Z" }, - { url = "https://files.pythonhosted.org/packages/da/0e/1f32af846df486dce7c227fe0f2398dc7e2e51d4a370508281f3c1c5cddc/MarkupSafe-3.0.2-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:2181e67807fc2fa785d0592dc2d6206c019b9502410671cc905d132a92866557", size = 24178, upload-time = "2024-10-18T15:21:18.859Z" }, - { url = "https://files.pythonhosted.org/packages/c4/f6/bb3ca0532de8086cbff5f06d137064c8410d10779c4c127e0e47d17c0b71/MarkupSafe-3.0.2-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:52305740fe773d09cffb16f8ed0427942901f00adedac82ec8b67752f58a1b22", size = 23319, upload-time = "2024-10-18T15:21:19.671Z" }, - { url = "https://files.pythonhosted.org/packages/a2/82/8be4c96ffee03c5b4a034e60a31294daf481e12c7c43ab8e34a1453ee48b/MarkupSafe-3.0.2-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:ad10d3ded218f1039f11a75f8091880239651b52e9bb592ca27de44eed242a48", size = 23352, upload-time = "2024-10-18T15:21:20.971Z" }, - { url = "https://files.pythonhosted.org/packages/51/ae/97827349d3fcffee7e184bdf7f41cd6b88d9919c80f0263ba7acd1bbcb18/MarkupSafe-3.0.2-cp312-cp312-win32.whl", hash = "sha256:0f4ca02bea9a23221c0182836703cbf8930c5e9454bacce27e767509fa286a30", size = 15097, upload-time = "2024-10-18T15:21:22.646Z" }, - { url = "https://files.pythonhosted.org/packages/c1/80/a61f99dc3a936413c3ee4e1eecac96c0da5ed07ad56fd975f1a9da5bc630/MarkupSafe-3.0.2-cp312-cp312-win_amd64.whl", hash = "sha256:8e06879fc22a25ca47312fbe7c8264eb0b662f6db27cb2d3bbbc74b1df4b9b87", size = 15601, upload-time = "2024-10-18T15:21:23.499Z" }, - { url = "https://files.pythonhosted.org/packages/83/0e/67eb10a7ecc77a0c2bbe2b0235765b98d164d81600746914bebada795e97/MarkupSafe-3.0.2-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:ba9527cdd4c926ed0760bc301f6728ef34d841f405abf9d4f959c478421e4efd", size = 14274, upload-time = "2024-10-18T15:21:24.577Z" }, - { url = "https://files.pythonhosted.org/packages/2b/6d/9409f3684d3335375d04e5f05744dfe7e9f120062c9857df4ab490a1031a/MarkupSafe-3.0.2-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:f8b3d067f2e40fe93e1ccdd6b2e1d16c43140e76f02fb1319a05cf2b79d99430", size = 12352, upload-time = "2024-10-18T15:21:25.382Z" }, - { url = "https://files.pythonhosted.org/packages/d2/f5/6eadfcd3885ea85fe2a7c128315cc1bb7241e1987443d78c8fe712d03091/MarkupSafe-3.0.2-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:569511d3b58c8791ab4c2e1285575265991e6d8f8700c7be0e88f86cb0672094", size = 24122, upload-time = "2024-10-18T15:21:26.199Z" }, - { url = "https://files.pythonhosted.org/packages/0c/91/96cf928db8236f1bfab6ce15ad070dfdd02ed88261c2afafd4b43575e9e9/MarkupSafe-3.0.2-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:15ab75ef81add55874e7ab7055e9c397312385bd9ced94920f2802310c930396", size = 23085, upload-time = "2024-10-18T15:21:27.029Z" }, - { url = "https://files.pythonhosted.org/packages/c2/cf/c9d56af24d56ea04daae7ac0940232d31d5a8354f2b457c6d856b2057d69/MarkupSafe-3.0.2-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:f3818cb119498c0678015754eba762e0d61e5b52d34c8b13d770f0719f7b1d79", size = 22978, upload-time = "2024-10-18T15:21:27.846Z" }, - { url = "https://files.pythonhosted.org/packages/2a/9f/8619835cd6a711d6272d62abb78c033bda638fdc54c4e7f4272cf1c0962b/MarkupSafe-3.0.2-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:cdb82a876c47801bb54a690c5ae105a46b392ac6099881cdfb9f6e95e4014c6a", size = 24208, upload-time = "2024-10-18T15:21:28.744Z" }, - { url = "https://files.pythonhosted.org/packages/f9/bf/176950a1792b2cd2102b8ffeb5133e1ed984547b75db47c25a67d3359f77/MarkupSafe-3.0.2-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:cabc348d87e913db6ab4aa100f01b08f481097838bdddf7c7a84b7575b7309ca", size = 23357, upload-time = "2024-10-18T15:21:29.545Z" }, - { url = "https://files.pythonhosted.org/packages/ce/4f/9a02c1d335caabe5c4efb90e1b6e8ee944aa245c1aaaab8e8a618987d816/MarkupSafe-3.0.2-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:444dcda765c8a838eaae23112db52f1efaf750daddb2d9ca300bcae1039adc5c", size = 23344, upload-time = "2024-10-18T15:21:30.366Z" }, - { url = "https://files.pythonhosted.org/packages/ee/55/c271b57db36f748f0e04a759ace9f8f759ccf22b4960c270c78a394f58be/MarkupSafe-3.0.2-cp313-cp313-win32.whl", hash = "sha256:bcf3e58998965654fdaff38e58584d8937aa3096ab5354d493c77d1fdd66d7a1", size = 15101, upload-time = "2024-10-18T15:21:31.207Z" }, - { url = "https://files.pythonhosted.org/packages/29/88/07df22d2dd4df40aba9f3e402e6dc1b8ee86297dddbad4872bd5e7b0094f/MarkupSafe-3.0.2-cp313-cp313-win_amd64.whl", hash = "sha256:e6a2a455bd412959b57a172ce6328d2dd1f01cb2135efda2e4576e8a23fa3b0f", size = 15603, upload-time = "2024-10-18T15:21:32.032Z" }, - { url = "https://files.pythonhosted.org/packages/62/6a/8b89d24db2d32d433dffcd6a8779159da109842434f1dd2f6e71f32f738c/MarkupSafe-3.0.2-cp313-cp313t-macosx_10_13_universal2.whl", hash = "sha256:b5a6b3ada725cea8a5e634536b1b01c30bcdcd7f9c6fff4151548d5bf6b3a36c", size = 14510, upload-time = "2024-10-18T15:21:33.625Z" }, - { url = "https://files.pythonhosted.org/packages/7a/06/a10f955f70a2e5a9bf78d11a161029d278eeacbd35ef806c3fd17b13060d/MarkupSafe-3.0.2-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:a904af0a6162c73e3edcb969eeeb53a63ceeb5d8cf642fade7d39e7963a22ddb", size = 12486, upload-time = "2024-10-18T15:21:34.611Z" }, - { url = "https://files.pythonhosted.org/packages/34/cf/65d4a571869a1a9078198ca28f39fba5fbb910f952f9dbc5220afff9f5e6/MarkupSafe-3.0.2-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:4aa4e5faecf353ed117801a068ebab7b7e09ffb6e1d5e412dc852e0da018126c", size = 25480, upload-time = "2024-10-18T15:21:35.398Z" }, - { url = "https://files.pythonhosted.org/packages/0c/e3/90e9651924c430b885468b56b3d597cabf6d72be4b24a0acd1fa0e12af67/MarkupSafe-3.0.2-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:c0ef13eaeee5b615fb07c9a7dadb38eac06a0608b41570d8ade51c56539e509d", size = 23914, upload-time = "2024-10-18T15:21:36.231Z" }, - { url = "https://files.pythonhosted.org/packages/66/8c/6c7cf61f95d63bb866db39085150df1f2a5bd3335298f14a66b48e92659c/MarkupSafe-3.0.2-cp313-cp313t-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:d16a81a06776313e817c951135cf7340a3e91e8c1ff2fac444cfd75fffa04afe", size = 23796, upload-time = "2024-10-18T15:21:37.073Z" }, - { url = "https://files.pythonhosted.org/packages/bb/35/cbe9238ec3f47ac9a7c8b3df7a808e7cb50fe149dc7039f5f454b3fba218/MarkupSafe-3.0.2-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:6381026f158fdb7c72a168278597a5e3a5222e83ea18f543112b2662a9b699c5", size = 25473, upload-time = "2024-10-18T15:21:37.932Z" }, - { url = "https://files.pythonhosted.org/packages/e6/32/7621a4382488aa283cc05e8984a9c219abad3bca087be9ec77e89939ded9/MarkupSafe-3.0.2-cp313-cp313t-musllinux_1_2_i686.whl", hash = "sha256:3d79d162e7be8f996986c064d1c7c817f6df3a77fe3d6859f6f9e7be4b8c213a", size = 24114, upload-time = "2024-10-18T15:21:39.799Z" }, - { url = "https://files.pythonhosted.org/packages/0d/80/0985960e4b89922cb5a0bac0ed39c5b96cbc1a536a99f30e8c220a996ed9/MarkupSafe-3.0.2-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:131a3c7689c85f5ad20f9f6fb1b866f402c445b220c19fe4308c0b147ccd2ad9", size = 24098, upload-time = "2024-10-18T15:21:40.813Z" }, - { url = "https://files.pythonhosted.org/packages/82/78/fedb03c7d5380df2427038ec8d973587e90561b2d90cd472ce9254cf348b/MarkupSafe-3.0.2-cp313-cp313t-win32.whl", hash = "sha256:ba8062ed2cf21c07a9e295d5b8a2a5ce678b913b45fdf68c32d95d6c1291e0b6", size = 15208, upload-time = "2024-10-18T15:21:41.814Z" }, - { url = "https://files.pythonhosted.org/packages/4f/65/6079a46068dfceaeabb5dcad6d674f5f5c61a6fa5673746f42a9f4c233b3/MarkupSafe-3.0.2-cp313-cp313t-win_amd64.whl", hash = "sha256:e444a31f8db13eb18ada366ab3cf45fd4b31e4db1236a4448f68778c1d1a5a2f", size = 15739, upload-time = "2024-10-18T15:21:42.784Z" }, +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/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/38/2f/907b9c7bbba283e68f20259574b13d005c121a0fa4c175f9bed27c4597ff/markupsafe-3.0.3-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:e1cf1972137e83c5d4c136c43ced9ac51d0e124706ee1c8aa8532c1287fa8795", size = 11622, upload-time = "2025-09-27T18:36:41.777Z" }, + { url = "https://files.pythonhosted.org/packages/9c/d9/5f7756922cdd676869eca1c4e3c0cd0df60ed30199ffd775e319089cb3ed/markupsafe-3.0.3-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:116bb52f642a37c115f517494ea5feb03889e04df47eeff5b130b1808ce7c219", size = 12029, upload-time = "2025-09-27T18:36:43.257Z" }, + { url = "https://files.pythonhosted.org/packages/00/07/575a68c754943058c78f30db02ee03a64b3c638586fba6a6dd56830b30a3/markupsafe-3.0.3-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:133a43e73a802c5562be9bbcd03d090aa5a1fe899db609c29e8c8d815c5f6de6", size = 24374, upload-time = "2025-09-27T18:36:44.508Z" }, + { url = "https://files.pythonhosted.org/packages/a9/21/9b05698b46f218fc0e118e1f8168395c65c8a2c750ae2bab54fc4bd4e0e8/markupsafe-3.0.3-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:ccfcd093f13f0f0b7fdd0f198b90053bf7b2f02a3927a30e63f3ccc9df56b676", size = 22980, upload-time = "2025-09-27T18:36:45.385Z" }, + { url = "https://files.pythonhosted.org/packages/7f/71/544260864f893f18b6827315b988c146b559391e6e7e8f7252839b1b846a/markupsafe-3.0.3-cp313-cp313-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:509fa21c6deb7a7a273d629cf5ec029bc209d1a51178615ddf718f5918992ab9", size = 21990, upload-time = "2025-09-27T18:36:46.916Z" }, + { url = "https://files.pythonhosted.org/packages/c2/28/b50fc2f74d1ad761af2f5dcce7492648b983d00a65b8c0e0cb457c82ebbe/markupsafe-3.0.3-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:a4afe79fb3de0b7097d81da19090f4df4f8d3a2b3adaa8764138aac2e44f3af1", size = 23784, upload-time = "2025-09-27T18:36:47.884Z" }, + { url = "https://files.pythonhosted.org/packages/ed/76/104b2aa106a208da8b17a2fb72e033a5a9d7073c68f7e508b94916ed47a9/markupsafe-3.0.3-cp313-cp313-musllinux_1_2_riscv64.whl", hash = "sha256:795e7751525cae078558e679d646ae45574b47ed6e7771863fcc079a6171a0fc", size = 21588, upload-time = "2025-09-27T18:36:48.82Z" }, + { url = "https://files.pythonhosted.org/packages/b5/99/16a5eb2d140087ebd97180d95249b00a03aa87e29cc224056274f2e45fd6/markupsafe-3.0.3-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:8485f406a96febb5140bfeca44a73e3ce5116b2501ac54fe953e488fb1d03b12", size = 23041, upload-time = "2025-09-27T18:36:49.797Z" }, + { url = "https://files.pythonhosted.org/packages/19/bc/e7140ed90c5d61d77cea142eed9f9c303f4c4806f60a1044c13e3f1471d0/markupsafe-3.0.3-cp313-cp313-win32.whl", hash = "sha256:bdd37121970bfd8be76c5fb069c7751683bdf373db1ed6c010162b2a130248ed", size = 14543, upload-time = "2025-09-27T18:36:51.584Z" }, + { url = "https://files.pythonhosted.org/packages/05/73/c4abe620b841b6b791f2edc248f556900667a5a1cf023a6646967ae98335/markupsafe-3.0.3-cp313-cp313-win_amd64.whl", hash = "sha256:9a1abfdc021a164803f4d485104931fb8f8c1efd55bc6b748d2f5774e78b62c5", size = 15113, upload-time = "2025-09-27T18:36:52.537Z" }, + { url = "https://files.pythonhosted.org/packages/f0/3a/fa34a0f7cfef23cf9500d68cb7c32dd64ffd58a12b09225fb03dd37d5b80/markupsafe-3.0.3-cp313-cp313-win_arm64.whl", hash = "sha256:7e68f88e5b8799aa49c85cd116c932a1ac15caaa3f5db09087854d218359e485", size = 13911, upload-time = "2025-09-27T18:36:53.513Z" }, + { url = "https://files.pythonhosted.org/packages/e4/d7/e05cd7efe43a88a17a37b3ae96e79a19e846f3f456fe79c57ca61356ef01/markupsafe-3.0.3-cp313-cp313t-macosx_10_13_x86_64.whl", hash = "sha256:218551f6df4868a8d527e3062d0fb968682fe92054e89978594c28e642c43a73", size = 11658, upload-time = "2025-09-27T18:36:54.819Z" }, + { url = "https://files.pythonhosted.org/packages/99/9e/e412117548182ce2148bdeacdda3bb494260c0b0184360fe0d56389b523b/markupsafe-3.0.3-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:3524b778fe5cfb3452a09d31e7b5adefeea8c5be1d43c4f810ba09f2ceb29d37", size = 12066, upload-time = "2025-09-27T18:36:55.714Z" }, + { url = "https://files.pythonhosted.org/packages/bc/e6/fa0ffcda717ef64a5108eaa7b4f5ed28d56122c9a6d70ab8b72f9f715c80/markupsafe-3.0.3-cp313-cp313t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:4e885a3d1efa2eadc93c894a21770e4bc67899e3543680313b09f139e149ab19", size = 25639, upload-time = "2025-09-27T18:36:56.908Z" }, + { url = "https://files.pythonhosted.org/packages/96/ec/2102e881fe9d25fc16cb4b25d5f5cde50970967ffa5dddafdb771237062d/markupsafe-3.0.3-cp313-cp313t-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:8709b08f4a89aa7586de0aadc8da56180242ee0ada3999749b183aa23df95025", size = 23569, upload-time = "2025-09-27T18:36:57.913Z" }, + { url = "https://files.pythonhosted.org/packages/4b/30/6f2fce1f1f205fc9323255b216ca8a235b15860c34b6798f810f05828e32/markupsafe-3.0.3-cp313-cp313t-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:b8512a91625c9b3da6f127803b166b629725e68af71f8184ae7e7d54686a56d6", size = 23284, upload-time = "2025-09-27T18:36:58.833Z" }, + { url = "https://files.pythonhosted.org/packages/58/47/4a0ccea4ab9f5dcb6f79c0236d954acb382202721e704223a8aafa38b5c8/markupsafe-3.0.3-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:9b79b7a16f7fedff2495d684f2b59b0457c3b493778c9eed31111be64d58279f", size = 24801, upload-time = "2025-09-27T18:36:59.739Z" }, + { url = "https://files.pythonhosted.org/packages/6a/70/3780e9b72180b6fecb83a4814d84c3bf4b4ae4bf0b19c27196104149734c/markupsafe-3.0.3-cp313-cp313t-musllinux_1_2_riscv64.whl", hash = "sha256:12c63dfb4a98206f045aa9563db46507995f7ef6d83b2f68eda65c307c6829eb", size = 22769, upload-time = "2025-09-27T18:37:00.719Z" }, + { url = "https://files.pythonhosted.org/packages/98/c5/c03c7f4125180fc215220c035beac6b9cb684bc7a067c84fc69414d315f5/markupsafe-3.0.3-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:8f71bc33915be5186016f675cd83a1e08523649b0e33efdb898db577ef5bb009", size = 23642, upload-time = "2025-09-27T18:37:01.673Z" }, + { url = "https://files.pythonhosted.org/packages/80/d6/2d1b89f6ca4bff1036499b1e29a1d02d282259f3681540e16563f27ebc23/markupsafe-3.0.3-cp313-cp313t-win32.whl", hash = "sha256:69c0b73548bc525c8cb9a251cddf1931d1db4d2258e9599c28c07ef3580ef354", size = 14612, upload-time = "2025-09-27T18:37:02.639Z" }, + { url = "https://files.pythonhosted.org/packages/2b/98/e48a4bfba0a0ffcf9925fe2d69240bfaa19c6f7507b8cd09c70684a53c1e/markupsafe-3.0.3-cp313-cp313t-win_amd64.whl", hash = "sha256:1b4b79e8ebf6b55351f0d91fe80f893b4743f104bff22e90697db1590e47a218", size = 15200, upload-time = "2025-09-27T18:37:03.582Z" }, + { url = "https://files.pythonhosted.org/packages/0e/72/e3cc540f351f316e9ed0f092757459afbc595824ca724cbc5a5d4263713f/markupsafe-3.0.3-cp313-cp313t-win_arm64.whl", hash = "sha256:ad2cf8aa28b8c020ab2fc8287b0f823d0a7d8630784c31e9ee5edea20f406287", size = 13973, upload-time = "2025-09-27T18:37:04.929Z" }, + { url = "https://files.pythonhosted.org/packages/33/8a/8e42d4838cd89b7dde187011e97fe6c3af66d8c044997d2183fbd6d31352/markupsafe-3.0.3-cp314-cp314-macosx_10_13_x86_64.whl", hash = "sha256:eaa9599de571d72e2daf60164784109f19978b327a3910d3e9de8c97b5b70cfe", size = 11619, upload-time = "2025-09-27T18:37:06.342Z" }, + { url = "https://files.pythonhosted.org/packages/b5/64/7660f8a4a8e53c924d0fa05dc3a55c9cee10bbd82b11c5afb27d44b096ce/markupsafe-3.0.3-cp314-cp314-macosx_11_0_arm64.whl", hash = "sha256:c47a551199eb8eb2121d4f0f15ae0f923d31350ab9280078d1e5f12b249e0026", size = 12029, upload-time = "2025-09-27T18:37:07.213Z" }, + { url = "https://files.pythonhosted.org/packages/da/ef/e648bfd021127bef5fa12e1720ffed0c6cbb8310c8d9bea7266337ff06de/markupsafe-3.0.3-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:f34c41761022dd093b4b6896d4810782ffbabe30f2d443ff5f083e0cbbb8c737", size = 24408, upload-time = "2025-09-27T18:37:09.572Z" }, + { url = "https://files.pythonhosted.org/packages/41/3c/a36c2450754618e62008bf7435ccb0f88053e07592e6028a34776213d877/markupsafe-3.0.3-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:457a69a9577064c05a97c41f4e65148652db078a3a509039e64d3467b9e7ef97", size = 23005, upload-time = "2025-09-27T18:37:10.58Z" }, + { url = "https://files.pythonhosted.org/packages/bc/20/b7fdf89a8456b099837cd1dc21974632a02a999ec9bf7ca3e490aacd98e7/markupsafe-3.0.3-cp314-cp314-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:e8afc3f2ccfa24215f8cb28dcf43f0113ac3c37c2f0f0806d8c70e4228c5cf4d", size = 22048, upload-time = "2025-09-27T18:37:11.547Z" }, + { url = "https://files.pythonhosted.org/packages/9a/a7/591f592afdc734f47db08a75793a55d7fbcc6902a723ae4cfbab61010cc5/markupsafe-3.0.3-cp314-cp314-musllinux_1_2_aarch64.whl", hash = "sha256:ec15a59cf5af7be74194f7ab02d0f59a62bdcf1a537677ce67a2537c9b87fcda", size = 23821, upload-time = "2025-09-27T18:37:12.48Z" }, + { url = "https://files.pythonhosted.org/packages/7d/33/45b24e4f44195b26521bc6f1a82197118f74df348556594bd2262bda1038/markupsafe-3.0.3-cp314-cp314-musllinux_1_2_riscv64.whl", hash = "sha256:0eb9ff8191e8498cca014656ae6b8d61f39da5f95b488805da4bb029cccbfbaf", size = 21606, upload-time = "2025-09-27T18:37:13.485Z" }, + { url = "https://files.pythonhosted.org/packages/ff/0e/53dfaca23a69fbfbbf17a4b64072090e70717344c52eaaaa9c5ddff1e5f0/markupsafe-3.0.3-cp314-cp314-musllinux_1_2_x86_64.whl", hash = "sha256:2713baf880df847f2bece4230d4d094280f4e67b1e813eec43b4c0e144a34ffe", size = 23043, upload-time = "2025-09-27T18:37:14.408Z" }, + { url = "https://files.pythonhosted.org/packages/46/11/f333a06fc16236d5238bfe74daccbca41459dcd8d1fa952e8fbd5dccfb70/markupsafe-3.0.3-cp314-cp314-win32.whl", hash = "sha256:729586769a26dbceff69f7a7dbbf59ab6572b99d94576a5592625d5b411576b9", size = 14747, upload-time = "2025-09-27T18:37:15.36Z" }, + { url = "https://files.pythonhosted.org/packages/28/52/182836104b33b444e400b14f797212f720cbc9ed6ba34c800639d154e821/markupsafe-3.0.3-cp314-cp314-win_amd64.whl", hash = "sha256:bdc919ead48f234740ad807933cdf545180bfbe9342c2bb451556db2ed958581", size = 15341, upload-time = "2025-09-27T18:37:16.496Z" }, + { url = "https://files.pythonhosted.org/packages/6f/18/acf23e91bd94fd7b3031558b1f013adfa21a8e407a3fdb32745538730382/markupsafe-3.0.3-cp314-cp314-win_arm64.whl", hash = "sha256:5a7d5dc5140555cf21a6fefbdbf8723f06fcd2f63ef108f2854de715e4422cb4", size = 14073, upload-time = "2025-09-27T18:37:17.476Z" }, + { url = "https://files.pythonhosted.org/packages/3c/f0/57689aa4076e1b43b15fdfa646b04653969d50cf30c32a102762be2485da/markupsafe-3.0.3-cp314-cp314t-macosx_10_13_x86_64.whl", hash = "sha256:1353ef0c1b138e1907ae78e2f6c63ff67501122006b0f9abad68fda5f4ffc6ab", size = 11661, upload-time = "2025-09-27T18:37:18.453Z" }, + { url = "https://files.pythonhosted.org/packages/89/c3/2e67a7ca217c6912985ec766c6393b636fb0c2344443ff9d91404dc4c79f/markupsafe-3.0.3-cp314-cp314t-macosx_11_0_arm64.whl", hash = "sha256:1085e7fbddd3be5f89cc898938f42c0b3c711fdcb37d75221de2666af647c175", size = 12069, upload-time = "2025-09-27T18:37:19.332Z" }, + { url = "https://files.pythonhosted.org/packages/f0/00/be561dce4e6ca66b15276e184ce4b8aec61fe83662cce2f7d72bd3249d28/markupsafe-3.0.3-cp314-cp314t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:1b52b4fb9df4eb9ae465f8d0c228a00624de2334f216f178a995ccdcf82c4634", size = 25670, upload-time = "2025-09-27T18:37:20.245Z" }, + { url = "https://files.pythonhosted.org/packages/50/09/c419f6f5a92e5fadde27efd190eca90f05e1261b10dbd8cbcb39cd8ea1dc/markupsafe-3.0.3-cp314-cp314t-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:fed51ac40f757d41b7c48425901843666a6677e3e8eb0abcff09e4ba6e664f50", size = 23598, upload-time = "2025-09-27T18:37:21.177Z" }, + { url = "https://files.pythonhosted.org/packages/22/44/a0681611106e0b2921b3033fc19bc53323e0b50bc70cffdd19f7d679bb66/markupsafe-3.0.3-cp314-cp314t-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:f190daf01f13c72eac4efd5c430a8de82489d9cff23c364c3ea822545032993e", size = 23261, upload-time = "2025-09-27T18:37:22.167Z" }, + { url = "https://files.pythonhosted.org/packages/5f/57/1b0b3f100259dc9fffe780cfb60d4be71375510e435efec3d116b6436d43/markupsafe-3.0.3-cp314-cp314t-musllinux_1_2_aarch64.whl", hash = "sha256:e56b7d45a839a697b5eb268c82a71bd8c7f6c94d6fd50c3d577fa39a9f1409f5", size = 24835, upload-time = "2025-09-27T18:37:23.296Z" }, + { url = "https://files.pythonhosted.org/packages/26/6a/4bf6d0c97c4920f1597cc14dd720705eca0bf7c787aebc6bb4d1bead5388/markupsafe-3.0.3-cp314-cp314t-musllinux_1_2_riscv64.whl", hash = "sha256:f3e98bb3798ead92273dc0e5fd0f31ade220f59a266ffd8a4f6065e0a3ce0523", size = 22733, upload-time = "2025-09-27T18:37:24.237Z" }, + { url = "https://files.pythonhosted.org/packages/14/c7/ca723101509b518797fedc2fdf79ba57f886b4aca8a7d31857ba3ee8281f/markupsafe-3.0.3-cp314-cp314t-musllinux_1_2_x86_64.whl", hash = "sha256:5678211cb9333a6468fb8d8be0305520aa073f50d17f089b5b4b477ea6e67fdc", size = 23672, upload-time = "2025-09-27T18:37:25.271Z" }, + { url = "https://files.pythonhosted.org/packages/fb/df/5bd7a48c256faecd1d36edc13133e51397e41b73bb77e1a69deab746ebac/markupsafe-3.0.3-cp314-cp314t-win32.whl", hash = "sha256:915c04ba3851909ce68ccc2b8e2cd691618c4dc4c4232fb7982bca3f41fd8c3d", size = 14819, upload-time = "2025-09-27T18:37:26.285Z" }, + { url = "https://files.pythonhosted.org/packages/1a/8a/0402ba61a2f16038b48b39bccca271134be00c5c9f0f623208399333c448/markupsafe-3.0.3-cp314-cp314t-win_amd64.whl", hash = "sha256:4faffd047e07c38848ce017e8725090413cd80cbc23d86e55c587bf979e579c9", size = 15426, upload-time = "2025-09-27T18:37:27.316Z" }, + { url = "https://files.pythonhosted.org/packages/70/bc/6f1c2f612465f5fa89b95bead1f44dcb607670fd42891d8fdcd5d039f4f4/markupsafe-3.0.3-cp314-cp314t-win_arm64.whl", hash = "sha256:32001d6a8fc98c8cb5c947787c5d08b0a50663d139f1305bac5885d98d9b40fa", size = 14146, upload-time = "2025-09-27T18:37:28.327Z" }, ] [[package]] @@ -1162,182 +1305,254 @@ wheels = [ [[package]] name = "more-itertools" -version = "10.7.0" +version = "10.8.0" source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/ce/a0/834b0cebabbfc7e311f30b46c8188790a37f89fc8d756660346fe5abfd09/more_itertools-10.7.0.tar.gz", hash = "sha256:9fddd5403be01a94b204faadcff459ec3568cf110265d3c54323e1e866ad29d3", size = 127671, upload-time = "2025-04-22T14:17:41.838Z" } +sdist = { url = "https://files.pythonhosted.org/packages/ea/5d/38b681d3fce7a266dd9ab73c66959406d565b3e85f21d5e66e1181d93721/more_itertools-10.8.0.tar.gz", hash = "sha256:f638ddf8a1a0d134181275fb5d58b086ead7c6a72429ad725c67503f13ba30bd", size = 137431, upload-time = "2025-09-02T15:23:11.018Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/2b/9f/7ba6f94fc1e9ac3d2b853fdff3035fb2fa5afbed898c4a72b8a020610594/more_itertools-10.7.0-py3-none-any.whl", hash = "sha256:d43980384673cb07d2f7d2d918c616b30c659c089ee23953f601d6609c67510e", size = 65278, upload-time = "2025-04-22T14:17:40.49Z" }, + { url = "https://files.pythonhosted.org/packages/a4/8e/469e5a4a2f5855992e425f3cb33804cc07bf18d48f2db061aec61ce50270/more_itertools-10.8.0-py3-none-any.whl", hash = "sha256:52d4362373dcf7c52546bc4af9a86ee7c4579df9a8dc268be0a2f949d376cc9b", size = 69667, upload-time = "2025-09-02T15:23:09.635Z" }, ] [[package]] name = "msgpack" -version = "1.1.1" +version = "1.1.2" source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/45/b1/ea4f68038a18c77c9467400d166d74c4ffa536f34761f7983a104357e614/msgpack-1.1.1.tar.gz", hash = "sha256:77b79ce34a2bdab2594f490c8e80dd62a02d650b91a75159a63ec413b8d104cd", size = 173555, upload-time = "2025-06-13T06:52:51.324Z" } -wheels = [ - { url = "https://files.pythonhosted.org/packages/e3/26/389b9c593eda2b8551b2e7126ad3a06af6f9b44274eb3a4f054d48ff7e47/msgpack-1.1.1-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:ae497b11f4c21558d95de9f64fff7053544f4d1a17731c866143ed6bb4591238", size = 82359, upload-time = "2025-06-13T06:52:03.909Z" }, - { url = "https://files.pythonhosted.org/packages/ab/65/7d1de38c8a22cf8b1551469159d4b6cf49be2126adc2482de50976084d78/msgpack-1.1.1-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:33be9ab121df9b6b461ff91baac6f2731f83d9b27ed948c5b9d1978ae28bf157", size = 79172, upload-time = "2025-06-13T06:52:05.246Z" }, - { url = "https://files.pythonhosted.org/packages/0f/bd/cacf208b64d9577a62c74b677e1ada005caa9b69a05a599889d6fc2ab20a/msgpack-1.1.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:6f64ae8fe7ffba251fecb8408540c34ee9df1c26674c50c4544d72dbf792e5ce", size = 425013, upload-time = "2025-06-13T06:52:06.341Z" }, - { url = "https://files.pythonhosted.org/packages/4d/ec/fd869e2567cc9c01278a736cfd1697941ba0d4b81a43e0aa2e8d71dab208/msgpack-1.1.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a494554874691720ba5891c9b0b39474ba43ffb1aaf32a5dac874effb1619e1a", size = 426905, upload-time = "2025-06-13T06:52:07.501Z" }, - { url = "https://files.pythonhosted.org/packages/55/2a/35860f33229075bce803a5593d046d8b489d7ba2fc85701e714fc1aaf898/msgpack-1.1.1-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:cb643284ab0ed26f6957d969fe0dd8bb17beb567beb8998140b5e38a90974f6c", size = 407336, upload-time = "2025-06-13T06:52:09.047Z" }, - { url = "https://files.pythonhosted.org/packages/8c/16/69ed8f3ada150bf92745fb4921bd621fd2cdf5a42e25eb50bcc57a5328f0/msgpack-1.1.1-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:d275a9e3c81b1093c060c3837e580c37f47c51eca031f7b5fb76f7b8470f5f9b", size = 409485, upload-time = "2025-06-13T06:52:10.382Z" }, - { url = "https://files.pythonhosted.org/packages/c6/b6/0c398039e4c6d0b2e37c61d7e0e9d13439f91f780686deb8ee64ecf1ae71/msgpack-1.1.1-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:4fd6b577e4541676e0cc9ddc1709d25014d3ad9a66caa19962c4f5de30fc09ef", size = 412182, upload-time = "2025-06-13T06:52:11.644Z" }, - { url = "https://files.pythonhosted.org/packages/b8/d0/0cf4a6ecb9bc960d624c93effaeaae75cbf00b3bc4a54f35c8507273cda1/msgpack-1.1.1-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:bb29aaa613c0a1c40d1af111abf025f1732cab333f96f285d6a93b934738a68a", size = 419883, upload-time = "2025-06-13T06:52:12.806Z" }, - { url = "https://files.pythonhosted.org/packages/62/83/9697c211720fa71a2dfb632cad6196a8af3abea56eece220fde4674dc44b/msgpack-1.1.1-cp312-cp312-win32.whl", hash = "sha256:870b9a626280c86cff9c576ec0d9cbcc54a1e5ebda9cd26dab12baf41fee218c", size = 65406, upload-time = "2025-06-13T06:52:14.271Z" }, - { url = "https://files.pythonhosted.org/packages/c0/23/0abb886e80eab08f5e8c485d6f13924028602829f63b8f5fa25a06636628/msgpack-1.1.1-cp312-cp312-win_amd64.whl", hash = "sha256:5692095123007180dca3e788bb4c399cc26626da51629a31d40207cb262e67f4", size = 72558, upload-time = "2025-06-13T06:52:15.252Z" }, - { url = "https://files.pythonhosted.org/packages/a1/38/561f01cf3577430b59b340b51329803d3a5bf6a45864a55f4ef308ac11e3/msgpack-1.1.1-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:3765afa6bd4832fc11c3749be4ba4b69a0e8d7b728f78e68120a157a4c5d41f0", size = 81677, upload-time = "2025-06-13T06:52:16.64Z" }, - { url = "https://files.pythonhosted.org/packages/09/48/54a89579ea36b6ae0ee001cba8c61f776451fad3c9306cd80f5b5c55be87/msgpack-1.1.1-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:8ddb2bcfd1a8b9e431c8d6f4f7db0773084e107730ecf3472f1dfe9ad583f3d9", size = 78603, upload-time = "2025-06-13T06:52:17.843Z" }, - { url = "https://files.pythonhosted.org/packages/a0/60/daba2699b308e95ae792cdc2ef092a38eb5ee422f9d2fbd4101526d8a210/msgpack-1.1.1-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:196a736f0526a03653d829d7d4c5500a97eea3648aebfd4b6743875f28aa2af8", size = 420504, upload-time = "2025-06-13T06:52:18.982Z" }, - { url = "https://files.pythonhosted.org/packages/20/22/2ebae7ae43cd8f2debc35c631172ddf14e2a87ffcc04cf43ff9df9fff0d3/msgpack-1.1.1-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9d592d06e3cc2f537ceeeb23d38799c6ad83255289bb84c2e5792e5a8dea268a", size = 423749, upload-time = "2025-06-13T06:52:20.211Z" }, - { url = "https://files.pythonhosted.org/packages/40/1b/54c08dd5452427e1179a40b4b607e37e2664bca1c790c60c442c8e972e47/msgpack-1.1.1-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:4df2311b0ce24f06ba253fda361f938dfecd7b961576f9be3f3fbd60e87130ac", size = 404458, upload-time = "2025-06-13T06:52:21.429Z" }, - { url = "https://files.pythonhosted.org/packages/2e/60/6bb17e9ffb080616a51f09928fdd5cac1353c9becc6c4a8abd4e57269a16/msgpack-1.1.1-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:e4141c5a32b5e37905b5940aacbc59739f036930367d7acce7a64e4dec1f5e0b", size = 405976, upload-time = "2025-06-13T06:52:22.995Z" }, - { url = "https://files.pythonhosted.org/packages/ee/97/88983e266572e8707c1f4b99c8fd04f9eb97b43f2db40e3172d87d8642db/msgpack-1.1.1-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:b1ce7f41670c5a69e1389420436f41385b1aa2504c3b0c30620764b15dded2e7", size = 408607, upload-time = "2025-06-13T06:52:24.152Z" }, - { url = "https://files.pythonhosted.org/packages/bc/66/36c78af2efaffcc15a5a61ae0df53a1d025f2680122e2a9eb8442fed3ae4/msgpack-1.1.1-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:4147151acabb9caed4e474c3344181e91ff7a388b888f1e19ea04f7e73dc7ad5", size = 424172, upload-time = "2025-06-13T06:52:25.704Z" }, - { url = "https://files.pythonhosted.org/packages/8c/87/a75eb622b555708fe0427fab96056d39d4c9892b0c784b3a721088c7ee37/msgpack-1.1.1-cp313-cp313-win32.whl", hash = "sha256:500e85823a27d6d9bba1d057c871b4210c1dd6fb01fbb764e37e4e8847376323", size = 65347, upload-time = "2025-06-13T06:52:26.846Z" }, - { url = "https://files.pythonhosted.org/packages/ca/91/7dc28d5e2a11a5ad804cf2b7f7a5fcb1eb5a4966d66a5d2b41aee6376543/msgpack-1.1.1-cp313-cp313-win_amd64.whl", hash = "sha256:6d489fba546295983abd142812bda76b57e33d0b9f5d5b71c09a583285506f69", size = 72341, upload-time = "2025-06-13T06:52:27.835Z" }, +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/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/6b/31/b46518ecc604d7edf3a4f94cb3bf021fc62aa301f0cb849936968164ef23/msgpack-1.1.2-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:4efd7b5979ccb539c221a4c4e16aac1a533efc97f3b759bb5a5ac9f6d10383bf", size = 81212, upload-time = "2025-10-08T09:15:14.552Z" }, + { url = "https://files.pythonhosted.org/packages/92/dc/c385f38f2c2433333345a82926c6bfa5ecfff3ef787201614317b58dd8be/msgpack-1.1.2-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:42eefe2c3e2af97ed470eec850facbe1b5ad1d6eacdbadc42ec98e7dcf68b4b7", size = 84315, upload-time = "2025-10-08T09:15:15.543Z" }, + { url = "https://files.pythonhosted.org/packages/d3/68/93180dce57f684a61a88a45ed13047558ded2be46f03acb8dec6d7c513af/msgpack-1.1.2-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:1fdf7d83102bf09e7ce3357de96c59b627395352a4024f6e2458501f158bf999", size = 412721, upload-time = "2025-10-08T09:15:16.567Z" }, + { url = "https://files.pythonhosted.org/packages/5d/ba/459f18c16f2b3fc1a1ca871f72f07d70c07bf768ad0a507a698b8052ac58/msgpack-1.1.2-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:fac4be746328f90caa3cd4bc67e6fe36ca2bf61d5c6eb6d895b6527e3f05071e", size = 424657, upload-time = "2025-10-08T09:15:17.825Z" }, + { url = "https://files.pythonhosted.org/packages/38/f8/4398c46863b093252fe67368b44edc6c13b17f4e6b0e4929dbf0bdb13f23/msgpack-1.1.2-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:fffee09044073e69f2bad787071aeec727183e7580443dfeb8556cbf1978d162", size = 402668, upload-time = "2025-10-08T09:15:19.003Z" }, + { url = "https://files.pythonhosted.org/packages/28/ce/698c1eff75626e4124b4d78e21cca0b4cc90043afb80a507626ea354ab52/msgpack-1.1.2-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:5928604de9b032bc17f5099496417f113c45bc6bc21b5c6920caf34b3c428794", size = 419040, upload-time = "2025-10-08T09:15:20.183Z" }, + { url = "https://files.pythonhosted.org/packages/67/32/f3cd1667028424fa7001d82e10ee35386eea1408b93d399b09fb0aa7875f/msgpack-1.1.2-cp313-cp313-win32.whl", hash = "sha256:a7787d353595c7c7e145e2331abf8b7ff1e6673a6b974ded96e6d4ec09f00c8c", size = 65037, upload-time = "2025-10-08T09:15:21.416Z" }, + { url = "https://files.pythonhosted.org/packages/74/07/1ed8277f8653c40ebc65985180b007879f6a836c525b3885dcc6448ae6cb/msgpack-1.1.2-cp313-cp313-win_amd64.whl", hash = "sha256:a465f0dceb8e13a487e54c07d04ae3ba131c7c5b95e2612596eafde1dccf64a9", size = 72631, upload-time = "2025-10-08T09:15:22.431Z" }, + { url = "https://files.pythonhosted.org/packages/e5/db/0314e4e2db56ebcf450f277904ffd84a7988b9e5da8d0d61ab2d057df2b6/msgpack-1.1.2-cp313-cp313-win_arm64.whl", hash = "sha256:e69b39f8c0aa5ec24b57737ebee40be647035158f14ed4b40e6f150077e21a84", size = 64118, upload-time = "2025-10-08T09:15:23.402Z" }, + { url = "https://files.pythonhosted.org/packages/22/71/201105712d0a2ff07b7873ed3c220292fb2ea5120603c00c4b634bcdafb3/msgpack-1.1.2-cp314-cp314-macosx_10_13_x86_64.whl", hash = "sha256:e23ce8d5f7aa6ea6d2a2b326b4ba46c985dbb204523759984430db7114f8aa00", size = 81127, upload-time = "2025-10-08T09:15:24.408Z" }, + { url = "https://files.pythonhosted.org/packages/1b/9f/38ff9e57a2eade7bf9dfee5eae17f39fc0e998658050279cbb14d97d36d9/msgpack-1.1.2-cp314-cp314-macosx_11_0_arm64.whl", hash = "sha256:6c15b7d74c939ebe620dd8e559384be806204d73b4f9356320632d783d1f7939", size = 84981, upload-time = "2025-10-08T09:15:25.812Z" }, + { url = "https://files.pythonhosted.org/packages/8e/a9/3536e385167b88c2cc8f4424c49e28d49a6fc35206d4a8060f136e71f94c/msgpack-1.1.2-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:99e2cb7b9031568a2a5c73aa077180f93dd2e95b4f8d3b8e14a73ae94a9e667e", size = 411885, upload-time = "2025-10-08T09:15:27.22Z" }, + { url = "https://files.pythonhosted.org/packages/2f/40/dc34d1a8d5f1e51fc64640b62b191684da52ca469da9cd74e84936ffa4a6/msgpack-1.1.2-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:180759d89a057eab503cf62eeec0aa61c4ea1200dee709f3a8e9397dbb3b6931", size = 419658, upload-time = "2025-10-08T09:15:28.4Z" }, + { url = "https://files.pythonhosted.org/packages/3b/ef/2b92e286366500a09a67e03496ee8b8ba00562797a52f3c117aa2b29514b/msgpack-1.1.2-cp314-cp314-musllinux_1_2_aarch64.whl", hash = "sha256:04fb995247a6e83830b62f0b07bf36540c213f6eac8e851166d8d86d83cbd014", size = 403290, upload-time = "2025-10-08T09:15:29.764Z" }, + { url = "https://files.pythonhosted.org/packages/78/90/e0ea7990abea5764e4655b8177aa7c63cdfa89945b6e7641055800f6c16b/msgpack-1.1.2-cp314-cp314-musllinux_1_2_x86_64.whl", hash = "sha256:8e22ab046fa7ede9e36eeb4cfad44d46450f37bb05d5ec482b02868f451c95e2", size = 415234, upload-time = "2025-10-08T09:15:31.022Z" }, + { url = "https://files.pythonhosted.org/packages/72/4e/9390aed5db983a2310818cd7d3ec0aecad45e1f7007e0cda79c79507bb0d/msgpack-1.1.2-cp314-cp314-win32.whl", hash = "sha256:80a0ff7d4abf5fecb995fcf235d4064b9a9a8a40a3ab80999e6ac1e30b702717", size = 66391, upload-time = "2025-10-08T09:15:32.265Z" }, + { url = "https://files.pythonhosted.org/packages/6e/f1/abd09c2ae91228c5f3998dbd7f41353def9eac64253de3c8105efa2082f7/msgpack-1.1.2-cp314-cp314-win_amd64.whl", hash = "sha256:9ade919fac6a3e7260b7f64cea89df6bec59104987cbea34d34a2fa15d74310b", size = 73787, upload-time = "2025-10-08T09:15:33.219Z" }, + { url = "https://files.pythonhosted.org/packages/6a/b0/9d9f667ab48b16ad4115c1935d94023b82b3198064cb84a123e97f7466c1/msgpack-1.1.2-cp314-cp314-win_arm64.whl", hash = "sha256:59415c6076b1e30e563eb732e23b994a61c159cec44deaf584e5cc1dd662f2af", size = 66453, upload-time = "2025-10-08T09:15:34.225Z" }, + { url = "https://files.pythonhosted.org/packages/16/67/93f80545eb1792b61a217fa7f06d5e5cb9e0055bed867f43e2b8e012e137/msgpack-1.1.2-cp314-cp314t-macosx_10_13_x86_64.whl", hash = "sha256:897c478140877e5307760b0ea66e0932738879e7aa68144d9b78ea4c8302a84a", size = 85264, upload-time = "2025-10-08T09:15:35.61Z" }, + { url = "https://files.pythonhosted.org/packages/87/1c/33c8a24959cf193966ef11a6f6a2995a65eb066bd681fd085afd519a57ce/msgpack-1.1.2-cp314-cp314t-macosx_11_0_arm64.whl", hash = "sha256:a668204fa43e6d02f89dbe79a30b0d67238d9ec4c5bd8a940fc3a004a47b721b", size = 89076, upload-time = "2025-10-08T09:15:36.619Z" }, + { url = "https://files.pythonhosted.org/packages/fc/6b/62e85ff7193663fbea5c0254ef32f0c77134b4059f8da89b958beb7696f3/msgpack-1.1.2-cp314-cp314t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:5559d03930d3aa0f3aacb4c42c776af1a2ace2611871c84a75afe436695e6245", size = 435242, upload-time = "2025-10-08T09:15:37.647Z" }, + { url = "https://files.pythonhosted.org/packages/c1/47/5c74ecb4cc277cf09f64e913947871682ffa82b3b93c8dad68083112f412/msgpack-1.1.2-cp314-cp314t-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:70c5a7a9fea7f036b716191c29047374c10721c389c21e9ffafad04df8c52c90", size = 432509, upload-time = "2025-10-08T09:15:38.794Z" }, + { url = "https://files.pythonhosted.org/packages/24/a4/e98ccdb56dc4e98c929a3f150de1799831c0a800583cde9fa022fa90602d/msgpack-1.1.2-cp314-cp314t-musllinux_1_2_aarch64.whl", hash = "sha256:f2cb069d8b981abc72b41aea1c580ce92d57c673ec61af4c500153a626cb9e20", size = 415957, upload-time = "2025-10-08T09:15:40.238Z" }, + { url = "https://files.pythonhosted.org/packages/da/28/6951f7fb67bc0a4e184a6b38ab71a92d9ba58080b27a77d3e2fb0be5998f/msgpack-1.1.2-cp314-cp314t-musllinux_1_2_x86_64.whl", hash = "sha256:d62ce1f483f355f61adb5433ebfd8868c5f078d1a52d042b0a998682b4fa8c27", size = 422910, upload-time = "2025-10-08T09:15:41.505Z" }, + { url = "https://files.pythonhosted.org/packages/f0/03/42106dcded51f0a0b5284d3ce30a671e7bd3f7318d122b2ead66ad289fed/msgpack-1.1.2-cp314-cp314t-win32.whl", hash = "sha256:1d1418482b1ee984625d88aa9585db570180c286d942da463533b238b98b812b", size = 75197, upload-time = "2025-10-08T09:15:42.954Z" }, + { url = "https://files.pythonhosted.org/packages/15/86/d0071e94987f8db59d4eeb386ddc64d0bb9b10820a8d82bcd3e53eeb2da6/msgpack-1.1.2-cp314-cp314t-win_amd64.whl", hash = "sha256:5a46bf7e831d09470ad92dff02b8b1ac92175ca36b087f904a0519857c6be3ff", size = 85772, upload-time = "2025-10-08T09:15:43.954Z" }, + { url = "https://files.pythonhosted.org/packages/81/f2/08ace4142eb281c12701fc3b93a10795e4d4dc7f753911d836675050f886/msgpack-1.1.2-cp314-cp314t-win_arm64.whl", hash = "sha256:d99ef64f349d5ec3293688e91486c5fdb925ed03807f64d98d205d2713c60b46", size = 70868, upload-time = "2025-10-08T09:15:44.959Z" }, ] [[package]] name = "multidict" -version = "6.6.3" -source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/3d/2c/5dad12e82fbdf7470f29bff2171484bf07cb3b16ada60a6589af8f376440/multidict-6.6.3.tar.gz", hash = "sha256:798a9eb12dab0a6c2e29c1de6f3468af5cb2da6053a20dfa3344907eed0937cc", size = 101006, upload-time = "2025-06-30T15:53:46.929Z" } -wheels = [ - { url = "https://files.pythonhosted.org/packages/0e/a0/6b57988ea102da0623ea814160ed78d45a2645e4bbb499c2896d12833a70/multidict-6.6.3-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:056bebbeda16b2e38642d75e9e5310c484b7c24e3841dc0fb943206a72ec89d6", size = 76514, upload-time = "2025-06-30T15:51:48.728Z" }, - { url = "https://files.pythonhosted.org/packages/07/7a/d1e92665b0850c6c0508f101f9cf0410c1afa24973e1115fe9c6a185ebf7/multidict-6.6.3-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:e5f481cccb3c5c5e5de5d00b5141dc589c1047e60d07e85bbd7dea3d4580d63f", size = 45394, upload-time = "2025-06-30T15:51:49.986Z" }, - { url = "https://files.pythonhosted.org/packages/52/6f/dd104490e01be6ef8bf9573705d8572f8c2d2c561f06e3826b081d9e6591/multidict-6.6.3-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:10bea2ee839a759ee368b5a6e47787f399b41e70cf0c20d90dfaf4158dfb4e55", size = 43590, upload-time = "2025-06-30T15:51:51.331Z" }, - { url = "https://files.pythonhosted.org/packages/44/fe/06e0e01b1b0611e6581b7fd5a85b43dacc08b6cea3034f902f383b0873e5/multidict-6.6.3-cp312-cp312-manylinux1_i686.manylinux2014_i686.manylinux_2_17_i686.manylinux_2_5_i686.whl", hash = "sha256:2334cfb0fa9549d6ce2c21af2bfbcd3ac4ec3646b1b1581c88e3e2b1779ec92b", size = 237292, upload-time = "2025-06-30T15:51:52.584Z" }, - { url = "https://files.pythonhosted.org/packages/ce/71/4f0e558fb77696b89c233c1ee2d92f3e1d5459070a0e89153c9e9e804186/multidict-6.6.3-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:b8fee016722550a2276ca2cb5bb624480e0ed2bd49125b2b73b7010b9090e888", size = 258385, upload-time = "2025-06-30T15:51:53.913Z" }, - { url = "https://files.pythonhosted.org/packages/e3/25/cca0e68228addad24903801ed1ab42e21307a1b4b6dd2cf63da5d3ae082a/multidict-6.6.3-cp312-cp312-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:e5511cb35f5c50a2db21047c875eb42f308c5583edf96bd8ebf7d770a9d68f6d", size = 242328, upload-time = "2025-06-30T15:51:55.672Z" }, - { url = "https://files.pythonhosted.org/packages/6e/a3/46f2d420d86bbcb8fe660b26a10a219871a0fbf4d43cb846a4031533f3e0/multidict-6.6.3-cp312-cp312-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:712b348f7f449948e0a6c4564a21c7db965af900973a67db432d724619b3c680", size = 268057, upload-time = "2025-06-30T15:51:57.037Z" }, - { url = "https://files.pythonhosted.org/packages/9e/73/1c743542fe00794a2ec7466abd3f312ccb8fad8dff9f36d42e18fb1ec33e/multidict-6.6.3-cp312-cp312-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:e4e15d2138ee2694e038e33b7c3da70e6b0ad8868b9f8094a72e1414aeda9c1a", size = 269341, upload-time = "2025-06-30T15:51:59.111Z" }, - { url = "https://files.pythonhosted.org/packages/a4/11/6ec9dcbe2264b92778eeb85407d1df18812248bf3506a5a1754bc035db0c/multidict-6.6.3-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:8df25594989aebff8a130f7899fa03cbfcc5d2b5f4a461cf2518236fe6f15961", size = 256081, upload-time = "2025-06-30T15:52:00.533Z" }, - { url = "https://files.pythonhosted.org/packages/9b/2b/631b1e2afeb5f1696846d747d36cda075bfdc0bc7245d6ba5c319278d6c4/multidict-6.6.3-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:159ca68bfd284a8860f8d8112cf0521113bffd9c17568579e4d13d1f1dc76b65", size = 253581, upload-time = "2025-06-30T15:52:02.43Z" }, - { url = "https://files.pythonhosted.org/packages/bf/0e/7e3b93f79efeb6111d3bf9a1a69e555ba1d07ad1c11bceb56b7310d0d7ee/multidict-6.6.3-cp312-cp312-musllinux_1_2_armv7l.whl", hash = "sha256:e098c17856a8c9ade81b4810888c5ad1914099657226283cab3062c0540b0643", size = 250750, upload-time = "2025-06-30T15:52:04.26Z" }, - { url = "https://files.pythonhosted.org/packages/ad/9e/086846c1d6601948e7de556ee464a2d4c85e33883e749f46b9547d7b0704/multidict-6.6.3-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:67c92ed673049dec52d7ed39f8cf9ebbadf5032c774058b4406d18c8f8fe7063", size = 251548, upload-time = "2025-06-30T15:52:06.002Z" }, - { url = "https://files.pythonhosted.org/packages/8c/7b/86ec260118e522f1a31550e87b23542294880c97cfbf6fb18cc67b044c66/multidict-6.6.3-cp312-cp312-musllinux_1_2_ppc64le.whl", hash = "sha256:bd0578596e3a835ef451784053cfd327d607fc39ea1a14812139339a18a0dbc3", size = 262718, upload-time = "2025-06-30T15:52:07.707Z" }, - { url = "https://files.pythonhosted.org/packages/8c/bd/22ce8f47abb0be04692c9fc4638508b8340987b18691aa7775d927b73f72/multidict-6.6.3-cp312-cp312-musllinux_1_2_s390x.whl", hash = "sha256:346055630a2df2115cd23ae271910b4cae40f4e336773550dca4889b12916e75", size = 259603, upload-time = "2025-06-30T15:52:09.58Z" }, - { url = "https://files.pythonhosted.org/packages/07/9c/91b7ac1691be95cd1f4a26e36a74b97cda6aa9820632d31aab4410f46ebd/multidict-6.6.3-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:555ff55a359302b79de97e0468e9ee80637b0de1fce77721639f7cd9440b3a10", size = 251351, upload-time = "2025-06-30T15:52:10.947Z" }, - { url = "https://files.pythonhosted.org/packages/6f/5c/4d7adc739884f7a9fbe00d1eac8c034023ef8bad71f2ebe12823ca2e3649/multidict-6.6.3-cp312-cp312-win32.whl", hash = "sha256:73ab034fb8d58ff85c2bcbadc470efc3fafeea8affcf8722855fb94557f14cc5", size = 41860, upload-time = "2025-06-30T15:52:12.334Z" }, - { url = "https://files.pythonhosted.org/packages/6a/a3/0fbc7afdf7cb1aa12a086b02959307848eb6bcc8f66fcb66c0cb57e2a2c1/multidict-6.6.3-cp312-cp312-win_amd64.whl", hash = "sha256:04cbcce84f63b9af41bad04a54d4cc4e60e90c35b9e6ccb130be2d75b71f8c17", size = 45982, upload-time = "2025-06-30T15:52:13.6Z" }, - { url = "https://files.pythonhosted.org/packages/b8/95/8c825bd70ff9b02462dc18d1295dd08d3e9e4eb66856d292ffa62cfe1920/multidict-6.6.3-cp312-cp312-win_arm64.whl", hash = "sha256:0f1130b896ecb52d2a1e615260f3ea2af55fa7dc3d7c3003ba0c3121a759b18b", size = 43210, upload-time = "2025-06-30T15:52:14.893Z" }, - { url = "https://files.pythonhosted.org/packages/52/1d/0bebcbbb4f000751fbd09957257903d6e002943fc668d841a4cf2fb7f872/multidict-6.6.3-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:540d3c06d48507357a7d57721e5094b4f7093399a0106c211f33540fdc374d55", size = 75843, upload-time = "2025-06-30T15:52:16.155Z" }, - { url = "https://files.pythonhosted.org/packages/07/8f/cbe241b0434cfe257f65c2b1bcf9e8d5fb52bc708c5061fb29b0fed22bdf/multidict-6.6.3-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:9c19cea2a690f04247d43f366d03e4eb110a0dc4cd1bbeee4d445435428ed35b", size = 45053, upload-time = "2025-06-30T15:52:17.429Z" }, - { url = "https://files.pythonhosted.org/packages/32/d2/0b3b23f9dbad5b270b22a3ac3ea73ed0a50ef2d9a390447061178ed6bdb8/multidict-6.6.3-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:7af039820cfd00effec86bda5d8debef711a3e86a1d3772e85bea0f243a4bd65", size = 43273, upload-time = "2025-06-30T15:52:19.346Z" }, - { url = "https://files.pythonhosted.org/packages/fd/fe/6eb68927e823999e3683bc49678eb20374ba9615097d085298fd5b386564/multidict-6.6.3-cp313-cp313-manylinux1_i686.manylinux2014_i686.manylinux_2_17_i686.manylinux_2_5_i686.whl", hash = "sha256:500b84f51654fdc3944e936f2922114349bf8fdcac77c3092b03449f0e5bc2b3", size = 237124, upload-time = "2025-06-30T15:52:20.773Z" }, - { url = "https://files.pythonhosted.org/packages/e7/ab/320d8507e7726c460cb77117848b3834ea0d59e769f36fdae495f7669929/multidict-6.6.3-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:f3fc723ab8a5c5ed6c50418e9bfcd8e6dceba6c271cee6728a10a4ed8561520c", size = 256892, upload-time = "2025-06-30T15:52:22.242Z" }, - { url = "https://files.pythonhosted.org/packages/76/60/38ee422db515ac69834e60142a1a69111ac96026e76e8e9aa347fd2e4591/multidict-6.6.3-cp313-cp313-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:94c47ea3ade005b5976789baaed66d4de4480d0a0bf31cef6edaa41c1e7b56a6", size = 240547, upload-time = "2025-06-30T15:52:23.736Z" }, - { url = "https://files.pythonhosted.org/packages/27/fb/905224fde2dff042b030c27ad95a7ae744325cf54b890b443d30a789b80e/multidict-6.6.3-cp313-cp313-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:dbc7cf464cc6d67e83e136c9f55726da3a30176f020a36ead246eceed87f1cd8", size = 266223, upload-time = "2025-06-30T15:52:25.185Z" }, - { url = "https://files.pythonhosted.org/packages/76/35/dc38ab361051beae08d1a53965e3e1a418752fc5be4d3fb983c5582d8784/multidict-6.6.3-cp313-cp313-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:900eb9f9da25ada070f8ee4a23f884e0ee66fe4e1a38c3af644256a508ad81ca", size = 267262, upload-time = "2025-06-30T15:52:26.969Z" }, - { url = "https://files.pythonhosted.org/packages/1f/a3/0a485b7f36e422421b17e2bbb5a81c1af10eac1d4476f2ff92927c730479/multidict-6.6.3-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:7c6df517cf177da5d47ab15407143a89cd1a23f8b335f3a28d57e8b0a3dbb884", size = 254345, upload-time = "2025-06-30T15:52:28.467Z" }, - { url = "https://files.pythonhosted.org/packages/b4/59/bcdd52c1dab7c0e0d75ff19cac751fbd5f850d1fc39172ce809a74aa9ea4/multidict-6.6.3-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:4ef421045f13879e21c994b36e728d8e7d126c91a64b9185810ab51d474f27e7", size = 252248, upload-time = "2025-06-30T15:52:29.938Z" }, - { url = "https://files.pythonhosted.org/packages/bb/a4/2d96aaa6eae8067ce108d4acee6f45ced5728beda55c0f02ae1072c730d1/multidict-6.6.3-cp313-cp313-musllinux_1_2_armv7l.whl", hash = "sha256:6c1e61bb4f80895c081790b6b09fa49e13566df8fbff817da3f85b3a8192e36b", size = 250115, upload-time = "2025-06-30T15:52:31.416Z" }, - { url = "https://files.pythonhosted.org/packages/25/d2/ed9f847fa5c7d0677d4f02ea2c163d5e48573de3f57bacf5670e43a5ffaa/multidict-6.6.3-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:e5e8523bb12d7623cd8300dbd91b9e439a46a028cd078ca695eb66ba31adee3c", size = 249649, upload-time = "2025-06-30T15:52:32.996Z" }, - { url = "https://files.pythonhosted.org/packages/1f/af/9155850372563fc550803d3f25373308aa70f59b52cff25854086ecb4a79/multidict-6.6.3-cp313-cp313-musllinux_1_2_ppc64le.whl", hash = "sha256:ef58340cc896219e4e653dade08fea5c55c6df41bcc68122e3be3e9d873d9a7b", size = 261203, upload-time = "2025-06-30T15:52:34.521Z" }, - { url = "https://files.pythonhosted.org/packages/36/2f/c6a728f699896252cf309769089568a33c6439626648843f78743660709d/multidict-6.6.3-cp313-cp313-musllinux_1_2_s390x.whl", hash = "sha256:fc9dc435ec8699e7b602b94fe0cd4703e69273a01cbc34409af29e7820f777f1", size = 258051, upload-time = "2025-06-30T15:52:35.999Z" }, - { url = "https://files.pythonhosted.org/packages/d0/60/689880776d6b18fa2b70f6cc74ff87dd6c6b9b47bd9cf74c16fecfaa6ad9/multidict-6.6.3-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:9e864486ef4ab07db5e9cb997bad2b681514158d6954dd1958dfb163b83d53e6", size = 249601, upload-time = "2025-06-30T15:52:37.473Z" }, - { url = "https://files.pythonhosted.org/packages/75/5e/325b11f2222a549019cf2ef879c1f81f94a0d40ace3ef55cf529915ba6cc/multidict-6.6.3-cp313-cp313-win32.whl", hash = "sha256:5633a82fba8e841bc5c5c06b16e21529573cd654f67fd833650a215520a6210e", size = 41683, upload-time = "2025-06-30T15:52:38.927Z" }, - { url = "https://files.pythonhosted.org/packages/b1/ad/cf46e73f5d6e3c775cabd2a05976547f3f18b39bee06260369a42501f053/multidict-6.6.3-cp313-cp313-win_amd64.whl", hash = "sha256:e93089c1570a4ad54c3714a12c2cef549dc9d58e97bcded193d928649cab78e9", size = 45811, upload-time = "2025-06-30T15:52:40.207Z" }, - { url = "https://files.pythonhosted.org/packages/c5/c9/2e3fe950db28fb7c62e1a5f46e1e38759b072e2089209bc033c2798bb5ec/multidict-6.6.3-cp313-cp313-win_arm64.whl", hash = "sha256:c60b401f192e79caec61f166da9c924e9f8bc65548d4246842df91651e83d600", size = 43056, upload-time = "2025-06-30T15:52:41.575Z" }, - { url = "https://files.pythonhosted.org/packages/3a/58/aaf8114cf34966e084a8cc9517771288adb53465188843d5a19862cb6dc3/multidict-6.6.3-cp313-cp313t-macosx_10_13_universal2.whl", hash = "sha256:02fd8f32d403a6ff13864b0851f1f523d4c988051eea0471d4f1fd8010f11134", size = 82811, upload-time = "2025-06-30T15:52:43.281Z" }, - { url = "https://files.pythonhosted.org/packages/71/af/5402e7b58a1f5b987a07ad98f2501fdba2a4f4b4c30cf114e3ce8db64c87/multidict-6.6.3-cp313-cp313t-macosx_10_13_x86_64.whl", hash = "sha256:f3aa090106b1543f3f87b2041eef3c156c8da2aed90c63a2fbed62d875c49c37", size = 48304, upload-time = "2025-06-30T15:52:45.026Z" }, - { url = "https://files.pythonhosted.org/packages/39/65/ab3c8cafe21adb45b24a50266fd747147dec7847425bc2a0f6934b3ae9ce/multidict-6.6.3-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:e924fb978615a5e33ff644cc42e6aa241effcf4f3322c09d4f8cebde95aff5f8", size = 46775, upload-time = "2025-06-30T15:52:46.459Z" }, - { url = "https://files.pythonhosted.org/packages/49/ba/9fcc1b332f67cc0c0c8079e263bfab6660f87fe4e28a35921771ff3eea0d/multidict-6.6.3-cp313-cp313t-manylinux1_i686.manylinux2014_i686.manylinux_2_17_i686.manylinux_2_5_i686.whl", hash = "sha256:b9fe5a0e57c6dbd0e2ce81ca66272282c32cd11d31658ee9553849d91289e1c1", size = 229773, upload-time = "2025-06-30T15:52:47.88Z" }, - { url = "https://files.pythonhosted.org/packages/a4/14/0145a251f555f7c754ce2dcbcd012939bbd1f34f066fa5d28a50e722a054/multidict-6.6.3-cp313-cp313t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:b24576f208793ebae00280c59927c3b7c2a3b1655e443a25f753c4611bc1c373", size = 250083, upload-time = "2025-06-30T15:52:49.366Z" }, - { url = "https://files.pythonhosted.org/packages/9e/d4/d5c0bd2bbb173b586c249a151a26d2fb3ec7d53c96e42091c9fef4e1f10c/multidict-6.6.3-cp313-cp313t-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:135631cb6c58eac37d7ac0df380294fecdc026b28837fa07c02e459c7fb9c54e", size = 228980, upload-time = "2025-06-30T15:52:50.903Z" }, - { url = "https://files.pythonhosted.org/packages/21/32/c9a2d8444a50ec48c4733ccc67254100c10e1c8ae8e40c7a2d2183b59b97/multidict-6.6.3-cp313-cp313t-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:274d416b0df887aef98f19f21578653982cfb8a05b4e187d4a17103322eeaf8f", size = 257776, upload-time = "2025-06-30T15:52:52.764Z" }, - { url = "https://files.pythonhosted.org/packages/68/d0/14fa1699f4ef629eae08ad6201c6b476098f5efb051b296f4c26be7a9fdf/multidict-6.6.3-cp313-cp313t-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:e252017a817fad7ce05cafbe5711ed40faeb580e63b16755a3a24e66fa1d87c0", size = 256882, upload-time = "2025-06-30T15:52:54.596Z" }, - { url = "https://files.pythonhosted.org/packages/da/88/84a27570fbe303c65607d517a5f147cd2fc046c2d1da02b84b17b9bdc2aa/multidict-6.6.3-cp313-cp313t-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:2e4cc8d848cd4fe1cdee28c13ea79ab0ed37fc2e89dd77bac86a2e7959a8c3bc", size = 247816, upload-time = "2025-06-30T15:52:56.175Z" }, - { url = "https://files.pythonhosted.org/packages/1c/60/dca352a0c999ce96a5d8b8ee0b2b9f729dcad2e0b0c195f8286269a2074c/multidict-6.6.3-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:9e236a7094b9c4c1b7585f6b9cca34b9d833cf079f7e4c49e6a4a6ec9bfdc68f", size = 245341, upload-time = "2025-06-30T15:52:57.752Z" }, - { url = "https://files.pythonhosted.org/packages/50/ef/433fa3ed06028f03946f3993223dada70fb700f763f70c00079533c34578/multidict-6.6.3-cp313-cp313t-musllinux_1_2_armv7l.whl", hash = "sha256:e0cb0ab69915c55627c933f0b555a943d98ba71b4d1c57bc0d0a66e2567c7471", size = 235854, upload-time = "2025-06-30T15:52:59.74Z" }, - { url = "https://files.pythonhosted.org/packages/1b/1f/487612ab56fbe35715320905215a57fede20de7db40a261759690dc80471/multidict-6.6.3-cp313-cp313t-musllinux_1_2_i686.whl", hash = "sha256:81ef2f64593aba09c5212a3d0f8c906a0d38d710a011f2f42759704d4557d3f2", size = 243432, upload-time = "2025-06-30T15:53:01.602Z" }, - { url = "https://files.pythonhosted.org/packages/da/6f/ce8b79de16cd885c6f9052c96a3671373d00c59b3ee635ea93e6e81b8ccf/multidict-6.6.3-cp313-cp313t-musllinux_1_2_ppc64le.whl", hash = "sha256:b9cbc60010de3562545fa198bfc6d3825df430ea96d2cc509c39bd71e2e7d648", size = 252731, upload-time = "2025-06-30T15:53:03.517Z" }, - { url = "https://files.pythonhosted.org/packages/bb/fe/a2514a6aba78e5abefa1624ca85ae18f542d95ac5cde2e3815a9fbf369aa/multidict-6.6.3-cp313-cp313t-musllinux_1_2_s390x.whl", hash = "sha256:70d974eaaa37211390cd02ef93b7e938de564bbffa866f0b08d07e5e65da783d", size = 247086, upload-time = "2025-06-30T15:53:05.48Z" }, - { url = "https://files.pythonhosted.org/packages/8c/22/b788718d63bb3cce752d107a57c85fcd1a212c6c778628567c9713f9345a/multidict-6.6.3-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:3713303e4a6663c6d01d648a68f2848701001f3390a030edaaf3fc949c90bf7c", size = 243338, upload-time = "2025-06-30T15:53:07.522Z" }, - { url = "https://files.pythonhosted.org/packages/22/d6/fdb3d0670819f2228f3f7d9af613d5e652c15d170c83e5f1c94fbc55a25b/multidict-6.6.3-cp313-cp313t-win32.whl", hash = "sha256:639ecc9fe7cd73f2495f62c213e964843826f44505a3e5d82805aa85cac6f89e", size = 47812, upload-time = "2025-06-30T15:53:09.263Z" }, - { url = "https://files.pythonhosted.org/packages/b6/d6/a9d2c808f2c489ad199723197419207ecbfbc1776f6e155e1ecea9c883aa/multidict-6.6.3-cp313-cp313t-win_amd64.whl", hash = "sha256:9f97e181f344a0ef3881b573d31de8542cc0dbc559ec68c8f8b5ce2c2e91646d", size = 53011, upload-time = "2025-06-30T15:53:11.038Z" }, - { url = "https://files.pythonhosted.org/packages/f2/40/b68001cba8188dd267590a111f9661b6256debc327137667e832bf5d66e8/multidict-6.6.3-cp313-cp313t-win_arm64.whl", hash = "sha256:ce8b7693da41a3c4fde5871c738a81490cea5496c671d74374c8ab889e1834fb", size = 45254, upload-time = "2025-06-30T15:53:12.421Z" }, - { url = "https://files.pythonhosted.org/packages/d8/30/9aec301e9772b098c1f5c0ca0279237c9766d94b97802e9888010c64b0ed/multidict-6.6.3-py3-none-any.whl", hash = "sha256:8db10f29c7541fc5da4defd8cd697e1ca429db743fa716325f236079b96f775a", size = 12313, upload-time = "2025-06-30T15:53:45.437Z" }, +version = "6.7.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/80/1e/5492c365f222f907de1039b91f922b93fa4f764c713ee858d235495d8f50/multidict-6.7.0.tar.gz", hash = "sha256:c6e99d9a65ca282e578dfea819cfa9c0a62b2499d8677392e09feaf305e9e6f5", size = 101834, upload-time = "2025-10-06T14:52:30.657Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/c2/9e/9f61ac18d9c8b475889f32ccfa91c9f59363480613fc807b6e3023d6f60b/multidict-6.7.0-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:8a3862568a36d26e650a19bb5cbbba14b71789032aebc0423f8cc5f150730184", size = 76877, upload-time = "2025-10-06T14:49:20.884Z" }, + { url = "https://files.pythonhosted.org/packages/38/6f/614f09a04e6184f8824268fce4bc925e9849edfa654ddd59f0b64508c595/multidict-6.7.0-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:960c60b5849b9b4f9dcc9bea6e3626143c252c74113df2c1540aebce70209b45", size = 45467, upload-time = "2025-10-06T14:49:22.054Z" }, + { url = "https://files.pythonhosted.org/packages/b3/93/c4f67a436dd026f2e780c433277fff72be79152894d9fc36f44569cab1a6/multidict-6.7.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:2049be98fb57a31b4ccf870bf377af2504d4ae35646a19037ec271e4c07998aa", size = 43834, upload-time = "2025-10-06T14:49:23.566Z" }, + { url = "https://files.pythonhosted.org/packages/7f/f5/013798161ca665e4a422afbc5e2d9e4070142a9ff8905e482139cd09e4d0/multidict-6.7.0-cp312-cp312-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl", hash = "sha256:0934f3843a1860dd465d38895c17fce1f1cb37295149ab05cd1b9a03afacb2a7", size = 250545, upload-time = "2025-10-06T14:49:24.882Z" }, + { url = "https://files.pythonhosted.org/packages/71/2f/91dbac13e0ba94669ea5119ba267c9a832f0cb65419aca75549fcf09a3dc/multidict-6.7.0-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:b3e34f3a1b8131ba06f1a73adab24f30934d148afcd5f5de9a73565a4404384e", size = 258305, upload-time = "2025-10-06T14:49:26.778Z" }, + { url = "https://files.pythonhosted.org/packages/ef/b0/754038b26f6e04488b48ac621f779c341338d78503fb45403755af2df477/multidict-6.7.0-cp312-cp312-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:efbb54e98446892590dc2458c19c10344ee9a883a79b5cec4bc34d6656e8d546", size = 242363, upload-time = "2025-10-06T14:49:28.562Z" }, + { url = "https://files.pythonhosted.org/packages/87/15/9da40b9336a7c9fa606c4cf2ed80a649dffeb42b905d4f63a1d7eb17d746/multidict-6.7.0-cp312-cp312-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:a35c5fc61d4f51eb045061e7967cfe3123d622cd500e8868e7c0c592a09fedc4", size = 268375, upload-time = "2025-10-06T14:49:29.96Z" }, + { url = "https://files.pythonhosted.org/packages/82/72/c53fcade0cc94dfaad583105fd92b3a783af2091eddcb41a6d5a52474000/multidict-6.7.0-cp312-cp312-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:29fe6740ebccba4175af1b9b87bf553e9c15cd5868ee967e010efcf94e4fd0f1", size = 269346, upload-time = "2025-10-06T14:49:31.404Z" }, + { url = "https://files.pythonhosted.org/packages/0d/e2/9baffdae21a76f77ef8447f1a05a96ec4bc0a24dae08767abc0a2fe680b8/multidict-6.7.0-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:123e2a72e20537add2f33a79e605f6191fba2afda4cbb876e35c1a7074298a7d", size = 256107, upload-time = "2025-10-06T14:49:32.974Z" }, + { url = "https://files.pythonhosted.org/packages/3c/06/3f06f611087dc60d65ef775f1fb5aca7c6d61c6db4990e7cda0cef9b1651/multidict-6.7.0-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:b284e319754366c1aee2267a2036248b24eeb17ecd5dc16022095e747f2f4304", size = 253592, upload-time = "2025-10-06T14:49:34.52Z" }, + { url = "https://files.pythonhosted.org/packages/20/24/54e804ec7945b6023b340c412ce9c3f81e91b3bf5fa5ce65558740141bee/multidict-6.7.0-cp312-cp312-musllinux_1_2_armv7l.whl", hash = "sha256:803d685de7be4303b5a657b76e2f6d1240e7e0a8aa2968ad5811fa2285553a12", size = 251024, upload-time = "2025-10-06T14:49:35.956Z" }, + { url = "https://files.pythonhosted.org/packages/14/48/011cba467ea0b17ceb938315d219391d3e421dfd35928e5dbdc3f4ae76ef/multidict-6.7.0-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:c04a328260dfd5db8c39538f999f02779012268f54614902d0afc775d44e0a62", size = 251484, upload-time = "2025-10-06T14:49:37.631Z" }, + { url = "https://files.pythonhosted.org/packages/0d/2f/919258b43bb35b99fa127435cfb2d91798eb3a943396631ef43e3720dcf4/multidict-6.7.0-cp312-cp312-musllinux_1_2_ppc64le.whl", hash = "sha256:8a19cdb57cd3df4cd865849d93ee14920fb97224300c88501f16ecfa2604b4e0", size = 263579, upload-time = "2025-10-06T14:49:39.502Z" }, + { url = "https://files.pythonhosted.org/packages/31/22/a0e884d86b5242b5a74cf08e876bdf299e413016b66e55511f7a804a366e/multidict-6.7.0-cp312-cp312-musllinux_1_2_s390x.whl", hash = "sha256:9b2fd74c52accced7e75de26023b7dccee62511a600e62311b918ec5c168fc2a", size = 259654, upload-time = "2025-10-06T14:49:41.32Z" }, + { url = "https://files.pythonhosted.org/packages/b2/e5/17e10e1b5c5f5a40f2fcbb45953c9b215f8a4098003915e46a93f5fcaa8f/multidict-6.7.0-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:3e8bfdd0e487acf992407a140d2589fe598238eaeffa3da8448d63a63cd363f8", size = 251511, upload-time = "2025-10-06T14:49:46.021Z" }, + { url = "https://files.pythonhosted.org/packages/e3/9a/201bb1e17e7af53139597069c375e7b0dcbd47594604f65c2d5359508566/multidict-6.7.0-cp312-cp312-win32.whl", hash = "sha256:dd32a49400a2c3d52088e120ee00c1e3576cbff7e10b98467962c74fdb762ed4", size = 41895, upload-time = "2025-10-06T14:49:48.718Z" }, + { url = "https://files.pythonhosted.org/packages/46/e2/348cd32faad84eaf1d20cce80e2bb0ef8d312c55bca1f7fa9865e7770aaf/multidict-6.7.0-cp312-cp312-win_amd64.whl", hash = "sha256:92abb658ef2d7ef22ac9f8bb88e8b6c3e571671534e029359b6d9e845923eb1b", size = 46073, upload-time = "2025-10-06T14:49:50.28Z" }, + { url = "https://files.pythonhosted.org/packages/25/ec/aad2613c1910dce907480e0c3aa306905830f25df2e54ccc9dea450cb5aa/multidict-6.7.0-cp312-cp312-win_arm64.whl", hash = "sha256:490dab541a6a642ce1a9d61a4781656b346a55c13038f0b1244653828e3a83ec", size = 43226, upload-time = "2025-10-06T14:49:52.304Z" }, + { url = "https://files.pythonhosted.org/packages/d2/86/33272a544eeb36d66e4d9a920602d1a2f57d4ebea4ef3cdfe5a912574c95/multidict-6.7.0-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:bee7c0588aa0076ce77c0ea5d19a68d76ad81fcd9fe8501003b9a24f9d4000f6", size = 76135, upload-time = "2025-10-06T14:49:54.26Z" }, + { url = "https://files.pythonhosted.org/packages/91/1c/eb97db117a1ebe46d457a3d235a7b9d2e6dcab174f42d1b67663dd9e5371/multidict-6.7.0-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:7ef6b61cad77091056ce0e7ce69814ef72afacb150b7ac6a3e9470def2198159", size = 45117, upload-time = "2025-10-06T14:49:55.82Z" }, + { url = "https://files.pythonhosted.org/packages/f1/d8/6c3442322e41fb1dd4de8bd67bfd11cd72352ac131f6368315617de752f1/multidict-6.7.0-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:9c0359b1ec12b1d6849c59f9d319610b7f20ef990a6d454ab151aa0e3b9f78ca", size = 43472, upload-time = "2025-10-06T14:49:57.048Z" }, + { url = "https://files.pythonhosted.org/packages/75/3f/e2639e80325af0b6c6febdf8e57cc07043ff15f57fa1ef808f4ccb5ac4cd/multidict-6.7.0-cp313-cp313-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl", hash = "sha256:cd240939f71c64bd658f186330603aac1a9a81bf6273f523fca63673cb7378a8", size = 249342, upload-time = "2025-10-06T14:49:58.368Z" }, + { url = "https://files.pythonhosted.org/packages/5d/cc/84e0585f805cbeaa9cbdaa95f9a3d6aed745b9d25700623ac89a6ecff400/multidict-6.7.0-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:a60a4d75718a5efa473ebd5ab685786ba0c67b8381f781d1be14da49f1a2dc60", size = 257082, upload-time = "2025-10-06T14:49:59.89Z" }, + { url = "https://files.pythonhosted.org/packages/b0/9c/ac851c107c92289acbbf5cfb485694084690c1b17e555f44952c26ddc5bd/multidict-6.7.0-cp313-cp313-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:53a42d364f323275126aff81fb67c5ca1b7a04fda0546245730a55c8c5f24bc4", size = 240704, upload-time = "2025-10-06T14:50:01.485Z" }, + { url = "https://files.pythonhosted.org/packages/50/cc/5f93e99427248c09da95b62d64b25748a5f5c98c7c2ab09825a1d6af0e15/multidict-6.7.0-cp313-cp313-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:3b29b980d0ddbecb736735ee5bef69bb2ddca56eff603c86f3f29a1128299b4f", size = 266355, upload-time = "2025-10-06T14:50:02.955Z" }, + { url = "https://files.pythonhosted.org/packages/ec/0c/2ec1d883ceb79c6f7f6d7ad90c919c898f5d1c6ea96d322751420211e072/multidict-6.7.0-cp313-cp313-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:f8a93b1c0ed2d04b97a5e9336fd2d33371b9a6e29ab7dd6503d63407c20ffbaf", size = 267259, upload-time = "2025-10-06T14:50:04.446Z" }, + { url = "https://files.pythonhosted.org/packages/c6/2d/f0b184fa88d6630aa267680bdb8623fb69cb0d024b8c6f0d23f9a0f406d3/multidict-6.7.0-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:9ff96e8815eecacc6645da76c413eb3b3d34cfca256c70b16b286a687d013c32", size = 254903, upload-time = "2025-10-06T14:50:05.98Z" }, + { url = "https://files.pythonhosted.org/packages/06/c9/11ea263ad0df7dfabcad404feb3c0dd40b131bc7f232d5537f2fb1356951/multidict-6.7.0-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:7516c579652f6a6be0e266aec0acd0db80829ca305c3d771ed898538804c2036", size = 252365, upload-time = "2025-10-06T14:50:07.511Z" }, + { url = "https://files.pythonhosted.org/packages/41/88/d714b86ee2c17d6e09850c70c9d310abac3d808ab49dfa16b43aba9d53fd/multidict-6.7.0-cp313-cp313-musllinux_1_2_armv7l.whl", hash = "sha256:040f393368e63fb0f3330e70c26bfd336656bed925e5cbe17c9da839a6ab13ec", size = 250062, upload-time = "2025-10-06T14:50:09.074Z" }, + { url = "https://files.pythonhosted.org/packages/15/fe/ad407bb9e818c2b31383f6131ca19ea7e35ce93cf1310fce69f12e89de75/multidict-6.7.0-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:b3bc26a951007b1057a1c543af845f1c7e3e71cc240ed1ace7bf4484aa99196e", size = 249683, upload-time = "2025-10-06T14:50:10.714Z" }, + { url = "https://files.pythonhosted.org/packages/8c/a4/a89abdb0229e533fb925e7c6e5c40201c2873efebc9abaf14046a4536ee6/multidict-6.7.0-cp313-cp313-musllinux_1_2_ppc64le.whl", hash = "sha256:7b022717c748dd1992a83e219587aabe45980d88969f01b316e78683e6285f64", size = 261254, upload-time = "2025-10-06T14:50:12.28Z" }, + { url = "https://files.pythonhosted.org/packages/8d/aa/0e2b27bd88b40a4fb8dc53dd74eecac70edaa4c1dd0707eb2164da3675b3/multidict-6.7.0-cp313-cp313-musllinux_1_2_s390x.whl", hash = "sha256:9600082733859f00d79dee64effc7aef1beb26adb297416a4ad2116fd61374bd", size = 257967, upload-time = "2025-10-06T14:50:14.16Z" }, + { url = "https://files.pythonhosted.org/packages/d0/8e/0c67b7120d5d5f6d874ed85a085f9dc770a7f9d8813e80f44a9fec820bb7/multidict-6.7.0-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:94218fcec4d72bc61df51c198d098ce2b378e0ccbac41ddbed5ef44092913288", size = 250085, upload-time = "2025-10-06T14:50:15.639Z" }, + { url = "https://files.pythonhosted.org/packages/ba/55/b73e1d624ea4b8fd4dd07a3bb70f6e4c7c6c5d9d640a41c6ffe5cdbd2a55/multidict-6.7.0-cp313-cp313-win32.whl", hash = "sha256:a37bd74c3fa9d00be2d7b8eca074dc56bd8077ddd2917a839bd989612671ed17", size = 41713, upload-time = "2025-10-06T14:50:17.066Z" }, + { url = "https://files.pythonhosted.org/packages/32/31/75c59e7d3b4205075b4c183fa4ca398a2daf2303ddf616b04ae6ef55cffe/multidict-6.7.0-cp313-cp313-win_amd64.whl", hash = "sha256:30d193c6cc6d559db42b6bcec8a5d395d34d60c9877a0b71ecd7c204fcf15390", size = 45915, upload-time = "2025-10-06T14:50:18.264Z" }, + { url = "https://files.pythonhosted.org/packages/31/2a/8987831e811f1184c22bc2e45844934385363ee61c0a2dcfa8f71b87e608/multidict-6.7.0-cp313-cp313-win_arm64.whl", hash = "sha256:ea3334cabe4d41b7ccd01e4d349828678794edbc2d3ae97fc162a3312095092e", size = 43077, upload-time = "2025-10-06T14:50:19.853Z" }, + { url = "https://files.pythonhosted.org/packages/e8/68/7b3a5170a382a340147337b300b9eb25a9ddb573bcdfff19c0fa3f31ffba/multidict-6.7.0-cp313-cp313t-macosx_10_13_universal2.whl", hash = "sha256:ad9ce259f50abd98a1ca0aa6e490b58c316a0fce0617f609723e40804add2c00", size = 83114, upload-time = "2025-10-06T14:50:21.223Z" }, + { url = "https://files.pythonhosted.org/packages/55/5c/3fa2d07c84df4e302060f555bbf539310980362236ad49f50eeb0a1c1eb9/multidict-6.7.0-cp313-cp313t-macosx_10_13_x86_64.whl", hash = "sha256:07f5594ac6d084cbb5de2df218d78baf55ef150b91f0ff8a21cc7a2e3a5a58eb", size = 48442, upload-time = "2025-10-06T14:50:22.871Z" }, + { url = "https://files.pythonhosted.org/packages/fc/56/67212d33239797f9bd91962bb899d72bb0f4c35a8652dcdb8ed049bef878/multidict-6.7.0-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:0591b48acf279821a579282444814a2d8d0af624ae0bc600aa4d1b920b6e924b", size = 46885, upload-time = "2025-10-06T14:50:24.258Z" }, + { url = "https://files.pythonhosted.org/packages/46/d1/908f896224290350721597a61a69cd19b89ad8ee0ae1f38b3f5cd12ea2ac/multidict-6.7.0-cp313-cp313t-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl", hash = "sha256:749a72584761531d2b9467cfbdfd29487ee21124c304c4b6cb760d8777b27f9c", size = 242588, upload-time = "2025-10-06T14:50:25.716Z" }, + { url = "https://files.pythonhosted.org/packages/ab/67/8604288bbd68680eee0ab568fdcb56171d8b23a01bcd5cb0c8fedf6e5d99/multidict-6.7.0-cp313-cp313t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:6b4c3d199f953acd5b446bf7c0de1fe25d94e09e79086f8dc2f48a11a129cdf1", size = 249966, upload-time = "2025-10-06T14:50:28.192Z" }, + { url = "https://files.pythonhosted.org/packages/20/33/9228d76339f1ba51e3efef7da3ebd91964d3006217aae13211653193c3ff/multidict-6.7.0-cp313-cp313t-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:9fb0211dfc3b51efea2f349ec92c114d7754dd62c01f81c3e32b765b70c45c9b", size = 228618, upload-time = "2025-10-06T14:50:29.82Z" }, + { url = "https://files.pythonhosted.org/packages/f8/2d/25d9b566d10cab1c42b3b9e5b11ef79c9111eaf4463b8c257a3bd89e0ead/multidict-6.7.0-cp313-cp313t-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:a027ec240fe73a8d6281872690b988eed307cd7d91b23998ff35ff577ca688b5", size = 257539, upload-time = "2025-10-06T14:50:31.731Z" }, + { url = "https://files.pythonhosted.org/packages/b6/b1/8d1a965e6637fc33de3c0d8f414485c2b7e4af00f42cab3d84e7b955c222/multidict-6.7.0-cp313-cp313t-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:d1d964afecdf3a8288789df2f5751dc0a8261138c3768d9af117ed384e538fad", size = 256345, upload-time = "2025-10-06T14:50:33.26Z" }, + { url = "https://files.pythonhosted.org/packages/ba/0c/06b5a8adbdeedada6f4fb8d8f193d44a347223b11939b42953eeb6530b6b/multidict-6.7.0-cp313-cp313t-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:caf53b15b1b7df9fbd0709aa01409000a2b4dd03a5f6f5cc548183c7c8f8b63c", size = 247934, upload-time = "2025-10-06T14:50:34.808Z" }, + { url = "https://files.pythonhosted.org/packages/8f/31/b2491b5fe167ca044c6eb4b8f2c9f3b8a00b24c432c365358eadac5d7625/multidict-6.7.0-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:654030da3197d927f05a536a66186070e98765aa5142794c9904555d3a9d8fb5", size = 245243, upload-time = "2025-10-06T14:50:36.436Z" }, + { url = "https://files.pythonhosted.org/packages/61/1a/982913957cb90406c8c94f53001abd9eafc271cb3e70ff6371590bec478e/multidict-6.7.0-cp313-cp313t-musllinux_1_2_armv7l.whl", hash = "sha256:2090d3718829d1e484706a2f525e50c892237b2bf9b17a79b059cb98cddc2f10", size = 235878, upload-time = "2025-10-06T14:50:37.953Z" }, + { url = "https://files.pythonhosted.org/packages/be/c0/21435d804c1a1cf7a2608593f4d19bca5bcbd7a81a70b253fdd1c12af9c0/multidict-6.7.0-cp313-cp313t-musllinux_1_2_i686.whl", hash = "sha256:2d2cfeec3f6f45651b3d408c4acec0ebf3daa9bc8a112a084206f5db5d05b754", size = 243452, upload-time = "2025-10-06T14:50:39.574Z" }, + { url = "https://files.pythonhosted.org/packages/54/0a/4349d540d4a883863191be6eb9a928846d4ec0ea007d3dcd36323bb058ac/multidict-6.7.0-cp313-cp313t-musllinux_1_2_ppc64le.whl", hash = "sha256:4ef089f985b8c194d341eb2c24ae6e7408c9a0e2e5658699c92f497437d88c3c", size = 252312, upload-time = "2025-10-06T14:50:41.612Z" }, + { url = "https://files.pythonhosted.org/packages/26/64/d5416038dbda1488daf16b676e4dbfd9674dde10a0cc8f4fc2b502d8125d/multidict-6.7.0-cp313-cp313t-musllinux_1_2_s390x.whl", hash = "sha256:e93a0617cd16998784bf4414c7e40f17a35d2350e5c6f0bd900d3a8e02bd3762", size = 246935, upload-time = "2025-10-06T14:50:43.972Z" }, + { url = "https://files.pythonhosted.org/packages/9f/8c/8290c50d14e49f35e0bd4abc25e1bc7711149ca9588ab7d04f886cdf03d9/multidict-6.7.0-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:f0feece2ef8ebc42ed9e2e8c78fc4aa3cf455733b507c09ef7406364c94376c6", size = 243385, upload-time = "2025-10-06T14:50:45.648Z" }, + { url = "https://files.pythonhosted.org/packages/ef/a0/f83ae75e42d694b3fbad3e047670e511c138be747bc713cf1b10d5096416/multidict-6.7.0-cp313-cp313t-win32.whl", hash = "sha256:19a1d55338ec1be74ef62440ca9e04a2f001a04d0cc49a4983dc320ff0f3212d", size = 47777, upload-time = "2025-10-06T14:50:47.154Z" }, + { url = "https://files.pythonhosted.org/packages/dc/80/9b174a92814a3830b7357307a792300f42c9e94664b01dee8e457551fa66/multidict-6.7.0-cp313-cp313t-win_amd64.whl", hash = "sha256:3da4fb467498df97e986af166b12d01f05d2e04f978a9c1c680ea1988e0bc4b6", size = 53104, upload-time = "2025-10-06T14:50:48.851Z" }, + { url = "https://files.pythonhosted.org/packages/cc/28/04baeaf0428d95bb7a7bea0e691ba2f31394338ba424fb0679a9ed0f4c09/multidict-6.7.0-cp313-cp313t-win_arm64.whl", hash = "sha256:b4121773c49a0776461f4a904cdf6264c88e42218aaa8407e803ca8025872792", size = 45503, upload-time = "2025-10-06T14:50:50.16Z" }, + { url = "https://files.pythonhosted.org/packages/e2/b1/3da6934455dd4b261d4c72f897e3a5728eba81db59959f3a639245891baa/multidict-6.7.0-cp314-cp314-macosx_10_13_universal2.whl", hash = "sha256:3bab1e4aff7adaa34410f93b1f8e57c4b36b9af0426a76003f441ee1d3c7e842", size = 75128, upload-time = "2025-10-06T14:50:51.92Z" }, + { url = "https://files.pythonhosted.org/packages/14/2c/f069cab5b51d175a1a2cb4ccdf7a2c2dabd58aa5bd933fa036a8d15e2404/multidict-6.7.0-cp314-cp314-macosx_10_13_x86_64.whl", hash = "sha256:b8512bac933afc3e45fb2b18da8e59b78d4f408399a960339598374d4ae3b56b", size = 44410, upload-time = "2025-10-06T14:50:53.275Z" }, + { url = "https://files.pythonhosted.org/packages/42/e2/64bb41266427af6642b6b128e8774ed84c11b80a90702c13ac0a86bb10cc/multidict-6.7.0-cp314-cp314-macosx_11_0_arm64.whl", hash = "sha256:79dcf9e477bc65414ebfea98ffd013cb39552b5ecd62908752e0e413d6d06e38", size = 43205, upload-time = "2025-10-06T14:50:54.911Z" }, + { url = "https://files.pythonhosted.org/packages/02/68/6b086fef8a3f1a8541b9236c594f0c9245617c29841f2e0395d979485cde/multidict-6.7.0-cp314-cp314-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl", hash = "sha256:31bae522710064b5cbeddaf2e9f32b1abab70ac6ac91d42572502299e9953128", size = 245084, upload-time = "2025-10-06T14:50:56.369Z" }, + { url = "https://files.pythonhosted.org/packages/15/ee/f524093232007cd7a75c1d132df70f235cfd590a7c9eaccd7ff422ef4ae8/multidict-6.7.0-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:4a0df7ff02397bb63e2fd22af2c87dfa39e8c7f12947bc524dbdc528282c7e34", size = 252667, upload-time = "2025-10-06T14:50:57.991Z" }, + { url = "https://files.pythonhosted.org/packages/02/a5/eeb3f43ab45878f1895118c3ef157a480db58ede3f248e29b5354139c2c9/multidict-6.7.0-cp314-cp314-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:7a0222514e8e4c514660e182d5156a415c13ef0aabbd71682fc714e327b95e99", size = 233590, upload-time = "2025-10-06T14:50:59.589Z" }, + { url = "https://files.pythonhosted.org/packages/6a/1e/76d02f8270b97269d7e3dbd45644b1785bda457b474315f8cf999525a193/multidict-6.7.0-cp314-cp314-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:2397ab4daaf2698eb51a76721e98db21ce4f52339e535725de03ea962b5a3202", size = 264112, upload-time = "2025-10-06T14:51:01.183Z" }, + { url = "https://files.pythonhosted.org/packages/76/0b/c28a70ecb58963847c2a8efe334904cd254812b10e535aefb3bcce513918/multidict-6.7.0-cp314-cp314-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:8891681594162635948a636c9fe0ff21746aeb3dd5463f6e25d9bea3a8a39ca1", size = 261194, upload-time = "2025-10-06T14:51:02.794Z" }, + { url = "https://files.pythonhosted.org/packages/b4/63/2ab26e4209773223159b83aa32721b4021ffb08102f8ac7d689c943fded1/multidict-6.7.0-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:18706cc31dbf402a7945916dd5cddf160251b6dab8a2c5f3d6d5a55949f676b3", size = 248510, upload-time = "2025-10-06T14:51:04.724Z" }, + { url = "https://files.pythonhosted.org/packages/93/cd/06c1fa8282af1d1c46fd55c10a7930af652afdce43999501d4d68664170c/multidict-6.7.0-cp314-cp314-musllinux_1_2_aarch64.whl", hash = "sha256:f844a1bbf1d207dd311a56f383f7eda2d0e134921d45751842d8235e7778965d", size = 248395, upload-time = "2025-10-06T14:51:06.306Z" }, + { url = "https://files.pythonhosted.org/packages/99/ac/82cb419dd6b04ccf9e7e61befc00c77614fc8134362488b553402ecd55ce/multidict-6.7.0-cp314-cp314-musllinux_1_2_armv7l.whl", hash = "sha256:d4393e3581e84e5645506923816b9cc81f5609a778c7e7534054091acc64d1c6", size = 239520, upload-time = "2025-10-06T14:51:08.091Z" }, + { url = "https://files.pythonhosted.org/packages/fa/f3/a0f9bf09493421bd8716a362e0cd1d244f5a6550f5beffdd6b47e885b331/multidict-6.7.0-cp314-cp314-musllinux_1_2_i686.whl", hash = "sha256:fbd18dc82d7bf274b37aa48d664534330af744e03bccf696d6f4c6042e7d19e7", size = 245479, upload-time = "2025-10-06T14:51:10.365Z" }, + { url = "https://files.pythonhosted.org/packages/8d/01/476d38fc73a212843f43c852b0eee266b6971f0e28329c2184a8df90c376/multidict-6.7.0-cp314-cp314-musllinux_1_2_ppc64le.whl", hash = "sha256:b6234e14f9314731ec45c42fc4554b88133ad53a09092cc48a88e771c125dadb", size = 258903, upload-time = "2025-10-06T14:51:12.466Z" }, + { url = "https://files.pythonhosted.org/packages/49/6d/23faeb0868adba613b817d0e69c5f15531b24d462af8012c4f6de4fa8dc3/multidict-6.7.0-cp314-cp314-musllinux_1_2_s390x.whl", hash = "sha256:08d4379f9744d8f78d98c8673c06e202ffa88296f009c71bbafe8a6bf847d01f", size = 252333, upload-time = "2025-10-06T14:51:14.48Z" }, + { url = "https://files.pythonhosted.org/packages/1e/cc/48d02ac22b30fa247f7dad82866e4b1015431092f4ba6ebc7e77596e0b18/multidict-6.7.0-cp314-cp314-musllinux_1_2_x86_64.whl", hash = "sha256:9fe04da3f79387f450fd0061d4dd2e45a72749d31bf634aecc9e27f24fdc4b3f", size = 243411, upload-time = "2025-10-06T14:51:16.072Z" }, + { url = "https://files.pythonhosted.org/packages/4a/03/29a8bf5a18abf1fe34535c88adbdfa88c9fb869b5a3b120692c64abe8284/multidict-6.7.0-cp314-cp314-win32.whl", hash = "sha256:fbafe31d191dfa7c4c51f7a6149c9fb7e914dcf9ffead27dcfd9f1ae382b3885", size = 40940, upload-time = "2025-10-06T14:51:17.544Z" }, + { url = "https://files.pythonhosted.org/packages/82/16/7ed27b680791b939de138f906d5cf2b4657b0d45ca6f5dd6236fdddafb1a/multidict-6.7.0-cp314-cp314-win_amd64.whl", hash = "sha256:2f67396ec0310764b9222a1728ced1ab638f61aadc6226f17a71dd9324f9a99c", size = 45087, upload-time = "2025-10-06T14:51:18.875Z" }, + { url = "https://files.pythonhosted.org/packages/cd/3c/e3e62eb35a1950292fe39315d3c89941e30a9d07d5d2df42965ab041da43/multidict-6.7.0-cp314-cp314-win_arm64.whl", hash = "sha256:ba672b26069957ee369cfa7fc180dde1fc6f176eaf1e6beaf61fbebbd3d9c000", size = 42368, upload-time = "2025-10-06T14:51:20.225Z" }, + { url = "https://files.pythonhosted.org/packages/8b/40/cd499bd0dbc5f1136726db3153042a735fffd0d77268e2ee20d5f33c010f/multidict-6.7.0-cp314-cp314t-macosx_10_13_universal2.whl", hash = "sha256:c1dcc7524066fa918c6a27d61444d4ee7900ec635779058571f70d042d86ed63", size = 82326, upload-time = "2025-10-06T14:51:21.588Z" }, + { url = "https://files.pythonhosted.org/packages/13/8a/18e031eca251c8df76daf0288e6790561806e439f5ce99a170b4af30676b/multidict-6.7.0-cp314-cp314t-macosx_10_13_x86_64.whl", hash = "sha256:27e0b36c2d388dc7b6ced3406671b401e84ad7eb0656b8f3a2f46ed0ce483718", size = 48065, upload-time = "2025-10-06T14:51:22.93Z" }, + { url = "https://files.pythonhosted.org/packages/40/71/5e6701277470a87d234e433fb0a3a7deaf3bcd92566e421e7ae9776319de/multidict-6.7.0-cp314-cp314t-macosx_11_0_arm64.whl", hash = "sha256:2a7baa46a22e77f0988e3b23d4ede5513ebec1929e34ee9495be535662c0dfe2", size = 46475, upload-time = "2025-10-06T14:51:24.352Z" }, + { url = "https://files.pythonhosted.org/packages/fe/6a/bab00cbab6d9cfb57afe1663318f72ec28289ea03fd4e8236bb78429893a/multidict-6.7.0-cp314-cp314t-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl", hash = "sha256:7bf77f54997a9166a2f5675d1201520586439424c2511723a7312bdb4bcc034e", size = 239324, upload-time = "2025-10-06T14:51:25.822Z" }, + { url = "https://files.pythonhosted.org/packages/2a/5f/8de95f629fc22a7769ade8b41028e3e5a822c1f8904f618d175945a81ad3/multidict-6.7.0-cp314-cp314t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:e011555abada53f1578d63389610ac8a5400fc70ce71156b0aa30d326f1a5064", size = 246877, upload-time = "2025-10-06T14:51:27.604Z" }, + { url = "https://files.pythonhosted.org/packages/23/b4/38881a960458f25b89e9f4a4fdcb02ac101cfa710190db6e5528841e67de/multidict-6.7.0-cp314-cp314t-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:28b37063541b897fd6a318007373930a75ca6d6ac7c940dbe14731ffdd8d498e", size = 225824, upload-time = "2025-10-06T14:51:29.664Z" }, + { url = "https://files.pythonhosted.org/packages/1e/39/6566210c83f8a261575f18e7144736059f0c460b362e96e9cf797a24b8e7/multidict-6.7.0-cp314-cp314t-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:05047ada7a2fde2631a0ed706f1fd68b169a681dfe5e4cf0f8e4cb6618bbc2cd", size = 253558, upload-time = "2025-10-06T14:51:31.684Z" }, + { url = "https://files.pythonhosted.org/packages/00/a3/67f18315100f64c269f46e6c0319fa87ba68f0f64f2b8e7fd7c72b913a0b/multidict-6.7.0-cp314-cp314t-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:716133f7d1d946a4e1b91b1756b23c088881e70ff180c24e864c26192ad7534a", size = 252339, upload-time = "2025-10-06T14:51:33.699Z" }, + { url = "https://files.pythonhosted.org/packages/c8/2a/1cb77266afee2458d82f50da41beba02159b1d6b1f7973afc9a1cad1499b/multidict-6.7.0-cp314-cp314t-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:d1bed1b467ef657f2a0ae62844a607909ef1c6889562de5e1d505f74457d0b96", size = 244895, upload-time = "2025-10-06T14:51:36.189Z" }, + { url = "https://files.pythonhosted.org/packages/dd/72/09fa7dd487f119b2eb9524946ddd36e2067c08510576d43ff68469563b3b/multidict-6.7.0-cp314-cp314t-musllinux_1_2_aarch64.whl", hash = "sha256:ca43bdfa5d37bd6aee89d85e1d0831fb86e25541be7e9d376ead1b28974f8e5e", size = 241862, upload-time = "2025-10-06T14:51:41.291Z" }, + { url = "https://files.pythonhosted.org/packages/65/92/bc1f8bd0853d8669300f732c801974dfc3702c3eeadae2f60cef54dc69d7/multidict-6.7.0-cp314-cp314t-musllinux_1_2_armv7l.whl", hash = "sha256:44b546bd3eb645fd26fb949e43c02a25a2e632e2ca21a35e2e132c8105dc8599", size = 232376, upload-time = "2025-10-06T14:51:43.55Z" }, + { url = "https://files.pythonhosted.org/packages/09/86/ac39399e5cb9d0c2ac8ef6e10a768e4d3bc933ac808d49c41f9dc23337eb/multidict-6.7.0-cp314-cp314t-musllinux_1_2_i686.whl", hash = "sha256:a6ef16328011d3f468e7ebc326f24c1445f001ca1dec335b2f8e66bed3006394", size = 240272, upload-time = "2025-10-06T14:51:45.265Z" }, + { url = "https://files.pythonhosted.org/packages/3d/b6/fed5ac6b8563ec72df6cb1ea8dac6d17f0a4a1f65045f66b6d3bf1497c02/multidict-6.7.0-cp314-cp314t-musllinux_1_2_ppc64le.whl", hash = "sha256:5aa873cbc8e593d361ae65c68f85faadd755c3295ea2c12040ee146802f23b38", size = 248774, upload-time = "2025-10-06T14:51:46.836Z" }, + { url = "https://files.pythonhosted.org/packages/6b/8d/b954d8c0dc132b68f760aefd45870978deec6818897389dace00fcde32ff/multidict-6.7.0-cp314-cp314t-musllinux_1_2_s390x.whl", hash = "sha256:3d7b6ccce016e29df4b7ca819659f516f0bc7a4b3efa3bb2012ba06431b044f9", size = 242731, upload-time = "2025-10-06T14:51:48.541Z" }, + { url = "https://files.pythonhosted.org/packages/16/9d/a2dac7009125d3540c2f54e194829ea18ac53716c61b655d8ed300120b0f/multidict-6.7.0-cp314-cp314t-musllinux_1_2_x86_64.whl", hash = "sha256:171b73bd4ee683d307599b66793ac80981b06f069b62eea1c9e29c9241aa66b0", size = 240193, upload-time = "2025-10-06T14:51:50.355Z" }, + { url = "https://files.pythonhosted.org/packages/39/ca/c05f144128ea232ae2178b008d5011d4e2cea86e4ee8c85c2631b1b94802/multidict-6.7.0-cp314-cp314t-win32.whl", hash = "sha256:b2d7f80c4e1fd010b07cb26820aae86b7e73b681ee4889684fb8d2d4537aab13", size = 48023, upload-time = "2025-10-06T14:51:51.883Z" }, + { url = "https://files.pythonhosted.org/packages/ba/8f/0a60e501584145588be1af5cc829265701ba3c35a64aec8e07cbb71d39bb/multidict-6.7.0-cp314-cp314t-win_amd64.whl", hash = "sha256:09929cab6fcb68122776d575e03c6cc64ee0b8fca48d17e135474b042ce515cd", size = 53507, upload-time = "2025-10-06T14:51:53.672Z" }, + { url = "https://files.pythonhosted.org/packages/7f/ae/3148b988a9c6239903e786eac19c889fab607c31d6efa7fb2147e5680f23/multidict-6.7.0-cp314-cp314t-win_arm64.whl", hash = "sha256:cc41db090ed742f32bd2d2c721861725e6109681eddf835d0a82bd3a5c382827", size = 44804, upload-time = "2025-10-06T14:51:55.415Z" }, + { url = "https://files.pythonhosted.org/packages/b7/da/7d22601b625e241d4f23ef1ebff8acfc60da633c9e7e7922e24d10f592b3/multidict-6.7.0-py3-none-any.whl", hash = "sha256:394fc5c42a333c9ffc3e421a4c85e08580d990e08b99f6bf35b4132114c5dcb3", size = 12317, upload-time = "2025-10-06T14:52:29.272Z" }, ] [[package]] name = "networkx" -version = "3.5" +version = "3.6.1" source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/6c/4f/ccdb8ad3a38e583f214547fd2f7ff1fc160c43a75af88e6aec213404b96a/networkx-3.5.tar.gz", hash = "sha256:d4c6f9cf81f52d69230866796b82afbccdec3db7ae4fbd1b65ea750feed50037", size = 2471065, upload-time = "2025-05-29T11:35:07.804Z" } +sdist = { url = "https://files.pythonhosted.org/packages/6a/51/63fe664f3908c97be9d2e4f1158eb633317598cfa6e1fc14af5383f17512/networkx-3.6.1.tar.gz", hash = "sha256:26b7c357accc0c8cde558ad486283728b65b6a95d85ee1cd66bafab4c8168509", size = 2517025, upload-time = "2025-12-08T17:02:39.908Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/eb/8d/776adee7bbf76365fdd7f2552710282c79a4ead5d2a46408c9043a2b70ba/networkx-3.5-py3-none-any.whl", hash = "sha256:0030d386a9a06dee3565298b4a734b68589749a544acbb6c412dc9e2489ec6ec", size = 2034406, upload-time = "2025-05-29T11:35:04.961Z" }, + { url = "https://files.pythonhosted.org/packages/9e/c9/b2622292ea83fbb4ec318f5b9ab867d0a28ab43c5717bb85b0a5f6b3b0a4/networkx-3.6.1-py3-none-any.whl", hash = "sha256:d47fbf302e7d9cbbb9e2555a0d267983d2aa476bac30e90dfbe5669bd57f3762", size = 2068504, upload-time = "2025-12-08T17:02:38.159Z" }, ] [[package]] name = "numpy" -version = "2.3.1" -source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/2e/19/d7c972dfe90a353dbd3efbbe1d14a5951de80c99c9dc1b93cd998d51dc0f/numpy-2.3.1.tar.gz", hash = "sha256:1ec9ae20a4226da374362cca3c62cd753faf2f951440b0e3b98e93c235441d2b", size = 20390372, upload-time = "2025-06-21T12:28:33.469Z" } -wheels = [ - { url = "https://files.pythonhosted.org/packages/c6/56/71ad5022e2f63cfe0ca93559403d0edef14aea70a841d640bd13cdba578e/numpy-2.3.1-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:2959d8f268f3d8ee402b04a9ec4bb7604555aeacf78b360dc4ec27f1d508177d", size = 20896664, upload-time = "2025-06-21T12:15:30.845Z" }, - { url = "https://files.pythonhosted.org/packages/25/65/2db52ba049813670f7f987cc5db6dac9be7cd95e923cc6832b3d32d87cef/numpy-2.3.1-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:762e0c0c6b56bdedfef9a8e1d4538556438288c4276901ea008ae44091954e29", size = 14131078, upload-time = "2025-06-21T12:15:52.23Z" }, - { url = "https://files.pythonhosted.org/packages/57/dd/28fa3c17b0e751047ac928c1e1b6990238faad76e9b147e585b573d9d1bd/numpy-2.3.1-cp312-cp312-macosx_14_0_arm64.whl", hash = "sha256:867ef172a0976aaa1f1d1b63cf2090de8b636a7674607d514505fb7276ab08fc", size = 5112554, upload-time = "2025-06-21T12:16:01.434Z" }, - { url = "https://files.pythonhosted.org/packages/c9/fc/84ea0cba8e760c4644b708b6819d91784c290288c27aca916115e3311d17/numpy-2.3.1-cp312-cp312-macosx_14_0_x86_64.whl", hash = "sha256:4e602e1b8682c2b833af89ba641ad4176053aaa50f5cacda1a27004352dde943", size = 6646560, upload-time = "2025-06-21T12:16:11.895Z" }, - { url = "https://files.pythonhosted.org/packages/61/b2/512b0c2ddec985ad1e496b0bd853eeb572315c0f07cd6997473ced8f15e2/numpy-2.3.1-cp312-cp312-manylinux_2_28_aarch64.whl", hash = "sha256:8e333040d069eba1652fb08962ec5b76af7f2c7bce1df7e1418c8055cf776f25", size = 14260638, upload-time = "2025-06-21T12:16:32.611Z" }, - { url = "https://files.pythonhosted.org/packages/6e/45/c51cb248e679a6c6ab14b7a8e3ead3f4a3fe7425fc7a6f98b3f147bec532/numpy-2.3.1-cp312-cp312-manylinux_2_28_x86_64.whl", hash = "sha256:e7cbf5a5eafd8d230a3ce356d892512185230e4781a361229bd902ff403bc660", size = 16632729, upload-time = "2025-06-21T12:16:57.439Z" }, - { url = "https://files.pythonhosted.org/packages/e4/ff/feb4be2e5c09a3da161b412019caf47183099cbea1132fd98061808c2df2/numpy-2.3.1-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:5f1b8f26d1086835f442286c1d9b64bb3974b0b1e41bb105358fd07d20872952", size = 15565330, upload-time = "2025-06-21T12:17:20.638Z" }, - { url = "https://files.pythonhosted.org/packages/bc/6d/ceafe87587101e9ab0d370e4f6e5f3f3a85b9a697f2318738e5e7e176ce3/numpy-2.3.1-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:ee8340cb48c9b7a5899d1149eece41ca535513a9698098edbade2a8e7a84da77", size = 18361734, upload-time = "2025-06-21T12:17:47.938Z" }, - { url = "https://files.pythonhosted.org/packages/2b/19/0fb49a3ea088be691f040c9bf1817e4669a339d6e98579f91859b902c636/numpy-2.3.1-cp312-cp312-win32.whl", hash = "sha256:e772dda20a6002ef7061713dc1e2585bc1b534e7909b2030b5a46dae8ff077ab", size = 6320411, upload-time = "2025-06-21T12:17:58.475Z" }, - { url = "https://files.pythonhosted.org/packages/b1/3e/e28f4c1dd9e042eb57a3eb652f200225e311b608632bc727ae378623d4f8/numpy-2.3.1-cp312-cp312-win_amd64.whl", hash = "sha256:cfecc7822543abdea6de08758091da655ea2210b8ffa1faf116b940693d3df76", size = 12734973, upload-time = "2025-06-21T12:18:17.601Z" }, - { url = "https://files.pythonhosted.org/packages/04/a8/8a5e9079dc722acf53522b8f8842e79541ea81835e9b5483388701421073/numpy-2.3.1-cp312-cp312-win_arm64.whl", hash = "sha256:7be91b2239af2658653c5bb6f1b8bccafaf08226a258caf78ce44710a0160d30", size = 10191491, upload-time = "2025-06-21T12:18:33.585Z" }, - { url = "https://files.pythonhosted.org/packages/d4/bd/35ad97006d8abff8631293f8ea6adf07b0108ce6fec68da3c3fcca1197f2/numpy-2.3.1-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:25a1992b0a3fdcdaec9f552ef10d8103186f5397ab45e2d25f8ac51b1a6b97e8", size = 20889381, upload-time = "2025-06-21T12:19:04.103Z" }, - { url = "https://files.pythonhosted.org/packages/f1/4f/df5923874d8095b6062495b39729178eef4a922119cee32a12ee1bd4664c/numpy-2.3.1-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:7dea630156d39b02a63c18f508f85010230409db5b2927ba59c8ba4ab3e8272e", size = 14152726, upload-time = "2025-06-21T12:19:25.599Z" }, - { url = "https://files.pythonhosted.org/packages/8c/0f/a1f269b125806212a876f7efb049b06c6f8772cf0121139f97774cd95626/numpy-2.3.1-cp313-cp313-macosx_14_0_arm64.whl", hash = "sha256:bada6058dd886061f10ea15f230ccf7dfff40572e99fef440a4a857c8728c9c0", size = 5105145, upload-time = "2025-06-21T12:19:34.782Z" }, - { url = "https://files.pythonhosted.org/packages/6d/63/a7f7fd5f375b0361682f6ffbf686787e82b7bbd561268e4f30afad2bb3c0/numpy-2.3.1-cp313-cp313-macosx_14_0_x86_64.whl", hash = "sha256:a894f3816eb17b29e4783e5873f92faf55b710c2519e5c351767c51f79d8526d", size = 6639409, upload-time = "2025-06-21T12:19:45.228Z" }, - { url = "https://files.pythonhosted.org/packages/bf/0d/1854a4121af895aab383f4aa233748f1df4671ef331d898e32426756a8a6/numpy-2.3.1-cp313-cp313-manylinux_2_28_aarch64.whl", hash = "sha256:18703df6c4a4fee55fd3d6e5a253d01c5d33a295409b03fda0c86b3ca2ff41a1", size = 14257630, upload-time = "2025-06-21T12:20:06.544Z" }, - { url = "https://files.pythonhosted.org/packages/50/30/af1b277b443f2fb08acf1c55ce9d68ee540043f158630d62cef012750f9f/numpy-2.3.1-cp313-cp313-manylinux_2_28_x86_64.whl", hash = "sha256:5902660491bd7a48b2ec16c23ccb9124b8abfd9583c5fdfa123fe6b421e03de1", size = 16627546, upload-time = "2025-06-21T12:20:31.002Z" }, - { url = "https://files.pythonhosted.org/packages/6e/ec/3b68220c277e463095342d254c61be8144c31208db18d3fd8ef02712bcd6/numpy-2.3.1-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:36890eb9e9d2081137bd78d29050ba63b8dab95dff7912eadf1185e80074b2a0", size = 15562538, upload-time = "2025-06-21T12:20:54.322Z" }, - { url = "https://files.pythonhosted.org/packages/77/2b/4014f2bcc4404484021c74d4c5ee8eb3de7e3f7ac75f06672f8dcf85140a/numpy-2.3.1-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:a780033466159c2270531e2b8ac063704592a0bc62ec4a1b991c7c40705eb0e8", size = 18360327, upload-time = "2025-06-21T12:21:21.053Z" }, - { url = "https://files.pythonhosted.org/packages/40/8d/2ddd6c9b30fcf920837b8672f6c65590c7d92e43084c25fc65edc22e93ca/numpy-2.3.1-cp313-cp313-win32.whl", hash = "sha256:39bff12c076812595c3a306f22bfe49919c5513aa1e0e70fac756a0be7c2a2b8", size = 6312330, upload-time = "2025-06-21T12:25:07.447Z" }, - { url = "https://files.pythonhosted.org/packages/dd/c8/beaba449925988d415efccb45bf977ff8327a02f655090627318f6398c7b/numpy-2.3.1-cp313-cp313-win_amd64.whl", hash = "sha256:8d5ee6eec45f08ce507a6570e06f2f879b374a552087a4179ea7838edbcbfa42", size = 12731565, upload-time = "2025-06-21T12:25:26.444Z" }, - { url = "https://files.pythonhosted.org/packages/0b/c3/5c0c575d7ec78c1126998071f58facfc124006635da75b090805e642c62e/numpy-2.3.1-cp313-cp313-win_arm64.whl", hash = "sha256:0c4d9e0a8368db90f93bd192bfa771ace63137c3488d198ee21dfb8e7771916e", size = 10190262, upload-time = "2025-06-21T12:25:42.196Z" }, - { url = "https://files.pythonhosted.org/packages/ea/19/a029cd335cf72f79d2644dcfc22d90f09caa86265cbbde3b5702ccef6890/numpy-2.3.1-cp313-cp313t-macosx_10_13_x86_64.whl", hash = "sha256:b0b5397374f32ec0649dd98c652a1798192042e715df918c20672c62fb52d4b8", size = 20987593, upload-time = "2025-06-21T12:21:51.664Z" }, - { url = "https://files.pythonhosted.org/packages/25/91/8ea8894406209107d9ce19b66314194675d31761fe2cb3c84fe2eeae2f37/numpy-2.3.1-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:c5bdf2015ccfcee8253fb8be695516ac4457c743473a43290fd36eba6a1777eb", size = 14300523, upload-time = "2025-06-21T12:22:13.583Z" }, - { url = "https://files.pythonhosted.org/packages/a6/7f/06187b0066eefc9e7ce77d5f2ddb4e314a55220ad62dd0bfc9f2c44bac14/numpy-2.3.1-cp313-cp313t-macosx_14_0_arm64.whl", hash = "sha256:d70f20df7f08b90a2062c1f07737dd340adccf2068d0f1b9b3d56e2038979fee", size = 5227993, upload-time = "2025-06-21T12:22:22.53Z" }, - { url = "https://files.pythonhosted.org/packages/e8/ec/a926c293c605fa75e9cfb09f1e4840098ed46d2edaa6e2152ee35dc01ed3/numpy-2.3.1-cp313-cp313t-macosx_14_0_x86_64.whl", hash = "sha256:2fb86b7e58f9ac50e1e9dd1290154107e47d1eef23a0ae9145ded06ea606f992", size = 6736652, upload-time = "2025-06-21T12:22:33.629Z" }, - { url = "https://files.pythonhosted.org/packages/e3/62/d68e52fb6fde5586650d4c0ce0b05ff3a48ad4df4ffd1b8866479d1d671d/numpy-2.3.1-cp313-cp313t-manylinux_2_28_aarch64.whl", hash = "sha256:23ab05b2d241f76cb883ce8b9a93a680752fbfcbd51c50eff0b88b979e471d8c", size = 14331561, upload-time = "2025-06-21T12:22:55.056Z" }, - { url = "https://files.pythonhosted.org/packages/fc/ec/b74d3f2430960044bdad6900d9f5edc2dc0fb8bf5a0be0f65287bf2cbe27/numpy-2.3.1-cp313-cp313t-manylinux_2_28_x86_64.whl", hash = "sha256:ce2ce9e5de4703a673e705183f64fd5da5bf36e7beddcb63a25ee2286e71ca48", size = 16693349, upload-time = "2025-06-21T12:23:20.53Z" }, - { url = "https://files.pythonhosted.org/packages/0d/15/def96774b9d7eb198ddadfcbd20281b20ebb510580419197e225f5c55c3e/numpy-2.3.1-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:c4913079974eeb5c16ccfd2b1f09354b8fed7e0d6f2cab933104a09a6419b1ee", size = 15642053, upload-time = "2025-06-21T12:23:43.697Z" }, - { url = "https://files.pythonhosted.org/packages/2b/57/c3203974762a759540c6ae71d0ea2341c1fa41d84e4971a8e76d7141678a/numpy-2.3.1-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:010ce9b4f00d5c036053ca684c77441f2f2c934fd23bee058b4d6f196efd8280", size = 18434184, upload-time = "2025-06-21T12:24:10.708Z" }, - { url = "https://files.pythonhosted.org/packages/22/8a/ccdf201457ed8ac6245187850aff4ca56a79edbea4829f4e9f14d46fa9a5/numpy-2.3.1-cp313-cp313t-win32.whl", hash = "sha256:6269b9edfe32912584ec496d91b00b6d34282ca1d07eb10e82dfc780907d6c2e", size = 6440678, upload-time = "2025-06-21T12:24:21.596Z" }, - { url = "https://files.pythonhosted.org/packages/f1/7e/7f431d8bd8eb7e03d79294aed238b1b0b174b3148570d03a8a8a8f6a0da9/numpy-2.3.1-cp313-cp313t-win_amd64.whl", hash = "sha256:2a809637460e88a113e186e87f228d74ae2852a2e0c44de275263376f17b5bdc", size = 12870697, upload-time = "2025-06-21T12:24:40.644Z" }, - { url = "https://files.pythonhosted.org/packages/d4/ca/af82bf0fad4c3e573c6930ed743b5308492ff19917c7caaf2f9b6f9e2e98/numpy-2.3.1-cp313-cp313t-win_arm64.whl", hash = "sha256:eccb9a159db9aed60800187bc47a6d3451553f0e1b08b068d8b277ddfbb9b244", size = 10260376, upload-time = "2025-06-21T12:24:56.884Z" }, +version = "2.4.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/a4/7a/6a3d14e205d292b738db449d0de649b373a59edb0d0b4493821d0a3e8718/numpy-2.4.0.tar.gz", hash = "sha256:6e504f7b16118198f138ef31ba24d985b124c2c469fe8467007cf30fd992f934", size = 20685720, upload-time = "2025-12-20T16:18:19.023Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/8b/ff/f6400ffec95de41c74b8e73df32e3fff1830633193a7b1e409be7fb1bb8c/numpy-2.4.0-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:2a8b6bb8369abefb8bd1801b054ad50e02b3275c8614dc6e5b0373c305291037", size = 16653117, upload-time = "2025-12-20T16:16:06.709Z" }, + { url = "https://files.pythonhosted.org/packages/fd/28/6c23e97450035072e8d830a3c411bf1abd1f42c611ff9d29e3d8f55c6252/numpy-2.4.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:2e284ca13d5a8367e43734148622caf0b261b275673823593e3e3634a6490f83", size = 12369711, upload-time = "2025-12-20T16:16:08.758Z" }, + { url = "https://files.pythonhosted.org/packages/bc/af/acbef97b630ab1bb45e6a7d01d1452e4251aa88ce680ac36e56c272120ec/numpy-2.4.0-cp312-cp312-macosx_14_0_arm64.whl", hash = "sha256:49ff32b09f5aa0cd30a20c2b39db3e669c845589f2b7fc910365210887e39344", size = 5198355, upload-time = "2025-12-20T16:16:10.902Z" }, + { url = "https://files.pythonhosted.org/packages/c1/c8/4e0d436b66b826f2e53330adaa6311f5cac9871a5b5c31ad773b27f25a74/numpy-2.4.0-cp312-cp312-macosx_14_0_x86_64.whl", hash = "sha256:36cbfb13c152b1c7c184ddac43765db8ad672567e7bafff2cc755a09917ed2e6", size = 6545298, upload-time = "2025-12-20T16:16:12.607Z" }, + { url = "https://files.pythonhosted.org/packages/ef/27/e1f5d144ab54eac34875e79037011d511ac57b21b220063310cb96c80fbc/numpy-2.4.0-cp312-cp312-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:35ddc8f4914466e6fc954c76527aa91aa763682a4f6d73249ef20b418fe6effb", size = 14398387, upload-time = "2025-12-20T16:16:14.257Z" }, + { url = "https://files.pythonhosted.org/packages/67/64/4cb909dd5ab09a9a5d086eff9586e69e827b88a5585517386879474f4cf7/numpy-2.4.0-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:dc578891de1db95b2a35001b695451767b580bb45753717498213c5ff3c41d63", size = 16363091, upload-time = "2025-12-20T16:16:17.32Z" }, + { url = "https://files.pythonhosted.org/packages/9d/9c/8efe24577523ec6809261859737cf117b0eb6fdb655abdfdc81b2e468ce4/numpy-2.4.0-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:98e81648e0b36e325ab67e46b5400a7a6d4a22b8a7c8e8bbfe20e7db7906bf95", size = 16176394, upload-time = "2025-12-20T16:16:19.524Z" }, + { url = "https://files.pythonhosted.org/packages/61/f0/1687441ece7b47a62e45a1f82015352c240765c707928edd8aef875d5951/numpy-2.4.0-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:d57b5046c120561ba8fa8e4030fbb8b822f3063910fa901ffadf16e2b7128ad6", size = 18287378, upload-time = "2025-12-20T16:16:22.866Z" }, + { url = "https://files.pythonhosted.org/packages/d3/6f/f868765d44e6fc466467ed810ba9d8d6db1add7d4a748abfa2a4c99a3194/numpy-2.4.0-cp312-cp312-win32.whl", hash = "sha256:92190db305a6f48734d3982f2c60fa30d6b5ee9bff10f2887b930d7b40119f4c", size = 5955432, upload-time = "2025-12-20T16:16:25.06Z" }, + { url = "https://files.pythonhosted.org/packages/d4/b5/94c1e79fcbab38d1ca15e13777477b2914dd2d559b410f96949d6637b085/numpy-2.4.0-cp312-cp312-win_amd64.whl", hash = "sha256:680060061adb2d74ce352628cb798cfdec399068aa7f07ba9fb818b2b3305f98", size = 12306201, upload-time = "2025-12-20T16:16:26.979Z" }, + { url = "https://files.pythonhosted.org/packages/70/09/c39dadf0b13bb0768cd29d6a3aaff1fb7c6905ac40e9aaeca26b1c086e06/numpy-2.4.0-cp312-cp312-win_arm64.whl", hash = "sha256:39699233bc72dd482da1415dcb06076e32f60eddc796a796c5fb6c5efce94667", size = 10308234, upload-time = "2025-12-20T16:16:29.417Z" }, + { url = "https://files.pythonhosted.org/packages/a7/0d/853fd96372eda07c824d24adf02e8bc92bb3731b43a9b2a39161c3667cc4/numpy-2.4.0-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:a152d86a3ae00ba5f47b3acf3b827509fd0b6cb7d3259665e63dafbad22a75ea", size = 16649088, upload-time = "2025-12-20T16:16:31.421Z" }, + { url = "https://files.pythonhosted.org/packages/e3/37/cc636f1f2a9f585434e20a3e6e63422f70bfe4f7f6698e941db52ea1ac9a/numpy-2.4.0-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:39b19251dec4de8ff8496cd0806cbe27bf0684f765abb1f4809554de93785f2d", size = 12364065, upload-time = "2025-12-20T16:16:33.491Z" }, + { url = "https://files.pythonhosted.org/packages/ed/69/0b78f37ca3690969beee54103ce5f6021709134e8020767e93ba691a72f1/numpy-2.4.0-cp313-cp313-macosx_14_0_arm64.whl", hash = "sha256:009bd0ea12d3c784b6639a8457537016ce5172109e585338e11334f6a7bb88ee", size = 5192640, upload-time = "2025-12-20T16:16:35.636Z" }, + { url = "https://files.pythonhosted.org/packages/1d/2a/08569f8252abf590294dbb09a430543ec8f8cc710383abfb3e75cc73aeda/numpy-2.4.0-cp313-cp313-macosx_14_0_x86_64.whl", hash = "sha256:5fe44e277225fd3dff6882d86d3d447205d43532c3627313d17e754fb3905a0e", size = 6541556, upload-time = "2025-12-20T16:16:37.276Z" }, + { url = "https://files.pythonhosted.org/packages/93/e9/a949885a4e177493d61519377952186b6cbfdf1d6002764c664ba28349b5/numpy-2.4.0-cp313-cp313-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:f935c4493eda9069851058fa0d9e39dbf6286be690066509305e52912714dbb2", size = 14396562, upload-time = "2025-12-20T16:16:38.953Z" }, + { url = "https://files.pythonhosted.org/packages/99/98/9d4ad53b0e9ef901c2ef1d550d2136f5ac42d3fd2988390a6def32e23e48/numpy-2.4.0-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:8cfa5f29a695cb7438965e6c3e8d06e0416060cf0d709c1b1c1653a939bf5c2a", size = 16351719, upload-time = "2025-12-20T16:16:41.503Z" }, + { url = "https://files.pythonhosted.org/packages/28/de/5f3711a38341d6e8dd619f6353251a0cdd07f3d6d101a8fd46f4ef87f895/numpy-2.4.0-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:ba0cb30acd3ef11c94dc27fbfba68940652492bc107075e7ffe23057f9425681", size = 16176053, upload-time = "2025-12-20T16:16:44.552Z" }, + { url = "https://files.pythonhosted.org/packages/2a/5b/2a3753dc43916501b4183532e7ace862e13211042bceafa253afb5c71272/numpy-2.4.0-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:60e8c196cd82cbbd4f130b5290007e13e6de3eca79f0d4d38014769d96a7c475", size = 18277859, upload-time = "2025-12-20T16:16:47.174Z" }, + { url = "https://files.pythonhosted.org/packages/2c/c5/a18bcdd07a941db3076ef489d036ab16d2bfc2eae0cf27e5a26e29189434/numpy-2.4.0-cp313-cp313-win32.whl", hash = "sha256:5f48cb3e88fbc294dc90e215d86fbaf1c852c63dbdb6c3a3e63f45c4b57f7344", size = 5953849, upload-time = "2025-12-20T16:16:49.554Z" }, + { url = "https://files.pythonhosted.org/packages/4f/f1/719010ff8061da6e8a26e1980cf090412d4f5f8060b31f0c45d77dd67a01/numpy-2.4.0-cp313-cp313-win_amd64.whl", hash = "sha256:a899699294f28f7be8992853c0c60741f16ff199205e2e6cdca155762cbaa59d", size = 12302840, upload-time = "2025-12-20T16:16:51.227Z" }, + { url = "https://files.pythonhosted.org/packages/f5/5a/b3d259083ed8b4d335270c76966cb6cf14a5d1b69e1a608994ac57a659e6/numpy-2.4.0-cp313-cp313-win_arm64.whl", hash = "sha256:9198f447e1dc5647d07c9a6bbe2063cc0132728cc7175b39dbc796da5b54920d", size = 10308509, upload-time = "2025-12-20T16:16:53.313Z" }, + { url = "https://files.pythonhosted.org/packages/31/01/95edcffd1bb6c0633df4e808130545c4f07383ab629ac7e316fb44fff677/numpy-2.4.0-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:74623f2ab5cc3f7c886add4f735d1031a1d2be4a4ae63c0546cfd74e7a31ddf6", size = 12491815, upload-time = "2025-12-20T16:16:55.496Z" }, + { url = "https://files.pythonhosted.org/packages/59/ea/5644b8baa92cc1c7163b4b4458c8679852733fa74ca49c942cfa82ded4e0/numpy-2.4.0-cp313-cp313t-macosx_14_0_arm64.whl", hash = "sha256:0804a8e4ab070d1d35496e65ffd3cf8114c136a2b81f61dfab0de4b218aacfd5", size = 5320321, upload-time = "2025-12-20T16:16:57.468Z" }, + { url = "https://files.pythonhosted.org/packages/26/4e/e10938106d70bc21319bd6a86ae726da37edc802ce35a3a71ecdf1fdfe7f/numpy-2.4.0-cp313-cp313t-macosx_14_0_x86_64.whl", hash = "sha256:02a2038eb27f9443a8b266a66911e926566b5a6ffd1a689b588f7f35b81e7dc3", size = 6641635, upload-time = "2025-12-20T16:16:59.379Z" }, + { url = "https://files.pythonhosted.org/packages/b3/8d/a8828e3eaf5c0b4ab116924df82f24ce3416fa38d0674d8f708ddc6c8aac/numpy-2.4.0-cp313-cp313t-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:1889b3a3f47a7b5bee16bc25a2145bd7cb91897f815ce3499db64c7458b6d91d", size = 14456053, upload-time = "2025-12-20T16:17:01.768Z" }, + { url = "https://files.pythonhosted.org/packages/68/a1/17d97609d87d4520aa5ae2dcfb32305654550ac6a35effb946d303e594ce/numpy-2.4.0-cp313-cp313t-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:85eef4cb5625c47ee6425c58a3502555e10f45ee973da878ac8248ad58c136f3", size = 16401702, upload-time = "2025-12-20T16:17:04.235Z" }, + { url = "https://files.pythonhosted.org/packages/18/32/0f13c1b2d22bea1118356b8b963195446f3af124ed7a5adfa8fdecb1b6ca/numpy-2.4.0-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:6dc8b7e2f4eb184b37655195f421836cfae6f58197b67e3ffc501f1333d993fa", size = 16242493, upload-time = "2025-12-20T16:17:06.856Z" }, + { url = "https://files.pythonhosted.org/packages/ae/23/48f21e3d309fbc137c068a1475358cbd3a901b3987dcfc97a029ab3068e2/numpy-2.4.0-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:44aba2f0cafd287871a495fb3163408b0bd25bbce135c6f621534a07f4f7875c", size = 18324222, upload-time = "2025-12-20T16:17:09.392Z" }, + { url = "https://files.pythonhosted.org/packages/ac/52/41f3d71296a3dcaa4f456aaa3c6fc8e745b43d0552b6bde56571bb4b4a0f/numpy-2.4.0-cp313-cp313t-win32.whl", hash = "sha256:20c115517513831860c573996e395707aa9fb691eb179200125c250e895fcd93", size = 6076216, upload-time = "2025-12-20T16:17:11.437Z" }, + { url = "https://files.pythonhosted.org/packages/35/ff/46fbfe60ab0710d2a2b16995f708750307d30eccbb4c38371ea9e986866e/numpy-2.4.0-cp313-cp313t-win_amd64.whl", hash = "sha256:b48e35f4ab6f6a7597c46e301126ceba4c44cd3280e3750f85db48b082624fa4", size = 12444263, upload-time = "2025-12-20T16:17:13.182Z" }, + { url = "https://files.pythonhosted.org/packages/a3/e3/9189ab319c01d2ed556c932ccf55064c5d75bb5850d1df7a482ce0badead/numpy-2.4.0-cp313-cp313t-win_arm64.whl", hash = "sha256:4d1cfce39e511069b11e67cd0bd78ceff31443b7c9e5c04db73c7a19f572967c", size = 10378265, upload-time = "2025-12-20T16:17:15.211Z" }, + { url = "https://files.pythonhosted.org/packages/ab/ed/52eac27de39d5e5a6c9aadabe672bc06f55e24a3d9010cd1183948055d76/numpy-2.4.0-cp314-cp314-macosx_10_15_x86_64.whl", hash = "sha256:c95eb6db2884917d86cde0b4d4cf31adf485c8ec36bf8696dd66fa70de96f36b", size = 16647476, upload-time = "2025-12-20T16:17:17.671Z" }, + { url = "https://files.pythonhosted.org/packages/77/c0/990ce1b7fcd4e09aeaa574e2a0a839589e4b08b2ca68070f1acb1fea6736/numpy-2.4.0-cp314-cp314-macosx_11_0_arm64.whl", hash = "sha256:65167da969cd1ec3a1df31cb221ca3a19a8aaa25370ecb17d428415e93c1935e", size = 12374563, upload-time = "2025-12-20T16:17:20.216Z" }, + { url = "https://files.pythonhosted.org/packages/37/7c/8c5e389c6ae8f5fd2277a988600d79e9625db3fff011a2d87ac80b881a4c/numpy-2.4.0-cp314-cp314-macosx_14_0_arm64.whl", hash = "sha256:3de19cfecd1465d0dcf8a5b5ea8b3155b42ed0b639dba4b71e323d74f2a3be5e", size = 5203107, upload-time = "2025-12-20T16:17:22.47Z" }, + { url = "https://files.pythonhosted.org/packages/e6/94/ca5b3bd6a8a70a5eec9a0b8dd7f980c1eff4b8a54970a9a7fef248ef564f/numpy-2.4.0-cp314-cp314-macosx_14_0_x86_64.whl", hash = "sha256:6c05483c3136ac4c91b4e81903cb53a8707d316f488124d0398499a4f8e8ef51", size = 6538067, upload-time = "2025-12-20T16:17:24.001Z" }, + { url = "https://files.pythonhosted.org/packages/79/43/993eb7bb5be6761dde2b3a3a594d689cec83398e3f58f4758010f3b85727/numpy-2.4.0-cp314-cp314-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:36667db4d6c1cea79c8930ab72fadfb4060feb4bfe724141cd4bd064d2e5f8ce", size = 14411926, upload-time = "2025-12-20T16:17:25.822Z" }, + { url = "https://files.pythonhosted.org/packages/03/75/d4c43b61de473912496317a854dac54f1efec3eeb158438da6884b70bb90/numpy-2.4.0-cp314-cp314-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:9a818668b674047fd88c4cddada7ab8f1c298812783e8328e956b78dc4807f9f", size = 16354295, upload-time = "2025-12-20T16:17:28.308Z" }, + { url = "https://files.pythonhosted.org/packages/b8/0a/b54615b47ee8736a6461a4bb6749128dd3435c5a759d5663f11f0e9af4ac/numpy-2.4.0-cp314-cp314-musllinux_1_2_aarch64.whl", hash = "sha256:1ee32359fb7543b7b7bd0b2f46294db27e29e7bbdf70541e81b190836cd83ded", size = 16190242, upload-time = "2025-12-20T16:17:30.993Z" }, + { url = "https://files.pythonhosted.org/packages/98/ce/ea207769aacad6246525ec6c6bbd66a2bf56c72443dc10e2f90feed29290/numpy-2.4.0-cp314-cp314-musllinux_1_2_x86_64.whl", hash = "sha256:e493962256a38f58283de033d8af176c5c91c084ea30f15834f7545451c42059", size = 18280875, upload-time = "2025-12-20T16:17:33.327Z" }, + { url = "https://files.pythonhosted.org/packages/17/ef/ec409437aa962ea372ed601c519a2b141701683ff028f894b7466f0ab42b/numpy-2.4.0-cp314-cp314-win32.whl", hash = "sha256:6bbaebf0d11567fa8926215ae731e1d58e6ec28a8a25235b8a47405d301332db", size = 6002530, upload-time = "2025-12-20T16:17:35.729Z" }, + { url = "https://files.pythonhosted.org/packages/5f/4a/5cb94c787a3ed1ac65e1271b968686521169a7b3ec0b6544bb3ca32960b0/numpy-2.4.0-cp314-cp314-win_amd64.whl", hash = "sha256:3d857f55e7fdf7c38ab96c4558c95b97d1c685be6b05c249f5fdafcbd6f9899e", size = 12435890, upload-time = "2025-12-20T16:17:37.599Z" }, + { url = "https://files.pythonhosted.org/packages/48/a0/04b89db963af9de1104975e2544f30de89adbf75b9e75f7dd2599be12c79/numpy-2.4.0-cp314-cp314-win_arm64.whl", hash = "sha256:bb50ce5fb202a26fd5404620e7ef820ad1ab3558b444cb0b55beb7ef66cd2d63", size = 10591892, upload-time = "2025-12-20T16:17:39.649Z" }, + { url = "https://files.pythonhosted.org/packages/53/e5/d74b5ccf6712c06c7a545025a6a71bfa03bdc7e0568b405b0d655232fd92/numpy-2.4.0-cp314-cp314t-macosx_11_0_arm64.whl", hash = "sha256:355354388cba60f2132df297e2d53053d4063f79077b67b481d21276d61fc4df", size = 12494312, upload-time = "2025-12-20T16:17:41.714Z" }, + { url = "https://files.pythonhosted.org/packages/c2/08/3ca9cc2ddf54dfee7ae9a6479c071092a228c68aef08252aa08dac2af002/numpy-2.4.0-cp314-cp314t-macosx_14_0_arm64.whl", hash = "sha256:1d8f9fde5f6dc1b6fc34df8162f3b3079365468703fee7f31d4e0cc8c63baed9", size = 5322862, upload-time = "2025-12-20T16:17:44.145Z" }, + { url = "https://files.pythonhosted.org/packages/87/74/0bb63a68394c0c1e52670cfff2e309afa41edbe11b3327d9af29e4383f34/numpy-2.4.0-cp314-cp314t-macosx_14_0_x86_64.whl", hash = "sha256:e0434aa22c821f44eeb4c650b81c7fbdd8c0122c6c4b5a576a76d5a35625ecd9", size = 6644986, upload-time = "2025-12-20T16:17:46.203Z" }, + { url = "https://files.pythonhosted.org/packages/06/8f/9264d9bdbcf8236af2823623fe2f3981d740fc3461e2787e231d97c38c28/numpy-2.4.0-cp314-cp314t-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:40483b2f2d3ba7aad426443767ff5632ec3156ef09742b96913787d13c336471", size = 14457958, upload-time = "2025-12-20T16:17:48.017Z" }, + { url = "https://files.pythonhosted.org/packages/8c/d9/f9a69ae564bbc7236a35aa883319364ef5fd41f72aa320cc1cbe66148fe2/numpy-2.4.0-cp314-cp314t-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:d9e6a7664ddd9746e20b7325351fe1a8408d0a2bf9c63b5e898290ddc8f09544", size = 16398394, upload-time = "2025-12-20T16:17:50.409Z" }, + { url = "https://files.pythonhosted.org/packages/34/c7/39241501408dde7f885d241a98caba5421061a2c6d2b2197ac5e3aa842d8/numpy-2.4.0-cp314-cp314t-musllinux_1_2_aarch64.whl", hash = "sha256:ecb0019d44f4cdb50b676c5d0cb4b1eae8e15d1ed3d3e6639f986fc92b2ec52c", size = 16241044, upload-time = "2025-12-20T16:17:52.661Z" }, + { url = "https://files.pythonhosted.org/packages/7c/95/cae7effd90e065a95e59fe710eeee05d7328ed169776dfdd9f789e032125/numpy-2.4.0-cp314-cp314t-musllinux_1_2_x86_64.whl", hash = "sha256:d0ffd9e2e4441c96a9c91ec1783285d80bf835b677853fc2770a89d50c1e48ac", size = 18321772, upload-time = "2025-12-20T16:17:54.947Z" }, + { url = "https://files.pythonhosted.org/packages/96/df/3c6c279accd2bfb968a76298e5b276310bd55d243df4fa8ac5816d79347d/numpy-2.4.0-cp314-cp314t-win32.whl", hash = "sha256:77f0d13fa87036d7553bf81f0e1fe3ce68d14c9976c9851744e4d3e91127e95f", size = 6148320, upload-time = "2025-12-20T16:17:57.249Z" }, + { url = "https://files.pythonhosted.org/packages/92/8d/f23033cce252e7a75cae853d17f582e86534c46404dea1c8ee094a9d6d84/numpy-2.4.0-cp314-cp314t-win_amd64.whl", hash = "sha256:b1f5b45829ac1848893f0ddf5cb326110604d6df96cdc255b0bf9edd154104d4", size = 12623460, upload-time = "2025-12-20T16:17:58.963Z" }, + { url = "https://files.pythonhosted.org/packages/a4/4f/1f8475907d1a7c4ef9020edf7f39ea2422ec896849245f00688e4b268a71/numpy-2.4.0-cp314-cp314t-win_arm64.whl", hash = "sha256:23a3e9d1a6f360267e8fbb38ba5db355a6a7e9be71d7fce7ab3125e88bb646c8", size = 10661799, upload-time = "2025-12-20T16:18:01.078Z" }, ] [[package]] name = "opentelemetry-api" -version = "1.36.0" +version = "1.39.1" source = { registry = "https://pypi.org/simple" } dependencies = [ { name = "importlib-metadata" }, { name = "typing-extensions" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/27/d2/c782c88b8afbf961d6972428821c302bd1e9e7bc361352172f0ca31296e2/opentelemetry_api-1.36.0.tar.gz", hash = "sha256:9a72572b9c416d004d492cbc6e61962c0501eaf945ece9b5a0f56597d8348aa0", size = 64780, upload-time = "2025-07-29T15:12:06.02Z" } +sdist = { url = "https://files.pythonhosted.org/packages/97/b9/3161be15bb8e3ad01be8be5a968a9237c3027c5be504362ff800fca3e442/opentelemetry_api-1.39.1.tar.gz", hash = "sha256:fbde8c80e1b937a2c61f20347e91c0c18a1940cecf012d62e65a7caf08967c9c", size = 65767, upload-time = "2025-12-11T13:32:39.182Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/bb/ee/6b08dde0a022c463b88f55ae81149584b125a42183407dc1045c486cc870/opentelemetry_api-1.36.0-py3-none-any.whl", hash = "sha256:02f20bcacf666e1333b6b1f04e647dc1d5111f86b8e510238fcc56d7762cda8c", size = 65564, upload-time = "2025-07-29T15:11:47.998Z" }, + { url = "https://files.pythonhosted.org/packages/cf/df/d3f1ddf4bb4cb50ed9b1139cc7b1c54c34a1e7ce8fd1b9a37c0d1551a6bd/opentelemetry_api-1.39.1-py3-none-any.whl", hash = "sha256:2edd8463432a7f8443edce90972169b195e7d6a05500cd29e6d13898187c9950", size = 66356, upload-time = "2025-12-11T13:32:17.304Z" }, ] [[package]] name = "opentelemetry-exporter-otlp-proto-common" -version = "1.36.0" +version = "1.39.1" source = { registry = "https://pypi.org/simple" } dependencies = [ { name = "opentelemetry-proto" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/34/da/7747e57eb341c59886052d733072bc878424bf20f1d8cf203d508bbece5b/opentelemetry_exporter_otlp_proto_common-1.36.0.tar.gz", hash = "sha256:6c496ccbcbe26b04653cecadd92f73659b814c6e3579af157d8716e5f9f25cbf", size = 20302, upload-time = "2025-07-29T15:12:07.71Z" } +sdist = { url = "https://files.pythonhosted.org/packages/e9/9d/22d241b66f7bbde88a3bfa6847a351d2c46b84de23e71222c6aae25c7050/opentelemetry_exporter_otlp_proto_common-1.39.1.tar.gz", hash = "sha256:763370d4737a59741c89a67b50f9e39271639ee4afc999dadfe768541c027464", size = 20409, upload-time = "2025-12-11T13:32:40.885Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/d0/ed/22290dca7db78eb32e0101738366b5bbda00d0407f00feffb9bf8c3fdf87/opentelemetry_exporter_otlp_proto_common-1.36.0-py3-none-any.whl", hash = "sha256:0fc002a6ed63eac235ada9aa7056e5492e9a71728214a61745f6ad04b923f840", size = 18349, upload-time = "2025-07-29T15:11:51.327Z" }, + { url = "https://files.pythonhosted.org/packages/8c/02/ffc3e143d89a27ac21fd557365b98bd0653b98de8a101151d5805b5d4c33/opentelemetry_exporter_otlp_proto_common-1.39.1-py3-none-any.whl", hash = "sha256:08f8a5862d64cc3435105686d0216c1365dc5701f86844a8cd56597d0c764fde", size = 18366, upload-time = "2025-12-11T13:32:20.2Z" }, ] [[package]] name = "opentelemetry-exporter-otlp-proto-http" -version = "1.36.0" +version = "1.39.1" source = { registry = "https://pypi.org/simple" } dependencies = [ { name = "googleapis-common-protos" }, @@ -1348,48 +1563,48 @@ dependencies = [ { name = "requests" }, { name = "typing-extensions" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/25/85/6632e7e5700ba1ce5b8a065315f92c1e6d787ccc4fb2bdab15139eaefc82/opentelemetry_exporter_otlp_proto_http-1.36.0.tar.gz", hash = "sha256:dd3637f72f774b9fc9608ab1ac479f8b44d09b6fb5b2f3df68a24ad1da7d356e", size = 16213, upload-time = "2025-07-29T15:12:08.932Z" } +sdist = { url = "https://files.pythonhosted.org/packages/80/04/2a08fa9c0214ae38880df01e8bfae12b067ec0793446578575e5080d6545/opentelemetry_exporter_otlp_proto_http-1.39.1.tar.gz", hash = "sha256:31bdab9745c709ce90a49a0624c2bd445d31a28ba34275951a6a362d16a0b9cb", size = 17288, upload-time = "2025-12-11T13:32:42.029Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/7f/41/a680d38b34f8f5ddbd78ed9f0042e1cc712d58ec7531924d71cb1e6c629d/opentelemetry_exporter_otlp_proto_http-1.36.0-py3-none-any.whl", hash = "sha256:3d769f68e2267e7abe4527f70deb6f598f40be3ea34c6adc35789bea94a32902", size = 18752, upload-time = "2025-07-29T15:11:53.164Z" }, + { url = "https://files.pythonhosted.org/packages/95/f1/b27d3e2e003cd9a3592c43d099d2ed8d0a947c15281bf8463a256db0b46c/opentelemetry_exporter_otlp_proto_http-1.39.1-py3-none-any.whl", hash = "sha256:d9f5207183dd752a412c4cd564ca8875ececba13be6e9c6c370ffb752fd59985", size = 19641, upload-time = "2025-12-11T13:32:22.248Z" }, ] [[package]] name = "opentelemetry-proto" -version = "1.36.0" +version = "1.39.1" source = { registry = "https://pypi.org/simple" } dependencies = [ { name = "protobuf" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/fd/02/f6556142301d136e3b7e95ab8ea6a5d9dc28d879a99f3dd673b5f97dca06/opentelemetry_proto-1.36.0.tar.gz", hash = "sha256:0f10b3c72f74c91e0764a5ec88fd8f1c368ea5d9c64639fb455e2854ef87dd2f", size = 46152, upload-time = "2025-07-29T15:12:15.717Z" } +sdist = { url = "https://files.pythonhosted.org/packages/49/1d/f25d76d8260c156c40c97c9ed4511ec0f9ce353f8108ca6e7561f82a06b2/opentelemetry_proto-1.39.1.tar.gz", hash = "sha256:6c8e05144fc0d3ed4d22c2289c6b126e03bcd0e6a7da0f16cedd2e1c2772e2c8", size = 46152, upload-time = "2025-12-11T13:32:48.681Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/b3/57/3361e06136225be8180e879199caea520f38026f8071366241ac458beb8d/opentelemetry_proto-1.36.0-py3-none-any.whl", hash = "sha256:151b3bf73a09f94afc658497cf77d45a565606f62ce0c17acb08cd9937ca206e", size = 72537, upload-time = "2025-07-29T15:12:02.243Z" }, + { url = "https://files.pythonhosted.org/packages/51/95/b40c96a7b5203005a0b03d8ce8cd212ff23f1793d5ba289c87a097571b18/opentelemetry_proto-1.39.1-py3-none-any.whl", hash = "sha256:22cdc78efd3b3765d09e68bfbd010d4fc254c9818afd0b6b423387d9dee46007", size = 72535, upload-time = "2025-12-11T13:32:33.866Z" }, ] [[package]] name = "opentelemetry-sdk" -version = "1.36.0" +version = "1.39.1" source = { registry = "https://pypi.org/simple" } dependencies = [ { name = "opentelemetry-api" }, { name = "opentelemetry-semantic-conventions" }, { name = "typing-extensions" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/4c/85/8567a966b85a2d3f971c4d42f781c305b2b91c043724fa08fd37d158e9dc/opentelemetry_sdk-1.36.0.tar.gz", hash = "sha256:19c8c81599f51b71670661ff7495c905d8fdf6976e41622d5245b791b06fa581", size = 162557, upload-time = "2025-07-29T15:12:16.76Z" } +sdist = { url = "https://files.pythonhosted.org/packages/eb/fb/c76080c9ba07e1e8235d24cdcc4d125ef7aa3edf23eb4e497c2e50889adc/opentelemetry_sdk-1.39.1.tar.gz", hash = "sha256:cf4d4563caf7bff906c9f7967e2be22d0d6b349b908be0d90fb21c8e9c995cc6", size = 171460, upload-time = "2025-12-11T13:32:49.369Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/0b/59/7bed362ad1137ba5886dac8439e84cd2df6d087be7c09574ece47ae9b22c/opentelemetry_sdk-1.36.0-py3-none-any.whl", hash = "sha256:19fe048b42e98c5c1ffe85b569b7073576ad4ce0bcb6e9b4c6a39e890a6c45fb", size = 119995, upload-time = "2025-07-29T15:12:03.181Z" }, + { url = "https://files.pythonhosted.org/packages/7c/98/e91cf858f203d86f4eccdf763dcf01cf03f1dae80c3750f7e635bfa206b6/opentelemetry_sdk-1.39.1-py3-none-any.whl", hash = "sha256:4d5482c478513ecb0a5d938dcc61394e647066e0cc2676bee9f3af3f3f45f01c", size = 132565, upload-time = "2025-12-11T13:32:35.069Z" }, ] [[package]] name = "opentelemetry-semantic-conventions" -version = "0.57b0" +version = "0.60b1" source = { registry = "https://pypi.org/simple" } dependencies = [ { name = "opentelemetry-api" }, { name = "typing-extensions" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/7e/31/67dfa252ee88476a29200b0255bda8dfc2cf07b56ad66dc9a6221f7dc787/opentelemetry_semantic_conventions-0.57b0.tar.gz", hash = "sha256:609a4a79c7891b4620d64c7aac6898f872d790d75f22019913a660756f27ff32", size = 124225, upload-time = "2025-07-29T15:12:17.873Z" } +sdist = { url = "https://files.pythonhosted.org/packages/91/df/553f93ed38bf22f4b999d9be9c185adb558982214f33eae539d3b5cd0858/opentelemetry_semantic_conventions-0.60b1.tar.gz", hash = "sha256:87c228b5a0669b748c76d76df6c364c369c28f1c465e50f661e39737e84bc953", size = 137935, upload-time = "2025-12-11T13:32:50.487Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/05/75/7d591371c6c39c73de5ce5da5a2cc7b72d1d1cd3f8f4638f553c01c37b11/opentelemetry_semantic_conventions-0.57b0-py3-none-any.whl", hash = "sha256:757f7e76293294f124c827e514c2a3144f191ef175b069ce8d1211e1e38e9e78", size = 201627, upload-time = "2025-07-29T15:12:04.174Z" }, + { url = "https://files.pythonhosted.org/packages/7a/5e/5958555e09635d09b75de3c4f8b9cae7335ca545d77392ffe7331534c402/opentelemetry_semantic_conventions-0.60b1-py3-none-any.whl", hash = "sha256:9fa8c8b0c110da289809292b0591220d3a7b53c1526a23021e977d68597893fb", size = 219982, upload-time = "2025-12-11T13:32:36.955Z" }, ] [[package]] @@ -1403,51 +1618,55 @@ wheels = [ [[package]] name = "orjson" -version = "3.11.3" -source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/be/4d/8df5f83256a809c22c4d6792ce8d43bb503be0fb7a8e4da9025754b09658/orjson-3.11.3.tar.gz", hash = "sha256:1c0603b1d2ffcd43a411d64797a19556ef76958aef1c182f22dc30860152a98a", size = 5482394, upload-time = "2025-08-26T17:46:43.171Z" } -wheels = [ - { url = "https://files.pythonhosted.org/packages/3d/b0/a7edab2a00cdcb2688e1c943401cb3236323e7bfd2839815c6131a3742f4/orjson-3.11.3-cp312-cp312-macosx_10_15_x86_64.macosx_11_0_arm64.macosx_10_15_universal2.whl", hash = "sha256:8c752089db84333e36d754c4baf19c0e1437012242048439c7e80eb0e6426e3b", size = 238259, upload-time = "2025-08-26T17:45:15.093Z" }, - { url = "https://files.pythonhosted.org/packages/e1/c6/ff4865a9cc398a07a83342713b5932e4dc3cb4bf4bc04e8f83dedfc0d736/orjson-3.11.3-cp312-cp312-macosx_15_0_arm64.whl", hash = "sha256:9b8761b6cf04a856eb544acdd82fc594b978f12ac3602d6374a7edb9d86fd2c2", size = 127633, upload-time = "2025-08-26T17:45:16.417Z" }, - { url = "https://files.pythonhosted.org/packages/6e/e6/e00bea2d9472f44fe8794f523e548ce0ad51eb9693cf538a753a27b8bda4/orjson-3.11.3-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:8b13974dc8ac6ba22feaa867fc19135a3e01a134b4f7c9c28162fed4d615008a", size = 123061, upload-time = "2025-08-26T17:45:17.673Z" }, - { url = "https://files.pythonhosted.org/packages/54/31/9fbb78b8e1eb3ac605467cb846e1c08d0588506028b37f4ee21f978a51d4/orjson-3.11.3-cp312-cp312-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:f83abab5bacb76d9c821fd5c07728ff224ed0e52d7a71b7b3de822f3df04e15c", size = 127956, upload-time = "2025-08-26T17:45:19.172Z" }, - { url = "https://files.pythonhosted.org/packages/36/88/b0604c22af1eed9f98d709a96302006915cfd724a7ebd27d6dd11c22d80b/orjson-3.11.3-cp312-cp312-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:e6fbaf48a744b94091a56c62897b27c31ee2da93d826aa5b207131a1e13d4064", size = 130790, upload-time = "2025-08-26T17:45:20.586Z" }, - { url = "https://files.pythonhosted.org/packages/0e/9d/1c1238ae9fffbfed51ba1e507731b3faaf6b846126a47e9649222b0fd06f/orjson-3.11.3-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:bc779b4f4bba2847d0d2940081a7b6f7b5877e05408ffbb74fa1faf4a136c424", size = 132385, upload-time = "2025-08-26T17:45:22.036Z" }, - { url = "https://files.pythonhosted.org/packages/a3/b5/c06f1b090a1c875f337e21dd71943bc9d84087f7cdf8c6e9086902c34e42/orjson-3.11.3-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:bd4b909ce4c50faa2192da6bb684d9848d4510b736b0611b6ab4020ea6fd2d23", size = 135305, upload-time = "2025-08-26T17:45:23.4Z" }, - { url = "https://files.pythonhosted.org/packages/a0/26/5f028c7d81ad2ebbf84414ba6d6c9cac03f22f5cd0d01eb40fb2d6a06b07/orjson-3.11.3-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:524b765ad888dc5518bbce12c77c2e83dee1ed6b0992c1790cc5fb49bb4b6667", size = 132875, upload-time = "2025-08-26T17:45:25.182Z" }, - { url = "https://files.pythonhosted.org/packages/fe/d4/b8df70d9cfb56e385bf39b4e915298f9ae6c61454c8154a0f5fd7efcd42e/orjson-3.11.3-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:84fd82870b97ae3cdcea9d8746e592b6d40e1e4d4527835fc520c588d2ded04f", size = 130940, upload-time = "2025-08-26T17:45:27.209Z" }, - { url = "https://files.pythonhosted.org/packages/da/5e/afe6a052ebc1a4741c792dd96e9f65bf3939d2094e8b356503b68d48f9f5/orjson-3.11.3-cp312-cp312-musllinux_1_2_armv7l.whl", hash = "sha256:fbecb9709111be913ae6879b07bafd4b0785b44c1eb5cac8ac76da048b3885a1", size = 403852, upload-time = "2025-08-26T17:45:28.478Z" }, - { url = "https://files.pythonhosted.org/packages/f8/90/7bbabafeb2ce65915e9247f14a56b29c9334003536009ef5b122783fe67e/orjson-3.11.3-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:9dba358d55aee552bd868de348f4736ca5a4086d9a62e2bfbbeeb5629fe8b0cc", size = 146293, upload-time = "2025-08-26T17:45:29.86Z" }, - { url = "https://files.pythonhosted.org/packages/27/b3/2d703946447da8b093350570644a663df69448c9d9330e5f1d9cce997f20/orjson-3.11.3-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:eabcf2e84f1d7105f84580e03012270c7e97ecb1fb1618bda395061b2a84a049", size = 135470, upload-time = "2025-08-26T17:45:31.243Z" }, - { url = "https://files.pythonhosted.org/packages/38/70/b14dcfae7aff0e379b0119c8a812f8396678919c431efccc8e8a0263e4d9/orjson-3.11.3-cp312-cp312-win32.whl", hash = "sha256:3782d2c60b8116772aea8d9b7905221437fdf53e7277282e8d8b07c220f96cca", size = 136248, upload-time = "2025-08-26T17:45:32.567Z" }, - { url = "https://files.pythonhosted.org/packages/35/b8/9e3127d65de7fff243f7f3e53f59a531bf6bb295ebe5db024c2503cc0726/orjson-3.11.3-cp312-cp312-win_amd64.whl", hash = "sha256:79b44319268af2eaa3e315b92298de9a0067ade6e6003ddaef72f8e0bedb94f1", size = 131437, upload-time = "2025-08-26T17:45:34.949Z" }, - { url = "https://files.pythonhosted.org/packages/51/92/a946e737d4d8a7fd84a606aba96220043dcc7d6988b9e7551f7f6d5ba5ad/orjson-3.11.3-cp312-cp312-win_arm64.whl", hash = "sha256:0e92a4e83341ef79d835ca21b8bd13e27c859e4e9e4d7b63defc6e58462a3710", size = 125978, upload-time = "2025-08-26T17:45:36.422Z" }, - { url = "https://files.pythonhosted.org/packages/fc/79/8932b27293ad35919571f77cb3693b5906cf14f206ef17546052a241fdf6/orjson-3.11.3-cp313-cp313-macosx_10_15_x86_64.macosx_11_0_arm64.macosx_10_15_universal2.whl", hash = "sha256:af40c6612fd2a4b00de648aa26d18186cd1322330bd3a3cc52f87c699e995810", size = 238127, upload-time = "2025-08-26T17:45:38.146Z" }, - { url = "https://files.pythonhosted.org/packages/1c/82/cb93cd8cf132cd7643b30b6c5a56a26c4e780c7a145db6f83de977b540ce/orjson-3.11.3-cp313-cp313-macosx_15_0_arm64.whl", hash = "sha256:9f1587f26c235894c09e8b5b7636a38091a9e6e7fe4531937534749c04face43", size = 127494, upload-time = "2025-08-26T17:45:39.57Z" }, - { url = "https://files.pythonhosted.org/packages/a4/b8/2d9eb181a9b6bb71463a78882bcac1027fd29cf62c38a40cc02fc11d3495/orjson-3.11.3-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:61dcdad16da5bb486d7227a37a2e789c429397793a6955227cedbd7252eb5a27", size = 123017, upload-time = "2025-08-26T17:45:40.876Z" }, - { url = "https://files.pythonhosted.org/packages/b4/14/a0e971e72d03b509190232356d54c0f34507a05050bd026b8db2bf2c192c/orjson-3.11.3-cp313-cp313-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:11c6d71478e2cbea0a709e8a06365fa63da81da6498a53e4c4f065881d21ae8f", size = 127898, upload-time = "2025-08-26T17:45:42.188Z" }, - { url = "https://files.pythonhosted.org/packages/8e/af/dc74536722b03d65e17042cc30ae586161093e5b1f29bccda24765a6ae47/orjson-3.11.3-cp313-cp313-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:ff94112e0098470b665cb0ed06efb187154b63649403b8d5e9aedeb482b4548c", size = 130742, upload-time = "2025-08-26T17:45:43.511Z" }, - { url = "https://files.pythonhosted.org/packages/62/e6/7a3b63b6677bce089fe939353cda24a7679825c43a24e49f757805fc0d8a/orjson-3.11.3-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:ae8b756575aaa2a855a75192f356bbda11a89169830e1439cfb1a3e1a6dde7be", size = 132377, upload-time = "2025-08-26T17:45:45.525Z" }, - { url = "https://files.pythonhosted.org/packages/fc/cd/ce2ab93e2e7eaf518f0fd15e3068b8c43216c8a44ed82ac2b79ce5cef72d/orjson-3.11.3-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:c9416cc19a349c167ef76135b2fe40d03cea93680428efee8771f3e9fb66079d", size = 135313, upload-time = "2025-08-26T17:45:46.821Z" }, - { url = "https://files.pythonhosted.org/packages/d0/b4/f98355eff0bd1a38454209bbc73372ce351ba29933cb3e2eba16c04b9448/orjson-3.11.3-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:b822caf5b9752bc6f246eb08124c3d12bf2175b66ab74bac2ef3bbf9221ce1b2", size = 132908, upload-time = "2025-08-26T17:45:48.126Z" }, - { url = "https://files.pythonhosted.org/packages/eb/92/8f5182d7bc2a1bed46ed960b61a39af8389f0ad476120cd99e67182bfb6d/orjson-3.11.3-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:414f71e3bdd5573893bf5ecdf35c32b213ed20aa15536fe2f588f946c318824f", size = 130905, upload-time = "2025-08-26T17:45:49.414Z" }, - { url = "https://files.pythonhosted.org/packages/1a/60/c41ca753ce9ffe3d0f67b9b4c093bdd6e5fdb1bc53064f992f66bb99954d/orjson-3.11.3-cp313-cp313-musllinux_1_2_armv7l.whl", hash = "sha256:828e3149ad8815dc14468f36ab2a4b819237c155ee1370341b91ea4c8672d2ee", size = 403812, upload-time = "2025-08-26T17:45:51.085Z" }, - { url = "https://files.pythonhosted.org/packages/dd/13/e4a4f16d71ce1868860db59092e78782c67082a8f1dc06a3788aef2b41bc/orjson-3.11.3-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:ac9e05f25627ffc714c21f8dfe3a579445a5c392a9c8ae7ba1d0e9fb5333f56e", size = 146277, upload-time = "2025-08-26T17:45:52.851Z" }, - { url = "https://files.pythonhosted.org/packages/8d/8b/bafb7f0afef9344754a3a0597a12442f1b85a048b82108ef2c956f53babd/orjson-3.11.3-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:e44fbe4000bd321d9f3b648ae46e0196d21577cf66ae684a96ff90b1f7c93633", size = 135418, upload-time = "2025-08-26T17:45:54.806Z" }, - { url = "https://files.pythonhosted.org/packages/60/d4/bae8e4f26afb2c23bea69d2f6d566132584d1c3a5fe89ee8c17b718cab67/orjson-3.11.3-cp313-cp313-win32.whl", hash = "sha256:2039b7847ba3eec1f5886e75e6763a16e18c68a63efc4b029ddf994821e2e66b", size = 136216, upload-time = "2025-08-26T17:45:57.182Z" }, - { url = "https://files.pythonhosted.org/packages/88/76/224985d9f127e121c8cad882cea55f0ebe39f97925de040b75ccd4b33999/orjson-3.11.3-cp313-cp313-win_amd64.whl", hash = "sha256:29be5ac4164aa8bdcba5fa0700a3c9c316b411d8ed9d39ef8a882541bd452fae", size = 131362, upload-time = "2025-08-26T17:45:58.56Z" }, - { url = "https://files.pythonhosted.org/packages/e2/cf/0dce7a0be94bd36d1346be5067ed65ded6adb795fdbe3abd234c8d576d01/orjson-3.11.3-cp313-cp313-win_arm64.whl", hash = "sha256:18bd1435cb1f2857ceb59cfb7de6f92593ef7b831ccd1b9bfb28ca530e539dce", size = 125989, upload-time = "2025-08-26T17:45:59.95Z" }, - { url = "https://files.pythonhosted.org/packages/ef/77/d3b1fef1fc6aaeed4cbf3be2b480114035f4df8fa1a99d2dac1d40d6e924/orjson-3.11.3-cp314-cp314-macosx_10_15_x86_64.macosx_11_0_arm64.macosx_10_15_universal2.whl", hash = "sha256:cf4b81227ec86935568c7edd78352a92e97af8da7bd70bdfdaa0d2e0011a1ab4", size = 238115, upload-time = "2025-08-26T17:46:01.669Z" }, - { url = "https://files.pythonhosted.org/packages/e4/6d/468d21d49bb12f900052edcfbf52c292022d0a323d7828dc6376e6319703/orjson-3.11.3-cp314-cp314-macosx_15_0_arm64.whl", hash = "sha256:bc8bc85b81b6ac9fc4dae393a8c159b817f4c2c9dee5d12b773bddb3b95fc07e", size = 127493, upload-time = "2025-08-26T17:46:03.466Z" }, - { url = "https://files.pythonhosted.org/packages/67/46/1e2588700d354aacdf9e12cc2d98131fb8ac6f31ca65997bef3863edb8ff/orjson-3.11.3-cp314-cp314-manylinux_2_34_aarch64.whl", hash = "sha256:88dcfc514cfd1b0de038443c7b3e6a9797ffb1b3674ef1fd14f701a13397f82d", size = 122998, upload-time = "2025-08-26T17:46:04.803Z" }, - { url = "https://files.pythonhosted.org/packages/3b/94/11137c9b6adb3779f1b34fd98be51608a14b430dbc02c6d41134fbba484c/orjson-3.11.3-cp314-cp314-manylinux_2_34_x86_64.whl", hash = "sha256:d61cd543d69715d5fc0a690c7c6f8dcc307bc23abef9738957981885f5f38229", size = 132915, upload-time = "2025-08-26T17:46:06.237Z" }, - { url = "https://files.pythonhosted.org/packages/10/61/dccedcf9e9bcaac09fdabe9eaee0311ca92115699500efbd31950d878833/orjson-3.11.3-cp314-cp314-musllinux_1_2_aarch64.whl", hash = "sha256:2b7b153ed90ababadbef5c3eb39549f9476890d339cf47af563aea7e07db2451", size = 130907, upload-time = "2025-08-26T17:46:07.581Z" }, - { url = "https://files.pythonhosted.org/packages/0e/fd/0e935539aa7b08b3ca0f817d73034f7eb506792aae5ecc3b7c6e679cdf5f/orjson-3.11.3-cp314-cp314-musllinux_1_2_armv7l.whl", hash = "sha256:7909ae2460f5f494fecbcd10613beafe40381fd0316e35d6acb5f3a05bfda167", size = 403852, upload-time = "2025-08-26T17:46:08.982Z" }, - { url = "https://files.pythonhosted.org/packages/4a/2b/50ae1a5505cd1043379132fdb2adb8a05f37b3e1ebffe94a5073321966fd/orjson-3.11.3-cp314-cp314-musllinux_1_2_i686.whl", hash = "sha256:2030c01cbf77bc67bee7eef1e7e31ecf28649353987775e3583062c752da0077", size = 146309, upload-time = "2025-08-26T17:46:10.576Z" }, - { url = "https://files.pythonhosted.org/packages/cd/1d/a473c158e380ef6f32753b5f39a69028b25ec5be331c2049a2201bde2e19/orjson-3.11.3-cp314-cp314-musllinux_1_2_x86_64.whl", hash = "sha256:a0169ebd1cbd94b26c7a7ad282cf5c2744fce054133f959e02eb5265deae1872", size = 135424, upload-time = "2025-08-26T17:46:12.386Z" }, - { url = "https://files.pythonhosted.org/packages/da/09/17d9d2b60592890ff7382e591aa1d9afb202a266b180c3d4049b1ec70e4a/orjson-3.11.3-cp314-cp314-win32.whl", hash = "sha256:0c6d7328c200c349e3a4c6d8c83e0a5ad029bdc2d417f234152bf34842d0fc8d", size = 136266, upload-time = "2025-08-26T17:46:13.853Z" }, - { url = "https://files.pythonhosted.org/packages/15/58/358f6846410a6b4958b74734727e582ed971e13d335d6c7ce3e47730493e/orjson-3.11.3-cp314-cp314-win_amd64.whl", hash = "sha256:317bbe2c069bbc757b1a2e4105b64aacd3bc78279b66a6b9e51e846e4809f804", size = 131351, upload-time = "2025-08-26T17:46:15.27Z" }, - { url = "https://files.pythonhosted.org/packages/28/01/d6b274a0635be0468d4dbd9cafe80c47105937a0d42434e805e67cd2ed8b/orjson-3.11.3-cp314-cp314-win_arm64.whl", hash = "sha256:e8f6a7a27d7b7bec81bd5924163e9af03d49bbb63013f107b48eb5d16db711bc", size = 125985, upload-time = "2025-08-26T17:46:16.67Z" }, +version = "3.11.5" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/04/b8/333fdb27840f3bf04022d21b654a35f58e15407183aeb16f3b41aa053446/orjson-3.11.5.tar.gz", hash = "sha256:82393ab47b4fe44ffd0a7659fa9cfaacc717eb617c93cde83795f14af5c2e9d5", size = 5972347, upload-time = "2025-12-06T15:55:39.458Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/ef/a4/8052a029029b096a78955eadd68ab594ce2197e24ec50e6b6d2ab3f4e33b/orjson-3.11.5-cp312-cp312-macosx_10_15_x86_64.macosx_11_0_arm64.macosx_10_15_universal2.whl", hash = "sha256:334e5b4bff9ad101237c2d799d9fd45737752929753bf4faf4b207335a416b7d", size = 245347, upload-time = "2025-12-06T15:54:22.061Z" }, + { url = "https://files.pythonhosted.org/packages/64/67/574a7732bd9d9d79ac620c8790b4cfe0717a3d5a6eb2b539e6e8995e24a0/orjson-3.11.5-cp312-cp312-macosx_15_0_arm64.whl", hash = "sha256:ff770589960a86eae279f5d8aa536196ebda8273a2a07db2a54e82b93bc86626", size = 129435, upload-time = "2025-12-06T15:54:23.615Z" }, + { url = "https://files.pythonhosted.org/packages/52/8d/544e77d7a29d90cf4d9eecd0ae801c688e7f3d1adfa2ebae5e1e94d38ab9/orjson-3.11.5-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:ed24250e55efbcb0b35bed7caaec8cedf858ab2f9f2201f17b8938c618c8ca6f", size = 132074, upload-time = "2025-12-06T15:54:24.694Z" }, + { url = "https://files.pythonhosted.org/packages/6e/57/b9f5b5b6fbff9c26f77e785baf56ae8460ef74acdb3eae4931c25b8f5ba9/orjson-3.11.5-cp312-cp312-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:a66d7769e98a08a12a139049aac2f0ca3adae989817f8c43337455fbc7669b85", size = 130520, upload-time = "2025-12-06T15:54:26.185Z" }, + { url = "https://files.pythonhosted.org/packages/f6/6d/d34970bf9eb33f9ec7c979a262cad86076814859e54eb9a059a52f6dc13d/orjson-3.11.5-cp312-cp312-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:86cfc555bfd5794d24c6a1903e558b50644e5e68e6471d66502ce5cb5fdef3f9", size = 136209, upload-time = "2025-12-06T15:54:27.264Z" }, + { url = "https://files.pythonhosted.org/packages/e7/39/bc373b63cc0e117a105ea12e57280f83ae52fdee426890d57412432d63b3/orjson-3.11.5-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:a230065027bc2a025e944f9d4714976a81e7ecfa940923283bca7bbc1f10f626", size = 139837, upload-time = "2025-12-06T15:54:28.75Z" }, + { url = "https://files.pythonhosted.org/packages/cb/aa/7c4818c8d7d324da220f4f1af55c343956003aa4d1ce1857bdc1d396ba69/orjson-3.11.5-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:b29d36b60e606df01959c4b982729c8845c69d1963f88686608be9ced96dbfaa", size = 137307, upload-time = "2025-12-06T15:54:29.856Z" }, + { url = "https://files.pythonhosted.org/packages/46/bf/0993b5a056759ba65145effe3a79dd5a939d4a070eaa5da2ee3180fbb13f/orjson-3.11.5-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:c74099c6b230d4261fdc3169d50efc09abf38ace1a42ea2f9994b1d79153d477", size = 139020, upload-time = "2025-12-06T15:54:31.024Z" }, + { url = "https://files.pythonhosted.org/packages/65/e8/83a6c95db3039e504eda60fc388f9faedbb4f6472f5aba7084e06552d9aa/orjson-3.11.5-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:e697d06ad57dd0c7a737771d470eedc18e68dfdefcdd3b7de7f33dfda5b6212e", size = 141099, upload-time = "2025-12-06T15:54:32.196Z" }, + { url = "https://files.pythonhosted.org/packages/b9/b4/24fdc024abfce31c2f6812973b0a693688037ece5dc64b7a60c1ce69e2f2/orjson-3.11.5-cp312-cp312-musllinux_1_2_armv7l.whl", hash = "sha256:e08ca8a6c851e95aaecc32bc44a5aa75d0ad26af8cdac7c77e4ed93acf3d5b69", size = 413540, upload-time = "2025-12-06T15:54:33.361Z" }, + { url = "https://files.pythonhosted.org/packages/d9/37/01c0ec95d55ed0c11e4cae3e10427e479bba40c77312b63e1f9665e0737d/orjson-3.11.5-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:e8b5f96c05fce7d0218df3fdfeb962d6b8cfff7e3e20264306b46dd8b217c0f3", size = 151530, upload-time = "2025-12-06T15:54:34.6Z" }, + { url = "https://files.pythonhosted.org/packages/f9/d4/f9ebc57182705bb4bbe63f5bbe14af43722a2533135e1d2fb7affa0c355d/orjson-3.11.5-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:ddbfdb5099b3e6ba6d6ea818f61997bb66de14b411357d24c4612cf1ebad08ca", size = 141863, upload-time = "2025-12-06T15:54:35.801Z" }, + { url = "https://files.pythonhosted.org/packages/0d/04/02102b8d19fdcb009d72d622bb5781e8f3fae1646bf3e18c53d1bc8115b5/orjson-3.11.5-cp312-cp312-win32.whl", hash = "sha256:9172578c4eb09dbfcf1657d43198de59b6cef4054de385365060ed50c458ac98", size = 135255, upload-time = "2025-12-06T15:54:37.209Z" }, + { url = "https://files.pythonhosted.org/packages/d4/fb/f05646c43d5450492cb387de5549f6de90a71001682c17882d9f66476af5/orjson-3.11.5-cp312-cp312-win_amd64.whl", hash = "sha256:2b91126e7b470ff2e75746f6f6ee32b9ab67b7a93c8ba1d15d3a0caaf16ec875", size = 133252, upload-time = "2025-12-06T15:54:38.401Z" }, + { url = "https://files.pythonhosted.org/packages/dc/a6/7b8c0b26ba18c793533ac1cd145e131e46fcf43952aa94c109b5b913c1f0/orjson-3.11.5-cp312-cp312-win_arm64.whl", hash = "sha256:acbc5fac7e06777555b0722b8ad5f574739e99ffe99467ed63da98f97f9ca0fe", size = 126777, upload-time = "2025-12-06T15:54:39.515Z" }, + { url = "https://files.pythonhosted.org/packages/10/43/61a77040ce59f1569edf38f0b9faadc90c8cf7e9bec2e0df51d0132c6bb7/orjson-3.11.5-cp313-cp313-macosx_10_15_x86_64.macosx_11_0_arm64.macosx_10_15_universal2.whl", hash = "sha256:3b01799262081a4c47c035dd77c1301d40f568f77cc7ec1bb7db5d63b0a01629", size = 245271, upload-time = "2025-12-06T15:54:40.878Z" }, + { url = "https://files.pythonhosted.org/packages/55/f9/0f79be617388227866d50edd2fd320cb8fb94dc1501184bb1620981a0aba/orjson-3.11.5-cp313-cp313-macosx_15_0_arm64.whl", hash = "sha256:61de247948108484779f57a9f406e4c84d636fa5a59e411e6352484985e8a7c3", size = 129422, upload-time = "2025-12-06T15:54:42.403Z" }, + { url = "https://files.pythonhosted.org/packages/77/42/f1bf1549b432d4a78bfa95735b79b5dac75b65b5bb815bba86ad406ead0a/orjson-3.11.5-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:894aea2e63d4f24a7f04a1908307c738d0dce992e9249e744b8f4e8dd9197f39", size = 132060, upload-time = "2025-12-06T15:54:43.531Z" }, + { url = "https://files.pythonhosted.org/packages/25/49/825aa6b929f1a6ed244c78acd7b22c1481fd7e5fda047dc8bf4c1a807eb6/orjson-3.11.5-cp313-cp313-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:ddc21521598dbe369d83d4d40338e23d4101dad21dae0e79fa20465dbace019f", size = 130391, upload-time = "2025-12-06T15:54:45.059Z" }, + { url = "https://files.pythonhosted.org/packages/42/ec/de55391858b49e16e1aa8f0bbbb7e5997b7345d8e984a2dec3746d13065b/orjson-3.11.5-cp313-cp313-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:7cce16ae2f5fb2c53c3eafdd1706cb7b6530a67cc1c17abe8ec747f5cd7c0c51", size = 135964, upload-time = "2025-12-06T15:54:46.576Z" }, + { url = "https://files.pythonhosted.org/packages/1c/40/820bc63121d2d28818556a2d0a09384a9f0262407cf9fa305e091a8048df/orjson-3.11.5-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:e46c762d9f0e1cfb4ccc8515de7f349abbc95b59cb5a2bd68df5973fdef913f8", size = 139817, upload-time = "2025-12-06T15:54:48.084Z" }, + { url = "https://files.pythonhosted.org/packages/09/c7/3a445ca9a84a0d59d26365fd8898ff52bdfcdcb825bcc6519830371d2364/orjson-3.11.5-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:d7345c759276b798ccd6d77a87136029e71e66a8bbf2d2755cbdde1d82e78706", size = 137336, upload-time = "2025-12-06T15:54:49.426Z" }, + { url = "https://files.pythonhosted.org/packages/9a/b3/dc0d3771f2e5d1f13368f56b339c6782f955c6a20b50465a91acb79fe961/orjson-3.11.5-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:75bc2e59e6a2ac1dd28901d07115abdebc4563b5b07dd612bf64260a201b1c7f", size = 138993, upload-time = "2025-12-06T15:54:50.939Z" }, + { url = "https://files.pythonhosted.org/packages/d1/a2/65267e959de6abe23444659b6e19c888f242bf7725ff927e2292776f6b89/orjson-3.11.5-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:54aae9b654554c3b4edd61896b978568c6daa16af96fa4681c9b5babd469f863", size = 141070, upload-time = "2025-12-06T15:54:52.414Z" }, + { url = "https://files.pythonhosted.org/packages/63/c9/da44a321b288727a322c6ab17e1754195708786a04f4f9d2220a5076a649/orjson-3.11.5-cp313-cp313-musllinux_1_2_armv7l.whl", hash = "sha256:4bdd8d164a871c4ec773f9de0f6fe8769c2d6727879c37a9666ba4183b7f8228", size = 413505, upload-time = "2025-12-06T15:54:53.67Z" }, + { url = "https://files.pythonhosted.org/packages/7f/17/68dc14fa7000eefb3d4d6d7326a190c99bb65e319f02747ef3ebf2452f12/orjson-3.11.5-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:a261fef929bcf98a60713bf5e95ad067cea16ae345d9a35034e73c3990e927d2", size = 151342, upload-time = "2025-12-06T15:54:55.113Z" }, + { url = "https://files.pythonhosted.org/packages/c4/c5/ccee774b67225bed630a57478529fc026eda33d94fe4c0eac8fe58d4aa52/orjson-3.11.5-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:c028a394c766693c5c9909dec76b24f37e6a1b91999e8d0c0d5feecbe93c3e05", size = 141823, upload-time = "2025-12-06T15:54:56.331Z" }, + { url = "https://files.pythonhosted.org/packages/67/80/5d00e4155d0cd7390ae2087130637671da713959bb558db9bac5e6f6b042/orjson-3.11.5-cp313-cp313-win32.whl", hash = "sha256:2cc79aaad1dfabe1bd2d50ee09814a1253164b3da4c00a78c458d82d04b3bdef", size = 135236, upload-time = "2025-12-06T15:54:57.507Z" }, + { url = "https://files.pythonhosted.org/packages/95/fe/792cc06a84808dbdc20ac6eab6811c53091b42f8e51ecebf14b540e9cfe4/orjson-3.11.5-cp313-cp313-win_amd64.whl", hash = "sha256:ff7877d376add4e16b274e35a3f58b7f37b362abf4aa31863dadacdd20e3a583", size = 133167, upload-time = "2025-12-06T15:54:58.71Z" }, + { url = "https://files.pythonhosted.org/packages/46/2c/d158bd8b50e3b1cfdcf406a7e463f6ffe3f0d167b99634717acdaf5e299f/orjson-3.11.5-cp313-cp313-win_arm64.whl", hash = "sha256:59ac72ea775c88b163ba8d21b0177628bd015c5dd060647bbab6e22da3aad287", size = 126712, upload-time = "2025-12-06T15:54:59.892Z" }, + { url = "https://files.pythonhosted.org/packages/c2/60/77d7b839e317ead7bb225d55bb50f7ea75f47afc489c81199befc5435b50/orjson-3.11.5-cp314-cp314-macosx_10_15_x86_64.macosx_11_0_arm64.macosx_10_15_universal2.whl", hash = "sha256:e446a8ea0a4c366ceafc7d97067bfd55292969143b57e3c846d87fc701e797a0", size = 245252, upload-time = "2025-12-06T15:55:01.127Z" }, + { url = "https://files.pythonhosted.org/packages/f1/aa/d4639163b400f8044cef0fb9aa51b0337be0da3a27187a20d1166e742370/orjson-3.11.5-cp314-cp314-macosx_15_0_arm64.whl", hash = "sha256:53deb5addae9c22bbe3739298f5f2196afa881ea75944e7720681c7080909a81", size = 129419, upload-time = "2025-12-06T15:55:02.723Z" }, + { url = "https://files.pythonhosted.org/packages/30/94/9eabf94f2e11c671111139edf5ec410d2f21e6feee717804f7e8872d883f/orjson-3.11.5-cp314-cp314-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:82cd00d49d6063d2b8791da5d4f9d20539c5951f965e45ccf4e96d33505ce68f", size = 132050, upload-time = "2025-12-06T15:55:03.918Z" }, + { url = "https://files.pythonhosted.org/packages/3d/c8/ca10f5c5322f341ea9a9f1097e140be17a88f88d1cfdd29df522970d9744/orjson-3.11.5-cp314-cp314-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:3fd15f9fc8c203aeceff4fda211157fad114dde66e92e24097b3647a08f4ee9e", size = 130370, upload-time = "2025-12-06T15:55:05.173Z" }, + { url = "https://files.pythonhosted.org/packages/25/d4/e96824476d361ee2edd5c6290ceb8d7edf88d81148a6ce172fc00278ca7f/orjson-3.11.5-cp314-cp314-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:9df95000fbe6777bf9820ae82ab7578e8662051bb5f83d71a28992f539d2cda7", size = 136012, upload-time = "2025-12-06T15:55:06.402Z" }, + { url = "https://files.pythonhosted.org/packages/85/8e/9bc3423308c425c588903f2d103cfcfe2539e07a25d6522900645a6f257f/orjson-3.11.5-cp314-cp314-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:92a8d676748fca47ade5bc3da7430ed7767afe51b2f8100e3cd65e151c0eaceb", size = 139809, upload-time = "2025-12-06T15:55:07.656Z" }, + { url = "https://files.pythonhosted.org/packages/e9/3c/b404e94e0b02a232b957c54643ce68d0268dacb67ac33ffdee24008c8b27/orjson-3.11.5-cp314-cp314-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:aa0f513be38b40234c77975e68805506cad5d57b3dfd8fe3baa7f4f4051e15b4", size = 137332, upload-time = "2025-12-06T15:55:08.961Z" }, + { url = "https://files.pythonhosted.org/packages/51/30/cc2d69d5ce0ad9b84811cdf4a0cd5362ac27205a921da524ff42f26d65e0/orjson-3.11.5-cp314-cp314-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:fa1863e75b92891f553b7922ce4ee10ed06db061e104f2b7815de80cdcb135ad", size = 138983, upload-time = "2025-12-06T15:55:10.595Z" }, + { url = "https://files.pythonhosted.org/packages/0e/87/de3223944a3e297d4707d2fe3b1ffb71437550e165eaf0ca8bbe43ccbcb1/orjson-3.11.5-cp314-cp314-musllinux_1_2_aarch64.whl", hash = "sha256:d4be86b58e9ea262617b8ca6251a2f0d63cc132a6da4b5fcc8e0a4128782c829", size = 141069, upload-time = "2025-12-06T15:55:11.832Z" }, + { url = "https://files.pythonhosted.org/packages/65/30/81d5087ae74be33bcae3ff2d80f5ccaa4a8fedc6d39bf65a427a95b8977f/orjson-3.11.5-cp314-cp314-musllinux_1_2_armv7l.whl", hash = "sha256:b923c1c13fa02084eb38c9c065afd860a5cff58026813319a06949c3af5732ac", size = 413491, upload-time = "2025-12-06T15:55:13.314Z" }, + { url = "https://files.pythonhosted.org/packages/d0/6f/f6058c21e2fc1efaf918986dbc2da5cd38044f1a2d4b7b91ad17c4acf786/orjson-3.11.5-cp314-cp314-musllinux_1_2_i686.whl", hash = "sha256:1b6bd351202b2cd987f35a13b5e16471cf4d952b42a73c391cc537974c43ef6d", size = 151375, upload-time = "2025-12-06T15:55:14.715Z" }, + { url = "https://files.pythonhosted.org/packages/54/92/c6921f17d45e110892899a7a563a925b2273d929959ce2ad89e2525b885b/orjson-3.11.5-cp314-cp314-musllinux_1_2_x86_64.whl", hash = "sha256:bb150d529637d541e6af06bbe3d02f5498d628b7f98267ff87647584293ab439", size = 141850, upload-time = "2025-12-06T15:55:15.94Z" }, + { url = "https://files.pythonhosted.org/packages/88/86/cdecb0140a05e1a477b81f24739da93b25070ee01ce7f7242f44a6437594/orjson-3.11.5-cp314-cp314-win32.whl", hash = "sha256:9cc1e55c884921434a84a0c3dd2699eb9f92e7b441d7f53f3941079ec6ce7499", size = 135278, upload-time = "2025-12-06T15:55:17.202Z" }, + { url = "https://files.pythonhosted.org/packages/e4/97/b638d69b1e947d24f6109216997e38922d54dcdcdb1b11c18d7efd2d3c59/orjson-3.11.5-cp314-cp314-win_amd64.whl", hash = "sha256:a4f3cb2d874e03bc7767c8f88adaa1a9a05cecea3712649c3b58589ec7317310", size = 133170, upload-time = "2025-12-06T15:55:18.468Z" }, + { url = "https://files.pythonhosted.org/packages/8f/dd/f4fff4a6fe601b4f8f3ba3aa6da8ac33d17d124491a3b804c662a70e1636/orjson-3.11.5-cp314-cp314-win_arm64.whl", hash = "sha256:38b22f476c351f9a1c43e5b07d8b5a02eb24a6ab8e75f700f7d479d4568346a5", size = 126713, upload-time = "2025-12-06T15:55:19.738Z" }, ] [[package]] @@ -1461,7 +1680,7 @@ wheels = [ [[package]] name = "pandas" -version = "2.3.1" +version = "2.3.3" source = { registry = "https://pypi.org/simple" } dependencies = [ { name = "numpy" }, @@ -1469,28 +1688,41 @@ dependencies = [ { name = "pytz" }, { name = "tzdata" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/d1/6f/75aa71f8a14267117adeeed5d21b204770189c0a0025acbdc03c337b28fc/pandas-2.3.1.tar.gz", hash = "sha256:0a95b9ac964fe83ce317827f80304d37388ea77616b1425f0ae41c9d2d0d7bb2", size = 4487493, upload-time = "2025-07-07T19:20:04.079Z" } -wheels = [ - { url = "https://files.pythonhosted.org/packages/46/de/b8445e0f5d217a99fe0eeb2f4988070908979bec3587c0633e5428ab596c/pandas-2.3.1-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:689968e841136f9e542020698ee1c4fbe9caa2ed2213ae2388dc7b81721510d3", size = 11588172, upload-time = "2025-07-07T19:18:52.054Z" }, - { url = "https://files.pythonhosted.org/packages/1e/e0/801cdb3564e65a5ac041ab99ea6f1d802a6c325bb6e58c79c06a3f1cd010/pandas-2.3.1-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:025e92411c16cbe5bb2a4abc99732a6b132f439b8aab23a59fa593eb00704232", size = 10717365, upload-time = "2025-07-07T19:18:54.785Z" }, - { url = "https://files.pythonhosted.org/packages/51/a5/c76a8311833c24ae61a376dbf360eb1b1c9247a5d9c1e8b356563b31b80c/pandas-2.3.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:9b7ff55f31c4fcb3e316e8f7fa194566b286d6ac430afec0d461163312c5841e", size = 11280411, upload-time = "2025-07-07T19:18:57.045Z" }, - { url = "https://files.pythonhosted.org/packages/da/01/e383018feba0a1ead6cf5fe8728e5d767fee02f06a3d800e82c489e5daaf/pandas-2.3.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:7dcb79bf373a47d2a40cf7232928eb7540155abbc460925c2c96d2d30b006eb4", size = 11988013, upload-time = "2025-07-07T19:18:59.771Z" }, - { url = "https://files.pythonhosted.org/packages/5b/14/cec7760d7c9507f11c97d64f29022e12a6cc4fc03ac694535e89f88ad2ec/pandas-2.3.1-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:56a342b231e8862c96bdb6ab97170e203ce511f4d0429589c8ede1ee8ece48b8", size = 12767210, upload-time = "2025-07-07T19:19:02.944Z" }, - { url = "https://files.pythonhosted.org/packages/50/b9/6e2d2c6728ed29fb3d4d4d302504fb66f1a543e37eb2e43f352a86365cdf/pandas-2.3.1-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:ca7ed14832bce68baef331f4d7f294411bed8efd032f8109d690df45e00c4679", size = 13440571, upload-time = "2025-07-07T19:19:06.82Z" }, - { url = "https://files.pythonhosted.org/packages/80/a5/3a92893e7399a691bad7664d977cb5e7c81cf666c81f89ea76ba2bff483d/pandas-2.3.1-cp312-cp312-win_amd64.whl", hash = "sha256:ac942bfd0aca577bef61f2bc8da8147c4ef6879965ef883d8e8d5d2dc3e744b8", size = 10987601, upload-time = "2025-07-07T19:19:09.589Z" }, - { url = "https://files.pythonhosted.org/packages/32/ed/ff0a67a2c5505e1854e6715586ac6693dd860fbf52ef9f81edee200266e7/pandas-2.3.1-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:9026bd4a80108fac2239294a15ef9003c4ee191a0f64b90f170b40cfb7cf2d22", size = 11531393, upload-time = "2025-07-07T19:19:12.245Z" }, - { url = "https://files.pythonhosted.org/packages/c7/db/d8f24a7cc9fb0972adab0cc80b6817e8bef888cfd0024eeb5a21c0bb5c4a/pandas-2.3.1-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:6de8547d4fdb12421e2d047a2c446c623ff4c11f47fddb6b9169eb98ffba485a", size = 10668750, upload-time = "2025-07-07T19:19:14.612Z" }, - { url = "https://files.pythonhosted.org/packages/0f/b0/80f6ec783313f1e2356b28b4fd8d2148c378370045da918c73145e6aab50/pandas-2.3.1-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:782647ddc63c83133b2506912cc6b108140a38a37292102aaa19c81c83db2928", size = 11342004, upload-time = "2025-07-07T19:19:16.857Z" }, - { url = "https://files.pythonhosted.org/packages/e9/e2/20a317688435470872885e7fc8f95109ae9683dec7c50be29b56911515a5/pandas-2.3.1-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:2ba6aff74075311fc88504b1db890187a3cd0f887a5b10f5525f8e2ef55bfdb9", size = 12050869, upload-time = "2025-07-07T19:19:19.265Z" }, - { url = "https://files.pythonhosted.org/packages/55/79/20d746b0a96c67203a5bee5fb4e00ac49c3e8009a39e1f78de264ecc5729/pandas-2.3.1-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:e5635178b387bd2ba4ac040f82bc2ef6e6b500483975c4ebacd34bec945fda12", size = 12750218, upload-time = "2025-07-07T19:19:21.547Z" }, - { url = "https://files.pythonhosted.org/packages/7c/0f/145c8b41e48dbf03dd18fdd7f24f8ba95b8254a97a3379048378f33e7838/pandas-2.3.1-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:6f3bf5ec947526106399a9e1d26d40ee2b259c66422efdf4de63c848492d91bb", size = 13416763, upload-time = "2025-07-07T19:19:23.939Z" }, - { url = "https://files.pythonhosted.org/packages/b2/c0/54415af59db5cdd86a3d3bf79863e8cc3fa9ed265f0745254061ac09d5f2/pandas-2.3.1-cp313-cp313-win_amd64.whl", hash = "sha256:1c78cf43c8fde236342a1cb2c34bcff89564a7bfed7e474ed2fffa6aed03a956", size = 10987482, upload-time = "2025-07-07T19:19:42.699Z" }, - { url = "https://files.pythonhosted.org/packages/48/64/2fd2e400073a1230e13b8cd604c9bc95d9e3b962e5d44088ead2e8f0cfec/pandas-2.3.1-cp313-cp313t-macosx_10_13_x86_64.whl", hash = "sha256:8dfc17328e8da77be3cf9f47509e5637ba8f137148ed0e9b5241e1baf526e20a", size = 12029159, upload-time = "2025-07-07T19:19:26.362Z" }, - { url = "https://files.pythonhosted.org/packages/d8/0a/d84fd79b0293b7ef88c760d7dca69828d867c89b6d9bc52d6a27e4d87316/pandas-2.3.1-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:ec6c851509364c59a5344458ab935e6451b31b818be467eb24b0fe89bd05b6b9", size = 11393287, upload-time = "2025-07-07T19:19:29.157Z" }, - { url = "https://files.pythonhosted.org/packages/50/ae/ff885d2b6e88f3c7520bb74ba319268b42f05d7e583b5dded9837da2723f/pandas-2.3.1-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:911580460fc4884d9b05254b38a6bfadddfcc6aaef856fb5859e7ca202e45275", size = 11309381, upload-time = "2025-07-07T19:19:31.436Z" }, - { url = "https://files.pythonhosted.org/packages/85/86/1fa345fc17caf5d7780d2699985c03dbe186c68fee00b526813939062bb0/pandas-2.3.1-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:2f4d6feeba91744872a600e6edbbd5b033005b431d5ae8379abee5bcfa479fab", size = 11883998, upload-time = "2025-07-07T19:19:34.267Z" }, - { url = "https://files.pythonhosted.org/packages/81/aa/e58541a49b5e6310d89474333e994ee57fea97c8aaa8fc7f00b873059bbf/pandas-2.3.1-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:fe37e757f462d31a9cd7580236a82f353f5713a80e059a29753cf938c6775d96", size = 12704705, upload-time = "2025-07-07T19:19:36.856Z" }, - { url = "https://files.pythonhosted.org/packages/d5/f9/07086f5b0f2a19872554abeea7658200824f5835c58a106fa8f2ae96a46c/pandas-2.3.1-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:5db9637dbc24b631ff3707269ae4559bce4b7fd75c1c4d7e13f40edc42df4444", size = 13189044, upload-time = "2025-07-07T19:19:39.999Z" }, +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/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/cd/4b/18b035ee18f97c1040d94debd8f2e737000ad70ccc8f5513f4eefad75f4b/pandas-2.3.3-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:56851a737e3470de7fa88e6131f41281ed440d29a9268dcbf0002da5ac366713", size = 11544671, upload-time = "2025-09-29T23:21:05.024Z" }, + { url = "https://files.pythonhosted.org/packages/31/94/72fac03573102779920099bcac1c3b05975c2cb5f01eac609faf34bed1ca/pandas-2.3.3-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:bdcd9d1167f4885211e401b3036c0c8d9e274eee67ea8d0758a256d60704cfe8", size = 10680807, upload-time = "2025-09-29T23:21:15.979Z" }, + { url = "https://files.pythonhosted.org/packages/16/87/9472cf4a487d848476865321de18cc8c920b8cab98453ab79dbbc98db63a/pandas-2.3.3-cp313-cp313-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:e32e7cc9af0f1cc15548288a51a3b681cc2a219faa838e995f7dc53dbab1062d", size = 11709872, upload-time = "2025-09-29T23:21:27.165Z" }, + { url = "https://files.pythonhosted.org/packages/15/07/284f757f63f8a8d69ed4472bfd85122bd086e637bf4ed09de572d575a693/pandas-2.3.3-cp313-cp313-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:318d77e0e42a628c04dc56bcef4b40de67918f7041c2b061af1da41dcff670ac", size = 12306371, upload-time = "2025-09-29T23:21:40.532Z" }, + { url = "https://files.pythonhosted.org/packages/33/81/a3afc88fca4aa925804a27d2676d22dcd2031c2ebe08aabd0ae55b9ff282/pandas-2.3.3-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:4e0a175408804d566144e170d0476b15d78458795bb18f1304fb94160cabf40c", size = 12765333, upload-time = "2025-09-29T23:21:55.77Z" }, + { url = "https://files.pythonhosted.org/packages/8d/0f/b4d4ae743a83742f1153464cf1a8ecfafc3ac59722a0b5c8602310cb7158/pandas-2.3.3-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:93c2d9ab0fc11822b5eece72ec9587e172f63cff87c00b062f6e37448ced4493", size = 13418120, upload-time = "2025-09-29T23:22:10.109Z" }, + { url = "https://files.pythonhosted.org/packages/4f/c7/e54682c96a895d0c808453269e0b5928a07a127a15704fedb643e9b0a4c8/pandas-2.3.3-cp313-cp313-win_amd64.whl", hash = "sha256:f8bfc0e12dc78f777f323f55c58649591b2cd0c43534e8355c51d3fede5f4dee", size = 10993991, upload-time = "2025-09-29T23:25:04.889Z" }, + { url = "https://files.pythonhosted.org/packages/f9/ca/3f8d4f49740799189e1395812f3bf23b5e8fc7c190827d55a610da72ce55/pandas-2.3.3-cp313-cp313t-macosx_10_13_x86_64.whl", hash = "sha256:75ea25f9529fdec2d2e93a42c523962261e567d250b0013b16210e1d40d7c2e5", size = 12048227, upload-time = "2025-09-29T23:22:24.343Z" }, + { url = "https://files.pythonhosted.org/packages/0e/5a/f43efec3e8c0cc92c4663ccad372dbdff72b60bdb56b2749f04aa1d07d7e/pandas-2.3.3-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:74ecdf1d301e812db96a465a525952f4dde225fdb6d8e5a521d47e1f42041e21", size = 11411056, upload-time = "2025-09-29T23:22:37.762Z" }, + { url = "https://files.pythonhosted.org/packages/46/b1/85331edfc591208c9d1a63a06baa67b21d332e63b7a591a5ba42a10bb507/pandas-2.3.3-cp313-cp313t-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:6435cb949cb34ec11cc9860246ccb2fdc9ecd742c12d3304989017d53f039a78", size = 11645189, upload-time = "2025-09-29T23:22:51.688Z" }, + { url = "https://files.pythonhosted.org/packages/44/23/78d645adc35d94d1ac4f2a3c4112ab6f5b8999f4898b8cdf01252f8df4a9/pandas-2.3.3-cp313-cp313t-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:900f47d8f20860de523a1ac881c4c36d65efcb2eb850e6948140fa781736e110", size = 12121912, upload-time = "2025-09-29T23:23:05.042Z" }, + { url = "https://files.pythonhosted.org/packages/53/da/d10013df5e6aaef6b425aa0c32e1fc1f3e431e4bcabd420517dceadce354/pandas-2.3.3-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:a45c765238e2ed7d7c608fc5bc4a6f88b642f2f01e70c0c23d2224dd21829d86", size = 12712160, upload-time = "2025-09-29T23:23:28.57Z" }, + { url = "https://files.pythonhosted.org/packages/bd/17/e756653095a083d8a37cbd816cb87148debcfcd920129b25f99dd8d04271/pandas-2.3.3-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:c4fc4c21971a1a9f4bdb4c73978c7f7256caa3e62b323f70d6cb80db583350bc", size = 13199233, upload-time = "2025-09-29T23:24:24.876Z" }, + { url = "https://files.pythonhosted.org/packages/04/fd/74903979833db8390b73b3a8a7d30d146d710bd32703724dd9083950386f/pandas-2.3.3-cp314-cp314-macosx_10_13_x86_64.whl", hash = "sha256:ee15f284898e7b246df8087fc82b87b01686f98ee67d85a17b7ab44143a3a9a0", size = 11540635, upload-time = "2025-09-29T23:25:52.486Z" }, + { url = "https://files.pythonhosted.org/packages/21/00/266d6b357ad5e6d3ad55093a7e8efc7dd245f5a842b584db9f30b0f0a287/pandas-2.3.3-cp314-cp314-macosx_11_0_arm64.whl", hash = "sha256:1611aedd912e1ff81ff41c745822980c49ce4a7907537be8692c8dbc31924593", size = 10759079, upload-time = "2025-09-29T23:26:33.204Z" }, + { url = "https://files.pythonhosted.org/packages/ca/05/d01ef80a7a3a12b2f8bbf16daba1e17c98a2f039cbc8e2f77a2c5a63d382/pandas-2.3.3-cp314-cp314-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:6d2cefc361461662ac48810cb14365a365ce864afe85ef1f447ff5a1e99ea81c", size = 11814049, upload-time = "2025-09-29T23:27:15.384Z" }, + { url = "https://files.pythonhosted.org/packages/15/b2/0e62f78c0c5ba7e3d2c5945a82456f4fac76c480940f805e0b97fcbc2f65/pandas-2.3.3-cp314-cp314-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:ee67acbbf05014ea6c763beb097e03cd629961c8a632075eeb34247120abcb4b", size = 12332638, upload-time = "2025-09-29T23:27:51.625Z" }, + { url = "https://files.pythonhosted.org/packages/c5/33/dd70400631b62b9b29c3c93d2feee1d0964dc2bae2e5ad7a6c73a7f25325/pandas-2.3.3-cp314-cp314-musllinux_1_2_aarch64.whl", hash = "sha256:c46467899aaa4da076d5abc11084634e2d197e9460643dd455ac3db5856b24d6", size = 12886834, upload-time = "2025-09-29T23:28:21.289Z" }, + { url = "https://files.pythonhosted.org/packages/d3/18/b5d48f55821228d0d2692b34fd5034bb185e854bdb592e9c640f6290e012/pandas-2.3.3-cp314-cp314-musllinux_1_2_x86_64.whl", hash = "sha256:6253c72c6a1d990a410bc7de641d34053364ef8bcd3126f7e7450125887dffe3", size = 13409925, upload-time = "2025-09-29T23:28:58.261Z" }, + { url = "https://files.pythonhosted.org/packages/a6/3d/124ac75fcd0ecc09b8fdccb0246ef65e35b012030defb0e0eba2cbbbe948/pandas-2.3.3-cp314-cp314-win_amd64.whl", hash = "sha256:1b07204a219b3b7350abaae088f451860223a52cfb8a6c53358e7948735158e5", size = 11109071, upload-time = "2025-09-29T23:32:27.484Z" }, + { url = "https://files.pythonhosted.org/packages/89/9c/0e21c895c38a157e0faa1fb64587a9226d6dd46452cac4532d80c3c4a244/pandas-2.3.3-cp314-cp314t-macosx_10_13_x86_64.whl", hash = "sha256:2462b1a365b6109d275250baaae7b760fd25c726aaca0054649286bcfbb3e8ec", size = 12048504, upload-time = "2025-09-29T23:29:31.47Z" }, + { url = "https://files.pythonhosted.org/packages/d7/82/b69a1c95df796858777b68fbe6a81d37443a33319761d7c652ce77797475/pandas-2.3.3-cp314-cp314t-macosx_11_0_arm64.whl", hash = "sha256:0242fe9a49aa8b4d78a4fa03acb397a58833ef6199e9aa40a95f027bb3a1b6e7", size = 11410702, upload-time = "2025-09-29T23:29:54.591Z" }, + { url = "https://files.pythonhosted.org/packages/f9/88/702bde3ba0a94b8c73a0181e05144b10f13f29ebfc2150c3a79062a8195d/pandas-2.3.3-cp314-cp314t-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:a21d830e78df0a515db2b3d2f5570610f5e6bd2e27749770e8bb7b524b89b450", size = 11634535, upload-time = "2025-09-29T23:30:21.003Z" }, + { url = "https://files.pythonhosted.org/packages/a4/1e/1bac1a839d12e6a82ec6cb40cda2edde64a2013a66963293696bbf31fbbb/pandas-2.3.3-cp314-cp314t-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:2e3ebdb170b5ef78f19bfb71b0dc5dc58775032361fa188e814959b74d726dd5", size = 12121582, upload-time = "2025-09-29T23:30:43.391Z" }, + { url = "https://files.pythonhosted.org/packages/44/91/483de934193e12a3b1d6ae7c8645d083ff88dec75f46e827562f1e4b4da6/pandas-2.3.3-cp314-cp314t-musllinux_1_2_aarch64.whl", hash = "sha256:d051c0e065b94b7a3cea50eb1ec32e912cd96dba41647eb24104b6c6c14c5788", size = 12699963, upload-time = "2025-09-29T23:31:10.009Z" }, + { url = "https://files.pythonhosted.org/packages/70/44/5191d2e4026f86a2a109053e194d3ba7a31a2d10a9c2348368c63ed4e85a/pandas-2.3.3-cp314-cp314t-musllinux_1_2_x86_64.whl", hash = "sha256:3869faf4bd07b3b66a9f462417d0ca3a9df29a9f6abd5d0d0dbab15dac7abe87", size = 13202175, upload-time = "2025-09-29T23:31:59.173Z" }, ] [[package]] @@ -1502,6 +1734,15 @@ wheels = [ { url = "https://files.pythonhosted.org/packages/9d/a4/3dd804926a42537bf69fb3ebb9fd72a50ba84f807d95df5ae016606c976c/parsedatetime-2.6-py3-none-any.whl", hash = "sha256:cb96edd7016872f58479e35879294258c71437195760746faffedb692aef000b", size = 42548, upload-time = "2020-05-31T23:50:56.315Z" }, ] +[[package]] +name = "pathlib-abc" +version = "0.5.2" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/d6/cb/448649d7f25d228bf0be3a04590ab7afa77f15e056f8fa976ed05ec9a78f/pathlib_abc-0.5.2.tar.gz", hash = "sha256:fcd56f147234645e2c59c7ae22808b34c364bb231f685ddd9f96885aed78a94c", size = 33342, upload-time = "2025-10-10T18:37:20.524Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/b1/29/c028a0731e202035f0e2e0bfbf1a3e46ad6c628cbb17f6f1cc9eea5d9ff1/pathlib_abc-0.5.2-py3-none-any.whl", hash = "sha256:4c9d94cf1b23af417ce7c0417b43333b06a106c01000b286c99de230d95eefbb", size = 19070, upload-time = "2025-10-10T18:37:19.437Z" }, +] + [[package]] name = "pathspec" version = "0.12.1" @@ -1511,6 +1752,15 @@ wheels = [ { url = "https://files.pythonhosted.org/packages/cc/20/ff623b09d963f88bfde16306a54e12ee5ea43e9b597108672ff3a408aad6/pathspec-0.12.1-py3-none-any.whl", hash = "sha256:a0d503e138a4c123b27490a4f7beda6a01c6f288df0e4a8b79c7eb0dc7b4cc08", size = 31191, upload-time = "2023-12-10T22:30:43.14Z" }, ] +[[package]] +name = "platformdirs" +version = "4.5.1" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/cf/86/0248f086a84f01b37aaec0fa567b397df1a119f73c16f6c7a9aac73ea309/platformdirs-4.5.1.tar.gz", hash = "sha256:61d5cdcc6065745cdd94f0f878977f8de9437be93de97c1c12f853c9c0cdcbda", size = 21715, upload-time = "2025-12-05T13:52:58.638Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/cb/28/3bfe2fa5a7b9c46fe7e13c97bda14c895fb10fa2ebf1d0abb90e0cea7ee1/platformdirs-4.5.1-py3-none-any.whl", hash = "sha256:d03afa3963c806a9bed9d5125c8f4cb2fdaf74a55ab60e5d59b3fde758104d31", size = 18731, upload-time = "2025-12-05T13:52:56.823Z" }, +] + [[package]] name = "pluggy" version = "1.6.0" @@ -1522,189 +1772,251 @@ wheels = [ [[package]] name = "polars" -version = "1.31.0" +version = "1.36.1" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "polars-runtime-32" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/9f/dc/56f2a90c79a2cb13f9e956eab6385effe54216ae7a2068b3a6406bae4345/polars-1.36.1.tar.gz", hash = "sha256:12c7616a2305559144711ab73eaa18814f7aa898c522e7645014b68f1432d54c", size = 711993, upload-time = "2025-12-10T01:14:53.033Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/f6/c6/36a1b874036b49893ecae0ac44a2f63d1a76e6212631a5b2f50a86e0e8af/polars-1.36.1-py3-none-any.whl", hash = "sha256:853c1bbb237add6a5f6d133c15094a9b727d66dd6a4eb91dbb07cdb056b2b8ef", size = 802429, upload-time = "2025-12-10T01:13:53.838Z" }, +] + +[[package]] +name = "polars-runtime-32" +version = "1.36.1" source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/fd/f5/de1b5ecd7d0bd0dd87aa392937f759f9cc3997c5866a9a7f94eabf37cd48/polars-1.31.0.tar.gz", hash = "sha256:59a88054a5fc0135386268ceefdbb6a6cc012d21b5b44fed4f1d3faabbdcbf32", size = 4681224, upload-time = "2025-06-18T12:00:46.24Z" } +sdist = { url = "https://files.pythonhosted.org/packages/31/df/597c0ef5eb8d761a16d72327846599b57c5d40d7f9e74306fc154aba8c37/polars_runtime_32-1.36.1.tar.gz", hash = "sha256:201c2cfd80ceb5d5cd7b63085b5fd08d6ae6554f922bcb941035e39638528a09", size = 2788751, upload-time = "2025-12-10T01:14:54.172Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/3d/6e/bdd0937653c1e7a564a09ae3bc7757ce83fedbf19da600c8b35d62c0182a/polars-1.31.0-cp39-abi3-macosx_10_12_x86_64.whl", hash = "sha256:ccc68cd6877deecd46b13cbd2663ca89ab2a2cb1fe49d5cfc66a9cef166566d9", size = 34511354, upload-time = "2025-06-18T11:59:40.048Z" }, - { url = "https://files.pythonhosted.org/packages/77/fe/81aaca3540c1a5530b4bc4fd7f1b6f77100243d7bb9b7ad3478b770d8b3e/polars-1.31.0-cp39-abi3-macosx_11_0_arm64.whl", hash = "sha256:a94c5550df397ad3c2d6adc212e59fd93d9b044ec974dd3653e121e6487a7d21", size = 31377712, upload-time = "2025-06-18T11:59:45.104Z" }, - { url = "https://files.pythonhosted.org/packages/b8/d9/5e2753784ea30d84b3e769a56f5e50ac5a89c129e87baa16ac0773eb4ef7/polars-1.31.0-cp39-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ada7940ed92bea65d5500ae7ac1f599798149df8faa5a6db150327c9ddbee4f1", size = 35050729, upload-time = "2025-06-18T11:59:48.538Z" }, - { url = "https://files.pythonhosted.org/packages/20/e8/a6bdfe7b687c1fe84bceb1f854c43415eaf0d2fdf3c679a9dc9c4776e462/polars-1.31.0-cp39-abi3-manylinux_2_24_aarch64.whl", hash = "sha256:b324e6e3e8c6cc6593f9d72fe625f06af65e8d9d47c8686583585533a5e731e1", size = 32260836, upload-time = "2025-06-18T11:59:52.543Z" }, - { url = "https://files.pythonhosted.org/packages/6e/f6/9d9ad9dc4480d66502497e90ce29efc063373e1598f4bd9b6a38af3e08e7/polars-1.31.0-cp39-abi3-win_amd64.whl", hash = "sha256:3fd874d3432fc932863e8cceff2cff8a12a51976b053f2eb6326a0672134a632", size = 35156211, upload-time = "2025-06-18T11:59:55.805Z" }, - { url = "https://files.pythonhosted.org/packages/40/4b/0673a68ac4d6527fac951970e929c3b4440c654f994f0c957bd5556deb38/polars-1.31.0-cp39-abi3-win_arm64.whl", hash = "sha256:62ef23bb9d10dca4c2b945979f9a50812ac4ace4ed9e158a6b5d32a7322e6f75", size = 31469078, upload-time = "2025-06-18T11:59:59.242Z" }, + { url = "https://files.pythonhosted.org/packages/e1/ea/871129a2d296966c0925b078a9a93c6c5e7facb1c5eebfcd3d5811aeddc1/polars_runtime_32-1.36.1-cp39-abi3-macosx_10_12_x86_64.whl", hash = "sha256:327b621ca82594f277751f7e23d4b939ebd1be18d54b4cdf7a2f8406cecc18b2", size = 43494311, upload-time = "2025-12-10T01:13:56.096Z" }, + { url = "https://files.pythonhosted.org/packages/d8/76/0038210ad1e526ce5bb2933b13760d6b986b3045eccc1338e661bd656f77/polars_runtime_32-1.36.1-cp39-abi3-macosx_11_0_arm64.whl", hash = "sha256:ab0d1f23084afee2b97de8c37aa3e02ec3569749ae39571bd89e7a8b11ae9e83", size = 39300602, upload-time = "2025-12-10T01:13:59.366Z" }, + { url = "https://files.pythonhosted.org/packages/54/1e/2707bee75a780a953a77a2c59829ee90ef55708f02fc4add761c579bf76e/polars_runtime_32-1.36.1-cp39-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:899b9ad2e47ceb31eb157f27a09dbc2047efbf4969a923a6b1ba7f0412c3e64c", size = 44511780, upload-time = "2025-12-10T01:14:02.285Z" }, + { url = "https://files.pythonhosted.org/packages/11/b2/3fede95feee441be64b4bcb32444679a8fbb7a453a10251583053f6efe52/polars_runtime_32-1.36.1-cp39-abi3-manylinux_2_24_aarch64.whl", hash = "sha256:d9d077bb9df711bc635a86540df48242bb91975b353e53ef261c6fae6cb0948f", size = 40688448, upload-time = "2025-12-10T01:14:05.131Z" }, + { url = "https://files.pythonhosted.org/packages/05/0f/e629713a72999939b7b4bfdbf030a32794db588b04fdf3dc977dd8ea6c53/polars_runtime_32-1.36.1-cp39-abi3-win_amd64.whl", hash = "sha256:cc17101f28c9a169ff8b5b8d4977a3683cd403621841623825525f440b564cf0", size = 44464898, upload-time = "2025-12-10T01:14:08.296Z" }, + { url = "https://files.pythonhosted.org/packages/d1/d8/a12e6aa14f63784cead437083319ec7cece0d5bb9a5bfe7678cc6578b52a/polars_runtime_32-1.36.1-cp39-abi3-win_arm64.whl", hash = "sha256:809e73857be71250141225ddd5d2b30c97e6340aeaa0d445f930e01bef6888dc", size = 39798896, upload-time = "2025-12-10T01:14:11.568Z" }, ] [[package]] name = "prompt-toolkit" -version = "3.0.51" +version = "3.0.52" source = { registry = "https://pypi.org/simple" } dependencies = [ { name = "wcwidth" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/bb/6e/9d084c929dfe9e3bfe0c6a47e31f78a25c54627d64a66e884a8bf5474f1c/prompt_toolkit-3.0.51.tar.gz", hash = "sha256:931a162e3b27fc90c86f1b48bb1fb2c528c2761475e57c9c06de13311c7b54ed", size = 428940, upload-time = "2025-04-15T09:18:47.731Z" } +sdist = { url = "https://files.pythonhosted.org/packages/a1/96/06e01a7b38dce6fe1db213e061a4602dd6032a8a97ef6c1a862537732421/prompt_toolkit-3.0.52.tar.gz", hash = "sha256:28cde192929c8e7321de85de1ddbe736f1375148b02f2e17edd840042b1be855", size = 434198, upload-time = "2025-08-27T15:24:02.057Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/ce/4f/5249960887b1fbe561d9ff265496d170b55a735b76724f10ef19f9e40716/prompt_toolkit-3.0.51-py3-none-any.whl", hash = "sha256:52742911fde84e2d423e2f9a4cf1de7d7ac4e51958f648d9540e0fb8db077b07", size = 387810, upload-time = "2025-04-15T09:18:44.753Z" }, + { url = "https://files.pythonhosted.org/packages/84/03/0d3ce49e2505ae70cf43bc5bb3033955d2fc9f932163e84dc0779cc47f48/prompt_toolkit-3.0.52-py3-none-any.whl", hash = "sha256:9aac639a3bbd33284347de5ad8d68ecc044b91a762dc39b7c21095fcd6a19955", size = 391431, upload-time = "2025-08-27T15:23:59.498Z" }, ] [[package]] name = "propcache" -version = "0.3.2" -source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/a6/16/43264e4a779dd8588c21a70f0709665ee8f611211bdd2c87d952cfa7c776/propcache-0.3.2.tar.gz", hash = "sha256:20d7d62e4e7ef05f221e0db2856b979540686342e7dd9973b815599c7057e168", size = 44139, upload-time = "2025-06-09T22:56:06.081Z" } -wheels = [ - { url = "https://files.pythonhosted.org/packages/a8/42/9ca01b0a6f48e81615dca4765a8f1dd2c057e0540f6116a27dc5ee01dfb6/propcache-0.3.2-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:8de106b6c84506b31c27168582cd3cb3000a6412c16df14a8628e5871ff83c10", size = 73674, upload-time = "2025-06-09T22:54:30.551Z" }, - { url = "https://files.pythonhosted.org/packages/af/6e/21293133beb550f9c901bbece755d582bfaf2176bee4774000bd4dd41884/propcache-0.3.2-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:28710b0d3975117239c76600ea351934ac7b5ff56e60953474342608dbbb6154", size = 43570, upload-time = "2025-06-09T22:54:32.296Z" }, - { url = "https://files.pythonhosted.org/packages/0c/c8/0393a0a3a2b8760eb3bde3c147f62b20044f0ddac81e9d6ed7318ec0d852/propcache-0.3.2-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:ce26862344bdf836650ed2487c3d724b00fbfec4233a1013f597b78c1cb73615", size = 43094, upload-time = "2025-06-09T22:54:33.929Z" }, - { url = "https://files.pythonhosted.org/packages/37/2c/489afe311a690399d04a3e03b069225670c1d489eb7b044a566511c1c498/propcache-0.3.2-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:bca54bd347a253af2cf4544bbec232ab982f4868de0dd684246b67a51bc6b1db", size = 226958, upload-time = "2025-06-09T22:54:35.186Z" }, - { url = "https://files.pythonhosted.org/packages/9d/ca/63b520d2f3d418c968bf596839ae26cf7f87bead026b6192d4da6a08c467/propcache-0.3.2-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:55780d5e9a2ddc59711d727226bb1ba83a22dd32f64ee15594b9392b1f544eb1", size = 234894, upload-time = "2025-06-09T22:54:36.708Z" }, - { url = "https://files.pythonhosted.org/packages/11/60/1d0ed6fff455a028d678df30cc28dcee7af77fa2b0e6962ce1df95c9a2a9/propcache-0.3.2-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:035e631be25d6975ed87ab23153db6a73426a48db688070d925aa27e996fe93c", size = 233672, upload-time = "2025-06-09T22:54:38.062Z" }, - { url = "https://files.pythonhosted.org/packages/37/7c/54fd5301ef38505ab235d98827207176a5c9b2aa61939b10a460ca53e123/propcache-0.3.2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ee6f22b6eaa39297c751d0e80c0d3a454f112f5c6481214fcf4c092074cecd67", size = 224395, upload-time = "2025-06-09T22:54:39.634Z" }, - { url = "https://files.pythonhosted.org/packages/ee/1a/89a40e0846f5de05fdc6779883bf46ba980e6df4d2ff8fb02643de126592/propcache-0.3.2-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:7ca3aee1aa955438c4dba34fc20a9f390e4c79967257d830f137bd5a8a32ed3b", size = 212510, upload-time = "2025-06-09T22:54:41.565Z" }, - { url = "https://files.pythonhosted.org/packages/5e/33/ca98368586c9566a6b8d5ef66e30484f8da84c0aac3f2d9aec6d31a11bd5/propcache-0.3.2-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:7a4f30862869fa2b68380d677cc1c5fcf1e0f2b9ea0cf665812895c75d0ca3b8", size = 222949, upload-time = "2025-06-09T22:54:43.038Z" }, - { url = "https://files.pythonhosted.org/packages/ba/11/ace870d0aafe443b33b2f0b7efdb872b7c3abd505bfb4890716ad7865e9d/propcache-0.3.2-cp312-cp312-musllinux_1_2_armv7l.whl", hash = "sha256:b77ec3c257d7816d9f3700013639db7491a434644c906a2578a11daf13176251", size = 217258, upload-time = "2025-06-09T22:54:44.376Z" }, - { url = "https://files.pythonhosted.org/packages/5b/d2/86fd6f7adffcfc74b42c10a6b7db721d1d9ca1055c45d39a1a8f2a740a21/propcache-0.3.2-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:cab90ac9d3f14b2d5050928483d3d3b8fb6b4018893fc75710e6aa361ecb2474", size = 213036, upload-time = "2025-06-09T22:54:46.243Z" }, - { url = "https://files.pythonhosted.org/packages/07/94/2d7d1e328f45ff34a0a284cf5a2847013701e24c2a53117e7c280a4316b3/propcache-0.3.2-cp312-cp312-musllinux_1_2_ppc64le.whl", hash = "sha256:0b504d29f3c47cf6b9e936c1852246c83d450e8e063d50562115a6be6d3a2535", size = 227684, upload-time = "2025-06-09T22:54:47.63Z" }, - { url = "https://files.pythonhosted.org/packages/b7/05/37ae63a0087677e90b1d14710e532ff104d44bc1efa3b3970fff99b891dc/propcache-0.3.2-cp312-cp312-musllinux_1_2_s390x.whl", hash = "sha256:ce2ac2675a6aa41ddb2a0c9cbff53780a617ac3d43e620f8fd77ba1c84dcfc06", size = 234562, upload-time = "2025-06-09T22:54:48.982Z" }, - { url = "https://files.pythonhosted.org/packages/a4/7c/3f539fcae630408d0bd8bf3208b9a647ccad10976eda62402a80adf8fc34/propcache-0.3.2-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:62b4239611205294cc433845b914131b2a1f03500ff3c1ed093ed216b82621e1", size = 222142, upload-time = "2025-06-09T22:54:50.424Z" }, - { url = "https://files.pythonhosted.org/packages/7c/d2/34b9eac8c35f79f8a962546b3e97e9d4b990c420ee66ac8255d5d9611648/propcache-0.3.2-cp312-cp312-win32.whl", hash = "sha256:df4a81b9b53449ebc90cc4deefb052c1dd934ba85012aa912c7ea7b7e38b60c1", size = 37711, upload-time = "2025-06-09T22:54:52.072Z" }, - { url = "https://files.pythonhosted.org/packages/19/61/d582be5d226cf79071681d1b46b848d6cb03d7b70af7063e33a2787eaa03/propcache-0.3.2-cp312-cp312-win_amd64.whl", hash = "sha256:7046e79b989d7fe457bb755844019e10f693752d169076138abf17f31380800c", size = 41479, upload-time = "2025-06-09T22:54:53.234Z" }, - { url = "https://files.pythonhosted.org/packages/dc/d1/8c747fafa558c603c4ca19d8e20b288aa0c7cda74e9402f50f31eb65267e/propcache-0.3.2-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:ca592ed634a73ca002967458187109265e980422116c0a107cf93d81f95af945", size = 71286, upload-time = "2025-06-09T22:54:54.369Z" }, - { url = "https://files.pythonhosted.org/packages/61/99/d606cb7986b60d89c36de8a85d58764323b3a5ff07770a99d8e993b3fa73/propcache-0.3.2-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:9ecb0aad4020e275652ba3975740f241bd12a61f1a784df044cf7477a02bc252", size = 42425, upload-time = "2025-06-09T22:54:55.642Z" }, - { url = "https://files.pythonhosted.org/packages/8c/96/ef98f91bbb42b79e9bb82bdd348b255eb9d65f14dbbe3b1594644c4073f7/propcache-0.3.2-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:7f08f1cc28bd2eade7a8a3d2954ccc673bb02062e3e7da09bc75d843386b342f", size = 41846, upload-time = "2025-06-09T22:54:57.246Z" }, - { url = "https://files.pythonhosted.org/packages/5b/ad/3f0f9a705fb630d175146cd7b1d2bf5555c9beaed54e94132b21aac098a6/propcache-0.3.2-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d1a342c834734edb4be5ecb1e9fb48cb64b1e2320fccbd8c54bf8da8f2a84c33", size = 208871, upload-time = "2025-06-09T22:54:58.975Z" }, - { url = "https://files.pythonhosted.org/packages/3a/38/2085cda93d2c8b6ec3e92af2c89489a36a5886b712a34ab25de9fbca7992/propcache-0.3.2-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:8a544caaae1ac73f1fecfae70ded3e93728831affebd017d53449e3ac052ac1e", size = 215720, upload-time = "2025-06-09T22:55:00.471Z" }, - { url = "https://files.pythonhosted.org/packages/61/c1/d72ea2dc83ac7f2c8e182786ab0fc2c7bd123a1ff9b7975bee671866fe5f/propcache-0.3.2-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:310d11aa44635298397db47a3ebce7db99a4cc4b9bbdfcf6c98a60c8d5261cf1", size = 215203, upload-time = "2025-06-09T22:55:01.834Z" }, - { url = "https://files.pythonhosted.org/packages/af/81/b324c44ae60c56ef12007105f1460d5c304b0626ab0cc6b07c8f2a9aa0b8/propcache-0.3.2-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:4c1396592321ac83157ac03a2023aa6cc4a3cc3cfdecb71090054c09e5a7cce3", size = 206365, upload-time = "2025-06-09T22:55:03.199Z" }, - { url = "https://files.pythonhosted.org/packages/09/73/88549128bb89e66d2aff242488f62869014ae092db63ccea53c1cc75a81d/propcache-0.3.2-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:8cabf5b5902272565e78197edb682017d21cf3b550ba0460ee473753f28d23c1", size = 196016, upload-time = "2025-06-09T22:55:04.518Z" }, - { url = "https://files.pythonhosted.org/packages/b9/3f/3bdd14e737d145114a5eb83cb172903afba7242f67c5877f9909a20d948d/propcache-0.3.2-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:0a2f2235ac46a7aa25bdeb03a9e7060f6ecbd213b1f9101c43b3090ffb971ef6", size = 205596, upload-time = "2025-06-09T22:55:05.942Z" }, - { url = "https://files.pythonhosted.org/packages/0f/ca/2f4aa819c357d3107c3763d7ef42c03980f9ed5c48c82e01e25945d437c1/propcache-0.3.2-cp313-cp313-musllinux_1_2_armv7l.whl", hash = "sha256:92b69e12e34869a6970fd2f3da91669899994b47c98f5d430b781c26f1d9f387", size = 200977, upload-time = "2025-06-09T22:55:07.792Z" }, - { url = "https://files.pythonhosted.org/packages/cd/4a/e65276c7477533c59085251ae88505caf6831c0e85ff8b2e31ebcbb949b1/propcache-0.3.2-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:54e02207c79968ebbdffc169591009f4474dde3b4679e16634d34c9363ff56b4", size = 197220, upload-time = "2025-06-09T22:55:09.173Z" }, - { url = "https://files.pythonhosted.org/packages/7c/54/fc7152e517cf5578278b242396ce4d4b36795423988ef39bb8cd5bf274c8/propcache-0.3.2-cp313-cp313-musllinux_1_2_ppc64le.whl", hash = "sha256:4adfb44cb588001f68c5466579d3f1157ca07f7504fc91ec87862e2b8e556b88", size = 210642, upload-time = "2025-06-09T22:55:10.62Z" }, - { url = "https://files.pythonhosted.org/packages/b9/80/abeb4a896d2767bf5f1ea7b92eb7be6a5330645bd7fb844049c0e4045d9d/propcache-0.3.2-cp313-cp313-musllinux_1_2_s390x.whl", hash = "sha256:fd3e6019dc1261cd0291ee8919dd91fbab7b169bb76aeef6c716833a3f65d206", size = 212789, upload-time = "2025-06-09T22:55:12.029Z" }, - { url = "https://files.pythonhosted.org/packages/b3/db/ea12a49aa7b2b6d68a5da8293dcf50068d48d088100ac016ad92a6a780e6/propcache-0.3.2-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:4c181cad81158d71c41a2bce88edce078458e2dd5ffee7eddd6b05da85079f43", size = 205880, upload-time = "2025-06-09T22:55:13.45Z" }, - { url = "https://files.pythonhosted.org/packages/d1/e5/9076a0bbbfb65d1198007059c65639dfd56266cf8e477a9707e4b1999ff4/propcache-0.3.2-cp313-cp313-win32.whl", hash = "sha256:8a08154613f2249519e549de2330cf8e2071c2887309a7b07fb56098f5170a02", size = 37220, upload-time = "2025-06-09T22:55:15.284Z" }, - { url = "https://files.pythonhosted.org/packages/d3/f5/b369e026b09a26cd77aa88d8fffd69141d2ae00a2abaaf5380d2603f4b7f/propcache-0.3.2-cp313-cp313-win_amd64.whl", hash = "sha256:e41671f1594fc4ab0a6dec1351864713cb3a279910ae8b58f884a88a0a632c05", size = 40678, upload-time = "2025-06-09T22:55:16.445Z" }, - { url = "https://files.pythonhosted.org/packages/a4/3a/6ece377b55544941a08d03581c7bc400a3c8cd3c2865900a68d5de79e21f/propcache-0.3.2-cp313-cp313t-macosx_10_13_universal2.whl", hash = "sha256:9a3cf035bbaf035f109987d9d55dc90e4b0e36e04bbbb95af3055ef17194057b", size = 76560, upload-time = "2025-06-09T22:55:17.598Z" }, - { url = "https://files.pythonhosted.org/packages/0c/da/64a2bb16418740fa634b0e9c3d29edff1db07f56d3546ca2d86ddf0305e1/propcache-0.3.2-cp313-cp313t-macosx_10_13_x86_64.whl", hash = "sha256:156c03d07dc1323d8dacaa221fbe028c5c70d16709cdd63502778e6c3ccca1b0", size = 44676, upload-time = "2025-06-09T22:55:18.922Z" }, - { url = "https://files.pythonhosted.org/packages/36/7b/f025e06ea51cb72c52fb87e9b395cced02786610b60a3ed51da8af017170/propcache-0.3.2-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:74413c0ba02ba86f55cf60d18daab219f7e531620c15f1e23d95563f505efe7e", size = 44701, upload-time = "2025-06-09T22:55:20.106Z" }, - { url = "https://files.pythonhosted.org/packages/a4/00/faa1b1b7c3b74fc277f8642f32a4c72ba1d7b2de36d7cdfb676db7f4303e/propcache-0.3.2-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f066b437bb3fa39c58ff97ab2ca351db465157d68ed0440abecb21715eb24b28", size = 276934, upload-time = "2025-06-09T22:55:21.5Z" }, - { url = "https://files.pythonhosted.org/packages/74/ab/935beb6f1756e0476a4d5938ff44bf0d13a055fed880caf93859b4f1baf4/propcache-0.3.2-cp313-cp313t-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:f1304b085c83067914721e7e9d9917d41ad87696bf70f0bc7dee450e9c71ad0a", size = 278316, upload-time = "2025-06-09T22:55:22.918Z" }, - { url = "https://files.pythonhosted.org/packages/f8/9d/994a5c1ce4389610838d1caec74bdf0e98b306c70314d46dbe4fcf21a3e2/propcache-0.3.2-cp313-cp313t-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:ab50cef01b372763a13333b4e54021bdcb291fc9a8e2ccb9c2df98be51bcde6c", size = 282619, upload-time = "2025-06-09T22:55:24.651Z" }, - { url = "https://files.pythonhosted.org/packages/2b/00/a10afce3d1ed0287cef2e09506d3be9822513f2c1e96457ee369adb9a6cd/propcache-0.3.2-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:fad3b2a085ec259ad2c2842666b2a0a49dea8463579c606426128925af1ed725", size = 265896, upload-time = "2025-06-09T22:55:26.049Z" }, - { url = "https://files.pythonhosted.org/packages/2e/a8/2aa6716ffa566ca57c749edb909ad27884680887d68517e4be41b02299f3/propcache-0.3.2-cp313-cp313t-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:261fa020c1c14deafd54c76b014956e2f86991af198c51139faf41c4d5e83892", size = 252111, upload-time = "2025-06-09T22:55:27.381Z" }, - { url = "https://files.pythonhosted.org/packages/36/4f/345ca9183b85ac29c8694b0941f7484bf419c7f0fea2d1e386b4f7893eed/propcache-0.3.2-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:46d7f8aa79c927e5f987ee3a80205c987717d3659f035c85cf0c3680526bdb44", size = 268334, upload-time = "2025-06-09T22:55:28.747Z" }, - { url = "https://files.pythonhosted.org/packages/3e/ca/fcd54f78b59e3f97b3b9715501e3147f5340167733d27db423aa321e7148/propcache-0.3.2-cp313-cp313t-musllinux_1_2_armv7l.whl", hash = "sha256:6d8f3f0eebf73e3c0ff0e7853f68be638b4043c65a70517bb575eff54edd8dbe", size = 255026, upload-time = "2025-06-09T22:55:30.184Z" }, - { url = "https://files.pythonhosted.org/packages/8b/95/8e6a6bbbd78ac89c30c225210a5c687790e532ba4088afb8c0445b77ef37/propcache-0.3.2-cp313-cp313t-musllinux_1_2_i686.whl", hash = "sha256:03c89c1b14a5452cf15403e291c0ccd7751d5b9736ecb2c5bab977ad6c5bcd81", size = 250724, upload-time = "2025-06-09T22:55:31.646Z" }, - { url = "https://files.pythonhosted.org/packages/ee/b0/0dd03616142baba28e8b2d14ce5df6631b4673850a3d4f9c0f9dd714a404/propcache-0.3.2-cp313-cp313t-musllinux_1_2_ppc64le.whl", hash = "sha256:0cc17efde71e12bbaad086d679ce575268d70bc123a5a71ea7ad76f70ba30bba", size = 268868, upload-time = "2025-06-09T22:55:33.209Z" }, - { url = "https://files.pythonhosted.org/packages/c5/98/2c12407a7e4fbacd94ddd32f3b1e3d5231e77c30ef7162b12a60e2dd5ce3/propcache-0.3.2-cp313-cp313t-musllinux_1_2_s390x.whl", hash = "sha256:acdf05d00696bc0447e278bb53cb04ca72354e562cf88ea6f9107df8e7fd9770", size = 271322, upload-time = "2025-06-09T22:55:35.065Z" }, - { url = "https://files.pythonhosted.org/packages/35/91/9cb56efbb428b006bb85db28591e40b7736847b8331d43fe335acf95f6c8/propcache-0.3.2-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:4445542398bd0b5d32df908031cb1b30d43ac848e20470a878b770ec2dcc6330", size = 265778, upload-time = "2025-06-09T22:55:36.45Z" }, - { url = "https://files.pythonhosted.org/packages/9a/4c/b0fe775a2bdd01e176b14b574be679d84fc83958335790f7c9a686c1f468/propcache-0.3.2-cp313-cp313t-win32.whl", hash = "sha256:f86e5d7cd03afb3a1db8e9f9f6eff15794e79e791350ac48a8c924e6f439f394", size = 41175, upload-time = "2025-06-09T22:55:38.436Z" }, - { url = "https://files.pythonhosted.org/packages/a4/ff/47f08595e3d9b5e149c150f88d9714574f1a7cbd89fe2817158a952674bf/propcache-0.3.2-cp313-cp313t-win_amd64.whl", hash = "sha256:9704bedf6e7cbe3c65eca4379a9b53ee6a83749f047808cbb5044d40d7d72198", size = 44857, upload-time = "2025-06-09T22:55:39.687Z" }, - { url = "https://files.pythonhosted.org/packages/cc/35/cc0aaecf278bb4575b8555f2b137de5ab821595ddae9da9d3cd1da4072c7/propcache-0.3.2-py3-none-any.whl", hash = "sha256:98f1ec44fb675f5052cccc8e609c46ed23a35a1cfd18545ad4e29002d858a43f", size = 12663, upload-time = "2025-06-09T22:56:04.484Z" }, +version = "0.4.1" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/9e/da/e9fc233cf63743258bff22b3dfa7ea5baef7b5bc324af47a0ad89b8ffc6f/propcache-0.4.1.tar.gz", hash = "sha256:f48107a8c637e80362555f37ecf49abe20370e557cc4ab374f04ec4423c97c3d", size = 46442, upload-time = "2025-10-08T19:49:02.291Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/a2/0f/f17b1b2b221d5ca28b4b876e8bb046ac40466513960646bda8e1853cdfa2/propcache-0.4.1-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:e153e9cd40cc8945138822807139367f256f89c6810c2634a4f6902b52d3b4e2", size = 80061, upload-time = "2025-10-08T19:46:46.075Z" }, + { url = "https://files.pythonhosted.org/packages/76/47/8ccf75935f51448ba9a16a71b783eb7ef6b9ee60f5d14c7f8a8a79fbeed7/propcache-0.4.1-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:cd547953428f7abb73c5ad82cbb32109566204260d98e41e5dfdc682eb7f8403", size = 46037, upload-time = "2025-10-08T19:46:47.23Z" }, + { url = "https://files.pythonhosted.org/packages/0a/b6/5c9a0e42df4d00bfb4a3cbbe5cf9f54260300c88a0e9af1f47ca5ce17ac0/propcache-0.4.1-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:f048da1b4f243fc44f205dfd320933a951b8d89e0afd4c7cacc762a8b9165207", size = 47324, upload-time = "2025-10-08T19:46:48.384Z" }, + { url = "https://files.pythonhosted.org/packages/9e/d3/6c7ee328b39a81ee877c962469f1e795f9db87f925251efeb0545e0020d0/propcache-0.4.1-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:ec17c65562a827bba85e3872ead335f95405ea1674860d96483a02f5c698fa72", size = 225505, upload-time = "2025-10-08T19:46:50.055Z" }, + { url = "https://files.pythonhosted.org/packages/01/5d/1c53f4563490b1d06a684742cc6076ef944bc6457df6051b7d1a877c057b/propcache-0.4.1-cp312-cp312-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:405aac25c6394ef275dee4c709be43745d36674b223ba4eb7144bf4d691b7367", size = 230242, upload-time = "2025-10-08T19:46:51.815Z" }, + { url = "https://files.pythonhosted.org/packages/20/e1/ce4620633b0e2422207c3cb774a0ee61cac13abc6217763a7b9e2e3f4a12/propcache-0.4.1-cp312-cp312-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:0013cb6f8dde4b2a2f66903b8ba740bdfe378c943c4377a200551ceb27f379e4", size = 238474, upload-time = "2025-10-08T19:46:53.208Z" }, + { url = "https://files.pythonhosted.org/packages/46/4b/3aae6835b8e5f44ea6a68348ad90f78134047b503765087be2f9912140ea/propcache-0.4.1-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:15932ab57837c3368b024473a525e25d316d8353016e7cc0e5ba9eb343fbb1cf", size = 221575, upload-time = "2025-10-08T19:46:54.511Z" }, + { url = "https://files.pythonhosted.org/packages/6e/a5/8a5e8678bcc9d3a1a15b9a29165640d64762d424a16af543f00629c87338/propcache-0.4.1-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:031dce78b9dc099f4c29785d9cf5577a3faf9ebf74ecbd3c856a7b92768c3df3", size = 216736, upload-time = "2025-10-08T19:46:56.212Z" }, + { url = "https://files.pythonhosted.org/packages/f1/63/b7b215eddeac83ca1c6b934f89d09a625aa9ee4ba158338854c87210cc36/propcache-0.4.1-cp312-cp312-musllinux_1_2_armv7l.whl", hash = "sha256:ab08df6c9a035bee56e31af99be621526bd237bea9f32def431c656b29e41778", size = 213019, upload-time = "2025-10-08T19:46:57.595Z" }, + { url = "https://files.pythonhosted.org/packages/57/74/f580099a58c8af587cac7ba19ee7cb418506342fbbe2d4a4401661cca886/propcache-0.4.1-cp312-cp312-musllinux_1_2_ppc64le.whl", hash = "sha256:4d7af63f9f93fe593afbf104c21b3b15868efb2c21d07d8732c0c4287e66b6a6", size = 220376, upload-time = "2025-10-08T19:46:59.067Z" }, + { url = "https://files.pythonhosted.org/packages/c4/ee/542f1313aff7eaf19c2bb758c5d0560d2683dac001a1c96d0774af799843/propcache-0.4.1-cp312-cp312-musllinux_1_2_s390x.whl", hash = "sha256:cfc27c945f422e8b5071b6e93169679e4eb5bf73bbcbf1ba3ae3a83d2f78ebd9", size = 226988, upload-time = "2025-10-08T19:47:00.544Z" }, + { url = "https://files.pythonhosted.org/packages/8f/18/9c6b015dd9c6930f6ce2229e1f02fb35298b847f2087ea2b436a5bfa7287/propcache-0.4.1-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:35c3277624a080cc6ec6f847cbbbb5b49affa3598c4535a0a4682a697aaa5c75", size = 215615, upload-time = "2025-10-08T19:47:01.968Z" }, + { url = "https://files.pythonhosted.org/packages/80/9e/e7b85720b98c45a45e1fca6a177024934dc9bc5f4d5dd04207f216fc33ed/propcache-0.4.1-cp312-cp312-win32.whl", hash = "sha256:671538c2262dadb5ba6395e26c1731e1d52534bfe9ae56d0b5573ce539266aa8", size = 38066, upload-time = "2025-10-08T19:47:03.503Z" }, + { url = "https://files.pythonhosted.org/packages/54/09/d19cff2a5aaac632ec8fc03737b223597b1e347416934c1b3a7df079784c/propcache-0.4.1-cp312-cp312-win_amd64.whl", hash = "sha256:cb2d222e72399fcf5890d1d5cc1060857b9b236adff2792ff48ca2dfd46c81db", size = 41655, upload-time = "2025-10-08T19:47:04.973Z" }, + { url = "https://files.pythonhosted.org/packages/68/ab/6b5c191bb5de08036a8c697b265d4ca76148efb10fa162f14af14fb5f076/propcache-0.4.1-cp312-cp312-win_arm64.whl", hash = "sha256:204483131fb222bdaaeeea9f9e6c6ed0cac32731f75dfc1d4a567fc1926477c1", size = 37789, upload-time = "2025-10-08T19:47:06.077Z" }, + { url = "https://files.pythonhosted.org/packages/bf/df/6d9c1b6ac12b003837dde8a10231a7344512186e87b36e855bef32241942/propcache-0.4.1-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:43eedf29202c08550aac1d14e0ee619b0430aaef78f85864c1a892294fbc28cf", size = 77750, upload-time = "2025-10-08T19:47:07.648Z" }, + { url = "https://files.pythonhosted.org/packages/8b/e8/677a0025e8a2acf07d3418a2e7ba529c9c33caf09d3c1f25513023c1db56/propcache-0.4.1-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:d62cdfcfd89ccb8de04e0eda998535c406bf5e060ffd56be6c586cbcc05b3311", size = 44780, upload-time = "2025-10-08T19:47:08.851Z" }, + { url = "https://files.pythonhosted.org/packages/89/a4/92380f7ca60f99ebae761936bc48a72a639e8a47b29050615eef757cb2a7/propcache-0.4.1-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:cae65ad55793da34db5f54e4029b89d3b9b9490d8abe1b4c7ab5d4b8ec7ebf74", size = 46308, upload-time = "2025-10-08T19:47:09.982Z" }, + { url = "https://files.pythonhosted.org/packages/2d/48/c5ac64dee5262044348d1d78a5f85dd1a57464a60d30daee946699963eb3/propcache-0.4.1-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:333ddb9031d2704a301ee3e506dc46b1fe5f294ec198ed6435ad5b6a085facfe", size = 208182, upload-time = "2025-10-08T19:47:11.319Z" }, + { url = "https://files.pythonhosted.org/packages/c6/0c/cd762dd011a9287389a6a3eb43aa30207bde253610cca06824aeabfe9653/propcache-0.4.1-cp313-cp313-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:fd0858c20f078a32cf55f7e81473d96dcf3b93fd2ccdb3d40fdf54b8573df3af", size = 211215, upload-time = "2025-10-08T19:47:13.146Z" }, + { url = "https://files.pythonhosted.org/packages/30/3e/49861e90233ba36890ae0ca4c660e95df565b2cd15d4a68556ab5865974e/propcache-0.4.1-cp313-cp313-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:678ae89ebc632c5c204c794f8dab2837c5f159aeb59e6ed0539500400577298c", size = 218112, upload-time = "2025-10-08T19:47:14.913Z" }, + { url = "https://files.pythonhosted.org/packages/f1/8b/544bc867e24e1bd48f3118cecd3b05c694e160a168478fa28770f22fd094/propcache-0.4.1-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:d472aeb4fbf9865e0c6d622d7f4d54a4e101a89715d8904282bb5f9a2f476c3f", size = 204442, upload-time = "2025-10-08T19:47:16.277Z" }, + { url = "https://files.pythonhosted.org/packages/50/a6/4282772fd016a76d3e5c0df58380a5ea64900afd836cec2c2f662d1b9bb3/propcache-0.4.1-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:4d3df5fa7e36b3225954fba85589da77a0fe6a53e3976de39caf04a0db4c36f1", size = 199398, upload-time = "2025-10-08T19:47:17.962Z" }, + { url = "https://files.pythonhosted.org/packages/3e/ec/d8a7cd406ee1ddb705db2139f8a10a8a427100347bd698e7014351c7af09/propcache-0.4.1-cp313-cp313-musllinux_1_2_armv7l.whl", hash = "sha256:ee17f18d2498f2673e432faaa71698032b0127ebf23ae5974eeaf806c279df24", size = 196920, upload-time = "2025-10-08T19:47:19.355Z" }, + { url = "https://files.pythonhosted.org/packages/f6/6c/f38ab64af3764f431e359f8baf9e0a21013e24329e8b85d2da32e8ed07ca/propcache-0.4.1-cp313-cp313-musllinux_1_2_ppc64le.whl", hash = "sha256:580e97762b950f993ae618e167e7be9256b8353c2dcd8b99ec100eb50f5286aa", size = 203748, upload-time = "2025-10-08T19:47:21.338Z" }, + { url = "https://files.pythonhosted.org/packages/d6/e3/fa846bd70f6534d647886621388f0a265254d30e3ce47e5c8e6e27dbf153/propcache-0.4.1-cp313-cp313-musllinux_1_2_s390x.whl", hash = "sha256:501d20b891688eb8e7aa903021f0b72d5a55db40ffaab27edefd1027caaafa61", size = 205877, upload-time = "2025-10-08T19:47:23.059Z" }, + { url = "https://files.pythonhosted.org/packages/e2/39/8163fc6f3133fea7b5f2827e8eba2029a0277ab2c5beee6c1db7b10fc23d/propcache-0.4.1-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:9a0bd56e5b100aef69bd8562b74b46254e7c8812918d3baa700c8a8009b0af66", size = 199437, upload-time = "2025-10-08T19:47:24.445Z" }, + { url = "https://files.pythonhosted.org/packages/93/89/caa9089970ca49c7c01662bd0eeedfe85494e863e8043565aeb6472ce8fe/propcache-0.4.1-cp313-cp313-win32.whl", hash = "sha256:bcc9aaa5d80322bc2fb24bb7accb4a30f81e90ab8d6ba187aec0744bc302ad81", size = 37586, upload-time = "2025-10-08T19:47:25.736Z" }, + { url = "https://files.pythonhosted.org/packages/f5/ab/f76ec3c3627c883215b5c8080debb4394ef5a7a29be811f786415fc1e6fd/propcache-0.4.1-cp313-cp313-win_amd64.whl", hash = "sha256:381914df18634f5494334d201e98245c0596067504b9372d8cf93f4bb23e025e", size = 40790, upload-time = "2025-10-08T19:47:26.847Z" }, + { url = "https://files.pythonhosted.org/packages/59/1b/e71ae98235f8e2ba5004d8cb19765a74877abf189bc53fc0c80d799e56c3/propcache-0.4.1-cp313-cp313-win_arm64.whl", hash = "sha256:8873eb4460fd55333ea49b7d189749ecf6e55bf85080f11b1c4530ed3034cba1", size = 37158, upload-time = "2025-10-08T19:47:27.961Z" }, + { url = "https://files.pythonhosted.org/packages/83/ce/a31bbdfc24ee0dcbba458c8175ed26089cf109a55bbe7b7640ed2470cfe9/propcache-0.4.1-cp313-cp313t-macosx_10_13_universal2.whl", hash = "sha256:92d1935ee1f8d7442da9c0c4fa7ac20d07e94064184811b685f5c4fada64553b", size = 81451, upload-time = "2025-10-08T19:47:29.445Z" }, + { url = "https://files.pythonhosted.org/packages/25/9c/442a45a470a68456e710d96cacd3573ef26a1d0a60067e6a7d5e655621ed/propcache-0.4.1-cp313-cp313t-macosx_10_13_x86_64.whl", hash = "sha256:473c61b39e1460d386479b9b2f337da492042447c9b685f28be4f74d3529e566", size = 46374, upload-time = "2025-10-08T19:47:30.579Z" }, + { url = "https://files.pythonhosted.org/packages/f4/bf/b1d5e21dbc3b2e889ea4327044fb16312a736d97640fb8b6aa3f9c7b3b65/propcache-0.4.1-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:c0ef0aaafc66fbd87842a3fe3902fd889825646bc21149eafe47be6072725835", size = 48396, upload-time = "2025-10-08T19:47:31.79Z" }, + { url = "https://files.pythonhosted.org/packages/f4/04/5b4c54a103d480e978d3c8a76073502b18db0c4bc17ab91b3cb5092ad949/propcache-0.4.1-cp313-cp313t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:f95393b4d66bfae908c3ca8d169d5f79cd65636ae15b5e7a4f6e67af675adb0e", size = 275950, upload-time = "2025-10-08T19:47:33.481Z" }, + { url = "https://files.pythonhosted.org/packages/b4/c1/86f846827fb969c4b78b0af79bba1d1ea2156492e1b83dea8b8a6ae27395/propcache-0.4.1-cp313-cp313t-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:c07fda85708bc48578467e85099645167a955ba093be0a2dcba962195676e859", size = 273856, upload-time = "2025-10-08T19:47:34.906Z" }, + { url = "https://files.pythonhosted.org/packages/36/1d/fc272a63c8d3bbad6878c336c7a7dea15e8f2d23a544bda43205dfa83ada/propcache-0.4.1-cp313-cp313t-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:af223b406d6d000830c6f65f1e6431783fc3f713ba3e6cc8c024d5ee96170a4b", size = 280420, upload-time = "2025-10-08T19:47:36.338Z" }, + { url = "https://files.pythonhosted.org/packages/07/0c/01f2219d39f7e53d52e5173bcb09c976609ba30209912a0680adfb8c593a/propcache-0.4.1-cp313-cp313t-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:a78372c932c90ee474559c5ddfffd718238e8673c340dc21fe45c5b8b54559a0", size = 263254, upload-time = "2025-10-08T19:47:37.692Z" }, + { url = "https://files.pythonhosted.org/packages/2d/18/cd28081658ce597898f0c4d174d4d0f3c5b6d4dc27ffafeef835c95eb359/propcache-0.4.1-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:564d9f0d4d9509e1a870c920a89b2fec951b44bf5ba7d537a9e7c1ccec2c18af", size = 261205, upload-time = "2025-10-08T19:47:39.659Z" }, + { url = "https://files.pythonhosted.org/packages/7a/71/1f9e22eb8b8316701c2a19fa1f388c8a3185082607da8e406a803c9b954e/propcache-0.4.1-cp313-cp313t-musllinux_1_2_armv7l.whl", hash = "sha256:17612831fda0138059cc5546f4d12a2aacfb9e47068c06af35c400ba58ba7393", size = 247873, upload-time = "2025-10-08T19:47:41.084Z" }, + { url = "https://files.pythonhosted.org/packages/4a/65/3d4b61f36af2b4eddba9def857959f1016a51066b4f1ce348e0cf7881f58/propcache-0.4.1-cp313-cp313t-musllinux_1_2_ppc64le.whl", hash = "sha256:41a89040cb10bd345b3c1a873b2bf36413d48da1def52f268a055f7398514874", size = 262739, upload-time = "2025-10-08T19:47:42.51Z" }, + { url = "https://files.pythonhosted.org/packages/2a/42/26746ab087faa77c1c68079b228810436ccd9a5ce9ac85e2b7307195fd06/propcache-0.4.1-cp313-cp313t-musllinux_1_2_s390x.whl", hash = "sha256:e35b88984e7fa64aacecea39236cee32dd9bd8c55f57ba8a75cf2399553f9bd7", size = 263514, upload-time = "2025-10-08T19:47:43.927Z" }, + { url = "https://files.pythonhosted.org/packages/94/13/630690fe201f5502d2403dd3cfd451ed8858fe3c738ee88d095ad2ff407b/propcache-0.4.1-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:6f8b465489f927b0df505cbe26ffbeed4d6d8a2bbc61ce90eb074ff129ef0ab1", size = 257781, upload-time = "2025-10-08T19:47:45.448Z" }, + { url = "https://files.pythonhosted.org/packages/92/f7/1d4ec5841505f423469efbfc381d64b7b467438cd5a4bbcbb063f3b73d27/propcache-0.4.1-cp313-cp313t-win32.whl", hash = "sha256:2ad890caa1d928c7c2965b48f3a3815c853180831d0e5503d35cf00c472f4717", size = 41396, upload-time = "2025-10-08T19:47:47.202Z" }, + { url = "https://files.pythonhosted.org/packages/48/f0/615c30622316496d2cbbc29f5985f7777d3ada70f23370608c1d3e081c1f/propcache-0.4.1-cp313-cp313t-win_amd64.whl", hash = "sha256:f7ee0e597f495cf415bcbd3da3caa3bd7e816b74d0d52b8145954c5e6fd3ff37", size = 44897, upload-time = "2025-10-08T19:47:48.336Z" }, + { url = "https://files.pythonhosted.org/packages/fd/ca/6002e46eccbe0e33dcd4069ef32f7f1c9e243736e07adca37ae8c4830ec3/propcache-0.4.1-cp313-cp313t-win_arm64.whl", hash = "sha256:929d7cbe1f01bb7baffb33dc14eb5691c95831450a26354cd210a8155170c93a", size = 39789, upload-time = "2025-10-08T19:47:49.876Z" }, + { url = "https://files.pythonhosted.org/packages/8e/5c/bca52d654a896f831b8256683457ceddd490ec18d9ec50e97dfd8fc726a8/propcache-0.4.1-cp314-cp314-macosx_10_13_universal2.whl", hash = "sha256:3f7124c9d820ba5548d431afb4632301acf965db49e666aa21c305cbe8c6de12", size = 78152, upload-time = "2025-10-08T19:47:51.051Z" }, + { url = "https://files.pythonhosted.org/packages/65/9b/03b04e7d82a5f54fb16113d839f5ea1ede58a61e90edf515f6577c66fa8f/propcache-0.4.1-cp314-cp314-macosx_10_13_x86_64.whl", hash = "sha256:c0d4b719b7da33599dfe3b22d3db1ef789210a0597bc650b7cee9c77c2be8c5c", size = 44869, upload-time = "2025-10-08T19:47:52.594Z" }, + { url = "https://files.pythonhosted.org/packages/b2/fa/89a8ef0468d5833a23fff277b143d0573897cf75bd56670a6d28126c7d68/propcache-0.4.1-cp314-cp314-macosx_11_0_arm64.whl", hash = "sha256:9f302f4783709a78240ebc311b793f123328716a60911d667e0c036bc5dcbded", size = 46596, upload-time = "2025-10-08T19:47:54.073Z" }, + { url = "https://files.pythonhosted.org/packages/86/bd/47816020d337f4a746edc42fe8d53669965138f39ee117414c7d7a340cfe/propcache-0.4.1-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:c80ee5802e3fb9ea37938e7eecc307fb984837091d5fd262bb37238b1ae97641", size = 206981, upload-time = "2025-10-08T19:47:55.715Z" }, + { url = "https://files.pythonhosted.org/packages/df/f6/c5fa1357cc9748510ee55f37173eb31bfde6d94e98ccd9e6f033f2fc06e1/propcache-0.4.1-cp314-cp314-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:ed5a841e8bb29a55fb8159ed526b26adc5bdd7e8bd7bf793ce647cb08656cdf4", size = 211490, upload-time = "2025-10-08T19:47:57.499Z" }, + { url = "https://files.pythonhosted.org/packages/80/1e/e5889652a7c4a3846683401a48f0f2e5083ce0ec1a8a5221d8058fbd1adf/propcache-0.4.1-cp314-cp314-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:55c72fd6ea2da4c318e74ffdf93c4fe4e926051133657459131a95c846d16d44", size = 215371, upload-time = "2025-10-08T19:47:59.317Z" }, + { url = "https://files.pythonhosted.org/packages/b2/f2/889ad4b2408f72fe1a4f6a19491177b30ea7bf1a0fd5f17050ca08cfc882/propcache-0.4.1-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:8326e144341460402713f91df60ade3c999d601e7eb5ff8f6f7862d54de0610d", size = 201424, upload-time = "2025-10-08T19:48:00.67Z" }, + { url = "https://files.pythonhosted.org/packages/27/73/033d63069b57b0812c8bd19f311faebeceb6ba31b8f32b73432d12a0b826/propcache-0.4.1-cp314-cp314-musllinux_1_2_aarch64.whl", hash = "sha256:060b16ae65bc098da7f6d25bf359f1f31f688384858204fe5d652979e0015e5b", size = 197566, upload-time = "2025-10-08T19:48:02.604Z" }, + { url = "https://files.pythonhosted.org/packages/dc/89/ce24f3dc182630b4e07aa6d15f0ff4b14ed4b9955fae95a0b54c58d66c05/propcache-0.4.1-cp314-cp314-musllinux_1_2_armv7l.whl", hash = "sha256:89eb3fa9524f7bec9de6e83cf3faed9d79bffa560672c118a96a171a6f55831e", size = 193130, upload-time = "2025-10-08T19:48:04.499Z" }, + { url = "https://files.pythonhosted.org/packages/a9/24/ef0d5fd1a811fb5c609278d0209c9f10c35f20581fcc16f818da959fc5b4/propcache-0.4.1-cp314-cp314-musllinux_1_2_ppc64le.whl", hash = "sha256:dee69d7015dc235f526fe80a9c90d65eb0039103fe565776250881731f06349f", size = 202625, upload-time = "2025-10-08T19:48:06.213Z" }, + { url = "https://files.pythonhosted.org/packages/f5/02/98ec20ff5546f68d673df2f7a69e8c0d076b5abd05ca882dc7ee3a83653d/propcache-0.4.1-cp314-cp314-musllinux_1_2_s390x.whl", hash = "sha256:5558992a00dfd54ccbc64a32726a3357ec93825a418a401f5cc67df0ac5d9e49", size = 204209, upload-time = "2025-10-08T19:48:08.432Z" }, + { url = "https://files.pythonhosted.org/packages/a0/87/492694f76759b15f0467a2a93ab68d32859672b646aa8a04ce4864e7932d/propcache-0.4.1-cp314-cp314-musllinux_1_2_x86_64.whl", hash = "sha256:c9b822a577f560fbd9554812526831712c1436d2c046cedee4c3796d3543b144", size = 197797, upload-time = "2025-10-08T19:48:09.968Z" }, + { url = "https://files.pythonhosted.org/packages/ee/36/66367de3575db1d2d3f3d177432bd14ee577a39d3f5d1b3d5df8afe3b6e2/propcache-0.4.1-cp314-cp314-win32.whl", hash = "sha256:ab4c29b49d560fe48b696cdcb127dd36e0bc2472548f3bf56cc5cb3da2b2984f", size = 38140, upload-time = "2025-10-08T19:48:11.232Z" }, + { url = "https://files.pythonhosted.org/packages/0c/2a/a758b47de253636e1b8aef181c0b4f4f204bf0dd964914fb2af90a95b49b/propcache-0.4.1-cp314-cp314-win_amd64.whl", hash = "sha256:5a103c3eb905fcea0ab98be99c3a9a5ab2de60228aa5aceedc614c0281cf6153", size = 41257, upload-time = "2025-10-08T19:48:12.707Z" }, + { url = "https://files.pythonhosted.org/packages/34/5e/63bd5896c3fec12edcbd6f12508d4890d23c265df28c74b175e1ef9f4f3b/propcache-0.4.1-cp314-cp314-win_arm64.whl", hash = "sha256:74c1fb26515153e482e00177a1ad654721bf9207da8a494a0c05e797ad27b992", size = 38097, upload-time = "2025-10-08T19:48:13.923Z" }, + { url = "https://files.pythonhosted.org/packages/99/85/9ff785d787ccf9bbb3f3106f79884a130951436f58392000231b4c737c80/propcache-0.4.1-cp314-cp314t-macosx_10_13_universal2.whl", hash = "sha256:824e908bce90fb2743bd6b59db36eb4f45cd350a39637c9f73b1c1ea66f5b75f", size = 81455, upload-time = "2025-10-08T19:48:15.16Z" }, + { url = "https://files.pythonhosted.org/packages/90/85/2431c10c8e7ddb1445c1f7c4b54d886e8ad20e3c6307e7218f05922cad67/propcache-0.4.1-cp314-cp314t-macosx_10_13_x86_64.whl", hash = "sha256:c2b5e7db5328427c57c8e8831abda175421b709672f6cfc3d630c3b7e2146393", size = 46372, upload-time = "2025-10-08T19:48:16.424Z" }, + { url = "https://files.pythonhosted.org/packages/01/20/b0972d902472da9bcb683fa595099911f4d2e86e5683bcc45de60dd05dc3/propcache-0.4.1-cp314-cp314t-macosx_11_0_arm64.whl", hash = "sha256:6f6ff873ed40292cd4969ef5310179afd5db59fdf055897e282485043fc80ad0", size = 48411, upload-time = "2025-10-08T19:48:17.577Z" }, + { url = "https://files.pythonhosted.org/packages/e2/e3/7dc89f4f21e8f99bad3d5ddb3a3389afcf9da4ac69e3deb2dcdc96e74169/propcache-0.4.1-cp314-cp314t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:49a2dc67c154db2c1463013594c458881a069fcf98940e61a0569016a583020a", size = 275712, upload-time = "2025-10-08T19:48:18.901Z" }, + { url = "https://files.pythonhosted.org/packages/20/67/89800c8352489b21a8047c773067644e3897f02ecbbd610f4d46b7f08612/propcache-0.4.1-cp314-cp314t-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:005f08e6a0529984491e37d8dbc3dd86f84bd78a8ceb5fa9a021f4c48d4984be", size = 273557, upload-time = "2025-10-08T19:48:20.762Z" }, + { url = "https://files.pythonhosted.org/packages/e2/a1/b52b055c766a54ce6d9c16d9aca0cad8059acd9637cdf8aa0222f4a026ef/propcache-0.4.1-cp314-cp314t-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:5c3310452e0d31390da9035c348633b43d7e7feb2e37be252be6da45abd1abcc", size = 280015, upload-time = "2025-10-08T19:48:22.592Z" }, + { url = "https://files.pythonhosted.org/packages/48/c8/33cee30bd890672c63743049f3c9e4be087e6780906bfc3ec58528be59c1/propcache-0.4.1-cp314-cp314t-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:4c3c70630930447f9ef1caac7728c8ad1c56bc5015338b20fed0d08ea2480b3a", size = 262880, upload-time = "2025-10-08T19:48:23.947Z" }, + { url = "https://files.pythonhosted.org/packages/0c/b1/8f08a143b204b418285c88b83d00edbd61afbc2c6415ffafc8905da7038b/propcache-0.4.1-cp314-cp314t-musllinux_1_2_aarch64.whl", hash = "sha256:8e57061305815dfc910a3634dcf584f08168a8836e6999983569f51a8544cd89", size = 260938, upload-time = "2025-10-08T19:48:25.656Z" }, + { url = "https://files.pythonhosted.org/packages/cf/12/96e4664c82ca2f31e1c8dff86afb867348979eb78d3cb8546a680287a1e9/propcache-0.4.1-cp314-cp314t-musllinux_1_2_armv7l.whl", hash = "sha256:521a463429ef54143092c11a77e04056dd00636f72e8c45b70aaa3140d639726", size = 247641, upload-time = "2025-10-08T19:48:27.207Z" }, + { url = "https://files.pythonhosted.org/packages/18/ed/e7a9cfca28133386ba52278136d42209d3125db08d0a6395f0cba0c0285c/propcache-0.4.1-cp314-cp314t-musllinux_1_2_ppc64le.whl", hash = "sha256:120c964da3fdc75e3731aa392527136d4ad35868cc556fd09bb6d09172d9a367", size = 262510, upload-time = "2025-10-08T19:48:28.65Z" }, + { url = "https://files.pythonhosted.org/packages/f5/76/16d8bf65e8845dd62b4e2b57444ab81f07f40caa5652b8969b87ddcf2ef6/propcache-0.4.1-cp314-cp314t-musllinux_1_2_s390x.whl", hash = "sha256:d8f353eb14ee3441ee844ade4277d560cdd68288838673273b978e3d6d2c8f36", size = 263161, upload-time = "2025-10-08T19:48:30.133Z" }, + { url = "https://files.pythonhosted.org/packages/e7/70/c99e9edb5d91d5ad8a49fa3c1e8285ba64f1476782fed10ab251ff413ba1/propcache-0.4.1-cp314-cp314t-musllinux_1_2_x86_64.whl", hash = "sha256:ab2943be7c652f09638800905ee1bab2c544e537edb57d527997a24c13dc1455", size = 257393, upload-time = "2025-10-08T19:48:31.567Z" }, + { url = "https://files.pythonhosted.org/packages/08/02/87b25304249a35c0915d236575bc3574a323f60b47939a2262b77632a3ee/propcache-0.4.1-cp314-cp314t-win32.whl", hash = "sha256:05674a162469f31358c30bcaa8883cb7829fa3110bf9c0991fe27d7896c42d85", size = 42546, upload-time = "2025-10-08T19:48:32.872Z" }, + { url = "https://files.pythonhosted.org/packages/cb/ef/3c6ecf8b317aa982f309835e8f96987466123c6e596646d4e6a1dfcd080f/propcache-0.4.1-cp314-cp314t-win_amd64.whl", hash = "sha256:990f6b3e2a27d683cb7602ed6c86f15ee6b43b1194736f9baaeb93d0016633b1", size = 46259, upload-time = "2025-10-08T19:48:34.226Z" }, + { url = "https://files.pythonhosted.org/packages/c4/2d/346e946d4951f37eca1e4f55be0f0174c52cd70720f84029b02f296f4a38/propcache-0.4.1-cp314-cp314t-win_arm64.whl", hash = "sha256:ecef2343af4cc68e05131e45024ba34f6095821988a9d0a02aa7c73fcc448aa9", size = 40428, upload-time = "2025-10-08T19:48:35.441Z" }, + { url = "https://files.pythonhosted.org/packages/5b/5a/bc7b4a4ef808fa59a816c17b20c4bef6884daebbdf627ff2a161da67da19/propcache-0.4.1-py3-none-any.whl", hash = "sha256:af2a6052aeb6cf17d3e46ee169099044fd8224cbaf75c76a2ef596e8163e2237", size = 13305, upload-time = "2025-10-08T19:49:00.792Z" }, ] [[package]] name = "protobuf" -version = "5.29.5" +version = "6.33.2" source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/43/29/d09e70352e4e88c9c7a198d5645d7277811448d76c23b00345670f7c8a38/protobuf-5.29.5.tar.gz", hash = "sha256:bc1463bafd4b0929216c35f437a8e28731a2b7fe3d98bb77a600efced5a15c84", size = 425226, upload-time = "2025-05-28T23:51:59.82Z" } +sdist = { url = "https://files.pythonhosted.org/packages/34/44/e49ecff446afeec9d1a66d6bbf9adc21e3c7cea7803a920ca3773379d4f6/protobuf-6.33.2.tar.gz", hash = "sha256:56dc370c91fbb8ac85bc13582c9e373569668a290aa2e66a590c2a0d35ddb9e4", size = 444296, upload-time = "2025-12-06T00:17:53.311Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/5f/11/6e40e9fc5bba02988a214c07cf324595789ca7820160bfd1f8be96e48539/protobuf-5.29.5-cp310-abi3-win32.whl", hash = "sha256:3f1c6468a2cfd102ff4703976138844f78ebd1fb45f49011afc5139e9e283079", size = 422963, upload-time = "2025-05-28T23:51:41.204Z" }, - { url = "https://files.pythonhosted.org/packages/81/7f/73cefb093e1a2a7c3ffd839e6f9fcafb7a427d300c7f8aef9c64405d8ac6/protobuf-5.29.5-cp310-abi3-win_amd64.whl", hash = "sha256:3f76e3a3675b4a4d867b52e4a5f5b78a2ef9565549d4037e06cf7b0942b1d3fc", size = 434818, upload-time = "2025-05-28T23:51:44.297Z" }, - { url = "https://files.pythonhosted.org/packages/dd/73/10e1661c21f139f2c6ad9b23040ff36fee624310dc28fba20d33fdae124c/protobuf-5.29.5-cp38-abi3-macosx_10_9_universal2.whl", hash = "sha256:e38c5add5a311f2a6eb0340716ef9b039c1dfa428b28f25a7838ac329204a671", size = 418091, upload-time = "2025-05-28T23:51:45.907Z" }, - { url = "https://files.pythonhosted.org/packages/6c/04/98f6f8cf5b07ab1294c13f34b4e69b3722bb609c5b701d6c169828f9f8aa/protobuf-5.29.5-cp38-abi3-manylinux2014_aarch64.whl", hash = "sha256:fa18533a299d7ab6c55a238bf8629311439995f2e7eca5caaff08663606e9015", size = 319824, upload-time = "2025-05-28T23:51:47.545Z" }, - { url = "https://files.pythonhosted.org/packages/85/e4/07c80521879c2d15f321465ac24c70efe2381378c00bf5e56a0f4fbac8cd/protobuf-5.29.5-cp38-abi3-manylinux2014_x86_64.whl", hash = "sha256:63848923da3325e1bf7e9003d680ce6e14b07e55d0473253a690c3a8b8fd6e61", size = 319942, upload-time = "2025-05-28T23:51:49.11Z" }, - { url = "https://files.pythonhosted.org/packages/7e/cc/7e77861000a0691aeea8f4566e5d3aa716f2b1dece4a24439437e41d3d25/protobuf-5.29.5-py3-none-any.whl", hash = "sha256:6cf42630262c59b2d8de33954443d94b746c952b01434fc58a417fdbd2e84bd5", size = 172823, upload-time = "2025-05-28T23:51:58.157Z" }, + { url = "https://files.pythonhosted.org/packages/bc/91/1e3a34881a88697a7354ffd177e8746e97a722e5e8db101544b47e84afb1/protobuf-6.33.2-cp310-abi3-win32.whl", hash = "sha256:87eb388bd2d0f78febd8f4c8779c79247b26a5befad525008e49a6955787ff3d", size = 425603, upload-time = "2025-12-06T00:17:41.114Z" }, + { url = "https://files.pythonhosted.org/packages/64/20/4d50191997e917ae13ad0a235c8b42d8c1ab9c3e6fd455ca16d416944355/protobuf-6.33.2-cp310-abi3-win_amd64.whl", hash = "sha256:fc2a0e8b05b180e5fc0dd1559fe8ebdae21a27e81ac77728fb6c42b12c7419b4", size = 436930, upload-time = "2025-12-06T00:17:43.278Z" }, + { url = "https://files.pythonhosted.org/packages/b2/ca/7e485da88ba45c920fb3f50ae78de29ab925d9e54ef0de678306abfbb497/protobuf-6.33.2-cp39-abi3-macosx_10_9_universal2.whl", hash = "sha256:d9b19771ca75935b3a4422957bc518b0cecb978b31d1dd12037b088f6bcc0e43", size = 427621, upload-time = "2025-12-06T00:17:44.445Z" }, + { url = "https://files.pythonhosted.org/packages/7d/4f/f743761e41d3b2b2566748eb76bbff2b43e14d5fcab694f494a16458b05f/protobuf-6.33.2-cp39-abi3-manylinux2014_aarch64.whl", hash = "sha256:b5d3b5625192214066d99b2b605f5783483575656784de223f00a8d00754fc0e", size = 324460, upload-time = "2025-12-06T00:17:45.678Z" }, + { url = "https://files.pythonhosted.org/packages/b1/fa/26468d00a92824020f6f2090d827078c09c9c587e34cbfd2d0c7911221f8/protobuf-6.33.2-cp39-abi3-manylinux2014_s390x.whl", hash = "sha256:8cd7640aee0b7828b6d03ae518b5b4806fdfc1afe8de82f79c3454f8aef29872", size = 339168, upload-time = "2025-12-06T00:17:46.813Z" }, + { url = "https://files.pythonhosted.org/packages/56/13/333b8f421738f149d4fe5e49553bc2a2ab75235486259f689b4b91f96cec/protobuf-6.33.2-cp39-abi3-manylinux2014_x86_64.whl", hash = "sha256:1f8017c48c07ec5859106533b682260ba3d7c5567b1ca1f24297ce03384d1b4f", size = 323270, upload-time = "2025-12-06T00:17:48.253Z" }, + { url = "https://files.pythonhosted.org/packages/0e/15/4f02896cc3df04fc465010a4c6a0cd89810f54617a32a70ef531ed75d61c/protobuf-6.33.2-py3-none-any.whl", hash = "sha256:7636aad9bb01768870266de5dc009de2d1b936771b38a793f73cbbf279c91c5c", size = 170501, upload-time = "2025-12-06T00:17:52.211Z" }, ] [[package]] name = "psutil" -version = "7.0.0" +version = "7.2.0" 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, upload-time = "2025-02-13T21:54:07.946Z" } +sdist = { url = "https://files.pythonhosted.org/packages/be/7c/31d1c3ceb1260301f87565f50689dc6da3db427ece1e1e012af22abca54e/psutil-7.2.0.tar.gz", hash = "sha256:2e4f8e1552f77d14dc96fb0f6240c5b34a37081c0889f0853b3b29a496e5ef64", size = 489863, upload-time = "2025-12-23T20:26:24.616Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/50/e6/eecf58810b9d12e6427369784efe814a1eec0f492084ce8eb8f4d89d6d61/psutil-7.0.0-cp37-abi3-win32.whl", hash = "sha256:ba3fcef7523064a6c9da440fc4d6bd07da93ac726b5733c29027d7dc95b39d99", size = 241053, upload-time = "2025-02-13T21:54:34.31Z" }, - { url = "https://files.pythonhosted.org/packages/50/1b/6921afe68c74868b4c9fa424dad3be35b095e16687989ebbb50ce4fceb7c/psutil-7.0.0-cp37-abi3-win_amd64.whl", hash = "sha256:4cf3d4eb1aa9b348dec30105c55cd9b7d4629285735a102beb4441e38db90553", size = 244885, upload-time = "2025-02-13T21:54:37.486Z" }, + { url = "https://files.pythonhosted.org/packages/48/7d/76d7a863340885d41826562225a566683e653ee6c9ba03c9f3856afa7d80/psutil-7.2.0-cp313-cp313t-win_amd64.whl", hash = "sha256:b7665f612d3b38a583391b95969667a53aaf6c5706dc27a602c9a4874fbf09e4", size = 139055, upload-time = "2025-12-23T20:26:36.848Z" }, + { url = "https://files.pythonhosted.org/packages/a0/48/200054ada0ae4872c8a71db54f3eb6a9af4101680ee6830d373b7fda526b/psutil-7.2.0-cp313-cp313t-win_arm64.whl", hash = "sha256:4413373c174520ae28a24a8974ad8ce6b21f060d27dde94e25f8c73a7effe57a", size = 134737, upload-time = "2025-12-23T20:26:38.784Z" }, + { url = "https://files.pythonhosted.org/packages/18/28/d2feadc7f18e501c5ce687c377db7dca924585418fd694272b8e488ea99f/psutil-7.2.0-cp314-cp314t-win_amd64.whl", hash = "sha256:45f6b91f7ad63414d6454fd609e5e3556d0e1038d5d9c75a1368513bdf763f57", size = 140372, upload-time = "2025-12-23T20:26:49.334Z" }, + { url = "https://files.pythonhosted.org/packages/b2/1d/48381f5fd0425aa054c4ee3de24f50de3d6c347019f3aec75f357377d447/psutil-7.2.0-cp314-cp314t-win_arm64.whl", hash = "sha256:87b18a19574139d60a546e88b5f5b9cbad598e26cdc790d204ab95d7024f03ee", size = 135400, upload-time = "2025-12-23T20:26:51.585Z" }, + { url = "https://files.pythonhosted.org/packages/01/a2/5b39e08bd9b27476bc7cce7e21c71a481ad60b81ffac49baf02687a50d7f/psutil-7.2.0-cp37-abi3-win_amd64.whl", hash = "sha256:abdb74137ca232d20250e9ad471f58d500e7743bc8253ba0bfbf26e570c0e437", size = 136910, upload-time = "2025-12-23T20:27:05.289Z" }, + { url = "https://files.pythonhosted.org/packages/59/54/53839db1258c1eaeb4ded57ff202144ebc75b23facc05a74fd98d338b0c6/psutil-7.2.0-cp37-abi3-win_arm64.whl", hash = "sha256:284e71038b3139e7ab3834b63b3eb5aa5565fcd61a681ec746ef9a0a8c457fd2", size = 133807, upload-time = "2025-12-23T20:27:06.825Z" }, ] [[package]] name = "psycopg2-binary" -version = "2.9.10" -source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/cb/0e/bdc8274dc0585090b4e3432267d7be4dfbfd8971c0fa59167c711105a6bf/psycopg2-binary-2.9.10.tar.gz", hash = "sha256:4b3df0e6990aa98acda57d983942eff13d824135fe2250e6522edaa782a06de2", size = 385764, upload-time = "2024-10-16T11:24:58.126Z" } -wheels = [ - { url = "https://files.pythonhosted.org/packages/49/7d/465cc9795cf76f6d329efdafca74693714556ea3891813701ac1fee87545/psycopg2_binary-2.9.10-cp312-cp312-macosx_12_0_x86_64.whl", hash = "sha256:880845dfe1f85d9d5f7c412efea7a08946a46894537e4e5d091732eb1d34d9a0", size = 3044771, upload-time = "2024-10-16T11:20:35.234Z" }, - { url = "https://files.pythonhosted.org/packages/8b/31/6d225b7b641a1a2148e3ed65e1aa74fc86ba3fee850545e27be9e1de893d/psycopg2_binary-2.9.10-cp312-cp312-macosx_14_0_arm64.whl", hash = "sha256:9440fa522a79356aaa482aa4ba500b65f28e5d0e63b801abf6aa152a29bd842a", size = 3275336, upload-time = "2024-10-16T11:20:38.742Z" }, - { url = "https://files.pythonhosted.org/packages/30/b7/a68c2b4bff1cbb1728e3ec864b2d92327c77ad52edcd27922535a8366f68/psycopg2_binary-2.9.10-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e3923c1d9870c49a2d44f795df0c889a22380d36ef92440ff618ec315757e539", size = 2851637, upload-time = "2024-10-16T11:20:42.145Z" }, - { url = "https://files.pythonhosted.org/packages/0b/b1/cfedc0e0e6f9ad61f8657fd173b2f831ce261c02a08c0b09c652b127d813/psycopg2_binary-2.9.10-cp312-cp312-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:7b2c956c028ea5de47ff3a8d6b3cc3330ab45cf0b7c3da35a2d6ff8420896526", size = 3082097, upload-time = "2024-10-16T11:20:46.185Z" }, - { url = "https://files.pythonhosted.org/packages/18/ed/0a8e4153c9b769f59c02fb5e7914f20f0b2483a19dae7bf2db54b743d0d0/psycopg2_binary-2.9.10-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:f758ed67cab30b9a8d2833609513ce4d3bd027641673d4ebc9c067e4d208eec1", size = 3264776, upload-time = "2024-10-16T11:20:50.879Z" }, - { url = "https://files.pythonhosted.org/packages/10/db/d09da68c6a0cdab41566b74e0a6068a425f077169bed0946559b7348ebe9/psycopg2_binary-2.9.10-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:8cd9b4f2cfab88ed4a9106192de509464b75a906462fb846b936eabe45c2063e", size = 3020968, upload-time = "2024-10-16T11:20:56.819Z" }, - { url = "https://files.pythonhosted.org/packages/94/28/4d6f8c255f0dfffb410db2b3f9ac5218d959a66c715c34cac31081e19b95/psycopg2_binary-2.9.10-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:6dc08420625b5a20b53551c50deae6e231e6371194fa0651dbe0fb206452ae1f", size = 2872334, upload-time = "2024-10-16T11:21:02.411Z" }, - { url = "https://files.pythonhosted.org/packages/05/f7/20d7bf796593c4fea95e12119d6cc384ff1f6141a24fbb7df5a668d29d29/psycopg2_binary-2.9.10-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:d7cd730dfa7c36dbe8724426bf5612798734bff2d3c3857f36f2733f5bfc7c00", size = 2822722, upload-time = "2024-10-16T11:21:09.01Z" }, - { url = "https://files.pythonhosted.org/packages/4d/e4/0c407ae919ef626dbdb32835a03b6737013c3cc7240169843965cada2bdf/psycopg2_binary-2.9.10-cp312-cp312-musllinux_1_2_ppc64le.whl", hash = "sha256:155e69561d54d02b3c3209545fb08938e27889ff5a10c19de8d23eb5a41be8a5", size = 2920132, upload-time = "2024-10-16T11:21:16.339Z" }, - { url = "https://files.pythonhosted.org/packages/2d/70/aa69c9f69cf09a01da224909ff6ce8b68faeef476f00f7ec377e8f03be70/psycopg2_binary-2.9.10-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:c3cc28a6fd5a4a26224007712e79b81dbaee2ffb90ff406256158ec4d7b52b47", size = 2959312, upload-time = "2024-10-16T11:21:25.584Z" }, - { url = "https://files.pythonhosted.org/packages/d3/bd/213e59854fafe87ba47814bf413ace0dcee33a89c8c8c814faca6bc7cf3c/psycopg2_binary-2.9.10-cp312-cp312-win32.whl", hash = "sha256:ec8a77f521a17506a24a5f626cb2aee7850f9b69a0afe704586f63a464f3cd64", size = 1025191, upload-time = "2024-10-16T11:21:29.912Z" }, - { url = "https://files.pythonhosted.org/packages/92/29/06261ea000e2dc1e22907dbbc483a1093665509ea586b29b8986a0e56733/psycopg2_binary-2.9.10-cp312-cp312-win_amd64.whl", hash = "sha256:18c5ee682b9c6dd3696dad6e54cc7ff3a1a9020df6a5c0f861ef8bfd338c3ca0", size = 1164031, upload-time = "2024-10-16T11:21:34.211Z" }, - { url = "https://files.pythonhosted.org/packages/3e/30/d41d3ba765609c0763505d565c4d12d8f3c79793f0d0f044ff5a28bf395b/psycopg2_binary-2.9.10-cp313-cp313-macosx_12_0_x86_64.whl", hash = "sha256:26540d4a9a4e2b096f1ff9cce51253d0504dca5a85872c7f7be23be5a53eb18d", size = 3044699, upload-time = "2024-10-16T11:21:42.841Z" }, - { url = "https://files.pythonhosted.org/packages/35/44/257ddadec7ef04536ba71af6bc6a75ec05c5343004a7ec93006bee66c0bc/psycopg2_binary-2.9.10-cp313-cp313-macosx_14_0_arm64.whl", hash = "sha256:e217ce4d37667df0bc1c397fdcd8de5e81018ef305aed9415c3b093faaeb10fb", size = 3275245, upload-time = "2024-10-16T11:21:51.989Z" }, - { url = "https://files.pythonhosted.org/packages/1b/11/48ea1cd11de67f9efd7262085588790a95d9dfcd9b8a687d46caf7305c1a/psycopg2_binary-2.9.10-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:245159e7ab20a71d989da00f280ca57da7641fa2cdcf71749c193cea540a74f7", size = 2851631, upload-time = "2024-10-16T11:21:57.584Z" }, - { url = "https://files.pythonhosted.org/packages/62/e0/62ce5ee650e6c86719d621a761fe4bc846ab9eff8c1f12b1ed5741bf1c9b/psycopg2_binary-2.9.10-cp313-cp313-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:3c4ded1a24b20021ebe677b7b08ad10bf09aac197d6943bfe6fec70ac4e4690d", size = 3082140, upload-time = "2024-10-16T11:22:02.005Z" }, - { url = "https://files.pythonhosted.org/packages/27/ce/63f946c098611f7be234c0dd7cb1ad68b0b5744d34f68062bb3c5aa510c8/psycopg2_binary-2.9.10-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:3abb691ff9e57d4a93355f60d4f4c1dd2d68326c968e7db17ea96df3c023ef73", size = 3264762, upload-time = "2024-10-16T11:22:06.412Z" }, - { url = "https://files.pythonhosted.org/packages/43/25/c603cd81402e69edf7daa59b1602bd41eb9859e2824b8c0855d748366ac9/psycopg2_binary-2.9.10-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:8608c078134f0b3cbd9f89b34bd60a943b23fd33cc5f065e8d5f840061bd0673", size = 3020967, upload-time = "2024-10-16T11:22:11.583Z" }, - { url = "https://files.pythonhosted.org/packages/5f/d6/8708d8c6fca531057fa170cdde8df870e8b6a9b136e82b361c65e42b841e/psycopg2_binary-2.9.10-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:230eeae2d71594103cd5b93fd29d1ace6420d0b86f4778739cb1a5a32f607d1f", size = 2872326, upload-time = "2024-10-16T11:22:16.406Z" }, - { url = "https://files.pythonhosted.org/packages/ce/ac/5b1ea50fc08a9df82de7e1771537557f07c2632231bbab652c7e22597908/psycopg2_binary-2.9.10-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:bb89f0a835bcfc1d42ccd5f41f04870c1b936d8507c6df12b7737febc40f0909", size = 2822712, upload-time = "2024-10-16T11:22:21.366Z" }, - { url = "https://files.pythonhosted.org/packages/c4/fc/504d4503b2abc4570fac3ca56eb8fed5e437bf9c9ef13f36b6621db8ef00/psycopg2_binary-2.9.10-cp313-cp313-musllinux_1_2_ppc64le.whl", hash = "sha256:f0c2d907a1e102526dd2986df638343388b94c33860ff3bbe1384130828714b1", size = 2920155, upload-time = "2024-10-16T11:22:25.684Z" }, - { url = "https://files.pythonhosted.org/packages/b2/d1/323581e9273ad2c0dbd1902f3fb50c441da86e894b6e25a73c3fda32c57e/psycopg2_binary-2.9.10-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:f8157bed2f51db683f31306aa497311b560f2265998122abe1dce6428bd86567", size = 2959356, upload-time = "2024-10-16T11:22:30.562Z" }, - { url = "https://files.pythonhosted.org/packages/08/50/d13ea0a054189ae1bc21af1d85b6f8bb9bbc5572991055d70ad9006fe2d6/psycopg2_binary-2.9.10-cp313-cp313-win_amd64.whl", hash = "sha256:27422aa5f11fbcd9b18da48373eb67081243662f9b46e6fd07c3eb46e4535142", size = 2569224, upload-time = "2025-01-04T20:09:19.234Z" }, +version = "2.9.11" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/ac/6c/8767aaa597ba424643dc87348c6f1754dd9f48e80fdc1b9f7ca5c3a7c213/psycopg2-binary-2.9.11.tar.gz", hash = "sha256:b6aed9e096bf63f9e75edf2581aa9a7e7186d97ab5c177aa6c87797cd591236c", size = 379620, upload-time = "2025-10-10T11:14:48.041Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/d8/91/f870a02f51be4a65987b45a7de4c2e1897dd0d01051e2b559a38fa634e3e/psycopg2_binary-2.9.11-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:be9b840ac0525a283a96b556616f5b4820e0526addb8dcf6525a0fa162730be4", size = 3756603, upload-time = "2025-10-10T11:11:52.213Z" }, + { url = "https://files.pythonhosted.org/packages/27/fa/cae40e06849b6c9a95eb5c04d419942f00d9eaac8d81626107461e268821/psycopg2_binary-2.9.11-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:f090b7ddd13ca842ebfe301cd587a76a4cf0913b1e429eb92c1be5dbeb1a19bc", size = 3864509, upload-time = "2025-10-10T11:11:56.452Z" }, + { url = "https://files.pythonhosted.org/packages/2d/75/364847b879eb630b3ac8293798e380e441a957c53657995053c5ec39a316/psycopg2_binary-2.9.11-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:ab8905b5dcb05bf3fb22e0cf90e10f469563486ffb6a96569e51f897c750a76a", size = 4411159, upload-time = "2025-10-10T11:12:00.49Z" }, + { url = "https://files.pythonhosted.org/packages/6f/a0/567f7ea38b6e1c62aafd58375665a547c00c608a471620c0edc364733e13/psycopg2_binary-2.9.11-cp312-cp312-manylinux2014_ppc64le.manylinux_2_17_ppc64le.whl", hash = "sha256:bf940cd7e7fec19181fdbc29d76911741153d51cab52e5c21165f3262125685e", size = 4468234, upload-time = "2025-10-10T11:12:04.892Z" }, + { url = "https://files.pythonhosted.org/packages/30/da/4e42788fb811bbbfd7b7f045570c062f49e350e1d1f3df056c3fb5763353/psycopg2_binary-2.9.11-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:fa0f693d3c68ae925966f0b14b8edda71696608039f4ed61b1fe9ffa468d16db", size = 4166236, upload-time = "2025-10-10T11:12:11.674Z" }, + { url = "https://files.pythonhosted.org/packages/3c/94/c1777c355bc560992af848d98216148be5f1be001af06e06fc49cbded578/psycopg2_binary-2.9.11-cp312-cp312-manylinux_2_38_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:a1cf393f1cdaf6a9b57c0a719a1068ba1069f022a59b8b1fe44b006745b59757", size = 3983083, upload-time = "2025-10-30T02:55:15.73Z" }, + { url = "https://files.pythonhosted.org/packages/bd/42/c9a21edf0e3daa7825ed04a4a8588686c6c14904344344a039556d78aa58/psycopg2_binary-2.9.11-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:ef7a6beb4beaa62f88592ccc65df20328029d721db309cb3250b0aae0fa146c3", size = 3652281, upload-time = "2025-10-10T11:12:17.713Z" }, + { url = "https://files.pythonhosted.org/packages/12/22/dedfbcfa97917982301496b6b5e5e6c5531d1f35dd2b488b08d1ebc52482/psycopg2_binary-2.9.11-cp312-cp312-musllinux_1_2_ppc64le.whl", hash = "sha256:31b32c457a6025e74d233957cc9736742ac5a6cb196c6b68499f6bb51390bd6a", size = 3298010, upload-time = "2025-10-10T11:12:22.671Z" }, + { url = "https://files.pythonhosted.org/packages/66/ea/d3390e6696276078bd01b2ece417deac954dfdd552d2edc3d03204416c0c/psycopg2_binary-2.9.11-cp312-cp312-musllinux_1_2_riscv64.whl", hash = "sha256:edcb3aeb11cb4bf13a2af3c53a15b3d612edeb6409047ea0b5d6a21a9d744b34", size = 3044641, upload-time = "2025-10-30T02:55:19.929Z" }, + { url = "https://files.pythonhosted.org/packages/12/9a/0402ded6cbd321da0c0ba7d34dc12b29b14f5764c2fc10750daa38e825fc/psycopg2_binary-2.9.11-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:62b6d93d7c0b61a1dd6197d208ab613eb7dcfdcca0a49c42ceb082257991de9d", size = 3347940, upload-time = "2025-10-10T11:12:26.529Z" }, + { url = "https://files.pythonhosted.org/packages/b1/d2/99b55e85832ccde77b211738ff3925a5d73ad183c0b37bcbbe5a8ff04978/psycopg2_binary-2.9.11-cp312-cp312-win_amd64.whl", hash = "sha256:b33fabeb1fde21180479b2d4667e994de7bbf0eec22832ba5d9b5e4cf65b6c6d", size = 2714147, upload-time = "2025-10-10T11:12:29.535Z" }, + { url = "https://files.pythonhosted.org/packages/ff/a8/a2709681b3ac11b0b1786def10006b8995125ba268c9a54bea6f5ae8bd3e/psycopg2_binary-2.9.11-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:b8fb3db325435d34235b044b199e56cdf9ff41223a4b9752e8576465170bb38c", size = 3756572, upload-time = "2025-10-10T11:12:32.873Z" }, + { url = "https://files.pythonhosted.org/packages/62/e1/c2b38d256d0dafd32713e9f31982a5b028f4a3651f446be70785f484f472/psycopg2_binary-2.9.11-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:366df99e710a2acd90efed3764bb1e28df6c675d33a7fb40df9b7281694432ee", size = 3864529, upload-time = "2025-10-10T11:12:36.791Z" }, + { url = "https://files.pythonhosted.org/packages/11/32/b2ffe8f3853c181e88f0a157c5fb4e383102238d73c52ac6d93a5c8bffe6/psycopg2_binary-2.9.11-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:8c55b385daa2f92cb64b12ec4536c66954ac53654c7f15a203578da4e78105c0", size = 4411242, upload-time = "2025-10-10T11:12:42.388Z" }, + { url = "https://files.pythonhosted.org/packages/10/04/6ca7477e6160ae258dc96f67c371157776564679aefd247b66f4661501a2/psycopg2_binary-2.9.11-cp313-cp313-manylinux2014_ppc64le.manylinux_2_17_ppc64le.whl", hash = "sha256:c0377174bf1dd416993d16edc15357f6eb17ac998244cca19bc67cdc0e2e5766", size = 4468258, upload-time = "2025-10-10T11:12:48.654Z" }, + { url = "https://files.pythonhosted.org/packages/3c/7e/6a1a38f86412df101435809f225d57c1a021307dd0689f7a5e7fe83588b1/psycopg2_binary-2.9.11-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:5c6ff3335ce08c75afaed19e08699e8aacf95d4a260b495a4a8545244fe2ceb3", size = 4166295, upload-time = "2025-10-10T11:12:52.525Z" }, + { url = "https://files.pythonhosted.org/packages/f2/7d/c07374c501b45f3579a9eb761cbf2604ddef3d96ad48679112c2c5aa9c25/psycopg2_binary-2.9.11-cp313-cp313-manylinux_2_38_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:84011ba3109e06ac412f95399b704d3d6950e386b7994475b231cf61eec2fc1f", size = 3983133, upload-time = "2025-10-30T02:55:24.329Z" }, + { url = "https://files.pythonhosted.org/packages/82/56/993b7104cb8345ad7d4516538ccf8f0d0ac640b1ebd8c754a7b024e76878/psycopg2_binary-2.9.11-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:ba34475ceb08cccbdd98f6b46916917ae6eeb92b5ae111df10b544c3a4621dc4", size = 3652383, upload-time = "2025-10-10T11:12:56.387Z" }, + { url = "https://files.pythonhosted.org/packages/2d/ac/eaeb6029362fd8d454a27374d84c6866c82c33bfc24587b4face5a8e43ef/psycopg2_binary-2.9.11-cp313-cp313-musllinux_1_2_ppc64le.whl", hash = "sha256:b31e90fdd0f968c2de3b26ab014314fe814225b6c324f770952f7d38abf17e3c", size = 3298168, upload-time = "2025-10-10T11:13:00.403Z" }, + { url = "https://files.pythonhosted.org/packages/2b/39/50c3facc66bded9ada5cbc0de867499a703dc6bca6be03070b4e3b65da6c/psycopg2_binary-2.9.11-cp313-cp313-musllinux_1_2_riscv64.whl", hash = "sha256:d526864e0f67f74937a8fce859bd56c979f5e2ec57ca7c627f5f1071ef7fee60", size = 3044712, upload-time = "2025-10-30T02:55:27.975Z" }, + { url = "https://files.pythonhosted.org/packages/9c/8e/b7de019a1f562f72ada81081a12823d3c1590bedc48d7d2559410a2763fe/psycopg2_binary-2.9.11-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:04195548662fa544626c8ea0f06561eb6203f1984ba5b4562764fbeb4c3d14b1", size = 3347549, upload-time = "2025-10-10T11:13:03.971Z" }, + { url = "https://files.pythonhosted.org/packages/80/2d/1bb683f64737bbb1f86c82b7359db1eb2be4e2c0c13b947f80efefa7d3e5/psycopg2_binary-2.9.11-cp313-cp313-win_amd64.whl", hash = "sha256:efff12b432179443f54e230fdf60de1f6cc726b6c832db8701227d089310e8aa", size = 2714215, upload-time = "2025-10-10T11:13:07.14Z" }, + { url = "https://files.pythonhosted.org/packages/64/12/93ef0098590cf51d9732b4f139533732565704f45bdc1ffa741b7c95fb54/psycopg2_binary-2.9.11-cp314-cp314-macosx_10_13_x86_64.whl", hash = "sha256:92e3b669236327083a2e33ccfa0d320dd01b9803b3e14dd986a4fc54aa00f4e1", size = 3756567, upload-time = "2025-10-10T11:13:11.885Z" }, + { url = "https://files.pythonhosted.org/packages/7c/a9/9d55c614a891288f15ca4b5209b09f0f01e3124056924e17b81b9fa054cc/psycopg2_binary-2.9.11-cp314-cp314-macosx_11_0_arm64.whl", hash = "sha256:e0deeb03da539fa3577fcb0b3f2554a97f7e5477c246098dbb18091a4a01c16f", size = 3864755, upload-time = "2025-10-10T11:13:17.727Z" }, + { url = "https://files.pythonhosted.org/packages/13/1e/98874ce72fd29cbde93209977b196a2edae03f8490d1bd8158e7f1daf3a0/psycopg2_binary-2.9.11-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:9b52a3f9bb540a3e4ec0f6ba6d31339727b2950c9772850d6545b7eae0b9d7c5", size = 4411646, upload-time = "2025-10-10T11:13:24.432Z" }, + { url = "https://files.pythonhosted.org/packages/5a/bd/a335ce6645334fb8d758cc358810defca14a1d19ffbc8a10bd38a2328565/psycopg2_binary-2.9.11-cp314-cp314-manylinux2014_ppc64le.manylinux_2_17_ppc64le.whl", hash = "sha256:db4fd476874ccfdbb630a54426964959e58da4c61c9feba73e6094d51303d7d8", size = 4468701, upload-time = "2025-10-10T11:13:29.266Z" }, + { url = "https://files.pythonhosted.org/packages/44/d6/c8b4f53f34e295e45709b7568bf9b9407a612ea30387d35eb9fa84f269b4/psycopg2_binary-2.9.11-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:47f212c1d3be608a12937cc131bd85502954398aaa1320cb4c14421a0ffccf4c", size = 4166293, upload-time = "2025-10-10T11:13:33.336Z" }, + { url = "https://files.pythonhosted.org/packages/4b/e0/f8cc36eadd1b716ab36bb290618a3292e009867e5c97ce4aba908cb99644/psycopg2_binary-2.9.11-cp314-cp314-manylinux_2_38_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:e35b7abae2b0adab776add56111df1735ccc71406e56203515e228a8dc07089f", size = 3983184, upload-time = "2025-10-30T02:55:32.483Z" }, + { url = "https://files.pythonhosted.org/packages/53/3e/2a8fe18a4e61cfb3417da67b6318e12691772c0696d79434184a511906dc/psycopg2_binary-2.9.11-cp314-cp314-musllinux_1_2_aarch64.whl", hash = "sha256:fcf21be3ce5f5659daefd2b3b3b6e4727b028221ddc94e6c1523425579664747", size = 3652650, upload-time = "2025-10-10T11:13:38.181Z" }, + { url = "https://files.pythonhosted.org/packages/76/36/03801461b31b29fe58d228c24388f999fe814dfc302856e0d17f97d7c54d/psycopg2_binary-2.9.11-cp314-cp314-musllinux_1_2_ppc64le.whl", hash = "sha256:9bd81e64e8de111237737b29d68039b9c813bdf520156af36d26819c9a979e5f", size = 3298663, upload-time = "2025-10-10T11:13:44.878Z" }, + { url = "https://files.pythonhosted.org/packages/97/77/21b0ea2e1a73aa5fa9222b2a6b8ba325c43c3a8d54272839c991f2345656/psycopg2_binary-2.9.11-cp314-cp314-musllinux_1_2_riscv64.whl", hash = "sha256:32770a4d666fbdafab017086655bcddab791d7cb260a16679cc5a7338b64343b", size = 3044737, upload-time = "2025-10-30T02:55:35.69Z" }, + { url = "https://files.pythonhosted.org/packages/67/69/f36abe5f118c1dca6d3726ceae164b9356985805480731ac6712a63f24f0/psycopg2_binary-2.9.11-cp314-cp314-musllinux_1_2_x86_64.whl", hash = "sha256:c3cb3a676873d7506825221045bd70e0427c905b9c8ee8d6acd70cfcbd6e576d", size = 3347643, upload-time = "2025-10-10T11:13:53.499Z" }, + { url = "https://files.pythonhosted.org/packages/e1/36/9c0c326fe3a4227953dfb29f5d0c8ae3b8eb8c1cd2967aa569f50cb3c61f/psycopg2_binary-2.9.11-cp314-cp314-win_amd64.whl", hash = "sha256:4012c9c954dfaccd28f94e84ab9f94e12df76b4afb22331b1f0d3154893a6316", size = 2803913, upload-time = "2025-10-10T11:13:57.058Z" }, ] [[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, upload-time = "2025-04-27T12:34:23.264Z" } -wheels = [ - { 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, upload-time = "2025-04-27T12:29:44.384Z" }, - { 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, upload-time = "2025-04-27T12:29:52.038Z" }, - { 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, upload-time = "2025-04-27T12:29:59.452Z" }, - { 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, upload-time = "2025-04-27T12:30:06.875Z" }, - { 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, upload-time = "2025-04-27T12:30:13.954Z" }, - { 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, upload-time = "2025-04-27T12:30:21.949Z" }, - { 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, upload-time = "2025-04-27T12:30:29.551Z" }, - { 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, upload-time = "2025-04-27T12:30:36.977Z" }, - { url = "https://files.pythonhosted.org/packages/a0/8e/9adee63dfa3911be2382fb4d92e4b2e7d82610f9d9f668493bebaa2af50f/pyarrow-20.0.0-cp312-cp312-win_amd64.whl", hash = "sha256:96d6a0a37d9c98be08f5ed6a10831d88d52cac7b13f5287f1e0f625a0de8062b", size = 25660496, upload-time = "2025-04-27T12:30:42.809Z" }, - { url = "https://files.pythonhosted.org/packages/9b/aa/daa413b81446d20d4dad2944110dcf4cf4f4179ef7f685dd5a6d7570dc8e/pyarrow-20.0.0-cp313-cp313-macosx_12_0_arm64.whl", hash = "sha256:a15532e77b94c61efadde86d10957950392999503b3616b2ffcef7621a002893", size = 30798501, upload-time = "2025-04-27T12:30:48.351Z" }, - { url = "https://files.pythonhosted.org/packages/ff/75/2303d1caa410925de902d32ac215dc80a7ce7dd8dfe95358c165f2adf107/pyarrow-20.0.0-cp313-cp313-macosx_12_0_x86_64.whl", hash = "sha256:dd43f58037443af715f34f1322c782ec463a3c8a94a85fdb2d987ceb5658e061", size = 32277895, upload-time = "2025-04-27T12:30:55.238Z" }, - { url = "https://files.pythonhosted.org/packages/92/41/fe18c7c0b38b20811b73d1bdd54b1fccba0dab0e51d2048878042d84afa8/pyarrow-20.0.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:aa0d288143a8585806e3cc7c39566407aab646fb9ece164609dac1cfff45f6ae", size = 41327322, upload-time = "2025-04-27T12:31:05.587Z" }, - { url = "https://files.pythonhosted.org/packages/da/ab/7dbf3d11db67c72dbf36ae63dcbc9f30b866c153b3a22ef728523943eee6/pyarrow-20.0.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:b6953f0114f8d6f3d905d98e987d0924dabce59c3cda380bdfaa25a6201563b4", size = 42411441, upload-time = "2025-04-27T12:31:15.675Z" }, - { url = "https://files.pythonhosted.org/packages/90/c3/0c7da7b6dac863af75b64e2f827e4742161128c350bfe7955b426484e226/pyarrow-20.0.0-cp313-cp313-manylinux_2_28_aarch64.whl", hash = "sha256:991f85b48a8a5e839b2128590ce07611fae48a904cae6cab1f089c5955b57eb5", size = 40677027, upload-time = "2025-04-27T12:31:24.631Z" }, - { url = "https://files.pythonhosted.org/packages/be/27/43a47fa0ff9053ab5203bb3faeec435d43c0d8bfa40179bfd076cdbd4e1c/pyarrow-20.0.0-cp313-cp313-manylinux_2_28_x86_64.whl", hash = "sha256:97c8dc984ed09cb07d618d57d8d4b67a5100a30c3818c2fb0b04599f0da2de7b", size = 42281473, upload-time = "2025-04-27T12:31:31.311Z" }, - { url = "https://files.pythonhosted.org/packages/bc/0b/d56c63b078876da81bbb9ba695a596eabee9b085555ed12bf6eb3b7cab0e/pyarrow-20.0.0-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:9b71daf534f4745818f96c214dbc1e6124d7daf059167330b610fc69b6f3d3e3", size = 42893897, upload-time = "2025-04-27T12:31:39.406Z" }, - { url = "https://files.pythonhosted.org/packages/92/ac/7d4bd020ba9145f354012838692d48300c1b8fe5634bfda886abcada67ed/pyarrow-20.0.0-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:e8b88758f9303fa5a83d6c90e176714b2fd3852e776fc2d7e42a22dd6c2fb368", size = 44543847, upload-time = "2025-04-27T12:31:45.997Z" }, - { url = "https://files.pythonhosted.org/packages/9d/07/290f4abf9ca702c5df7b47739c1b2c83588641ddfa2cc75e34a301d42e55/pyarrow-20.0.0-cp313-cp313-win_amd64.whl", hash = "sha256:30b3051b7975801c1e1d387e17c588d8ab05ced9b1e14eec57915f79869b5031", size = 25653219, upload-time = "2025-04-27T12:31:54.11Z" }, - { url = "https://files.pythonhosted.org/packages/95/df/720bb17704b10bd69dde086e1400b8eefb8f58df3f8ac9cff6c425bf57f1/pyarrow-20.0.0-cp313-cp313t-macosx_12_0_arm64.whl", hash = "sha256:ca151afa4f9b7bc45bcc791eb9a89e90a9eb2772767d0b1e5389609c7d03db63", size = 30853957, upload-time = "2025-04-27T12:31:59.215Z" }, - { url = "https://files.pythonhosted.org/packages/d9/72/0d5f875efc31baef742ba55a00a25213a19ea64d7176e0fe001c5d8b6e9a/pyarrow-20.0.0-cp313-cp313t-macosx_12_0_x86_64.whl", hash = "sha256:4680f01ecd86e0dd63e39eb5cd59ef9ff24a9d166db328679e36c108dc993d4c", size = 32247972, upload-time = "2025-04-27T12:32:05.369Z" }, - { url = "https://files.pythonhosted.org/packages/d5/bc/e48b4fa544d2eea72f7844180eb77f83f2030b84c8dad860f199f94307ed/pyarrow-20.0.0-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:7f4c8534e2ff059765647aa69b75d6543f9fef59e2cd4c6d18015192565d2b70", size = 41256434, upload-time = "2025-04-27T12:32:11.814Z" }, - { url = "https://files.pythonhosted.org/packages/c3/01/974043a29874aa2cf4f87fb07fd108828fc7362300265a2a64a94965e35b/pyarrow-20.0.0-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3e1f8a47f4b4ae4c69c4d702cfbdfe4d41e18e5c7ef6f1bb1c50918c1e81c57b", size = 42353648, upload-time = "2025-04-27T12:32:20.766Z" }, - { url = "https://files.pythonhosted.org/packages/68/95/cc0d3634cde9ca69b0e51cbe830d8915ea32dda2157560dda27ff3b3337b/pyarrow-20.0.0-cp313-cp313t-manylinux_2_28_aarch64.whl", hash = "sha256:a1f60dc14658efaa927f8214734f6a01a806d7690be4b3232ba526836d216122", size = 40619853, upload-time = "2025-04-27T12:32:28.1Z" }, - { url = "https://files.pythonhosted.org/packages/29/c2/3ad40e07e96a3e74e7ed7cc8285aadfa84eb848a798c98ec0ad009eb6bcc/pyarrow-20.0.0-cp313-cp313t-manylinux_2_28_x86_64.whl", hash = "sha256:204a846dca751428991346976b914d6d2a82ae5b8316a6ed99789ebf976551e6", size = 42241743, upload-time = "2025-04-27T12:32:35.792Z" }, - { url = "https://files.pythonhosted.org/packages/eb/cb/65fa110b483339add6a9bc7b6373614166b14e20375d4daa73483755f830/pyarrow-20.0.0-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:f3b117b922af5e4c6b9a9115825726cac7d8b1421c37c2b5e24fbacc8930612c", size = 42839441, upload-time = "2025-04-27T12:32:46.64Z" }, - { url = "https://files.pythonhosted.org/packages/98/7b/f30b1954589243207d7a0fbc9997401044bf9a033eec78f6cb50da3f304a/pyarrow-20.0.0-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:e724a3fd23ae5b9c010e7be857f4405ed5e679db5c93e66204db1a69f733936a", size = 44503279, upload-time = "2025-04-27T12:32:56.503Z" }, - { url = "https://files.pythonhosted.org/packages/37/40/ad395740cd641869a13bcf60851296c89624662575621968dcfafabaa7f6/pyarrow-20.0.0-cp313-cp313t-win_amd64.whl", hash = "sha256:82f1ee5133bd8f49d31be1299dc07f585136679666b502540db854968576faf9", size = 25944982, upload-time = "2025-04-27T12:33:04.72Z" }, +version = "22.0.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/30/53/04a7fdc63e6056116c9ddc8b43bc28c12cdd181b85cbeadb79278475f3ae/pyarrow-22.0.0.tar.gz", hash = "sha256:3d600dc583260d845c7d8a6db540339dd883081925da2bd1c5cb808f720b3cd9", size = 1151151, upload-time = "2025-10-24T12:30:00.762Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/af/63/ba23862d69652f85b615ca14ad14f3bcfc5bf1b99ef3f0cd04ff93fdad5a/pyarrow-22.0.0-cp312-cp312-macosx_12_0_arm64.whl", hash = "sha256:bea79263d55c24a32b0d79c00a1c58bb2ee5f0757ed95656b01c0fb310c5af3d", size = 34211578, upload-time = "2025-10-24T10:05:21.583Z" }, + { url = "https://files.pythonhosted.org/packages/b1/d0/f9ad86fe809efd2bcc8be32032fa72e8b0d112b01ae56a053006376c5930/pyarrow-22.0.0-cp312-cp312-macosx_12_0_x86_64.whl", hash = "sha256:12fe549c9b10ac98c91cf791d2945e878875d95508e1a5d14091a7aaa66d9cf8", size = 35989906, upload-time = "2025-10-24T10:05:29.485Z" }, + { url = "https://files.pythonhosted.org/packages/b4/a8/f910afcb14630e64d673f15904ec27dd31f1e009b77033c365c84e8c1e1d/pyarrow-22.0.0-cp312-cp312-manylinux_2_28_aarch64.whl", hash = "sha256:334f900ff08ce0423407af97e6c26ad5d4e3b0763645559ece6fbf3747d6a8f5", size = 45021677, upload-time = "2025-10-24T10:05:38.274Z" }, + { url = "https://files.pythonhosted.org/packages/13/95/aec81f781c75cd10554dc17a25849c720d54feafb6f7847690478dcf5ef8/pyarrow-22.0.0-cp312-cp312-manylinux_2_28_x86_64.whl", hash = "sha256:c6c791b09c57ed76a18b03f2631753a4960eefbbca80f846da8baefc6491fcfe", size = 47726315, upload-time = "2025-10-24T10:05:47.314Z" }, + { url = "https://files.pythonhosted.org/packages/bb/d4/74ac9f7a54cfde12ee42734ea25d5a3c9a45db78f9def949307a92720d37/pyarrow-22.0.0-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:c3200cb41cdbc65156e5f8c908d739b0dfed57e890329413da2748d1a2cd1a4e", size = 47990906, upload-time = "2025-10-24T10:05:58.254Z" }, + { url = "https://files.pythonhosted.org/packages/2e/71/fedf2499bf7a95062eafc989ace56572f3343432570e1c54e6599d5b88da/pyarrow-22.0.0-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:ac93252226cf288753d8b46280f4edf3433bf9508b6977f8dd8526b521a1bbb9", size = 50306783, upload-time = "2025-10-24T10:06:08.08Z" }, + { url = "https://files.pythonhosted.org/packages/68/ed/b202abd5a5b78f519722f3d29063dda03c114711093c1995a33b8e2e0f4b/pyarrow-22.0.0-cp312-cp312-win_amd64.whl", hash = "sha256:44729980b6c50a5f2bfcc2668d36c569ce17f8b17bccaf470c4313dcbbf13c9d", size = 27972883, upload-time = "2025-10-24T10:06:14.204Z" }, + { url = "https://files.pythonhosted.org/packages/a6/d6/d0fac16a2963002fc22c8fa75180a838737203d558f0ed3b564c4a54eef5/pyarrow-22.0.0-cp313-cp313-macosx_12_0_arm64.whl", hash = "sha256:e6e95176209257803a8b3d0394f21604e796dadb643d2f7ca21b66c9c0b30c9a", size = 34204629, upload-time = "2025-10-24T10:06:20.274Z" }, + { url = "https://files.pythonhosted.org/packages/c6/9c/1d6357347fbae062ad3f17082f9ebc29cc733321e892c0d2085f42a2212b/pyarrow-22.0.0-cp313-cp313-macosx_12_0_x86_64.whl", hash = "sha256:001ea83a58024818826a9e3f89bf9310a114f7e26dfe404a4c32686f97bd7901", size = 35985783, upload-time = "2025-10-24T10:06:27.301Z" }, + { url = "https://files.pythonhosted.org/packages/ff/c0/782344c2ce58afbea010150df07e3a2f5fdad299cd631697ae7bd3bac6e3/pyarrow-22.0.0-cp313-cp313-manylinux_2_28_aarch64.whl", hash = "sha256:ce20fe000754f477c8a9125543f1936ea5b8867c5406757c224d745ed033e691", size = 45020999, upload-time = "2025-10-24T10:06:35.387Z" }, + { url = "https://files.pythonhosted.org/packages/1b/8b/5362443737a5307a7b67c1017c42cd104213189b4970bf607e05faf9c525/pyarrow-22.0.0-cp313-cp313-manylinux_2_28_x86_64.whl", hash = "sha256:e0a15757fccb38c410947df156f9749ae4a3c89b2393741a50521f39a8cf202a", size = 47724601, upload-time = "2025-10-24T10:06:43.551Z" }, + { url = "https://files.pythonhosted.org/packages/69/4d/76e567a4fc2e190ee6072967cb4672b7d9249ac59ae65af2d7e3047afa3b/pyarrow-22.0.0-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:cedb9dd9358e4ea1d9bce3665ce0797f6adf97ff142c8e25b46ba9cdd508e9b6", size = 48001050, upload-time = "2025-10-24T10:06:52.284Z" }, + { url = "https://files.pythonhosted.org/packages/01/5e/5653f0535d2a1aef8223cee9d92944cb6bccfee5cf1cd3f462d7cb022790/pyarrow-22.0.0-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:252be4a05f9d9185bb8c18e83764ebcfea7185076c07a7a662253af3a8c07941", size = 50307877, upload-time = "2025-10-24T10:07:02.405Z" }, + { url = "https://files.pythonhosted.org/packages/2d/f8/1d0bd75bf9328a3b826e24a16e5517cd7f9fbf8d34a3184a4566ef5a7f29/pyarrow-22.0.0-cp313-cp313-win_amd64.whl", hash = "sha256:a4893d31e5ef780b6edcaf63122df0f8d321088bb0dee4c8c06eccb1ca28d145", size = 27977099, upload-time = "2025-10-24T10:08:07.259Z" }, + { url = "https://files.pythonhosted.org/packages/90/81/db56870c997805bf2b0f6eeeb2d68458bf4654652dccdcf1bf7a42d80903/pyarrow-22.0.0-cp313-cp313t-macosx_12_0_arm64.whl", hash = "sha256:f7fe3dbe871294ba70d789be16b6e7e52b418311e166e0e3cba9522f0f437fb1", size = 34336685, upload-time = "2025-10-24T10:07:11.47Z" }, + { url = "https://files.pythonhosted.org/packages/1c/98/0727947f199aba8a120f47dfc229eeb05df15bcd7a6f1b669e9f882afc58/pyarrow-22.0.0-cp313-cp313t-macosx_12_0_x86_64.whl", hash = "sha256:ba95112d15fd4f1105fb2402c4eab9068f0554435e9b7085924bcfaac2cc306f", size = 36032158, upload-time = "2025-10-24T10:07:18.626Z" }, + { url = "https://files.pythonhosted.org/packages/96/b4/9babdef9c01720a0785945c7cf550e4acd0ebcd7bdd2e6f0aa7981fa85e2/pyarrow-22.0.0-cp313-cp313t-manylinux_2_28_aarch64.whl", hash = "sha256:c064e28361c05d72eed8e744c9605cbd6d2bb7481a511c74071fd9b24bc65d7d", size = 44892060, upload-time = "2025-10-24T10:07:26.002Z" }, + { url = "https://files.pythonhosted.org/packages/f8/ca/2f8804edd6279f78a37062d813de3f16f29183874447ef6d1aadbb4efa0f/pyarrow-22.0.0-cp313-cp313t-manylinux_2_28_x86_64.whl", hash = "sha256:6f9762274496c244d951c819348afbcf212714902742225f649cf02823a6a10f", size = 47504395, upload-time = "2025-10-24T10:07:34.09Z" }, + { url = "https://files.pythonhosted.org/packages/b9/f0/77aa5198fd3943682b2e4faaf179a674f0edea0d55d326d83cb2277d9363/pyarrow-22.0.0-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:a9d9ffdc2ab696f6b15b4d1f7cec6658e1d788124418cb30030afbae31c64746", size = 48066216, upload-time = "2025-10-24T10:07:43.528Z" }, + { url = "https://files.pythonhosted.org/packages/79/87/a1937b6e78b2aff18b706d738c9e46ade5bfcf11b294e39c87706a0089ac/pyarrow-22.0.0-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:ec1a15968a9d80da01e1d30349b2b0d7cc91e96588ee324ce1b5228175043e95", size = 50288552, upload-time = "2025-10-24T10:07:53.519Z" }, + { url = "https://files.pythonhosted.org/packages/60/ae/b5a5811e11f25788ccfdaa8f26b6791c9807119dffcf80514505527c384c/pyarrow-22.0.0-cp313-cp313t-win_amd64.whl", hash = "sha256:bba208d9c7decf9961998edf5c65e3ea4355d5818dd6cd0f6809bec1afb951cc", size = 28262504, upload-time = "2025-10-24T10:08:00.932Z" }, + { url = "https://files.pythonhosted.org/packages/bd/b0/0fa4d28a8edb42b0a7144edd20befd04173ac79819547216f8a9f36f9e50/pyarrow-22.0.0-cp314-cp314-macosx_12_0_arm64.whl", hash = "sha256:9bddc2cade6561f6820d4cd73f99a0243532ad506bc510a75a5a65a522b2d74d", size = 34224062, upload-time = "2025-10-24T10:08:14.101Z" }, + { url = "https://files.pythonhosted.org/packages/0f/a8/7a719076b3c1be0acef56a07220c586f25cd24de0e3f3102b438d18ae5df/pyarrow-22.0.0-cp314-cp314-macosx_12_0_x86_64.whl", hash = "sha256:e70ff90c64419709d38c8932ea9fe1cc98415c4f87ea8da81719e43f02534bc9", size = 35990057, upload-time = "2025-10-24T10:08:21.842Z" }, + { url = "https://files.pythonhosted.org/packages/89/3c/359ed54c93b47fb6fe30ed16cdf50e3f0e8b9ccfb11b86218c3619ae50a8/pyarrow-22.0.0-cp314-cp314-manylinux_2_28_aarch64.whl", hash = "sha256:92843c305330aa94a36e706c16209cd4df274693e777ca47112617db7d0ef3d7", size = 45068002, upload-time = "2025-10-24T10:08:29.034Z" }, + { url = "https://files.pythonhosted.org/packages/55/fc/4945896cc8638536ee787a3bd6ce7cec8ec9acf452d78ec39ab328efa0a1/pyarrow-22.0.0-cp314-cp314-manylinux_2_28_x86_64.whl", hash = "sha256:6dda1ddac033d27421c20d7a7943eec60be44e0db4e079f33cc5af3b8280ccde", size = 47737765, upload-time = "2025-10-24T10:08:38.559Z" }, + { url = "https://files.pythonhosted.org/packages/cd/5e/7cb7edeb2abfaa1f79b5d5eb89432356155c8426f75d3753cbcb9592c0fd/pyarrow-22.0.0-cp314-cp314-musllinux_1_2_aarch64.whl", hash = "sha256:84378110dd9a6c06323b41b56e129c504d157d1a983ce8f5443761eb5256bafc", size = 48048139, upload-time = "2025-10-24T10:08:46.784Z" }, + { url = "https://files.pythonhosted.org/packages/88/c6/546baa7c48185f5e9d6e59277c4b19f30f48c94d9dd938c2a80d4d6b067c/pyarrow-22.0.0-cp314-cp314-musllinux_1_2_x86_64.whl", hash = "sha256:854794239111d2b88b40b6ef92aa478024d1e5074f364033e73e21e3f76b25e0", size = 50314244, upload-time = "2025-10-24T10:08:55.771Z" }, + { url = "https://files.pythonhosted.org/packages/3c/79/755ff2d145aafec8d347bf18f95e4e81c00127f06d080135dfc86aea417c/pyarrow-22.0.0-cp314-cp314-win_amd64.whl", hash = "sha256:b883fe6fd85adad7932b3271c38ac289c65b7337c2c132e9569f9d3940620730", size = 28757501, upload-time = "2025-10-24T10:09:59.891Z" }, + { url = "https://files.pythonhosted.org/packages/0e/d2/237d75ac28ced3147912954e3c1a174df43a95f4f88e467809118a8165e0/pyarrow-22.0.0-cp314-cp314t-macosx_12_0_arm64.whl", hash = "sha256:7a820d8ae11facf32585507c11f04e3f38343c1e784c9b5a8b1da5c930547fe2", size = 34355506, upload-time = "2025-10-24T10:09:02.953Z" }, + { url = "https://files.pythonhosted.org/packages/1e/2c/733dfffe6d3069740f98e57ff81007809067d68626c5faef293434d11bd6/pyarrow-22.0.0-cp314-cp314t-macosx_12_0_x86_64.whl", hash = "sha256:c6ec3675d98915bf1ec8b3c7986422682f7232ea76cad276f4c8abd5b7319b70", size = 36047312, upload-time = "2025-10-24T10:09:10.334Z" }, + { url = "https://files.pythonhosted.org/packages/7c/2b/29d6e3782dc1f299727462c1543af357a0f2c1d3c160ce199950d9ca51eb/pyarrow-22.0.0-cp314-cp314t-manylinux_2_28_aarch64.whl", hash = "sha256:3e739edd001b04f654b166204fc7a9de896cf6007eaff33409ee9e50ceaff754", size = 45081609, upload-time = "2025-10-24T10:09:18.61Z" }, + { url = "https://files.pythonhosted.org/packages/8d/42/aa9355ecc05997915af1b7b947a7f66c02dcaa927f3203b87871c114ba10/pyarrow-22.0.0-cp314-cp314t-manylinux_2_28_x86_64.whl", hash = "sha256:7388ac685cab5b279a41dfe0a6ccd99e4dbf322edfb63e02fc0443bf24134e91", size = 47703663, upload-time = "2025-10-24T10:09:27.369Z" }, + { url = "https://files.pythonhosted.org/packages/ee/62/45abedde480168e83a1de005b7b7043fd553321c1e8c5a9a114425f64842/pyarrow-22.0.0-cp314-cp314t-musllinux_1_2_aarch64.whl", hash = "sha256:f633074f36dbc33d5c05b5dc75371e5660f1dbf9c8b1d95669def05e5425989c", size = 48066543, upload-time = "2025-10-24T10:09:34.908Z" }, + { url = "https://files.pythonhosted.org/packages/84/e9/7878940a5b072e4f3bf998770acafeae13b267f9893af5f6d4ab3904b67e/pyarrow-22.0.0-cp314-cp314t-musllinux_1_2_x86_64.whl", hash = "sha256:4c19236ae2402a8663a2c8f21f1870a03cc57f0bef7e4b6eb3238cc82944de80", size = 50288838, upload-time = "2025-10-24T10:09:44.394Z" }, + { url = "https://files.pythonhosted.org/packages/7b/03/f335d6c52b4a4761bcc83499789a1e2e16d9d201a58c327a9b5cc9a41bd9/pyarrow-22.0.0-cp314-cp314t-win_amd64.whl", hash = "sha256:0c34fe18094686194f204a3b1787a27456897d8a2d62caf84b61e8dfbc0252ae", size = 29185594, upload-time = "2025-10-24T10:09:53.111Z" }, ] [[package]] name = "pycparser" -version = "2.22" +version = "2.23" source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/1d/b2/31537cf4b1ca988837256c910a668b553fceb8f069bedc4b1c826024b52c/pycparser-2.22.tar.gz", hash = "sha256:491c8be9c040f5390f5bf44a5b07752bd07f56edf992381b05c701439eec10f6", size = 172736, upload-time = "2024-03-30T13:22:22.564Z" } +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/13/a3/a812df4e2dd5696d1f351d58b8fe16a405b234ad2886a0dab9183fb78109/pycparser-2.22-py3-none-any.whl", hash = "sha256:c3702b6d3dd8c7abc1afa565d7e63d53a1d0bd86cdc24edd75470f4de499cfcc", size = 117552, upload-time = "2024-03-30T13:22:20.476Z" }, + { 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 = "pydantic" -version = "2.11.7" +version = "2.12.5" source = { registry = "https://pypi.org/simple" } dependencies = [ { name = "annotated-types" }, @@ -1712,51 +2024,80 @@ dependencies = [ { name = "typing-extensions" }, { name = "typing-inspection" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/00/dd/4325abf92c39ba8623b5af936ddb36ffcfe0beae70405d456ab1fb2f5b8c/pydantic-2.11.7.tar.gz", hash = "sha256:d989c3c6cb79469287b1569f7447a17848c998458d49ebe294e975b9baf0f0db", size = 788350, upload-time = "2025-06-14T08:33:17.137Z" } +sdist = { url = "https://files.pythonhosted.org/packages/69/44/36f1a6e523abc58ae5f928898e4aca2e0ea509b5aa6f6f392a5d882be928/pydantic-2.12.5.tar.gz", hash = "sha256:4d351024c75c0f085a9febbb665ce8c0c6ec5d30e903bdb6394b7ede26aebb49", size = 821591, upload-time = "2025-11-26T15:11:46.471Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/6a/c0/ec2b1c8712ca690e5d61979dee872603e92b8a32f94cc1b72d53beab008a/pydantic-2.11.7-py3-none-any.whl", hash = "sha256:dde5df002701f6de26248661f6835bbe296a47bf73990135c7d07ce741b9623b", size = 444782, upload-time = "2025-06-14T08:33:14.905Z" }, + { url = "https://files.pythonhosted.org/packages/5a/87/b70ad306ebb6f9b585f114d0ac2137d792b48be34d732d60e597c2f8465a/pydantic-2.12.5-py3-none-any.whl", hash = "sha256:e561593fccf61e8a20fc46dfc2dfe075b8be7d0188df33f221ad1f0139180f9d", size = 463580, upload-time = "2025-11-26T15:11:44.605Z" }, ] [[package]] name = "pydantic-core" -version = "2.33.2" +version = "2.41.5" source = { registry = "https://pypi.org/simple" } dependencies = [ { name = "typing-extensions" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/ad/88/5f2260bdfae97aabf98f1778d43f69574390ad787afb646292a638c923d4/pydantic_core-2.33.2.tar.gz", hash = "sha256:7cb8bc3605c29176e1b105350d2e6474142d7c1bd1d9327c4a9bdb46bf827acc", size = 435195, upload-time = "2025-04-23T18:33:52.104Z" } -wheels = [ - { url = "https://files.pythonhosted.org/packages/18/8a/2b41c97f554ec8c71f2a8a5f85cb56a8b0956addfe8b0efb5b3d77e8bdc3/pydantic_core-2.33.2-cp312-cp312-macosx_10_12_x86_64.whl", hash = "sha256:a7ec89dc587667f22b6a0b6579c249fca9026ce7c333fc142ba42411fa243cdc", size = 2009000, upload-time = "2025-04-23T18:31:25.863Z" }, - { url = "https://files.pythonhosted.org/packages/a1/02/6224312aacb3c8ecbaa959897af57181fb6cf3a3d7917fd44d0f2917e6f2/pydantic_core-2.33.2-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:3c6db6e52c6d70aa0d00d45cdb9b40f0433b96380071ea80b09277dba021ddf7", size = 1847996, upload-time = "2025-04-23T18:31:27.341Z" }, - { url = "https://files.pythonhosted.org/packages/d6/46/6dcdf084a523dbe0a0be59d054734b86a981726f221f4562aed313dbcb49/pydantic_core-2.33.2-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:4e61206137cbc65e6d5256e1166f88331d3b6238e082d9f74613b9b765fb9025", size = 1880957, upload-time = "2025-04-23T18:31:28.956Z" }, - { url = "https://files.pythonhosted.org/packages/ec/6b/1ec2c03837ac00886ba8160ce041ce4e325b41d06a034adbef11339ae422/pydantic_core-2.33.2-cp312-cp312-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:eb8c529b2819c37140eb51b914153063d27ed88e3bdc31b71198a198e921e011", size = 1964199, upload-time = "2025-04-23T18:31:31.025Z" }, - { url = "https://files.pythonhosted.org/packages/2d/1d/6bf34d6adb9debd9136bd197ca72642203ce9aaaa85cfcbfcf20f9696e83/pydantic_core-2.33.2-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:c52b02ad8b4e2cf14ca7b3d918f3eb0ee91e63b3167c32591e57c4317e134f8f", size = 2120296, upload-time = "2025-04-23T18:31:32.514Z" }, - { url = "https://files.pythonhosted.org/packages/e0/94/2bd0aaf5a591e974b32a9f7123f16637776c304471a0ab33cf263cf5591a/pydantic_core-2.33.2-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:96081f1605125ba0855dfda83f6f3df5ec90c61195421ba72223de35ccfb2f88", size = 2676109, upload-time = "2025-04-23T18:31:33.958Z" }, - { url = "https://files.pythonhosted.org/packages/f9/41/4b043778cf9c4285d59742281a769eac371b9e47e35f98ad321349cc5d61/pydantic_core-2.33.2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:8f57a69461af2a5fa6e6bbd7a5f60d3b7e6cebb687f55106933188e79ad155c1", size = 2002028, upload-time = "2025-04-23T18:31:39.095Z" }, - { url = "https://files.pythonhosted.org/packages/cb/d5/7bb781bf2748ce3d03af04d5c969fa1308880e1dca35a9bd94e1a96a922e/pydantic_core-2.33.2-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:572c7e6c8bb4774d2ac88929e3d1f12bc45714ae5ee6d9a788a9fb35e60bb04b", size = 2100044, upload-time = "2025-04-23T18:31:41.034Z" }, - { url = "https://files.pythonhosted.org/packages/fe/36/def5e53e1eb0ad896785702a5bbfd25eed546cdcf4087ad285021a90ed53/pydantic_core-2.33.2-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:db4b41f9bd95fbe5acd76d89920336ba96f03e149097365afe1cb092fceb89a1", size = 2058881, upload-time = "2025-04-23T18:31:42.757Z" }, - { url = "https://files.pythonhosted.org/packages/01/6c/57f8d70b2ee57fc3dc8b9610315949837fa8c11d86927b9bb044f8705419/pydantic_core-2.33.2-cp312-cp312-musllinux_1_1_armv7l.whl", hash = "sha256:fa854f5cf7e33842a892e5c73f45327760bc7bc516339fda888c75ae60edaeb6", size = 2227034, upload-time = "2025-04-23T18:31:44.304Z" }, - { url = "https://files.pythonhosted.org/packages/27/b9/9c17f0396a82b3d5cbea4c24d742083422639e7bb1d5bf600e12cb176a13/pydantic_core-2.33.2-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:5f483cfb75ff703095c59e365360cb73e00185e01aaea067cd19acffd2ab20ea", size = 2234187, upload-time = "2025-04-23T18:31:45.891Z" }, - { url = "https://files.pythonhosted.org/packages/b0/6a/adf5734ffd52bf86d865093ad70b2ce543415e0e356f6cacabbc0d9ad910/pydantic_core-2.33.2-cp312-cp312-win32.whl", hash = "sha256:9cb1da0f5a471435a7bc7e439b8a728e8b61e59784b2af70d7c169f8dd8ae290", size = 1892628, upload-time = "2025-04-23T18:31:47.819Z" }, - { url = "https://files.pythonhosted.org/packages/43/e4/5479fecb3606c1368d496a825d8411e126133c41224c1e7238be58b87d7e/pydantic_core-2.33.2-cp312-cp312-win_amd64.whl", hash = "sha256:f941635f2a3d96b2973e867144fde513665c87f13fe0e193c158ac51bfaaa7b2", size = 1955866, upload-time = "2025-04-23T18:31:49.635Z" }, - { url = "https://files.pythonhosted.org/packages/0d/24/8b11e8b3e2be9dd82df4b11408a67c61bb4dc4f8e11b5b0fc888b38118b5/pydantic_core-2.33.2-cp312-cp312-win_arm64.whl", hash = "sha256:cca3868ddfaccfbc4bfb1d608e2ccaaebe0ae628e1416aeb9c4d88c001bb45ab", size = 1888894, upload-time = "2025-04-23T18:31:51.609Z" }, - { url = "https://files.pythonhosted.org/packages/46/8c/99040727b41f56616573a28771b1bfa08a3d3fe74d3d513f01251f79f172/pydantic_core-2.33.2-cp313-cp313-macosx_10_12_x86_64.whl", hash = "sha256:1082dd3e2d7109ad8b7da48e1d4710c8d06c253cbc4a27c1cff4fbcaa97a9e3f", size = 2015688, upload-time = "2025-04-23T18:31:53.175Z" }, - { url = "https://files.pythonhosted.org/packages/3a/cc/5999d1eb705a6cefc31f0b4a90e9f7fc400539b1a1030529700cc1b51838/pydantic_core-2.33.2-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:f517ca031dfc037a9c07e748cefd8d96235088b83b4f4ba8939105d20fa1dcd6", size = 1844808, upload-time = "2025-04-23T18:31:54.79Z" }, - { url = "https://files.pythonhosted.org/packages/6f/5e/a0a7b8885c98889a18b6e376f344da1ef323d270b44edf8174d6bce4d622/pydantic_core-2.33.2-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:0a9f2c9dd19656823cb8250b0724ee9c60a82f3cdf68a080979d13092a3b0fef", size = 1885580, upload-time = "2025-04-23T18:31:57.393Z" }, - { url = "https://files.pythonhosted.org/packages/3b/2a/953581f343c7d11a304581156618c3f592435523dd9d79865903272c256a/pydantic_core-2.33.2-cp313-cp313-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:2b0a451c263b01acebe51895bfb0e1cc842a5c666efe06cdf13846c7418caa9a", size = 1973859, upload-time = "2025-04-23T18:31:59.065Z" }, - { url = "https://files.pythonhosted.org/packages/e6/55/f1a813904771c03a3f97f676c62cca0c0a4138654107c1b61f19c644868b/pydantic_core-2.33.2-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:1ea40a64d23faa25e62a70ad163571c0b342b8bf66d5fa612ac0dec4f069d916", size = 2120810, upload-time = "2025-04-23T18:32:00.78Z" }, - { url = "https://files.pythonhosted.org/packages/aa/c3/053389835a996e18853ba107a63caae0b9deb4a276c6b472931ea9ae6e48/pydantic_core-2.33.2-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:0fb2d542b4d66f9470e8065c5469ec676978d625a8b7a363f07d9a501a9cb36a", size = 2676498, upload-time = "2025-04-23T18:32:02.418Z" }, - { url = "https://files.pythonhosted.org/packages/eb/3c/f4abd740877a35abade05e437245b192f9d0ffb48bbbbd708df33d3cda37/pydantic_core-2.33.2-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9fdac5d6ffa1b5a83bca06ffe7583f5576555e6c8b3a91fbd25ea7780f825f7d", size = 2000611, upload-time = "2025-04-23T18:32:04.152Z" }, - { url = "https://files.pythonhosted.org/packages/59/a7/63ef2fed1837d1121a894d0ce88439fe3e3b3e48c7543b2a4479eb99c2bd/pydantic_core-2.33.2-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:04a1a413977ab517154eebb2d326da71638271477d6ad87a769102f7c2488c56", size = 2107924, upload-time = "2025-04-23T18:32:06.129Z" }, - { url = "https://files.pythonhosted.org/packages/04/8f/2551964ef045669801675f1cfc3b0d74147f4901c3ffa42be2ddb1f0efc4/pydantic_core-2.33.2-cp313-cp313-musllinux_1_1_aarch64.whl", hash = "sha256:c8e7af2f4e0194c22b5b37205bfb293d166a7344a5b0d0eaccebc376546d77d5", size = 2063196, upload-time = "2025-04-23T18:32:08.178Z" }, - { url = "https://files.pythonhosted.org/packages/26/bd/d9602777e77fc6dbb0c7db9ad356e9a985825547dce5ad1d30ee04903918/pydantic_core-2.33.2-cp313-cp313-musllinux_1_1_armv7l.whl", hash = "sha256:5c92edd15cd58b3c2d34873597a1e20f13094f59cf88068adb18947df5455b4e", size = 2236389, upload-time = "2025-04-23T18:32:10.242Z" }, - { url = "https://files.pythonhosted.org/packages/42/db/0e950daa7e2230423ab342ae918a794964b053bec24ba8af013fc7c94846/pydantic_core-2.33.2-cp313-cp313-musllinux_1_1_x86_64.whl", hash = "sha256:65132b7b4a1c0beded5e057324b7e16e10910c106d43675d9bd87d4f38dde162", size = 2239223, upload-time = "2025-04-23T18:32:12.382Z" }, - { url = "https://files.pythonhosted.org/packages/58/4d/4f937099c545a8a17eb52cb67fe0447fd9a373b348ccfa9a87f141eeb00f/pydantic_core-2.33.2-cp313-cp313-win32.whl", hash = "sha256:52fb90784e0a242bb96ec53f42196a17278855b0f31ac7c3cc6f5c1ec4811849", size = 1900473, upload-time = "2025-04-23T18:32:14.034Z" }, - { url = "https://files.pythonhosted.org/packages/a0/75/4a0a9bac998d78d889def5e4ef2b065acba8cae8c93696906c3a91f310ca/pydantic_core-2.33.2-cp313-cp313-win_amd64.whl", hash = "sha256:c083a3bdd5a93dfe480f1125926afcdbf2917ae714bdb80b36d34318b2bec5d9", size = 1955269, upload-time = "2025-04-23T18:32:15.783Z" }, - { url = "https://files.pythonhosted.org/packages/f9/86/1beda0576969592f1497b4ce8e7bc8cbdf614c352426271b1b10d5f0aa64/pydantic_core-2.33.2-cp313-cp313-win_arm64.whl", hash = "sha256:e80b087132752f6b3d714f041ccf74403799d3b23a72722ea2e6ba2e892555b9", size = 1893921, upload-time = "2025-04-23T18:32:18.473Z" }, - { url = "https://files.pythonhosted.org/packages/a4/7d/e09391c2eebeab681df2b74bfe6c43422fffede8dc74187b2b0bf6fd7571/pydantic_core-2.33.2-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:61c18fba8e5e9db3ab908620af374db0ac1baa69f0f32df4f61ae23f15e586ac", size = 1806162, upload-time = "2025-04-23T18:32:20.188Z" }, - { url = "https://files.pythonhosted.org/packages/f1/3d/847b6b1fed9f8ed3bb95a9ad04fbd0b212e832d4f0f50ff4d9ee5a9f15cf/pydantic_core-2.33.2-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:95237e53bb015f67b63c91af7518a62a8660376a6a0db19b89acc77a4d6199f5", size = 1981560, upload-time = "2025-04-23T18:32:22.354Z" }, - { url = "https://files.pythonhosted.org/packages/6f/9a/e73262f6c6656262b5fdd723ad90f518f579b7bc8622e43a942eec53c938/pydantic_core-2.33.2-cp313-cp313t-win_amd64.whl", hash = "sha256:c2fc0a768ef76c15ab9238afa6da7f69895bb5d1ee83aeea2e3509af4472d0b9", size = 1935777, upload-time = "2025-04-23T18:32:25.088Z" }, +sdist = { url = "https://files.pythonhosted.org/packages/71/70/23b021c950c2addd24ec408e9ab05d59b035b39d97cdc1130e1bce647bb6/pydantic_core-2.41.5.tar.gz", hash = "sha256:08daa51ea16ad373ffd5e7606252cc32f07bc72b28284b6bc9c6df804816476e", size = 460952, upload-time = "2025-11-04T13:43:49.098Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/5f/5d/5f6c63eebb5afee93bcaae4ce9a898f3373ca23df3ccaef086d0233a35a7/pydantic_core-2.41.5-cp312-cp312-macosx_10_12_x86_64.whl", hash = "sha256:f41a7489d32336dbf2199c8c0a215390a751c5b014c2c1c5366e817202e9cdf7", size = 2110990, upload-time = "2025-11-04T13:39:58.079Z" }, + { url = "https://files.pythonhosted.org/packages/aa/32/9c2e8ccb57c01111e0fd091f236c7b371c1bccea0fa85247ac55b1e2b6b6/pydantic_core-2.41.5-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:070259a8818988b9a84a449a2a7337c7f430a22acc0859c6b110aa7212a6d9c0", size = 1896003, upload-time = "2025-11-04T13:39:59.956Z" }, + { url = "https://files.pythonhosted.org/packages/68/b8/a01b53cb0e59139fbc9e4fda3e9724ede8de279097179be4ff31f1abb65a/pydantic_core-2.41.5-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e96cea19e34778f8d59fe40775a7a574d95816eb150850a85a7a4c8f4b94ac69", size = 1919200, upload-time = "2025-11-04T13:40:02.241Z" }, + { url = "https://files.pythonhosted.org/packages/38/de/8c36b5198a29bdaade07b5985e80a233a5ac27137846f3bc2d3b40a47360/pydantic_core-2.41.5-cp312-cp312-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:ed2e99c456e3fadd05c991f8f437ef902e00eedf34320ba2b0842bd1c3ca3a75", size = 2052578, upload-time = "2025-11-04T13:40:04.401Z" }, + { url = "https://files.pythonhosted.org/packages/00/b5/0e8e4b5b081eac6cb3dbb7e60a65907549a1ce035a724368c330112adfdd/pydantic_core-2.41.5-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:65840751b72fbfd82c3c640cff9284545342a4f1eb1586ad0636955b261b0b05", size = 2208504, upload-time = "2025-11-04T13:40:06.072Z" }, + { url = "https://files.pythonhosted.org/packages/77/56/87a61aad59c7c5b9dc8caad5a41a5545cba3810c3e828708b3d7404f6cef/pydantic_core-2.41.5-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:e536c98a7626a98feb2d3eaf75944ef6f3dbee447e1f841eae16f2f0a72d8ddc", size = 2335816, upload-time = "2025-11-04T13:40:07.835Z" }, + { url = "https://files.pythonhosted.org/packages/0d/76/941cc9f73529988688a665a5c0ecff1112b3d95ab48f81db5f7606f522d3/pydantic_core-2.41.5-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:eceb81a8d74f9267ef4081e246ffd6d129da5d87e37a77c9bde550cb04870c1c", size = 2075366, upload-time = "2025-11-04T13:40:09.804Z" }, + { url = "https://files.pythonhosted.org/packages/d3/43/ebef01f69baa07a482844faaa0a591bad1ef129253ffd0cdaa9d8a7f72d3/pydantic_core-2.41.5-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:d38548150c39b74aeeb0ce8ee1d8e82696f4a4e16ddc6de7b1d8823f7de4b9b5", size = 2171698, upload-time = "2025-11-04T13:40:12.004Z" }, + { url = "https://files.pythonhosted.org/packages/b1/87/41f3202e4193e3bacfc2c065fab7706ebe81af46a83d3e27605029c1f5a6/pydantic_core-2.41.5-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:c23e27686783f60290e36827f9c626e63154b82b116d7fe9adba1fda36da706c", size = 2132603, upload-time = "2025-11-04T13:40:13.868Z" }, + { url = "https://files.pythonhosted.org/packages/49/7d/4c00df99cb12070b6bccdef4a195255e6020a550d572768d92cc54dba91a/pydantic_core-2.41.5-cp312-cp312-musllinux_1_1_armv7l.whl", hash = "sha256:482c982f814460eabe1d3bb0adfdc583387bd4691ef00b90575ca0d2b6fe2294", size = 2329591, upload-time = "2025-11-04T13:40:15.672Z" }, + { url = "https://files.pythonhosted.org/packages/cc/6a/ebf4b1d65d458f3cda6a7335d141305dfa19bdc61140a884d165a8a1bbc7/pydantic_core-2.41.5-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:bfea2a5f0b4d8d43adf9d7b8bf019fb46fdd10a2e5cde477fbcb9d1fa08c68e1", size = 2319068, upload-time = "2025-11-04T13:40:17.532Z" }, + { url = "https://files.pythonhosted.org/packages/49/3b/774f2b5cd4192d5ab75870ce4381fd89cf218af999515baf07e7206753f0/pydantic_core-2.41.5-cp312-cp312-win32.whl", hash = "sha256:b74557b16e390ec12dca509bce9264c3bbd128f8a2c376eaa68003d7f327276d", size = 1985908, upload-time = "2025-11-04T13:40:19.309Z" }, + { url = "https://files.pythonhosted.org/packages/86/45/00173a033c801cacf67c190fef088789394feaf88a98a7035b0e40d53dc9/pydantic_core-2.41.5-cp312-cp312-win_amd64.whl", hash = "sha256:1962293292865bca8e54702b08a4f26da73adc83dd1fcf26fbc875b35d81c815", size = 2020145, upload-time = "2025-11-04T13:40:21.548Z" }, + { url = "https://files.pythonhosted.org/packages/f9/22/91fbc821fa6d261b376a3f73809f907cec5ca6025642c463d3488aad22fb/pydantic_core-2.41.5-cp312-cp312-win_arm64.whl", hash = "sha256:1746d4a3d9a794cacae06a5eaaccb4b8643a131d45fbc9af23e353dc0a5ba5c3", size = 1976179, upload-time = "2025-11-04T13:40:23.393Z" }, + { url = "https://files.pythonhosted.org/packages/87/06/8806241ff1f70d9939f9af039c6c35f2360cf16e93c2ca76f184e76b1564/pydantic_core-2.41.5-cp313-cp313-macosx_10_12_x86_64.whl", hash = "sha256:941103c9be18ac8daf7b7adca8228f8ed6bb7a1849020f643b3a14d15b1924d9", size = 2120403, upload-time = "2025-11-04T13:40:25.248Z" }, + { url = "https://files.pythonhosted.org/packages/94/02/abfa0e0bda67faa65fef1c84971c7e45928e108fe24333c81f3bfe35d5f5/pydantic_core-2.41.5-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:112e305c3314f40c93998e567879e887a3160bb8689ef3d2c04b6cc62c33ac34", size = 1896206, upload-time = "2025-11-04T13:40:27.099Z" }, + { url = "https://files.pythonhosted.org/packages/15/df/a4c740c0943e93e6500f9eb23f4ca7ec9bf71b19e608ae5b579678c8d02f/pydantic_core-2.41.5-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:0cbaad15cb0c90aa221d43c00e77bb33c93e8d36e0bf74760cd00e732d10a6a0", size = 1919307, upload-time = "2025-11-04T13:40:29.806Z" }, + { url = "https://files.pythonhosted.org/packages/9a/e3/6324802931ae1d123528988e0e86587c2072ac2e5394b4bc2bc34b61ff6e/pydantic_core-2.41.5-cp313-cp313-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:03ca43e12fab6023fc79d28ca6b39b05f794ad08ec2feccc59a339b02f2b3d33", size = 2063258, upload-time = "2025-11-04T13:40:33.544Z" }, + { url = "https://files.pythonhosted.org/packages/c9/d4/2230d7151d4957dd79c3044ea26346c148c98fbf0ee6ebd41056f2d62ab5/pydantic_core-2.41.5-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:dc799088c08fa04e43144b164feb0c13f9a0bc40503f8df3e9fde58a3c0c101e", size = 2214917, upload-time = "2025-11-04T13:40:35.479Z" }, + { url = "https://files.pythonhosted.org/packages/e6/9f/eaac5df17a3672fef0081b6c1bb0b82b33ee89aa5cec0d7b05f52fd4a1fa/pydantic_core-2.41.5-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:97aeba56665b4c3235a0e52b2c2f5ae9cd071b8a8310ad27bddb3f7fb30e9aa2", size = 2332186, upload-time = "2025-11-04T13:40:37.436Z" }, + { url = "https://files.pythonhosted.org/packages/cf/4e/35a80cae583a37cf15604b44240e45c05e04e86f9cfd766623149297e971/pydantic_core-2.41.5-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:406bf18d345822d6c21366031003612b9c77b3e29ffdb0f612367352aab7d586", size = 2073164, upload-time = "2025-11-04T13:40:40.289Z" }, + { url = "https://files.pythonhosted.org/packages/bf/e3/f6e262673c6140dd3305d144d032f7bd5f7497d3871c1428521f19f9efa2/pydantic_core-2.41.5-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:b93590ae81f7010dbe380cdeab6f515902ebcbefe0b9327cc4804d74e93ae69d", size = 2179146, upload-time = "2025-11-04T13:40:42.809Z" }, + { url = "https://files.pythonhosted.org/packages/75/c7/20bd7fc05f0c6ea2056a4565c6f36f8968c0924f19b7d97bbfea55780e73/pydantic_core-2.41.5-cp313-cp313-musllinux_1_1_aarch64.whl", hash = "sha256:01a3d0ab748ee531f4ea6c3e48ad9dac84ddba4b0d82291f87248f2f9de8d740", size = 2137788, upload-time = "2025-11-04T13:40:44.752Z" }, + { url = "https://files.pythonhosted.org/packages/3a/8d/34318ef985c45196e004bc46c6eab2eda437e744c124ef0dbe1ff2c9d06b/pydantic_core-2.41.5-cp313-cp313-musllinux_1_1_armv7l.whl", hash = "sha256:6561e94ba9dacc9c61bce40e2d6bdc3bfaa0259d3ff36ace3b1e6901936d2e3e", size = 2340133, upload-time = "2025-11-04T13:40:46.66Z" }, + { url = "https://files.pythonhosted.org/packages/9c/59/013626bf8c78a5a5d9350d12e7697d3d4de951a75565496abd40ccd46bee/pydantic_core-2.41.5-cp313-cp313-musllinux_1_1_x86_64.whl", hash = "sha256:915c3d10f81bec3a74fbd4faebe8391013ba61e5a1a8d48c4455b923bdda7858", size = 2324852, upload-time = "2025-11-04T13:40:48.575Z" }, + { url = "https://files.pythonhosted.org/packages/1a/d9/c248c103856f807ef70c18a4f986693a46a8ffe1602e5d361485da502d20/pydantic_core-2.41.5-cp313-cp313-win32.whl", hash = "sha256:650ae77860b45cfa6e2cdafc42618ceafab3a2d9a3811fcfbd3bbf8ac3c40d36", size = 1994679, upload-time = "2025-11-04T13:40:50.619Z" }, + { url = "https://files.pythonhosted.org/packages/9e/8b/341991b158ddab181cff136acd2552c9f35bd30380422a639c0671e99a91/pydantic_core-2.41.5-cp313-cp313-win_amd64.whl", hash = "sha256:79ec52ec461e99e13791ec6508c722742ad745571f234ea6255bed38c6480f11", size = 2019766, upload-time = "2025-11-04T13:40:52.631Z" }, + { url = "https://files.pythonhosted.org/packages/73/7d/f2f9db34af103bea3e09735bb40b021788a5e834c81eedb541991badf8f5/pydantic_core-2.41.5-cp313-cp313-win_arm64.whl", hash = "sha256:3f84d5c1b4ab906093bdc1ff10484838aca54ef08de4afa9de0f5f14d69639cd", size = 1981005, upload-time = "2025-11-04T13:40:54.734Z" }, + { url = "https://files.pythonhosted.org/packages/ea/28/46b7c5c9635ae96ea0fbb779e271a38129df2550f763937659ee6c5dbc65/pydantic_core-2.41.5-cp314-cp314-macosx_10_12_x86_64.whl", hash = "sha256:3f37a19d7ebcdd20b96485056ba9e8b304e27d9904d233d7b1015db320e51f0a", size = 2119622, upload-time = "2025-11-04T13:40:56.68Z" }, + { url = "https://files.pythonhosted.org/packages/74/1a/145646e5687e8d9a1e8d09acb278c8535ebe9e972e1f162ed338a622f193/pydantic_core-2.41.5-cp314-cp314-macosx_11_0_arm64.whl", hash = "sha256:1d1d9764366c73f996edd17abb6d9d7649a7eb690006ab6adbda117717099b14", size = 1891725, upload-time = "2025-11-04T13:40:58.807Z" }, + { url = "https://files.pythonhosted.org/packages/23/04/e89c29e267b8060b40dca97bfc64a19b2a3cf99018167ea1677d96368273/pydantic_core-2.41.5-cp314-cp314-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:25e1c2af0fce638d5f1988b686f3b3ea8cd7de5f244ca147c777769e798a9cd1", size = 1915040, upload-time = "2025-11-04T13:41:00.853Z" }, + { url = "https://files.pythonhosted.org/packages/84/a3/15a82ac7bd97992a82257f777b3583d3e84bdb06ba6858f745daa2ec8a85/pydantic_core-2.41.5-cp314-cp314-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:506d766a8727beef16b7adaeb8ee6217c64fc813646b424d0804d67c16eddb66", size = 2063691, upload-time = "2025-11-04T13:41:03.504Z" }, + { url = "https://files.pythonhosted.org/packages/74/9b/0046701313c6ef08c0c1cf0e028c67c770a4e1275ca73131563c5f2a310a/pydantic_core-2.41.5-cp314-cp314-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:4819fa52133c9aa3c387b3328f25c1facc356491e6135b459f1de698ff64d869", size = 2213897, upload-time = "2025-11-04T13:41:05.804Z" }, + { url = "https://files.pythonhosted.org/packages/8a/cd/6bac76ecd1b27e75a95ca3a9a559c643b3afcd2dd62086d4b7a32a18b169/pydantic_core-2.41.5-cp314-cp314-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:2b761d210c9ea91feda40d25b4efe82a1707da2ef62901466a42492c028553a2", size = 2333302, upload-time = "2025-11-04T13:41:07.809Z" }, + { url = "https://files.pythonhosted.org/packages/4c/d2/ef2074dc020dd6e109611a8be4449b98cd25e1b9b8a303c2f0fca2f2bcf7/pydantic_core-2.41.5-cp314-cp314-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:22f0fb8c1c583a3b6f24df2470833b40207e907b90c928cc8d3594b76f874375", size = 2064877, upload-time = "2025-11-04T13:41:09.827Z" }, + { url = "https://files.pythonhosted.org/packages/18/66/e9db17a9a763d72f03de903883c057b2592c09509ccfe468187f2a2eef29/pydantic_core-2.41.5-cp314-cp314-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:2782c870e99878c634505236d81e5443092fba820f0373997ff75f90f68cd553", size = 2180680, upload-time = "2025-11-04T13:41:12.379Z" }, + { url = "https://files.pythonhosted.org/packages/d3/9e/3ce66cebb929f3ced22be85d4c2399b8e85b622db77dad36b73c5387f8f8/pydantic_core-2.41.5-cp314-cp314-musllinux_1_1_aarch64.whl", hash = "sha256:0177272f88ab8312479336e1d777f6b124537d47f2123f89cb37e0accea97f90", size = 2138960, upload-time = "2025-11-04T13:41:14.627Z" }, + { url = "https://files.pythonhosted.org/packages/a6/62/205a998f4327d2079326b01abee48e502ea739d174f0a89295c481a2272e/pydantic_core-2.41.5-cp314-cp314-musllinux_1_1_armv7l.whl", hash = "sha256:63510af5e38f8955b8ee5687740d6ebf7c2a0886d15a6d65c32814613681bc07", size = 2339102, upload-time = "2025-11-04T13:41:16.868Z" }, + { url = "https://files.pythonhosted.org/packages/3c/0d/f05e79471e889d74d3d88f5bd20d0ed189ad94c2423d81ff8d0000aab4ff/pydantic_core-2.41.5-cp314-cp314-musllinux_1_1_x86_64.whl", hash = "sha256:e56ba91f47764cc14f1daacd723e3e82d1a89d783f0f5afe9c364b8bb491ccdb", size = 2326039, upload-time = "2025-11-04T13:41:18.934Z" }, + { url = "https://files.pythonhosted.org/packages/ec/e1/e08a6208bb100da7e0c4b288eed624a703f4d129bde2da475721a80cab32/pydantic_core-2.41.5-cp314-cp314-win32.whl", hash = "sha256:aec5cf2fd867b4ff45b9959f8b20ea3993fc93e63c7363fe6851424c8a7e7c23", size = 1995126, upload-time = "2025-11-04T13:41:21.418Z" }, + { url = "https://files.pythonhosted.org/packages/48/5d/56ba7b24e9557f99c9237e29f5c09913c81eeb2f3217e40e922353668092/pydantic_core-2.41.5-cp314-cp314-win_amd64.whl", hash = "sha256:8e7c86f27c585ef37c35e56a96363ab8de4e549a95512445b85c96d3e2f7c1bf", size = 2015489, upload-time = "2025-11-04T13:41:24.076Z" }, + { url = "https://files.pythonhosted.org/packages/4e/bb/f7a190991ec9e3e0ba22e4993d8755bbc4a32925c0b5b42775c03e8148f9/pydantic_core-2.41.5-cp314-cp314-win_arm64.whl", hash = "sha256:e672ba74fbc2dc8eea59fb6d4aed6845e6905fc2a8afe93175d94a83ba2a01a0", size = 1977288, upload-time = "2025-11-04T13:41:26.33Z" }, + { url = "https://files.pythonhosted.org/packages/92/ed/77542d0c51538e32e15afe7899d79efce4b81eee631d99850edc2f5e9349/pydantic_core-2.41.5-cp314-cp314t-macosx_10_12_x86_64.whl", hash = "sha256:8566def80554c3faa0e65ac30ab0932b9e3a5cd7f8323764303d468e5c37595a", size = 2120255, upload-time = "2025-11-04T13:41:28.569Z" }, + { url = "https://files.pythonhosted.org/packages/bb/3d/6913dde84d5be21e284439676168b28d8bbba5600d838b9dca99de0fad71/pydantic_core-2.41.5-cp314-cp314t-macosx_11_0_arm64.whl", hash = "sha256:b80aa5095cd3109962a298ce14110ae16b8c1aece8b72f9dafe81cf597ad80b3", size = 1863760, upload-time = "2025-11-04T13:41:31.055Z" }, + { url = "https://files.pythonhosted.org/packages/5a/f0/e5e6b99d4191da102f2b0eb9687aaa7f5bea5d9964071a84effc3e40f997/pydantic_core-2.41.5-cp314-cp314t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:3006c3dd9ba34b0c094c544c6006cc79e87d8612999f1a5d43b769b89181f23c", size = 1878092, upload-time = "2025-11-04T13:41:33.21Z" }, + { url = "https://files.pythonhosted.org/packages/71/48/36fb760642d568925953bcc8116455513d6e34c4beaa37544118c36aba6d/pydantic_core-2.41.5-cp314-cp314t-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:72f6c8b11857a856bcfa48c86f5368439f74453563f951e473514579d44aa612", size = 2053385, upload-time = "2025-11-04T13:41:35.508Z" }, + { url = "https://files.pythonhosted.org/packages/20/25/92dc684dd8eb75a234bc1c764b4210cf2646479d54b47bf46061657292a8/pydantic_core-2.41.5-cp314-cp314t-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:5cb1b2f9742240e4bb26b652a5aeb840aa4b417c7748b6f8387927bc6e45e40d", size = 2218832, upload-time = "2025-11-04T13:41:37.732Z" }, + { url = "https://files.pythonhosted.org/packages/e2/09/f53e0b05023d3e30357d82eb35835d0f6340ca344720a4599cd663dca599/pydantic_core-2.41.5-cp314-cp314t-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:bd3d54f38609ff308209bd43acea66061494157703364ae40c951f83ba99a1a9", size = 2327585, upload-time = "2025-11-04T13:41:40Z" }, + { url = "https://files.pythonhosted.org/packages/aa/4e/2ae1aa85d6af35a39b236b1b1641de73f5a6ac4d5a7509f77b814885760c/pydantic_core-2.41.5-cp314-cp314t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:2ff4321e56e879ee8d2a879501c8e469414d948f4aba74a2d4593184eb326660", size = 2041078, upload-time = "2025-11-04T13:41:42.323Z" }, + { url = "https://files.pythonhosted.org/packages/cd/13/2e215f17f0ef326fc72afe94776edb77525142c693767fc347ed6288728d/pydantic_core-2.41.5-cp314-cp314t-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:d0d2568a8c11bf8225044aa94409e21da0cb09dcdafe9ecd10250b2baad531a9", size = 2173914, upload-time = "2025-11-04T13:41:45.221Z" }, + { url = "https://files.pythonhosted.org/packages/02/7a/f999a6dcbcd0e5660bc348a3991c8915ce6599f4f2c6ac22f01d7a10816c/pydantic_core-2.41.5-cp314-cp314t-musllinux_1_1_aarch64.whl", hash = "sha256:a39455728aabd58ceabb03c90e12f71fd30fa69615760a075b9fec596456ccc3", size = 2129560, upload-time = "2025-11-04T13:41:47.474Z" }, + { url = "https://files.pythonhosted.org/packages/3a/b1/6c990ac65e3b4c079a4fb9f5b05f5b013afa0f4ed6780a3dd236d2cbdc64/pydantic_core-2.41.5-cp314-cp314t-musllinux_1_1_armv7l.whl", hash = "sha256:239edca560d05757817c13dc17c50766136d21f7cd0fac50295499ae24f90fdf", size = 2329244, upload-time = "2025-11-04T13:41:49.992Z" }, + { url = "https://files.pythonhosted.org/packages/d9/02/3c562f3a51afd4d88fff8dffb1771b30cfdfd79befd9883ee094f5b6c0d8/pydantic_core-2.41.5-cp314-cp314t-musllinux_1_1_x86_64.whl", hash = "sha256:2a5e06546e19f24c6a96a129142a75cee553cc018ffee48a460059b1185f4470", size = 2331955, upload-time = "2025-11-04T13:41:54.079Z" }, + { url = "https://files.pythonhosted.org/packages/5c/96/5fb7d8c3c17bc8c62fdb031c47d77a1af698f1d7a406b0f79aaa1338f9ad/pydantic_core-2.41.5-cp314-cp314t-win32.whl", hash = "sha256:b4ececa40ac28afa90871c2cc2b9ffd2ff0bf749380fbdf57d165fd23da353aa", size = 1988906, upload-time = "2025-11-04T13:41:56.606Z" }, + { url = "https://files.pythonhosted.org/packages/22/ed/182129d83032702912c2e2d8bbe33c036f342cc735737064668585dac28f/pydantic_core-2.41.5-cp314-cp314t-win_amd64.whl", hash = "sha256:80aa89cad80b32a912a65332f64a4450ed00966111b6615ca6816153d3585a8c", size = 1981607, upload-time = "2025-11-04T13:41:58.889Z" }, + { url = "https://files.pythonhosted.org/packages/9f/ed/068e41660b832bb0b1aa5b58011dea2a3fe0ba7861ff38c4d4904c1c1a99/pydantic_core-2.41.5-cp314-cp314t-win_arm64.whl", hash = "sha256:35b44f37a3199f771c3eaa53051bc8a70cd7b54f333531c59e29fd4db5d15008", size = 1974769, upload-time = "2025-11-04T13:42:01.186Z" }, + { url = "https://files.pythonhosted.org/packages/09/32/59b0c7e63e277fa7911c2fc70ccfb45ce4b98991e7ef37110663437005af/pydantic_core-2.41.5-graalpy312-graalpy250_312_native-macosx_10_12_x86_64.whl", hash = "sha256:7da7087d756b19037bc2c06edc6c170eeef3c3bafcb8f532ff17d64dc427adfd", size = 2110495, upload-time = "2025-11-04T13:42:49.689Z" }, + { url = "https://files.pythonhosted.org/packages/aa/81/05e400037eaf55ad400bcd318c05bb345b57e708887f07ddb2d20e3f0e98/pydantic_core-2.41.5-graalpy312-graalpy250_312_native-macosx_11_0_arm64.whl", hash = "sha256:aabf5777b5c8ca26f7824cb4a120a740c9588ed58df9b2d196ce92fba42ff8dc", size = 1915388, upload-time = "2025-11-04T13:42:52.215Z" }, + { url = "https://files.pythonhosted.org/packages/6e/0d/e3549b2399f71d56476b77dbf3cf8937cec5cd70536bdc0e374a421d0599/pydantic_core-2.41.5-graalpy312-graalpy250_312_native-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:c007fe8a43d43b3969e8469004e9845944f1a80e6acd47c150856bb87f230c56", size = 1942879, upload-time = "2025-11-04T13:42:56.483Z" }, + { url = "https://files.pythonhosted.org/packages/f7/07/34573da085946b6a313d7c42f82f16e8920bfd730665de2d11c0c37a74b5/pydantic_core-2.41.5-graalpy312-graalpy250_312_native-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:76d0819de158cd855d1cbb8fcafdf6f5cf1eb8e470abe056d5d161106e38062b", size = 2139017, upload-time = "2025-11-04T13:42:59.471Z" }, ] [[package]] @@ -1821,11 +2162,11 @@ wheels = [ [[package]] name = "python-dotenv" -version = "1.1.1" +version = "1.2.1" source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/f6/b0/4bc07ccd3572a2f9df7e6782f52b0c6c90dcbb803ac4a167702d7d0dfe1e/python_dotenv-1.1.1.tar.gz", hash = "sha256:a8a6399716257f45be6a007360200409fce5cda2661e3dec71d23dc15f6189ab", size = 41978, upload-time = "2025-06-24T04:21:07.341Z" } +sdist = { url = "https://files.pythonhosted.org/packages/f0/26/19cadc79a718c5edbec86fd4919a6b6d3f681039a2f6d66d14be94e75fb9/python_dotenv-1.2.1.tar.gz", hash = "sha256:42667e897e16ab0d66954af0e60a9caa94f0fd4ecf3aaf6d2d260eec1aa36ad6", size = 44221, upload-time = "2025-10-26T15:12:10.434Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/5f/ed/539768cf28c661b5b068d66d96a2f155c4971a5d55684a514c1a0e0dec2f/python_dotenv-1.1.1-py3-none-any.whl", hash = "sha256:31f23644fe2602f88ff55e1f5c79ba497e01224ee7737937930c448e4d0e24dc", size = 20556, upload-time = "2025-06-24T04:21:06.073Z" }, + { url = "https://files.pythonhosted.org/packages/14/1b/a298b06749107c305e1fe0f814c6c74aea7b2f1e10989cb30f544a1b3253/python_dotenv-1.2.1-py3-none-any.whl", hash = "sha256:b81ee9561e9ca4004139c6cbba3a238c32b03e4894671e181b671e8cb8425d61", size = 21230, upload-time = "2025-10-26T15:12:09.109Z" }, ] [[package]] @@ -1876,59 +2217,79 @@ wheels = [ [[package]] name = "pyyaml" -version = "6.0.2" -source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/54/ed/79a089b6be93607fa5cdaedf301d7dfb23af5f25c398d5ead2525b063e17/pyyaml-6.0.2.tar.gz", hash = "sha256:d584d9ec91ad65861cc08d42e834324ef890a082e591037abe114850ff7bbc3e", size = 130631, upload-time = "2024-08-06T20:33:50.674Z" } -wheels = [ - { url = "https://files.pythonhosted.org/packages/86/0c/c581167fc46d6d6d7ddcfb8c843a4de25bdd27e4466938109ca68492292c/PyYAML-6.0.2-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:c70c95198c015b85feafc136515252a261a84561b7b1d51e3384e0655ddf25ab", size = 183873, upload-time = "2024-08-06T20:32:25.131Z" }, - { url = "https://files.pythonhosted.org/packages/a8/0c/38374f5bb272c051e2a69281d71cba6fdb983413e6758b84482905e29a5d/PyYAML-6.0.2-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:ce826d6ef20b1bc864f0a68340c8b3287705cae2f8b4b1d932177dcc76721725", size = 173302, upload-time = "2024-08-06T20:32:26.511Z" }, - { url = "https://files.pythonhosted.org/packages/c3/93/9916574aa8c00aa06bbac729972eb1071d002b8e158bd0e83a3b9a20a1f7/PyYAML-6.0.2-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:1f71ea527786de97d1a0cc0eacd1defc0985dcf6b3f17bb77dcfc8c34bec4dc5", size = 739154, upload-time = "2024-08-06T20:32:28.363Z" }, - { url = "https://files.pythonhosted.org/packages/95/0f/b8938f1cbd09739c6da569d172531567dbcc9789e0029aa070856f123984/PyYAML-6.0.2-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:9b22676e8097e9e22e36d6b7bda33190d0d400f345f23d4065d48f4ca7ae0425", size = 766223, upload-time = "2024-08-06T20:32:30.058Z" }, - { url = "https://files.pythonhosted.org/packages/b9/2b/614b4752f2e127db5cc206abc23a8c19678e92b23c3db30fc86ab731d3bd/PyYAML-6.0.2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:80bab7bfc629882493af4aa31a4cfa43a4c57c83813253626916b8c7ada83476", size = 767542, upload-time = "2024-08-06T20:32:31.881Z" }, - { url = "https://files.pythonhosted.org/packages/d4/00/dd137d5bcc7efea1836d6264f049359861cf548469d18da90cd8216cf05f/PyYAML-6.0.2-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:0833f8694549e586547b576dcfaba4a6b55b9e96098b36cdc7ebefe667dfed48", size = 731164, upload-time = "2024-08-06T20:32:37.083Z" }, - { url = "https://files.pythonhosted.org/packages/c9/1f/4f998c900485e5c0ef43838363ba4a9723ac0ad73a9dc42068b12aaba4e4/PyYAML-6.0.2-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:8b9c7197f7cb2738065c481a0461e50ad02f18c78cd75775628afb4d7137fb3b", size = 756611, upload-time = "2024-08-06T20:32:38.898Z" }, - { url = "https://files.pythonhosted.org/packages/df/d1/f5a275fdb252768b7a11ec63585bc38d0e87c9e05668a139fea92b80634c/PyYAML-6.0.2-cp312-cp312-win32.whl", hash = "sha256:ef6107725bd54b262d6dedcc2af448a266975032bc85ef0172c5f059da6325b4", size = 140591, upload-time = "2024-08-06T20:32:40.241Z" }, - { url = "https://files.pythonhosted.org/packages/0c/e8/4f648c598b17c3d06e8753d7d13d57542b30d56e6c2dedf9c331ae56312e/PyYAML-6.0.2-cp312-cp312-win_amd64.whl", hash = "sha256:7e7401d0de89a9a855c839bc697c079a4af81cf878373abd7dc625847d25cbd8", size = 156338, upload-time = "2024-08-06T20:32:41.93Z" }, - { url = "https://files.pythonhosted.org/packages/ef/e3/3af305b830494fa85d95f6d95ef7fa73f2ee1cc8ef5b495c7c3269fb835f/PyYAML-6.0.2-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:efdca5630322a10774e8e98e1af481aad470dd62c3170801852d752aa7a783ba", size = 181309, upload-time = "2024-08-06T20:32:43.4Z" }, - { url = "https://files.pythonhosted.org/packages/45/9f/3b1c20a0b7a3200524eb0076cc027a970d320bd3a6592873c85c92a08731/PyYAML-6.0.2-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:50187695423ffe49e2deacb8cd10510bc361faac997de9efef88badc3bb9e2d1", size = 171679, upload-time = "2024-08-06T20:32:44.801Z" }, - { url = "https://files.pythonhosted.org/packages/7c/9a/337322f27005c33bcb656c655fa78325b730324c78620e8328ae28b64d0c/PyYAML-6.0.2-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:0ffe8360bab4910ef1b9e87fb812d8bc0a308b0d0eef8c8f44e0254ab3b07133", size = 733428, upload-time = "2024-08-06T20:32:46.432Z" }, - { url = "https://files.pythonhosted.org/packages/a3/69/864fbe19e6c18ea3cc196cbe5d392175b4cf3d5d0ac1403ec3f2d237ebb5/PyYAML-6.0.2-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:17e311b6c678207928d649faa7cb0d7b4c26a0ba73d41e99c4fff6b6c3276484", size = 763361, upload-time = "2024-08-06T20:32:51.188Z" }, - { url = "https://files.pythonhosted.org/packages/04/24/b7721e4845c2f162d26f50521b825fb061bc0a5afcf9a386840f23ea19fa/PyYAML-6.0.2-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:70b189594dbe54f75ab3a1acec5f1e3faa7e8cf2f1e08d9b561cb41b845f69d5", size = 759523, upload-time = "2024-08-06T20:32:53.019Z" }, - { url = "https://files.pythonhosted.org/packages/2b/b2/e3234f59ba06559c6ff63c4e10baea10e5e7df868092bf9ab40e5b9c56b6/PyYAML-6.0.2-cp313-cp313-musllinux_1_1_aarch64.whl", hash = "sha256:41e4e3953a79407c794916fa277a82531dd93aad34e29c2a514c2c0c5fe971cc", size = 726660, upload-time = "2024-08-06T20:32:54.708Z" }, - { url = "https://files.pythonhosted.org/packages/fe/0f/25911a9f080464c59fab9027482f822b86bf0608957a5fcc6eaac85aa515/PyYAML-6.0.2-cp313-cp313-musllinux_1_1_x86_64.whl", hash = "sha256:68ccc6023a3400877818152ad9a1033e3db8625d899c72eacb5a668902e4d652", size = 751597, upload-time = "2024-08-06T20:32:56.985Z" }, - { url = "https://files.pythonhosted.org/packages/14/0d/e2c3b43bbce3cf6bd97c840b46088a3031085179e596d4929729d8d68270/PyYAML-6.0.2-cp313-cp313-win32.whl", hash = "sha256:bc2fa7c6b47d6bc618dd7fb02ef6fdedb1090ec036abab80d4681424b84c1183", size = 140527, upload-time = "2024-08-06T20:33:03.001Z" }, - { url = "https://files.pythonhosted.org/packages/fa/de/02b54f42487e3d3c6efb3f89428677074ca7bf43aae402517bc7cca949f3/PyYAML-6.0.2-cp313-cp313-win_amd64.whl", hash = "sha256:8388ee1976c416731879ac16da0aff3f63b286ffdd57cdeb95f3f2e085687563", size = 156446, upload-time = "2024-08-06T20:33:04.33Z" }, +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/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/d1/11/0fd08f8192109f7169db964b5707a2f1e8b745d4e239b784a5a1dd80d1db/pyyaml-6.0.3-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:8da9669d359f02c0b91ccc01cac4a67f16afec0dac22c2ad09f46bee0697eba8", size = 181669, upload-time = "2025-09-25T21:32:23.673Z" }, + { url = "https://files.pythonhosted.org/packages/b1/16/95309993f1d3748cd644e02e38b75d50cbc0d9561d21f390a76242ce073f/pyyaml-6.0.3-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:2283a07e2c21a2aa78d9c4442724ec1eb15f5e42a723b99cb3d822d48f5f7ad1", size = 173252, upload-time = "2025-09-25T21:32:25.149Z" }, + { url = "https://files.pythonhosted.org/packages/50/31/b20f376d3f810b9b2371e72ef5adb33879b25edb7a6d072cb7ca0c486398/pyyaml-6.0.3-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:ee2922902c45ae8ccada2c5b501ab86c36525b883eff4255313a253a3160861c", size = 767081, upload-time = "2025-09-25T21:32:26.575Z" }, + { url = "https://files.pythonhosted.org/packages/49/1e/a55ca81e949270d5d4432fbbd19dfea5321eda7c41a849d443dc92fd1ff7/pyyaml-6.0.3-cp313-cp313-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:a33284e20b78bd4a18c8c2282d549d10bc8408a2a7ff57653c0cf0b9be0afce5", size = 841159, upload-time = "2025-09-25T21:32:27.727Z" }, + { url = "https://files.pythonhosted.org/packages/74/27/e5b8f34d02d9995b80abcef563ea1f8b56d20134d8f4e5e81733b1feceb2/pyyaml-6.0.3-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:0f29edc409a6392443abf94b9cf89ce99889a1dd5376d94316ae5145dfedd5d6", size = 801626, upload-time = "2025-09-25T21:32:28.878Z" }, + { url = "https://files.pythonhosted.org/packages/f9/11/ba845c23988798f40e52ba45f34849aa8a1f2d4af4b798588010792ebad6/pyyaml-6.0.3-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:f7057c9a337546edc7973c0d3ba84ddcdf0daa14533c2065749c9075001090e6", size = 753613, upload-time = "2025-09-25T21:32:30.178Z" }, + { url = "https://files.pythonhosted.org/packages/3d/e0/7966e1a7bfc0a45bf0a7fb6b98ea03fc9b8d84fa7f2229e9659680b69ee3/pyyaml-6.0.3-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:eda16858a3cab07b80edaf74336ece1f986ba330fdb8ee0d6c0d68fe82bc96be", size = 794115, upload-time = "2025-09-25T21:32:31.353Z" }, + { url = "https://files.pythonhosted.org/packages/de/94/980b50a6531b3019e45ddeada0626d45fa85cbe22300844a7983285bed3b/pyyaml-6.0.3-cp313-cp313-win32.whl", hash = "sha256:d0eae10f8159e8fdad514efdc92d74fd8d682c933a6dd088030f3834bc8e6b26", size = 137427, upload-time = "2025-09-25T21:32:32.58Z" }, + { url = "https://files.pythonhosted.org/packages/97/c9/39d5b874e8b28845e4ec2202b5da735d0199dbe5b8fb85f91398814a9a46/pyyaml-6.0.3-cp313-cp313-win_amd64.whl", hash = "sha256:79005a0d97d5ddabfeeea4cf676af11e647e41d81c9a7722a193022accdb6b7c", size = 154090, upload-time = "2025-09-25T21:32:33.659Z" }, + { url = "https://files.pythonhosted.org/packages/73/e8/2bdf3ca2090f68bb3d75b44da7bbc71843b19c9f2b9cb9b0f4ab7a5a4329/pyyaml-6.0.3-cp313-cp313-win_arm64.whl", hash = "sha256:5498cd1645aa724a7c71c8f378eb29ebe23da2fc0d7a08071d89469bf1d2defb", size = 140246, upload-time = "2025-09-25T21:32:34.663Z" }, + { url = "https://files.pythonhosted.org/packages/9d/8c/f4bd7f6465179953d3ac9bc44ac1a8a3e6122cf8ada906b4f96c60172d43/pyyaml-6.0.3-cp314-cp314-macosx_10_13_x86_64.whl", hash = "sha256:8d1fab6bb153a416f9aeb4b8763bc0f22a5586065f86f7664fc23339fc1c1fac", size = 181814, upload-time = "2025-09-25T21:32:35.712Z" }, + { url = "https://files.pythonhosted.org/packages/bd/9c/4d95bb87eb2063d20db7b60faa3840c1b18025517ae857371c4dd55a6b3a/pyyaml-6.0.3-cp314-cp314-macosx_11_0_arm64.whl", hash = "sha256:34d5fcd24b8445fadc33f9cf348c1047101756fd760b4dacb5c3e99755703310", size = 173809, upload-time = "2025-09-25T21:32:36.789Z" }, + { url = "https://files.pythonhosted.org/packages/92/b5/47e807c2623074914e29dabd16cbbdd4bf5e9b2db9f8090fa64411fc5382/pyyaml-6.0.3-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:501a031947e3a9025ed4405a168e6ef5ae3126c59f90ce0cd6f2bfc477be31b7", size = 766454, upload-time = "2025-09-25T21:32:37.966Z" }, + { url = "https://files.pythonhosted.org/packages/02/9e/e5e9b168be58564121efb3de6859c452fccde0ab093d8438905899a3a483/pyyaml-6.0.3-cp314-cp314-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:b3bc83488de33889877a0f2543ade9f70c67d66d9ebb4ac959502e12de895788", size = 836355, upload-time = "2025-09-25T21:32:39.178Z" }, + { url = "https://files.pythonhosted.org/packages/88/f9/16491d7ed2a919954993e48aa941b200f38040928474c9e85ea9e64222c3/pyyaml-6.0.3-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:c458b6d084f9b935061bc36216e8a69a7e293a2f1e68bf956dcd9e6cbcd143f5", size = 794175, upload-time = "2025-09-25T21:32:40.865Z" }, + { url = "https://files.pythonhosted.org/packages/dd/3f/5989debef34dc6397317802b527dbbafb2b4760878a53d4166579111411e/pyyaml-6.0.3-cp314-cp314-musllinux_1_2_aarch64.whl", hash = "sha256:7c6610def4f163542a622a73fb39f534f8c101d690126992300bf3207eab9764", size = 755228, upload-time = "2025-09-25T21:32:42.084Z" }, + { url = "https://files.pythonhosted.org/packages/d7/ce/af88a49043cd2e265be63d083fc75b27b6ed062f5f9fd6cdc223ad62f03e/pyyaml-6.0.3-cp314-cp314-musllinux_1_2_x86_64.whl", hash = "sha256:5190d403f121660ce8d1d2c1bb2ef1bd05b5f68533fc5c2ea899bd15f4399b35", size = 789194, upload-time = "2025-09-25T21:32:43.362Z" }, + { url = "https://files.pythonhosted.org/packages/23/20/bb6982b26a40bb43951265ba29d4c246ef0ff59c9fdcdf0ed04e0687de4d/pyyaml-6.0.3-cp314-cp314-win_amd64.whl", hash = "sha256:4a2e8cebe2ff6ab7d1050ecd59c25d4c8bd7e6f400f5f82b96557ac0abafd0ac", size = 156429, upload-time = "2025-09-25T21:32:57.844Z" }, + { url = "https://files.pythonhosted.org/packages/f4/f4/a4541072bb9422c8a883ab55255f918fa378ecf083f5b85e87fc2b4eda1b/pyyaml-6.0.3-cp314-cp314-win_arm64.whl", hash = "sha256:93dda82c9c22deb0a405ea4dc5f2d0cda384168e466364dec6255b293923b2f3", size = 143912, upload-time = "2025-09-25T21:32:59.247Z" }, + { url = "https://files.pythonhosted.org/packages/7c/f9/07dd09ae774e4616edf6cda684ee78f97777bdd15847253637a6f052a62f/pyyaml-6.0.3-cp314-cp314t-macosx_10_13_x86_64.whl", hash = "sha256:02893d100e99e03eda1c8fd5c441d8c60103fd175728e23e431db1b589cf5ab3", size = 189108, upload-time = "2025-09-25T21:32:44.377Z" }, + { url = "https://files.pythonhosted.org/packages/4e/78/8d08c9fb7ce09ad8c38ad533c1191cf27f7ae1effe5bb9400a46d9437fcf/pyyaml-6.0.3-cp314-cp314t-macosx_11_0_arm64.whl", hash = "sha256:c1ff362665ae507275af2853520967820d9124984e0f7466736aea23d8611fba", size = 183641, upload-time = "2025-09-25T21:32:45.407Z" }, + { url = "https://files.pythonhosted.org/packages/7b/5b/3babb19104a46945cf816d047db2788bcaf8c94527a805610b0289a01c6b/pyyaml-6.0.3-cp314-cp314t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:6adc77889b628398debc7b65c073bcb99c4a0237b248cacaf3fe8a557563ef6c", size = 831901, upload-time = "2025-09-25T21:32:48.83Z" }, + { url = "https://files.pythonhosted.org/packages/8b/cc/dff0684d8dc44da4d22a13f35f073d558c268780ce3c6ba1b87055bb0b87/pyyaml-6.0.3-cp314-cp314t-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:a80cb027f6b349846a3bf6d73b5e95e782175e52f22108cfa17876aaeff93702", size = 861132, upload-time = "2025-09-25T21:32:50.149Z" }, + { url = "https://files.pythonhosted.org/packages/b1/5e/f77dc6b9036943e285ba76b49e118d9ea929885becb0a29ba8a7c75e29fe/pyyaml-6.0.3-cp314-cp314t-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:00c4bdeba853cc34e7dd471f16b4114f4162dc03e6b7afcc2128711f0eca823c", size = 839261, upload-time = "2025-09-25T21:32:51.808Z" }, + { url = "https://files.pythonhosted.org/packages/ce/88/a9db1376aa2a228197c58b37302f284b5617f56a5d959fd1763fb1675ce6/pyyaml-6.0.3-cp314-cp314t-musllinux_1_2_aarch64.whl", hash = "sha256:66e1674c3ef6f541c35191caae2d429b967b99e02040f5ba928632d9a7f0f065", size = 805272, upload-time = "2025-09-25T21:32:52.941Z" }, + { url = "https://files.pythonhosted.org/packages/da/92/1446574745d74df0c92e6aa4a7b0b3130706a4142b2d1a5869f2eaa423c6/pyyaml-6.0.3-cp314-cp314t-musllinux_1_2_x86_64.whl", hash = "sha256:16249ee61e95f858e83976573de0f5b2893b3677ba71c9dd36b9cf8be9ac6d65", size = 829923, upload-time = "2025-09-25T21:32:54.537Z" }, + { url = "https://files.pythonhosted.org/packages/f0/7a/1c7270340330e575b92f397352af856a8c06f230aa3e76f86b39d01b416a/pyyaml-6.0.3-cp314-cp314t-win_amd64.whl", hash = "sha256:4ad1906908f2f5ae4e5a8ddfce73c320c2a1429ec52eafd27138b7f1cbe341c9", size = 174062, upload-time = "2025-09-25T21:32:55.767Z" }, + { url = "https://files.pythonhosted.org/packages/f1/12/de94a39c2ef588c7e6455cfbe7343d3b2dc9d6b6b2f40c4c6565744c873d/pyyaml-6.0.3-cp314-cp314t-win_arm64.whl", hash = "sha256:ebc55a14a21cb14062aa4162f906cd962b28e2e9ea38f9b4391244cd8de4ae0b", size = 149341, upload-time = "2025-09-25T21:32:56.828Z" }, ] [[package]] name = "questionary" -version = "2.1.0" +version = "2.1.1" source = { registry = "https://pypi.org/simple" } dependencies = [ { name = "prompt-toolkit" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/a8/b8/d16eb579277f3de9e56e5ad25280fab52fc5774117fb70362e8c2e016559/questionary-2.1.0.tar.gz", hash = "sha256:6302cdd645b19667d8f6e6634774e9538bfcd1aad9be287e743d96cacaf95587", size = 26775, upload-time = "2024-12-29T11:49:17.802Z" } +sdist = { url = "https://files.pythonhosted.org/packages/f6/45/eafb0bba0f9988f6a2520f9ca2df2c82ddfa8d67c95d6625452e97b204a5/questionary-2.1.1.tar.gz", hash = "sha256:3d7e980292bb0107abaa79c68dd3eee3c561b83a0f89ae482860b181c8bd412d", size = 25845, upload-time = "2025-08-28T19:00:20.851Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/ad/3f/11dd4cd4f39e05128bfd20138faea57bec56f9ffba6185d276e3107ba5b2/questionary-2.1.0-py3-none-any.whl", hash = "sha256:44174d237b68bc828e4878c763a9ad6790ee61990e0ae72927694ead57bab8ec", size = 36747, upload-time = "2024-12-29T11:49:16.734Z" }, + { url = "https://files.pythonhosted.org/packages/3c/26/1062c7ec1b053db9e499b4d2d5bc231743201b74051c973dadeac80a8f43/questionary-2.1.1-py3-none-any.whl", hash = "sha256:a51af13f345f1cdea62347589fbb6df3b290306ab8930713bfae4d475a7d4a59", size = 36753, upload-time = "2025-08-28T19:00:19.56Z" }, ] [[package]] name = "referencing" -version = "0.36.2" +version = "0.37.0" source = { registry = "https://pypi.org/simple" } dependencies = [ { name = "attrs" }, { name = "rpds-py" }, { name = "typing-extensions", marker = "python_full_version < '3.13'" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/2f/db/98b5c277be99dd18bfd91dd04e1b759cad18d1a338188c936e92f921c7e2/referencing-0.36.2.tar.gz", hash = "sha256:df2e89862cd09deabbdba16944cc3f10feb6b3e6f18e902f7cc25609a34775aa", size = 74744, upload-time = "2025-01-25T08:48:16.138Z" } +sdist = { url = "https://files.pythonhosted.org/packages/22/f5/df4e9027acead3ecc63e50fe1e36aca1523e1719559c499951bb4b53188f/referencing-0.37.0.tar.gz", hash = "sha256:44aefc3142c5b842538163acb373e24cce6632bd54bdb01b21ad5863489f50d8", size = 78036, upload-time = "2025-10-13T15:30:48.871Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/c1/b1/3baf80dc6d2b7bc27a95a67752d0208e410351e3feb4eb78de5f77454d8d/referencing-0.36.2-py3-none-any.whl", hash = "sha256:e8699adbbf8b5c7de96d8ffa0eb5c158b3beafce084968e2ea8bb08c6794dcd0", size = 26775, upload-time = "2025-01-25T08:48:14.241Z" }, + { url = "https://files.pythonhosted.org/packages/2c/58/ca301544e1fa93ed4f80d724bf5b194f6e4b945841c5bfd555878eea9fcb/referencing-0.37.0-py3-none-any.whl", hash = "sha256:381329a9f99628c9069361716891d34ad94af76e461dcb0335825aecc7692231", size = 26766, upload-time = "2025-10-13T15:30:47.625Z" }, ] [[package]] name = "requests" -version = "2.32.4" +version = "2.32.5" source = { registry = "https://pypi.org/simple" } dependencies = [ { name = "certifi" }, @@ -1936,9 +2297,9 @@ dependencies = [ { name = "idna" }, { name = "urllib3" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/e1/0a/929373653770d8a0d7ea76c37de6e41f11eb07559b103b1c02cafb3f7cf8/requests-2.32.4.tar.gz", hash = "sha256:27d0316682c8a29834d3264820024b62a36942083d52caf2f14c0591336d3422", size = 135258, upload-time = "2025-06-09T16:43:07.34Z" } +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/7c/e4/56027c4a6b4ae70ca9de302488c5ca95ad4a39e190093d6c1a8ace08341b/requests-2.32.4-py3-none-any.whl", hash = "sha256:27babd3cda2a6d50b30443204ee89830707d396671944c998b5975b031ac2b2c", size = 64847, upload-time = "2025-06-09T16:43:05.728Z" }, + { 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]] @@ -1969,91 +2330,96 @@ wheels = [ [[package]] name = "rich" -version = "14.1.0" +version = "14.2.0" source = { registry = "https://pypi.org/simple" } dependencies = [ { name = "markdown-it-py" }, { name = "pygments" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/fe/75/af448d8e52bf1d8fa6a9d089ca6c07ff4453d86c65c145d0a300bb073b9b/rich-14.1.0.tar.gz", hash = "sha256:e497a48b844b0320d45007cdebfeaeed8db2a4f4bcf49f15e455cfc4af11eaa8", size = 224441, upload-time = "2025-07-25T07:32:58.125Z" } +sdist = { url = "https://files.pythonhosted.org/packages/fb/d2/8920e102050a0de7bfabeb4c4614a49248cf8d5d7a8d01885fbb24dc767a/rich-14.2.0.tar.gz", hash = "sha256:73ff50c7c0c1c77c8243079283f4edb376f0f6442433aecb8ce7e6d0b92d1fe4", size = 219990, upload-time = "2025-10-09T14:16:53.064Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/e3/30/3c4d035596d3cf444529e0b2953ad0466f6049528a879d27534700580395/rich-14.1.0-py3-none-any.whl", hash = "sha256:536f5f1785986d6dbdea3c75205c473f970777b4a0d6c6dd1b696aa05a3fa04f", size = 243368, upload-time = "2025-07-25T07:32:56.73Z" }, + { url = "https://files.pythonhosted.org/packages/25/7a/b0178788f8dc6cafce37a212c99565fa1fe7872c70c6c9c1e1a372d9d88f/rich-14.2.0-py3-none-any.whl", hash = "sha256:76bc51fe2e57d2b1be1f96c524b890b816e334ab4c1e45888799bfaab0021edd", size = 243393, upload-time = "2025-10-09T14:16:51.245Z" }, ] [[package]] name = "rpds-py" -version = "0.26.0" -source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/a5/aa/4456d84bbb54adc6a916fb10c9b374f78ac840337644e4a5eda229c81275/rpds_py-0.26.0.tar.gz", hash = "sha256:20dae58a859b0906f0685642e591056f1e787f3a8b39c8e8749a45dc7d26bdb0", size = 27385, upload-time = "2025-07-01T15:57:13.958Z" } -wheels = [ - { url = "https://files.pythonhosted.org/packages/ea/86/90eb87c6f87085868bd077c7a9938006eb1ce19ed4d06944a90d3560fce2/rpds_py-0.26.0-cp312-cp312-macosx_10_12_x86_64.whl", hash = "sha256:894514d47e012e794f1350f076c427d2347ebf82f9b958d554d12819849a369d", size = 363933, upload-time = "2025-07-01T15:54:15.734Z" }, - { url = "https://files.pythonhosted.org/packages/63/78/4469f24d34636242c924626082b9586f064ada0b5dbb1e9d096ee7a8e0c6/rpds_py-0.26.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:fc921b96fa95a097add244da36a1d9e4f3039160d1d30f1b35837bf108c21136", size = 350447, upload-time = "2025-07-01T15:54:16.922Z" }, - { url = "https://files.pythonhosted.org/packages/ad/91/c448ed45efdfdade82348d5e7995e15612754826ea640afc20915119734f/rpds_py-0.26.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:3e1157659470aa42a75448b6e943c895be8c70531c43cb78b9ba990778955582", size = 384711, upload-time = "2025-07-01T15:54:18.101Z" }, - { url = "https://files.pythonhosted.org/packages/ec/43/e5c86fef4be7f49828bdd4ecc8931f0287b1152c0bb0163049b3218740e7/rpds_py-0.26.0-cp312-cp312-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:521ccf56f45bb3a791182dc6b88ae5f8fa079dd705ee42138c76deb1238e554e", size = 400865, upload-time = "2025-07-01T15:54:19.295Z" }, - { url = "https://files.pythonhosted.org/packages/55/34/e00f726a4d44f22d5c5fe2e5ddd3ac3d7fd3f74a175607781fbdd06fe375/rpds_py-0.26.0-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:9def736773fd56b305c0eef698be5192c77bfa30d55a0e5885f80126c4831a15", size = 517763, upload-time = "2025-07-01T15:54:20.858Z" }, - { url = "https://files.pythonhosted.org/packages/52/1c/52dc20c31b147af724b16104500fba13e60123ea0334beba7b40e33354b4/rpds_py-0.26.0-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:cdad4ea3b4513b475e027be79e5a0ceac8ee1c113a1a11e5edc3c30c29f964d8", size = 406651, upload-time = "2025-07-01T15:54:22.508Z" }, - { url = "https://files.pythonhosted.org/packages/2e/77/87d7bfabfc4e821caa35481a2ff6ae0b73e6a391bb6b343db2c91c2b9844/rpds_py-0.26.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:82b165b07f416bdccf5c84546a484cc8f15137ca38325403864bfdf2b5b72f6a", size = 386079, upload-time = "2025-07-01T15:54:23.987Z" }, - { url = "https://files.pythonhosted.org/packages/e3/d4/7f2200c2d3ee145b65b3cddc4310d51f7da6a26634f3ac87125fd789152a/rpds_py-0.26.0-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:d04cab0a54b9dba4d278fe955a1390da3cf71f57feb78ddc7cb67cbe0bd30323", size = 421379, upload-time = "2025-07-01T15:54:25.073Z" }, - { url = "https://files.pythonhosted.org/packages/ae/13/9fdd428b9c820869924ab62236b8688b122baa22d23efdd1c566938a39ba/rpds_py-0.26.0-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:79061ba1a11b6a12743a2b0f72a46aa2758613d454aa6ba4f5a265cc48850158", size = 562033, upload-time = "2025-07-01T15:54:26.225Z" }, - { url = "https://files.pythonhosted.org/packages/f3/e1/b69686c3bcbe775abac3a4c1c30a164a2076d28df7926041f6c0eb5e8d28/rpds_py-0.26.0-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:f405c93675d8d4c5ac87364bb38d06c988e11028a64b52a47158a355079661f3", size = 591639, upload-time = "2025-07-01T15:54:27.424Z" }, - { url = "https://files.pythonhosted.org/packages/5c/c9/1e3d8c8863c84a90197ac577bbc3d796a92502124c27092413426f670990/rpds_py-0.26.0-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:dafd4c44b74aa4bed4b250f1aed165b8ef5de743bcca3b88fc9619b6087093d2", size = 557105, upload-time = "2025-07-01T15:54:29.93Z" }, - { url = "https://files.pythonhosted.org/packages/9f/c5/90c569649057622959f6dcc40f7b516539608a414dfd54b8d77e3b201ac0/rpds_py-0.26.0-cp312-cp312-win32.whl", hash = "sha256:3da5852aad63fa0c6f836f3359647870e21ea96cf433eb393ffa45263a170d44", size = 223272, upload-time = "2025-07-01T15:54:31.128Z" }, - { url = "https://files.pythonhosted.org/packages/7d/16/19f5d9f2a556cfed454eebe4d354c38d51c20f3db69e7b4ce6cff904905d/rpds_py-0.26.0-cp312-cp312-win_amd64.whl", hash = "sha256:cf47cfdabc2194a669dcf7a8dbba62e37a04c5041d2125fae0233b720da6f05c", size = 234995, upload-time = "2025-07-01T15:54:32.195Z" }, - { url = "https://files.pythonhosted.org/packages/83/f0/7935e40b529c0e752dfaa7880224771b51175fce08b41ab4a92eb2fbdc7f/rpds_py-0.26.0-cp312-cp312-win_arm64.whl", hash = "sha256:20ab1ae4fa534f73647aad289003f1104092890849e0266271351922ed5574f8", size = 223198, upload-time = "2025-07-01T15:54:33.271Z" }, - { url = "https://files.pythonhosted.org/packages/6a/67/bb62d0109493b12b1c6ab00de7a5566aa84c0e44217c2d94bee1bd370da9/rpds_py-0.26.0-cp313-cp313-macosx_10_12_x86_64.whl", hash = "sha256:696764a5be111b036256c0b18cd29783fab22154690fc698062fc1b0084b511d", size = 363917, upload-time = "2025-07-01T15:54:34.755Z" }, - { url = "https://files.pythonhosted.org/packages/4b/f3/34e6ae1925a5706c0f002a8d2d7f172373b855768149796af87bd65dcdb9/rpds_py-0.26.0-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:1e6c15d2080a63aaed876e228efe4f814bc7889c63b1e112ad46fdc8b368b9e1", size = 350073, upload-time = "2025-07-01T15:54:36.292Z" }, - { url = "https://files.pythonhosted.org/packages/75/83/1953a9d4f4e4de7fd0533733e041c28135f3c21485faaef56a8aadbd96b5/rpds_py-0.26.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:390e3170babf42462739a93321e657444f0862c6d722a291accc46f9d21ed04e", size = 384214, upload-time = "2025-07-01T15:54:37.469Z" }, - { url = "https://files.pythonhosted.org/packages/48/0e/983ed1b792b3322ea1d065e67f4b230f3b96025f5ce3878cc40af09b7533/rpds_py-0.26.0-cp313-cp313-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:7da84c2c74c0f5bc97d853d9e17bb83e2dcafcff0dc48286916001cc114379a1", size = 400113, upload-time = "2025-07-01T15:54:38.954Z" }, - { url = "https://files.pythonhosted.org/packages/69/7f/36c0925fff6f660a80be259c5b4f5e53a16851f946eb080351d057698528/rpds_py-0.26.0-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:4c5fe114a6dd480a510b6d3661d09d67d1622c4bf20660a474507aaee7eeeee9", size = 515189, upload-time = "2025-07-01T15:54:40.57Z" }, - { url = "https://files.pythonhosted.org/packages/13/45/cbf07fc03ba7a9b54662c9badb58294ecfb24f828b9732970bd1a431ed5c/rpds_py-0.26.0-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:3100b3090269f3a7ea727b06a6080d4eb7439dca4c0e91a07c5d133bb1727ea7", size = 406998, upload-time = "2025-07-01T15:54:43.025Z" }, - { url = "https://files.pythonhosted.org/packages/6c/b0/8fa5e36e58657997873fd6a1cf621285ca822ca75b4b3434ead047daa307/rpds_py-0.26.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:2c03c9b0c64afd0320ae57de4c982801271c0c211aa2d37f3003ff5feb75bb04", size = 385903, upload-time = "2025-07-01T15:54:44.752Z" }, - { url = "https://files.pythonhosted.org/packages/4b/f7/b25437772f9f57d7a9fbd73ed86d0dcd76b4c7c6998348c070d90f23e315/rpds_py-0.26.0-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:5963b72ccd199ade6ee493723d18a3f21ba7d5b957017607f815788cef50eaf1", size = 419785, upload-time = "2025-07-01T15:54:46.043Z" }, - { url = "https://files.pythonhosted.org/packages/a7/6b/63ffa55743dfcb4baf2e9e77a0b11f7f97ed96a54558fcb5717a4b2cd732/rpds_py-0.26.0-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:9da4e873860ad5bab3291438525cae80169daecbfafe5657f7f5fb4d6b3f96b9", size = 561329, upload-time = "2025-07-01T15:54:47.64Z" }, - { url = "https://files.pythonhosted.org/packages/2f/07/1f4f5e2886c480a2346b1e6759c00278b8a69e697ae952d82ae2e6ee5db0/rpds_py-0.26.0-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:5afaddaa8e8c7f1f7b4c5c725c0070b6eed0228f705b90a1732a48e84350f4e9", size = 590875, upload-time = "2025-07-01T15:54:48.9Z" }, - { url = "https://files.pythonhosted.org/packages/cc/bc/e6639f1b91c3a55f8c41b47d73e6307051b6e246254a827ede730624c0f8/rpds_py-0.26.0-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:4916dc96489616a6f9667e7526af8fa693c0fdb4f3acb0e5d9f4400eb06a47ba", size = 556636, upload-time = "2025-07-01T15:54:50.619Z" }, - { url = "https://files.pythonhosted.org/packages/05/4c/b3917c45566f9f9a209d38d9b54a1833f2bb1032a3e04c66f75726f28876/rpds_py-0.26.0-cp313-cp313-win32.whl", hash = "sha256:2a343f91b17097c546b93f7999976fd6c9d5900617aa848c81d794e062ab302b", size = 222663, upload-time = "2025-07-01T15:54:52.023Z" }, - { url = "https://files.pythonhosted.org/packages/e0/0b/0851bdd6025775aaa2365bb8de0697ee2558184c800bfef8d7aef5ccde58/rpds_py-0.26.0-cp313-cp313-win_amd64.whl", hash = "sha256:0a0b60701f2300c81b2ac88a5fb893ccfa408e1c4a555a77f908a2596eb875a5", size = 234428, upload-time = "2025-07-01T15:54:53.692Z" }, - { url = "https://files.pythonhosted.org/packages/ed/e8/a47c64ed53149c75fb581e14a237b7b7cd18217e969c30d474d335105622/rpds_py-0.26.0-cp313-cp313-win_arm64.whl", hash = "sha256:257d011919f133a4746958257f2c75238e3ff54255acd5e3e11f3ff41fd14256", size = 222571, upload-time = "2025-07-01T15:54:54.822Z" }, - { url = "https://files.pythonhosted.org/packages/89/bf/3d970ba2e2bcd17d2912cb42874107390f72873e38e79267224110de5e61/rpds_py-0.26.0-cp313-cp313t-macosx_10_12_x86_64.whl", hash = "sha256:529c8156d7506fba5740e05da8795688f87119cce330c244519cf706a4a3d618", size = 360475, upload-time = "2025-07-01T15:54:56.228Z" }, - { url = "https://files.pythonhosted.org/packages/82/9f/283e7e2979fc4ec2d8ecee506d5a3675fce5ed9b4b7cb387ea5d37c2f18d/rpds_py-0.26.0-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:f53ec51f9d24e9638a40cabb95078ade8c99251945dad8d57bf4aabe86ecee35", size = 346692, upload-time = "2025-07-01T15:54:58.561Z" }, - { url = "https://files.pythonhosted.org/packages/e3/03/7e50423c04d78daf391da3cc4330bdb97042fc192a58b186f2d5deb7befd/rpds_py-0.26.0-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:7ab504c4d654e4a29558eaa5bb8cea5fdc1703ea60a8099ffd9c758472cf913f", size = 379415, upload-time = "2025-07-01T15:54:59.751Z" }, - { url = "https://files.pythonhosted.org/packages/57/00/d11ee60d4d3b16808432417951c63df803afb0e0fc672b5e8d07e9edaaae/rpds_py-0.26.0-cp313-cp313t-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:fd0641abca296bc1a00183fe44f7fced8807ed49d501f188faa642d0e4975b83", size = 391783, upload-time = "2025-07-01T15:55:00.898Z" }, - { url = "https://files.pythonhosted.org/packages/08/b3/1069c394d9c0d6d23c5b522e1f6546b65793a22950f6e0210adcc6f97c3e/rpds_py-0.26.0-cp313-cp313t-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:69b312fecc1d017b5327afa81d4da1480f51c68810963a7336d92203dbb3d4f1", size = 512844, upload-time = "2025-07-01T15:55:02.201Z" }, - { url = "https://files.pythonhosted.org/packages/08/3b/c4fbf0926800ed70b2c245ceca99c49f066456755f5d6eb8863c2c51e6d0/rpds_py-0.26.0-cp313-cp313t-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:c741107203954f6fc34d3066d213d0a0c40f7bb5aafd698fb39888af277c70d8", size = 402105, upload-time = "2025-07-01T15:55:03.698Z" }, - { url = "https://files.pythonhosted.org/packages/1c/b0/db69b52ca07413e568dae9dc674627a22297abb144c4d6022c6d78f1e5cc/rpds_py-0.26.0-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:fc3e55a7db08dc9a6ed5fb7103019d2c1a38a349ac41901f9f66d7f95750942f", size = 383440, upload-time = "2025-07-01T15:55:05.398Z" }, - { url = "https://files.pythonhosted.org/packages/4c/e1/c65255ad5b63903e56b3bb3ff9dcc3f4f5c3badde5d08c741ee03903e951/rpds_py-0.26.0-cp313-cp313t-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:9e851920caab2dbcae311fd28f4313c6953993893eb5c1bb367ec69d9a39e7ed", size = 412759, upload-time = "2025-07-01T15:55:08.316Z" }, - { url = "https://files.pythonhosted.org/packages/e4/22/bb731077872377a93c6e93b8a9487d0406c70208985831034ccdeed39c8e/rpds_py-0.26.0-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:dfbf280da5f876d0b00c81f26bedce274e72a678c28845453885a9b3c22ae632", size = 556032, upload-time = "2025-07-01T15:55:09.52Z" }, - { url = "https://files.pythonhosted.org/packages/e0/8b/393322ce7bac5c4530fb96fc79cc9ea2f83e968ff5f6e873f905c493e1c4/rpds_py-0.26.0-cp313-cp313t-musllinux_1_2_i686.whl", hash = "sha256:1cc81d14ddfa53d7f3906694d35d54d9d3f850ef8e4e99ee68bc0d1e5fed9a9c", size = 585416, upload-time = "2025-07-01T15:55:11.216Z" }, - { url = "https://files.pythonhosted.org/packages/49/ae/769dc372211835bf759319a7aae70525c6eb523e3371842c65b7ef41c9c6/rpds_py-0.26.0-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:dca83c498b4650a91efcf7b88d669b170256bf8017a5db6f3e06c2bf031f57e0", size = 554049, upload-time = "2025-07-01T15:55:13.004Z" }, - { url = "https://files.pythonhosted.org/packages/6b/f9/4c43f9cc203d6ba44ce3146246cdc38619d92c7bd7bad4946a3491bd5b70/rpds_py-0.26.0-cp313-cp313t-win32.whl", hash = "sha256:4d11382bcaf12f80b51d790dee295c56a159633a8e81e6323b16e55d81ae37e9", size = 218428, upload-time = "2025-07-01T15:55:14.486Z" }, - { url = "https://files.pythonhosted.org/packages/7e/8b/9286b7e822036a4a977f2f1e851c7345c20528dbd56b687bb67ed68a8ede/rpds_py-0.26.0-cp313-cp313t-win_amd64.whl", hash = "sha256:ff110acded3c22c033e637dd8896e411c7d3a11289b2edf041f86663dbc791e9", size = 231524, upload-time = "2025-07-01T15:55:15.745Z" }, - { url = "https://files.pythonhosted.org/packages/55/07/029b7c45db910c74e182de626dfdae0ad489a949d84a468465cd0ca36355/rpds_py-0.26.0-cp314-cp314-macosx_10_12_x86_64.whl", hash = "sha256:da619979df60a940cd434084355c514c25cf8eb4cf9a508510682f6c851a4f7a", size = 364292, upload-time = "2025-07-01T15:55:17.001Z" }, - { url = "https://files.pythonhosted.org/packages/13/d1/9b3d3f986216b4d1f584878dca15ce4797aaf5d372d738974ba737bf68d6/rpds_py-0.26.0-cp314-cp314-macosx_11_0_arm64.whl", hash = "sha256:ea89a2458a1a75f87caabefe789c87539ea4e43b40f18cff526052e35bbb4fdf", size = 350334, upload-time = "2025-07-01T15:55:18.922Z" }, - { url = "https://files.pythonhosted.org/packages/18/98/16d5e7bc9ec715fa9668731d0cf97f6b032724e61696e2db3d47aeb89214/rpds_py-0.26.0-cp314-cp314-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:feac1045b3327a45944e7dcbeb57530339f6b17baff154df51ef8b0da34c8c12", size = 384875, upload-time = "2025-07-01T15:55:20.399Z" }, - { url = "https://files.pythonhosted.org/packages/f9/13/aa5e2b1ec5ab0e86a5c464d53514c0467bec6ba2507027d35fc81818358e/rpds_py-0.26.0-cp314-cp314-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:b818a592bd69bfe437ee8368603d4a2d928c34cffcdf77c2e761a759ffd17d20", size = 399993, upload-time = "2025-07-01T15:55:21.729Z" }, - { url = "https://files.pythonhosted.org/packages/17/03/8021810b0e97923abdbab6474c8b77c69bcb4b2c58330777df9ff69dc559/rpds_py-0.26.0-cp314-cp314-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:1a8b0dd8648709b62d9372fc00a57466f5fdeefed666afe3fea5a6c9539a0331", size = 516683, upload-time = "2025-07-01T15:55:22.918Z" }, - { url = "https://files.pythonhosted.org/packages/dc/b1/da8e61c87c2f3d836954239fdbbfb477bb7b54d74974d8f6fcb34342d166/rpds_py-0.26.0-cp314-cp314-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:6d3498ad0df07d81112aa6ec6c95a7e7b1ae00929fb73e7ebee0f3faaeabad2f", size = 408825, upload-time = "2025-07-01T15:55:24.207Z" }, - { url = "https://files.pythonhosted.org/packages/38/bc/1fc173edaaa0e52c94b02a655db20697cb5fa954ad5a8e15a2c784c5cbdd/rpds_py-0.26.0-cp314-cp314-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:24a4146ccb15be237fdef10f331c568e1b0e505f8c8c9ed5d67759dac58ac246", size = 387292, upload-time = "2025-07-01T15:55:25.554Z" }, - { url = "https://files.pythonhosted.org/packages/7c/eb/3a9bb4bd90867d21916f253caf4f0d0be7098671b6715ad1cead9fe7bab9/rpds_py-0.26.0-cp314-cp314-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:a9a63785467b2d73635957d32a4f6e73d5e4df497a16a6392fa066b753e87387", size = 420435, upload-time = "2025-07-01T15:55:27.798Z" }, - { url = "https://files.pythonhosted.org/packages/cd/16/e066dcdb56f5632713445271a3f8d3d0b426d51ae9c0cca387799df58b02/rpds_py-0.26.0-cp314-cp314-musllinux_1_2_aarch64.whl", hash = "sha256:de4ed93a8c91debfd5a047be327b7cc8b0cc6afe32a716bbbc4aedca9e2a83af", size = 562410, upload-time = "2025-07-01T15:55:29.057Z" }, - { url = "https://files.pythonhosted.org/packages/60/22/ddbdec7eb82a0dc2e455be44c97c71c232983e21349836ce9f272e8a3c29/rpds_py-0.26.0-cp314-cp314-musllinux_1_2_i686.whl", hash = "sha256:caf51943715b12af827696ec395bfa68f090a4c1a1d2509eb4e2cb69abbbdb33", size = 590724, upload-time = "2025-07-01T15:55:30.719Z" }, - { url = "https://files.pythonhosted.org/packages/2c/b4/95744085e65b7187d83f2fcb0bef70716a1ea0a9e5d8f7f39a86e5d83424/rpds_py-0.26.0-cp314-cp314-musllinux_1_2_x86_64.whl", hash = "sha256:4a59e5bc386de021f56337f757301b337d7ab58baa40174fb150accd480bc953", size = 558285, upload-time = "2025-07-01T15:55:31.981Z" }, - { url = "https://files.pythonhosted.org/packages/37/37/6309a75e464d1da2559446f9c811aa4d16343cebe3dbb73701e63f760caa/rpds_py-0.26.0-cp314-cp314-win32.whl", hash = "sha256:92c8db839367ef16a662478f0a2fe13e15f2227da3c1430a782ad0f6ee009ec9", size = 223459, upload-time = "2025-07-01T15:55:33.312Z" }, - { url = "https://files.pythonhosted.org/packages/d9/6f/8e9c11214c46098b1d1391b7e02b70bb689ab963db3b19540cba17315291/rpds_py-0.26.0-cp314-cp314-win_amd64.whl", hash = "sha256:b0afb8cdd034150d4d9f53926226ed27ad15b7f465e93d7468caaf5eafae0d37", size = 236083, upload-time = "2025-07-01T15:55:34.933Z" }, - { url = "https://files.pythonhosted.org/packages/47/af/9c4638994dd623d51c39892edd9d08e8be8220a4b7e874fa02c2d6e91955/rpds_py-0.26.0-cp314-cp314-win_arm64.whl", hash = "sha256:ca3f059f4ba485d90c8dc75cb5ca897e15325e4e609812ce57f896607c1c0867", size = 223291, upload-time = "2025-07-01T15:55:36.202Z" }, - { url = "https://files.pythonhosted.org/packages/4d/db/669a241144460474aab03e254326b32c42def83eb23458a10d163cb9b5ce/rpds_py-0.26.0-cp314-cp314t-macosx_10_12_x86_64.whl", hash = "sha256:5afea17ab3a126006dc2f293b14ffc7ef3c85336cf451564a0515ed7648033da", size = 361445, upload-time = "2025-07-01T15:55:37.483Z" }, - { url = "https://files.pythonhosted.org/packages/3b/2d/133f61cc5807c6c2fd086a46df0eb8f63a23f5df8306ff9f6d0fd168fecc/rpds_py-0.26.0-cp314-cp314t-macosx_11_0_arm64.whl", hash = "sha256:69f0c0a3df7fd3a7eec50a00396104bb9a843ea6d45fcc31c2d5243446ffd7a7", size = 347206, upload-time = "2025-07-01T15:55:38.828Z" }, - { url = "https://files.pythonhosted.org/packages/05/bf/0e8fb4c05f70273469eecf82f6ccf37248558526a45321644826555db31b/rpds_py-0.26.0-cp314-cp314t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:801a71f70f9813e82d2513c9a96532551fce1e278ec0c64610992c49c04c2dad", size = 380330, upload-time = "2025-07-01T15:55:40.175Z" }, - { url = "https://files.pythonhosted.org/packages/d4/a8/060d24185d8b24d3923322f8d0ede16df4ade226a74e747b8c7c978e3dd3/rpds_py-0.26.0-cp314-cp314t-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:df52098cde6d5e02fa75c1f6244f07971773adb4a26625edd5c18fee906fa84d", size = 392254, upload-time = "2025-07-01T15:55:42.015Z" }, - { url = "https://files.pythonhosted.org/packages/b9/7b/7c2e8a9ee3e6bc0bae26bf29f5219955ca2fbb761dca996a83f5d2f773fe/rpds_py-0.26.0-cp314-cp314t-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:9bc596b30f86dc6f0929499c9e574601679d0341a0108c25b9b358a042f51bca", size = 516094, upload-time = "2025-07-01T15:55:43.603Z" }, - { url = "https://files.pythonhosted.org/packages/75/d6/f61cafbed8ba1499b9af9f1777a2a199cd888f74a96133d8833ce5eaa9c5/rpds_py-0.26.0-cp314-cp314t-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:9dfbe56b299cf5875b68eb6f0ebaadc9cac520a1989cac0db0765abfb3709c19", size = 402889, upload-time = "2025-07-01T15:55:45.275Z" }, - { url = "https://files.pythonhosted.org/packages/92/19/c8ac0a8a8df2dd30cdec27f69298a5c13e9029500d6d76718130f5e5be10/rpds_py-0.26.0-cp314-cp314t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ac64f4b2bdb4ea622175c9ab7cf09444e412e22c0e02e906978b3b488af5fde8", size = 384301, upload-time = "2025-07-01T15:55:47.098Z" }, - { url = "https://files.pythonhosted.org/packages/41/e1/6b1859898bc292a9ce5776016c7312b672da00e25cec74d7beced1027286/rpds_py-0.26.0-cp314-cp314t-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:181ef9b6bbf9845a264f9aa45c31836e9f3c1f13be565d0d010e964c661d1e2b", size = 412891, upload-time = "2025-07-01T15:55:48.412Z" }, - { url = "https://files.pythonhosted.org/packages/ef/b9/ceb39af29913c07966a61367b3c08b4f71fad841e32c6b59a129d5974698/rpds_py-0.26.0-cp314-cp314t-musllinux_1_2_aarch64.whl", hash = "sha256:49028aa684c144ea502a8e847d23aed5e4c2ef7cadfa7d5eaafcb40864844b7a", size = 557044, upload-time = "2025-07-01T15:55:49.816Z" }, - { url = "https://files.pythonhosted.org/packages/2f/27/35637b98380731a521f8ec4f3fd94e477964f04f6b2f8f7af8a2d889a4af/rpds_py-0.26.0-cp314-cp314t-musllinux_1_2_i686.whl", hash = "sha256:e5d524d68a474a9688336045bbf76cb0def88549c1b2ad9dbfec1fb7cfbe9170", size = 585774, upload-time = "2025-07-01T15:55:51.192Z" }, - { url = "https://files.pythonhosted.org/packages/52/d9/3f0f105420fecd18551b678c9a6ce60bd23986098b252a56d35781b3e7e9/rpds_py-0.26.0-cp314-cp314t-musllinux_1_2_x86_64.whl", hash = "sha256:c1851f429b822831bd2edcbe0cfd12ee9ea77868f8d3daf267b189371671c80e", size = 554886, upload-time = "2025-07-01T15:55:52.541Z" }, - { url = "https://files.pythonhosted.org/packages/6b/c5/347c056a90dc8dd9bc240a08c527315008e1b5042e7a4cf4ac027be9d38a/rpds_py-0.26.0-cp314-cp314t-win32.whl", hash = "sha256:7bdb17009696214c3b66bb3590c6d62e14ac5935e53e929bcdbc5a495987a84f", size = 219027, upload-time = "2025-07-01T15:55:53.874Z" }, - { url = "https://files.pythonhosted.org/packages/75/04/5302cea1aa26d886d34cadbf2dc77d90d7737e576c0065f357b96dc7a1a6/rpds_py-0.26.0-cp314-cp314t-win_amd64.whl", hash = "sha256:f14440b9573a6f76b4ee4770c13f0b5921f71dde3b6fcb8dabbefd13b7fe05d7", size = 232821, upload-time = "2025-07-01T15:55:55.167Z" }, +version = "0.30.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/20/af/3f2f423103f1113b36230496629986e0ef7e199d2aa8392452b484b38ced/rpds_py-0.30.0.tar.gz", hash = "sha256:dd8ff7cf90014af0c0f787eea34794ebf6415242ee1d6fa91eaba725cc441e84", size = 69469, upload-time = "2025-11-30T20:24:38.837Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/03/e7/98a2f4ac921d82f33e03f3835f5bf3a4a40aa1bfdc57975e74a97b2b4bdd/rpds_py-0.30.0-cp312-cp312-macosx_10_12_x86_64.whl", hash = "sha256:a161f20d9a43006833cd7068375a94d035714d73a172b681d8881820600abfad", size = 375086, upload-time = "2025-11-30T20:22:17.93Z" }, + { url = "https://files.pythonhosted.org/packages/4d/a1/bca7fd3d452b272e13335db8d6b0b3ecde0f90ad6f16f3328c6fb150c889/rpds_py-0.30.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:6abc8880d9d036ecaafe709079969f56e876fcf107f7a8e9920ba6d5a3878d05", size = 359053, upload-time = "2025-11-30T20:22:19.297Z" }, + { url = "https://files.pythonhosted.org/packages/65/1c/ae157e83a6357eceff62ba7e52113e3ec4834a84cfe07fa4b0757a7d105f/rpds_py-0.30.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:ca28829ae5f5d569bb62a79512c842a03a12576375d5ece7d2cadf8abe96ec28", size = 390763, upload-time = "2025-11-30T20:22:21.661Z" }, + { url = "https://files.pythonhosted.org/packages/d4/36/eb2eb8515e2ad24c0bd43c3ee9cd74c33f7ca6430755ccdb240fd3144c44/rpds_py-0.30.0-cp312-cp312-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:a1010ed9524c73b94d15919ca4d41d8780980e1765babf85f9a2f90d247153dd", size = 408951, upload-time = "2025-11-30T20:22:23.408Z" }, + { url = "https://files.pythonhosted.org/packages/d6/65/ad8dc1784a331fabbd740ef6f71ce2198c7ed0890dab595adb9ea2d775a1/rpds_py-0.30.0-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:f8d1736cfb49381ba528cd5baa46f82fdc65c06e843dab24dd70b63d09121b3f", size = 514622, upload-time = "2025-11-30T20:22:25.16Z" }, + { url = "https://files.pythonhosted.org/packages/63/8e/0cfa7ae158e15e143fe03993b5bcd743a59f541f5952e1546b1ac1b5fd45/rpds_py-0.30.0-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:d948b135c4693daff7bc2dcfc4ec57237a29bd37e60c2fabf5aff2bbacf3e2f1", size = 414492, upload-time = "2025-11-30T20:22:26.505Z" }, + { url = "https://files.pythonhosted.org/packages/60/1b/6f8f29f3f995c7ffdde46a626ddccd7c63aefc0efae881dc13b6e5d5bb16/rpds_py-0.30.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:47f236970bccb2233267d89173d3ad2703cd36a0e2a6e92d0560d333871a3d23", size = 394080, upload-time = "2025-11-30T20:22:27.934Z" }, + { url = "https://files.pythonhosted.org/packages/6d/d5/a266341051a7a3ca2f4b750a3aa4abc986378431fc2da508c5034d081b70/rpds_py-0.30.0-cp312-cp312-manylinux_2_31_riscv64.whl", hash = "sha256:2e6ecb5a5bcacf59c3f912155044479af1d0b6681280048b338b28e364aca1f6", size = 408680, upload-time = "2025-11-30T20:22:29.341Z" }, + { url = "https://files.pythonhosted.org/packages/10/3b/71b725851df9ab7a7a4e33cf36d241933da66040d195a84781f49c50490c/rpds_py-0.30.0-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:a8fa71a2e078c527c3e9dc9fc5a98c9db40bcc8a92b4e8858e36d329f8684b51", size = 423589, upload-time = "2025-11-30T20:22:31.469Z" }, + { url = "https://files.pythonhosted.org/packages/00/2b/e59e58c544dc9bd8bd8384ecdb8ea91f6727f0e37a7131baeff8d6f51661/rpds_py-0.30.0-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:73c67f2db7bc334e518d097c6d1e6fed021bbc9b7d678d6cc433478365d1d5f5", size = 573289, upload-time = "2025-11-30T20:22:32.997Z" }, + { url = "https://files.pythonhosted.org/packages/da/3e/a18e6f5b460893172a7d6a680e86d3b6bc87a54c1f0b03446a3c8c7b588f/rpds_py-0.30.0-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:5ba103fb455be00f3b1c2076c9d4264bfcb037c976167a6047ed82f23153f02e", size = 599737, upload-time = "2025-11-30T20:22:34.419Z" }, + { url = "https://files.pythonhosted.org/packages/5c/e2/714694e4b87b85a18e2c243614974413c60aa107fd815b8cbc42b873d1d7/rpds_py-0.30.0-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:7cee9c752c0364588353e627da8a7e808a66873672bcb5f52890c33fd965b394", size = 563120, upload-time = "2025-11-30T20:22:35.903Z" }, + { url = "https://files.pythonhosted.org/packages/6f/ab/d5d5e3bcedb0a77f4f613706b750e50a5a3ba1c15ccd3665ecc636c968fd/rpds_py-0.30.0-cp312-cp312-win32.whl", hash = "sha256:1ab5b83dbcf55acc8b08fc62b796ef672c457b17dbd7820a11d6c52c06839bdf", size = 223782, upload-time = "2025-11-30T20:22:37.271Z" }, + { url = "https://files.pythonhosted.org/packages/39/3b/f786af9957306fdc38a74cef405b7b93180f481fb48453a114bb6465744a/rpds_py-0.30.0-cp312-cp312-win_amd64.whl", hash = "sha256:a090322ca841abd453d43456ac34db46e8b05fd9b3b4ac0c78bcde8b089f959b", size = 240463, upload-time = "2025-11-30T20:22:39.021Z" }, + { url = "https://files.pythonhosted.org/packages/f3/d2/b91dc748126c1559042cfe41990deb92c4ee3e2b415f6b5234969ffaf0cc/rpds_py-0.30.0-cp312-cp312-win_arm64.whl", hash = "sha256:669b1805bd639dd2989b281be2cfd951c6121b65e729d9b843e9639ef1fd555e", size = 230868, upload-time = "2025-11-30T20:22:40.493Z" }, + { url = "https://files.pythonhosted.org/packages/ed/dc/d61221eb88ff410de3c49143407f6f3147acf2538c86f2ab7ce65ae7d5f9/rpds_py-0.30.0-cp313-cp313-macosx_10_12_x86_64.whl", hash = "sha256:f83424d738204d9770830d35290ff3273fbb02b41f919870479fab14b9d303b2", size = 374887, upload-time = "2025-11-30T20:22:41.812Z" }, + { url = "https://files.pythonhosted.org/packages/fd/32/55fb50ae104061dbc564ef15cc43c013dc4a9f4527a1f4d99baddf56fe5f/rpds_py-0.30.0-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:e7536cd91353c5273434b4e003cbda89034d67e7710eab8761fd918ec6c69cf8", size = 358904, upload-time = "2025-11-30T20:22:43.479Z" }, + { url = "https://files.pythonhosted.org/packages/58/70/faed8186300e3b9bdd138d0273109784eea2396c68458ed580f885dfe7ad/rpds_py-0.30.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:2771c6c15973347f50fece41fc447c054b7ac2ae0502388ce3b6738cd366e3d4", size = 389945, upload-time = "2025-11-30T20:22:44.819Z" }, + { url = "https://files.pythonhosted.org/packages/bd/a8/073cac3ed2c6387df38f71296d002ab43496a96b92c823e76f46b8af0543/rpds_py-0.30.0-cp313-cp313-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:0a59119fc6e3f460315fe9d08149f8102aa322299deaa5cab5b40092345c2136", size = 407783, upload-time = "2025-11-30T20:22:46.103Z" }, + { url = "https://files.pythonhosted.org/packages/77/57/5999eb8c58671f1c11eba084115e77a8899d6e694d2a18f69f0ba471ec8b/rpds_py-0.30.0-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:76fec018282b4ead0364022e3c54b60bf368b9d926877957a8624b58419169b7", size = 515021, upload-time = "2025-11-30T20:22:47.458Z" }, + { url = "https://files.pythonhosted.org/packages/e0/af/5ab4833eadc36c0a8ed2bc5c0de0493c04f6c06de223170bd0798ff98ced/rpds_py-0.30.0-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:692bef75a5525db97318e8cd061542b5a79812d711ea03dbc1f6f8dbb0c5f0d2", size = 414589, upload-time = "2025-11-30T20:22:48.872Z" }, + { url = "https://files.pythonhosted.org/packages/b7/de/f7192e12b21b9e9a68a6d0f249b4af3fdcdff8418be0767a627564afa1f1/rpds_py-0.30.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9027da1ce107104c50c81383cae773ef5c24d296dd11c99e2629dbd7967a20c6", size = 394025, upload-time = "2025-11-30T20:22:50.196Z" }, + { url = "https://files.pythonhosted.org/packages/91/c4/fc70cd0249496493500e7cc2de87504f5aa6509de1e88623431fec76d4b6/rpds_py-0.30.0-cp313-cp313-manylinux_2_31_riscv64.whl", hash = "sha256:9cf69cdda1f5968a30a359aba2f7f9aa648a9ce4b580d6826437f2b291cfc86e", size = 408895, upload-time = "2025-11-30T20:22:51.87Z" }, + { url = "https://files.pythonhosted.org/packages/58/95/d9275b05ab96556fefff73a385813eb66032e4c99f411d0795372d9abcea/rpds_py-0.30.0-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:a4796a717bf12b9da9d3ad002519a86063dcac8988b030e405704ef7d74d2d9d", size = 422799, upload-time = "2025-11-30T20:22:53.341Z" }, + { url = "https://files.pythonhosted.org/packages/06/c1/3088fc04b6624eb12a57eb814f0d4997a44b0d208d6cace713033ff1a6ba/rpds_py-0.30.0-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:5d4c2aa7c50ad4728a094ebd5eb46c452e9cb7edbfdb18f9e1221f597a73e1e7", size = 572731, upload-time = "2025-11-30T20:22:54.778Z" }, + { url = "https://files.pythonhosted.org/packages/d8/42/c612a833183b39774e8ac8fecae81263a68b9583ee343db33ab571a7ce55/rpds_py-0.30.0-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:ba81a9203d07805435eb06f536d95a266c21e5b2dfbf6517748ca40c98d19e31", size = 599027, upload-time = "2025-11-30T20:22:56.212Z" }, + { url = "https://files.pythonhosted.org/packages/5f/60/525a50f45b01d70005403ae0e25f43c0384369ad24ffe46e8d9068b50086/rpds_py-0.30.0-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:945dccface01af02675628334f7cf49c2af4c1c904748efc5cf7bbdf0b579f95", size = 563020, upload-time = "2025-11-30T20:22:58.2Z" }, + { url = "https://files.pythonhosted.org/packages/0b/5d/47c4655e9bcd5ca907148535c10e7d489044243cc9941c16ed7cd53be91d/rpds_py-0.30.0-cp313-cp313-win32.whl", hash = "sha256:b40fb160a2db369a194cb27943582b38f79fc4887291417685f3ad693c5a1d5d", size = 223139, upload-time = "2025-11-30T20:23:00.209Z" }, + { url = "https://files.pythonhosted.org/packages/f2/e1/485132437d20aa4d3e1d8b3fb5a5e65aa8139f1e097080c2a8443201742c/rpds_py-0.30.0-cp313-cp313-win_amd64.whl", hash = "sha256:806f36b1b605e2d6a72716f321f20036b9489d29c51c91f4dd29a3e3afb73b15", size = 240224, upload-time = "2025-11-30T20:23:02.008Z" }, + { url = "https://files.pythonhosted.org/packages/24/95/ffd128ed1146a153d928617b0ef673960130be0009c77d8fbf0abe306713/rpds_py-0.30.0-cp313-cp313-win_arm64.whl", hash = "sha256:d96c2086587c7c30d44f31f42eae4eac89b60dabbac18c7669be3700f13c3ce1", size = 230645, upload-time = "2025-11-30T20:23:03.43Z" }, + { url = "https://files.pythonhosted.org/packages/ff/1b/b10de890a0def2a319a2626334a7f0ae388215eb60914dbac8a3bae54435/rpds_py-0.30.0-cp313-cp313t-macosx_10_12_x86_64.whl", hash = "sha256:eb0b93f2e5c2189ee831ee43f156ed34e2a89a78a66b98cadad955972548be5a", size = 364443, upload-time = "2025-11-30T20:23:04.878Z" }, + { url = "https://files.pythonhosted.org/packages/0d/bf/27e39f5971dc4f305a4fb9c672ca06f290f7c4e261c568f3dea16a410d47/rpds_py-0.30.0-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:922e10f31f303c7c920da8981051ff6d8c1a56207dbdf330d9047f6d30b70e5e", size = 353375, upload-time = "2025-11-30T20:23:06.342Z" }, + { url = "https://files.pythonhosted.org/packages/40/58/442ada3bba6e8e6615fc00483135c14a7538d2ffac30e2d933ccf6852232/rpds_py-0.30.0-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:cdc62c8286ba9bf7f47befdcea13ea0e26bf294bda99758fd90535cbaf408000", size = 383850, upload-time = "2025-11-30T20:23:07.825Z" }, + { url = "https://files.pythonhosted.org/packages/14/14/f59b0127409a33c6ef6f5c1ebd5ad8e32d7861c9c7adfa9a624fc3889f6c/rpds_py-0.30.0-cp313-cp313t-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:47f9a91efc418b54fb8190a6b4aa7813a23fb79c51f4bb84e418f5476c38b8db", size = 392812, upload-time = "2025-11-30T20:23:09.228Z" }, + { url = "https://files.pythonhosted.org/packages/b3/66/e0be3e162ac299b3a22527e8913767d869e6cc75c46bd844aa43fb81ab62/rpds_py-0.30.0-cp313-cp313t-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:1f3587eb9b17f3789ad50824084fa6f81921bbf9a795826570bda82cb3ed91f2", size = 517841, upload-time = "2025-11-30T20:23:11.186Z" }, + { url = "https://files.pythonhosted.org/packages/3d/55/fa3b9cf31d0c963ecf1ba777f7cf4b2a2c976795ac430d24a1f43d25a6ba/rpds_py-0.30.0-cp313-cp313t-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:39c02563fc592411c2c61d26b6c5fe1e51eaa44a75aa2c8735ca88b0d9599daa", size = 408149, upload-time = "2025-11-30T20:23:12.864Z" }, + { url = "https://files.pythonhosted.org/packages/60/ca/780cf3b1a32b18c0f05c441958d3758f02544f1d613abf9488cd78876378/rpds_py-0.30.0-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:51a1234d8febafdfd33a42d97da7a43f5dcb120c1060e352a3fbc0c6d36e2083", size = 383843, upload-time = "2025-11-30T20:23:14.638Z" }, + { url = "https://files.pythonhosted.org/packages/82/86/d5f2e04f2aa6247c613da0c1dd87fcd08fa17107e858193566048a1e2f0a/rpds_py-0.30.0-cp313-cp313t-manylinux_2_31_riscv64.whl", hash = "sha256:eb2c4071ab598733724c08221091e8d80e89064cd472819285a9ab0f24bcedb9", size = 396507, upload-time = "2025-11-30T20:23:16.105Z" }, + { url = "https://files.pythonhosted.org/packages/4b/9a/453255d2f769fe44e07ea9785c8347edaf867f7026872e76c1ad9f7bed92/rpds_py-0.30.0-cp313-cp313t-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:6bdfdb946967d816e6adf9a3d8201bfad269c67efe6cefd7093ef959683c8de0", size = 414949, upload-time = "2025-11-30T20:23:17.539Z" }, + { url = "https://files.pythonhosted.org/packages/a3/31/622a86cdc0c45d6df0e9ccb6becdba5074735e7033c20e401a6d9d0e2ca0/rpds_py-0.30.0-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:c77afbd5f5250bf27bf516c7c4a016813eb2d3e116139aed0096940c5982da94", size = 565790, upload-time = "2025-11-30T20:23:19.029Z" }, + { url = "https://files.pythonhosted.org/packages/1c/5d/15bbf0fb4a3f58a3b1c67855ec1efcc4ceaef4e86644665fff03e1b66d8d/rpds_py-0.30.0-cp313-cp313t-musllinux_1_2_i686.whl", hash = "sha256:61046904275472a76c8c90c9ccee9013d70a6d0f73eecefd38c1ae7c39045a08", size = 590217, upload-time = "2025-11-30T20:23:20.885Z" }, + { url = "https://files.pythonhosted.org/packages/6d/61/21b8c41f68e60c8cc3b2e25644f0e3681926020f11d06ab0b78e3c6bbff1/rpds_py-0.30.0-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:4c5f36a861bc4b7da6516dbdf302c55313afa09b81931e8280361a4f6c9a2d27", size = 555806, upload-time = "2025-11-30T20:23:22.488Z" }, + { url = "https://files.pythonhosted.org/packages/f9/39/7e067bb06c31de48de3eb200f9fc7c58982a4d3db44b07e73963e10d3be9/rpds_py-0.30.0-cp313-cp313t-win32.whl", hash = "sha256:3d4a69de7a3e50ffc214ae16d79d8fbb0922972da0356dcf4d0fdca2878559c6", size = 211341, upload-time = "2025-11-30T20:23:24.449Z" }, + { url = "https://files.pythonhosted.org/packages/0a/4d/222ef0b46443cf4cf46764d9c630f3fe4abaa7245be9417e56e9f52b8f65/rpds_py-0.30.0-cp313-cp313t-win_amd64.whl", hash = "sha256:f14fc5df50a716f7ece6a80b6c78bb35ea2ca47c499e422aa4463455dd96d56d", size = 225768, upload-time = "2025-11-30T20:23:25.908Z" }, + { url = "https://files.pythonhosted.org/packages/86/81/dad16382ebbd3d0e0328776d8fd7ca94220e4fa0798d1dc5e7da48cb3201/rpds_py-0.30.0-cp314-cp314-macosx_10_12_x86_64.whl", hash = "sha256:68f19c879420aa08f61203801423f6cd5ac5f0ac4ac82a2368a9fcd6a9a075e0", size = 362099, upload-time = "2025-11-30T20:23:27.316Z" }, + { url = "https://files.pythonhosted.org/packages/2b/60/19f7884db5d5603edf3c6bce35408f45ad3e97e10007df0e17dd57af18f8/rpds_py-0.30.0-cp314-cp314-macosx_11_0_arm64.whl", hash = "sha256:ec7c4490c672c1a0389d319b3a9cfcd098dcdc4783991553c332a15acf7249be", size = 353192, upload-time = "2025-11-30T20:23:29.151Z" }, + { url = "https://files.pythonhosted.org/packages/bf/c4/76eb0e1e72d1a9c4703c69607cec123c29028bff28ce41588792417098ac/rpds_py-0.30.0-cp314-cp314-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f251c812357a3fed308d684a5079ddfb9d933860fc6de89f2b7ab00da481e65f", size = 384080, upload-time = "2025-11-30T20:23:30.785Z" }, + { url = "https://files.pythonhosted.org/packages/72/87/87ea665e92f3298d1b26d78814721dc39ed8d2c74b86e83348d6b48a6f31/rpds_py-0.30.0-cp314-cp314-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:ac98b175585ecf4c0348fd7b29c3864bda53b805c773cbf7bfdaffc8070c976f", size = 394841, upload-time = "2025-11-30T20:23:32.209Z" }, + { url = "https://files.pythonhosted.org/packages/77/ad/7783a89ca0587c15dcbf139b4a8364a872a25f861bdb88ed99f9b0dec985/rpds_py-0.30.0-cp314-cp314-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:3e62880792319dbeb7eb866547f2e35973289e7d5696c6e295476448f5b63c87", size = 516670, upload-time = "2025-11-30T20:23:33.742Z" }, + { url = "https://files.pythonhosted.org/packages/5b/3c/2882bdac942bd2172f3da574eab16f309ae10a3925644e969536553cb4ee/rpds_py-0.30.0-cp314-cp314-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:4e7fc54e0900ab35d041b0601431b0a0eb495f0851a0639b6ef90f7741b39a18", size = 408005, upload-time = "2025-11-30T20:23:35.253Z" }, + { url = "https://files.pythonhosted.org/packages/ce/81/9a91c0111ce1758c92516a3e44776920b579d9a7c09b2b06b642d4de3f0f/rpds_py-0.30.0-cp314-cp314-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:47e77dc9822d3ad616c3d5759ea5631a75e5809d5a28707744ef79d7a1bcfcad", size = 382112, upload-time = "2025-11-30T20:23:36.842Z" }, + { url = "https://files.pythonhosted.org/packages/cf/8e/1da49d4a107027e5fbc64daeab96a0706361a2918da10cb41769244b805d/rpds_py-0.30.0-cp314-cp314-manylinux_2_31_riscv64.whl", hash = "sha256:b4dc1a6ff022ff85ecafef7979a2c6eb423430e05f1165d6688234e62ba99a07", size = 399049, upload-time = "2025-11-30T20:23:38.343Z" }, + { url = "https://files.pythonhosted.org/packages/df/5a/7ee239b1aa48a127570ec03becbb29c9d5a9eb092febbd1699d567cae859/rpds_py-0.30.0-cp314-cp314-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:4559c972db3a360808309e06a74628b95eaccbf961c335c8fe0d590cf587456f", size = 415661, upload-time = "2025-11-30T20:23:40.263Z" }, + { url = "https://files.pythonhosted.org/packages/70/ea/caa143cf6b772f823bc7929a45da1fa83569ee49b11d18d0ada7f5ee6fd6/rpds_py-0.30.0-cp314-cp314-musllinux_1_2_aarch64.whl", hash = "sha256:0ed177ed9bded28f8deb6ab40c183cd1192aa0de40c12f38be4d59cd33cb5c65", size = 565606, upload-time = "2025-11-30T20:23:42.186Z" }, + { url = "https://files.pythonhosted.org/packages/64/91/ac20ba2d69303f961ad8cf55bf7dbdb4763f627291ba3d0d7d67333cced9/rpds_py-0.30.0-cp314-cp314-musllinux_1_2_i686.whl", hash = "sha256:ad1fa8db769b76ea911cb4e10f049d80bf518c104f15b3edb2371cc65375c46f", size = 591126, upload-time = "2025-11-30T20:23:44.086Z" }, + { url = "https://files.pythonhosted.org/packages/21/20/7ff5f3c8b00c8a95f75985128c26ba44503fb35b8e0259d812766ea966c7/rpds_py-0.30.0-cp314-cp314-musllinux_1_2_x86_64.whl", hash = "sha256:46e83c697b1f1c72b50e5ee5adb4353eef7406fb3f2043d64c33f20ad1c2fc53", size = 553371, upload-time = "2025-11-30T20:23:46.004Z" }, + { url = "https://files.pythonhosted.org/packages/72/c7/81dadd7b27c8ee391c132a6b192111ca58d866577ce2d9b0ca157552cce0/rpds_py-0.30.0-cp314-cp314-win32.whl", hash = "sha256:ee454b2a007d57363c2dfd5b6ca4a5d7e2c518938f8ed3b706e37e5d470801ed", size = 215298, upload-time = "2025-11-30T20:23:47.696Z" }, + { url = "https://files.pythonhosted.org/packages/3e/d2/1aaac33287e8cfb07aab2e6b8ac1deca62f6f65411344f1433c55e6f3eb8/rpds_py-0.30.0-cp314-cp314-win_amd64.whl", hash = "sha256:95f0802447ac2d10bcc69f6dc28fe95fdf17940367b21d34e34c737870758950", size = 228604, upload-time = "2025-11-30T20:23:49.501Z" }, + { url = "https://files.pythonhosted.org/packages/e8/95/ab005315818cc519ad074cb7784dae60d939163108bd2b394e60dc7b5461/rpds_py-0.30.0-cp314-cp314-win_arm64.whl", hash = "sha256:613aa4771c99f03346e54c3f038e4cc574ac09a3ddfb0e8878487335e96dead6", size = 222391, upload-time = "2025-11-30T20:23:50.96Z" }, + { url = "https://files.pythonhosted.org/packages/9e/68/154fe0194d83b973cdedcdcc88947a2752411165930182ae41d983dcefa6/rpds_py-0.30.0-cp314-cp314t-macosx_10_12_x86_64.whl", hash = "sha256:7e6ecfcb62edfd632e56983964e6884851786443739dbfe3582947e87274f7cb", size = 364868, upload-time = "2025-11-30T20:23:52.494Z" }, + { url = "https://files.pythonhosted.org/packages/83/69/8bbc8b07ec854d92a8b75668c24d2abcb1719ebf890f5604c61c9369a16f/rpds_py-0.30.0-cp314-cp314t-macosx_11_0_arm64.whl", hash = "sha256:a1d0bc22a7cdc173fedebb73ef81e07faef93692b8c1ad3733b67e31e1b6e1b8", size = 353747, upload-time = "2025-11-30T20:23:54.036Z" }, + { url = "https://files.pythonhosted.org/packages/ab/00/ba2e50183dbd9abcce9497fa5149c62b4ff3e22d338a30d690f9af970561/rpds_py-0.30.0-cp314-cp314t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:0d08f00679177226c4cb8c5265012eea897c8ca3b93f429e546600c971bcbae7", size = 383795, upload-time = "2025-11-30T20:23:55.556Z" }, + { url = "https://files.pythonhosted.org/packages/05/6f/86f0272b84926bcb0e4c972262f54223e8ecc556b3224d281e6598fc9268/rpds_py-0.30.0-cp314-cp314t-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:5965af57d5848192c13534f90f9dd16464f3c37aaf166cc1da1cae1fd5a34898", size = 393330, upload-time = "2025-11-30T20:23:57.033Z" }, + { url = "https://files.pythonhosted.org/packages/cb/e9/0e02bb2e6dc63d212641da45df2b0bf29699d01715913e0d0f017ee29438/rpds_py-0.30.0-cp314-cp314t-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:9a4e86e34e9ab6b667c27f3211ca48f73dba7cd3d90f8d5b11be56e5dbc3fb4e", size = 518194, upload-time = "2025-11-30T20:23:58.637Z" }, + { url = "https://files.pythonhosted.org/packages/ee/ca/be7bca14cf21513bdf9c0606aba17d1f389ea2b6987035eb4f62bd923f25/rpds_py-0.30.0-cp314-cp314t-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:e5d3e6b26f2c785d65cc25ef1e5267ccbe1b069c5c21b8cc724efee290554419", size = 408340, upload-time = "2025-11-30T20:24:00.2Z" }, + { url = "https://files.pythonhosted.org/packages/c2/c7/736e00ebf39ed81d75544c0da6ef7b0998f8201b369acf842f9a90dc8fce/rpds_py-0.30.0-cp314-cp314t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:626a7433c34566535b6e56a1b39a7b17ba961e97ce3b80ec62e6f1312c025551", size = 383765, upload-time = "2025-11-30T20:24:01.759Z" }, + { url = "https://files.pythonhosted.org/packages/4a/3f/da50dfde9956aaf365c4adc9533b100008ed31aea635f2b8d7b627e25b49/rpds_py-0.30.0-cp314-cp314t-manylinux_2_31_riscv64.whl", hash = "sha256:acd7eb3f4471577b9b5a41baf02a978e8bdeb08b4b355273994f8b87032000a8", size = 396834, upload-time = "2025-11-30T20:24:03.687Z" }, + { url = "https://files.pythonhosted.org/packages/4e/00/34bcc2565b6020eab2623349efbdec810676ad571995911f1abdae62a3a0/rpds_py-0.30.0-cp314-cp314t-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:fe5fa731a1fa8a0a56b0977413f8cacac1768dad38d16b3a296712709476fbd5", size = 415470, upload-time = "2025-11-30T20:24:05.232Z" }, + { url = "https://files.pythonhosted.org/packages/8c/28/882e72b5b3e6f718d5453bd4d0d9cf8df36fddeb4ddbbab17869d5868616/rpds_py-0.30.0-cp314-cp314t-musllinux_1_2_aarch64.whl", hash = "sha256:74a3243a411126362712ee1524dfc90c650a503502f135d54d1b352bd01f2404", size = 565630, upload-time = "2025-11-30T20:24:06.878Z" }, + { url = "https://files.pythonhosted.org/packages/3b/97/04a65539c17692de5b85c6e293520fd01317fd878ea1995f0367d4532fb1/rpds_py-0.30.0-cp314-cp314t-musllinux_1_2_i686.whl", hash = "sha256:3e8eeb0544f2eb0d2581774be4c3410356eba189529a6b3e36bbbf9696175856", size = 591148, upload-time = "2025-11-30T20:24:08.445Z" }, + { url = "https://files.pythonhosted.org/packages/85/70/92482ccffb96f5441aab93e26c4d66489eb599efdcf96fad90c14bbfb976/rpds_py-0.30.0-cp314-cp314t-musllinux_1_2_x86_64.whl", hash = "sha256:dbd936cde57abfee19ab3213cf9c26be06d60750e60a8e4dd85d1ab12c8b1f40", size = 556030, upload-time = "2025-11-30T20:24:10.956Z" }, + { url = "https://files.pythonhosted.org/packages/20/53/7c7e784abfa500a2b6b583b147ee4bb5a2b3747a9166bab52fec4b5b5e7d/rpds_py-0.30.0-cp314-cp314t-win32.whl", hash = "sha256:dc824125c72246d924f7f796b4f63c1e9dc810c7d9e2355864b3c3a73d59ade0", size = 211570, upload-time = "2025-11-30T20:24:12.735Z" }, + { url = "https://files.pythonhosted.org/packages/d0/02/fa464cdfbe6b26e0600b62c528b72d8608f5cc49f96b8d6e38c95d60c676/rpds_py-0.30.0-cp314-cp314t-win_amd64.whl", hash = "sha256:27f4b0e92de5bfbc6f86e43959e6edd1425c33b5e69aab0984a72047f2bcf1e3", size = 226532, upload-time = "2025-11-30T20:24:14.634Z" }, ] [[package]] @@ -2070,28 +2436,40 @@ wheels = [ [[package]] name = "ruamel-yaml-clib" -version = "0.2.12" -source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/20/84/80203abff8ea4993a87d823a5f632e4d92831ef75d404c9fc78d0176d2b5/ruamel.yaml.clib-0.2.12.tar.gz", hash = "sha256:6c8fbb13ec503f99a91901ab46e0b07ae7941cd527393187039aec586fdfd36f", size = 225315, upload-time = "2024-10-20T10:10:56.22Z" } -wheels = [ - { url = "https://files.pythonhosted.org/packages/48/41/e7a405afbdc26af961678474a55373e1b323605a4f5e2ddd4a80ea80f628/ruamel.yaml.clib-0.2.12-cp312-cp312-macosx_14_0_arm64.whl", hash = "sha256:20b0f8dc160ba83b6dcc0e256846e1a02d044e13f7ea74a3d1d56ede4e48c632", size = 133433, upload-time = "2024-10-20T10:12:55.657Z" }, - { url = "https://files.pythonhosted.org/packages/ec/b0/b850385604334c2ce90e3ee1013bd911aedf058a934905863a6ea95e9eb4/ruamel.yaml.clib-0.2.12-cp312-cp312-manylinux2014_aarch64.whl", hash = "sha256:943f32bc9dedb3abff9879edc134901df92cfce2c3d5c9348f172f62eb2d771d", size = 647362, upload-time = "2024-10-20T10:12:57.155Z" }, - { url = "https://files.pythonhosted.org/packages/44/d0/3f68a86e006448fb6c005aee66565b9eb89014a70c491d70c08de597f8e4/ruamel.yaml.clib-0.2.12-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:95c3829bb364fdb8e0332c9931ecf57d9be3519241323c5274bd82f709cebc0c", size = 754118, upload-time = "2024-10-20T10:12:58.501Z" }, - { url = "https://files.pythonhosted.org/packages/52/a9/d39f3c5ada0a3bb2870d7db41901125dbe2434fa4f12ca8c5b83a42d7c53/ruamel.yaml.clib-0.2.12-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:749c16fcc4a2b09f28843cda5a193e0283e47454b63ec4b81eaa2242f50e4ccd", size = 706497, upload-time = "2024-10-20T10:13:00.211Z" }, - { url = "https://files.pythonhosted.org/packages/b0/fa/097e38135dadd9ac25aecf2a54be17ddf6e4c23e43d538492a90ab3d71c6/ruamel.yaml.clib-0.2.12-cp312-cp312-musllinux_1_1_i686.whl", hash = "sha256:bf165fef1f223beae7333275156ab2022cffe255dcc51c27f066b4370da81e31", size = 698042, upload-time = "2024-10-21T11:26:46.038Z" }, - { url = "https://files.pythonhosted.org/packages/ec/d5/a659ca6f503b9379b930f13bc6b130c9f176469b73b9834296822a83a132/ruamel.yaml.clib-0.2.12-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:32621c177bbf782ca5a18ba4d7af0f1082a3f6e517ac2a18b3974d4edf349680", size = 745831, upload-time = "2024-10-21T11:26:47.487Z" }, - { url = "https://files.pythonhosted.org/packages/db/5d/36619b61ffa2429eeaefaab4f3374666adf36ad8ac6330d855848d7d36fd/ruamel.yaml.clib-0.2.12-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:b82a7c94a498853aa0b272fd5bc67f29008da798d4f93a2f9f289feb8426a58d", size = 715692, upload-time = "2024-12-11T19:58:17.252Z" }, - { url = "https://files.pythonhosted.org/packages/b1/82/85cb92f15a4231c89b95dfe08b09eb6adca929ef7df7e17ab59902b6f589/ruamel.yaml.clib-0.2.12-cp312-cp312-win32.whl", hash = "sha256:e8c4ebfcfd57177b572e2040777b8abc537cdef58a2120e830124946aa9b42c5", size = 98777, upload-time = "2024-10-20T10:13:01.395Z" }, - { url = "https://files.pythonhosted.org/packages/d7/8f/c3654f6f1ddb75daf3922c3d8fc6005b1ab56671ad56ffb874d908bfa668/ruamel.yaml.clib-0.2.12-cp312-cp312-win_amd64.whl", hash = "sha256:0467c5965282c62203273b838ae77c0d29d7638c8a4e3a1c8bdd3602c10904e4", size = 115523, upload-time = "2024-10-20T10:13:02.768Z" }, - { url = "https://files.pythonhosted.org/packages/29/00/4864119668d71a5fa45678f380b5923ff410701565821925c69780356ffa/ruamel.yaml.clib-0.2.12-cp313-cp313-macosx_14_0_arm64.whl", hash = "sha256:4c8c5d82f50bb53986a5e02d1b3092b03622c02c2eb78e29bec33fd9593bae1a", size = 132011, upload-time = "2024-10-20T10:13:04.377Z" }, - { url = "https://files.pythonhosted.org/packages/7f/5e/212f473a93ae78c669ffa0cb051e3fee1139cb2d385d2ae1653d64281507/ruamel.yaml.clib-0.2.12-cp313-cp313-manylinux2014_aarch64.whl", hash = "sha256:e7e3736715fbf53e9be2a79eb4db68e4ed857017344d697e8b9749444ae57475", size = 642488, upload-time = "2024-10-20T10:13:05.906Z" }, - { url = "https://files.pythonhosted.org/packages/1f/8f/ecfbe2123ade605c49ef769788f79c38ddb1c8fa81e01f4dbf5cf1a44b16/ruamel.yaml.clib-0.2.12-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:0b7e75b4965e1d4690e93021adfcecccbca7d61c7bddd8e22406ef2ff20d74ef", size = 745066, upload-time = "2024-10-20T10:13:07.26Z" }, - { url = "https://files.pythonhosted.org/packages/e2/a9/28f60726d29dfc01b8decdb385de4ced2ced9faeb37a847bd5cf26836815/ruamel.yaml.clib-0.2.12-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:96777d473c05ee3e5e3c3e999f5d23c6f4ec5b0c38c098b3a5229085f74236c6", size = 701785, upload-time = "2024-10-20T10:13:08.504Z" }, - { url = "https://files.pythonhosted.org/packages/84/7e/8e7ec45920daa7f76046578e4f677a3215fe8f18ee30a9cb7627a19d9b4c/ruamel.yaml.clib-0.2.12-cp313-cp313-musllinux_1_1_i686.whl", hash = "sha256:3bc2a80e6420ca8b7d3590791e2dfc709c88ab9152c00eeb511c9875ce5778bf", size = 693017, upload-time = "2024-10-21T11:26:48.866Z" }, - { url = "https://files.pythonhosted.org/packages/c5/b3/d650eaade4ca225f02a648321e1ab835b9d361c60d51150bac49063b83fa/ruamel.yaml.clib-0.2.12-cp313-cp313-musllinux_1_1_x86_64.whl", hash = "sha256:e188d2699864c11c36cdfdada94d781fd5d6b0071cd9c427bceb08ad3d7c70e1", size = 741270, upload-time = "2024-10-21T11:26:50.213Z" }, - { url = "https://files.pythonhosted.org/packages/87/b8/01c29b924dcbbed75cc45b30c30d565d763b9c4d540545a0eeecffb8f09c/ruamel.yaml.clib-0.2.12-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:4f6f3eac23941b32afccc23081e1f50612bdbe4e982012ef4f5797986828cd01", size = 709059, upload-time = "2024-12-11T19:58:18.846Z" }, - { url = "https://files.pythonhosted.org/packages/30/8c/ed73f047a73638257aa9377ad356bea4d96125b305c34a28766f4445cc0f/ruamel.yaml.clib-0.2.12-cp313-cp313-win32.whl", hash = "sha256:6442cb36270b3afb1b4951f060eccca1ce49f3d087ca1ca4563a6eb479cb3de6", size = 98583, upload-time = "2024-10-20T10:13:09.658Z" }, - { url = "https://files.pythonhosted.org/packages/b0/85/e8e751d8791564dd333d5d9a4eab0a7a115f7e349595417fd50ecae3395c/ruamel.yaml.clib-0.2.12-cp313-cp313-win_amd64.whl", hash = "sha256:e5b8daf27af0b90da7bb903a876477a9e6d7270be6146906b276605997c7e9a3", size = 115190, upload-time = "2024-10-20T10:13:10.66Z" }, +version = "0.2.15" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/ea/97/60fda20e2fb54b83a61ae14648b0817c8f5d84a3821e40bfbdae1437026a/ruamel_yaml_clib-0.2.15.tar.gz", hash = "sha256:46e4cc8c43ef6a94885f72512094e482114a8a706d3c555a34ed4b0d20200600", size = 225794, upload-time = "2025-11-16T16:12:59.761Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/72/4b/5fde11a0722d676e469d3d6f78c6a17591b9c7e0072ca359801c4bd17eee/ruamel_yaml_clib-0.2.15-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:cb15a2e2a90c8475df45c0949793af1ff413acfb0a716b8b94e488ea95ce7cff", size = 149088, upload-time = "2025-11-16T16:13:22.836Z" }, + { url = "https://files.pythonhosted.org/packages/85/82/4d08ac65ecf0ef3b046421985e66301a242804eb9a62c93ca3437dc94ee0/ruamel_yaml_clib-0.2.15-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:64da03cbe93c1e91af133f5bec37fd24d0d4ba2418eaf970d7166b0a26a148a2", size = 134553, upload-time = "2025-11-16T16:13:24.151Z" }, + { url = "https://files.pythonhosted.org/packages/b9/cb/22366d68b280e281a932403b76da7a988108287adff2bfa5ce881200107a/ruamel_yaml_clib-0.2.15-cp312-cp312-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl", hash = "sha256:f6d3655e95a80325b84c4e14c080b2470fe4f33b6846f288379ce36154993fb1", size = 737468, upload-time = "2025-11-16T20:22:47.335Z" }, + { url = "https://files.pythonhosted.org/packages/71/73/81230babf8c9e33770d43ed9056f603f6f5f9665aea4177a2c30ae48e3f3/ruamel_yaml_clib-0.2.15-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:71845d377c7a47afc6592aacfea738cc8a7e876d586dfba814501d8c53c1ba60", size = 753349, upload-time = "2025-11-16T16:13:26.269Z" }, + { url = "https://files.pythonhosted.org/packages/61/62/150c841f24cda9e30f588ef396ed83f64cfdc13b92d2f925bb96df337ba9/ruamel_yaml_clib-0.2.15-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:11e5499db1ccbc7f4b41f0565e4f799d863ea720e01d3e99fa0b7b5fcd7802c9", size = 788211, upload-time = "2025-11-16T16:13:27.441Z" }, + { url = "https://files.pythonhosted.org/packages/30/93/e79bd9cbecc3267499d9ead919bd61f7ddf55d793fb5ef2b1d7d92444f35/ruamel_yaml_clib-0.2.15-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:4b293a37dc97e2b1e8a1aec62792d1e52027087c8eea4fc7b5abd2bdafdd6642", size = 743203, upload-time = "2025-11-16T16:13:28.671Z" }, + { url = "https://files.pythonhosted.org/packages/8d/06/1eb640065c3a27ce92d76157f8efddb184bd484ed2639b712396a20d6dce/ruamel_yaml_clib-0.2.15-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:512571ad41bba04eac7268fe33f7f4742210ca26a81fe0c75357fa682636c690", size = 747292, upload-time = "2025-11-16T20:22:48.584Z" }, + { url = "https://files.pythonhosted.org/packages/a5/21/ee353e882350beab65fcc47a91b6bdc512cace4358ee327af2962892ff16/ruamel_yaml_clib-0.2.15-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:e5e9f630c73a490b758bf14d859a39f375e6999aea5ddd2e2e9da89b9953486a", size = 771624, upload-time = "2025-11-16T16:13:29.853Z" }, + { url = "https://files.pythonhosted.org/packages/57/34/cc1b94057aa867c963ecf9ea92ac59198ec2ee3a8d22a126af0b4d4be712/ruamel_yaml_clib-0.2.15-cp312-cp312-win32.whl", hash = "sha256:f4421ab780c37210a07d138e56dd4b51f8642187cdfb433eb687fe8c11de0144", size = 100342, upload-time = "2025-11-16T16:13:31.067Z" }, + { url = "https://files.pythonhosted.org/packages/b3/e5/8925a4208f131b218f9a7e459c0d6fcac8324ae35da269cb437894576366/ruamel_yaml_clib-0.2.15-cp312-cp312-win_amd64.whl", hash = "sha256:2b216904750889133d9222b7b873c199d48ecbb12912aca78970f84a5aa1a4bc", size = 119013, upload-time = "2025-11-16T16:13:32.164Z" }, + { url = "https://files.pythonhosted.org/packages/17/5e/2f970ce4c573dc30c2f95825f2691c96d55560268ddc67603dc6ea2dd08e/ruamel_yaml_clib-0.2.15-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:4dcec721fddbb62e60c2801ba08c87010bd6b700054a09998c4d09c08147b8fb", size = 147450, upload-time = "2025-11-16T16:13:33.542Z" }, + { url = "https://files.pythonhosted.org/packages/d6/03/a1baa5b94f71383913f21b96172fb3a2eb5576a4637729adbf7cd9f797f8/ruamel_yaml_clib-0.2.15-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:65f48245279f9bb301d1276f9679b82e4c080a1ae25e679f682ac62446fac471", size = 133139, upload-time = "2025-11-16T16:13:34.587Z" }, + { url = "https://files.pythonhosted.org/packages/dc/19/40d676802390f85784235a05788fd28940923382e3f8b943d25febbb98b7/ruamel_yaml_clib-0.2.15-cp313-cp313-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl", hash = "sha256:46895c17ead5e22bea5e576f1db7e41cb273e8d062c04a6a49013d9f60996c25", size = 731474, upload-time = "2025-11-16T20:22:49.934Z" }, + { url = "https://files.pythonhosted.org/packages/ce/bb/6ef5abfa43b48dd55c30d53e997f8f978722f02add61efba31380d73e42e/ruamel_yaml_clib-0.2.15-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:3eb199178b08956e5be6288ee0b05b2fb0b5c1f309725ad25d9c6ea7e27f962a", size = 748047, upload-time = "2025-11-16T16:13:35.633Z" }, + { url = "https://files.pythonhosted.org/packages/ff/5d/e4f84c9c448613e12bd62e90b23aa127ea4c46b697f3d760acc32cb94f25/ruamel_yaml_clib-0.2.15-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:4d1032919280ebc04a80e4fb1e93f7a738129857eaec9448310e638c8bccefcf", size = 782129, upload-time = "2025-11-16T16:13:36.781Z" }, + { url = "https://files.pythonhosted.org/packages/de/4b/e98086e88f76c00c88a6bcf15eae27a1454f661a9eb72b111e6bbb69024d/ruamel_yaml_clib-0.2.15-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:ab0df0648d86a7ecbd9c632e8f8d6b21bb21b5fc9d9e095c796cacf32a728d2d", size = 736848, upload-time = "2025-11-16T16:13:37.952Z" }, + { url = "https://files.pythonhosted.org/packages/0c/5c/5964fcd1fd9acc53b7a3a5d9a05ea4f95ead9495d980003a557deb9769c7/ruamel_yaml_clib-0.2.15-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:331fb180858dd8534f0e61aa243b944f25e73a4dae9962bd44c46d1761126bbf", size = 741630, upload-time = "2025-11-16T20:22:51.718Z" }, + { url = "https://files.pythonhosted.org/packages/07/1e/99660f5a30fceb58494598e7d15df883a07292346ef5696f0c0ae5dee8c6/ruamel_yaml_clib-0.2.15-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:fd4c928ddf6bce586285daa6d90680b9c291cfd045fc40aad34e445d57b1bf51", size = 766619, upload-time = "2025-11-16T16:13:39.178Z" }, + { url = "https://files.pythonhosted.org/packages/36/2f/fa0344a9327b58b54970e56a27b32416ffbcfe4dcc0700605516708579b2/ruamel_yaml_clib-0.2.15-cp313-cp313-win32.whl", hash = "sha256:bf0846d629e160223805db9fe8cc7aec16aaa11a07310c50c8c7164efa440aec", size = 100171, upload-time = "2025-11-16T16:13:40.456Z" }, + { url = "https://files.pythonhosted.org/packages/06/c4/c124fbcef0684fcf3c9b72374c2a8c35c94464d8694c50f37eef27f5a145/ruamel_yaml_clib-0.2.15-cp313-cp313-win_amd64.whl", hash = "sha256:45702dfbea1420ba3450bb3dd9a80b33f0badd57539c6aac09f42584303e0db6", size = 118845, upload-time = "2025-11-16T16:13:41.481Z" }, + { url = "https://files.pythonhosted.org/packages/3e/bd/ab8459c8bb759c14a146990bf07f632c1cbec0910d4853feeee4be2ab8bb/ruamel_yaml_clib-0.2.15-cp314-cp314-macosx_10_15_x86_64.whl", hash = "sha256:753faf20b3a5906faf1fc50e4ddb8c074cb9b251e00b14c18b28492f933ac8ef", size = 147248, upload-time = "2025-11-16T16:13:42.872Z" }, + { url = "https://files.pythonhosted.org/packages/69/f2/c4cec0a30f1955510fde498aac451d2e52b24afdbcb00204d3a951b772c3/ruamel_yaml_clib-0.2.15-cp314-cp314-macosx_11_0_arm64.whl", hash = "sha256:480894aee0b29752560a9de46c0e5f84a82602f2bc5c6cde8db9a345319acfdf", size = 133764, upload-time = "2025-11-16T16:13:43.932Z" }, + { url = "https://files.pythonhosted.org/packages/82/c7/2480d062281385a2ea4f7cc9476712446e0c548cd74090bff92b4b49e898/ruamel_yaml_clib-0.2.15-cp314-cp314-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl", hash = "sha256:4d3b58ab2454b4747442ac76fab66739c72b1e2bb9bd173d7694b9f9dbc9c000", size = 730537, upload-time = "2025-11-16T20:22:52.918Z" }, + { url = "https://files.pythonhosted.org/packages/75/08/e365ee305367559f57ba6179d836ecc3d31c7d3fdff2a40ebf6c32823a1f/ruamel_yaml_clib-0.2.15-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:bfd309b316228acecfa30670c3887dcedf9b7a44ea39e2101e75d2654522acd4", size = 746944, upload-time = "2025-11-16T16:13:45.338Z" }, + { url = "https://files.pythonhosted.org/packages/a1/5c/8b56b08db91e569d0a4fbfa3e492ed2026081bdd7e892f63ba1c88a2f548/ruamel_yaml_clib-0.2.15-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:2812ff359ec1f30129b62372e5f22a52936fac13d5d21e70373dbca5d64bb97c", size = 778249, upload-time = "2025-11-16T16:13:46.871Z" }, + { url = "https://files.pythonhosted.org/packages/6a/1d/70dbda370bd0e1a92942754c873bd28f513da6198127d1736fa98bb2a16f/ruamel_yaml_clib-0.2.15-cp314-cp314-musllinux_1_2_aarch64.whl", hash = "sha256:7e74ea87307303ba91073b63e67f2c667e93f05a8c63079ee5b7a5c8d0d7b043", size = 737140, upload-time = "2025-11-16T16:13:48.349Z" }, + { url = "https://files.pythonhosted.org/packages/5b/87/822d95874216922e1120afb9d3fafa795a18fdd0c444f5c4c382f6dac761/ruamel_yaml_clib-0.2.15-cp314-cp314-musllinux_1_2_i686.whl", hash = "sha256:713cd68af9dfbe0bb588e144a61aad8dcc00ef92a82d2e87183ca662d242f524", size = 741070, upload-time = "2025-11-16T20:22:54.151Z" }, + { url = "https://files.pythonhosted.org/packages/b9/17/4e01a602693b572149f92c983c1f25bd608df02c3f5cf50fd1f94e124a59/ruamel_yaml_clib-0.2.15-cp314-cp314-musllinux_1_2_x86_64.whl", hash = "sha256:542d77b72786a35563f97069b9379ce762944e67055bea293480f7734b2c7e5e", size = 765882, upload-time = "2025-11-16T16:13:49.526Z" }, + { url = "https://files.pythonhosted.org/packages/9f/17/7999399081d39ebb79e807314de6b611e1d1374458924eb2a489c01fc5ad/ruamel_yaml_clib-0.2.15-cp314-cp314-win32.whl", hash = "sha256:424ead8cef3939d690c4b5c85ef5b52155a231ff8b252961b6516ed7cf05f6aa", size = 102567, upload-time = "2025-11-16T16:13:50.78Z" }, + { url = "https://files.pythonhosted.org/packages/d2/67/be582a7370fdc9e6846c5be4888a530dcadd055eef5b932e0e85c33c7d73/ruamel_yaml_clib-0.2.15-cp314-cp314-win_amd64.whl", hash = "sha256:ac9b8d5fa4bb7fd2917ab5027f60d4234345fd366fe39aa711d5dca090aa1467", size = 122847, upload-time = "2025-11-16T16:13:51.807Z" }, ] [[package]] @@ -2122,12 +2500,12 @@ wheels = [ ] [[package]] -name = "sniffio" -version = "1.3.1" +name = "smmap" +version = "5.0.2" source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/a2/87/a6771e1546d97e7e041b6ae58d80074f81b7d5121207425c964ddf5cfdbd/sniffio-1.3.1.tar.gz", hash = "sha256:f4324edc670a0f49750a81b895f35c3adb843cca46f0530f79fc1babb23789dc", size = 20372, upload-time = "2024-02-25T23:20:04.057Z" } +sdist = { url = "https://files.pythonhosted.org/packages/44/cd/a040c4b3119bbe532e5b0732286f805445375489fceaec1f48306068ee3b/smmap-5.0.2.tar.gz", hash = "sha256:26ea65a03958fa0c8a1c7e8c7a58fdc77221b8910f6be2131affade476898ad5", size = 22329, upload-time = "2025-01-02T07:14:40.909Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/e9/44/75a9c9421471a6c4805dbf2356f7c181a29c1879239abab1ea2cc8f38b40/sniffio-1.3.1-py3-none-any.whl", hash = "sha256:2f6da418d1f1e0fddd844478f41680e794e6051915791a034ff65e5f100525a2", size = 10235, upload-time = "2024-02-25T23:20:01.196Z" }, + { url = "https://files.pythonhosted.org/packages/04/be/d09147ad1ec7934636ad912901c5fd7667e1c858e19d355237db0d0cd5e4/smmap-5.0.2-py3-none-any.whl", hash = "sha256:b30115f0def7d7531d22a0fb6502488d879e75b260a9db4d0819cfb25403af5e", size = 24303, upload-time = "2025-01-02T07:14:38.724Z" }, ] [[package]] @@ -2145,7 +2523,7 @@ wheels = [ [[package]] name = "soda-core" -version = "3.5.5" +version = "3.5.6" source = { registry = "https://pypi.org/simple" } dependencies = [ { name = "antlr4-python3-runtime" }, @@ -2160,69 +2538,75 @@ dependencies = [ { name = "ruamel-yaml" }, { name = "sqlparse" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/ee/24/e31c3138e1b14f92679e9dc63dda34f5d70ec3fa66ed250d2f9545ec39e0/soda_core-3.5.5.tar.gz", hash = "sha256:972eb3e98ede29fbd0f968efd51c0840abe362f587b262f31073f651118cfc7b", size = 144112, upload-time = "2025-06-12T12:27:48.795Z" } +sdist = { url = "https://files.pythonhosted.org/packages/b5/a6/1d18be773ddf2ae415d6f03b9ee99630b2145cf4acb60b1557488239e2a1/soda_core-3.5.6.tar.gz", hash = "sha256:9cf0aa483e6c85f57e25ea5e68ef08139360dbc7f76bf7c0571c14a5427681fc", size = 144115, upload-time = "2025-09-24T10:43:43.104Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/c2/b7/48aa3ccf473688eb26fd42063d48fed877a989ff1d3ae5f0969e5c963297/soda_core-3.5.5-py3-none-any.whl", hash = "sha256:92c0f10995a0e14dca772fb2bdb1da277a04a82fdc3b52fc396eff61f69051d7", size = 197639, upload-time = "2025-06-12T12:27:47.167Z" }, + { url = "https://files.pythonhosted.org/packages/ef/2a/efdb55e006be131c43dbdb541275606a786f7a3347fa807cb8ce21b247cf/soda_core-3.5.6-py3-none-any.whl", hash = "sha256:cf1b78d6348b0a2e81dbc345e25207e8f8606c51ab310b294291a86fc20c756f", size = 197640, upload-time = "2025-09-24T10:43:41.875Z" }, ] [[package]] name = "soda-core-postgres" -version = "3.5.5" +version = "3.5.6" source = { registry = "https://pypi.org/simple" } dependencies = [ { name = "psycopg2-binary" }, { name = "soda-core" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/7f/30/b29ea8669db6b8267da0e2ee678597682bc051b6e88ca91f0d0cc4203b69/soda_core_postgres-3.5.5.tar.gz", hash = "sha256:7615e006d56dc3e57eee1a31f23dcd4d418a750cb1954afa3d58a9fecd713a6f", size = 10268, upload-time = "2025-06-12T12:28:18.268Z" } +sdist = { url = "https://files.pythonhosted.org/packages/d8/e1/18a84073440c70ff82fbd3027c1500c9c72685cfc2b31164e362850f59da/soda_core_postgres-3.5.6.tar.gz", hash = "sha256:2bba581b463af6bc0afc629fa6baedc6e0088042f4d05c4bb258df721e1fb9b8", size = 10277, upload-time = "2025-09-24T10:44:07.816Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/17/7e/5b7a4110673af32edd8841abfe1e4db48e1ccb8675eae78bc2962d894f9e/soda_core_postgres-3.5.5-py3-none-any.whl", hash = "sha256:6201aecb22b9150cc9673f7113d1ad4a236d15e04460ede5db7430437527cf6c", size = 10230, upload-time = "2025-06-12T12:28:17.464Z" }, + { url = "https://files.pythonhosted.org/packages/82/de/6bbdfa950af7eaf79f29127dd9ffd1423173634e018f356bada3f3fb4f99/soda_core_postgres-3.5.6-py3-none-any.whl", hash = "sha256:6e5ad579a020e707bb7dd0a0d6fd869bd754e588589885f77af8ea36285d0b78", size = 10230, upload-time = "2025-09-24T10:44:07.037Z" }, ] [[package]] name = "soupsieve" -version = "2.8" +version = "2.8.1" source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/6d/e6/21ccce3262dd4889aa3332e5a119a3491a95e8f60939870a3a035aabac0d/soupsieve-2.8.tar.gz", hash = "sha256:e2dd4a40a628cb5f28f6d4b0db8800b8f581b65bb380b97de22ba5ca8d72572f", size = 103472, upload-time = "2025-08-27T15:39:51.78Z" } +sdist = { url = "https://files.pythonhosted.org/packages/89/23/adf3796d740536d63a6fbda113d07e60c734b6ed5d3058d1e47fc0495e47/soupsieve-2.8.1.tar.gz", hash = "sha256:4cf733bc50fa805f5df4b8ef4740fc0e0fa6218cf3006269afd3f9d6d80fd350", size = 117856, upload-time = "2025-12-18T13:50:34.655Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/14/a0/bb38d3b76b8cae341dad93a2dd83ab7462e6dbcdd84d43f54ee60a8dc167/soupsieve-2.8-py3-none-any.whl", hash = "sha256:0cc76456a30e20f5d7f2e14a98a4ae2ee4e5abdc7c5ea0aafe795f344bc7984c", size = 36679, upload-time = "2025-08-27T15:39:50.179Z" }, + { url = "https://files.pythonhosted.org/packages/48/f3/b67d6ea49ca9154453b6d70b34ea22f3996b9fa55da105a79d8732227adc/soupsieve-2.8.1-py3-none-any.whl", hash = "sha256:a11fe2a6f3d76ab3cf2de04eb339c1be5b506a8a47f2ceb6d139803177f85434", size = 36710, upload-time = "2025-12-18T13:50:33.267Z" }, ] [[package]] name = "sqlalchemy" -version = "2.0.41" +version = "2.0.45" source = { registry = "https://pypi.org/simple" } dependencies = [ - { name = "greenlet", marker = "(python_full_version < '3.14' and platform_machine == 'AMD64') or (python_full_version < '3.14' and platform_machine == 'WIN32') or (python_full_version < '3.14' and platform_machine == 'aarch64') or (python_full_version < '3.14' and platform_machine == 'amd64') or (python_full_version < '3.14' and platform_machine == 'ppc64le') or (python_full_version < '3.14' and platform_machine == 'win32') or (python_full_version < '3.14' and platform_machine == 'x86_64')" }, + { name = "greenlet", marker = "platform_machine == 'AMD64' or platform_machine == 'WIN32' or platform_machine == 'aarch64' or platform_machine == 'amd64' or platform_machine == 'ppc64le' or platform_machine == 'win32' or platform_machine == 'x86_64'" }, { name = "typing-extensions" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/63/66/45b165c595ec89aa7dcc2c1cd222ab269bc753f1fc7a1e68f8481bd957bf/sqlalchemy-2.0.41.tar.gz", hash = "sha256:edba70118c4be3c2b1f90754d308d0b79c6fe2c0fdc52d8ddf603916f83f4db9", size = 9689424, upload-time = "2025-05-14T17:10:32.339Z" } -wheels = [ - { url = "https://files.pythonhosted.org/packages/3e/2a/f1f4e068b371154740dd10fb81afb5240d5af4aa0087b88d8b308b5429c2/sqlalchemy-2.0.41-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:81f413674d85cfd0dfcd6512e10e0f33c19c21860342a4890c3a2b59479929f9", size = 2119645, upload-time = "2025-05-14T17:55:24.854Z" }, - { url = "https://files.pythonhosted.org/packages/9b/e8/c664a7e73d36fbfc4730f8cf2bf930444ea87270f2825efbe17bf808b998/sqlalchemy-2.0.41-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:598d9ebc1e796431bbd068e41e4de4dc34312b7aa3292571bb3674a0cb415dd1", size = 2107399, upload-time = "2025-05-14T17:55:28.097Z" }, - { url = "https://files.pythonhosted.org/packages/5c/78/8a9cf6c5e7135540cb682128d091d6afa1b9e48bd049b0d691bf54114f70/sqlalchemy-2.0.41-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a104c5694dfd2d864a6f91b0956eb5d5883234119cb40010115fd45a16da5e70", size = 3293269, upload-time = "2025-05-14T17:50:38.227Z" }, - { url = "https://files.pythonhosted.org/packages/3c/35/f74add3978c20de6323fb11cb5162702670cc7a9420033befb43d8d5b7a4/sqlalchemy-2.0.41-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6145afea51ff0af7f2564a05fa95eb46f542919e6523729663a5d285ecb3cf5e", size = 3303364, upload-time = "2025-05-14T17:51:49.829Z" }, - { url = "https://files.pythonhosted.org/packages/6a/d4/c990f37f52c3f7748ebe98883e2a0f7d038108c2c5a82468d1ff3eec50b7/sqlalchemy-2.0.41-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:b46fa6eae1cd1c20e6e6f44e19984d438b6b2d8616d21d783d150df714f44078", size = 3229072, upload-time = "2025-05-14T17:50:39.774Z" }, - { url = "https://files.pythonhosted.org/packages/15/69/cab11fecc7eb64bc561011be2bd03d065b762d87add52a4ca0aca2e12904/sqlalchemy-2.0.41-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:41836fe661cc98abfae476e14ba1906220f92c4e528771a8a3ae6a151242d2ae", size = 3268074, upload-time = "2025-05-14T17:51:51.736Z" }, - { url = "https://files.pythonhosted.org/packages/5c/ca/0c19ec16858585d37767b167fc9602593f98998a68a798450558239fb04a/sqlalchemy-2.0.41-cp312-cp312-win32.whl", hash = "sha256:a8808d5cf866c781150d36a3c8eb3adccfa41a8105d031bf27e92c251e3969d6", size = 2084514, upload-time = "2025-05-14T17:55:49.915Z" }, - { url = "https://files.pythonhosted.org/packages/7f/23/4c2833d78ff3010a4e17f984c734f52b531a8c9060a50429c9d4b0211be6/sqlalchemy-2.0.41-cp312-cp312-win_amd64.whl", hash = "sha256:5b14e97886199c1f52c14629c11d90c11fbb09e9334fa7bb5f6d068d9ced0ce0", size = 2111557, upload-time = "2025-05-14T17:55:51.349Z" }, - { url = "https://files.pythonhosted.org/packages/d3/ad/2e1c6d4f235a97eeef52d0200d8ddda16f6c4dd70ae5ad88c46963440480/sqlalchemy-2.0.41-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:4eeb195cdedaf17aab6b247894ff2734dcead6c08f748e617bfe05bd5a218443", size = 2115491, upload-time = "2025-05-14T17:55:31.177Z" }, - { url = "https://files.pythonhosted.org/packages/cf/8d/be490e5db8400dacc89056f78a52d44b04fbf75e8439569d5b879623a53b/sqlalchemy-2.0.41-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:d4ae769b9c1c7757e4ccce94b0641bc203bbdf43ba7a2413ab2523d8d047d8dc", size = 2102827, upload-time = "2025-05-14T17:55:34.921Z" }, - { url = "https://files.pythonhosted.org/packages/a0/72/c97ad430f0b0e78efaf2791342e13ffeafcbb3c06242f01a3bb8fe44f65d/sqlalchemy-2.0.41-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a62448526dd9ed3e3beedc93df9bb6b55a436ed1474db31a2af13b313a70a7e1", size = 3225224, upload-time = "2025-05-14T17:50:41.418Z" }, - { url = "https://files.pythonhosted.org/packages/5e/51/5ba9ea3246ea068630acf35a6ba0d181e99f1af1afd17e159eac7e8bc2b8/sqlalchemy-2.0.41-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:dc56c9788617b8964ad02e8fcfeed4001c1f8ba91a9e1f31483c0dffb207002a", size = 3230045, upload-time = "2025-05-14T17:51:54.722Z" }, - { url = "https://files.pythonhosted.org/packages/78/2f/8c14443b2acea700c62f9b4a8bad9e49fc1b65cfb260edead71fd38e9f19/sqlalchemy-2.0.41-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:c153265408d18de4cc5ded1941dcd8315894572cddd3c58df5d5b5705b3fa28d", size = 3159357, upload-time = "2025-05-14T17:50:43.483Z" }, - { url = "https://files.pythonhosted.org/packages/fc/b2/43eacbf6ccc5276d76cea18cb7c3d73e294d6fb21f9ff8b4eef9b42bbfd5/sqlalchemy-2.0.41-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:4f67766965996e63bb46cfbf2ce5355fc32d9dd3b8ad7e536a920ff9ee422e23", size = 3197511, upload-time = "2025-05-14T17:51:57.308Z" }, - { url = "https://files.pythonhosted.org/packages/fa/2e/677c17c5d6a004c3c45334ab1dbe7b7deb834430b282b8a0f75ae220c8eb/sqlalchemy-2.0.41-cp313-cp313-win32.whl", hash = "sha256:bfc9064f6658a3d1cadeaa0ba07570b83ce6801a1314985bf98ec9b95d74e15f", size = 2082420, upload-time = "2025-05-14T17:55:52.69Z" }, - { url = "https://files.pythonhosted.org/packages/e9/61/e8c1b9b6307c57157d328dd8b8348ddc4c47ffdf1279365a13b2b98b8049/sqlalchemy-2.0.41-cp313-cp313-win_amd64.whl", hash = "sha256:82ca366a844eb551daff9d2e6e7a9e5e76d2612c8564f58db6c19a726869c1df", size = 2108329, upload-time = "2025-05-14T17:55:54.495Z" }, - { url = "https://files.pythonhosted.org/packages/1c/fc/9ba22f01b5cdacc8f5ed0d22304718d2c758fce3fd49a5372b886a86f37c/sqlalchemy-2.0.41-py3-none-any.whl", hash = "sha256:57df5dc6fdb5ed1a88a1ed2195fd31927e705cad62dedd86b46972752a80f576", size = 1911224, upload-time = "2025-05-14T17:39:42.154Z" }, +sdist = { url = "https://files.pythonhosted.org/packages/be/f9/5e4491e5ccf42f5d9cfc663741d261b3e6e1683ae7812114e7636409fcc6/sqlalchemy-2.0.45.tar.gz", hash = "sha256:1632a4bda8d2d25703fdad6363058d882541bdaaee0e5e3ddfa0cd3229efce88", size = 9869912, upload-time = "2025-12-09T21:05:16.737Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/2d/c7/1900b56ce19bff1c26f39a4ce427faec7716c81ac792bfac8b6a9f3dca93/sqlalchemy-2.0.45-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:b3ee2aac15169fb0d45822983631466d60b762085bc4535cd39e66bea362df5f", size = 3333760, upload-time = "2025-12-09T22:11:02.66Z" }, + { url = "https://files.pythonhosted.org/packages/0a/93/3be94d96bb442d0d9a60e55a6bb6e0958dd3457751c6f8502e56ef95fed0/sqlalchemy-2.0.45-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:ba547ac0b361ab4f1608afbc8432db669bd0819b3e12e29fb5fa9529a8bba81d", size = 3348268, upload-time = "2025-12-09T22:13:49.054Z" }, + { url = "https://files.pythonhosted.org/packages/48/4b/f88ded696e61513595e4a9778f9d3f2bf7332cce4eb0c7cedaabddd6687b/sqlalchemy-2.0.45-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:215f0528b914e5c75ef2559f69dca86878a3beeb0c1be7279d77f18e8d180ed4", size = 3278144, upload-time = "2025-12-09T22:11:04.14Z" }, + { url = "https://files.pythonhosted.org/packages/ed/6a/310ecb5657221f3e1bd5288ed83aa554923fb5da48d760a9f7622afeb065/sqlalchemy-2.0.45-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:107029bf4f43d076d4011f1afb74f7c3e2ea029ec82eb23d8527d5e909e97aa6", size = 3313907, upload-time = "2025-12-09T22:13:50.598Z" }, + { url = "https://files.pythonhosted.org/packages/5c/39/69c0b4051079addd57c84a5bfb34920d87456dd4c90cf7ee0df6efafc8ff/sqlalchemy-2.0.45-cp312-cp312-win32.whl", hash = "sha256:0c9f6ada57b58420a2c0277ff853abe40b9e9449f8d7d231763c6bc30f5c4953", size = 2112182, upload-time = "2025-12-09T21:39:30.824Z" }, + { url = "https://files.pythonhosted.org/packages/f7/4e/510db49dd89fc3a6e994bee51848c94c48c4a00dc905e8d0133c251f41a7/sqlalchemy-2.0.45-cp312-cp312-win_amd64.whl", hash = "sha256:8defe5737c6d2179c7997242d6473587c3beb52e557f5ef0187277009f73e5e1", size = 2139200, upload-time = "2025-12-09T21:39:32.321Z" }, + { url = "https://files.pythonhosted.org/packages/6a/c8/7cc5221b47a54edc72a0140a1efa56e0a2730eefa4058d7ed0b4c4357ff8/sqlalchemy-2.0.45-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:fe187fc31a54d7fd90352f34e8c008cf3ad5d064d08fedd3de2e8df83eb4a1cf", size = 3277082, upload-time = "2025-12-09T22:11:06.167Z" }, + { url = "https://files.pythonhosted.org/packages/0e/50/80a8d080ac7d3d321e5e5d420c9a522b0aa770ec7013ea91f9a8b7d36e4a/sqlalchemy-2.0.45-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:672c45cae53ba88e0dad74b9027dddd09ef6f441e927786b05bec75d949fbb2e", size = 3293131, upload-time = "2025-12-09T22:13:52.626Z" }, + { url = "https://files.pythonhosted.org/packages/da/4c/13dab31266fc9904f7609a5dc308a2432a066141d65b857760c3bef97e69/sqlalchemy-2.0.45-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:470daea2c1ce73910f08caf10575676a37159a6d16c4da33d0033546bddebc9b", size = 3225389, upload-time = "2025-12-09T22:11:08.093Z" }, + { url = "https://files.pythonhosted.org/packages/74/04/891b5c2e9f83589de202e7abaf24cd4e4fa59e1837d64d528829ad6cc107/sqlalchemy-2.0.45-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:9c6378449e0940476577047150fd09e242529b761dc887c9808a9a937fe990c8", size = 3266054, upload-time = "2025-12-09T22:13:54.262Z" }, + { url = "https://files.pythonhosted.org/packages/f1/24/fc59e7f71b0948cdd4cff7a286210e86b0443ef1d18a23b0d83b87e4b1f7/sqlalchemy-2.0.45-cp313-cp313-win32.whl", hash = "sha256:4b6bec67ca45bc166c8729910bd2a87f1c0407ee955df110d78948f5b5827e8a", size = 2110299, upload-time = "2025-12-09T21:39:33.486Z" }, + { url = "https://files.pythonhosted.org/packages/c0/c5/d17113020b2d43073412aeca09b60d2009442420372123b8d49cc253f8b8/sqlalchemy-2.0.45-cp313-cp313-win_amd64.whl", hash = "sha256:afbf47dc4de31fa38fd491f3705cac5307d21d4bb828a4f020ee59af412744ee", size = 2136264, upload-time = "2025-12-09T21:39:36.801Z" }, + { url = "https://files.pythonhosted.org/packages/3d/8d/bb40a5d10e7a5f2195f235c0b2f2c79b0bf6e8f00c0c223130a4fbd2db09/sqlalchemy-2.0.45-cp313-cp313t-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:83d7009f40ce619d483d26ac1b757dfe3167b39921379a8bd1b596cf02dab4a6", size = 3521998, upload-time = "2025-12-09T22:13:28.622Z" }, + { url = "https://files.pythonhosted.org/packages/75/a5/346128b0464886f036c039ea287b7332a410aa2d3fb0bb5d404cb8861635/sqlalchemy-2.0.45-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:d8a2ca754e5415cde2b656c27900b19d50ba076aa05ce66e2207623d3fe41f5a", size = 3473434, upload-time = "2025-12-09T22:13:30.188Z" }, + { url = "https://files.pythonhosted.org/packages/cc/64/4e1913772646b060b025d3fc52ce91a58967fe58957df32b455de5a12b4f/sqlalchemy-2.0.45-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:7f46ec744e7f51275582e6a24326e10c49fbdd3fc99103e01376841213028774", size = 3272404, upload-time = "2025-12-09T22:11:09.662Z" }, + { url = "https://files.pythonhosted.org/packages/b3/27/caf606ee924282fe4747ee4fd454b335a72a6e018f97eab5ff7f28199e16/sqlalchemy-2.0.45-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:883c600c345123c033c2f6caca18def08f1f7f4c3ebeb591a63b6fceffc95cce", size = 3277057, upload-time = "2025-12-09T22:13:56.213Z" }, + { url = "https://files.pythonhosted.org/packages/85/d0/3d64218c9724e91f3d1574d12eb7ff8f19f937643815d8daf792046d88ab/sqlalchemy-2.0.45-cp314-cp314-musllinux_1_2_aarch64.whl", hash = "sha256:2c0b74aa79e2deade948fe8593654c8ef4228c44ba862bb7c9585c8e0db90f33", size = 3222279, upload-time = "2025-12-09T22:11:11.1Z" }, + { url = "https://files.pythonhosted.org/packages/24/10/dd7688a81c5bc7690c2a3764d55a238c524cd1a5a19487928844cb247695/sqlalchemy-2.0.45-cp314-cp314-musllinux_1_2_x86_64.whl", hash = "sha256:8a420169cef179d4c9064365f42d779f1e5895ad26ca0c8b4c0233920973db74", size = 3244508, upload-time = "2025-12-09T22:13:57.932Z" }, + { url = "https://files.pythonhosted.org/packages/aa/41/db75756ca49f777e029968d9c9fee338c7907c563267740c6d310a8e3f60/sqlalchemy-2.0.45-cp314-cp314-win32.whl", hash = "sha256:e50dcb81a5dfe4b7b4a4aa8f338116d127cb209559124f3694c70d6cd072b68f", size = 2113204, upload-time = "2025-12-09T21:39:38.365Z" }, + { url = "https://files.pythonhosted.org/packages/89/a2/0e1590e9adb292b1d576dbcf67ff7df8cf55e56e78d2c927686d01080f4b/sqlalchemy-2.0.45-cp314-cp314-win_amd64.whl", hash = "sha256:4748601c8ea959e37e03d13dcda4a44837afcd1b21338e637f7c935b8da06177", size = 2138785, upload-time = "2025-12-09T21:39:39.503Z" }, + { url = "https://files.pythonhosted.org/packages/42/39/f05f0ed54d451156bbed0e23eb0516bcad7cbb9f18b3bf219c786371b3f0/sqlalchemy-2.0.45-cp314-cp314t-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:cd337d3526ec5298f67d6a30bbbe4ed7e5e68862f0bf6dd21d289f8d37b7d60b", size = 3522029, upload-time = "2025-12-09T22:13:32.09Z" }, + { url = "https://files.pythonhosted.org/packages/54/0f/d15398b98b65c2bce288d5ee3f7d0a81f77ab89d9456994d5c7cc8b2a9db/sqlalchemy-2.0.45-cp314-cp314t-musllinux_1_2_x86_64.whl", hash = "sha256:9a62b446b7d86a3909abbcd1cd3cc550a832f99c2bc37c5b22e1925438b9367b", size = 3475142, upload-time = "2025-12-09T22:13:33.739Z" }, + { url = "https://files.pythonhosted.org/packages/bf/e1/3ccb13c643399d22289c6a9786c1a91e3dcbb68bce4beb44926ac2c557bf/sqlalchemy-2.0.45-py3-none-any.whl", hash = "sha256:5225a288e4c8cc2308dbdd874edad6e7d0fd38eac1e9e5f23503425c8eee20d0", size = 1936672, upload-time = "2025-12-09T21:54:52.608Z" }, ] [[package]] name = "sqlglot" -version = "27.8.0" +version = "28.0.0" source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/ce/d6/dbe5a442ba5f0badf5d82f97fd4b83a7045bde563430d1bbfb90e7da5b71/sqlglot-27.8.0.tar.gz", hash = "sha256:026ca21be0106d23f67519d583a24131d27131ceb80b595efa2a59a2746f351f", size = 5418660, upload-time = "2025-08-19T11:54:29.292Z" } +sdist = { url = "https://files.pythonhosted.org/packages/52/8d/9ce5904aca760b81adf821c77a1dcf07c98f9caaa7e3b5c991c541ff89d2/sqlglot-28.0.0.tar.gz", hash = "sha256:cc9a651ef4182e61dac58aa955e5fb21845a5865c6a4d7d7b5a7857450285ad4", size = 5520798, upload-time = "2025-11-17T10:34:57.016Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/0b/29/ffa987296beffe2ae7fc83c6fd9a62166d0abc4d2d16600605a5864c7d7f/sqlglot-27.8.0-py3-none-any.whl", hash = "sha256:3961277277bc5bae459762294e160b6b7ce998e7d016f5adf8311a1d50b7a1a7", size = 501092, upload-time = "2025-08-19T11:54:27.17Z" }, + { url = "https://files.pythonhosted.org/packages/56/6d/86de134f40199105d2fee1b066741aa870b3ce75ee74018d9c8508bbb182/sqlglot-28.0.0-py3-none-any.whl", hash = "sha256:ac1778e7fa4812f4f7e5881b260632fc167b00ca4c1226868891fb15467122e4", size = 536127, upload-time = "2025-11-17T10:34:55.192Z" }, ] [package.optional-dependencies] @@ -2232,39 +2616,49 @@ rs = [ [[package]] name = "sqlglotrs" -version = "0.6.1" -source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/59/13/e77dcfd72b849a113bea7ccee79329f77751704e66560410176b1f4657f9/sqlglotrs-0.6.1.tar.gz", hash = "sha256:f638a7a544698ade8b0c992c8c67feae17bd5c2c760114ab164bd0b7dc8911e1", size = 15420, upload-time = "2025-06-04T11:35:28.831Z" } -wheels = [ - { url = "https://files.pythonhosted.org/packages/2a/0d/bcd591085619d06037878085f6d96db5e6cfe235ee597bfcb45dfc1686c7/sqlglotrs-0.6.1-cp312-cp312-macosx_10_12_x86_64.whl", hash = "sha256:f07f9dcfafbfcba1f9fa642e6408c3100061378ce998943104af233e995f1c90", size = 312362, upload-time = "2025-06-04T11:35:24.529Z" }, - { url = "https://files.pythonhosted.org/packages/f1/13/b0825b96edc0b7dc41d82e3d9997ee259a152c6800d036aba4bdbc24bdc9/sqlglotrs-0.6.1-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:5d4ac1f4b7a1c2f3aea55710af2ed1c14123534cf0678451e39dbc87dfc58a51", size = 300618, upload-time = "2025-06-04T11:35:17.924Z" }, - { url = "https://files.pythonhosted.org/packages/91/8d/950597492e3c03893f2d3bbb45a423778b1216e1d6ac59a678af1a47cc34/sqlglotrs-0.6.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:c90403de2fdea37163ffecba43f45441ea089e9e12b6859ea7c9b4527a3b1df3", size = 336609, upload-time = "2025-06-04T11:34:30.862Z" }, - { url = "https://files.pythonhosted.org/packages/34/9c/8c6a930a8ee406eac957fe96ab3571222ddb49929107f19d78ab5a3d9708/sqlglotrs-0.6.1-cp312-cp312-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:fb46c873993cecb5b5749aef10cac9d98a1dff85f92d5269a4b3148e24ae1cb5", size = 344871, upload-time = "2025-06-04T11:34:40.713Z" }, - { url = "https://files.pythonhosted.org/packages/a9/d6/0d46ccf2eeb57a1bd55518955992fa8f0b844bb23301c28973bfd1d034fb/sqlglotrs-0.6.1-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:9de48f322d9dd7ff66f34bb918210aeaa75b50375ea7370e2d42e601f52ee8f0", size = 486621, upload-time = "2025-06-04T11:34:55.968Z" }, - { url = "https://files.pythonhosted.org/packages/16/5a/11d40595c7d59ff92b991659d6b3f79c8d5f94f08bfb12efee33c256039f/sqlglotrs-0.6.1-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:e4b509de4edc574dd4477b8fc54bc3d6ce3ade4ed9e428a2a713ca4f4aa15275", size = 374838, upload-time = "2025-06-04T11:35:03.189Z" }, - { url = "https://files.pythonhosted.org/packages/1d/cd/5f54b79ed2400f148dbf6cef0419b79f93cfec63b361a98e7c715adf0a89/sqlglotrs-0.6.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:17940a78c8ae3ce754e44a307c7713f0a2c3f99fe1105f45a04d8744ea8b3af4", size = 340231, upload-time = "2025-06-04T11:35:11.279Z" }, - { url = "https://files.pythonhosted.org/packages/28/fd/137b0399fdbee040b5913502d4a6831b32ecc24ed350de8ad602e6eb7df7/sqlglotrs-0.6.1-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:7e0ece7a8fbe6ec79ffd5d27adc05490a3dd7fe3cfba99806328712e9f9c94ca", size = 365029, upload-time = "2025-06-04T11:34:48.534Z" }, - { url = "https://files.pythonhosted.org/packages/2d/cc/d404be90c60404883a33a1e5f59f104deccd8044be63d6537917cf9c6322/sqlglotrs-0.6.1-cp312-cp312-win32.whl", hash = "sha256:5ebc3fee6b22acc3bb29513d476e318354aa1b6fe28dc3e5cb40ee9deefa1ff5", size = 186143, upload-time = "2025-06-04T11:35:31.656Z" }, - { url = "https://files.pythonhosted.org/packages/d5/7d/a209b3e8e05be58127cce174be21331a221d7ec079cb4bdeecba8f03f51c/sqlglotrs-0.6.1-cp312-cp312-win_amd64.whl", hash = "sha256:91a51e1521cb70bff6f50b99e5814987d96c081c96015e0e15679763b3822573", size = 198578, upload-time = "2025-06-04T11:35:38.328Z" }, - { url = "https://files.pythonhosted.org/packages/62/3a/3fcfc7bf5be95f7f8329d8ad5e754eecf7854650b441a928bdde6ec9b3fc/sqlglotrs-0.6.1-cp313-cp313-macosx_10_12_x86_64.whl", hash = "sha256:a45be4a8bbc178f4372c921212f5ffb471480f3e4ee65e6bd787a27cfd0efea3", size = 311967, upload-time = "2025-06-04T11:35:25.624Z" }, - { url = "https://files.pythonhosted.org/packages/53/5a/3d0a8e1c7e9b5e668b65c03a11e19d187d0d29e56843097a51210df3e1b4/sqlglotrs-0.6.1-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:8e908087ccb080c880b1f6e32e46b2b62b0a47173165a430ce768ae00c080cf6", size = 300213, upload-time = "2025-06-04T11:35:19Z" }, - { url = "https://files.pythonhosted.org/packages/f3/dc/0df45233486ecbb92ba565cb7fb648a04077ead1291b80dd9180dbe80bca/sqlglotrs-0.6.1-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e73187d189c022e839bd97a07fb4182521e2da988e71b2a7f5ec8e431a5cd02d", size = 336193, upload-time = "2025-06-04T11:34:32.108Z" }, - { url = "https://files.pythonhosted.org/packages/4d/16/8e105246d8bf8a228331568844f4300c3163659af2b2408d068d6778047e/sqlglotrs-0.6.1-cp313-cp313-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:bf120d8414c8d6696d42913eea4e4d512ee9e5fa8b308597b000386953ef931a", size = 344377, upload-time = "2025-06-04T11:34:41.843Z" }, - { url = "https://files.pythonhosted.org/packages/24/19/36e941fa2579375c989c55969fc2fe79eeded574681b4a7bd33cc2d5dff4/sqlglotrs-0.6.1-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:79f3779bf183ff4834db658a8ad34d0b58ccbae4f3cea5e5439f964d65d93d5d", size = 485958, upload-time = "2025-06-04T11:34:57.043Z" }, - { url = "https://files.pythonhosted.org/packages/91/7b/33c670d01087b9132db644b1863c97c8c8482a26d37bfdb9a92de101e30f/sqlglotrs-0.6.1-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:86af5a86f8482ea1f462b120711951602ea3663129fce6392e035f3f100bbebe", size = 374500, upload-time = "2025-06-04T11:35:04.387Z" }, - { url = "https://files.pythonhosted.org/packages/b8/e6/cb32feedd4749f143a645eef8a8b17fe3396aa742633b5d76016c5d727ed/sqlglotrs-0.6.1-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:218780ffc1012702b335e94989bf3198f8157b44fab68b95ff842e2cdd73288b", size = 339537, upload-time = "2025-06-04T11:35:12.458Z" }, - { url = "https://files.pythonhosted.org/packages/bf/21/f5b07a2a48b8ba0ebd61f873eba81833cfd3542918f3db1f21595674f22a/sqlglotrs-0.6.1-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:e2e8d355e0d20bd049d7e9f90bb9eea4f26bbdd8b2d980162041be7e595dbb1a", size = 364492, upload-time = "2025-06-04T11:34:49.95Z" }, - { url = "https://files.pythonhosted.org/packages/88/3c/f605828c9b9e38eaf093237c05697d8bfa442e94bb7f3e29481f9a6063db/sqlglotrs-0.6.1-cp313-cp313-win32.whl", hash = "sha256:18e2c36e8e45a940c609cd82d795de62cb6995d7e240bc4e876f709f0fd123a1", size = 185810, upload-time = "2025-06-04T11:35:33.079Z" }, - { url = "https://files.pythonhosted.org/packages/5c/9b/2cfa9e74f411bdede6b3b645cd44b1fae8e9b53fd4f856fae9b628465483/sqlglotrs-0.6.1-cp313-cp313-win_amd64.whl", hash = "sha256:0a11d2b590e8a740d6360dc51fc6414a62f08d4599669e23e78fa0d9be281ee9", size = 198140, upload-time = "2025-06-04T11:35:39.429Z" }, +version = "0.7.3" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/87/5a/46d8efeda45be6ce1c630229455f000cafedea6129b47e6cfab39ff462f5/sqlglotrs-0.7.3.tar.gz", hash = "sha256:caadc572c8a194f99d6ba44d02f9ada0110e3d47cca3330c81f4aa608f1143eb", size = 15888, upload-time = "2025-10-13T06:33:57.322Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/23/3f/3b059058e198b2fb6612d0ddaad5431a796d7081d40b21f12273ea1b26dc/sqlglotrs-0.7.3-cp312-cp312-macosx_10_12_x86_64.whl", hash = "sha256:2e7be55bf719b5ebdc344a996b6d27b9a0ba9bae0a09462900805e2f7dc4dca5", size = 310987, upload-time = "2025-10-13T06:33:51.874Z" }, + { url = "https://files.pythonhosted.org/packages/47/b6/0058b2fe4f4813d9f3280d65ace97a637e8edd152be2a13bb1782c5c2eff/sqlglotrs-0.7.3-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:6fef415993e1843201a57916f310b49e79669db379ff38094161fa93be2ffdf2", size = 296829, upload-time = "2025-10-13T06:33:43.838Z" }, + { url = "https://files.pythonhosted.org/packages/f3/a8/35c593b03bf498876aea68ea944a7e7bb9cf648e68984f55795181c928dd/sqlglotrs-0.7.3-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e980354e576e852c53e0bb5444b04ebb6459054074bce8012cc3385dd3d116ed", size = 332313, upload-time = "2025-10-13T06:32:49.343Z" }, + { url = "https://files.pythonhosted.org/packages/e9/bc/534e21a233846d33d6b55100485bf1844d301b0b75deded5310ef9cd171f/sqlglotrs-0.7.3-cp312-cp312-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:1444b260c040cc80697956629f3fd3adece0bdb4f83bae22cd618ca3f18c4de8", size = 342309, upload-time = "2025-10-13T06:32:58.031Z" }, + { url = "https://files.pythonhosted.org/packages/71/63/1d7bd7de87f01adb43cd1710d3fd5b9d5b0b3fea160bbeadc340fe1a9132/sqlglotrs-0.7.3-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:3202c6f00145b8adb4632c1bb5071be5aa362829054653bac058dbcdbc6228e7", size = 484954, upload-time = "2025-10-13T06:33:16.697Z" }, + { url = "https://files.pythonhosted.org/packages/6f/bd/10126c9f59fb4f8fa51bf3f0ad17895b953bd09e1687986d5d9e110758c8/sqlglotrs-0.7.3-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:17ae27e895f0ed960e28e76028c84758ff00df24e598654df3b5f22de8c7fc30", size = 366874, upload-time = "2025-10-13T06:33:26.888Z" }, + { url = "https://files.pythonhosted.org/packages/a3/fa/f12a1eb9c22cdce962bafebefea58e898c19bae3d21e9b79d6e811a2951d/sqlglotrs-0.7.3-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9a36c3d55b913c09dc31572ca7d5b423e85d761f1b3c9d8f86e2a1433a2f20d5", size = 342990, upload-time = "2025-10-13T06:33:35.478Z" }, + { url = "https://files.pythonhosted.org/packages/86/1d/2bd1c8900d7a081a61a1c424785fd1a1452def751bc212630251423d80ce/sqlglotrs-0.7.3-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:94875611a2a953c06e8152b1d485f4d20ec61b72ebd848f96c04aca66b30f189", size = 362603, upload-time = "2025-10-13T06:33:07.507Z" }, + { url = "https://files.pythonhosted.org/packages/18/3a/9c176a7f9b93d78168b3d137db4704a703cb51b32edb29d231b615130b47/sqlglotrs-0.7.3-cp312-cp312-win32.whl", hash = "sha256:64a708c87d1bea1f4bdb3edf0a3e94ea1b908ed229502da93621a4a50ef20189", size = 183180, upload-time = "2025-10-13T06:34:01.017Z" }, + { url = "https://files.pythonhosted.org/packages/df/ea/37757060d3caadb22509d349087e1e16a2dcc4c1649a00d2d6b501f8ff50/sqlglotrs-0.7.3-cp312-cp312-win_amd64.whl", hash = "sha256:fe1ef1bedbb34b87dfb4e99a911026f8895ff2514b222cfd82cd08033406de2e", size = 195746, upload-time = "2025-10-13T06:34:09.478Z" }, + { url = "https://files.pythonhosted.org/packages/ce/4c/75e248ecc747384734d48ab3d7d6b7355f494deabf714a542bd98d9d9480/sqlglotrs-0.7.3-cp313-cp313-macosx_10_12_x86_64.whl", hash = "sha256:9cd58a19713eec2a078c4893f05b2d332a0df2b3ae39edb921ea75dcebe46719", size = 310607, upload-time = "2025-10-13T06:33:53.497Z" }, + { url = "https://files.pythonhosted.org/packages/52/f8/f6d6b3337f7afaa316a0a5cd0f9ed1a3e2bf259aa1bdb30ce53d3e3d3321/sqlglotrs-0.7.3-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:70a8af5808a67659d3efd6346bf0409f50abde4b7fd42e3b9370ee1c54c53271", size = 296625, upload-time = "2025-10-13T06:33:45.119Z" }, + { url = "https://files.pythonhosted.org/packages/5c/8d/5c04dacaf2e7628af20b2757679f5ef884d5d4ff3db385dd387a29b01a84/sqlglotrs-0.7.3-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:52a2b4e2316b0cf7a41e4584bdd15419d3b4802a9be3ef419b77dba7303dcea0", size = 332107, upload-time = "2025-10-13T06:32:50.907Z" }, + { url = "https://files.pythonhosted.org/packages/c4/db/9538d7b5de4ed7285bdcb6f6f0ea4d3baf31e631f91d753b4342e5998c1d/sqlglotrs-0.7.3-cp313-cp313-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:c23b4cde519619fffc18c996d80c5c4b2ada558a92517fe1a94f751d6cfd9110", size = 342032, upload-time = "2025-10-13T06:32:59.543Z" }, + { url = "https://files.pythonhosted.org/packages/3a/48/4e86adca19441fb5e461d504c840ce76c283a6232734bcbf015b5be0d198/sqlglotrs-0.7.3-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:d931e1e533121da46dfe0b1d3072bbeb2742837bf156c008063041a90e0d8cf9", size = 484916, upload-time = "2025-10-13T06:33:18.631Z" }, + { url = "https://files.pythonhosted.org/packages/e2/fe/c9c18c1315cfb48714cf96dbf333d4c9efcea8cbbbf0dcb32025e4f4b44f/sqlglotrs-0.7.3-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:2690067913e1d54c9382e7bd13eeafc2a736499d1b38e9679cc72c3e1f310f1d", size = 366568, upload-time = "2025-10-13T06:33:28.182Z" }, + { url = "https://files.pythonhosted.org/packages/3b/92/66296edad93ef8cdd9a50db81d549d0ed1f4593df33d9f97a6b9ef6b4d41/sqlglotrs-0.7.3-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:1d4a5981eebafbc005d76c3e2919ca975fffc0ff65034bc7138605243f672c12", size = 342439, upload-time = "2025-10-13T06:33:36.814Z" }, + { url = "https://files.pythonhosted.org/packages/16/15/d1e9c0b58df9f0784982cb19d5358b2329d65593988576952606e9e54e8b/sqlglotrs-0.7.3-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:df5903d4b6b941d64dc8b1426438442bcc025de4e214e368f61993ec64779c6b", size = 362181, upload-time = "2025-10-13T06:33:09.088Z" }, + { url = "https://files.pythonhosted.org/packages/2c/e7/f9c6166a0be1d9aa1f2237bdae0b8bbc86143566f8ef95edacbd0f4978cd/sqlglotrs-0.7.3-cp313-cp313-win32.whl", hash = "sha256:4c6ff125a95e0a5d98996b9d80248d270dea65239c471313d0bd5c3f7b945770", size = 183207, upload-time = "2025-10-13T06:34:02.415Z" }, + { url = "https://files.pythonhosted.org/packages/33/4d/eaa84ddd59d3d78ca50e0e5f7fa9be753783ddfeedc7500f2f6bdddd234a/sqlglotrs-0.7.3-cp313-cp313-win_amd64.whl", hash = "sha256:b816377b6506e87fbc3bf643d5c10c81f138911274b241a9fd6fa0cd88fce130", size = 195461, upload-time = "2025-10-13T06:34:10.663Z" }, + { url = "https://files.pythonhosted.org/packages/c0/49/dce5e2791c2f35e94e23f2fbeef70900c2787a3ed5077c7445d03f5c7dfc/sqlglotrs-0.7.3-cp314-cp314-macosx_10_12_x86_64.whl", hash = "sha256:824cec24e7a1d8eea6aa19aeacafa95dad54a1ff631817e108265676ef2f66b5", size = 311407, upload-time = "2025-10-13T06:33:54.818Z" }, + { url = "https://files.pythonhosted.org/packages/fb/08/198555b78acfb71743019c647cc4d76d956a6d13d0ebd6ace3a031091a6b/sqlglotrs-0.7.3-cp314-cp314-macosx_11_0_arm64.whl", hash = "sha256:8096d95aec0e63de577c16b385b479875923091fca10109224e30bff29909def", size = 297654, upload-time = "2025-10-13T06:33:46.422Z" }, + { url = "https://files.pythonhosted.org/packages/2e/72/00ac9712379da39d659f174d3bd76dfaea3720a0a59e35a859cb1f6bae61/sqlglotrs-0.7.3-cp314-cp314-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:1bba67e6ab4a98a54df45c09e468be1752aa2bec78f25c31d91c07f85216f119", size = 332656, upload-time = "2025-10-13T06:32:52.535Z" }, + { url = "https://files.pythonhosted.org/packages/fb/bb/c7eeede5e16d0f56336b62fdf96f0319df0745606456f46d1a87c1e7ac16/sqlglotrs-0.7.3-cp314-cp314-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:37e77f2d0ce562b9c559b7b162eb1af418a48d3adce22b08cc145f43abc6850a", size = 342390, upload-time = "2025-10-13T06:33:01.246Z" }, + { url = "https://files.pythonhosted.org/packages/1e/a0/9cf4a3a3224a405c7fb8973d4298226877d4d6849f842472c03be8d645b1/sqlglotrs-0.7.3-cp314-cp314-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:a4cb06fe1e2c49de7da9880162b62c3754a6164d95f09bba6180b491393c65d3", size = 487495, upload-time = "2025-10-13T06:33:19.938Z" }, + { url = "https://files.pythonhosted.org/packages/a9/3e/215b5422c72d0f3eed2c44b44bbf27b83a138839f78be644101eadaee98d/sqlglotrs-0.7.3-cp314-cp314-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:a04f7ce95ae4570a1627d2a505e06dcc42a1ef497124c52344f0d53186d9e168", size = 367201, upload-time = "2025-10-13T06:33:29.587Z" }, + { url = "https://files.pythonhosted.org/packages/02/53/4be7b5ae6c23d7cce6d45346b5e8766a64671fb21b9d8a667a28b9af89f4/sqlglotrs-0.7.3-cp314-cp314-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:14916a62ac51cbb9cce5f8a0b8c6c7eea789c2a925d3173b1649d1f6489aef89", size = 342173, upload-time = "2025-10-13T06:33:38.225Z" }, + { url = "https://files.pythonhosted.org/packages/31/f9/0d210b08a5f0c1a4d82d73d8df15b8e728129ef9880332007790b2fb2e3c/sqlglotrs-0.7.3-cp314-cp314-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:5788614a9d211b25ebe4164baf1fca3c54402141cf959edcb19958af4835b3bc", size = 362876, upload-time = "2025-10-13T06:33:10.47Z" }, + { url = "https://files.pythonhosted.org/packages/63/2a/d4bbaaec065332cca0971e246abaf25f704c1c5ec2b32c2f484202682cac/sqlglotrs-0.7.3-cp314-cp314-win32.whl", hash = "sha256:8e799e5f532d6a57df35bd505daf5a9ee7ef9df9b9b2ef45bdf22ae437f75978", size = 183364, upload-time = "2025-10-13T06:34:03.994Z" }, + { url = "https://files.pythonhosted.org/packages/6d/4d/51f72da245171c0436901e1b2aac286909e189015d3927e7521a6498dedd/sqlglotrs-0.7.3-cp314-cp314-win_amd64.whl", hash = "sha256:5a29b0f057925d506456d681182dbed10f8e199bc39af29524e3528f2e1cb68d", size = 196147, upload-time = "2025-10-13T06:34:11.891Z" }, ] [[package]] name = "sqlparse" -version = "0.5.3" +version = "0.5.4" source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/e5/40/edede8dd6977b0d3da179a342c198ed100dd2aba4be081861ee5911e4da4/sqlparse-0.5.3.tar.gz", hash = "sha256:09f67787f56a0b16ecdbde1bfc7f5d9c3371ca683cfeaa8e6ff60b4807ec9272", size = 84999, upload-time = "2024-12-10T12:05:30.728Z" } +sdist = { url = "https://files.pythonhosted.org/packages/18/67/701f86b28d63b2086de47c942eccf8ca2208b3be69715a1119a4e384415a/sqlparse-0.5.4.tar.gz", hash = "sha256:4396a7d3cf1cd679c1be976cf3dc6e0a51d0111e87787e7a8d780e7d5a998f9e", size = 120112, upload-time = "2025-11-28T07:10:18.377Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/a9/5c/bfd6bd0bf979426d405cc6e71eceb8701b148b16c21d2dc3c261efc61c7b/sqlparse-0.5.3-py3-none-any.whl", hash = "sha256:cf2196ed3418f3ba5de6af7e82c694a9fbdbfecccdfc72e281548517081f16ca", size = 44415, upload-time = "2024-12-10T12:05:27.824Z" }, + { url = "https://files.pythonhosted.org/packages/25/70/001ee337f7aa888fb2e3f5fd7592a6afc5283adb1ed44ce8df5764070f22/sqlparse-0.5.4-py3-none-any.whl", hash = "sha256:99a9f0314977b76d776a0fcb8554de91b9bb8a18560631d6bc48721d07023dcb", size = 45933, upload-time = "2025-11-28T07:10:19.73Z" }, ] [[package]] @@ -2282,11 +2676,11 @@ wheels = [ [[package]] name = "structlog" -version = "25.4.0" +version = "25.5.0" source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/79/b9/6e672db4fec07349e7a8a8172c1a6ae235c58679ca29c3f86a61b5e59ff3/structlog-25.4.0.tar.gz", hash = "sha256:186cd1b0a8ae762e29417095664adf1d6a31702160a46dacb7796ea82f7409e4", size = 1369138, upload-time = "2025-06-02T08:21:12.971Z" } +sdist = { url = "https://files.pythonhosted.org/packages/ef/52/9ba0f43b686e7f3ddfeaa78ac3af750292662284b3661e91ad5494f21dbc/structlog-25.5.0.tar.gz", hash = "sha256:098522a3bebed9153d4570c6d0288abf80a031dfdb2048d59a49e9dc2190fc98", size = 1460830, upload-time = "2025-10-27T08:28:23.028Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/a0/4a/97ee6973e3a73c74c8120d59829c3861ea52210667ec3e7a16045c62b64d/structlog-25.4.0-py3-none-any.whl", hash = "sha256:fe809ff5c27e557d14e613f45ca441aabda051d119ee5a0102aaba6ce40eed2c", size = 68720, upload-time = "2025-06-02T08:21:11.43Z" }, + { url = "https://files.pythonhosted.org/packages/a8/45/a132b9074aa18e799b891b91ad72133c98d8042c70f6240e4c5f9dabee2f/structlog-25.5.0-py3-none-any.whl", hash = "sha256:a8453e9b9e636ec59bd9e79bbd4a72f025981b3ba0f5837aebf48f02f37a7f9f", size = 72510, upload-time = "2025-10-27T08:28:21.535Z" }, ] [[package]] @@ -2300,19 +2694,11 @@ wheels = [ [[package]] name = "termcolor" -version = "3.1.0" -source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/ca/6c/3d75c196ac07ac8749600b60b03f4f6094d54e132c4d94ebac6ee0e0add0/termcolor-3.1.0.tar.gz", hash = "sha256:6a6dd7fbee581909eeec6a756cff1d7f7c376063b14e4a298dc4980309e55970", size = 14324, upload-time = "2025-04-30T11:37:53.791Z" } -wheels = [ - { url = "https://files.pythonhosted.org/packages/4f/bd/de8d508070629b6d84a30d01d57e4a65c69aa7f5abe7560b8fad3b50ea59/termcolor-3.1.0-py3-none-any.whl", hash = "sha256:591dd26b5c2ce03b9e43f391264626557873ce1d379019786f99b0c2bee140aa", size = 7684, upload-time = "2025-04-30T11:37:52.382Z" }, -] - -[[package]] -name = "termcolor-whl" -version = "1.1.2" +version = "3.2.0" source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/87/56/ab275c2b56a5e2342568838f0d5e3e66a32354adcc159b495e374cda43f5/termcolor-3.2.0.tar.gz", hash = "sha256:610e6456feec42c4bcd28934a8c87a06c3fa28b01561d46aa09a9881b8622c58", size = 14423, upload-time = "2025-10-25T19:11:42.586Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/2b/ad/9e826b1bd69dc3faa5abb7b6459528e16831c0e73b353479a467ed5ee995/termcolor_whl-1.1.2-py2.py3-none-any.whl", hash = "sha256:3e7eda7348bb90ddea2d7a2171df65ed4a37adf62574fbd5459198410fdba881", size = 4824, upload-time = "2021-12-04T19:20:30.35Z" }, + { url = "https://files.pythonhosted.org/packages/f9/d5/141f53d7c1eb2a80e6d3e9a390228c3222c27705cbe7f048d3623053f3ca/termcolor-3.2.0-py3-none-any.whl", hash = "sha256:a10343879eba4da819353c55cb8049b0933890c2ebf9ad5d3ecd2bb32ea96ea6", size = 7698, upload-time = "2025-10-25T19:11:41.536Z" }, ] [[package]] @@ -2326,31 +2712,43 @@ wheels = [ [[package]] name = "tomli" -version = "2.2.1" +version = "2.3.0" 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, upload-time = "2024-11-27T22:38:36.873Z" } -wheels = [ - { 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, upload-time = "2024-11-27T22:38:07.731Z" }, - { 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, upload-time = "2024-11-27T22:38:09.384Z" }, - { 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, upload-time = "2024-11-27T22:38:10.329Z" }, - { 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, upload-time = "2024-11-27T22:38:11.443Z" }, - { 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, upload-time = "2024-11-27T22:38:13.099Z" }, - { 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, upload-time = "2024-11-27T22:38:14.766Z" }, - { 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, upload-time = "2024-11-27T22:38:15.843Z" }, - { 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, upload-time = "2024-11-27T22:38:17.645Z" }, - { url = "https://files.pythonhosted.org/packages/1c/9a/47c0449b98e6e7d1be6cbac02f93dd79003234ddc4aaab6ba07a9a7482e2/tomli-2.2.1-cp312-cp312-win32.whl", hash = "sha256:889f80ef92701b9dbb224e49ec87c645ce5df3fa2cc548664eb8a25e03127a98", size = 98875, upload-time = "2024-11-27T22:38:19.159Z" }, - { url = "https://files.pythonhosted.org/packages/ef/60/9b9638f081c6f1261e2688bd487625cd1e660d0a85bd469e91d8db969734/tomli-2.2.1-cp312-cp312-win_amd64.whl", hash = "sha256:7fc04e92e1d624a4a63c76474610238576942d6b8950a2d7f908a340494e67e4", size = 109418, upload-time = "2024-11-27T22:38:20.064Z" }, - { url = "https://files.pythonhosted.org/packages/04/90/2ee5f2e0362cb8a0b6499dc44f4d7d48f8fff06d28ba46e6f1eaa61a1388/tomli-2.2.1-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:f4039b9cbc3048b2416cc57ab3bda989a6fcf9b36cf8937f01a6e731b64f80d7", size = 132708, upload-time = "2024-11-27T22:38:21.659Z" }, - { url = "https://files.pythonhosted.org/packages/c0/ec/46b4108816de6b385141f082ba99e315501ccd0a2ea23db4a100dd3990ea/tomli-2.2.1-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:286f0ca2ffeeb5b9bd4fcc8d6c330534323ec51b2f52da063b11c502da16f30c", size = 123582, upload-time = "2024-11-27T22:38:22.693Z" }, - { url = "https://files.pythonhosted.org/packages/a0/bd/b470466d0137b37b68d24556c38a0cc819e8febe392d5b199dcd7f578365/tomli-2.2.1-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a92ef1a44547e894e2a17d24e7557a5e85a9e1d0048b0b5e7541f76c5032cb13", size = 232543, upload-time = "2024-11-27T22:38:24.367Z" }, - { url = "https://files.pythonhosted.org/packages/d9/e5/82e80ff3b751373f7cead2815bcbe2d51c895b3c990686741a8e56ec42ab/tomli-2.2.1-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9316dc65bed1684c9a98ee68759ceaed29d229e985297003e494aa825ebb0281", size = 241691, upload-time = "2024-11-27T22:38:26.081Z" }, - { url = "https://files.pythonhosted.org/packages/05/7e/2a110bc2713557d6a1bfb06af23dd01e7dde52b6ee7dadc589868f9abfac/tomli-2.2.1-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:e85e99945e688e32d5a35c1ff38ed0b3f41f43fad8df0bdf79f72b2ba7bc5272", size = 251170, upload-time = "2024-11-27T22:38:27.921Z" }, - { url = "https://files.pythonhosted.org/packages/64/7b/22d713946efe00e0adbcdfd6d1aa119ae03fd0b60ebed51ebb3fa9f5a2e5/tomli-2.2.1-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:ac065718db92ca818f8d6141b5f66369833d4a80a9d74435a268c52bdfa73140", size = 236530, upload-time = "2024-11-27T22:38:29.591Z" }, - { url = "https://files.pythonhosted.org/packages/38/31/3a76f67da4b0cf37b742ca76beaf819dca0ebef26d78fc794a576e08accf/tomli-2.2.1-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:d920f33822747519673ee656a4b6ac33e382eca9d331c87770faa3eef562aeb2", size = 258666, upload-time = "2024-11-27T22:38:30.639Z" }, - { url = "https://files.pythonhosted.org/packages/07/10/5af1293da642aded87e8a988753945d0cf7e00a9452d3911dd3bb354c9e2/tomli-2.2.1-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:a198f10c4d1b1375d7687bc25294306e551bf1abfa4eace6650070a5c1ae2744", size = 243954, upload-time = "2024-11-27T22:38:31.702Z" }, - { url = "https://files.pythonhosted.org/packages/5b/b9/1ed31d167be802da0fc95020d04cd27b7d7065cc6fbefdd2f9186f60d7bd/tomli-2.2.1-cp313-cp313-win32.whl", hash = "sha256:d3f5614314d758649ab2ab3a62d4f2004c825922f9e370b29416484086b264ec", size = 98724, upload-time = "2024-11-27T22:38:32.837Z" }, - { url = "https://files.pythonhosted.org/packages/c7/32/b0963458706accd9afcfeb867c0f9175a741bf7b19cd424230714d722198/tomli-2.2.1-cp313-cp313-win_amd64.whl", hash = "sha256:a38aa0308e754b0e3c67e344754dff64999ff9b513e691d0e786265c93583c69", size = 109383, upload-time = "2024-11-27T22:38:34.455Z" }, - { url = "https://files.pythonhosted.org/packages/6e/c2/61d3e0f47e2b74ef40a68b9e6ad5984f6241a942f7cd3bbfbdbd03861ea9/tomli-2.2.1-py3-none-any.whl", hash = "sha256:cb55c73c5f4408779d0cf3eef9f762b9c9f147a77de7b258bef0a5628adc85cc", size = 14257, upload-time = "2024-11-27T22:38:35.385Z" }, +sdist = { url = "https://files.pythonhosted.org/packages/52/ed/3f73f72945444548f33eba9a87fc7a6e969915e7b1acc8260b30e1f76a2f/tomli-2.3.0.tar.gz", hash = "sha256:64be704a875d2a59753d80ee8a533c3fe183e3f06807ff7dc2232938ccb01549", size = 17392, upload-time = "2025-10-08T22:01:47.119Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/ff/b7/40f36368fcabc518bb11c8f06379a0fd631985046c038aca08c6d6a43c6e/tomli-2.3.0-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:d7d86942e56ded512a594786a5ba0a5e521d02529b3826e7761a05138341a2ac", size = 154891, upload-time = "2025-10-08T22:01:09.082Z" }, + { url = "https://files.pythonhosted.org/packages/f9/3f/d9dd692199e3b3aab2e4e4dd948abd0f790d9ded8cd10cbaae276a898434/tomli-2.3.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:73ee0b47d4dad1c5e996e3cd33b8a76a50167ae5f96a2607cbe8cc773506ab22", size = 148796, upload-time = "2025-10-08T22:01:10.266Z" }, + { url = "https://files.pythonhosted.org/packages/60/83/59bff4996c2cf9f9387a0f5a3394629c7efa5ef16142076a23a90f1955fa/tomli-2.3.0-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:792262b94d5d0a466afb5bc63c7daa9d75520110971ee269152083270998316f", size = 242121, upload-time = "2025-10-08T22:01:11.332Z" }, + { url = "https://files.pythonhosted.org/packages/45/e5/7c5119ff39de8693d6baab6c0b6dcb556d192c165596e9fc231ea1052041/tomli-2.3.0-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:4f195fe57ecceac95a66a75ac24d9d5fbc98ef0962e09b2eddec5d39375aae52", size = 250070, upload-time = "2025-10-08T22:01:12.498Z" }, + { url = "https://files.pythonhosted.org/packages/45/12/ad5126d3a278f27e6701abde51d342aa78d06e27ce2bb596a01f7709a5a2/tomli-2.3.0-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:e31d432427dcbf4d86958c184b9bfd1e96b5b71f8eb17e6d02531f434fd335b8", size = 245859, upload-time = "2025-10-08T22:01:13.551Z" }, + { url = "https://files.pythonhosted.org/packages/fb/a1/4d6865da6a71c603cfe6ad0e6556c73c76548557a8d658f9e3b142df245f/tomli-2.3.0-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:7b0882799624980785240ab732537fcfc372601015c00f7fc367c55308c186f6", size = 250296, upload-time = "2025-10-08T22:01:14.614Z" }, + { url = "https://files.pythonhosted.org/packages/a0/b7/a7a7042715d55c9ba6e8b196d65d2cb662578b4d8cd17d882d45322b0d78/tomli-2.3.0-cp312-cp312-win32.whl", hash = "sha256:ff72b71b5d10d22ecb084d345fc26f42b5143c5533db5e2eaba7d2d335358876", size = 97124, upload-time = "2025-10-08T22:01:15.629Z" }, + { url = "https://files.pythonhosted.org/packages/06/1e/f22f100db15a68b520664eb3328fb0ae4e90530887928558112c8d1f4515/tomli-2.3.0-cp312-cp312-win_amd64.whl", hash = "sha256:1cb4ed918939151a03f33d4242ccd0aa5f11b3547d0cf30f7c74a408a5b99878", size = 107698, upload-time = "2025-10-08T22:01:16.51Z" }, + { url = "https://files.pythonhosted.org/packages/89/48/06ee6eabe4fdd9ecd48bf488f4ac783844fd777f547b8d1b61c11939974e/tomli-2.3.0-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:5192f562738228945d7b13d4930baffda67b69425a7f0da96d360b0a3888136b", size = 154819, upload-time = "2025-10-08T22:01:17.964Z" }, + { url = "https://files.pythonhosted.org/packages/f1/01/88793757d54d8937015c75dcdfb673c65471945f6be98e6a0410fba167ed/tomli-2.3.0-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:be71c93a63d738597996be9528f4abe628d1adf5e6eb11607bc8fe1a510b5dae", size = 148766, upload-time = "2025-10-08T22:01:18.959Z" }, + { url = "https://files.pythonhosted.org/packages/42/17/5e2c956f0144b812e7e107f94f1cc54af734eb17b5191c0bbfb72de5e93e/tomli-2.3.0-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:c4665508bcbac83a31ff8ab08f424b665200c0e1e645d2bd9ab3d3e557b6185b", size = 240771, upload-time = "2025-10-08T22:01:20.106Z" }, + { url = "https://files.pythonhosted.org/packages/d5/f4/0fbd014909748706c01d16824eadb0307115f9562a15cbb012cd9b3512c5/tomli-2.3.0-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:4021923f97266babc6ccab9f5068642a0095faa0a51a246a6a02fccbb3514eaf", size = 248586, upload-time = "2025-10-08T22:01:21.164Z" }, + { url = "https://files.pythonhosted.org/packages/30/77/fed85e114bde5e81ecf9bc5da0cc69f2914b38f4708c80ae67d0c10180c5/tomli-2.3.0-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:a4ea38c40145a357d513bffad0ed869f13c1773716cf71ccaa83b0fa0cc4e42f", size = 244792, upload-time = "2025-10-08T22:01:22.417Z" }, + { url = "https://files.pythonhosted.org/packages/55/92/afed3d497f7c186dc71e6ee6d4fcb0acfa5f7d0a1a2878f8beae379ae0cc/tomli-2.3.0-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:ad805ea85eda330dbad64c7ea7a4556259665bdf9d2672f5dccc740eb9d3ca05", size = 248909, upload-time = "2025-10-08T22:01:23.859Z" }, + { url = "https://files.pythonhosted.org/packages/f8/84/ef50c51b5a9472e7265ce1ffc7f24cd4023d289e109f669bdb1553f6a7c2/tomli-2.3.0-cp313-cp313-win32.whl", hash = "sha256:97d5eec30149fd3294270e889b4234023f2c69747e555a27bd708828353ab606", size = 96946, upload-time = "2025-10-08T22:01:24.893Z" }, + { url = "https://files.pythonhosted.org/packages/b2/b7/718cd1da0884f281f95ccfa3a6cc572d30053cba64603f79d431d3c9b61b/tomli-2.3.0-cp313-cp313-win_amd64.whl", hash = "sha256:0c95ca56fbe89e065c6ead5b593ee64b84a26fca063b5d71a1122bf26e533999", size = 107705, upload-time = "2025-10-08T22:01:26.153Z" }, + { url = "https://files.pythonhosted.org/packages/19/94/aeafa14a52e16163008060506fcb6aa1949d13548d13752171a755c65611/tomli-2.3.0-cp314-cp314-macosx_10_13_x86_64.whl", hash = "sha256:cebc6fe843e0733ee827a282aca4999b596241195f43b4cc371d64fc6639da9e", size = 154244, upload-time = "2025-10-08T22:01:27.06Z" }, + { url = "https://files.pythonhosted.org/packages/db/e4/1e58409aa78eefa47ccd19779fc6f36787edbe7d4cd330eeeedb33a4515b/tomli-2.3.0-cp314-cp314-macosx_11_0_arm64.whl", hash = "sha256:4c2ef0244c75aba9355561272009d934953817c49f47d768070c3c94355c2aa3", size = 148637, upload-time = "2025-10-08T22:01:28.059Z" }, + { url = "https://files.pythonhosted.org/packages/26/b6/d1eccb62f665e44359226811064596dd6a366ea1f985839c566cd61525ae/tomli-2.3.0-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:c22a8bf253bacc0cf11f35ad9808b6cb75ada2631c2d97c971122583b129afbc", size = 241925, upload-time = "2025-10-08T22:01:29.066Z" }, + { url = "https://files.pythonhosted.org/packages/70/91/7cdab9a03e6d3d2bb11beae108da5bdc1c34bdeb06e21163482544ddcc90/tomli-2.3.0-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:0eea8cc5c5e9f89c9b90c4896a8deefc74f518db5927d0e0e8d4a80953d774d0", size = 249045, upload-time = "2025-10-08T22:01:31.98Z" }, + { url = "https://files.pythonhosted.org/packages/15/1b/8c26874ed1f6e4f1fcfeb868db8a794cbe9f227299402db58cfcc858766c/tomli-2.3.0-cp314-cp314-musllinux_1_2_aarch64.whl", hash = "sha256:b74a0e59ec5d15127acdabd75ea17726ac4c5178ae51b85bfe39c4f8a278e879", size = 245835, upload-time = "2025-10-08T22:01:32.989Z" }, + { url = "https://files.pythonhosted.org/packages/fd/42/8e3c6a9a4b1a1360c1a2a39f0b972cef2cc9ebd56025168c4137192a9321/tomli-2.3.0-cp314-cp314-musllinux_1_2_x86_64.whl", hash = "sha256:b5870b50c9db823c595983571d1296a6ff3e1b88f734a4c8f6fc6188397de005", size = 253109, upload-time = "2025-10-08T22:01:34.052Z" }, + { url = "https://files.pythonhosted.org/packages/22/0c/b4da635000a71b5f80130937eeac12e686eefb376b8dee113b4a582bba42/tomli-2.3.0-cp314-cp314-win32.whl", hash = "sha256:feb0dacc61170ed7ab602d3d972a58f14ee3ee60494292d384649a3dc38ef463", size = 97930, upload-time = "2025-10-08T22:01:35.082Z" }, + { url = "https://files.pythonhosted.org/packages/b9/74/cb1abc870a418ae99cd5c9547d6bce30701a954e0e721821df483ef7223c/tomli-2.3.0-cp314-cp314-win_amd64.whl", hash = "sha256:b273fcbd7fc64dc3600c098e39136522650c49bca95df2d11cf3b626422392c8", size = 107964, upload-time = "2025-10-08T22:01:36.057Z" }, + { url = "https://files.pythonhosted.org/packages/54/78/5c46fff6432a712af9f792944f4fcd7067d8823157949f4e40c56b8b3c83/tomli-2.3.0-cp314-cp314t-macosx_10_13_x86_64.whl", hash = "sha256:940d56ee0410fa17ee1f12b817b37a4d4e4dc4d27340863cc67236c74f582e77", size = 163065, upload-time = "2025-10-08T22:01:37.27Z" }, + { url = "https://files.pythonhosted.org/packages/39/67/f85d9bd23182f45eca8939cd2bc7050e1f90c41f4a2ecbbd5963a1d1c486/tomli-2.3.0-cp314-cp314t-macosx_11_0_arm64.whl", hash = "sha256:f85209946d1fe94416debbb88d00eb92ce9cd5266775424ff81bc959e001acaf", size = 159088, upload-time = "2025-10-08T22:01:38.235Z" }, + { url = "https://files.pythonhosted.org/packages/26/5a/4b546a0405b9cc0659b399f12b6adb750757baf04250b148d3c5059fc4eb/tomli-2.3.0-cp314-cp314t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:a56212bdcce682e56b0aaf79e869ba5d15a6163f88d5451cbde388d48b13f530", size = 268193, upload-time = "2025-10-08T22:01:39.712Z" }, + { url = "https://files.pythonhosted.org/packages/42/4f/2c12a72ae22cf7b59a7fe75b3465b7aba40ea9145d026ba41cb382075b0e/tomli-2.3.0-cp314-cp314t-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:c5f3ffd1e098dfc032d4d3af5c0ac64f6d286d98bc148698356847b80fa4de1b", size = 275488, upload-time = "2025-10-08T22:01:40.773Z" }, + { url = "https://files.pythonhosted.org/packages/92/04/a038d65dbe160c3aa5a624e93ad98111090f6804027d474ba9c37c8ae186/tomli-2.3.0-cp314-cp314t-musllinux_1_2_aarch64.whl", hash = "sha256:5e01decd096b1530d97d5d85cb4dff4af2d8347bd35686654a004f8dea20fc67", size = 272669, upload-time = "2025-10-08T22:01:41.824Z" }, + { url = "https://files.pythonhosted.org/packages/be/2f/8b7c60a9d1612a7cbc39ffcca4f21a73bf368a80fc25bccf8253e2563267/tomli-2.3.0-cp314-cp314t-musllinux_1_2_x86_64.whl", hash = "sha256:8a35dd0e643bb2610f156cca8db95d213a90015c11fee76c946aa62b7ae7e02f", size = 279709, upload-time = "2025-10-08T22:01:43.177Z" }, + { url = "https://files.pythonhosted.org/packages/7e/46/cc36c679f09f27ded940281c38607716c86cf8ba4a518d524e349c8b4874/tomli-2.3.0-cp314-cp314t-win32.whl", hash = "sha256:a1f7f282fe248311650081faafa5f4732bdbfef5d45fe3f2e702fbc6f2d496e0", size = 107563, upload-time = "2025-10-08T22:01:44.233Z" }, + { url = "https://files.pythonhosted.org/packages/84/ff/426ca8683cf7b753614480484f6437f568fd2fda2edbdf57a2d3d8b27a0b/tomli-2.3.0-cp314-cp314t-win_amd64.whl", hash = "sha256:70a251f8d4ba2d9ac2542eecf008b3c8a9fc5c3f9f02c56a9d7952612be2fdba", size = 119756, upload-time = "2025-10-08T22:01:45.234Z" }, + { url = "https://files.pythonhosted.org/packages/77/b8/0135fadc89e73be292b473cb820b4f5a08197779206b33191e801feeae40/tomli-2.3.0-py3-none-any.whl", hash = "sha256:e95b1af3c5b07d9e643909b5abbec77cd9f1217e6d0bca72b0234736b9fb1f1b", size = 14408, upload-time = "2025-10-08T22:01:46.04Z" }, ] [[package]] @@ -2397,7 +2795,7 @@ wheels = [ [[package]] name = "typer" -version = "0.16.0" +version = "0.16.1" source = { registry = "https://pypi.org/simple" } dependencies = [ { name = "click" }, @@ -2405,51 +2803,52 @@ dependencies = [ { name = "shellingham" }, { name = "typing-extensions" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/c5/8c/7d682431efca5fd290017663ea4588bf6f2c6aad085c7f108c5dbc316e70/typer-0.16.0.tar.gz", hash = "sha256:af377ffaee1dbe37ae9440cb4e8f11686ea5ce4e9bae01b84ae7c63b87f1dd3b", size = 102625, upload-time = "2025-05-26T14:30:31.824Z" } +sdist = { url = "https://files.pythonhosted.org/packages/43/78/d90f616bf5f88f8710ad067c1f8705bf7618059836ca084e5bb2a0855d75/typer-0.16.1.tar.gz", hash = "sha256:d358c65a464a7a90f338e3bb7ff0c74ac081449e53884b12ba658cbd72990614", size = 102836, upload-time = "2025-08-18T19:18:22.898Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/76/42/3efaf858001d2c2913de7f354563e3a3a2f0decae3efe98427125a8f441e/typer-0.16.0-py3-none-any.whl", hash = "sha256:1f79bed11d4d02d4310e3c1b7ba594183bcedb0ac73b27a9e5f28f6fb5b98855", size = 46317, upload-time = "2025-05-26T14:30:30.523Z" }, + { url = "https://files.pythonhosted.org/packages/2d/76/06dbe78f39b2203d2a47d5facc5df5102d0561e2807396471b5f7c5a30a1/typer-0.16.1-py3-none-any.whl", hash = "sha256:90ee01cb02d9b8395ae21ee3368421faf21fa138cb2a541ed369c08cec5237c9", size = 46397, upload-time = "2025-08-18T19:18:21.663Z" }, ] [[package]] name = "typing-extensions" -version = "4.14.1" +version = "4.15.0" source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/98/5a/da40306b885cc8c09109dc2e1abd358d5684b1425678151cdaed4731c822/typing_extensions-4.14.1.tar.gz", hash = "sha256:38b39f4aeeab64884ce9f74c94263ef78f3c22467c8724005483154c26648d36", size = 107673, upload-time = "2025-07-04T13:28:34.16Z" } +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/b5/00/d631e67a838026495268c2f6884f3711a15a9a2a96cd244fdaea53b823fb/typing_extensions-4.14.1-py3-none-any.whl", hash = "sha256:d1e1e3b58374dc93031d6eda2420a48ea44a36c2b4766a4fdeb3710755731d76", size = 43906, upload-time = "2025-07-04T13:28:32.743Z" }, + { 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 = "typing-inspection" -version = "0.4.1" +version = "0.4.2" source = { registry = "https://pypi.org/simple" } dependencies = [ { name = "typing-extensions" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/f8/b1/0c11f5058406b3af7609f121aaa6b609744687f1d158b3c3a5bf4cc94238/typing_inspection-0.4.1.tar.gz", hash = "sha256:6ae134cc0203c33377d43188d4064e9b357dba58cff3185f22924610e70a9d28", size = 75726, upload-time = "2025-05-21T18:55:23.885Z" } +sdist = { url = "https://files.pythonhosted.org/packages/55/e3/70399cb7dd41c10ac53367ae42139cf4b1ca5f36bb3dc6c9d33acdb43655/typing_inspection-0.4.2.tar.gz", hash = "sha256:ba561c48a67c5958007083d386c3295464928b01faa735ab8547c5692e87f464", size = 75949, upload-time = "2025-10-01T02:14:41.687Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/17/69/cd203477f944c353c31bade965f880aa1061fd6bf05ded0726ca845b6ff7/typing_inspection-0.4.1-py3-none-any.whl", hash = "sha256:389055682238f53b04f7badcb49b989835495a96700ced5dab2d8feae4b26f51", size = 14552, upload-time = "2025-05-21T18:55:22.152Z" }, + { url = "https://files.pythonhosted.org/packages/dc/9b/47798a6c91d8bdb567fe2698fe81e0c6b7cb7ef4d13da4114b41d239f65d/typing_inspection-0.4.2-py3-none-any.whl", hash = "sha256:4ed1cacbdc298c220f1bd249ed5287caa16f34d44ef4e9c3d0cbad5b521545e7", size = 14611, upload-time = "2025-10-01T02:14:40.154Z" }, ] [[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, upload-time = "2025-03-23T13:54:43.652Z" } +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, upload-time = "2025-03-23T13:54:41.845Z" }, + { 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 = "universal-pathlib" -version = "0.2.6" +version = "0.3.7" source = { registry = "https://pypi.org/simple" } dependencies = [ { name = "fsspec" }, + { name = "pathlib-abc" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/eb/21/dd871495af3933e585261adce42678dcdf1168c9d6fa0a8f7b6565e54472/universal_pathlib-0.2.6.tar.gz", hash = "sha256:50817aaeaa9f4163cb1e76f5bdf84207fa05ce728b23fd779479b3462e5430ac", size = 175427, upload-time = "2024-12-13T00:58:27.514Z" } +sdist = { url = "https://files.pythonhosted.org/packages/d5/96/b58b00ce27cbc37fd3c79944438dd8630d2c39f9467c9e73e1a4a3eec1ef/universal_pathlib-0.3.7.tar.gz", hash = "sha256:36331056fa59a7d7cd3b61b4045f3a3418f446f23ec1a01d281c4510814b4b05", size = 253466, upload-time = "2025-12-03T00:06:43.859Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/e5/4d/2e577f6db7aa0f932d19f799c18f604b2b302c65f733419b900ec07dbade/universal_pathlib-0.2.6-py3-none-any.whl", hash = "sha256:700dec2b58ef34b87998513de6d2ae153b22f083197dfafb8544744edabd1b18", size = 50087, upload-time = "2024-12-13T00:58:24.582Z" }, + { url = "https://files.pythonhosted.org/packages/79/77/53c2d3a0413bc55b4c91067a0c41e55451be9b0784d204e4e46ce5abf668/universal_pathlib-0.3.7-py3-none-any.whl", hash = "sha256:fb95117b20b5981f86ef9d887fddbf9c61d3596634ba42cccea444931d87c201", size = 80738, upload-time = "2025-12-03T00:06:41.997Z" }, ] [[package]] @@ -2463,24 +2862,24 @@ wheels = [ [[package]] name = "urllib3" -version = "2.5.0" +version = "2.6.2" source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/15/22/9ee70a2574a4f4599c47dd506532914ce044817c7752a79b6a51286319bc/urllib3-2.5.0.tar.gz", hash = "sha256:3fc47733c7e419d4bc3f6b3dc2b4f890bb743906a30d56ba4a5bfa4bbff92760", size = 393185, upload-time = "2025-06-18T14:07:41.644Z" } +sdist = { url = "https://files.pythonhosted.org/packages/1e/24/a2a2ed9addd907787d7aa0355ba36a6cadf1768b934c652ea78acbd59dcd/urllib3-2.6.2.tar.gz", hash = "sha256:016f9c98bb7e98085cb2b4b17b87d2c702975664e4f060c6532e64d1c1a5e797", size = 432930, upload-time = "2025-12-11T15:56:40.252Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/a7/c2/fe1e52489ae3122415c51f387e221dd0773709bad6c6cdaa599e8a2c5185/urllib3-2.5.0-py3-none-any.whl", hash = "sha256:e6b01673c0fa6a13e374b50871808eb3bf7046c4b125b216f6bf1cc604cff0dc", size = 129795, upload-time = "2025-06-18T14:07:40.39Z" }, + { url = "https://files.pythonhosted.org/packages/6d/b9/4095b668ea3678bf6a0af005527f39de12fb026516fb3df17495a733b7f8/urllib3-2.6.2-py3-none-any.whl", hash = "sha256:ec21cddfe7724fc7cb4ba4bea7aa8e2ef36f607a4bab81aa6ce42a13dc3f03dd", size = 131182, upload-time = "2025-12-11T15:56:38.584Z" }, ] [[package]] name = "uvicorn" -version = "0.35.0" +version = "0.40.0" source = { registry = "https://pypi.org/simple" } dependencies = [ { name = "click" }, { name = "h11" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/5e/42/e0e305207bb88c6b8d3061399c6a961ffe5fbb7e2aa63c9234df7259e9cd/uvicorn-0.35.0.tar.gz", hash = "sha256:bc662f087f7cf2ce11a1d7fd70b90c9f98ef2e2831556dd078d131b96cc94a01", size = 78473, upload-time = "2025-06-28T16:15:46.058Z" } +sdist = { url = "https://files.pythonhosted.org/packages/c3/d1/8f3c683c9561a4e6689dd3b1d345c815f10f86acd044ee1fb9a4dcd0b8c5/uvicorn-0.40.0.tar.gz", hash = "sha256:839676675e87e73694518b5574fd0f24c9d97b46bea16df7b8c05ea1a51071ea", size = 81761, upload-time = "2025-12-21T14:16:22.45Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/d2/e2/dc81b1bd1dcfe91735810265e9d26bc8ec5da45b4c0f6237e286819194c3/uvicorn-0.35.0-py3-none-any.whl", hash = "sha256:197535216b25ff9b785e29a0b79199f55222193d47f820816e7da751e9bc8d4a", size = 66406, upload-time = "2025-06-28T16:15:44.816Z" }, + { url = "https://files.pythonhosted.org/packages/3d/d8/2083a1daa7439a66f3a48589a57d576aa117726762618f6bb09fe3798796/uvicorn-0.40.0-py3-none-any.whl", hash = "sha256:c6c8f55bc8bf13eb6fa9ff87ad62308bbbc33d0b67f84293151efe87e0d5f2ee", size = 68502, upload-time = "2025-12-21T14:16:21.041Z" }, ] [package.optional-dependencies] @@ -2496,122 +2895,146 @@ standard = [ [[package]] name = "uvloop" -version = "0.21.0" +version = "0.22.1" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/06/f0/18d39dbd1971d6d62c4629cc7fa67f74821b0dc1f5a77af43719de7936a7/uvloop-0.22.1.tar.gz", hash = "sha256:6c84bae345b9147082b17371e3dd5d42775bddce91f885499017f4607fdaf39f", size = 2443250, upload-time = "2025-10-16T22:17:19.342Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/3d/ff/7f72e8170be527b4977b033239a83a68d5c881cc4775fca255c677f7ac5d/uvloop-0.22.1-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:fe94b4564e865d968414598eea1a6de60adba0c040ba4ed05ac1300de402cd42", size = 1359936, upload-time = "2025-10-16T22:16:29.436Z" }, + { url = "https://files.pythonhosted.org/packages/c3/c6/e5d433f88fd54d81ef4be58b2b7b0cea13c442454a1db703a1eea0db1a59/uvloop-0.22.1-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:51eb9bd88391483410daad430813d982010f9c9c89512321f5b60e2cddbdddd6", size = 752769, upload-time = "2025-10-16T22:16:30.493Z" }, + { url = "https://files.pythonhosted.org/packages/24/68/a6ac446820273e71aa762fa21cdcc09861edd3536ff47c5cd3b7afb10eeb/uvloop-0.22.1-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:700e674a166ca5778255e0e1dc4e9d79ab2acc57b9171b79e65feba7184b3370", size = 4317413, upload-time = "2025-10-16T22:16:31.644Z" }, + { url = "https://files.pythonhosted.org/packages/5f/6f/e62b4dfc7ad6518e7eff2516f680d02a0f6eb62c0c212e152ca708a0085e/uvloop-0.22.1-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:7b5b1ac819a3f946d3b2ee07f09149578ae76066d70b44df3fa990add49a82e4", size = 4426307, upload-time = "2025-10-16T22:16:32.917Z" }, + { url = "https://files.pythonhosted.org/packages/90/60/97362554ac21e20e81bcef1150cb2a7e4ffdaf8ea1e5b2e8bf7a053caa18/uvloop-0.22.1-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:e047cc068570bac9866237739607d1313b9253c3051ad84738cbb095be0537b2", size = 4131970, upload-time = "2025-10-16T22:16:34.015Z" }, + { url = "https://files.pythonhosted.org/packages/99/39/6b3f7d234ba3964c428a6e40006340f53ba37993f46ed6e111c6e9141d18/uvloop-0.22.1-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:512fec6815e2dd45161054592441ef76c830eddaad55c8aa30952e6fe1ed07c0", size = 4296343, upload-time = "2025-10-16T22:16:35.149Z" }, + { url = "https://files.pythonhosted.org/packages/89/8c/182a2a593195bfd39842ea68ebc084e20c850806117213f5a299dfc513d9/uvloop-0.22.1-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:561577354eb94200d75aca23fbde86ee11be36b00e52a4eaf8f50fb0c86b7705", size = 1358611, upload-time = "2025-10-16T22:16:36.833Z" }, + { url = "https://files.pythonhosted.org/packages/d2/14/e301ee96a6dc95224b6f1162cd3312f6d1217be3907b79173b06785f2fe7/uvloop-0.22.1-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:1cdf5192ab3e674ca26da2eada35b288d2fa49fdd0f357a19f0e7c4e7d5077c8", size = 751811, upload-time = "2025-10-16T22:16:38.275Z" }, + { url = "https://files.pythonhosted.org/packages/b7/02/654426ce265ac19e2980bfd9ea6590ca96a56f10c76e63801a2df01c0486/uvloop-0.22.1-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:6e2ea3d6190a2968f4a14a23019d3b16870dd2190cd69c8180f7c632d21de68d", size = 4288562, upload-time = "2025-10-16T22:16:39.375Z" }, + { url = "https://files.pythonhosted.org/packages/15/c0/0be24758891ef825f2065cd5db8741aaddabe3e248ee6acc5e8a80f04005/uvloop-0.22.1-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:0530a5fbad9c9e4ee3f2b33b148c6a64d47bbad8000ea63704fa8260f4cf728e", size = 4366890, upload-time = "2025-10-16T22:16:40.547Z" }, + { url = "https://files.pythonhosted.org/packages/d2/53/8369e5219a5855869bcee5f4d317f6da0e2c669aecf0ef7d371e3d084449/uvloop-0.22.1-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:bc5ef13bbc10b5335792360623cc378d52d7e62c2de64660616478c32cd0598e", size = 4119472, upload-time = "2025-10-16T22:16:41.694Z" }, + { url = "https://files.pythonhosted.org/packages/f8/ba/d69adbe699b768f6b29a5eec7b47dd610bd17a69de51b251126a801369ea/uvloop-0.22.1-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:1f38ec5e3f18c8a10ded09742f7fb8de0108796eb673f30ce7762ce1b8550cad", size = 4239051, upload-time = "2025-10-16T22:16:43.224Z" }, + { url = "https://files.pythonhosted.org/packages/90/cd/b62bdeaa429758aee8de8b00ac0dd26593a9de93d302bff3d21439e9791d/uvloop-0.22.1-cp314-cp314-macosx_10_13_universal2.whl", hash = "sha256:3879b88423ec7e97cd4eba2a443aa26ed4e59b45e6b76aabf13fe2f27023a142", size = 1362067, upload-time = "2025-10-16T22:16:44.503Z" }, + { url = "https://files.pythonhosted.org/packages/0d/f8/a132124dfda0777e489ca86732e85e69afcd1ff7686647000050ba670689/uvloop-0.22.1-cp314-cp314-macosx_10_13_x86_64.whl", hash = "sha256:4baa86acedf1d62115c1dc6ad1e17134476688f08c6efd8a2ab076e815665c74", size = 752423, upload-time = "2025-10-16T22:16:45.968Z" }, + { url = "https://files.pythonhosted.org/packages/a3/94/94af78c156f88da4b3a733773ad5ba0b164393e357cc4bd0ab2e2677a7d6/uvloop-0.22.1-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:297c27d8003520596236bdb2335e6b3f649480bd09e00d1e3a99144b691d2a35", size = 4272437, upload-time = "2025-10-16T22:16:47.451Z" }, + { url = "https://files.pythonhosted.org/packages/b5/35/60249e9fd07b32c665192cec7af29e06c7cd96fa1d08b84f012a56a0b38e/uvloop-0.22.1-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:c1955d5a1dd43198244d47664a5858082a3239766a839b2102a269aaff7a4e25", size = 4292101, upload-time = "2025-10-16T22:16:49.318Z" }, + { url = "https://files.pythonhosted.org/packages/02/62/67d382dfcb25d0a98ce73c11ed1a6fba5037a1a1d533dcbb7cab033a2636/uvloop-0.22.1-cp314-cp314-musllinux_1_2_aarch64.whl", hash = "sha256:b31dc2fccbd42adc73bc4e7cdbae4fc5086cf378979e53ca5d0301838c5682c6", size = 4114158, upload-time = "2025-10-16T22:16:50.517Z" }, + { url = "https://files.pythonhosted.org/packages/f0/7a/f1171b4a882a5d13c8b7576f348acfe6074d72eaf52cccef752f748d4a9f/uvloop-0.22.1-cp314-cp314-musllinux_1_2_x86_64.whl", hash = "sha256:93f617675b2d03af4e72a5333ef89450dfaa5321303ede6e67ba9c9d26878079", size = 4177360, upload-time = "2025-10-16T22:16:52.646Z" }, + { url = "https://files.pythonhosted.org/packages/79/7b/b01414f31546caf0919da80ad57cbfe24c56b151d12af68cee1b04922ca8/uvloop-0.22.1-cp314-cp314t-macosx_10_13_universal2.whl", hash = "sha256:37554f70528f60cad66945b885eb01f1bb514f132d92b6eeed1c90fd54ed6289", size = 1454790, upload-time = "2025-10-16T22:16:54.355Z" }, + { url = "https://files.pythonhosted.org/packages/d4/31/0bb232318dd838cad3fa8fb0c68c8b40e1145b32025581975e18b11fab40/uvloop-0.22.1-cp314-cp314t-macosx_10_13_x86_64.whl", hash = "sha256:b76324e2dc033a0b2f435f33eb88ff9913c156ef78e153fb210e03c13da746b3", size = 796783, upload-time = "2025-10-16T22:16:55.906Z" }, + { url = "https://files.pythonhosted.org/packages/42/38/c9b09f3271a7a723a5de69f8e237ab8e7803183131bc57c890db0b6bb872/uvloop-0.22.1-cp314-cp314t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:badb4d8e58ee08dad957002027830d5c3b06aea446a6a3744483c2b3b745345c", size = 4647548, upload-time = "2025-10-16T22:16:57.008Z" }, + { url = "https://files.pythonhosted.org/packages/c1/37/945b4ca0ac27e3dc4952642d4c900edd030b3da6c9634875af6e13ae80e5/uvloop-0.22.1-cp314-cp314t-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:b91328c72635f6f9e0282e4a57da7470c7350ab1c9f48546c0f2866205349d21", size = 4467065, upload-time = "2025-10-16T22:16:58.206Z" }, + { url = "https://files.pythonhosted.org/packages/97/cc/48d232f33d60e2e2e0b42f4e73455b146b76ebe216487e862700457fbf3c/uvloop-0.22.1-cp314-cp314t-musllinux_1_2_aarch64.whl", hash = "sha256:daf620c2995d193449393d6c62131b3fbd40a63bf7b307a1527856ace637fe88", size = 4328384, upload-time = "2025-10-16T22:16:59.36Z" }, + { url = "https://files.pythonhosted.org/packages/e4/16/c1fd27e9549f3c4baf1dc9c20c456cd2f822dbf8de9f463824b0c0357e06/uvloop-0.22.1-cp314-cp314t-musllinux_1_2_x86_64.whl", hash = "sha256:6cde23eeda1a25c75b2e07d39970f3374105d5eafbaab2a4482be82f272d5a5e", size = 4296730, upload-time = "2025-10-16T22:17:00.744Z" }, +] + +[[package]] +name = "validators" +version = "0.35.0" source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/af/c0/854216d09d33c543f12a44b393c402e89a920b1a0a7dc634c42de91b9cf6/uvloop-0.21.0.tar.gz", hash = "sha256:3bf12b0fda68447806a7ad847bfa591613177275d35b6724b1ee573faa3704e3", size = 2492741, upload-time = "2024-10-14T23:38:35.489Z" } +sdist = { url = "https://files.pythonhosted.org/packages/53/66/a435d9ae49850b2f071f7ebd8119dd4e84872b01630d6736761e6e7fd847/validators-0.35.0.tar.gz", hash = "sha256:992d6c48a4e77c81f1b4daba10d16c3a9bb0dbb79b3a19ea847ff0928e70497a", size = 73399, upload-time = "2025-05-01T05:42:06.7Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/8c/4c/03f93178830dc7ce8b4cdee1d36770d2f5ebb6f3d37d354e061eefc73545/uvloop-0.21.0-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:359ec2c888397b9e592a889c4d72ba3d6befba8b2bb01743f72fffbde663b59c", size = 1471284, upload-time = "2024-10-14T23:37:47.833Z" }, - { url = "https://files.pythonhosted.org/packages/43/3e/92c03f4d05e50f09251bd8b2b2b584a2a7f8fe600008bcc4523337abe676/uvloop-0.21.0-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:f7089d2dc73179ce5ac255bdf37c236a9f914b264825fdaacaded6990a7fb4c2", size = 821349, upload-time = "2024-10-14T23:37:50.149Z" }, - { url = "https://files.pythonhosted.org/packages/a6/ef/a02ec5da49909dbbfb1fd205a9a1ac4e88ea92dcae885e7c961847cd51e2/uvloop-0.21.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:baa4dcdbd9ae0a372f2167a207cd98c9f9a1ea1188a8a526431eef2f8116cc8d", size = 4580089, upload-time = "2024-10-14T23:37:51.703Z" }, - { url = "https://files.pythonhosted.org/packages/06/a7/b4e6a19925c900be9f98bec0a75e6e8f79bb53bdeb891916609ab3958967/uvloop-0.21.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:86975dca1c773a2c9864f4c52c5a55631038e387b47eaf56210f873887b6c8dc", size = 4693770, upload-time = "2024-10-14T23:37:54.122Z" }, - { url = "https://files.pythonhosted.org/packages/ce/0c/f07435a18a4b94ce6bd0677d8319cd3de61f3a9eeb1e5f8ab4e8b5edfcb3/uvloop-0.21.0-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:461d9ae6660fbbafedd07559c6a2e57cd553b34b0065b6550685f6653a98c1cb", size = 4451321, upload-time = "2024-10-14T23:37:55.766Z" }, - { url = "https://files.pythonhosted.org/packages/8f/eb/f7032be105877bcf924709c97b1bf3b90255b4ec251f9340cef912559f28/uvloop-0.21.0-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:183aef7c8730e54c9a3ee3227464daed66e37ba13040bb3f350bc2ddc040f22f", size = 4659022, upload-time = "2024-10-14T23:37:58.195Z" }, - { url = "https://files.pythonhosted.org/packages/3f/8d/2cbef610ca21539f0f36e2b34da49302029e7c9f09acef0b1c3b5839412b/uvloop-0.21.0-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:bfd55dfcc2a512316e65f16e503e9e450cab148ef11df4e4e679b5e8253a5281", size = 1468123, upload-time = "2024-10-14T23:38:00.688Z" }, - { url = "https://files.pythonhosted.org/packages/93/0d/b0038d5a469f94ed8f2b2fce2434a18396d8fbfb5da85a0a9781ebbdec14/uvloop-0.21.0-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:787ae31ad8a2856fc4e7c095341cccc7209bd657d0e71ad0dc2ea83c4a6fa8af", size = 819325, upload-time = "2024-10-14T23:38:02.309Z" }, - { url = "https://files.pythonhosted.org/packages/50/94/0a687f39e78c4c1e02e3272c6b2ccdb4e0085fda3b8352fecd0410ccf915/uvloop-0.21.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:5ee4d4ef48036ff6e5cfffb09dd192c7a5027153948d85b8da7ff705065bacc6", size = 4582806, upload-time = "2024-10-14T23:38:04.711Z" }, - { url = "https://files.pythonhosted.org/packages/d2/19/f5b78616566ea68edd42aacaf645adbf71fbd83fc52281fba555dc27e3f1/uvloop-0.21.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f3df876acd7ec037a3d005b3ab85a7e4110422e4d9c1571d4fc89b0fc41b6816", size = 4701068, upload-time = "2024-10-14T23:38:06.385Z" }, - { url = "https://files.pythonhosted.org/packages/47/57/66f061ee118f413cd22a656de622925097170b9380b30091b78ea0c6ea75/uvloop-0.21.0-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:bd53ecc9a0f3d87ab847503c2e1552b690362e005ab54e8a48ba97da3924c0dc", size = 4454428, upload-time = "2024-10-14T23:38:08.416Z" }, - { url = "https://files.pythonhosted.org/packages/63/9a/0962b05b308494e3202d3f794a6e85abe471fe3cafdbcf95c2e8c713aabd/uvloop-0.21.0-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:a5c39f217ab3c663dc699c04cbd50c13813e31d917642d459fdcec07555cc553", size = 4660018, upload-time = "2024-10-14T23:38:10.888Z" }, + { url = "https://files.pythonhosted.org/packages/fa/6e/3e955517e22cbdd565f2f8b2e73d52528b14b8bcfdb04f62466b071de847/validators-0.35.0-py3-none-any.whl", hash = "sha256:e8c947097eae7892cb3d26868d637f79f47b4a0554bc6b80065dfe5aac3705dd", size = 44712, upload-time = "2025-05-01T05:42:04.203Z" }, ] [[package]] name = "watchdog" -version = "5.0.3" +version = "6.0.0" source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/a2/48/a86139aaeab2db0a2482676f64798d8ac4d2dbb457523f50ab37bf02ce2c/watchdog-5.0.3.tar.gz", hash = "sha256:108f42a7f0345042a854d4d0ad0834b741d421330d5f575b81cb27b883500176", size = 129556, upload-time = "2024-09-27T16:10:54.863Z" } +sdist = { url = "https://files.pythonhosted.org/packages/db/7d/7f3d619e951c88ed75c6037b246ddcf2d322812ee8ea189be89511721d54/watchdog-6.0.0.tar.gz", hash = "sha256:9ddf7c82fda3ae8e24decda1338ede66e1c99883db93711d8fb941eaa2d8c282", size = 131220, upload-time = "2024-11-01T14:07:13.037Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/1c/9b/8b206a928c188fdeb7b12e1c795199534cd44bdef223b8470129016009dd/watchdog-5.0.3-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:94d11b07c64f63f49876e0ab8042ae034674c8653bfcdaa8c4b32e71cfff87e8", size = 96739, upload-time = "2024-09-27T16:10:19.006Z" }, - { url = "https://files.pythonhosted.org/packages/e1/26/129ca9cd0f8016672f37000010c2fedc0b86816e894ebdc0af9bb04a6439/watchdog-5.0.3-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:349c9488e1d85d0a58e8cb14222d2c51cbc801ce11ac3936ab4c3af986536926", size = 88708, upload-time = "2024-09-27T16:10:20.924Z" }, - { url = "https://files.pythonhosted.org/packages/8f/b3/5e10ec32f0c429cdb55b1369066d6e83faf9985b3a53a4e37bb5c5e29aa0/watchdog-5.0.3-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:53a3f10b62c2d569e260f96e8d966463dec1a50fa4f1b22aec69e3f91025060e", size = 89309, upload-time = "2024-09-27T16:10:22.299Z" }, - { url = "https://files.pythonhosted.org/packages/54/c4/49af4ab00bcfb688e9962eace2edda07a2cf89b9699ea536da48e8585cff/watchdog-5.0.3-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:950f531ec6e03696a2414b6308f5c6ff9dab7821a768c9d5788b1314e9a46ca7", size = 96740, upload-time = "2024-09-27T16:10:23.677Z" }, - { url = "https://files.pythonhosted.org/packages/96/a4/b24de77cc9ae424c1687c9d4fb15aa560d7d7b28ba559aca72f781d0202b/watchdog-5.0.3-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:ae6deb336cba5d71476caa029ceb6e88047fc1dc74b62b7c4012639c0b563906", size = 88711, upload-time = "2024-09-27T16:10:25.612Z" }, - { url = "https://files.pythonhosted.org/packages/a4/71/3f2e9fe8403386b99d788868955b3a790f7a09721501a7e1eb58f514ffaa/watchdog-5.0.3-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:1021223c08ba8d2d38d71ec1704496471ffd7be42cfb26b87cd5059323a389a1", size = 89319, upload-time = "2024-09-27T16:10:26.881Z" }, - { url = "https://files.pythonhosted.org/packages/60/33/7cb71c9df9a77b6927ee5f48d25e1de5562ce0fa7e0c56dcf2b0472e64a2/watchdog-5.0.3-py3-none-manylinux2014_aarch64.whl", hash = "sha256:dd021efa85970bd4824acacbb922066159d0f9e546389a4743d56919b6758b91", size = 79335, upload-time = "2024-09-27T16:10:41.512Z" }, - { url = "https://files.pythonhosted.org/packages/f6/91/320bc1496cf951a3cf93a7ffd18a581f0792c304be963d943e0e608c2919/watchdog-5.0.3-py3-none-manylinux2014_armv7l.whl", hash = "sha256:78864cc8f23dbee55be34cc1494632a7ba30263951b5b2e8fc8286b95845f82c", size = 79334, upload-time = "2024-09-27T16:10:42.737Z" }, - { url = "https://files.pythonhosted.org/packages/8b/2c/567c5e042ed667d3544c43d48a65cf853450a2d2a9089d9523a65f195e94/watchdog-5.0.3-py3-none-manylinux2014_i686.whl", hash = "sha256:1e9679245e3ea6498494b3028b90c7b25dbb2abe65c7d07423ecfc2d6218ff7c", size = 79333, upload-time = "2024-09-27T16:10:43.984Z" }, - { url = "https://files.pythonhosted.org/packages/c3/f0/64059fe162ef3274662e67bbdea6c45b3cd53e846d5bd1365fcdc3dc1d15/watchdog-5.0.3-py3-none-manylinux2014_ppc64.whl", hash = "sha256:9413384f26b5d050b6978e6fcd0c1e7f0539be7a4f1a885061473c5deaa57221", size = 79334, upload-time = "2024-09-27T16:10:45.533Z" }, - { url = "https://files.pythonhosted.org/packages/f6/d9/19b7d02965be2801e2d0f6f4bde23e4ae172620071b65430fa0c2f8441ac/watchdog-5.0.3-py3-none-manylinux2014_ppc64le.whl", hash = "sha256:294b7a598974b8e2c6123d19ef15de9abcd282b0fbbdbc4d23dfa812959a9e05", size = 79333, upload-time = "2024-09-27T16:10:47.054Z" }, - { url = "https://files.pythonhosted.org/packages/cb/a1/5393ac6d0b095d3a44946b09258e9b5f22cb2fb67bcfa419dd868478826c/watchdog-5.0.3-py3-none-manylinux2014_s390x.whl", hash = "sha256:26dd201857d702bdf9d78c273cafcab5871dd29343748524695cecffa44a8d97", size = 79332, upload-time = "2024-09-27T16:10:48.4Z" }, - { url = "https://files.pythonhosted.org/packages/a0/58/edec25190b6403caf4426dd418234f2358a106634b7d6aa4aec6939b104f/watchdog-5.0.3-py3-none-manylinux2014_x86_64.whl", hash = "sha256:0f9332243355643d567697c3e3fa07330a1d1abf981611654a1f2bf2175612b7", size = 79334, upload-time = "2024-09-27T16:10:49.884Z" }, - { url = "https://files.pythonhosted.org/packages/97/69/cfb2d17ba8aabc73be2e2d03c8c319b1f32053a02c4b571852983aa24ff2/watchdog-5.0.3-py3-none-win32.whl", hash = "sha256:c66f80ee5b602a9c7ab66e3c9f36026590a0902db3aea414d59a2f55188c1f49", size = 79320, upload-time = "2024-09-27T16:10:51.009Z" }, - { url = "https://files.pythonhosted.org/packages/91/b4/2b5b59358dadfa2c8676322f955b6c22cde4937602f40490e2f7403e548e/watchdog-5.0.3-py3-none-win_amd64.whl", hash = "sha256:f00b4cf737f568be9665563347a910f8bdc76f88c2970121c86243c8cfdf90e9", size = 79325, upload-time = "2024-09-27T16:10:52.249Z" }, - { url = "https://files.pythonhosted.org/packages/38/b8/0aa69337651b3005f161f7f494e59188a1d8d94171666900d26d29d10f69/watchdog-5.0.3-py3-none-win_ia64.whl", hash = "sha256:49f4d36cb315c25ea0d946e018c01bb028048023b9e103d3d3943f58e109dd45", size = 79324, upload-time = "2024-09-27T16:10:53.482Z" }, + { url = "https://files.pythonhosted.org/packages/39/ea/3930d07dafc9e286ed356a679aa02d777c06e9bfd1164fa7c19c288a5483/watchdog-6.0.0-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:bdd4e6f14b8b18c334febb9c4425a878a2ac20efd1e0b231978e7b150f92a948", size = 96471, upload-time = "2024-11-01T14:06:37.745Z" }, + { url = "https://files.pythonhosted.org/packages/12/87/48361531f70b1f87928b045df868a9fd4e253d9ae087fa4cf3f7113be363/watchdog-6.0.0-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:c7c15dda13c4eb00d6fb6fc508b3c0ed88b9d5d374056b239c4ad1611125c860", size = 88449, upload-time = "2024-11-01T14:06:39.748Z" }, + { url = "https://files.pythonhosted.org/packages/5b/7e/8f322f5e600812e6f9a31b75d242631068ca8f4ef0582dd3ae6e72daecc8/watchdog-6.0.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:6f10cb2d5902447c7d0da897e2c6768bca89174d0c6e1e30abec5421af97a5b0", size = 89054, upload-time = "2024-11-01T14:06:41.009Z" }, + { url = "https://files.pythonhosted.org/packages/68/98/b0345cabdce2041a01293ba483333582891a3bd5769b08eceb0d406056ef/watchdog-6.0.0-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:490ab2ef84f11129844c23fb14ecf30ef3d8a6abafd3754a6f75ca1e6654136c", size = 96480, upload-time = "2024-11-01T14:06:42.952Z" }, + { url = "https://files.pythonhosted.org/packages/85/83/cdf13902c626b28eedef7ec4f10745c52aad8a8fe7eb04ed7b1f111ca20e/watchdog-6.0.0-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:76aae96b00ae814b181bb25b1b98076d5fc84e8a53cd8885a318b42b6d3a5134", size = 88451, upload-time = "2024-11-01T14:06:45.084Z" }, + { url = "https://files.pythonhosted.org/packages/fe/c4/225c87bae08c8b9ec99030cd48ae9c4eca050a59bf5c2255853e18c87b50/watchdog-6.0.0-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:a175f755fc2279e0b7312c0035d52e27211a5bc39719dd529625b1930917345b", size = 89057, upload-time = "2024-11-01T14:06:47.324Z" }, + { url = "https://files.pythonhosted.org/packages/a9/c7/ca4bf3e518cb57a686b2feb4f55a1892fd9a3dd13f470fca14e00f80ea36/watchdog-6.0.0-py3-none-manylinux2014_aarch64.whl", hash = "sha256:7607498efa04a3542ae3e05e64da8202e58159aa1fa4acddf7678d34a35d4f13", size = 79079, upload-time = "2024-11-01T14:06:59.472Z" }, + { url = "https://files.pythonhosted.org/packages/5c/51/d46dc9332f9a647593c947b4b88e2381c8dfc0942d15b8edc0310fa4abb1/watchdog-6.0.0-py3-none-manylinux2014_armv7l.whl", hash = "sha256:9041567ee8953024c83343288ccc458fd0a2d811d6a0fd68c4c22609e3490379", size = 79078, upload-time = "2024-11-01T14:07:01.431Z" }, + { url = "https://files.pythonhosted.org/packages/d4/57/04edbf5e169cd318d5f07b4766fee38e825d64b6913ca157ca32d1a42267/watchdog-6.0.0-py3-none-manylinux2014_i686.whl", hash = "sha256:82dc3e3143c7e38ec49d61af98d6558288c415eac98486a5c581726e0737c00e", size = 79076, upload-time = "2024-11-01T14:07:02.568Z" }, + { url = "https://files.pythonhosted.org/packages/ab/cc/da8422b300e13cb187d2203f20b9253e91058aaf7db65b74142013478e66/watchdog-6.0.0-py3-none-manylinux2014_ppc64.whl", hash = "sha256:212ac9b8bf1161dc91bd09c048048a95ca3a4c4f5e5d4a7d1b1a7d5752a7f96f", size = 79077, upload-time = "2024-11-01T14:07:03.893Z" }, + { url = "https://files.pythonhosted.org/packages/2c/3b/b8964e04ae1a025c44ba8e4291f86e97fac443bca31de8bd98d3263d2fcf/watchdog-6.0.0-py3-none-manylinux2014_ppc64le.whl", hash = "sha256:e3df4cbb9a450c6d49318f6d14f4bbc80d763fa587ba46ec86f99f9e6876bb26", size = 79078, upload-time = "2024-11-01T14:07:05.189Z" }, + { url = "https://files.pythonhosted.org/packages/62/ae/a696eb424bedff7407801c257d4b1afda455fe40821a2be430e173660e81/watchdog-6.0.0-py3-none-manylinux2014_s390x.whl", hash = "sha256:2cce7cfc2008eb51feb6aab51251fd79b85d9894e98ba847408f662b3395ca3c", size = 79077, upload-time = "2024-11-01T14:07:06.376Z" }, + { url = "https://files.pythonhosted.org/packages/b5/e8/dbf020b4d98251a9860752a094d09a65e1b436ad181faf929983f697048f/watchdog-6.0.0-py3-none-manylinux2014_x86_64.whl", hash = "sha256:20ffe5b202af80ab4266dcd3e91aae72bf2da48c0d33bdb15c66658e685e94e2", size = 79078, upload-time = "2024-11-01T14:07:07.547Z" }, + { url = "https://files.pythonhosted.org/packages/07/f6/d0e5b343768e8bcb4cda79f0f2f55051bf26177ecd5651f84c07567461cf/watchdog-6.0.0-py3-none-win32.whl", hash = "sha256:07df1fdd701c5d4c8e55ef6cf55b8f0120fe1aef7ef39a1c6fc6bc2e606d517a", size = 79065, upload-time = "2024-11-01T14:07:09.525Z" }, + { url = "https://files.pythonhosted.org/packages/db/d9/c495884c6e548fce18a8f40568ff120bc3a4b7b99813081c8ac0c936fa64/watchdog-6.0.0-py3-none-win_amd64.whl", hash = "sha256:cbafb470cf848d93b5d013e2ecb245d4aa1c8fd0504e863ccefa32445359d680", size = 79070, upload-time = "2024-11-01T14:07:10.686Z" }, + { url = "https://files.pythonhosted.org/packages/33/e8/e40370e6d74ddba47f002a32919d91310d6074130fe4e17dabcafc15cbf1/watchdog-6.0.0-py3-none-win_ia64.whl", hash = "sha256:a1914259fa9e1454315171103c6a30961236f508b9b623eae470268bbcc6a22f", size = 79067, upload-time = "2024-11-01T14:07:11.845Z" }, ] [[package]] name = "watchfiles" -version = "1.1.0" +version = "1.1.1" source = { registry = "https://pypi.org/simple" } dependencies = [ { name = "anyio" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/2a/9a/d451fcc97d029f5812e898fd30a53fd8c15c7bbd058fd75cfc6beb9bd761/watchfiles-1.1.0.tar.gz", hash = "sha256:693ed7ec72cbfcee399e92c895362b6e66d63dac6b91e2c11ae03d10d503e575", size = 94406, upload-time = "2025-06-15T19:06:59.42Z" } -wheels = [ - { url = "https://files.pythonhosted.org/packages/f6/b8/858957045a38a4079203a33aaa7d23ea9269ca7761c8a074af3524fbb240/watchfiles-1.1.0-cp312-cp312-macosx_10_12_x86_64.whl", hash = "sha256:9dc001c3e10de4725c749d4c2f2bdc6ae24de5a88a339c4bce32300a31ede179", size = 402339, upload-time = "2025-06-15T19:05:24.516Z" }, - { url = "https://files.pythonhosted.org/packages/80/28/98b222cca751ba68e88521fabd79a4fab64005fc5976ea49b53fa205d1fa/watchfiles-1.1.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:d9ba68ec283153dead62cbe81872d28e053745f12335d037de9cbd14bd1877f5", size = 394409, upload-time = "2025-06-15T19:05:25.469Z" }, - { url = "https://files.pythonhosted.org/packages/86/50/dee79968566c03190677c26f7f47960aff738d32087087bdf63a5473e7df/watchfiles-1.1.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:130fc497b8ee68dce163e4254d9b0356411d1490e868bd8790028bc46c5cc297", size = 450939, upload-time = "2025-06-15T19:05:26.494Z" }, - { url = "https://files.pythonhosted.org/packages/40/45/a7b56fb129700f3cfe2594a01aa38d033b92a33dddce86c8dfdfc1247b72/watchfiles-1.1.0-cp312-cp312-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:50a51a90610d0845a5931a780d8e51d7bd7f309ebc25132ba975aca016b576a0", size = 457270, upload-time = "2025-06-15T19:05:27.466Z" }, - { url = "https://files.pythonhosted.org/packages/b5/c8/fa5ef9476b1d02dc6b5e258f515fcaaecf559037edf8b6feffcbc097c4b8/watchfiles-1.1.0-cp312-cp312-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:dc44678a72ac0910bac46fa6a0de6af9ba1355669b3dfaf1ce5f05ca7a74364e", size = 483370, upload-time = "2025-06-15T19:05:28.548Z" }, - { url = "https://files.pythonhosted.org/packages/98/68/42cfcdd6533ec94f0a7aab83f759ec11280f70b11bfba0b0f885e298f9bd/watchfiles-1.1.0-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:a543492513a93b001975ae283a51f4b67973662a375a403ae82f420d2c7205ee", size = 598654, upload-time = "2025-06-15T19:05:29.997Z" }, - { url = "https://files.pythonhosted.org/packages/d3/74/b2a1544224118cc28df7e59008a929e711f9c68ce7d554e171b2dc531352/watchfiles-1.1.0-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:8ac164e20d17cc285f2b94dc31c384bc3aa3dd5e7490473b3db043dd70fbccfd", size = 478667, upload-time = "2025-06-15T19:05:31.172Z" }, - { url = "https://files.pythonhosted.org/packages/8c/77/e3362fe308358dc9f8588102481e599c83e1b91c2ae843780a7ded939a35/watchfiles-1.1.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f7590d5a455321e53857892ab8879dce62d1f4b04748769f5adf2e707afb9d4f", size = 452213, upload-time = "2025-06-15T19:05:32.299Z" }, - { url = "https://files.pythonhosted.org/packages/6e/17/c8f1a36540c9a1558d4faf08e909399e8133599fa359bf52ec8fcee5be6f/watchfiles-1.1.0-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:37d3d3f7defb13f62ece99e9be912afe9dd8a0077b7c45ee5a57c74811d581a4", size = 626718, upload-time = "2025-06-15T19:05:33.415Z" }, - { url = "https://files.pythonhosted.org/packages/26/45/fb599be38b4bd38032643783d7496a26a6f9ae05dea1a42e58229a20ac13/watchfiles-1.1.0-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:7080c4bb3efd70a07b1cc2df99a7aa51d98685be56be6038c3169199d0a1c69f", size = 623098, upload-time = "2025-06-15T19:05:34.534Z" }, - { url = "https://files.pythonhosted.org/packages/a1/e7/fdf40e038475498e160cd167333c946e45d8563ae4dd65caf757e9ffe6b4/watchfiles-1.1.0-cp312-cp312-win32.whl", hash = "sha256:cbcf8630ef4afb05dc30107bfa17f16c0896bb30ee48fc24bf64c1f970f3b1fd", size = 279209, upload-time = "2025-06-15T19:05:35.577Z" }, - { url = "https://files.pythonhosted.org/packages/3f/d3/3ae9d5124ec75143bdf088d436cba39812122edc47709cd2caafeac3266f/watchfiles-1.1.0-cp312-cp312-win_amd64.whl", hash = "sha256:cbd949bdd87567b0ad183d7676feb98136cde5bb9025403794a4c0db28ed3a47", size = 292786, upload-time = "2025-06-15T19:05:36.559Z" }, - { url = "https://files.pythonhosted.org/packages/26/2f/7dd4fc8b5f2b34b545e19629b4a018bfb1de23b3a496766a2c1165ca890d/watchfiles-1.1.0-cp312-cp312-win_arm64.whl", hash = "sha256:0a7d40b77f07be87c6faa93d0951a0fcd8cbca1ddff60a1b65d741bac6f3a9f6", size = 284343, upload-time = "2025-06-15T19:05:37.5Z" }, - { url = "https://files.pythonhosted.org/packages/d3/42/fae874df96595556a9089ade83be34a2e04f0f11eb53a8dbf8a8a5e562b4/watchfiles-1.1.0-cp313-cp313-macosx_10_12_x86_64.whl", hash = "sha256:5007f860c7f1f8df471e4e04aaa8c43673429047d63205d1630880f7637bca30", size = 402004, upload-time = "2025-06-15T19:05:38.499Z" }, - { url = "https://files.pythonhosted.org/packages/fa/55/a77e533e59c3003d9803c09c44c3651224067cbe7fb5d574ddbaa31e11ca/watchfiles-1.1.0-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:20ecc8abbd957046f1fe9562757903f5eaf57c3bce70929fda6c7711bb58074a", size = 393671, upload-time = "2025-06-15T19:05:39.52Z" }, - { url = "https://files.pythonhosted.org/packages/05/68/b0afb3f79c8e832e6571022611adbdc36e35a44e14f129ba09709aa4bb7a/watchfiles-1.1.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f2f0498b7d2a3c072766dba3274fe22a183dbea1f99d188f1c6c72209a1063dc", size = 449772, upload-time = "2025-06-15T19:05:40.897Z" }, - { url = "https://files.pythonhosted.org/packages/ff/05/46dd1f6879bc40e1e74c6c39a1b9ab9e790bf1f5a2fe6c08b463d9a807f4/watchfiles-1.1.0-cp313-cp313-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:239736577e848678e13b201bba14e89718f5c2133dfd6b1f7846fa1b58a8532b", size = 456789, upload-time = "2025-06-15T19:05:42.045Z" }, - { url = "https://files.pythonhosted.org/packages/8b/ca/0eeb2c06227ca7f12e50a47a3679df0cd1ba487ea19cf844a905920f8e95/watchfiles-1.1.0-cp313-cp313-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:eff4b8d89f444f7e49136dc695599a591ff769300734446c0a86cba2eb2f9895", size = 482551, upload-time = "2025-06-15T19:05:43.781Z" }, - { url = "https://files.pythonhosted.org/packages/31/47/2cecbd8694095647406645f822781008cc524320466ea393f55fe70eed3b/watchfiles-1.1.0-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:12b0a02a91762c08f7264e2e79542f76870c3040bbc847fb67410ab81474932a", size = 597420, upload-time = "2025-06-15T19:05:45.244Z" }, - { url = "https://files.pythonhosted.org/packages/d9/7e/82abc4240e0806846548559d70f0b1a6dfdca75c1b4f9fa62b504ae9b083/watchfiles-1.1.0-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:29e7bc2eee15cbb339c68445959108803dc14ee0c7b4eea556400131a8de462b", size = 477950, upload-time = "2025-06-15T19:05:46.332Z" }, - { url = "https://files.pythonhosted.org/packages/25/0d/4d564798a49bf5482a4fa9416dea6b6c0733a3b5700cb8a5a503c4b15853/watchfiles-1.1.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:d9481174d3ed982e269c090f780122fb59cee6c3796f74efe74e70f7780ed94c", size = 451706, upload-time = "2025-06-15T19:05:47.459Z" }, - { url = "https://files.pythonhosted.org/packages/81/b5/5516cf46b033192d544102ea07c65b6f770f10ed1d0a6d388f5d3874f6e4/watchfiles-1.1.0-cp313-cp313-musllinux_1_1_aarch64.whl", hash = "sha256:80f811146831c8c86ab17b640801c25dc0a88c630e855e2bef3568f30434d52b", size = 625814, upload-time = "2025-06-15T19:05:48.654Z" }, - { url = "https://files.pythonhosted.org/packages/0c/dd/7c1331f902f30669ac3e754680b6edb9a0dd06dea5438e61128111fadd2c/watchfiles-1.1.0-cp313-cp313-musllinux_1_1_x86_64.whl", hash = "sha256:60022527e71d1d1fda67a33150ee42869042bce3d0fcc9cc49be009a9cded3fb", size = 622820, upload-time = "2025-06-15T19:05:50.088Z" }, - { url = "https://files.pythonhosted.org/packages/1b/14/36d7a8e27cd128d7b1009e7715a7c02f6c131be9d4ce1e5c3b73d0e342d8/watchfiles-1.1.0-cp313-cp313-win32.whl", hash = "sha256:32d6d4e583593cb8576e129879ea0991660b935177c0f93c6681359b3654bfa9", size = 279194, upload-time = "2025-06-15T19:05:51.186Z" }, - { url = "https://files.pythonhosted.org/packages/25/41/2dd88054b849aa546dbeef5696019c58f8e0774f4d1c42123273304cdb2e/watchfiles-1.1.0-cp313-cp313-win_amd64.whl", hash = "sha256:f21af781a4a6fbad54f03c598ab620e3a77032c5878f3d780448421a6e1818c7", size = 292349, upload-time = "2025-06-15T19:05:52.201Z" }, - { url = "https://files.pythonhosted.org/packages/c8/cf/421d659de88285eb13941cf11a81f875c176f76a6d99342599be88e08d03/watchfiles-1.1.0-cp313-cp313-win_arm64.whl", hash = "sha256:5366164391873ed76bfdf618818c82084c9db7fac82b64a20c44d335eec9ced5", size = 283836, upload-time = "2025-06-15T19:05:53.265Z" }, - { url = "https://files.pythonhosted.org/packages/45/10/6faf6858d527e3599cc50ec9fcae73590fbddc1420bd4fdccfebffeedbc6/watchfiles-1.1.0-cp313-cp313t-macosx_10_12_x86_64.whl", hash = "sha256:17ab167cca6339c2b830b744eaf10803d2a5b6683be4d79d8475d88b4a8a4be1", size = 400343, upload-time = "2025-06-15T19:05:54.252Z" }, - { url = "https://files.pythonhosted.org/packages/03/20/5cb7d3966f5e8c718006d0e97dfe379a82f16fecd3caa7810f634412047a/watchfiles-1.1.0-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:328dbc9bff7205c215a7807da7c18dce37da7da718e798356212d22696404339", size = 392916, upload-time = "2025-06-15T19:05:55.264Z" }, - { url = "https://files.pythonhosted.org/packages/8c/07/d8f1176328fa9e9581b6f120b017e286d2a2d22ae3f554efd9515c8e1b49/watchfiles-1.1.0-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f7208ab6e009c627b7557ce55c465c98967e8caa8b11833531fdf95799372633", size = 449582, upload-time = "2025-06-15T19:05:56.317Z" }, - { url = "https://files.pythonhosted.org/packages/66/e8/80a14a453cf6038e81d072a86c05276692a1826471fef91df7537dba8b46/watchfiles-1.1.0-cp313-cp313t-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:a8f6f72974a19efead54195bc9bed4d850fc047bb7aa971268fd9a8387c89011", size = 456752, upload-time = "2025-06-15T19:05:57.359Z" }, - { url = "https://files.pythonhosted.org/packages/5a/25/0853b3fe0e3c2f5af9ea60eb2e781eade939760239a72c2d38fc4cc335f6/watchfiles-1.1.0-cp313-cp313t-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:d181ef50923c29cf0450c3cd47e2f0557b62218c50b2ab8ce2ecaa02bd97e670", size = 481436, upload-time = "2025-06-15T19:05:58.447Z" }, - { url = "https://files.pythonhosted.org/packages/fe/9e/4af0056c258b861fbb29dcb36258de1e2b857be4a9509e6298abcf31e5c9/watchfiles-1.1.0-cp313-cp313t-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:adb4167043d3a78280d5d05ce0ba22055c266cf8655ce942f2fb881262ff3cdf", size = 596016, upload-time = "2025-06-15T19:05:59.59Z" }, - { url = "https://files.pythonhosted.org/packages/c5/fa/95d604b58aa375e781daf350897aaaa089cff59d84147e9ccff2447c8294/watchfiles-1.1.0-cp313-cp313t-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:8c5701dc474b041e2934a26d31d39f90fac8a3dee2322b39f7729867f932b1d4", size = 476727, upload-time = "2025-06-15T19:06:01.086Z" }, - { url = "https://files.pythonhosted.org/packages/65/95/fe479b2664f19be4cf5ceeb21be05afd491d95f142e72d26a42f41b7c4f8/watchfiles-1.1.0-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:b067915e3c3936966a8607f6fe5487df0c9c4afb85226613b520890049deea20", size = 451864, upload-time = "2025-06-15T19:06:02.144Z" }, - { url = "https://files.pythonhosted.org/packages/d3/8a/3c4af14b93a15ce55901cd7a92e1a4701910f1768c78fb30f61d2b79785b/watchfiles-1.1.0-cp313-cp313t-musllinux_1_1_aarch64.whl", hash = "sha256:9c733cda03b6d636b4219625a4acb5c6ffb10803338e437fb614fef9516825ef", size = 625626, upload-time = "2025-06-15T19:06:03.578Z" }, - { url = "https://files.pythonhosted.org/packages/da/f5/cf6aa047d4d9e128f4b7cde615236a915673775ef171ff85971d698f3c2c/watchfiles-1.1.0-cp313-cp313t-musllinux_1_1_x86_64.whl", hash = "sha256:cc08ef8b90d78bfac66f0def80240b0197008e4852c9f285907377b2947ffdcb", size = 622744, upload-time = "2025-06-15T19:06:05.066Z" }, - { url = "https://files.pythonhosted.org/packages/2c/00/70f75c47f05dea6fd30df90f047765f6fc2d6eb8b5a3921379b0b04defa2/watchfiles-1.1.0-cp314-cp314-macosx_10_12_x86_64.whl", hash = "sha256:9974d2f7dc561cce3bb88dfa8eb309dab64c729de85fba32e98d75cf24b66297", size = 402114, upload-time = "2025-06-15T19:06:06.186Z" }, - { url = "https://files.pythonhosted.org/packages/53/03/acd69c48db4a1ed1de26b349d94077cca2238ff98fd64393f3e97484cae6/watchfiles-1.1.0-cp314-cp314-macosx_11_0_arm64.whl", hash = "sha256:c68e9f1fcb4d43798ad8814c4c1b61547b014b667216cb754e606bfade587018", size = 393879, upload-time = "2025-06-15T19:06:07.369Z" }, - { url = "https://files.pythonhosted.org/packages/2f/c8/a9a2a6f9c8baa4eceae5887fecd421e1b7ce86802bcfc8b6a942e2add834/watchfiles-1.1.0-cp314-cp314-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:95ab1594377effac17110e1352989bdd7bdfca9ff0e5eeccd8c69c5389b826d0", size = 450026, upload-time = "2025-06-15T19:06:08.476Z" }, - { url = "https://files.pythonhosted.org/packages/fe/51/d572260d98388e6e2b967425c985e07d47ee6f62e6455cefb46a6e06eda5/watchfiles-1.1.0-cp314-cp314-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:fba9b62da882c1be1280a7584ec4515d0a6006a94d6e5819730ec2eab60ffe12", size = 457917, upload-time = "2025-06-15T19:06:09.988Z" }, - { url = "https://files.pythonhosted.org/packages/c6/2d/4258e52917bf9f12909b6ec314ff9636276f3542f9d3807d143f27309104/watchfiles-1.1.0-cp314-cp314-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:3434e401f3ce0ed6b42569128b3d1e3af773d7ec18751b918b89cd49c14eaafb", size = 483602, upload-time = "2025-06-15T19:06:11.088Z" }, - { url = "https://files.pythonhosted.org/packages/84/99/bee17a5f341a4345fe7b7972a475809af9e528deba056f8963d61ea49f75/watchfiles-1.1.0-cp314-cp314-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:fa257a4d0d21fcbca5b5fcba9dca5a78011cb93c0323fb8855c6d2dfbc76eb77", size = 596758, upload-time = "2025-06-15T19:06:12.197Z" }, - { url = "https://files.pythonhosted.org/packages/40/76/e4bec1d59b25b89d2b0716b41b461ed655a9a53c60dc78ad5771fda5b3e6/watchfiles-1.1.0-cp314-cp314-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:7fd1b3879a578a8ec2076c7961076df540b9af317123f84569f5a9ddee64ce92", size = 477601, upload-time = "2025-06-15T19:06:13.391Z" }, - { url = "https://files.pythonhosted.org/packages/1f/fa/a514292956f4a9ce3c567ec0c13cce427c158e9f272062685a8a727d08fc/watchfiles-1.1.0-cp314-cp314-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:62cc7a30eeb0e20ecc5f4bd113cd69dcdb745a07c68c0370cea919f373f65d9e", size = 451936, upload-time = "2025-06-15T19:06:14.656Z" }, - { url = "https://files.pythonhosted.org/packages/32/5d/c3bf927ec3bbeb4566984eba8dd7a8eb69569400f5509904545576741f88/watchfiles-1.1.0-cp314-cp314-musllinux_1_1_aarch64.whl", hash = "sha256:891c69e027748b4a73847335d208e374ce54ca3c335907d381fde4e41661b13b", size = 626243, upload-time = "2025-06-15T19:06:16.232Z" }, - { url = "https://files.pythonhosted.org/packages/e6/65/6e12c042f1a68c556802a84d54bb06d35577c81e29fba14019562479159c/watchfiles-1.1.0-cp314-cp314-musllinux_1_1_x86_64.whl", hash = "sha256:12fe8eaffaf0faa7906895b4f8bb88264035b3f0243275e0bf24af0436b27259", size = 623073, upload-time = "2025-06-15T19:06:17.457Z" }, - { url = "https://files.pythonhosted.org/packages/89/ab/7f79d9bf57329e7cbb0a6fd4c7bd7d0cee1e4a8ef0041459f5409da3506c/watchfiles-1.1.0-cp314-cp314t-macosx_10_12_x86_64.whl", hash = "sha256:bfe3c517c283e484843cb2e357dd57ba009cff351edf45fb455b5fbd1f45b15f", size = 400872, upload-time = "2025-06-15T19:06:18.57Z" }, - { url = "https://files.pythonhosted.org/packages/df/d5/3f7bf9912798e9e6c516094db6b8932df53b223660c781ee37607030b6d3/watchfiles-1.1.0-cp314-cp314t-macosx_11_0_arm64.whl", hash = "sha256:a9ccbf1f129480ed3044f540c0fdbc4ee556f7175e5ab40fe077ff6baf286d4e", size = 392877, upload-time = "2025-06-15T19:06:19.55Z" }, - { url = "https://files.pythonhosted.org/packages/0d/c5/54ec7601a2798604e01c75294770dbee8150e81c6e471445d7601610b495/watchfiles-1.1.0-cp314-cp314t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:ba0e3255b0396cac3cc7bbace76404dd72b5438bf0d8e7cefa2f79a7f3649caa", size = 449645, upload-time = "2025-06-15T19:06:20.66Z" }, - { url = "https://files.pythonhosted.org/packages/0a/04/c2f44afc3b2fce21ca0b7802cbd37ed90a29874f96069ed30a36dfe57c2b/watchfiles-1.1.0-cp314-cp314t-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:4281cd9fce9fc0a9dbf0fc1217f39bf9cf2b4d315d9626ef1d4e87b84699e7e8", size = 457424, upload-time = "2025-06-15T19:06:21.712Z" }, - { url = "https://files.pythonhosted.org/packages/9f/b0/eec32cb6c14d248095261a04f290636da3df3119d4040ef91a4a50b29fa5/watchfiles-1.1.0-cp314-cp314t-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:6d2404af8db1329f9a3c9b79ff63e0ae7131986446901582067d9304ae8aaf7f", size = 481584, upload-time = "2025-06-15T19:06:22.777Z" }, - { url = "https://files.pythonhosted.org/packages/d1/e2/ca4bb71c68a937d7145aa25709e4f5d68eb7698a25ce266e84b55d591bbd/watchfiles-1.1.0-cp314-cp314t-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:e78b6ed8165996013165eeabd875c5dfc19d41b54f94b40e9fff0eb3193e5e8e", size = 596675, upload-time = "2025-06-15T19:06:24.226Z" }, - { url = "https://files.pythonhosted.org/packages/a1/dd/b0e4b7fb5acf783816bc950180a6cd7c6c1d2cf7e9372c0ea634e722712b/watchfiles-1.1.0-cp314-cp314t-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:249590eb75ccc117f488e2fabd1bfa33c580e24b96f00658ad88e38844a040bb", size = 477363, upload-time = "2025-06-15T19:06:25.42Z" }, - { url = "https://files.pythonhosted.org/packages/69/c4/088825b75489cb5b6a761a4542645718893d395d8c530b38734f19da44d2/watchfiles-1.1.0-cp314-cp314t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:d05686b5487cfa2e2c28ff1aa370ea3e6c5accfe6435944ddea1e10d93872147", size = 452240, upload-time = "2025-06-15T19:06:26.552Z" }, - { url = "https://files.pythonhosted.org/packages/10/8c/22b074814970eeef43b7c44df98c3e9667c1f7bf5b83e0ff0201b0bd43f9/watchfiles-1.1.0-cp314-cp314t-musllinux_1_1_aarch64.whl", hash = "sha256:d0e10e6f8f6dc5762adee7dece33b722282e1f59aa6a55da5d493a97282fedd8", size = 625607, upload-time = "2025-06-15T19:06:27.606Z" }, - { url = "https://files.pythonhosted.org/packages/32/fa/a4f5c2046385492b2273213ef815bf71a0d4c1943b784fb904e184e30201/watchfiles-1.1.0-cp314-cp314t-musllinux_1_1_x86_64.whl", hash = "sha256:af06c863f152005c7592df1d6a7009c836a247c9d8adb78fef8575a5a98699db", size = 623315, upload-time = "2025-06-15T19:06:29.076Z" }, +sdist = { url = "https://files.pythonhosted.org/packages/c2/c9/8869df9b2a2d6c59d79220a4db37679e74f807c559ffe5265e08b227a210/watchfiles-1.1.1.tar.gz", hash = "sha256:a173cb5c16c4f40ab19cecf48a534c409f7ea983ab8fed0741304a1c0a31b3f2", size = 94440, upload-time = "2025-10-14T15:06:21.08Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/74/d5/f039e7e3c639d9b1d09b07ea412a6806d38123f0508e5f9b48a87b0a76cc/watchfiles-1.1.1-cp312-cp312-macosx_10_12_x86_64.whl", hash = "sha256:8c89f9f2f740a6b7dcc753140dd5e1ab9215966f7a3530d0c0705c83b401bd7d", size = 404745, upload-time = "2025-10-14T15:04:46.731Z" }, + { url = "https://files.pythonhosted.org/packages/a5/96/a881a13aa1349827490dab2d363c8039527060cfcc2c92cc6d13d1b1049e/watchfiles-1.1.1-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:bd404be08018c37350f0d6e34676bd1e2889990117a2b90070b3007f172d0610", size = 391769, upload-time = "2025-10-14T15:04:48.003Z" }, + { url = "https://files.pythonhosted.org/packages/4b/5b/d3b460364aeb8da471c1989238ea0e56bec24b6042a68046adf3d9ddb01c/watchfiles-1.1.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:8526e8f916bb5b9a0a777c8317c23ce65de259422bba5b31325a6fa6029d33af", size = 449374, upload-time = "2025-10-14T15:04:49.179Z" }, + { url = "https://files.pythonhosted.org/packages/b9/44/5769cb62d4ed055cb17417c0a109a92f007114a4e07f30812a73a4efdb11/watchfiles-1.1.1-cp312-cp312-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:2edc3553362b1c38d9f06242416a5d8e9fe235c204a4072e988ce2e5bb1f69f6", size = 459485, upload-time = "2025-10-14T15:04:50.155Z" }, + { url = "https://files.pythonhosted.org/packages/19/0c/286b6301ded2eccd4ffd0041a1b726afda999926cf720aab63adb68a1e36/watchfiles-1.1.1-cp312-cp312-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:30f7da3fb3f2844259cba4720c3fc7138eb0f7b659c38f3bfa65084c7fc7abce", size = 488813, upload-time = "2025-10-14T15:04:51.059Z" }, + { url = "https://files.pythonhosted.org/packages/c7/2b/8530ed41112dd4a22f4dcfdb5ccf6a1baad1ff6eed8dc5a5f09e7e8c41c7/watchfiles-1.1.1-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:f8979280bdafff686ba5e4d8f97840f929a87ed9cdf133cbbd42f7766774d2aa", size = 594816, upload-time = "2025-10-14T15:04:52.031Z" }, + { url = "https://files.pythonhosted.org/packages/ce/d2/f5f9fb49489f184f18470d4f99f4e862a4b3e9ac2865688eb2099e3d837a/watchfiles-1.1.1-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:dcc5c24523771db3a294c77d94771abcfcb82a0e0ee8efd910c37c59ec1b31bb", size = 475186, upload-time = "2025-10-14T15:04:53.064Z" }, + { url = "https://files.pythonhosted.org/packages/cf/68/5707da262a119fb06fbe214d82dd1fe4a6f4af32d2d14de368d0349eb52a/watchfiles-1.1.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:1db5d7ae38ff20153d542460752ff397fcf5c96090c1230803713cf3147a6803", size = 456812, upload-time = "2025-10-14T15:04:55.174Z" }, + { url = "https://files.pythonhosted.org/packages/66/ab/3cbb8756323e8f9b6f9acb9ef4ec26d42b2109bce830cc1f3468df20511d/watchfiles-1.1.1-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:28475ddbde92df1874b6c5c8aaeb24ad5be47a11f87cde5a28ef3835932e3e94", size = 630196, upload-time = "2025-10-14T15:04:56.22Z" }, + { url = "https://files.pythonhosted.org/packages/78/46/7152ec29b8335f80167928944a94955015a345440f524d2dfe63fc2f437b/watchfiles-1.1.1-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:36193ed342f5b9842edd3532729a2ad55c4160ffcfa3700e0d54be496b70dd43", size = 622657, upload-time = "2025-10-14T15:04:57.521Z" }, + { url = "https://files.pythonhosted.org/packages/0a/bf/95895e78dd75efe9a7f31733607f384b42eb5feb54bd2eb6ed57cc2e94f4/watchfiles-1.1.1-cp312-cp312-win32.whl", hash = "sha256:859e43a1951717cc8de7f4c77674a6d389b106361585951d9e69572823f311d9", size = 272042, upload-time = "2025-10-14T15:04:59.046Z" }, + { url = "https://files.pythonhosted.org/packages/87/0a/90eb755f568de2688cb220171c4191df932232c20946966c27a59c400850/watchfiles-1.1.1-cp312-cp312-win_amd64.whl", hash = "sha256:91d4c9a823a8c987cce8fa2690923b069966dabb196dd8d137ea2cede885fde9", size = 288410, upload-time = "2025-10-14T15:05:00.081Z" }, + { url = "https://files.pythonhosted.org/packages/36/76/f322701530586922fbd6723c4f91ace21364924822a8772c549483abed13/watchfiles-1.1.1-cp312-cp312-win_arm64.whl", hash = "sha256:a625815d4a2bdca61953dbba5a39d60164451ef34c88d751f6c368c3ea73d404", size = 278209, upload-time = "2025-10-14T15:05:01.168Z" }, + { url = "https://files.pythonhosted.org/packages/bb/f4/f750b29225fe77139f7ae5de89d4949f5a99f934c65a1f1c0b248f26f747/watchfiles-1.1.1-cp313-cp313-macosx_10_12_x86_64.whl", hash = "sha256:130e4876309e8686a5e37dba7d5e9bc77e6ed908266996ca26572437a5271e18", size = 404321, upload-time = "2025-10-14T15:05:02.063Z" }, + { url = "https://files.pythonhosted.org/packages/2b/f9/f07a295cde762644aa4c4bb0f88921d2d141af45e735b965fb2e87858328/watchfiles-1.1.1-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:5f3bde70f157f84ece3765b42b4a52c6ac1a50334903c6eaf765362f6ccca88a", size = 391783, upload-time = "2025-10-14T15:05:03.052Z" }, + { url = "https://files.pythonhosted.org/packages/bc/11/fc2502457e0bea39a5c958d86d2cb69e407a4d00b85735ca724bfa6e0d1a/watchfiles-1.1.1-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:14e0b1fe858430fc0251737ef3824c54027bedb8c37c38114488b8e131cf8219", size = 449279, upload-time = "2025-10-14T15:05:04.004Z" }, + { url = "https://files.pythonhosted.org/packages/e3/1f/d66bc15ea0b728df3ed96a539c777acfcad0eb78555ad9efcaa1274688f0/watchfiles-1.1.1-cp313-cp313-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:f27db948078f3823a6bb3b465180db8ebecf26dd5dae6f6180bd87383b6b4428", size = 459405, upload-time = "2025-10-14T15:05:04.942Z" }, + { url = "https://files.pythonhosted.org/packages/be/90/9f4a65c0aec3ccf032703e6db02d89a157462fbb2cf20dd415128251cac0/watchfiles-1.1.1-cp313-cp313-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:059098c3a429f62fc98e8ec62b982230ef2c8df68c79e826e37b895bc359a9c0", size = 488976, upload-time = "2025-10-14T15:05:05.905Z" }, + { url = "https://files.pythonhosted.org/packages/37/57/ee347af605d867f712be7029bb94c8c071732a4b44792e3176fa3c612d39/watchfiles-1.1.1-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:bfb5862016acc9b869bb57284e6cb35fdf8e22fe59f7548858e2f971d045f150", size = 595506, upload-time = "2025-10-14T15:05:06.906Z" }, + { url = "https://files.pythonhosted.org/packages/a8/78/cc5ab0b86c122047f75e8fc471c67a04dee395daf847d3e59381996c8707/watchfiles-1.1.1-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:319b27255aacd9923b8a276bb14d21a5f7ff82564c744235fc5eae58d95422ae", size = 474936, upload-time = "2025-10-14T15:05:07.906Z" }, + { url = "https://files.pythonhosted.org/packages/62/da/def65b170a3815af7bd40a3e7010bf6ab53089ef1b75d05dd5385b87cf08/watchfiles-1.1.1-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:c755367e51db90e75b19454b680903631d41f9e3607fbd941d296a020c2d752d", size = 456147, upload-time = "2025-10-14T15:05:09.138Z" }, + { url = "https://files.pythonhosted.org/packages/57/99/da6573ba71166e82d288d4df0839128004c67d2778d3b566c138695f5c0b/watchfiles-1.1.1-cp313-cp313-musllinux_1_1_aarch64.whl", hash = "sha256:c22c776292a23bfc7237a98f791b9ad3144b02116ff10d820829ce62dff46d0b", size = 630007, upload-time = "2025-10-14T15:05:10.117Z" }, + { url = "https://files.pythonhosted.org/packages/a8/51/7439c4dd39511368849eb1e53279cd3454b4a4dbace80bab88feeb83c6b5/watchfiles-1.1.1-cp313-cp313-musllinux_1_1_x86_64.whl", hash = "sha256:3a476189be23c3686bc2f4321dd501cb329c0a0469e77b7b534ee10129ae6374", size = 622280, upload-time = "2025-10-14T15:05:11.146Z" }, + { url = "https://files.pythonhosted.org/packages/95/9c/8ed97d4bba5db6fdcdb2b298d3898f2dd5c20f6b73aee04eabe56c59677e/watchfiles-1.1.1-cp313-cp313-win32.whl", hash = "sha256:bf0a91bfb5574a2f7fc223cf95eeea79abfefa404bf1ea5e339c0c1560ae99a0", size = 272056, upload-time = "2025-10-14T15:05:12.156Z" }, + { url = "https://files.pythonhosted.org/packages/1f/f3/c14e28429f744a260d8ceae18bf58c1d5fa56b50d006a7a9f80e1882cb0d/watchfiles-1.1.1-cp313-cp313-win_amd64.whl", hash = "sha256:52e06553899e11e8074503c8e716d574adeeb7e68913115c4b3653c53f9bae42", size = 288162, upload-time = "2025-10-14T15:05:13.208Z" }, + { url = "https://files.pythonhosted.org/packages/dc/61/fe0e56c40d5cd29523e398d31153218718c5786b5e636d9ae8ae79453d27/watchfiles-1.1.1-cp313-cp313-win_arm64.whl", hash = "sha256:ac3cc5759570cd02662b15fbcd9d917f7ecd47efe0d6b40474eafd246f91ea18", size = 277909, upload-time = "2025-10-14T15:05:14.49Z" }, + { url = "https://files.pythonhosted.org/packages/79/42/e0a7d749626f1e28c7108a99fb9bf524b501bbbeb9b261ceecde644d5a07/watchfiles-1.1.1-cp313-cp313t-macosx_10_12_x86_64.whl", hash = "sha256:563b116874a9a7ce6f96f87cd0b94f7faf92d08d0021e837796f0a14318ef8da", size = 403389, upload-time = "2025-10-14T15:05:15.777Z" }, + { url = "https://files.pythonhosted.org/packages/15/49/08732f90ce0fbbc13913f9f215c689cfc9ced345fb1bcd8829a50007cc8d/watchfiles-1.1.1-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:3ad9fe1dae4ab4212d8c91e80b832425e24f421703b5a42ef2e4a1e215aff051", size = 389964, upload-time = "2025-10-14T15:05:16.85Z" }, + { url = "https://files.pythonhosted.org/packages/27/0d/7c315d4bd5f2538910491a0393c56bf70d333d51bc5b34bee8e68e8cea19/watchfiles-1.1.1-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:ce70f96a46b894b36eba678f153f052967a0d06d5b5a19b336ab0dbbd029f73e", size = 448114, upload-time = "2025-10-14T15:05:17.876Z" }, + { url = "https://files.pythonhosted.org/packages/c3/24/9e096de47a4d11bc4df41e9d1e61776393eac4cb6eb11b3e23315b78b2cc/watchfiles-1.1.1-cp313-cp313t-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:cb467c999c2eff23a6417e58d75e5828716f42ed8289fe6b77a7e5a91036ca70", size = 460264, upload-time = "2025-10-14T15:05:18.962Z" }, + { url = "https://files.pythonhosted.org/packages/cc/0f/e8dea6375f1d3ba5fcb0b3583e2b493e77379834c74fd5a22d66d85d6540/watchfiles-1.1.1-cp313-cp313t-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:836398932192dae4146c8f6f737d74baeac8b70ce14831a239bdb1ca882fc261", size = 487877, upload-time = "2025-10-14T15:05:20.094Z" }, + { url = "https://files.pythonhosted.org/packages/ac/5b/df24cfc6424a12deb41503b64d42fbea6b8cb357ec62ca84a5a3476f654a/watchfiles-1.1.1-cp313-cp313t-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:743185e7372b7bc7c389e1badcc606931a827112fbbd37f14c537320fca08620", size = 595176, upload-time = "2025-10-14T15:05:21.134Z" }, + { url = "https://files.pythonhosted.org/packages/8f/b5/853b6757f7347de4e9b37e8cc3289283fb983cba1ab4d2d7144694871d9c/watchfiles-1.1.1-cp313-cp313t-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:afaeff7696e0ad9f02cbb8f56365ff4686ab205fcf9c4c5b6fdfaaa16549dd04", size = 473577, upload-time = "2025-10-14T15:05:22.306Z" }, + { url = "https://files.pythonhosted.org/packages/e1/f7/0a4467be0a56e80447c8529c9fce5b38eab4f513cb3d9bf82e7392a5696b/watchfiles-1.1.1-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3f7eb7da0eb23aa2ba036d4f616d46906013a68caf61b7fdbe42fc8b25132e77", size = 455425, upload-time = "2025-10-14T15:05:23.348Z" }, + { url = "https://files.pythonhosted.org/packages/8e/e0/82583485ea00137ddf69bc84a2db88bd92ab4a6e3c405e5fb878ead8d0e7/watchfiles-1.1.1-cp313-cp313t-musllinux_1_1_aarch64.whl", hash = "sha256:831a62658609f0e5c64178211c942ace999517f5770fe9436be4c2faeba0c0ef", size = 628826, upload-time = "2025-10-14T15:05:24.398Z" }, + { url = "https://files.pythonhosted.org/packages/28/9a/a785356fccf9fae84c0cc90570f11702ae9571036fb25932f1242c82191c/watchfiles-1.1.1-cp313-cp313t-musllinux_1_1_x86_64.whl", hash = "sha256:f9a2ae5c91cecc9edd47e041a930490c31c3afb1f5e6d71de3dc671bfaca02bf", size = 622208, upload-time = "2025-10-14T15:05:25.45Z" }, + { url = "https://files.pythonhosted.org/packages/c3/f4/0872229324ef69b2c3edec35e84bd57a1289e7d3fe74588048ed8947a323/watchfiles-1.1.1-cp314-cp314-macosx_10_12_x86_64.whl", hash = "sha256:d1715143123baeeaeadec0528bb7441103979a1d5f6fd0e1f915383fea7ea6d5", size = 404315, upload-time = "2025-10-14T15:05:26.501Z" }, + { url = "https://files.pythonhosted.org/packages/7b/22/16d5331eaed1cb107b873f6ae1b69e9ced582fcf0c59a50cd84f403b1c32/watchfiles-1.1.1-cp314-cp314-macosx_11_0_arm64.whl", hash = "sha256:39574d6370c4579d7f5d0ad940ce5b20db0e4117444e39b6d8f99db5676c52fd", size = 390869, upload-time = "2025-10-14T15:05:27.649Z" }, + { url = "https://files.pythonhosted.org/packages/b2/7e/5643bfff5acb6539b18483128fdc0ef2cccc94a5b8fbda130c823e8ed636/watchfiles-1.1.1-cp314-cp314-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:7365b92c2e69ee952902e8f70f3ba6360d0d596d9299d55d7d386df84b6941fb", size = 449919, upload-time = "2025-10-14T15:05:28.701Z" }, + { url = "https://files.pythonhosted.org/packages/51/2e/c410993ba5025a9f9357c376f48976ef0e1b1aefb73b97a5ae01a5972755/watchfiles-1.1.1-cp314-cp314-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:bfff9740c69c0e4ed32416f013f3c45e2ae42ccedd1167ef2d805c000b6c71a5", size = 460845, upload-time = "2025-10-14T15:05:30.064Z" }, + { url = "https://files.pythonhosted.org/packages/8e/a4/2df3b404469122e8680f0fcd06079317e48db58a2da2950fb45020947734/watchfiles-1.1.1-cp314-cp314-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:b27cf2eb1dda37b2089e3907d8ea92922b673c0c427886d4edc6b94d8dfe5db3", size = 489027, upload-time = "2025-10-14T15:05:31.064Z" }, + { url = "https://files.pythonhosted.org/packages/ea/84/4587ba5b1f267167ee715b7f66e6382cca6938e0a4b870adad93e44747e6/watchfiles-1.1.1-cp314-cp314-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:526e86aced14a65a5b0ec50827c745597c782ff46b571dbfe46192ab9e0b3c33", size = 595615, upload-time = "2025-10-14T15:05:32.074Z" }, + { url = "https://files.pythonhosted.org/packages/6a/0f/c6988c91d06e93cd0bb3d4a808bcf32375ca1904609835c3031799e3ecae/watchfiles-1.1.1-cp314-cp314-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:04e78dd0b6352db95507fd8cb46f39d185cf8c74e4cf1e4fbad1d3df96faf510", size = 474836, upload-time = "2025-10-14T15:05:33.209Z" }, + { url = "https://files.pythonhosted.org/packages/b4/36/ded8aebea91919485b7bbabbd14f5f359326cb5ec218cd67074d1e426d74/watchfiles-1.1.1-cp314-cp314-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:5c85794a4cfa094714fb9c08d4a218375b2b95b8ed1666e8677c349906246c05", size = 455099, upload-time = "2025-10-14T15:05:34.189Z" }, + { url = "https://files.pythonhosted.org/packages/98/e0/8c9bdba88af756a2fce230dd365fab2baf927ba42cd47521ee7498fd5211/watchfiles-1.1.1-cp314-cp314-musllinux_1_1_aarch64.whl", hash = "sha256:74d5012b7630714b66be7b7b7a78855ef7ad58e8650c73afc4c076a1f480a8d6", size = 630626, upload-time = "2025-10-14T15:05:35.216Z" }, + { url = "https://files.pythonhosted.org/packages/2a/84/a95db05354bf2d19e438520d92a8ca475e578c647f78f53197f5a2f17aaf/watchfiles-1.1.1-cp314-cp314-musllinux_1_1_x86_64.whl", hash = "sha256:8fbe85cb3201c7d380d3d0b90e63d520f15d6afe217165d7f98c9c649654db81", size = 622519, upload-time = "2025-10-14T15:05:36.259Z" }, + { url = "https://files.pythonhosted.org/packages/1d/ce/d8acdc8de545de995c339be67711e474c77d643555a9bb74a9334252bd55/watchfiles-1.1.1-cp314-cp314-win32.whl", hash = "sha256:3fa0b59c92278b5a7800d3ee7733da9d096d4aabcfabb9a928918bd276ef9b9b", size = 272078, upload-time = "2025-10-14T15:05:37.63Z" }, + { url = "https://files.pythonhosted.org/packages/c4/c9/a74487f72d0451524be827e8edec251da0cc1fcf111646a511ae752e1a3d/watchfiles-1.1.1-cp314-cp314-win_amd64.whl", hash = "sha256:c2047d0b6cea13b3316bdbafbfa0c4228ae593d995030fda39089d36e64fc03a", size = 287664, upload-time = "2025-10-14T15:05:38.95Z" }, + { url = "https://files.pythonhosted.org/packages/df/b8/8ac000702cdd496cdce998c6f4ee0ca1f15977bba51bdf07d872ebdfc34c/watchfiles-1.1.1-cp314-cp314-win_arm64.whl", hash = "sha256:842178b126593addc05acf6fce960d28bc5fae7afbaa2c6c1b3a7b9460e5be02", size = 277154, upload-time = "2025-10-14T15:05:39.954Z" }, + { url = "https://files.pythonhosted.org/packages/47/a8/e3af2184707c29f0f14b1963c0aace6529f9d1b8582d5b99f31bbf42f59e/watchfiles-1.1.1-cp314-cp314t-macosx_10_12_x86_64.whl", hash = "sha256:88863fbbc1a7312972f1c511f202eb30866370ebb8493aef2812b9ff28156a21", size = 403820, upload-time = "2025-10-14T15:05:40.932Z" }, + { url = "https://files.pythonhosted.org/packages/c0/ec/e47e307c2f4bd75f9f9e8afbe3876679b18e1bcec449beca132a1c5ffb2d/watchfiles-1.1.1-cp314-cp314t-macosx_11_0_arm64.whl", hash = "sha256:55c7475190662e202c08c6c0f4d9e345a29367438cf8e8037f3155e10a88d5a5", size = 390510, upload-time = "2025-10-14T15:05:41.945Z" }, + { url = "https://files.pythonhosted.org/packages/d5/a0/ad235642118090f66e7b2f18fd5c42082418404a79205cdfca50b6309c13/watchfiles-1.1.1-cp314-cp314t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:3f53fa183d53a1d7a8852277c92b967ae99c2d4dcee2bfacff8868e6e30b15f7", size = 448408, upload-time = "2025-10-14T15:05:43.385Z" }, + { url = "https://files.pythonhosted.org/packages/df/85/97fa10fd5ff3332ae17e7e40e20784e419e28521549780869f1413742e9d/watchfiles-1.1.1-cp314-cp314t-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:6aae418a8b323732fa89721d86f39ec8f092fc2af67f4217a2b07fd3e93c6101", size = 458968, upload-time = "2025-10-14T15:05:44.404Z" }, + { url = "https://files.pythonhosted.org/packages/47/c2/9059c2e8966ea5ce678166617a7f75ecba6164375f3b288e50a40dc6d489/watchfiles-1.1.1-cp314-cp314t-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:f096076119da54a6080e8920cbdaac3dbee667eb91dcc5e5b78840b87415bd44", size = 488096, upload-time = "2025-10-14T15:05:45.398Z" }, + { url = "https://files.pythonhosted.org/packages/94/44/d90a9ec8ac309bc26db808a13e7bfc0e4e78b6fc051078a554e132e80160/watchfiles-1.1.1-cp314-cp314t-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:00485f441d183717038ed2e887a7c868154f216877653121068107b227a2f64c", size = 596040, upload-time = "2025-10-14T15:05:46.502Z" }, + { url = "https://files.pythonhosted.org/packages/95/68/4e3479b20ca305cfc561db3ed207a8a1c745ee32bf24f2026a129d0ddb6e/watchfiles-1.1.1-cp314-cp314t-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:a55f3e9e493158d7bfdb60a1165035f1cf7d320914e7b7ea83fe22c6023b58fc", size = 473847, upload-time = "2025-10-14T15:05:47.484Z" }, + { url = "https://files.pythonhosted.org/packages/4f/55/2af26693fd15165c4ff7857e38330e1b61ab8c37d15dc79118cdba115b7a/watchfiles-1.1.1-cp314-cp314t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:8c91ed27800188c2ae96d16e3149f199d62f86c7af5f5f4d2c61a3ed8cd3666c", size = 455072, upload-time = "2025-10-14T15:05:48.928Z" }, + { url = "https://files.pythonhosted.org/packages/66/1d/d0d200b10c9311ec25d2273f8aad8c3ef7cc7ea11808022501811208a750/watchfiles-1.1.1-cp314-cp314t-musllinux_1_1_aarch64.whl", hash = "sha256:311ff15a0bae3714ffb603e6ba6dbfba4065ab60865d15a6ec544133bdb21099", size = 629104, upload-time = "2025-10-14T15:05:49.908Z" }, + { url = "https://files.pythonhosted.org/packages/e3/bd/fa9bb053192491b3867ba07d2343d9f2252e00811567d30ae8d0f78136fe/watchfiles-1.1.1-cp314-cp314t-musllinux_1_1_x86_64.whl", hash = "sha256:a916a2932da8f8ab582f242c065f5c81bed3462849ca79ee357dd9551b0e9b01", size = 622112, upload-time = "2025-10-14T15:05:50.941Z" }, ] [[package]] name = "wcwidth" -version = "0.2.13" +version = "0.2.14" source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/6c/63/53559446a878410fc5a5974feb13d31d78d752eb18aeba59c7fef1af7598/wcwidth-0.2.13.tar.gz", hash = "sha256:72ea0c06399eb286d978fdedb6923a9eb47e1c486ce63e9b4e64fc18303972b5", size = 101301, upload-time = "2024-01-06T02:10:57.829Z" } +sdist = { url = "https://files.pythonhosted.org/packages/24/30/6b0809f4510673dc723187aeaf24c7f5459922d01e2f794277a3dfb90345/wcwidth-0.2.14.tar.gz", hash = "sha256:4d478375d31bc5395a3c55c40ccdf3354688364cd61c4f6adacaa9215d0b3605", size = 102293, upload-time = "2025-09-22T16:29:53.023Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/fd/84/fd2ba7aafacbad3c4201d395674fc6348826569da3c0937e75505ead3528/wcwidth-0.2.13-py2.py3-none-any.whl", hash = "sha256:3da69048e4540d84af32131829ff948f1e022c1c6bdb8d6102117aac784f6859", size = 34166, upload-time = "2024-01-06T02:10:55.763Z" }, + { url = "https://files.pythonhosted.org/packages/af/b5/123f13c975e9f27ab9c0770f514345bd406d0e8d3b7a0723af9d43f710af/wcwidth-0.2.14-py2.py3-none-any.whl", hash = "sha256:a7bb560c8aee30f9957e5f9895805edd20602f2d7f720186dfd906e82b4982e1", size = 37286, upload-time = "2025-09-22T16:29:51.641Z" }, ] [[package]] @@ -2647,79 +3070,108 @@ wheels = [ [[package]] name = "yarl" -version = "1.20.1" +version = "1.22.0" source = { registry = "https://pypi.org/simple" } dependencies = [ { name = "idna" }, { name = "multidict" }, { name = "propcache" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/3c/fb/efaa23fa4e45537b827620f04cf8f3cd658b76642205162e072703a5b963/yarl-1.20.1.tar.gz", hash = "sha256:d017a4997ee50c91fd5466cef416231bb82177b93b029906cefc542ce14c35ac", size = 186428, upload-time = "2025-06-10T00:46:09.923Z" } -wheels = [ - { url = "https://files.pythonhosted.org/packages/5f/9a/cb7fad7d73c69f296eda6815e4a2c7ed53fc70c2f136479a91c8e5fbdb6d/yarl-1.20.1-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:bdcc4cd244e58593a4379fe60fdee5ac0331f8eb70320a24d591a3be197b94a9", size = 133667, upload-time = "2025-06-10T00:43:44.369Z" }, - { url = "https://files.pythonhosted.org/packages/67/38/688577a1cb1e656e3971fb66a3492501c5a5df56d99722e57c98249e5b8a/yarl-1.20.1-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:b29a2c385a5f5b9c7d9347e5812b6f7ab267193c62d282a540b4fc528c8a9d2a", size = 91025, upload-time = "2025-06-10T00:43:46.295Z" }, - { url = "https://files.pythonhosted.org/packages/50/ec/72991ae51febeb11a42813fc259f0d4c8e0507f2b74b5514618d8b640365/yarl-1.20.1-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:1112ae8154186dfe2de4732197f59c05a83dc814849a5ced892b708033f40dc2", size = 89709, upload-time = "2025-06-10T00:43:48.22Z" }, - { url = "https://files.pythonhosted.org/packages/99/da/4d798025490e89426e9f976702e5f9482005c548c579bdae792a4c37769e/yarl-1.20.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:90bbd29c4fe234233f7fa2b9b121fb63c321830e5d05b45153a2ca68f7d310ee", size = 352287, upload-time = "2025-06-10T00:43:49.924Z" }, - { url = "https://files.pythonhosted.org/packages/1a/26/54a15c6a567aac1c61b18aa0f4b8aa2e285a52d547d1be8bf48abe2b3991/yarl-1.20.1-cp312-cp312-manylinux_2_17_armv7l.manylinux2014_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:680e19c7ce3710ac4cd964e90dad99bf9b5029372ba0c7cbfcd55e54d90ea819", size = 345429, upload-time = "2025-06-10T00:43:51.7Z" }, - { url = "https://files.pythonhosted.org/packages/d6/95/9dcf2386cb875b234353b93ec43e40219e14900e046bf6ac118f94b1e353/yarl-1.20.1-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:4a979218c1fdb4246a05efc2cc23859d47c89af463a90b99b7c56094daf25a16", size = 365429, upload-time = "2025-06-10T00:43:53.494Z" }, - { url = "https://files.pythonhosted.org/packages/91/b2/33a8750f6a4bc224242a635f5f2cff6d6ad5ba651f6edcccf721992c21a0/yarl-1.20.1-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:255b468adf57b4a7b65d8aad5b5138dce6a0752c139965711bdcb81bc370e1b6", size = 363862, upload-time = "2025-06-10T00:43:55.766Z" }, - { url = "https://files.pythonhosted.org/packages/98/28/3ab7acc5b51f4434b181b0cee8f1f4b77a65919700a355fb3617f9488874/yarl-1.20.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a97d67108e79cfe22e2b430d80d7571ae57d19f17cda8bb967057ca8a7bf5bfd", size = 355616, upload-time = "2025-06-10T00:43:58.056Z" }, - { url = "https://files.pythonhosted.org/packages/36/a3/f666894aa947a371724ec7cd2e5daa78ee8a777b21509b4252dd7bd15e29/yarl-1.20.1-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:8570d998db4ddbfb9a590b185a0a33dbf8aafb831d07a5257b4ec9948df9cb0a", size = 339954, upload-time = "2025-06-10T00:43:59.773Z" }, - { url = "https://files.pythonhosted.org/packages/f1/81/5f466427e09773c04219d3450d7a1256138a010b6c9f0af2d48565e9ad13/yarl-1.20.1-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:97c75596019baae7c71ccf1d8cc4738bc08134060d0adfcbe5642f778d1dca38", size = 365575, upload-time = "2025-06-10T00:44:02.051Z" }, - { url = "https://files.pythonhosted.org/packages/2e/e3/e4b0ad8403e97e6c9972dd587388940a032f030ebec196ab81a3b8e94d31/yarl-1.20.1-cp312-cp312-musllinux_1_2_armv7l.whl", hash = "sha256:1c48912653e63aef91ff988c5432832692ac5a1d8f0fb8a33091520b5bbe19ef", size = 365061, upload-time = "2025-06-10T00:44:04.196Z" }, - { url = "https://files.pythonhosted.org/packages/ac/99/b8a142e79eb86c926f9f06452eb13ecb1bb5713bd01dc0038faf5452e544/yarl-1.20.1-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:4c3ae28f3ae1563c50f3d37f064ddb1511ecc1d5584e88c6b7c63cf7702a6d5f", size = 364142, upload-time = "2025-06-10T00:44:06.527Z" }, - { url = "https://files.pythonhosted.org/packages/34/f2/08ed34a4a506d82a1a3e5bab99ccd930a040f9b6449e9fd050320e45845c/yarl-1.20.1-cp312-cp312-musllinux_1_2_ppc64le.whl", hash = "sha256:c5e9642f27036283550f5f57dc6156c51084b458570b9d0d96100c8bebb186a8", size = 381894, upload-time = "2025-06-10T00:44:08.379Z" }, - { url = "https://files.pythonhosted.org/packages/92/f8/9a3fbf0968eac704f681726eff595dce9b49c8a25cd92bf83df209668285/yarl-1.20.1-cp312-cp312-musllinux_1_2_s390x.whl", hash = "sha256:2c26b0c49220d5799f7b22c6838409ee9bc58ee5c95361a4d7831f03cc225b5a", size = 383378, upload-time = "2025-06-10T00:44:10.51Z" }, - { url = "https://files.pythonhosted.org/packages/af/85/9363f77bdfa1e4d690957cd39d192c4cacd1c58965df0470a4905253b54f/yarl-1.20.1-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:564ab3d517e3d01c408c67f2e5247aad4019dcf1969982aba3974b4093279004", size = 374069, upload-time = "2025-06-10T00:44:12.834Z" }, - { url = "https://files.pythonhosted.org/packages/35/99/9918c8739ba271dcd935400cff8b32e3cd319eaf02fcd023d5dcd487a7c8/yarl-1.20.1-cp312-cp312-win32.whl", hash = "sha256:daea0d313868da1cf2fac6b2d3a25c6e3a9e879483244be38c8e6a41f1d876a5", size = 81249, upload-time = "2025-06-10T00:44:14.731Z" }, - { url = "https://files.pythonhosted.org/packages/eb/83/5d9092950565481b413b31a23e75dd3418ff0a277d6e0abf3729d4d1ce25/yarl-1.20.1-cp312-cp312-win_amd64.whl", hash = "sha256:48ea7d7f9be0487339828a4de0360d7ce0efc06524a48e1810f945c45b813698", size = 86710, upload-time = "2025-06-10T00:44:16.716Z" }, - { url = "https://files.pythonhosted.org/packages/8a/e1/2411b6d7f769a07687acee88a062af5833cf1966b7266f3d8dfb3d3dc7d3/yarl-1.20.1-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:0b5ff0fbb7c9f1b1b5ab53330acbfc5247893069e7716840c8e7d5bb7355038a", size = 131811, upload-time = "2025-06-10T00:44:18.933Z" }, - { url = "https://files.pythonhosted.org/packages/b2/27/584394e1cb76fb771371770eccad35de400e7b434ce3142c2dd27392c968/yarl-1.20.1-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:14f326acd845c2b2e2eb38fb1346c94f7f3b01a4f5c788f8144f9b630bfff9a3", size = 90078, upload-time = "2025-06-10T00:44:20.635Z" }, - { url = "https://files.pythonhosted.org/packages/bf/9a/3246ae92d4049099f52d9b0fe3486e3b500e29b7ea872d0f152966fc209d/yarl-1.20.1-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:f60e4ad5db23f0b96e49c018596707c3ae89f5d0bd97f0ad3684bcbad899f1e7", size = 88748, upload-time = "2025-06-10T00:44:22.34Z" }, - { url = "https://files.pythonhosted.org/packages/a3/25/35afe384e31115a1a801fbcf84012d7a066d89035befae7c5d4284df1e03/yarl-1.20.1-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:49bdd1b8e00ce57e68ba51916e4bb04461746e794e7c4d4bbc42ba2f18297691", size = 349595, upload-time = "2025-06-10T00:44:24.314Z" }, - { url = "https://files.pythonhosted.org/packages/28/2d/8aca6cb2cabc8f12efcb82749b9cefecbccfc7b0384e56cd71058ccee433/yarl-1.20.1-cp313-cp313-manylinux_2_17_armv7l.manylinux2014_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:66252d780b45189975abfed839616e8fd2dbacbdc262105ad7742c6ae58f3e31", size = 342616, upload-time = "2025-06-10T00:44:26.167Z" }, - { url = "https://files.pythonhosted.org/packages/0b/e9/1312633d16b31acf0098d30440ca855e3492d66623dafb8e25b03d00c3da/yarl-1.20.1-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:59174e7332f5d153d8f7452a102b103e2e74035ad085f404df2e40e663a22b28", size = 361324, upload-time = "2025-06-10T00:44:27.915Z" }, - { url = "https://files.pythonhosted.org/packages/bc/a0/688cc99463f12f7669eec7c8acc71ef56a1521b99eab7cd3abb75af887b0/yarl-1.20.1-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:e3968ec7d92a0c0f9ac34d5ecfd03869ec0cab0697c91a45db3fbbd95fe1b653", size = 359676, upload-time = "2025-06-10T00:44:30.041Z" }, - { url = "https://files.pythonhosted.org/packages/af/44/46407d7f7a56e9a85a4c207724c9f2c545c060380718eea9088f222ba697/yarl-1.20.1-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:d1a4fbb50e14396ba3d375f68bfe02215d8e7bc3ec49da8341fe3157f59d2ff5", size = 352614, upload-time = "2025-06-10T00:44:32.171Z" }, - { url = "https://files.pythonhosted.org/packages/b1/91/31163295e82b8d5485d31d9cf7754d973d41915cadce070491778d9c9825/yarl-1.20.1-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:11a62c839c3a8eac2410e951301309426f368388ff2f33799052787035793b02", size = 336766, upload-time = "2025-06-10T00:44:34.494Z" }, - { url = "https://files.pythonhosted.org/packages/b4/8e/c41a5bc482121f51c083c4c2bcd16b9e01e1cf8729e380273a952513a21f/yarl-1.20.1-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:041eaa14f73ff5a8986b4388ac6bb43a77f2ea09bf1913df7a35d4646db69e53", size = 364615, upload-time = "2025-06-10T00:44:36.856Z" }, - { url = "https://files.pythonhosted.org/packages/e3/5b/61a3b054238d33d70ea06ebba7e58597891b71c699e247df35cc984ab393/yarl-1.20.1-cp313-cp313-musllinux_1_2_armv7l.whl", hash = "sha256:377fae2fef158e8fd9d60b4c8751387b8d1fb121d3d0b8e9b0be07d1b41e83dc", size = 360982, upload-time = "2025-06-10T00:44:39.141Z" }, - { url = "https://files.pythonhosted.org/packages/df/a3/6a72fb83f8d478cb201d14927bc8040af901811a88e0ff2da7842dd0ed19/yarl-1.20.1-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:1c92f4390e407513f619d49319023664643d3339bd5e5a56a3bebe01bc67ec04", size = 369792, upload-time = "2025-06-10T00:44:40.934Z" }, - { url = "https://files.pythonhosted.org/packages/7c/af/4cc3c36dfc7c077f8dedb561eb21f69e1e9f2456b91b593882b0b18c19dc/yarl-1.20.1-cp313-cp313-musllinux_1_2_ppc64le.whl", hash = "sha256:d25ddcf954df1754ab0f86bb696af765c5bfaba39b74095f27eececa049ef9a4", size = 382049, upload-time = "2025-06-10T00:44:42.854Z" }, - { url = "https://files.pythonhosted.org/packages/19/3a/e54e2c4752160115183a66dc9ee75a153f81f3ab2ba4bf79c3c53b33de34/yarl-1.20.1-cp313-cp313-musllinux_1_2_s390x.whl", hash = "sha256:909313577e9619dcff8c31a0ea2aa0a2a828341d92673015456b3ae492e7317b", size = 384774, upload-time = "2025-06-10T00:44:45.275Z" }, - { url = "https://files.pythonhosted.org/packages/9c/20/200ae86dabfca89060ec6447649f219b4cbd94531e425e50d57e5f5ac330/yarl-1.20.1-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:793fd0580cb9664548c6b83c63b43c477212c0260891ddf86809e1c06c8b08f1", size = 374252, upload-time = "2025-06-10T00:44:47.31Z" }, - { url = "https://files.pythonhosted.org/packages/83/75/11ee332f2f516b3d094e89448da73d557687f7d137d5a0f48c40ff211487/yarl-1.20.1-cp313-cp313-win32.whl", hash = "sha256:468f6e40285de5a5b3c44981ca3a319a4b208ccc07d526b20b12aeedcfa654b7", size = 81198, upload-time = "2025-06-10T00:44:49.164Z" }, - { url = "https://files.pythonhosted.org/packages/ba/ba/39b1ecbf51620b40ab402b0fc817f0ff750f6d92712b44689c2c215be89d/yarl-1.20.1-cp313-cp313-win_amd64.whl", hash = "sha256:495b4ef2fea40596bfc0affe3837411d6aa3371abcf31aac0ccc4bdd64d4ef5c", size = 86346, upload-time = "2025-06-10T00:44:51.182Z" }, - { url = "https://files.pythonhosted.org/packages/43/c7/669c52519dca4c95153c8ad96dd123c79f354a376346b198f438e56ffeb4/yarl-1.20.1-cp313-cp313t-macosx_10_13_universal2.whl", hash = "sha256:f60233b98423aab21d249a30eb27c389c14929f47be8430efa7dbd91493a729d", size = 138826, upload-time = "2025-06-10T00:44:52.883Z" }, - { url = "https://files.pythonhosted.org/packages/6a/42/fc0053719b44f6ad04a75d7f05e0e9674d45ef62f2d9ad2c1163e5c05827/yarl-1.20.1-cp313-cp313t-macosx_10_13_x86_64.whl", hash = "sha256:6f3eff4cc3f03d650d8755c6eefc844edde99d641d0dcf4da3ab27141a5f8ddf", size = 93217, upload-time = "2025-06-10T00:44:54.658Z" }, - { url = "https://files.pythonhosted.org/packages/4f/7f/fa59c4c27e2a076bba0d959386e26eba77eb52ea4a0aac48e3515c186b4c/yarl-1.20.1-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:69ff8439d8ba832d6bed88af2c2b3445977eba9a4588b787b32945871c2444e3", size = 92700, upload-time = "2025-06-10T00:44:56.784Z" }, - { url = "https://files.pythonhosted.org/packages/2f/d4/062b2f48e7c93481e88eff97a6312dca15ea200e959f23e96d8ab898c5b8/yarl-1.20.1-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:3cf34efa60eb81dd2645a2e13e00bb98b76c35ab5061a3989c7a70f78c85006d", size = 347644, upload-time = "2025-06-10T00:44:59.071Z" }, - { url = "https://files.pythonhosted.org/packages/89/47/78b7f40d13c8f62b499cc702fdf69e090455518ae544c00a3bf4afc9fc77/yarl-1.20.1-cp313-cp313t-manylinux_2_17_armv7l.manylinux2014_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:8e0fe9364ad0fddab2688ce72cb7a8e61ea42eff3c7caeeb83874a5d479c896c", size = 323452, upload-time = "2025-06-10T00:45:01.605Z" }, - { url = "https://files.pythonhosted.org/packages/eb/2b/490d3b2dc66f52987d4ee0d3090a147ea67732ce6b4d61e362c1846d0d32/yarl-1.20.1-cp313-cp313t-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:8f64fbf81878ba914562c672024089e3401974a39767747691c65080a67b18c1", size = 346378, upload-time = "2025-06-10T00:45:03.946Z" }, - { url = "https://files.pythonhosted.org/packages/66/ad/775da9c8a94ce925d1537f939a4f17d782efef1f973039d821cbe4bcc211/yarl-1.20.1-cp313-cp313t-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:f6342d643bf9a1de97e512e45e4b9560a043347e779a173250824f8b254bd5ce", size = 353261, upload-time = "2025-06-10T00:45:05.992Z" }, - { url = "https://files.pythonhosted.org/packages/4b/23/0ed0922b47a4f5c6eb9065d5ff1e459747226ddce5c6a4c111e728c9f701/yarl-1.20.1-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:56dac5f452ed25eef0f6e3c6a066c6ab68971d96a9fb441791cad0efba6140d3", size = 335987, upload-time = "2025-06-10T00:45:08.227Z" }, - { url = "https://files.pythonhosted.org/packages/3e/49/bc728a7fe7d0e9336e2b78f0958a2d6b288ba89f25a1762407a222bf53c3/yarl-1.20.1-cp313-cp313t-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:c7d7f497126d65e2cad8dc5f97d34c27b19199b6414a40cb36b52f41b79014be", size = 329361, upload-time = "2025-06-10T00:45:10.11Z" }, - { url = "https://files.pythonhosted.org/packages/93/8f/b811b9d1f617c83c907e7082a76e2b92b655400e61730cd61a1f67178393/yarl-1.20.1-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:67e708dfb8e78d8a19169818eeb5c7a80717562de9051bf2413aca8e3696bf16", size = 346460, upload-time = "2025-06-10T00:45:12.055Z" }, - { url = "https://files.pythonhosted.org/packages/70/fd/af94f04f275f95da2c3b8b5e1d49e3e79f1ed8b6ceb0f1664cbd902773ff/yarl-1.20.1-cp313-cp313t-musllinux_1_2_armv7l.whl", hash = "sha256:595c07bc79af2494365cc96ddeb772f76272364ef7c80fb892ef9d0649586513", size = 334486, upload-time = "2025-06-10T00:45:13.995Z" }, - { url = "https://files.pythonhosted.org/packages/84/65/04c62e82704e7dd0a9b3f61dbaa8447f8507655fd16c51da0637b39b2910/yarl-1.20.1-cp313-cp313t-musllinux_1_2_i686.whl", hash = "sha256:7bdd2f80f4a7df852ab9ab49484a4dee8030023aa536df41f2d922fd57bf023f", size = 342219, upload-time = "2025-06-10T00:45:16.479Z" }, - { url = "https://files.pythonhosted.org/packages/91/95/459ca62eb958381b342d94ab9a4b6aec1ddec1f7057c487e926f03c06d30/yarl-1.20.1-cp313-cp313t-musllinux_1_2_ppc64le.whl", hash = "sha256:c03bfebc4ae8d862f853a9757199677ab74ec25424d0ebd68a0027e9c639a390", size = 350693, upload-time = "2025-06-10T00:45:18.399Z" }, - { url = "https://files.pythonhosted.org/packages/a6/00/d393e82dd955ad20617abc546a8f1aee40534d599ff555ea053d0ec9bf03/yarl-1.20.1-cp313-cp313t-musllinux_1_2_s390x.whl", hash = "sha256:344d1103e9c1523f32a5ed704d576172d2cabed3122ea90b1d4e11fe17c66458", size = 355803, upload-time = "2025-06-10T00:45:20.677Z" }, - { url = "https://files.pythonhosted.org/packages/9e/ed/c5fb04869b99b717985e244fd93029c7a8e8febdfcffa06093e32d7d44e7/yarl-1.20.1-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:88cab98aa4e13e1ade8c141daeedd300a4603b7132819c484841bb7af3edce9e", size = 341709, upload-time = "2025-06-10T00:45:23.221Z" }, - { url = "https://files.pythonhosted.org/packages/24/fd/725b8e73ac2a50e78a4534ac43c6addf5c1c2d65380dd48a9169cc6739a9/yarl-1.20.1-cp313-cp313t-win32.whl", hash = "sha256:b121ff6a7cbd4abc28985b6028235491941b9fe8fe226e6fdc539c977ea1739d", size = 86591, upload-time = "2025-06-10T00:45:25.793Z" }, - { url = "https://files.pythonhosted.org/packages/94/c3/b2e9f38bc3e11191981d57ea08cab2166e74ea770024a646617c9cddd9f6/yarl-1.20.1-cp313-cp313t-win_amd64.whl", hash = "sha256:541d050a355bbbc27e55d906bc91cb6fe42f96c01413dd0f4ed5a5240513874f", size = 93003, upload-time = "2025-06-10T00:45:27.752Z" }, - { url = "https://files.pythonhosted.org/packages/b4/2d/2345fce04cfd4bee161bf1e7d9cdc702e3e16109021035dbb24db654a622/yarl-1.20.1-py3-none-any.whl", hash = "sha256:83b8eb083fe4683c6115795d9fc1cfaf2cbbefb19b3a1cb68f6527460f483a77", size = 46542, upload-time = "2025-06-10T00:46:07.521Z" }, +sdist = { url = "https://files.pythonhosted.org/packages/57/63/0c6ebca57330cd313f6102b16dd57ffaf3ec4c83403dcb45dbd15c6f3ea1/yarl-1.22.0.tar.gz", hash = "sha256:bebf8557577d4401ba8bd9ff33906f1376c877aa78d1fe216ad01b4d6745af71", size = 187169, upload-time = "2025-10-06T14:12:55.963Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/75/ff/46736024fee3429b80a165a732e38e5d5a238721e634ab41b040d49f8738/yarl-1.22.0-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:e340382d1afa5d32b892b3ff062436d592ec3d692aeea3bef3a5cfe11bbf8c6f", size = 142000, upload-time = "2025-10-06T14:09:44.631Z" }, + { url = "https://files.pythonhosted.org/packages/5a/9a/b312ed670df903145598914770eb12de1bac44599549b3360acc96878df8/yarl-1.22.0-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:f1e09112a2c31ffe8d80be1b0988fa6a18c5d5cad92a9ffbb1c04c91bfe52ad2", size = 94338, upload-time = "2025-10-06T14:09:46.372Z" }, + { url = "https://files.pythonhosted.org/packages/ba/f5/0601483296f09c3c65e303d60c070a5c19fcdbc72daa061e96170785bc7d/yarl-1.22.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:939fe60db294c786f6b7c2d2e121576628468f65453d86b0fe36cb52f987bd74", size = 94909, upload-time = "2025-10-06T14:09:48.648Z" }, + { url = "https://files.pythonhosted.org/packages/60/41/9a1fe0b73dbcefce72e46cf149b0e0a67612d60bfc90fb59c2b2efdfbd86/yarl-1.22.0-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:e1651bf8e0398574646744c1885a41198eba53dc8a9312b954073f845c90a8df", size = 372940, upload-time = "2025-10-06T14:09:50.089Z" }, + { url = "https://files.pythonhosted.org/packages/17/7a/795cb6dfee561961c30b800f0ed616b923a2ec6258b5def2a00bf8231334/yarl-1.22.0-cp312-cp312-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:b8a0588521a26bf92a57a1705b77b8b59044cdceccac7151bd8d229e66b8dedb", size = 345825, upload-time = "2025-10-06T14:09:52.142Z" }, + { url = "https://files.pythonhosted.org/packages/d7/93/a58f4d596d2be2ae7bab1a5846c4d270b894958845753b2c606d666744d3/yarl-1.22.0-cp312-cp312-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:42188e6a615c1a75bcaa6e150c3fe8f3e8680471a6b10150c5f7e83f47cc34d2", size = 386705, upload-time = "2025-10-06T14:09:54.128Z" }, + { url = "https://files.pythonhosted.org/packages/61/92/682279d0e099d0e14d7fd2e176bd04f48de1484f56546a3e1313cd6c8e7c/yarl-1.22.0-cp312-cp312-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:f6d2cb59377d99718913ad9a151030d6f83ef420a2b8f521d94609ecc106ee82", size = 396518, upload-time = "2025-10-06T14:09:55.762Z" }, + { url = "https://files.pythonhosted.org/packages/db/0f/0d52c98b8a885aeda831224b78f3be7ec2e1aa4a62091f9f9188c3c65b56/yarl-1.22.0-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:50678a3b71c751d58d7908edc96d332af328839eea883bb554a43f539101277a", size = 377267, upload-time = "2025-10-06T14:09:57.958Z" }, + { url = "https://files.pythonhosted.org/packages/22/42/d2685e35908cbeaa6532c1fc73e89e7f2efb5d8a7df3959ea8e37177c5a3/yarl-1.22.0-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:1e8fbaa7cec507aa24ea27a01456e8dd4b6fab829059b69844bd348f2d467124", size = 365797, upload-time = "2025-10-06T14:09:59.527Z" }, + { url = "https://files.pythonhosted.org/packages/a2/83/cf8c7bcc6355631762f7d8bdab920ad09b82efa6b722999dfb05afa6cfac/yarl-1.22.0-cp312-cp312-musllinux_1_2_armv7l.whl", hash = "sha256:433885ab5431bc3d3d4f2f9bd15bfa1614c522b0f1405d62c4f926ccd69d04fa", size = 365535, upload-time = "2025-10-06T14:10:01.139Z" }, + { url = "https://files.pythonhosted.org/packages/25/e1/5302ff9b28f0c59cac913b91fe3f16c59a033887e57ce9ca5d41a3a94737/yarl-1.22.0-cp312-cp312-musllinux_1_2_ppc64le.whl", hash = "sha256:b790b39c7e9a4192dc2e201a282109ed2985a1ddbd5ac08dc56d0e121400a8f7", size = 382324, upload-time = "2025-10-06T14:10:02.756Z" }, + { url = "https://files.pythonhosted.org/packages/bf/cd/4617eb60f032f19ae3a688dc990d8f0d89ee0ea378b61cac81ede3e52fae/yarl-1.22.0-cp312-cp312-musllinux_1_2_s390x.whl", hash = "sha256:31f0b53913220599446872d757257be5898019c85e7971599065bc55065dc99d", size = 383803, upload-time = "2025-10-06T14:10:04.552Z" }, + { url = "https://files.pythonhosted.org/packages/59/65/afc6e62bb506a319ea67b694551dab4a7e6fb7bf604e9bd9f3e11d575fec/yarl-1.22.0-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:a49370e8f711daec68d09b821a34e1167792ee2d24d405cbc2387be4f158b520", size = 374220, upload-time = "2025-10-06T14:10:06.489Z" }, + { url = "https://files.pythonhosted.org/packages/e7/3d/68bf18d50dc674b942daec86a9ba922d3113d8399b0e52b9897530442da2/yarl-1.22.0-cp312-cp312-win32.whl", hash = "sha256:70dfd4f241c04bd9239d53b17f11e6ab672b9f1420364af63e8531198e3f5fe8", size = 81589, upload-time = "2025-10-06T14:10:09.254Z" }, + { url = "https://files.pythonhosted.org/packages/c8/9a/6ad1a9b37c2f72874f93e691b2e7ecb6137fb2b899983125db4204e47575/yarl-1.22.0-cp312-cp312-win_amd64.whl", hash = "sha256:8884d8b332a5e9b88e23f60bb166890009429391864c685e17bd73a9eda9105c", size = 87213, upload-time = "2025-10-06T14:10:11.369Z" }, + { url = "https://files.pythonhosted.org/packages/44/c5/c21b562d1680a77634d748e30c653c3ca918beb35555cff24986fff54598/yarl-1.22.0-cp312-cp312-win_arm64.whl", hash = "sha256:ea70f61a47f3cc93bdf8b2f368ed359ef02a01ca6393916bc8ff877427181e74", size = 81330, upload-time = "2025-10-06T14:10:13.112Z" }, + { url = "https://files.pythonhosted.org/packages/ea/f3/d67de7260456ee105dc1d162d43a019ecad6b91e2f51809d6cddaa56690e/yarl-1.22.0-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:8dee9c25c74997f6a750cd317b8ca63545169c098faee42c84aa5e506c819b53", size = 139980, upload-time = "2025-10-06T14:10:14.601Z" }, + { url = "https://files.pythonhosted.org/packages/01/88/04d98af0b47e0ef42597b9b28863b9060bb515524da0a65d5f4db160b2d5/yarl-1.22.0-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:01e73b85a5434f89fc4fe27dcda2aff08ddf35e4d47bbbea3bdcd25321af538a", size = 93424, upload-time = "2025-10-06T14:10:16.115Z" }, + { url = "https://files.pythonhosted.org/packages/18/91/3274b215fd8442a03975ce6bee5fe6aa57a8326b29b9d3d56234a1dca244/yarl-1.22.0-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:22965c2af250d20c873cdbee8ff958fb809940aeb2e74ba5f20aaf6b7ac8c70c", size = 93821, upload-time = "2025-10-06T14:10:17.993Z" }, + { url = "https://files.pythonhosted.org/packages/61/3a/caf4e25036db0f2da4ca22a353dfeb3c9d3c95d2761ebe9b14df8fc16eb0/yarl-1.22.0-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:b4f15793aa49793ec8d1c708ab7f9eded1aa72edc5174cae703651555ed1b601", size = 373243, upload-time = "2025-10-06T14:10:19.44Z" }, + { url = "https://files.pythonhosted.org/packages/6e/9e/51a77ac7516e8e7803b06e01f74e78649c24ee1021eca3d6a739cb6ea49c/yarl-1.22.0-cp313-cp313-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:e5542339dcf2747135c5c85f68680353d5cb9ffd741c0f2e8d832d054d41f35a", size = 342361, upload-time = "2025-10-06T14:10:21.124Z" }, + { url = "https://files.pythonhosted.org/packages/d4/f8/33b92454789dde8407f156c00303e9a891f1f51a0330b0fad7c909f87692/yarl-1.22.0-cp313-cp313-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:5c401e05ad47a75869c3ab3e35137f8468b846770587e70d71e11de797d113df", size = 387036, upload-time = "2025-10-06T14:10:22.902Z" }, + { url = "https://files.pythonhosted.org/packages/d9/9a/c5db84ea024f76838220280f732970aa4ee154015d7f5c1bfb60a267af6f/yarl-1.22.0-cp313-cp313-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:243dda95d901c733f5b59214d28b0120893d91777cb8aa043e6ef059d3cddfe2", size = 397671, upload-time = "2025-10-06T14:10:24.523Z" }, + { url = "https://files.pythonhosted.org/packages/11/c9/cd8538dc2e7727095e0c1d867bad1e40c98f37763e6d995c1939f5fdc7b1/yarl-1.22.0-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:bec03d0d388060058f5d291a813f21c011041938a441c593374da6077fe21b1b", size = 377059, upload-time = "2025-10-06T14:10:26.406Z" }, + { url = "https://files.pythonhosted.org/packages/a1/b9/ab437b261702ced75122ed78a876a6dec0a1b0f5e17a4ac7a9a2482d8abe/yarl-1.22.0-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:b0748275abb8c1e1e09301ee3cf90c8a99678a4e92e4373705f2a2570d581273", size = 365356, upload-time = "2025-10-06T14:10:28.461Z" }, + { url = "https://files.pythonhosted.org/packages/b2/9d/8e1ae6d1d008a9567877b08f0ce4077a29974c04c062dabdb923ed98e6fe/yarl-1.22.0-cp313-cp313-musllinux_1_2_armv7l.whl", hash = "sha256:47fdb18187e2a4e18fda2c25c05d8251a9e4a521edaed757fef033e7d8498d9a", size = 361331, upload-time = "2025-10-06T14:10:30.541Z" }, + { url = "https://files.pythonhosted.org/packages/ca/5a/09b7be3905962f145b73beb468cdd53db8aa171cf18c80400a54c5b82846/yarl-1.22.0-cp313-cp313-musllinux_1_2_ppc64le.whl", hash = "sha256:c7044802eec4524fde550afc28edda0dd5784c4c45f0be151a2d3ba017daca7d", size = 382590, upload-time = "2025-10-06T14:10:33.352Z" }, + { url = "https://files.pythonhosted.org/packages/aa/7f/59ec509abf90eda5048b0bc3e2d7b5099dffdb3e6b127019895ab9d5ef44/yarl-1.22.0-cp313-cp313-musllinux_1_2_s390x.whl", hash = "sha256:139718f35149ff544caba20fce6e8a2f71f1e39b92c700d8438a0b1d2a631a02", size = 385316, upload-time = "2025-10-06T14:10:35.034Z" }, + { url = "https://files.pythonhosted.org/packages/e5/84/891158426bc8036bfdfd862fabd0e0fa25df4176ec793e447f4b85cf1be4/yarl-1.22.0-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:e1b51bebd221006d3d2f95fbe124b22b247136647ae5dcc8c7acafba66e5ee67", size = 374431, upload-time = "2025-10-06T14:10:37.76Z" }, + { url = "https://files.pythonhosted.org/packages/bb/49/03da1580665baa8bef5e8ed34c6df2c2aca0a2f28bf397ed238cc1bbc6f2/yarl-1.22.0-cp313-cp313-win32.whl", hash = "sha256:d3e32536234a95f513bd374e93d717cf6b2231a791758de6c509e3653f234c95", size = 81555, upload-time = "2025-10-06T14:10:39.649Z" }, + { url = "https://files.pythonhosted.org/packages/9a/ee/450914ae11b419eadd067c6183ae08381cfdfcb9798b90b2b713bbebddda/yarl-1.22.0-cp313-cp313-win_amd64.whl", hash = "sha256:47743b82b76d89a1d20b83e60d5c20314cbd5ba2befc9cda8f28300c4a08ed4d", size = 86965, upload-time = "2025-10-06T14:10:41.313Z" }, + { url = "https://files.pythonhosted.org/packages/98/4d/264a01eae03b6cf629ad69bae94e3b0e5344741e929073678e84bf7a3e3b/yarl-1.22.0-cp313-cp313-win_arm64.whl", hash = "sha256:5d0fcda9608875f7d052eff120c7a5da474a6796fe4d83e152e0e4d42f6d1a9b", size = 81205, upload-time = "2025-10-06T14:10:43.167Z" }, + { url = "https://files.pythonhosted.org/packages/88/fc/6908f062a2f77b5f9f6d69cecb1747260831ff206adcbc5b510aff88df91/yarl-1.22.0-cp313-cp313t-macosx_10_13_universal2.whl", hash = "sha256:719ae08b6972befcba4310e49edb1161a88cdd331e3a694b84466bd938a6ab10", size = 146209, upload-time = "2025-10-06T14:10:44.643Z" }, + { url = "https://files.pythonhosted.org/packages/65/47/76594ae8eab26210b4867be6f49129861ad33da1f1ebdf7051e98492bf62/yarl-1.22.0-cp313-cp313t-macosx_10_13_x86_64.whl", hash = "sha256:47d8a5c446df1c4db9d21b49619ffdba90e77c89ec6e283f453856c74b50b9e3", size = 95966, upload-time = "2025-10-06T14:10:46.554Z" }, + { url = "https://files.pythonhosted.org/packages/ab/ce/05e9828a49271ba6b5b038b15b3934e996980dd78abdfeb52a04cfb9467e/yarl-1.22.0-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:cfebc0ac8333520d2d0423cbbe43ae43c8838862ddb898f5ca68565e395516e9", size = 97312, upload-time = "2025-10-06T14:10:48.007Z" }, + { url = "https://files.pythonhosted.org/packages/d1/c5/7dffad5e4f2265b29c9d7ec869c369e4223166e4f9206fc2243ee9eea727/yarl-1.22.0-cp313-cp313t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:4398557cbf484207df000309235979c79c4356518fd5c99158c7d38203c4da4f", size = 361967, upload-time = "2025-10-06T14:10:49.997Z" }, + { url = "https://files.pythonhosted.org/packages/50/b2/375b933c93a54bff7fc041e1a6ad2c0f6f733ffb0c6e642ce56ee3b39970/yarl-1.22.0-cp313-cp313t-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:2ca6fd72a8cd803be290d42f2dec5cdcd5299eeb93c2d929bf060ad9efaf5de0", size = 323949, upload-time = "2025-10-06T14:10:52.004Z" }, + { url = "https://files.pythonhosted.org/packages/66/50/bfc2a29a1d78644c5a7220ce2f304f38248dc94124a326794e677634b6cf/yarl-1.22.0-cp313-cp313t-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:ca1f59c4e1ab6e72f0a23c13fca5430f889634166be85dbf1013683e49e3278e", size = 361818, upload-time = "2025-10-06T14:10:54.078Z" }, + { url = "https://files.pythonhosted.org/packages/46/96/f3941a46af7d5d0f0498f86d71275696800ddcdd20426298e572b19b91ff/yarl-1.22.0-cp313-cp313t-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:6c5010a52015e7c70f86eb967db0f37f3c8bd503a695a49f8d45700144667708", size = 372626, upload-time = "2025-10-06T14:10:55.767Z" }, + { url = "https://files.pythonhosted.org/packages/c1/42/8b27c83bb875cd89448e42cd627e0fb971fa1675c9ec546393d18826cb50/yarl-1.22.0-cp313-cp313t-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:9d7672ecf7557476642c88497c2f8d8542f8e36596e928e9bcba0e42e1e7d71f", size = 341129, upload-time = "2025-10-06T14:10:57.985Z" }, + { url = "https://files.pythonhosted.org/packages/49/36/99ca3122201b382a3cf7cc937b95235b0ac944f7e9f2d5331d50821ed352/yarl-1.22.0-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:3b7c88eeef021579d600e50363e0b6ee4f7f6f728cd3486b9d0f3ee7b946398d", size = 346776, upload-time = "2025-10-06T14:10:59.633Z" }, + { url = "https://files.pythonhosted.org/packages/85/b4/47328bf996acd01a4c16ef9dcd2f59c969f495073616586f78cd5f2efb99/yarl-1.22.0-cp313-cp313t-musllinux_1_2_armv7l.whl", hash = "sha256:f4afb5c34f2c6fecdcc182dfcfc6af6cccf1aa923eed4d6a12e9d96904e1a0d8", size = 334879, upload-time = "2025-10-06T14:11:01.454Z" }, + { url = "https://files.pythonhosted.org/packages/c2/ad/b77d7b3f14a4283bffb8e92c6026496f6de49751c2f97d4352242bba3990/yarl-1.22.0-cp313-cp313t-musllinux_1_2_ppc64le.whl", hash = "sha256:59c189e3e99a59cf8d83cbb31d4db02d66cda5a1a4374e8a012b51255341abf5", size = 350996, upload-time = "2025-10-06T14:11:03.452Z" }, + { url = "https://files.pythonhosted.org/packages/81/c8/06e1d69295792ba54d556f06686cbd6a7ce39c22307100e3fb4a2c0b0a1d/yarl-1.22.0-cp313-cp313t-musllinux_1_2_s390x.whl", hash = "sha256:5a3bf7f62a289fa90f1990422dc8dff5a458469ea71d1624585ec3a4c8d6960f", size = 356047, upload-time = "2025-10-06T14:11:05.115Z" }, + { url = "https://files.pythonhosted.org/packages/4b/b8/4c0e9e9f597074b208d18cef227d83aac36184bfbc6eab204ea55783dbc5/yarl-1.22.0-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:de6b9a04c606978fdfe72666fa216ffcf2d1a9f6a381058d4378f8d7b1e5de62", size = 342947, upload-time = "2025-10-06T14:11:08.137Z" }, + { url = "https://files.pythonhosted.org/packages/e0/e5/11f140a58bf4c6ad7aca69a892bff0ee638c31bea4206748fc0df4ebcb3a/yarl-1.22.0-cp313-cp313t-win32.whl", hash = "sha256:1834bb90991cc2999f10f97f5f01317f99b143284766d197e43cd5b45eb18d03", size = 86943, upload-time = "2025-10-06T14:11:10.284Z" }, + { url = "https://files.pythonhosted.org/packages/31/74/8b74bae38ed7fe6793d0c15a0c8207bbb819cf287788459e5ed230996cdd/yarl-1.22.0-cp313-cp313t-win_amd64.whl", hash = "sha256:ff86011bd159a9d2dfc89c34cfd8aff12875980e3bd6a39ff097887520e60249", size = 93715, upload-time = "2025-10-06T14:11:11.739Z" }, + { url = "https://files.pythonhosted.org/packages/69/66/991858aa4b5892d57aef7ee1ba6b4d01ec3b7eb3060795d34090a3ca3278/yarl-1.22.0-cp313-cp313t-win_arm64.whl", hash = "sha256:7861058d0582b847bc4e3a4a4c46828a410bca738673f35a29ba3ca5db0b473b", size = 83857, upload-time = "2025-10-06T14:11:13.586Z" }, + { url = "https://files.pythonhosted.org/packages/46/b3/e20ef504049f1a1c54a814b4b9bed96d1ac0e0610c3b4da178f87209db05/yarl-1.22.0-cp314-cp314-macosx_10_13_universal2.whl", hash = "sha256:34b36c2c57124530884d89d50ed2c1478697ad7473efd59cfd479945c95650e4", size = 140520, upload-time = "2025-10-06T14:11:15.465Z" }, + { url = "https://files.pythonhosted.org/packages/e4/04/3532d990fdbab02e5ede063676b5c4260e7f3abea2151099c2aa745acc4c/yarl-1.22.0-cp314-cp314-macosx_10_13_x86_64.whl", hash = "sha256:0dd9a702591ca2e543631c2a017e4a547e38a5c0f29eece37d9097e04a7ac683", size = 93504, upload-time = "2025-10-06T14:11:17.106Z" }, + { url = "https://files.pythonhosted.org/packages/11/63/ff458113c5c2dac9a9719ac68ee7c947cb621432bcf28c9972b1c0e83938/yarl-1.22.0-cp314-cp314-macosx_11_0_arm64.whl", hash = "sha256:594fcab1032e2d2cc3321bb2e51271e7cd2b516c7d9aee780ece81b07ff8244b", size = 94282, upload-time = "2025-10-06T14:11:19.064Z" }, + { url = "https://files.pythonhosted.org/packages/a7/bc/315a56aca762d44a6aaaf7ad253f04d996cb6b27bad34410f82d76ea8038/yarl-1.22.0-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:f3d7a87a78d46a2e3d5b72587ac14b4c16952dd0887dbb051451eceac774411e", size = 372080, upload-time = "2025-10-06T14:11:20.996Z" }, + { url = "https://files.pythonhosted.org/packages/3f/3f/08e9b826ec2e099ea6e7c69a61272f4f6da62cb5b1b63590bb80ca2e4a40/yarl-1.22.0-cp314-cp314-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:852863707010316c973162e703bddabec35e8757e67fcb8ad58829de1ebc8590", size = 338696, upload-time = "2025-10-06T14:11:22.847Z" }, + { url = "https://files.pythonhosted.org/packages/e3/9f/90360108e3b32bd76789088e99538febfea24a102380ae73827f62073543/yarl-1.22.0-cp314-cp314-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:131a085a53bfe839a477c0845acf21efc77457ba2bcf5899618136d64f3303a2", size = 387121, upload-time = "2025-10-06T14:11:24.889Z" }, + { url = "https://files.pythonhosted.org/packages/98/92/ab8d4657bd5b46a38094cfaea498f18bb70ce6b63508fd7e909bd1f93066/yarl-1.22.0-cp314-cp314-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:078a8aefd263f4d4f923a9677b942b445a2be970ca24548a8102689a3a8ab8da", size = 394080, upload-time = "2025-10-06T14:11:27.307Z" }, + { url = "https://files.pythonhosted.org/packages/f5/e7/d8c5a7752fef68205296201f8ec2bf718f5c805a7a7e9880576c67600658/yarl-1.22.0-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:bca03b91c323036913993ff5c738d0842fc9c60c4648e5c8d98331526df89784", size = 372661, upload-time = "2025-10-06T14:11:29.387Z" }, + { url = "https://files.pythonhosted.org/packages/b6/2e/f4d26183c8db0bb82d491b072f3127fb8c381a6206a3a56332714b79b751/yarl-1.22.0-cp314-cp314-musllinux_1_2_aarch64.whl", hash = "sha256:68986a61557d37bb90d3051a45b91fa3d5c516d177dfc6dd6f2f436a07ff2b6b", size = 364645, upload-time = "2025-10-06T14:11:31.423Z" }, + { url = "https://files.pythonhosted.org/packages/80/7c/428e5812e6b87cd00ee8e898328a62c95825bf37c7fa87f0b6bb2ad31304/yarl-1.22.0-cp314-cp314-musllinux_1_2_armv7l.whl", hash = "sha256:4792b262d585ff0dff6bcb787f8492e40698443ec982a3568c2096433660c694", size = 355361, upload-time = "2025-10-06T14:11:33.055Z" }, + { url = "https://files.pythonhosted.org/packages/ec/2a/249405fd26776f8b13c067378ef4d7dd49c9098d1b6457cdd152a99e96a9/yarl-1.22.0-cp314-cp314-musllinux_1_2_ppc64le.whl", hash = "sha256:ebd4549b108d732dba1d4ace67614b9545b21ece30937a63a65dd34efa19732d", size = 381451, upload-time = "2025-10-06T14:11:35.136Z" }, + { url = "https://files.pythonhosted.org/packages/67/a8/fb6b1adbe98cf1e2dd9fad71003d3a63a1bc22459c6e15f5714eb9323b93/yarl-1.22.0-cp314-cp314-musllinux_1_2_s390x.whl", hash = "sha256:f87ac53513d22240c7d59203f25cc3beac1e574c6cd681bbfd321987b69f95fd", size = 383814, upload-time = "2025-10-06T14:11:37.094Z" }, + { url = "https://files.pythonhosted.org/packages/d9/f9/3aa2c0e480fb73e872ae2814c43bc1e734740bb0d54e8cb2a95925f98131/yarl-1.22.0-cp314-cp314-musllinux_1_2_x86_64.whl", hash = "sha256:22b029f2881599e2f1b06f8f1db2ee63bd309e2293ba2d566e008ba12778b8da", size = 370799, upload-time = "2025-10-06T14:11:38.83Z" }, + { url = "https://files.pythonhosted.org/packages/50/3c/af9dba3b8b5eeb302f36f16f92791f3ea62e3f47763406abf6d5a4a3333b/yarl-1.22.0-cp314-cp314-win32.whl", hash = "sha256:6a635ea45ba4ea8238463b4f7d0e721bad669f80878b7bfd1f89266e2ae63da2", size = 82990, upload-time = "2025-10-06T14:11:40.624Z" }, + { url = "https://files.pythonhosted.org/packages/ac/30/ac3a0c5bdc1d6efd1b41fa24d4897a4329b3b1e98de9449679dd327af4f0/yarl-1.22.0-cp314-cp314-win_amd64.whl", hash = "sha256:0d6e6885777af0f110b0e5d7e5dda8b704efed3894da26220b7f3d887b839a79", size = 88292, upload-time = "2025-10-06T14:11:42.578Z" }, + { url = "https://files.pythonhosted.org/packages/df/0a/227ab4ff5b998a1b7410abc7b46c9b7a26b0ca9e86c34ba4b8d8bc7c63d5/yarl-1.22.0-cp314-cp314-win_arm64.whl", hash = "sha256:8218f4e98d3c10d683584cb40f0424f4b9fd6e95610232dd75e13743b070ee33", size = 82888, upload-time = "2025-10-06T14:11:44.863Z" }, + { url = "https://files.pythonhosted.org/packages/06/5e/a15eb13db90abd87dfbefb9760c0f3f257ac42a5cac7e75dbc23bed97a9f/yarl-1.22.0-cp314-cp314t-macosx_10_13_universal2.whl", hash = "sha256:45c2842ff0e0d1b35a6bf1cd6c690939dacb617a70827f715232b2e0494d55d1", size = 146223, upload-time = "2025-10-06T14:11:46.796Z" }, + { url = "https://files.pythonhosted.org/packages/18/82/9665c61910d4d84f41a5bf6837597c89e665fa88aa4941080704645932a9/yarl-1.22.0-cp314-cp314t-macosx_10_13_x86_64.whl", hash = "sha256:d947071e6ebcf2e2bee8fce76e10faca8f7a14808ca36a910263acaacef08eca", size = 95981, upload-time = "2025-10-06T14:11:48.845Z" }, + { url = "https://files.pythonhosted.org/packages/5d/9a/2f65743589809af4d0a6d3aa749343c4b5f4c380cc24a8e94a3c6625a808/yarl-1.22.0-cp314-cp314t-macosx_11_0_arm64.whl", hash = "sha256:334b8721303e61b00019474cc103bdac3d7b1f65e91f0bfedeec2d56dfe74b53", size = 97303, upload-time = "2025-10-06T14:11:50.897Z" }, + { url = "https://files.pythonhosted.org/packages/b0/ab/5b13d3e157505c43c3b43b5a776cbf7b24a02bc4cccc40314771197e3508/yarl-1.22.0-cp314-cp314t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:1e7ce67c34138a058fd092f67d07a72b8e31ff0c9236e751957465a24b28910c", size = 361820, upload-time = "2025-10-06T14:11:52.549Z" }, + { url = "https://files.pythonhosted.org/packages/fb/76/242a5ef4677615cf95330cfc1b4610e78184400699bdda0acb897ef5e49a/yarl-1.22.0-cp314-cp314t-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:d77e1b2c6d04711478cb1c4ab90db07f1609ccf06a287d5607fcd90dc9863acf", size = 323203, upload-time = "2025-10-06T14:11:54.225Z" }, + { url = "https://files.pythonhosted.org/packages/8c/96/475509110d3f0153b43d06164cf4195c64d16999e0c7e2d8a099adcd6907/yarl-1.22.0-cp314-cp314t-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:c4647674b6150d2cae088fc07de2738a84b8bcedebef29802cf0b0a82ab6face", size = 363173, upload-time = "2025-10-06T14:11:56.069Z" }, + { url = "https://files.pythonhosted.org/packages/c9/66/59db471aecfbd559a1fd48aedd954435558cd98c7d0da8b03cc6c140a32c/yarl-1.22.0-cp314-cp314t-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:efb07073be061c8f79d03d04139a80ba33cbd390ca8f0297aae9cce6411e4c6b", size = 373562, upload-time = "2025-10-06T14:11:58.783Z" }, + { url = "https://files.pythonhosted.org/packages/03/1f/c5d94abc91557384719da10ff166b916107c1b45e4d0423a88457071dd88/yarl-1.22.0-cp314-cp314t-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:e51ac5435758ba97ad69617e13233da53908beccc6cfcd6c34bbed8dcbede486", size = 339828, upload-time = "2025-10-06T14:12:00.686Z" }, + { url = "https://files.pythonhosted.org/packages/5f/97/aa6a143d3afba17b6465733681c70cf175af89f76ec8d9286e08437a7454/yarl-1.22.0-cp314-cp314t-musllinux_1_2_aarch64.whl", hash = "sha256:33e32a0dd0c8205efa8e83d04fc9f19313772b78522d1bdc7d9aed706bfd6138", size = 347551, upload-time = "2025-10-06T14:12:02.628Z" }, + { url = "https://files.pythonhosted.org/packages/43/3c/45a2b6d80195959239a7b2a8810506d4eea5487dce61c2a3393e7fc3c52e/yarl-1.22.0-cp314-cp314t-musllinux_1_2_armv7l.whl", hash = "sha256:bf4a21e58b9cde0e401e683ebd00f6ed30a06d14e93f7c8fd059f8b6e8f87b6a", size = 334512, upload-time = "2025-10-06T14:12:04.871Z" }, + { url = "https://files.pythonhosted.org/packages/86/a0/c2ab48d74599c7c84cb104ebd799c5813de252bea0f360ffc29d270c2caa/yarl-1.22.0-cp314-cp314t-musllinux_1_2_ppc64le.whl", hash = "sha256:e4b582bab49ac33c8deb97e058cd67c2c50dac0dd134874106d9c774fd272529", size = 352400, upload-time = "2025-10-06T14:12:06.624Z" }, + { url = "https://files.pythonhosted.org/packages/32/75/f8919b2eafc929567d3d8411f72bdb1a2109c01caaab4ebfa5f8ffadc15b/yarl-1.22.0-cp314-cp314t-musllinux_1_2_s390x.whl", hash = "sha256:0b5bcc1a9c4839e7e30b7b30dd47fe5e7e44fb7054ec29b5bb8d526aa1041093", size = 357140, upload-time = "2025-10-06T14:12:08.362Z" }, + { url = "https://files.pythonhosted.org/packages/cf/72/6a85bba382f22cf78add705d8c3731748397d986e197e53ecc7835e76de7/yarl-1.22.0-cp314-cp314t-musllinux_1_2_x86_64.whl", hash = "sha256:c0232bce2170103ec23c454e54a57008a9a72b5d1c3105dc2496750da8cfa47c", size = 341473, upload-time = "2025-10-06T14:12:10.994Z" }, + { url = "https://files.pythonhosted.org/packages/35/18/55e6011f7c044dc80b98893060773cefcfdbf60dfefb8cb2f58b9bacbd83/yarl-1.22.0-cp314-cp314t-win32.whl", hash = "sha256:8009b3173bcd637be650922ac455946197d858b3630b6d8787aa9e5c4564533e", size = 89056, upload-time = "2025-10-06T14:12:13.317Z" }, + { url = "https://files.pythonhosted.org/packages/f9/86/0f0dccb6e59a9e7f122c5afd43568b1d31b8ab7dda5f1b01fb5c7025c9a9/yarl-1.22.0-cp314-cp314t-win_amd64.whl", hash = "sha256:9fb17ea16e972c63d25d4a97f016d235c78dd2344820eb35bc034bc32012ee27", size = 96292, upload-time = "2025-10-06T14:12:15.398Z" }, + { url = "https://files.pythonhosted.org/packages/48/b7/503c98092fb3b344a179579f55814b613c1fbb1c23b3ec14a7b008a66a6e/yarl-1.22.0-cp314-cp314t-win_arm64.whl", hash = "sha256:9f6d73c1436b934e3f01df1e1b21ff765cd1d28c77dfb9ace207f746d4610ee1", size = 85171, upload-time = "2025-10-06T14:12:16.935Z" }, + { url = "https://files.pythonhosted.org/packages/73/ae/b48f95715333080afb75a4504487cbe142cae1268afc482d06692d605ae6/yarl-1.22.0-py3-none-any.whl", hash = "sha256:1380560bdba02b6b6c90de54133c81c9f2a453dee9912fe58c1dcced1edb7cff", size = 46814, upload-time = "2025-10-06T14:12:53.872Z" }, ] [[package]] name = "yaspin" -version = "2.2.0" +version = "3.4.0" source = { registry = "https://pypi.org/simple" } dependencies = [ - { name = "termcolor-whl" }, + { name = "termcolor" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/8a/72/1e48cfce02ae64941973b3c4e8677a45204e9110a4064513cc9e72eb0f63/yaspin-2.2.0.tar.gz", hash = "sha256:febdf35f3e0e45845dc2caa79a18780f9ec7a85a37a9a2c0389b314ba82d8912", size = 35071, upload-time = "2022-08-05T08:44:40.102Z" } +sdist = { url = "https://files.pythonhosted.org/packages/8d/c5/826a862dcfcb9e85321f96d6f1b4b96b3b9bf37df6f63dce9cffd0b17053/yaspin-3.4.0.tar.gz", hash = "sha256:a83a81ac7a9d161e116fb668a7e4d10d87fb18d02b4b08a17b7e472f465f3c90", size = 42396, upload-time = "2025-12-06T12:33:51.889Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/4e/98/a6236d04158c6cdec4619d7cfc00f9080fac5959c7c5e9a65a2b2167057d/yaspin-2.2.0-py3-none-any.whl", hash = "sha256:a6948034483cb263a467bef5a564eb35458e950fcade2cd7ad1d7d4339db4711", size = 18383, upload-time = "2022-08-05T08:44:37.032Z" }, + { url = "https://files.pythonhosted.org/packages/93/6f/7403e6ae864a0a7f1cdd8814d39690062766e141339127f2b3469201ff6f/yaspin-3.4.0-py3-none-any.whl", hash = "sha256:2a40572a38d39846d0df0a421733459481b7da17789f7a2618c3181bb0a82819", size = 21822, upload-time = "2025-12-06T12:33:50.633Z" }, ] [[package]] From d6f10918d6f177195eac637d2fb1e7213e5ca677 Mon Sep 17 00:00:00 2001 From: Christian Sanchez Date: Wed, 24 Dec 2025 09:37:26 -0800 Subject: [PATCH 19/50] adding project layout section --- docs/Infrastructure_Guide/index.md | 51 +++++++++++++++++++++++++++--- 1 file changed, 46 insertions(+), 5 deletions(-) diff --git a/docs/Infrastructure_Guide/index.md b/docs/Infrastructure_Guide/index.md index 67189a6..1c39f58 100644 --- a/docs/Infrastructure_Guide/index.md +++ b/docs/Infrastructure_Guide/index.md @@ -48,10 +48,51 @@ Below is a list of all the tools and services used in this project's infrastruct - Supabase - Terraform -!!! note +## Project Layout + +``` +. +├── pipelines/ +│ ├── defs/ +│ │ ├── extract/ +│ │ │ ├── extract_data.py +│ │ │ └── extract_pricing_data.py +│ │ ├── load/ +│ │ │ ├── load_data.py +│ │ │ └── load_pricing_data.py +│ │ └── transform/ +│ │ └── transform_data.py +│ ├── poke_cli_dbt/ +│ │ ├── macros/ +│ │ │ ├── create_relationships.sql +│ │ │ ├── create_rls.sql +│ │ │ └── create_view.sql +│ │ ├── models/ +│ │ │ ├── cards.sql +│ │ │ ├── pricing_data.sql +│ │ │ ├── series.sql +│ │ │ ├── sets.sql +│ │ │ └── sources.yml +│ │ ├── dbt_project.yml +│ │ └── profiles.yml +│ ├── soda/ +│ │ ├── checks.yml +│ │ ├── checks_pricing.yml +│ │ └── configuration.yml +│ ├── tests +│ └── utls/ +│ ├── json_retriever.py +│ └── secret_retriever.py +├── dagster.yaml +├── pyproject.toml +└── uv.lock +``` - Keep in mind that the purpose of this project is to explore and learn new tools, services, and programming languages. - Some design choices might be overkill or not make much sense at all, but included purely for learning. +!!! note - I'm not an expert! If you notice anything strange or think something could be improved, - please feel free to open a [GitHub Issue](https://github.com/digitalghost-dev/poke-cli/issues) and offer a suggestion. \ No newline at end of file + This project is a learning playground for exploring new tools, services, and programming languages. + Some design choices are intentionally experimental or may not follow conventional patterns— + that's part of the learning process! + + Feedback and suggestions are always welcome! If you spot an issue or have ideas for improvement, + please open a [GitHub Issue](https://github.com/digitalghost-dev/poke-cli/issues). \ No newline at end of file From a229903211c8ffd66e8b3e23a41456a690729854 Mon Sep 17 00:00:00 2001 From: Christian Sanchez Date: Wed, 24 Dec 2025 13:40:24 -0800 Subject: [PATCH 20/50] updating docs --- docs/Infrastructure_Guide/cloud-deployment.md | 8 +- docs/Infrastructure_Guide/local-deployment.md | 234 ++++++++++++++---- docs/assets/dagster_ui.png | Bin 0 -> 619106 bytes 3 files changed, 193 insertions(+), 49 deletions(-) create mode 100644 docs/assets/dagster_ui.png diff --git a/docs/Infrastructure_Guide/cloud-deployment.md b/docs/Infrastructure_Guide/cloud-deployment.md index 6d2828d..3e5a171 100644 --- a/docs/Infrastructure_Guide/cloud-deployment.md +++ b/docs/Infrastructure_Guide/cloud-deployment.md @@ -4,7 +4,7 @@ weight: 5 # 5 // Cloud Deployment Once the services are created and configured in AWS, the virtual machine can be set up with the needed -tools/libraries to run the data pipelines in Dagster. +tools/libraries to run the data pipelines in Dagster on a schedule. ## Installing Tools and Libraries Connect to the virtual machine and run the following commands to get everything set up: @@ -54,15 +54,15 @@ Connect to the virtual machine and run the following commands to get everything ```shell git config core.sparseCheckout true ``` - * Tell `git` which directory to check out. Then, pull that directory. + * Tell `git` which directory to check out. Then, pull that directory: ```shell echo "card_data/" >> .git/info/sparse-checkout ``` - * Pull the repo into the local directory + * Pull the repository into the local directory: ```shell git pull origin main ``` - * Verify that `card_data/` directory was created. + * Verify that `card_data/` directory was created: ```shell ls ``` diff --git a/docs/Infrastructure_Guide/local-deployment.md b/docs/Infrastructure_Guide/local-deployment.md index 0da41cb..fcca3b7 100644 --- a/docs/Infrastructure_Guide/local-deployment.md +++ b/docs/Infrastructure_Guide/local-deployment.md @@ -3,15 +3,22 @@ weight: 3 --- # 3 // Local Deployment -This page explains how to set up Python, dbt, Dagster, and other tools for running the data pipelines -locally. The [4. AWS](aws.md) section will show how to deploy this solution on the cloud. +This page covers setting up Python, Dagster, dbt, and Soda for local development. +Dagster is introduced early so that the pipelines can be run first. dbt and Soda +require data in Supabase to function, so this order lets each tool be tested as the +page progresses. + +The [4. AWS](aws.md) section will show how to deploy this solution on the cloud. ## Python -### Installing uv -_uv is the main package and project manager used in this project._ +First, create a directory for all the Python code. This project's Python directory is called `card_data`. +Once the directory is created, `cd` into it from the terminal. -Learn more about [uv](https://docs.astral.sh/uv/). +All following commands will take place in this directory. + +### Installing uv +_uv is the main package and project manager used in this project. Learn more about [uv](https://docs.astral.sh/uv/)._ 1. Install via their [installation script](https://docs.astral.sh/uv/getting-started/installation/): ```bash @@ -26,7 +33,94 @@ Learn more about [uv](https://docs.astral.sh/uv/). uv python install 3.12 ``` -## dbt +3. Initialize `uv` to set up project files. This will create a `pyproject.toml` file if one does not already exist: + ```bash + uv init + ``` + +4. Sync `uv` with the libraries from `card_data/pyproject.toml`. Syncing ensures that all project dependencies are installed and up-to-date with the lockfile. + ```bash + uv sync + ``` + +### ELT Files +The files used for extracting, loading, then transforming the data all live in the `pipelines/defs/` directory. +At the time of writing, the `extract/` and `load/` directories have 2 different files aimed at calling different APIs. +One for card data from [tcgdex](https://tcgdex.dev/) and the other for pricing data from [tcgcsv](https://tcgcsv.com/). + +``` +. +└── pipelines/ + └── defs/ + ├── extract/ + │ ├── extract_data.py + │ └── extract_pricing_data.py + ├── load/ + │ ├── load_data.py + │ └── load_pricing_data.py + └── transform/ + └── transform_data.py +``` + +--- + +## Dagster + +!!! question "What is Dagster?" + + Dagster is an open-source data orchestration tool that helps you build, run, and monitor your data pipelines. + It’s designed to make working with data workflows more reliable and maintainable, giving you clear visibility + into each step and making it easier to catch issues before they cause problems. + + View more [about Dagster](https://dagster.io/platform-overview) + +### Configuring +Dagster and its components needed for the project can be installed with `uv`: + +```bash +uv add dagster dagster-webserver dagster-dg-cli dagster-postgres>=0.27.3 dagster-dbt +``` + +This will add the libraries to `pyproject.toml` file. + +To run the Dagster service and web server, run the following in the correct directory with `.venv` active: +```shell +dg dev +``` + +The web UI can be viewed at `http://127.0.0.1:3000` + +### Running the Pipelines + +With Dagster running, the pipelines can be triggered to populate data in Supabase. +This step is required before dbt or Soda will work since both tools expect data to already +exist in the staging tables. + +This project currently has 4 pipelines: +* Card data +* Set data +* Series data +* Pricing data + +![Dagster UI](../assets/dagster_ui.png) + +1. Open the Dagster UI at `http://127.0.0.1:3000`. +2. On the top bar, click on **Assets**. +3. Select the assets to materialize. For initial setup, select: + - `extract_series_data` + - `extract_set_data` + - `load_series_data` + - `load_set_data` +4. Click **Materialize selected** in the top right. +5. Monitor the run in the **Runs** tab. Once complete, the data will be available in the Supabase `staging` schema. + +!!! note + + The load assets depend on extract assets, so Dagster will automatically run them in the correct order. + +--- + +## dbt (Data Build Tool) !!! question "What is dbt?" @@ -45,6 +139,8 @@ Install with `uv`: uv add dbt ``` +This will add the libraries to `pyproject.toml` file. + Initialize a `dbt` project in the `card_data` directory: ```bash dbt init @@ -60,7 +156,7 @@ database on Supabase. The `public` schema is the public facing schema that exposes the API to the data in the tables. ### Sources -Create a `source.yml` file under the `models/` directory. +Create a `sources.yml` file under the `models/` directory. More info on [sources here](https://docs.getdbt.com/docs/build/sources). This file is used to declare and configure the raw data sources. These tables are the foundation for @@ -87,51 +183,99 @@ The above `yml` defines the structure for the raw `series` table from the `stagi --- -## Dagster +## Soda -!!! question "What is Dagster?" +!!! question "What is Soda?" - Dagster is an open-source data orchestration tool that helps you build, run, and monitor your data pipelines. - It’s designed to make working with data workflows more reliable and maintainable, giving you clear visibility - into each step and making it easier to catch issues before they cause problems. + Soda is a data quality platform that helps monitor, test, and validate data in warehouses, + lakes, and pipelines. It uses a simple YAML-based language (SodaCL) to define data quality checks— + like testing for null values, schema changes, freshness issues, or anomalies—and runs them + automatically on your data sources. Soda integrates with popular data platforms (Snowflake, + BigQuery, Postgres, etc.) and can alert when data quality issues are detected, helping + catch problems before they impact downstream analytics or ML models. - View more [about Dagster](https://dagster.io/platform-overview) + View more about [Soda](https://soda.io/) -### Installation -Dagster and its components needed for the project can be installed with `uv`: ` +### Configuring & Running -```bash -uv add dagster dagster-webserver dagster-dg-cli dagster-postgres>=0.27.3 dagster-dbt +Soda and its components needed for the project can be installed with `uv`: + +1. Install Soda Core with PostgreSQL connector since Supabase uses PostgreSQL. + Other [connectors](https://github.com/sodadata/soda-core/blob/main/docs/installation.md#compatibility) can be used. +```shell + uv add soda-core-postgres ``` -## Project Layout -In my experience, Dagster needed a specific directory structure in order for the program to find all necessary files. -This project uses a directory named `pipelines` to store all the Dagster files: +2. Create a `configuration.yml` and `checks.yml` files under the `card_data/pipelines/soda/` directory. + * The `configuration.yml` holds the information for connecting to the data source. The below is an example from this project that reads the `username` and `password` + from the local environment so that this file can be safely committed to `git` and pushed to GitHub. +```yaml +data_source supabase: + type: postgres + connection: + host: aws-0-us-east-2.pooler.supabase.com + port: '5432' + username: ${SUPABASE_USER} + password: ${SUPABASE_PASSWORD} + database: postgres + schema: staging ``` -. -└── pipelines/ - ├── defs/ - │ ├── extract/ - │ │ └── extract_data.py - │ ├── load/ - │ │ └── load_data.py - │ └── transformation/ - │ └── transform_data.py - ├── poke_cli_dbt/ - │ ├── logs - │ ├── macros/ - │ │ ├── create_relationships.sql - │ │ └── create_rls.sql - │ ├── models/ - │ │ ├── cards.sql - │ │ ├── series.sql - │ │ ├── sets.sql - │ │ └── sources.yml - │ ├── target - │ ├── dbt_project.yml - │ └── profiles.yml - └── soda/ - ├── checks.yml - └── configuration.yml + + * The `checks.yml` file is where the data quality checks are defined. The below is an example from this project of simple checks being performed on the `series` table in the staging database. +```yaml +checks for series: + # Row count validation + - row_count = 4 + + # Schema validation checks + - schema: + fail: + when required column missing: [id, name, logo] + when wrong column type: + id: text + name: text + logo: text + + # Completeness checks (no null values) + - missing_count(id) = 0 + - missing_count(name) = 0 + - missing_count(logo) = 0 + + # Data uniqueness checks + - duplicate_count(id) = 0 + - duplicate_count(name) = 0 + + # Data format validation - URL pattern check + - invalid_count(logo) = 0: + valid regex: '^https://.*' +``` + +3. Once the files are created, set the environment variables for `${SUPABASE_USER}` and `${SUPABASE_PASSWORD}`. These can be found from the connection string as shown in [2 // Supabase](supabase.md): +```shell +export SUPABASE_USER='postgres.' +export SUPABASE_PASSWORD='' +``` + +4. Run a scan by referencing the correct path to both files: +```shell +# replace with the correct name from the top line of the configuration.yml file +soda scan -d supabase -c /path/to/configuration.yml /path/to/checks.yml +``` + +5. Review the output. Running these checks on this project results in: +```txt +[15:25:38] Soda Core 3.5.5 +[15:25:40] Scan summary: +[15:25:40] 8/8 checks PASSED: +[15:25:40] series in supabase +[15:25:40] row_count = 4 [PASSED] +[15:25:40] Schema Check [PASSED] +[15:25:40] missing_count(id) = 0 [PASSED] +[15:25:40] duplicate_count(id) = 0 [PASSED] +[15:25:40] missing_count(name) = 0 [PASSED] +[15:25:40] duplicate_count(name) = 0 [PASSED] +[15:25:40] missing_count(logo) = 0 [PASSED] +[15:25:40] invalid_count(logo) = 0 [PASSED] +[15:25:40] All is good. No failures. No warnings. No errors. ``` \ No newline at end of file diff --git a/docs/assets/dagster_ui.png b/docs/assets/dagster_ui.png new file mode 100644 index 0000000000000000000000000000000000000000..f7357c932928d125f89a1419a174444aca152220 GIT binary patch literal 619106 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∈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 z%0Ai(3YsPJxUp;KaCM<(Mc;In)ba~H+YTrOi~qnHP#`>_e#abz{ukHFUxU1OPwAua z8+kyL6}s}pANSVl;V#lqDC1sa-DWK_MBZp6@4$38n{BI?o^2QyHC2$B2)nu*Iy3sk z=dSS1-)fGI@Ab5FGKWLS?8SC5eO-U-S7Je@#yU1TU;F;#@vTs%g9cg12%jTZ@a@+MyLRA=cGuBGgm*UPe6SFEeHtynHb?erkLkW%Dx{eyv@!em>lFkrKh zbw=E;IrTXhbf@%g`oe!3Vq0*Ry~P z=k@s7$h&njlG>eph^?Jc?Lk|hi?>UOeZ_~aOPZqrt7UbzvOq0v$pjqg z!$&vuPO1jJ7rQHA%9P=pY8~M{Xb;Z0M8pTY@Z%kJq6L?p+l@oy5 zfXr|DTr?W54fOllrOvjM*F3_#JW=8(V+@m7CVESoIHk;4zTtmhp>H^JuhZGA(6q6e zAWHQKDbdqrH0}ed-mysD{0ec9B|iw~%w;_Lsi^)^OBtic75^r{2fIA#f;pY|z~ zO-f~bK~<+V;N7qHs^`Y4tSsIb9O3NQUz1l8!(qG-w;oL8X#dC~ENf`jF6oA2V#Qq4 zzKatOgz{&_Q$`zb zMM4BP1ieOItVWJe4~7ADTV#W+>eANAg8va=Jwl~p&i;;m`09AOxHKP- zA3A#nSGvox9v15<;vI%F9Saup=~F!FjSMe5VA@PXr_N5wU}OdjEV8kQz1WCI=^)yA z1e|r?2~d{61yiC?*IHBwGm+GXx#vz@pY zbWQI=XY5u2)B~aRE>mk^L^j?HPv^~;v<94+odxz5e!!ret10;OBK=^8Gty-|cjxTb z^@2N4hCIXbx^~ve-P*PDU1vJddTI44!yx{x+sPi=j?sqhUg9?&ff>4OhlhLZI(brB z+O)ch8VNQ-*Yt_nlQ_VOx~A8c!GaQGia!xW6|n{3rHy@^faqU}i*&I+M<4cOLW=m) zk-Jse&L-E*LY`HRENhaM18^7eO?M*DDm8!8N8o9A{pz(rB%cgGbc}uO`cv3|(Y!>) z4lsW5{#>EwbxrhENNG6z@z-aAgx@e&%#|Ft`f^ltJ!EXI7asaxKN-^~IrcZWhMG>s z4AyCD&TK9;(>Jo4rB-d77iQNhsn=*vcEX}+=VY@ey$;`Y*jd>l#su^Z67kV!QB){) zN<8llkOL-PKYKOrIC^IPBm$U6l`=_U+l-Oum#`ve!fZaKQ9`f7EL8#jI)3Mtn3Obb zJAG8kdNAdpC8cN`?p%qLKW-Nl_U&?R`3K%SC2^ZgnMI@la_oBRUhC zL1iVEl$7M?aWE4Efz7DN`MORJt^pYzzZC!5DFU{7g@DfG;wh%X=9EcB!WJ;?62y#X zLKca-eSAK*NI?1YvOU2Ott0=|NwaAoKf^OM-ECiF{Jnxp>^C=l zOq<3-UXFTy=r0(#oDHb3-jlqm6Km@u+o*1Q8vyI(hgY+3Hj)beGJ_+MOgd4L&vKqW zj!I={)Ol+<#R~_AVr^pdp1yYYh@+yHJgeeM+&O)* z3F+v>W;*;S%?|=$iR>|+mwKVn*FcCkmMy|mJ3xGIrpt~0@hTB$XHI`{5_$-|*4z8~ z{wtHlA>`6M4L7H=FZf3HP2FnrxjxBBmQuAf?)7qSX?y5wS@dY_1}j2GR^%Mr$!@`h zk^1q=eYL5JZ`ej+Pt&7BcY?O3mQE8B8`n?0L^ItE+|&kIT4t%0D9F>J>IR8cAbrFxLjARH8=a7V?aE? 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

  • yqUAWZ6CGSco-*^L2} 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�xxe2gO^cIa9Pe1uf9rVpBK+o; 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 literal 0 HcmV?d00001 From 38d75fad489117dd792794125a2b92ecaf02f0ce Mon Sep 17 00:00:00 2001 From: Christian Sanchez Date: Wed, 24 Dec 2025 23:09:16 -0800 Subject: [PATCH 21/50] adding config file for `gitleaks` --- .gitleaksignore | 6 +++--- gitleaks.toml | 0 2 files changed, 3 insertions(+), 3 deletions(-) create mode 100644 gitleaks.toml diff --git a/.gitleaksignore b/.gitleaksignore index 46497dc..920140f 100644 --- a/.gitleaksignore +++ b/.gitleaksignore @@ -1,3 +1,3 @@ -cmd/card/setslist.go:generic-api-key:116 -cmd/card/cardlist.go:generic-api-key:157 -codecov.yml:generic-api-key:2 \ No newline at end of file +codecov.yml:generic-api-key:2 +card_data/sample_scripts/ebay.py:generic-api-key:6 +card_data/sample_scripts/get_data.py:generic-api-key:9 \ No newline at end of file diff --git a/gitleaks.toml b/gitleaks.toml new file mode 100644 index 0000000..e69de29 From 472cc47c98d9cf4c9b5386713d5267dc9748795a Mon Sep 17 00:00:00 2001 From: Christian Sanchez Date: Wed, 24 Dec 2025 23:09:56 -0800 Subject: [PATCH 22/50] adding config file for `gitleaks` --- gitleaks.toml | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/gitleaks.toml b/gitleaks.toml index e69de29..c25f235 100644 --- a/gitleaks.toml +++ b/gitleaks.toml @@ -0,0 +1,10 @@ +title = "Custom Gitleaks configuration" + +[extend] +# Extends the default gitleaks config + +[allowlist] +regexTarget = "match" +regexes = [ + '''sb_publishable_[A-Za-z0-9_-]+''' +] \ No newline at end of file From d44d71192bf9b944c2010680e0e6a367018d83a5 Mon Sep 17 00:00:00 2001 From: Christian Sanchez Date: Wed, 24 Dec 2025 23:24:41 -0800 Subject: [PATCH 23/50] adding gitleaks ci job --- .github/workflows/ci.yml | 65 ++++++++++++++++++++++++++-------------- 1 file changed, 42 insertions(+), 23 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 887d24a..feec341 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -19,6 +19,7 @@ on: - 'docs/**' - 'card_data/**' - '.gitignore' + - '.gitleaksignore' - 'demo**' - 'go.mod' - 'go.sum' @@ -46,7 +47,7 @@ jobs: steps: - name: Checkout - uses: actions/checkout@v4 + uses: actions/checkout@v6 - name: Run Gosec Security Scanner uses: securego/gosec@master @@ -58,17 +59,35 @@ jobs: with: sarif_file: results.sarif - build-linux-packages: + gitleaks: runs-on: ubuntu-22.04 - needs: [ gosec ] + needs: [gosec] if: needs.gosec.result == 'success' + + steps: + - name: Checkout + uses: actions/checkout@v6 + with: + fetch-depth: 0 + + - name: Gitleaks + uses: gitleaks/gitleaks-action@v2 + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + GITLEAKS_CONFIG: ./gitleaks.toml + GITLEAKS_VERSION: 8.29.0 + + build-linux-packages: + runs-on: ubuntu-22.04 + needs: [gitleaks] + if: needs.gitleaks.result == 'success' strategy: matrix: arch: [ amd64, arm64 ] steps: - name: Checkout code - uses: actions/checkout@v4 + uses: actions/checkout@v6 - name: Set up Go uses: actions/setup-go@v5 @@ -124,7 +143,7 @@ jobs: upload-deb-packages: runs-on: ubuntu-22.04 - needs: [ build-linux-packages ] + needs: [build-linux-packages] if: needs.build-linux-packages.result == 'success' strategy: matrix: @@ -152,7 +171,7 @@ jobs: upload-rpm-packages: runs-on: ubuntu-22.04 - needs: [ build-linux-packages ] + needs: [build-linux-packages] if: needs.build-linux-packages.result == 'success' strategy: matrix: @@ -180,7 +199,7 @@ jobs: upload-apk-packages: runs-on: ubuntu-22.04 - needs: [ build-linux-packages ] + needs: [build-linux-packages] if: needs.build-linux-packages.result == 'success' strategy: matrix: @@ -208,7 +227,7 @@ jobs: upload-summary: runs-on: ubuntu-22.04 - needs: [ upload-deb-packages, upload-rpm-packages, upload-apk-packages ] + needs: [upload-deb-packages, upload-rpm-packages, upload-apk-packages] if: always() steps: @@ -228,12 +247,12 @@ jobs: build-docs-docker-image: runs-on: ubuntu-22.04 - needs: [ gosec ] - if: needs.gosec.result == 'success' + needs: [gitleaks] + if: needs.gitleaks.result == 'success' steps: - name: Checkout - uses: actions/checkout@v4 + uses: actions/checkout@v6 with: sparse-checkout: | docs @@ -267,7 +286,7 @@ jobs: steps: - name: Checkout - uses: actions/checkout@v4 + uses: actions/checkout@v6 - name: Configure AWS uses: aws-actions/configure-aws-credentials@v4 @@ -296,12 +315,12 @@ jobs: lint-cli-dockerfile: runs-on: ubuntu-22.04 - needs: [ gosec ] - if: needs.gosec.result == 'success' + needs: [gitleaks] + if: needs.gitleaks.result == 'success' steps: - name: Checkout - uses: actions/checkout@v4 + uses: actions/checkout@v6 - name: Lint Dockerfile uses: 'hadolint/hadolint-action@v3.1.0' @@ -311,12 +330,12 @@ jobs: build-cli-docker-image: runs-on: ubuntu-22.04 - needs: [ lint-cli-dockerfile ] + needs: [lint-cli-dockerfile] if: needs.lint-cli-dockerfile.result == 'success' steps: - name: Checkout - uses: actions/checkout@v4 + uses: actions/checkout@v6 - name: Set up Docker Buildx uses: 'docker/setup-buildx-action@v3.0.0' @@ -347,7 +366,7 @@ jobs: steps: - name: Checkout - uses: actions/checkout@v4 + uses: actions/checkout@v6 - name: Configure AWS uses: aws-actions/configure-aws-credentials@v4 @@ -373,7 +392,7 @@ jobs: steps: - name: Checkout - uses: actions/checkout@v4 + uses: actions/checkout@v6 - name: Set up Docker Buildx uses: 'docker/setup-buildx-action@v3.0.0' @@ -420,14 +439,14 @@ jobs: severity-cutoff: critical - name: Upload SARIF Report - uses: github/codeql-action/upload-sarif@v3 + uses: github/codeql-action/upload-sarif@v4 with: sarif_file: ${{ steps.scan.outputs.sarif }} architecture-build: runs-on: ubuntu-22.04 - needs: [gosec] - if: needs.gosec.result == 'success' + needs: [gitleaks] + if: needs.gitleaks.result == 'success' strategy: fail-fast: false @@ -436,7 +455,7 @@ jobs: steps: - name: Checkout - uses: actions/checkout@v4 + uses: actions/checkout@v6 - name: Docker Meta id: meta From 99bd65d4f0b7d6179ed660c8f55831409d853a00 Mon Sep 17 00:00:00 2001 From: Christian Sanchez Date: Wed, 24 Dec 2025 23:50:03 -0800 Subject: [PATCH 24/50] adding comments for bandit security --- card_data/pipelines/defs/load/load_data.py | 6 ++++-- card_data/pipelines/defs/load/load_pricing_data.py | 4 ++-- 2 files changed, 6 insertions(+), 4 deletions(-) diff --git a/card_data/pipelines/defs/load/load_data.py b/card_data/pipelines/defs/load/load_data.py index 80dc9ec..3fa07d3 100644 --- a/card_data/pipelines/defs/load/load_data.py +++ b/card_data/pipelines/defs/load/load_data.py @@ -1,3 +1,4 @@ +import shutil import subprocess # nosec from pathlib import Path @@ -9,6 +10,7 @@ from ...utils.secret_retriever import fetch_secret +SODA_PATH = shutil.which("soda") or "soda" @dg.asset( kinds={"Supabase", "Postgres"}, @@ -35,9 +37,9 @@ def data_quality_check_on_series() -> None: current_file_dir = Path(__file__).parent print(f"Setting cwd to: {current_file_dir}") - result = subprocess.run( + result = subprocess.run( # nosec B603 [ - "soda", + SODA_PATH, "scan", "-d", "supabase", diff --git a/card_data/pipelines/defs/load/load_pricing_data.py b/card_data/pipelines/defs/load/load_pricing_data.py index cce644f..d98fdbe 100644 --- a/card_data/pipelines/defs/load/load_pricing_data.py +++ b/card_data/pipelines/defs/load/load_pricing_data.py @@ -1,4 +1,4 @@ -import subprocess +import subprocess # nosec from pathlib import Path import dagster as dg @@ -37,7 +37,7 @@ def data_quality_checks_on_pricing() -> None: current_file_dir = Path(__file__).parent print(f"Setting cwd to: {current_file_dir}") - result = subprocess.run( + result = subprocess.run( # nosec [ "soda", "scan", From a868017fe9f0956883693b9d100ed8236867e706 Mon Sep 17 00:00:00 2001 From: Christian Sanchez Date: Thu, 25 Dec 2025 00:02:29 -0800 Subject: [PATCH 25/50] adding helper function for calling the APIs --- .../pipelines/defs/extract/extract_data.py | 19 ++++++++----------- card_data/pipelines/soda/checks.yml | 2 +- card_data/pipelines/utils/json_retriever.py | 8 ++++++++ 3 files changed, 17 insertions(+), 12 deletions(-) create mode 100644 card_data/pipelines/utils/json_retriever.py diff --git a/card_data/pipelines/defs/extract/extract_data.py b/card_data/pipelines/defs/extract/extract_data.py index 3fb6055..ee9e93f 100644 --- a/card_data/pipelines/defs/extract/extract_data.py +++ b/card_data/pipelines/defs/extract/extract_data.py @@ -10,6 +10,8 @@ import requests +from ...utils.json_retriever import fetch_json + class Series(BaseModel): id: str @@ -30,7 +32,7 @@ class Set(BaseModel): @dg.asset(kinds={"API", "Polars", "Pydantic"}) def extract_series_data() -> pl.DataFrame: url: str = "https://api.tcgdex.net/v2/en/series" - data = requests.get(url).json() + data: dict = fetch_json(url) # Pydantic validation try: @@ -60,7 +62,7 @@ def extract_set_data() -> pl.DataFrame: flat: list[dict] = [] for url in url_list: - data = requests.get(url).json() + data: dict = fetch_json(url) series_id = data.get("id") for s in data.get("sets", []): @@ -95,10 +97,7 @@ def extract_card_url_from_set() -> list: for url in urls: try: - r = requests.get(url) - r.raise_for_status() - - data = r.json()["cards"] + data: dict = fetch_json(url)["cards"] # This could be a list comprehension, but I find those hard to read so, I prefer to use .append set_card_urls = [] @@ -116,7 +115,7 @@ def extract_card_url_from_set() -> list: time.sleep(0.1) - except requests.RequestException as e: + except (requests.RequestException, requests.Timeout, KeyError) as e: print(f"Failed to fetch set {url}: {e}") return all_card_urls @@ -129,13 +128,11 @@ def extract_card_info(extract_card_url_from_set_data: list) -> list: for url in card_url_list: try: - r = requests.get(url) - r.raise_for_status() - data = r.json() + data: dict = fetch_json(url) cards_list.append(data) print(f"Retrieved card: {data['id']} - {data.get('name', 'Unknown')}") time.sleep(0.1) - except requests.RequestException as e: + except (requests.RequestException, requests.Timeout, KeyError) as e: print(f"Failed to fetch {url}: {e}") return cards_list diff --git a/card_data/pipelines/soda/checks.yml b/card_data/pipelines/soda/checks.yml index ef3cf7d..95d4b1a 100644 --- a/card_data/pipelines/soda/checks.yml +++ b/card_data/pipelines/soda/checks.yml @@ -1,6 +1,6 @@ checks for series: # Row count validation - - row_count = 4 + - row_count = 3 # Schema validation checks - schema: diff --git a/card_data/pipelines/utils/json_retriever.py b/card_data/pipelines/utils/json_retriever.py new file mode 100644 index 0000000..bdd5eb8 --- /dev/null +++ b/card_data/pipelines/utils/json_retriever.py @@ -0,0 +1,8 @@ +import requests +import json + +def fetch_json(url: str, timeout: int = 30) -> dict: + response = requests.get(url, timeout=timeout) + response.raise_for_status() + + return response.json() From c75b68ceb4ef13ad8b0683651e92273fe489c149 Mon Sep 17 00:00:00 2001 From: Christian Sanchez Date: Fri, 26 Dec 2025 12:27:26 -0800 Subject: [PATCH 26/50] updating directory layout --- .../pipelines/defs/extract/extract_data.py | 195 ------------------ .../extract_pricing.py} | 0 card_data/pipelines/defs/load/load_data.py | 104 ---------- .../load_pricing.py} | 0 .../transform_data.py | 0 5 files changed, 299 deletions(-) delete mode 100644 card_data/pipelines/defs/extract/extract_data.py rename card_data/pipelines/defs/extract/{extract_pricing_data.py => tcgcsv/extract_pricing.py} (100%) delete mode 100644 card_data/pipelines/defs/load/load_data.py rename card_data/pipelines/defs/load/{load_pricing_data.py => tcgcsv/load_pricing.py} (100%) rename card_data/pipelines/defs/{transformation => transform}/transform_data.py (100%) diff --git a/card_data/pipelines/defs/extract/extract_data.py b/card_data/pipelines/defs/extract/extract_data.py deleted file mode 100644 index ee9e93f..0000000 --- a/card_data/pipelines/defs/extract/extract_data.py +++ /dev/null @@ -1,195 +0,0 @@ -import time -import json - -import dagster as dg -import polars as pl - -from pydantic import BaseModel, HttpUrl, ValidationError -from typing import Optional -from termcolor import colored - -import requests - -from ...utils.json_retriever import fetch_json - - -class Series(BaseModel): - id: str - name: str - logo: Optional[HttpUrl] = None - - -class Set(BaseModel): - series_id: str - set_id: str - set_name: str - official_card_count: int | None - total_card_count: int | None - logo: Optional[str] = None - symbol: Optional[str] = None - - -@dg.asset(kinds={"API", "Polars", "Pydantic"}) -def extract_series_data() -> pl.DataFrame: - url: str = "https://api.tcgdex.net/v2/en/series" - data: dict = fetch_json(url) - - # Pydantic validation - try: - validated: list[Series] = [Series(**item) for item in data] - print( - colored(" ✓", "green"), "Pydantic validation passed for all series entries." - ) - except ValidationError as e: - print(colored(" ✖", "red"), "Pydantic validation failed.") - print(e) - raise - - filtered = [ - s.model_dump(mode="json") for s in validated if s.id in ["swsh", "sv", "me"] - ] - return pl.DataFrame(filtered) - - -@dg.asset(kinds={"API", "Polars", "Pydantic"}, name="extract_set_data") -def extract_set_data() -> pl.DataFrame: - url_list = [ - "https://api.tcgdex.net/v2/en/series/me", - "https://api.tcgdex.net/v2/en/series/sv", - "https://api.tcgdex.net/v2/en/series/swsh", - ] - - flat: list[dict] = [] - - for url in url_list: - data: dict = fetch_json(url) - series_id = data.get("id") - - for s in data.get("sets", []): - entry = { - "series_id": series_id, - "set_id": s.get("id"), - "set_name": s.get("name"), - "official_card_count": s.get("cardCount", {}).get("official"), - "total_card_count": s.get("cardCount", {}).get("total"), - "logo": s.get("logo"), - "symbol": s.get("symbol"), - } - flat.append(entry) - - # Pydantic validation - try: - validated: list[Set] = [Set(**item) for item in flat] - print(colored(" ✓", "green"), "Pydantic validation passed for all set entries.") - except ValidationError as e: - print(colored(" ✖", "red"), "Pydantic validation failed.") - print(e) - raise - - return pl.DataFrame([s.model_dump(mode="json") for s in validated]) - - -@dg.asset(kinds={"API"}, name="extract_card_url_from_set_data") -def extract_card_url_from_set() -> list: - urls = ["https://api.tcgdex.net/v2/en/sets/me02"] - - all_card_urls = [] - - for url in urls: - try: - data: dict = fetch_json(url)["cards"] - - # This could be a list comprehension, but I find those hard to read so, I prefer to use .append - set_card_urls = [] - for card in data: - card_id = card['id'] - - # Skip special variant cards (Trainer Gallery and Shiny Vault) - if "-TG" in card_id or "-SV" in card_id or "-GG" in card_id: - continue - - url = f"https://api.tcgdex.net/v2/en/cards/{card_id}" - set_card_urls.append(url) - - all_card_urls.extend(set_card_urls) - - time.sleep(0.1) - - except (requests.RequestException, requests.Timeout, KeyError) as e: - print(f"Failed to fetch set {url}: {e}") - - return all_card_urls - - -@dg.asset(kinds={"API"}, name="extract_card_info") -def extract_card_info(extract_card_url_from_set_data: list) -> list: - card_url_list = extract_card_url_from_set_data - cards_list = [] - - for url in card_url_list: - try: - data: dict = fetch_json(url) - cards_list.append(data) - print(f"Retrieved card: {data['id']} - {data.get('name', 'Unknown')}") - time.sleep(0.1) - except (requests.RequestException, requests.Timeout, KeyError) as e: - print(f"Failed to fetch {url}: {e}") - - return cards_list - - -@dg.asset(kinds={"Polars"}, name="create_card_dataframe") -def create_card_dataframe(extract_card_info: list) -> pl.DataFrame: - cards_list = extract_card_info - - all_flat_cards = [] - - for card in cards_list: - flat = {} - - # Copy top-level scalar values - scalar_keys = [ - "category", - "hp", - "id", - "illustrator", - "image", - "localId", - "name", - "rarity", - "regulationMark", - "retreat", - "stage", - ] - for key in scalar_keys: - flat[key] = card.get(key) - - # Flatten nested dicts with prefixes - for key, value in card.get("legal", {}).items(): - flat[f"legal_{key}"] = value - - for key, value in card.get("set", {}).items(): - if isinstance(value, dict): - for sub_key, sub_val in value.items(): - flat[f"set_{key}_{sub_key}"] = sub_val - else: - flat[f"set_{key}"] = value - - # Flatten types (list of strings) - flat["types"] = ", ".join(card.get("types", [])) - - flat["attacks_json"] = json.dumps(card.get("attacks", []), ensure_ascii=False) - - attacks = card.get("attacks", []) - for i, atk in enumerate(attacks): - prefix = f"attack_{i + 1}" - flat[f"{prefix}_name"] = atk.get("name") - flat[f"{prefix}_damage"] = atk.get("damage") - flat[f"{prefix}_effect"] = atk.get("effect") - flat[f"{prefix}_cost"] = ", ".join(atk.get("cost", [])) - - all_flat_cards.append(flat) - - df = pl.DataFrame(all_flat_cards) - - return df diff --git a/card_data/pipelines/defs/extract/extract_pricing_data.py b/card_data/pipelines/defs/extract/tcgcsv/extract_pricing.py similarity index 100% rename from card_data/pipelines/defs/extract/extract_pricing_data.py rename to card_data/pipelines/defs/extract/tcgcsv/extract_pricing.py diff --git a/card_data/pipelines/defs/load/load_data.py b/card_data/pipelines/defs/load/load_data.py deleted file mode 100644 index 3fa07d3..0000000 --- a/card_data/pipelines/defs/load/load_data.py +++ /dev/null @@ -1,104 +0,0 @@ -import shutil -import subprocess # nosec -from pathlib import Path - -import dagster as dg -import polars as pl -from dagster import Backoff, RetryPolicy -from sqlalchemy.exc import OperationalError -from termcolor import colored - -from ...utils.secret_retriever import fetch_secret - -SODA_PATH = shutil.which("soda") or "soda" - -@dg.asset( - kinds={"Supabase", "Postgres"}, - name="load_series_data", - retry_policy=RetryPolicy(max_retries=3, delay=2, backoff=Backoff.EXPONENTIAL), -) -def load_series_data(extract_series_data: pl.DataFrame) -> None: - database_url: str = fetch_secret() - table_name: str = "staging.series" - - df = extract_series_data - try: - df.write_database( - table_name=table_name, connection=database_url, if_table_exists="replace" - ) - print(colored(" ✓", "green"), f"Data loaded into {table_name}") - except OperationalError as e: - print(colored(" ✖", "red"), "Connection error in load_series_data():", e) - raise - - -@dg.asset(deps=[load_series_data], kinds={"Soda"}, name="quality_checks_series") -def data_quality_check_on_series() -> None: - current_file_dir = Path(__file__).parent - print(f"Setting cwd to: {current_file_dir}") - - result = subprocess.run( # nosec B603 - [ - SODA_PATH, - "scan", - "-d", - "supabase", - "-c", - "../../soda/configuration.yml", - "../../soda/checks.yml", - ], - capture_output=True, - text=True, - cwd=current_file_dir, - ) - - # Print output for debugging - if result.stdout: - print(result.stdout) - if result.stderr: - print(result.stderr) - - if result.returncode != 0: - raise Exception( - f"Soda data quality checks failed with return code {result.returncode}" - ) - - -@dg.asset( - kinds={"Supabase", "Postgres"}, - name="load_set_data", - retry_policy=RetryPolicy(max_retries=3, delay=2, backoff=Backoff.EXPONENTIAL), -) -def load_set_data(extract_set_data: pl.DataFrame) -> None: - database_url: str = fetch_secret() - table_name: str = "staging.sets" - - df = extract_set_data - try: - df.write_database( - table_name=table_name, connection=database_url, if_table_exists="replace" - ) - print(colored(" ✓", "green"), f"Data loaded into {table_name}") - except OperationalError as e: - print(colored(" ✖", "red"), "Connection error in load_set_data():", e) - raise - - -@dg.asset( - kinds={"Supabase", "Postgres"}, - name="load_card_data", - retry_policy=RetryPolicy(max_retries=3, delay=2, backoff=Backoff.EXPONENTIAL), -) -def load_card_data(create_card_dataframe: pl.DataFrame) -> None: - database_url: str = fetch_secret() - table_name: str = "staging.cards" - - df = create_card_dataframe - try: - df.write_database( - table_name=table_name, connection=database_url, if_table_exists="append" - ) - print(colored(" ✓", "green"), f"Data loaded into {table_name}") - except OperationalError as e: - print(colored(" ✖", "red"), "Connection error in load_card_data():", e) - raise diff --git a/card_data/pipelines/defs/load/load_pricing_data.py b/card_data/pipelines/defs/load/tcgcsv/load_pricing.py similarity index 100% rename from card_data/pipelines/defs/load/load_pricing_data.py rename to card_data/pipelines/defs/load/tcgcsv/load_pricing.py diff --git a/card_data/pipelines/defs/transformation/transform_data.py b/card_data/pipelines/defs/transform/transform_data.py similarity index 100% rename from card_data/pipelines/defs/transformation/transform_data.py rename to card_data/pipelines/defs/transform/transform_data.py From f9fa33c5536b3a6079ae65198c70526aaea6107f Mon Sep 17 00:00:00 2001 From: Christian Sanchez Date: Fri, 26 Dec 2025 12:31:04 -0800 Subject: [PATCH 27/50] updating import paths --- card_data/pipelines/defs/load/tcgcsv/load_pricing.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/card_data/pipelines/defs/load/tcgcsv/load_pricing.py b/card_data/pipelines/defs/load/tcgcsv/load_pricing.py index d98fdbe..28dfcdd 100644 --- a/card_data/pipelines/defs/load/tcgcsv/load_pricing.py +++ b/card_data/pipelines/defs/load/tcgcsv/load_pricing.py @@ -7,7 +7,7 @@ from sqlalchemy.exc import OperationalError from termcolor import colored -from ...utils.secret_retriever import fetch_secret +from ....utils.secret_retriever import fetch_secret @dg.asset( @@ -44,8 +44,8 @@ def data_quality_checks_on_pricing() -> None: "-d", "supabase", "-c", - "../../soda/configuration.yml", - "../../soda/checks_pricing.yml", + "../../../soda/configuration.yml", + "../../../soda/checks_pricing.yml", ], capture_output=True, text=True, From 869c8cbfadf10590a91624f71d6e5891fa3f45b5 Mon Sep 17 00:00:00 2001 From: Christian Sanchez Date: Fri, 26 Dec 2025 14:27:04 -0800 Subject: [PATCH 28/50] updating directory layout --- card_data/pipelines/definitions.py | 4 +- .../defs/extract/tcgdex/extract_cards.py | 114 ++++++++++++++++++ .../defs/extract/tcgdex/extract_series.py | 36 ++++++ .../defs/extract/tcgdex/extract_sets.py | 56 +++++++++ .../pipelines/defs/load/tcgdex/load_cards.py | 26 ++++ .../pipelines/defs/load/tcgdex/load_series.py | 65 ++++++++++ .../pipelines/defs/load/tcgdex/load_sets.py | 26 ++++ 7 files changed, 325 insertions(+), 2 deletions(-) create mode 100644 card_data/pipelines/defs/extract/tcgdex/extract_cards.py create mode 100644 card_data/pipelines/defs/extract/tcgdex/extract_series.py create mode 100644 card_data/pipelines/defs/extract/tcgdex/extract_sets.py create mode 100644 card_data/pipelines/defs/load/tcgdex/load_cards.py create mode 100644 card_data/pipelines/defs/load/tcgdex/load_series.py create mode 100644 card_data/pipelines/defs/load/tcgdex/load_sets.py diff --git a/card_data/pipelines/definitions.py b/card_data/pipelines/definitions.py index d521064..892db84 100644 --- a/card_data/pipelines/definitions.py +++ b/card_data/pipelines/definitions.py @@ -4,8 +4,8 @@ import dagster as dg -from .defs.extract.extract_pricing_data import build_dataframe -from .defs.load.load_pricing_data import load_pricing_data, data_quality_checks_on_pricing +from .defs.extract.tcgcsv.extract_pricing import build_dataframe +from .defs.load.tcgcsv.load_pricing import load_pricing_data, data_quality_checks_on_pricing @definitions diff --git a/card_data/pipelines/defs/extract/tcgdex/extract_cards.py b/card_data/pipelines/defs/extract/tcgdex/extract_cards.py new file mode 100644 index 0000000..cf6f350 --- /dev/null +++ b/card_data/pipelines/defs/extract/tcgdex/extract_cards.py @@ -0,0 +1,114 @@ +import json +import time + +import dagster as dg +import polars as pl +import requests + +from ....utils.json_retriever import fetch_json + + +@dg.asset(kinds={"API"}, name="extract_card_url_from_set_data") +def extract_card_url_from_set() -> list: + urls = ["https://api.tcgdex.net/v2/en/sets/me02"] + + all_card_urls = [] + + for url in urls: + try: + data: dict = fetch_json(url)["cards"] + + # This could be a list comprehension, but I find those hard to read so, I prefer to use .append + set_card_urls = [] + for card in data: + card_id = card["id"] + + # Skip special variant cards (Trainer Gallery and Shiny Vault) + if "-TG" in card_id or "-SV" in card_id or "-GG" in card_id: + continue + + url = f"https://api.tcgdex.net/v2/en/cards/{card_id}" + set_card_urls.append(url) + + all_card_urls.extend(set_card_urls) + + time.sleep(0.1) + + except (requests.RequestException, requests.Timeout, KeyError) as e: + print(f"Failed to fetch set {url}: {e}") + + return all_card_urls + + +@dg.asset(kinds={"API"}, name="extract_card_info") +def extract_card_info(extract_card_url_from_set_data: list) -> list: + card_url_list = extract_card_url_from_set_data + cards_list = [] + + for url in card_url_list: + try: + data: dict = fetch_json(url) + cards_list.append(data) + print(f"Retrieved card: {data['id']} - {data.get('name', 'Unknown')}") + time.sleep(0.1) + except (requests.RequestException, requests.Timeout, KeyError) as e: + print(f"Failed to fetch {url}: {e}") + + return cards_list + + +@dg.asset(kinds={"Polars"}, name="create_card_dataframe") +def create_card_dataframe(extract_card_info: list) -> pl.DataFrame: + cards_list = extract_card_info + + all_flat_cards = [] + + for card in cards_list: + flat = {} + + # Copy top-level scalar values + scalar_keys = [ + "category", + "hp", + "id", + "illustrator", + "image", + "localId", + "name", + "rarity", + "regulationMark", + "retreat", + "stage", + ] + for key in scalar_keys: + flat[key] = card.get(key) + + # Flatten nested dicts with prefixes + for key, value in card.get("legal", {}).items(): + flat[f"legal_{key}"] = value + + for key, value in card.get("set", {}).items(): + if isinstance(value, dict): + for sub_key, sub_val in value.items(): + flat[f"set_{key}_{sub_key}"] = sub_val + else: + flat[f"set_{key}"] = value + + # Flatten types (list of strings) + flat["types"] = ", ".join(card.get("types", [])) + + flat["attacks_json"] = json.dumps(card.get("attacks", []), ensure_ascii=False) + + attacks = card.get("attacks", []) + for i, atk in enumerate(attacks): + prefix = f"attack_{i + 1}" + flat[f"{prefix}_name"] = atk.get("name") + flat[f"{prefix}_damage"] = atk.get("damage") + flat[f"{prefix}_effect"] = atk.get("effect") + flat[f"{prefix}_cost"] = ", ".join(atk.get("cost", [])) + + all_flat_cards.append(flat) + + df = pl.DataFrame(all_flat_cards) + + return df diff --git a/card_data/pipelines/defs/extract/tcgdex/extract_series.py b/card_data/pipelines/defs/extract/tcgdex/extract_series.py new file mode 100644 index 0000000..6f41efb --- /dev/null +++ b/card_data/pipelines/defs/extract/tcgdex/extract_series.py @@ -0,0 +1,36 @@ +from typing import Optional + +import dagster as dg +import polars as pl +from pydantic import BaseModel, HttpUrl, ValidationError +from termcolor import colored + +from ....utils.json_retriever import fetch_json + + +class Series(BaseModel): + id: str + name: str + logo: Optional[HttpUrl] = None + + +@dg.asset(kinds={"API", "Polars", "Pydantic"}) +def extract_series_data() -> pl.DataFrame: + url: str = "https://api.tcgdex.net/v2/en/series" + data: dict = fetch_json(url) + + # Pydantic validation + try: + validated: list[Series] = [Series(**item) for item in data] + print( + colored(" ✓", "green"), "Pydantic validation passed for all series entries." + ) + except ValidationError as e: + print(colored(" ✖", "red"), "Pydantic validation failed.") + print(e) + raise + + filtered = [ + s.model_dump(mode="json") for s in validated if s.id in ["swsh", "sv", "me"] + ] + return pl.DataFrame(filtered) diff --git a/card_data/pipelines/defs/extract/tcgdex/extract_sets.py b/card_data/pipelines/defs/extract/tcgdex/extract_sets.py new file mode 100644 index 0000000..b79e789 --- /dev/null +++ b/card_data/pipelines/defs/extract/tcgdex/extract_sets.py @@ -0,0 +1,56 @@ +from typing import Optional + +import dagster as dg +import polars as pl +from pydantic import BaseModel, HttpUrl, ValidationError +from termcolor import colored + +from ....utils.json_retriever import fetch_json + + +class Set(BaseModel): + series_id: str + set_id: str + set_name: str + official_card_count: int | None + total_card_count: int | None + logo: Optional[str] = None + symbol: Optional[str] = None + + +@dg.asset(kinds={"API", "Polars", "Pydantic"}, name="extract_set_data") +def extract_set_data() -> pl.DataFrame: + url_list = [ + "https://api.tcgdex.net/v2/en/series/me", + "https://api.tcgdex.net/v2/en/series/sv", + "https://api.tcgdex.net/v2/en/series/swsh", + ] + + flat: list[dict] = [] + + for url in url_list: + data: dict = fetch_json(url) + series_id = data.get("id") + + for s in data.get("sets", []): + entry = { + "series_id": series_id, + "set_id": s.get("id"), + "set_name": s.get("name"), + "official_card_count": s.get("cardCount", {}).get("official"), + "total_card_count": s.get("cardCount", {}).get("total"), + "logo": s.get("logo"), + "symbol": s.get("symbol"), + } + flat.append(entry) + + # Pydantic validation + try: + validated: list[Set] = [Set(**item) for item in flat] + print(colored(" ✓", "green"), "Pydantic validation passed for all set entries.") + except ValidationError as e: + print(colored(" ✖", "red"), "Pydantic validation failed.") + print(e) + raise + + return pl.DataFrame([s.model_dump(mode="json") for s in validated]) diff --git a/card_data/pipelines/defs/load/tcgdex/load_cards.py b/card_data/pipelines/defs/load/tcgdex/load_cards.py new file mode 100644 index 0000000..da3378f --- /dev/null +++ b/card_data/pipelines/defs/load/tcgdex/load_cards.py @@ -0,0 +1,26 @@ +import dagster as dg +import polars as pl +from ....utils.secret_retriever import fetch_secret +from dagster import Backoff, RetryPolicy +from sqlalchemy.exc import OperationalError +from termcolor import colored + + +@dg.asset( + kinds={"Supabase", "Postgres"}, + name="load_card_data", + retry_policy=RetryPolicy(max_retries=3, delay=2, backoff=Backoff.EXPONENTIAL), +) +def load_card_data(create_card_dataframe: pl.DataFrame) -> None: + database_url: str = fetch_secret() + table_name: str = "staging.cards" + + df = create_card_dataframe + try: + df.write_database( + table_name=table_name, connection=database_url, if_table_exists="append" + ) + print(colored(" ✓", "green"), f"Data loaded into {table_name}") + except OperationalError as e: + print(colored(" ✖", "red"), "Connection error in load_card_data():", e) + raise diff --git a/card_data/pipelines/defs/load/tcgdex/load_series.py b/card_data/pipelines/defs/load/tcgdex/load_series.py new file mode 100644 index 0000000..58f56e1 --- /dev/null +++ b/card_data/pipelines/defs/load/tcgdex/load_series.py @@ -0,0 +1,65 @@ +import shutil +import subprocess # nosec +from pathlib import Path + +import dagster as dg +import polars as pl +from dagster import Backoff, RetryPolicy +from sqlalchemy.exc import OperationalError +from termcolor import colored + +from ....utils.secret_retriever import fetch_secret + +SODA_PATH = shutil.which("soda") or "soda" + + +@dg.asset( + kinds={"Supabase", "Postgres"}, + name="load_series_data", + retry_policy=RetryPolicy(max_retries=3, delay=2, backoff=Backoff.EXPONENTIAL), +) +def load_series_data(extract_series_data: pl.DataFrame) -> None: + database_url: str = fetch_secret() + table_name: str = "staging.series" + + df = extract_series_data + try: + df.write_database( + table_name=table_name, connection=database_url, if_table_exists="replace" + ) + print(colored(" ✓", "green"), f"Data loaded into {table_name}") + except OperationalError as e: + print(colored(" ✖", "red"), "Connection error in load_series_data():", e) + raise + + +@dg.asset(deps=[load_series_data], kinds={"Soda"}, name="quality_checks_series") +def data_quality_check_on_series() -> None: + current_file_dir = Path(__file__).parent + print(f"Setting cwd to: {current_file_dir}") + + result = subprocess.run( # nosec B603 + [ + SODA_PATH, + "scan", + "-d", + "supabase", + "-c", + "../../../soda/configuration.yml", + "../../../soda/checks.yml", + ], + capture_output=True, + text=True, + cwd=current_file_dir, + ) + + # Print output for debugging + if result.stdout: + print(result.stdout) + if result.stderr: + print(result.stderr) + + if result.returncode != 0: + raise Exception( + f"Soda data quality checks failed with return code {result.returncode}" + ) diff --git a/card_data/pipelines/defs/load/tcgdex/load_sets.py b/card_data/pipelines/defs/load/tcgdex/load_sets.py new file mode 100644 index 0000000..1217ea2 --- /dev/null +++ b/card_data/pipelines/defs/load/tcgdex/load_sets.py @@ -0,0 +1,26 @@ +import dagster as dg +import polars as pl +from ....utils.secret_retriever import fetch_secret +from dagster import Backoff, RetryPolicy +from sqlalchemy.exc import OperationalError +from termcolor import colored + + +@dg.asset( + kinds={"Supabase", "Postgres"}, + name="load_set_data", + retry_policy=RetryPolicy(max_retries=3, delay=2, backoff=Backoff.EXPONENTIAL), +) +def load_set_data(extract_set_data: pl.DataFrame) -> None: + database_url: str = fetch_secret() + table_name: str = "staging.sets" + + df = extract_set_data + try: + df.write_database( + table_name=table_name, connection=database_url, if_table_exists="replace" + ) + print(colored(" ✓", "green"), f"Data loaded into {table_name}") + except OperationalError as e: + print(colored(" ✖", "red"), "Connection error in load_set_data():", e) + raise From 5f27b48cdbd90aeadfc37465996503b342d43d3b Mon Sep 17 00:00:00 2001 From: Christian Sanchez Date: Fri, 26 Dec 2025 14:47:10 -0800 Subject: [PATCH 29/50] adding data quality checks for sets table --- .../soda/{checks.yml => checks_series.yml} | 3 +- card_data/pipelines/soda/checks_sets.yml | 37 +++++++++++++++++++ 2 files changed, 38 insertions(+), 2 deletions(-) rename card_data/pipelines/soda/{checks.yml => checks_series.yml} (94%) create mode 100644 card_data/pipelines/soda/checks_sets.yml diff --git a/card_data/pipelines/soda/checks.yml b/card_data/pipelines/soda/checks_series.yml similarity index 94% rename from card_data/pipelines/soda/checks.yml rename to card_data/pipelines/soda/checks_series.yml index 95d4b1a..367b634 100644 --- a/card_data/pipelines/soda/checks.yml +++ b/card_data/pipelines/soda/checks_series.yml @@ -22,5 +22,4 @@ checks for series: # Data format validation - URL pattern check - invalid_count(logo) = 0: - valid regex: '^https://.*' - + valid regex: '^https://.*' \ No newline at end of file diff --git a/card_data/pipelines/soda/checks_sets.yml b/card_data/pipelines/soda/checks_sets.yml new file mode 100644 index 0000000..49f330d --- /dev/null +++ b/card_data/pipelines/soda/checks_sets.yml @@ -0,0 +1,37 @@ +checks for sets: + # Row count validation + - row_count = 39 + + # Schema validation checks + - schema: + fail: + when required column missing: [series_id, set_id, set_name, official_card_count, total_card_count] + when wrong column type: + series_id: text + set_id: text + set_name: text + official_card_count: bigint + total_card_count: bigint + logo: text + symbol: text + + # Completeness checks (required fields should not be null) + - missing_count(series_id) = 0 + - missing_count(set_id) = 0 + - missing_count(set_name) = 0 + - missing_count(total_card_count) = 0 + + # Data uniqueness checks + - duplicate_count(set_id) = 0 + - duplicate_count(set_name) = 0 + + # Data validity checks + - invalid_count(total_card_count) = 0: + valid min: 1 + + # URL format validation (only for non-null logos) + - invalid_count(logo) = 0: + valid regex: '^https://.*' + + # Foreign key check - series_id should reference existing series + - values in (series_id) must exist in series (id) \ No newline at end of file From 854cc0a492dcfb836846831159ee650f17b130ac Mon Sep 17 00:00:00 2001 From: Christian Sanchez Date: Fri, 26 Dec 2025 15:51:56 -0800 Subject: [PATCH 30/50] filtering out special sets --- card_data/pipelines/poke_cli_dbt/models/sets.sql | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/card_data/pipelines/poke_cli_dbt/models/sets.sql b/card_data/pipelines/poke_cli_dbt/models/sets.sql index 926082c..2907c56 100644 --- a/card_data/pipelines/poke_cli_dbt/models/sets.sql +++ b/card_data/pipelines/poke_cli_dbt/models/sets.sql @@ -4,4 +4,5 @@ ) }} SELECT * -FROM {{ source('staging', 'sets') }} \ No newline at end of file +FROM {{ source('staging', 'sets') }} +WHERE set_id NOT IN ('fut2020', 'mep', 'svp', 'swshp') \ No newline at end of file From f3372acbd3f0eca92ec0fcfe5aea5408f3911421 Mon Sep 17 00:00:00 2001 From: Christian Sanchez Date: Fri, 26 Dec 2025 15:53:37 -0800 Subject: [PATCH 31/50] updating reference name --- card_data/pipelines/defs/extract/tcgdex/extract_sets.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/card_data/pipelines/defs/extract/tcgdex/extract_sets.py b/card_data/pipelines/defs/extract/tcgdex/extract_sets.py index b79e789..5c635e2 100644 --- a/card_data/pipelines/defs/extract/tcgdex/extract_sets.py +++ b/card_data/pipelines/defs/extract/tcgdex/extract_sets.py @@ -18,8 +18,8 @@ class Set(BaseModel): symbol: Optional[str] = None -@dg.asset(kinds={"API", "Polars", "Pydantic"}, name="extract_set_data") -def extract_set_data() -> pl.DataFrame: +@dg.asset(kinds={"API", "Polars", "Pydantic"}, name="extract_sets_data") +def extract_sets_data() -> pl.DataFrame: url_list = [ "https://api.tcgdex.net/v2/en/series/me", "https://api.tcgdex.net/v2/en/series/sv", From 2a352e94d1b505489224bbc383bda394b40eabd3 Mon Sep 17 00:00:00 2001 From: Christian Sanchez Date: Fri, 26 Dec 2025 15:53:54 -0800 Subject: [PATCH 32/50] adding in soda checks --- .../pipelines/defs/load/tcgdex/load_sets.py | 49 +++++++++++++++++-- 1 file changed, 44 insertions(+), 5 deletions(-) diff --git a/card_data/pipelines/defs/load/tcgdex/load_sets.py b/card_data/pipelines/defs/load/tcgdex/load_sets.py index 1217ea2..8afd2e9 100644 --- a/card_data/pipelines/defs/load/tcgdex/load_sets.py +++ b/card_data/pipelines/defs/load/tcgdex/load_sets.py @@ -1,26 +1,65 @@ +import shutil +import subprocess # nosec +from pathlib import Path + import dagster as dg import polars as pl -from ....utils.secret_retriever import fetch_secret from dagster import Backoff, RetryPolicy from sqlalchemy.exc import OperationalError from termcolor import colored +from ....utils.secret_retriever import fetch_secret + +SODA_PATH = shutil.which("soda") or "soda" + @dg.asset( kinds={"Supabase", "Postgres"}, - name="load_set_data", + name="load_sets_data", retry_policy=RetryPolicy(max_retries=3, delay=2, backoff=Backoff.EXPONENTIAL), ) -def load_set_data(extract_set_data: pl.DataFrame) -> None: +def load_sets_data(extract_sets_data: pl.DataFrame) -> None: database_url: str = fetch_secret() table_name: str = "staging.sets" - df = extract_set_data + df = extract_sets_data try: df.write_database( table_name=table_name, connection=database_url, if_table_exists="replace" ) print(colored(" ✓", "green"), f"Data loaded into {table_name}") except OperationalError as e: - print(colored(" ✖", "red"), "Connection error in load_set_data():", e) + print(colored(" ✖", "red"), "Connection error in load_sets_data():", e) raise + + +@dg.asset(deps=[load_sets_data], kinds={"Soda"}, name="data_quality_checks_on_sets") +def data_quality_check_on_series() -> None: + current_file_dir = Path(__file__).parent + print(f"Setting cwd to: {current_file_dir}") + + result = subprocess.run( # nosec B603 + [ + SODA_PATH, + "scan", + "-d", + "supabase", + "-c", + "../../../soda/configuration.yml", + "../../../soda/checks_sets.yml", + ], + capture_output=True, + text=True, + cwd=current_file_dir, + ) + + # Print output for debugging + if result.stdout: + print(result.stdout) + if result.stderr: + print(result.stderr) + + if result.returncode != 0: + raise Exception( + f"Soda data quality checks failed with return code {result.returncode}" + ) From fb7d9a94e6f3bded17f4a2c1c2e86bdbb49d9901 Mon Sep 17 00:00:00 2001 From: Christian Sanchez Date: Fri, 26 Dec 2025 15:54:32 -0800 Subject: [PATCH 33/50] updating function names --- card_data/pipelines/defs/load/tcgdex/load_series.py | 4 ++-- card_data/pipelines/defs/transform/transform_data.py | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/card_data/pipelines/defs/load/tcgdex/load_series.py b/card_data/pipelines/defs/load/tcgdex/load_series.py index 58f56e1..b7e5479 100644 --- a/card_data/pipelines/defs/load/tcgdex/load_series.py +++ b/card_data/pipelines/defs/load/tcgdex/load_series.py @@ -33,7 +33,7 @@ def load_series_data(extract_series_data: pl.DataFrame) -> None: raise -@dg.asset(deps=[load_series_data], kinds={"Soda"}, name="quality_checks_series") +@dg.asset(deps=[load_series_data], kinds={"Soda"}, name="data_quality_checks_on_series") def data_quality_check_on_series() -> None: current_file_dir = Path(__file__).parent print(f"Setting cwd to: {current_file_dir}") @@ -46,7 +46,7 @@ def data_quality_check_on_series() -> None: "supabase", "-c", "../../../soda/configuration.yml", - "../../../soda/checks.yml", + "../../../soda/series_checks.yml", ], capture_output=True, text=True, diff --git a/card_data/pipelines/defs/transform/transform_data.py b/card_data/pipelines/defs/transform/transform_data.py index dcb8534..d64db69 100644 --- a/card_data/pipelines/defs/transform/transform_data.py +++ b/card_data/pipelines/defs/transform/transform_data.py @@ -13,8 +13,8 @@ def get_asset_key(self, dbt_resource_props): if resource_type == "source": # Map staging sources to load assets source_mapping = { - "series": "quality_checks_series", - "sets": "load_set_data", + "series": "data_quality_checks_on_series", + "sets": "data_quality_checks_on_sets", "cards": "load_card_data", "pricing_data": "data_quality_checks_on_pricing", } From 6a9663cd03bcb1c4b5bfa9f14fec42fdbd737517 Mon Sep 17 00:00:00 2001 From: Christian Sanchez Date: Fri, 26 Dec 2025 21:36:58 -0800 Subject: [PATCH 34/50] removing `os.Exit()` from commands, handling in `main()` (#219) --- cmd/berry/berry.go | 12 ++++++++---- cmd/pokemon/pokemon.go | 2 +- cmd/search/search.go | 10 ++++++---- flags/pokemonflagset.go | 5 ++--- 4 files changed, 17 insertions(+), 12 deletions(-) diff --git a/cmd/berry/berry.go b/cmd/berry/berry.go index 74d2ca9..22f9978 100644 --- a/cmd/berry/berry.go +++ b/cmd/berry/berry.go @@ -44,7 +44,10 @@ func BerryCommand() (string, error) { return output.String(), err } - tableGeneration() + if err := tableGeneration(); err != nil { + output.WriteString(err.Error()) + return output.String(), err + } return output.String(), nil } @@ -114,7 +117,7 @@ func (m model) View() string { styling.KeyMenu.Render("↑ (move up) • ↓ (move down)\nctrl+c | esc (quit)")) } -func tableGeneration() { +func tableGeneration() error { namesList, err := connections.QueryBerryData(` SELECT UPPER(SUBSTR(name, 1, 1)) || SUBSTR(name, 2) @@ -152,7 +155,8 @@ func tableGeneration() { _, err = tea.NewProgram(m).Run() if err != nil { - fmt.Println("Error running program:", err) - os.Exit(1) + return fmt.Errorf("error running program: %w", err) } + + return nil } diff --git a/cmd/pokemon/pokemon.go b/cmd/pokemon/pokemon.go index aa9ff83..918fae1 100644 --- a/cmd/pokemon/pokemon.go +++ b/cmd/pokemon/pokemon.go @@ -68,7 +68,7 @@ func PokemonCommand() (string, error) { if err := pf.FlagSet.Parse(args[3:]); err != nil { fmt.Printf("error parsing flags: %v\n", err) pf.FlagSet.Usage() - os.Exit(1) + return output.String(), err } pokemonStruct, pokemonName, err := connections.PokemonApiCall(endpoint, pokemonName, connections.APIURL) diff --git a/cmd/search/search.go b/cmd/search/search.go index c103fc8..5f71a44 100644 --- a/cmd/search/search.go +++ b/cmd/search/search.go @@ -11,7 +11,7 @@ import ( "github.com/digitalghost-dev/poke-cli/styling" ) -func SearchCommand() { +func SearchCommand() error { flag.Usage = func() { helpMessage := styling.HelpBorder.Render( "Search for a resource by name or partial match.\n\n", @@ -29,19 +29,21 @@ func SearchCommand() { if len(os.Args) == 3 && (os.Args[2] == "-h" || os.Args[2] == "--help") { flag.Usage() - return + return nil } if err := utils.ValidateSearchArgs(os.Args); err != nil { fmt.Println(err.Error()) - os.Exit(1) + return err } p := tea.NewProgram(initialModel()) if _, err := p.Run(); err != nil { fmt.Println("could not start program:", err) - os.Exit(1) + return err } + + return nil } // Model structure diff --git a/flags/pokemonflagset.go b/flags/pokemonflagset.go index 3056758..d680f4e 100644 --- a/flags/pokemonflagset.go +++ b/flags/pokemonflagset.go @@ -9,7 +9,6 @@ import ( "io" "log" "net/http" - "os" "sort" "strconv" "strings" @@ -391,14 +390,14 @@ func ImageFlag(w io.Writer, endpoint string, pokemonName string, size string) er imageResp, err := http.Get(pokemonStruct.Sprites.FrontDefault) if err != nil { fmt.Println("Error downloading sprite image:", err) - os.Exit(1) + return err } defer imageResp.Body.Close() img, err := imaging.Decode(imageResp.Body) if err != nil { fmt.Println("Error decoding image:", err) - os.Exit(1) + return err } // Define size map From f725bc24a38dcee836a53f08b4f9522b454d663a Mon Sep 17 00:00:00 2001 From: Christian Sanchez Date: Fri, 26 Dec 2025 22:05:53 -0800 Subject: [PATCH 35/50] updating test coverage --- cli_test.go | 15 ++--- cmd/card/cardlist_test.go | 117 +++++++++++++++++--------------------- 2 files changed, 57 insertions(+), 75 deletions(-) diff --git a/cli_test.go b/cli_test.go index 2e9709c..42ad9ee 100644 --- a/cli_test.go +++ b/cli_test.go @@ -2,12 +2,13 @@ package main import ( "bytes" - "github.com/digitalghost-dev/poke-cli/cmd/utils" - "github.com/digitalghost-dev/poke-cli/styling" - "github.com/stretchr/testify/assert" "os" "regexp" "testing" + + "github.com/digitalghost-dev/poke-cli/cmd/utils" + "github.com/digitalghost-dev/poke-cli/styling" + "github.com/stretchr/testify/assert" ) func TestCurrentVersion(t *testing.T) { @@ -24,7 +25,7 @@ func TestCurrentVersion(t *testing.T) { { name: "Version set to (devel)", version: "(devel)", - expectedOutput: "Version: (devel)\n", // Simplified assumption + expectedOutput: "Version: (devel)\n", }, } @@ -34,15 +35,12 @@ func TestCurrentVersion(t *testing.T) { for _, tt := range tests { t.Run(tt.name, func(t *testing.T) { - // Set the version for this test case version = tt.version - // Redirect stdout to capture the output r, w, _ := os.Pipe() oldStdout := os.Stdout os.Stdout = w - // Call the function currentVersion() // Close the writer and restore stdout @@ -58,7 +56,6 @@ func TestCurrentVersion(t *testing.T) { t.Fatalf("Failed to read from pipe: %v", err) } - // Compare the output with the expected result got := buf.String() if got != tt.expectedOutput { t.Errorf("Expected %q, got %q", tt.expectedOutput, got) @@ -156,7 +153,7 @@ func TestRunCLI_VariousCommands(t *testing.T) { func TestMainFunction(t *testing.T) { originalExit := exit - defer func() { exit = originalExit }() // Restore original exit after test + defer func() { exit = originalExit }() tests := []struct { name string diff --git a/cmd/card/cardlist_test.go b/cmd/card/cardlist_test.go index 322bd0b..36a2b17 100644 --- a/cmd/card/cardlist_test.go +++ b/cmd/card/cardlist_test.go @@ -2,6 +2,8 @@ package card import ( "errors" + "net/http" + "net/http/httptest" "strings" "testing" @@ -117,37 +119,6 @@ func TestCardsModel_Update_SpaceBar(t *testing.T) { } } -func TestCardsModel_Update_SelectionSync(t *testing.T) { - rows := []table.Row{ - {"001/198 - Bulbasaur"}, - {"002/198 - Ivysaur"}, - } - columns := []table.Column{ - {Title: "Card Name", Width: 35}, - } - tbl := table.New( - table.WithColumns(columns), - table.WithRows(rows), - table.WithFocused(true), - ) - - model := CardsModel{ - Table: tbl, - SelectedOption: "", - } - - // Simulate a key press that won't quit (e.g., arrow down) - msg := tea.KeyMsg{Type: tea.KeyDown} - newModel, _ := model.Update(msg) - - resultModel := newModel.(CardsModel) - - // The selected option should be updated to the current row - if resultModel.SelectedOption == "" { - t.Error("SelectedOption should be synced after table update") - } -} - func TestCardsModel_View_Quitting(t *testing.T) { model := CardsModel{ Quitting: true, @@ -160,41 +131,6 @@ func TestCardsModel_View_Quitting(t *testing.T) { } } -func TestCardsModel_View_Normal(t *testing.T) { - rows := []table.Row{ - {"001/198 - Bulbasaur"}, - } - columns := []table.Column{ - {Title: "Card Name", Width: 35}, - } - tbl := table.New( - table.WithColumns(columns), - table.WithRows(rows), - table.WithFocused(true), - ) - - priceMap := map[string]string{ - "001/198 - Bulbasaur": "Price: $1.50", - } - - model := CardsModel{ - Table: tbl, - PriceMap: priceMap, - Quitting: false, - } - - result := model.View() - - if result == "" { - t.Error("View() should not return empty string in normal state") - } - - // Check that it contains the key menu - if !strings.Contains(result, "move up") { - t.Error("View() should contain key menu instructions") - } -} - func TestCardsModel_View_PriceDisplay(t *testing.T) { rows := []table.Row{ {"001/198 - Bulbasaur"}, @@ -365,3 +301,52 @@ func TestCardsList_EmptyResult(t *testing.T) { t.Error("expected view to render with empty data") } } + +func TestCallCardData_SendsHeadersAndReturnsBody(t *testing.T) { + // Start a test HTTP server that validates headers and returns a body + srv := httptest.NewServer(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { + if got := r.Header.Get("apikey"); got != "sb_publishable_oondaaAIQC-wafhEiNgpSQ_reRiEp7j" { + t.Fatalf("missing or wrong apikey header: %q", got) + } + if got := r.Header.Get("Authorization"); got != "Bearer sb_publishable_oondaaAIQC-wafhEiNgpSQ_reRiEp7j" { + t.Fatalf("missing or wrong Authorization header: %q", got) + } + if got := r.Header.Get("Content-Type"); got != "application/json" { + t.Fatalf("missing or wrong Content-Type header: %q", got) + } + + w.WriteHeader(http.StatusOK) + _, _ = w.Write([]byte(`{"ok":true}`)) + })) + defer srv.Close() + + body, err := CallCardData(srv.URL) + if err != nil { + t.Fatalf("unexpected error: %v", err) + } + if string(body) != `{"ok":true}` { + t.Fatalf("unexpected body: %s", string(body)) + } +} + +func TestCallCardData_Non200Error(t *testing.T) { + srv := httptest.NewServer(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { + http.Error(w, "boom", http.StatusInternalServerError) + })) + defer srv.Close() + + _, err := CallCardData(srv.URL) + if err == nil { + t.Fatal("expected error for non-200 status") + } + if !strings.Contains(err.Error(), "unexpected status code: 500") { + t.Fatalf("error should mention status code, got: %v", err) + } +} + +func TestCallCardData_BadURL(t *testing.T) { + _, err := CallCardData("http://%41:80/") // invalid URL host + if err == nil { + t.Fatal("expected error for bad URL") + } +} From 943ee0c5b5bac309bd88535b4f1aea56f47c52f5 Mon Sep 17 00:00:00 2001 From: Christian Sanchez Date: Fri, 26 Dec 2025 22:06:40 -0800 Subject: [PATCH 36/50] updating test coverage --- cmd/berry/berry_test.go | 92 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 92 insertions(+) diff --git a/cmd/berry/berry_test.go b/cmd/berry/berry_test.go index fee3ec9..eadad89 100644 --- a/cmd/berry/berry_test.go +++ b/cmd/berry/berry_test.go @@ -4,8 +4,12 @@ import ( "os" "strings" "testing" + "time" "github.com/charmbracelet/bubbles/table" + tea "github.com/charmbracelet/bubbletea" + "github.com/charmbracelet/lipgloss" + "github.com/charmbracelet/x/exp/teatest" ) func TestBerryCommand(t *testing.T) { @@ -159,3 +163,91 @@ func TestModelViewWithSelectedBerry(t *testing.T) { } } } + +// createTestModel creates a model with test data for testing without database calls +func createTestModel() model { + rows := []table.Row{ + {"Aguav"}, + {"Aspear"}, + {"Cheri"}, + {"Chesto"}, + {"Oran"}, + } + + t := table.New( + table.WithColumns([]table.Column{{Title: "Berry", Width: 16}}), + table.WithRows(rows), + table.WithFocused(true), + table.WithHeight(5), + ) + + s := table.DefaultStyles() + s.Header = s.Header. + BorderStyle(lipgloss.NormalBorder()). + BorderForeground(lipgloss.Color("#FFCC00")). + BorderBottom(true) + s.Selected = s.Selected. + Foreground(lipgloss.Color("#000")). + Background(lipgloss.Color("#FFCC00")) + t.SetStyles(s) + + return model{table: t} +} + +func TestTableNavigation(t *testing.T) { + m := createTestModel() + testModel := teatest.NewTestModel(t, m, teatest.WithInitialTermSize(100, 50)) + + // Navigate down twice + testModel.Send(tea.KeyMsg{Type: tea.KeyDown}) + testModel.Send(tea.KeyMsg{Type: tea.KeyDown}) + + // Navigate back up once + testModel.Send(tea.KeyMsg{Type: tea.KeyUp}) + + // Quit the program + testModel.Send(tea.KeyMsg{Type: tea.KeyCtrlC}) + testModel.WaitFinished(t, teatest.WithFinalTimeout(300*time.Millisecond)) + + final := testModel.FinalModel(t).(model) + + if !final.quitting { + t.Errorf("Expected model to be quitting after ctrl+c") + } + + // After down, down, up from first row, we should be on second row (index 1 = "Aspear") + if final.selectedOption != "Aspear" { + t.Errorf("Expected selectedOption to be 'Aspear', got %q", final.selectedOption) + } +} + +func TestTableQuitWithEscape(t *testing.T) { + m := createTestModel() + testModel := teatest.NewTestModel(t, m, teatest.WithInitialTermSize(100, 50)) + + // Quit with escape + testModel.Send(tea.KeyMsg{Type: tea.KeyEsc}) + testModel.WaitFinished(t, teatest.WithFinalTimeout(300*time.Millisecond)) + + final := testModel.FinalModel(t).(model) + + if !final.quitting { + t.Errorf("Expected model to be quitting after escape") + } +} + +func TestTableInitialSelection(t *testing.T) { + m := createTestModel() + testModel := teatest.NewTestModel(t, m, teatest.WithInitialTermSize(100, 50)) + + // Don't navigate, just quit immediately + testModel.Send(tea.KeyMsg{Type: tea.KeyCtrlC}) + testModel.WaitFinished(t, teatest.WithFinalTimeout(300*time.Millisecond)) + + final := testModel.FinalModel(t).(model) + + // First row should be selected by default + if final.selectedOption != "Aguav" { + t.Errorf("Expected initial selectedOption to be 'Aguav', got %q", final.selectedOption) + } +} From 74c0c47e5262c64cfc27ab27c1c77f597d43dd2c Mon Sep 17 00:00:00 2001 From: Christian Sanchez Date: Fri, 26 Dec 2025 22:28:47 -0800 Subject: [PATCH 37/50] updating main repo photo --- README.md | 17 +++++++++-------- poke-cli.png | Bin 0 -> 173069 bytes 2 files changed, 9 insertions(+), 8 deletions(-) create mode 100644 poke-cli.png diff --git a/README.md b/README.md index 43444b9..b86226b 100644 --- a/README.md +++ b/README.md @@ -1,8 +1,8 @@
    - pokemon-logo -

    Pokémon CLI

    + pokemon-logo +

    version-label - docker-image-size + docker-image-size ci-status-badge
    @@ -11,9 +11,10 @@ codecov
    -## Overview -`poke-cli` is a hybrid of a classic CLI and a modern TUI tool for viewing data about Pokémon! This is my first Go project. -View the [documentation](https://docs.poke-cli.com)! +## Pokemon CLI +`poke-cli` is a hybrid of a classic CLI and a modern TUI tool for viewing VG and TCG data about Pokémon! + +View the [documentation](https://docs.poke-cli.com) on the data infrastructure in [card_data/](https://github.com/digitalghost-dev/poke-cli/tree/main/card_data) if you're interested. * [Demo](#demo) * [Installation](#installation) @@ -95,11 +96,11 @@ Cloudsmith is a fully cloud-based service that lets you easily create, store, an 3. Choose how to interact with the container: * Run a single command and exit: ```bash - docker run --rm -it digitalghostdev/poke-cli:v1.8.2 [subcommand] [flag] + docker run --rm -it digitalghostdev/poke-cli:v1.8.3 [subcommand] [flag] ``` * Enter the container and use its shell: ```bash - docker run --rm -it --name poke-cli --entrypoint /bin/sh digitalghostdev/poke-cli:v1.8.2 -c "cd /app && exec sh" + docker run --rm -it --name poke-cli --entrypoint /bin/sh digitalghostdev/poke-cli:v1.8.3 -c "cd /app && exec sh" # placed into the /app directory, run the program with './poke-cli' # example: ./poke-cli ability swift-swim ``` diff --git a/poke-cli.png b/poke-cli.png new file mode 100644 index 0000000000000000000000000000000000000000..d3b3a6269f0f17e7d439a2f8df2060880fc0e984 GIT binary patch literal 173069 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
    ibrrjaK1 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 z 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 literal 0 HcmV?d00001 From 5f08eae5742f96abbedf991ca7426c77988756f8 Mon Sep 17 00:00:00 2001 From: Christian Sanchez Date: Fri, 26 Dec 2025 22:39:39 -0800 Subject: [PATCH 38/50] fixing linter issues --- cli.go | 5 ++++- cmd/search/search_test.go | 7 ++++++- 2 files changed, 10 insertions(+), 2 deletions(-) diff --git a/cli.go b/cli.go index 906856b..1f2add9 100644 --- a/cli.go +++ b/cli.go @@ -117,7 +117,10 @@ func runCLI(args []string) int { "speed": utils.HandleCommandOutput(speed.SpeedCommand), "types": utils.HandleCommandOutput(types.TypesCommand), "search": func() int { - search.SearchCommand() + if err := search.SearchCommand(); err != nil { + fmt.Println(styling.ErrorColor.Render("error:"), err) + return 1 + } return 0 }, } diff --git a/cmd/search/search_test.go b/cmd/search/search_test.go index 9380774..683ab16 100644 --- a/cmd/search/search_test.go +++ b/cmd/search/search_test.go @@ -87,7 +87,12 @@ func TestSearchCommand(t *testing.T) { } } }() - SearchCommand() + err := SearchCommand() + if tt.expectedError { + assert.Error(t, err) + } else { + assert.NoError(t, err) + } }) strippedOutput := styling.StripANSI(output) From 5314f9b3c70ca4355156ac837692198200b17dd7 Mon Sep 17 00:00:00 2001 From: Christian Sanchez Date: Fri, 26 Dec 2025 22:55:03 -0800 Subject: [PATCH 39/50] setting false to fail on error --- .github/workflows/coverage.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/coverage.yml b/.github/workflows/coverage.yml index 8bb3b7b..c2b3f2a 100644 --- a/.github/workflows/coverage.yml +++ b/.github/workflows/coverage.yml @@ -28,4 +28,5 @@ jobs: - name: Upload coverage to Codecov uses: codecov/codecov-action@v5 with: + fail_ci_if_error: false token: ${{ secrets.CODECOV_ORG_TOKEN }} \ No newline at end of file From 7de5c8e39b8efd4d5c1c9a176c5872a1c147e206 Mon Sep 17 00:00:00 2001 From: Christian Sanchez Date: Fri, 26 Dec 2025 23:06:50 -0800 Subject: [PATCH 40/50] removing unused import --- card_data/pipelines/utils/json_retriever.py | 1 - 1 file changed, 1 deletion(-) diff --git a/card_data/pipelines/utils/json_retriever.py b/card_data/pipelines/utils/json_retriever.py index bdd5eb8..0479253 100644 --- a/card_data/pipelines/utils/json_retriever.py +++ b/card_data/pipelines/utils/json_retriever.py @@ -1,5 +1,4 @@ import requests -import json def fetch_json(url: str, timeout: int = 30) -> dict: response = requests.get(url, timeout=timeout) From 39a198cb43e205dd61b3dada252feadec3cdeb17 Mon Sep 17 00:00:00 2001 From: Christian Sanchez Date: Sun, 28 Dec 2025 08:53:46 -0800 Subject: [PATCH 41/50] updating function name --- card_data/pipelines/defs/load/tcgdex/load_sets.py | 2 +- card_data/pipelines/defs/transform/transform_data.py | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/card_data/pipelines/defs/load/tcgdex/load_sets.py b/card_data/pipelines/defs/load/tcgdex/load_sets.py index 8afd2e9..84ff69f 100644 --- a/card_data/pipelines/defs/load/tcgdex/load_sets.py +++ b/card_data/pipelines/defs/load/tcgdex/load_sets.py @@ -34,7 +34,7 @@ def load_sets_data(extract_sets_data: pl.DataFrame) -> None: @dg.asset(deps=[load_sets_data], kinds={"Soda"}, name="data_quality_checks_on_sets") -def data_quality_check_on_series() -> None: +def data_quality_check_on_sets() -> None: current_file_dir = Path(__file__).parent print(f"Setting cwd to: {current_file_dir}") diff --git a/card_data/pipelines/defs/transform/transform_data.py b/card_data/pipelines/defs/transform/transform_data.py index d64db69..474c4b9 100644 --- a/card_data/pipelines/defs/transform/transform_data.py +++ b/card_data/pipelines/defs/transform/transform_data.py @@ -28,7 +28,7 @@ def get_asset_key(self, dbt_resource_props): manifest=DBT_PROJECT_PATH / "target" / "manifest.json", dagster_dbt_translator=CustomDbtTranslator() ) -def dbt_load_pricing_data(context: dg.AssetExecutionContext, dbt: DbtCliResource): +def dbt_build_assets(context: dg.AssetExecutionContext, dbt: DbtCliResource): """ dbt assets that transform staging data into final models. """ @@ -36,6 +36,6 @@ def dbt_load_pricing_data(context: dg.AssetExecutionContext, dbt: DbtCliResource dbt_resource = DbtCliResource(project_dir=DBT_PROJECT_PATH) defs = dg.Definitions( - assets=[dbt_load_pricing_data], + assets=[dbt_build_assets], resources={"dbt": dbt_resource} ) From 7848e9922f52c962c2e4d685a798ca98b9572f94 Mon Sep 17 00:00:00 2001 From: Christian Sanchez Date: Sun, 28 Dec 2025 09:10:37 -0800 Subject: [PATCH 42/50] increasing test coverage --- cmd/berry/berry_test.go | 14 ++++++++++++++ cmd/search/search_test.go | 34 ++++++++++++++++++++++++++++++++++ cmd/types/types_test.go | 13 +++++++++++++ 3 files changed, 61 insertions(+) diff --git a/cmd/berry/berry_test.go b/cmd/berry/berry_test.go index eadad89..ea236a2 100644 --- a/cmd/berry/berry_test.go +++ b/cmd/berry/berry_test.go @@ -10,6 +10,8 @@ import ( tea "github.com/charmbracelet/bubbletea" "github.com/charmbracelet/lipgloss" "github.com/charmbracelet/x/exp/teatest" + "github.com/stretchr/testify/assert" + "github.com/stretchr/testify/require" ) func TestBerryCommand(t *testing.T) { @@ -251,3 +253,15 @@ func TestTableInitialSelection(t *testing.T) { t.Errorf("Expected initial selectedOption to be 'Aguav', got %q", final.selectedOption) } } + +func TestBerryCommandValidationError(t *testing.T) { + originalArgs := os.Args + defer func() { os.Args = originalArgs }() + + // Set os.Args with extra argument to trigger validation error + os.Args = []string{"poke-cli", "berry", "cheri", "extra-arg"} + + output, err := BerryCommand() + require.Error(t, err, "TypesCommand should return error for invalid args") + assert.Contains(t, output, "Error", "Output should contain error message") +} diff --git a/cmd/search/search_test.go b/cmd/search/search_test.go index 683ab16..1b44840 100644 --- a/cmd/search/search_test.go +++ b/cmd/search/search_test.go @@ -124,3 +124,37 @@ func TestModelQuit(t *testing.T) { t.Errorf("Expected tea.Quit command, but got nil") } } + +func TestSearchCommandValidationError(t *testing.T) { + originalArgs := os.Args + defer func() { os.Args = originalArgs }() + + // Set os.Args with extra argument to trigger validation error + os.Args = []string{"poke-cli", "search", "pokemon", "extra-arg"} + + err := SearchCommand() + assert.Error(t, err, "SearchCommand should return error for invalid args") +} + +func TestModelViewQuitting(t *testing.T) { + m := Model{Quitting: true} + view := m.View() + assert.Contains(t, view, "Quitting search", "View should show quitting message") +} + +func TestModelViewShowResults(t *testing.T) { + m := Model{ + ShowResults: true, + SearchResults: "Test Results", + } + view := m.View() + // View calls RenderInput when ShowResults is true + assert.NotEmpty(t, view, "View should render results") +} + +func TestModelViewNotChosen(t *testing.T) { + m := Model{Chosen: false} + view := m.View() + // View calls RenderSelection when not chosen + assert.Contains(t, view, "Search for a resource", "View should show selection prompt") +} diff --git a/cmd/types/types_test.go b/cmd/types/types_test.go index 13755a9..995b90c 100644 --- a/cmd/types/types_test.go +++ b/cmd/types/types_test.go @@ -12,6 +12,7 @@ import ( "github.com/digitalghost-dev/poke-cli/cmd/utils" "github.com/digitalghost-dev/poke-cli/styling" "github.com/stretchr/testify/assert" + "github.com/stretchr/testify/require" ) func TestTypesCommand(t *testing.T) { @@ -177,3 +178,15 @@ func TestTypeSelection(t *testing.T) { t.Errorf("Expected selectedOption to be 'Water', got '%s'", final.selectedOption) } } + +func TestTypesCommandValidationError(t *testing.T) { + originalArgs := os.Args + defer func() { os.Args = originalArgs }() + + // Set os.Args with extra argument to trigger validation error + os.Args = []string{"poke-cli", "types", "fire", "extra-arg"} + + output, err := TypesCommand() + require.Error(t, err, "TypesCommand should return error for invalid args") + assert.Contains(t, output, "Error", "Output should contain error message") +} From 3a90ede048a477758b041772fccb9a500571157f Mon Sep 17 00:00:00 2001 From: Christian Sanchez Date: Sun, 28 Dec 2025 09:11:24 -0800 Subject: [PATCH 43/50] updating project layout section --- docs/Infrastructure_Guide/index.md | 33 +++++++++++++++++++++++------- 1 file changed, 26 insertions(+), 7 deletions(-) diff --git a/docs/Infrastructure_Guide/index.md b/docs/Infrastructure_Guide/index.md index 1c39f58..ddfba65 100644 --- a/docs/Infrastructure_Guide/index.md +++ b/docs/Infrastructure_Guide/index.md @@ -52,14 +52,31 @@ Below is a list of all the tools and services used in this project's infrastruct ``` . +├── infrastructure/ +│ ├── aws/ +│ │ ├── .terraform +│ │ ├── ec2/ +│ │ ├── rds/ +│ │ └── vpc/ +│ ├── dagster.server +│ ├── start-dagster.sh +│ └── wait-for-rds.sh ├── pipelines/ │ ├── defs/ │ │ ├── extract/ -│ │ │ ├── extract_data.py -│ │ │ └── extract_pricing_data.py +│ │ │ ├── tcgcsv/ +│ │ │ │ └── extract_pricing.py +│ │ │ └── tcgdex/ +│ │ │ ├── extract_cards.py +│ │ │ ├── extract_series.py +│ │ │ └── extract_sets.py │ │ ├── load/ -│ │ │ ├── load_data.py -│ │ │ └── load_pricing_data.py +│ │ │ ├── tcgcsv/ +│ │ │ │ └── load_pricing.py +│ │ │ └── tcgdex/ +│ │ │ ├── load_cards.py +│ │ │ ├── load_series.py +│ │ │ └── load_sets.py │ │ └── transform/ │ │ └── transform_data.py │ ├── poke_cli_dbt/ @@ -76,11 +93,13 @@ Below is a list of all the tools and services used in this project's infrastruct │ │ ├── dbt_project.yml │ │ └── profiles.yml │ ├── soda/ -│ │ ├── checks.yml │ │ ├── checks_pricing.yml +│ │ ├── checks_series.yml +│ │ ├── checks_sets.yml │ │ └── configuration.yml -│ ├── tests -│ └── utls/ +│ ├── tests/ +│ │ └── extract_series_test.py +│ └── utils/ │ ├── json_retriever.py │ └── secret_retriever.py ├── dagster.yaml From 6bd3033627cea0f48491c9056fad2b79b154bda1 Mon Sep 17 00:00:00 2001 From: Christian Sanchez Date: Sun, 28 Dec 2025 09:11:58 -0800 Subject: [PATCH 44/50] fixing typo --- docs/Infrastructure_Guide/local-deployment.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/Infrastructure_Guide/local-deployment.md b/docs/Infrastructure_Guide/local-deployment.md index fcca3b7..1fa9f54 100644 --- a/docs/Infrastructure_Guide/local-deployment.md +++ b/docs/Infrastructure_Guide/local-deployment.md @@ -108,7 +108,7 @@ This project currently has 4 pipelines: 2. On the top bar, click on **Assets**. 3. Select the assets to materialize. For initial setup, select: - `extract_series_data` - - `extract_set_data` + - `extract_sets_data` - `load_series_data` - `load_set_data` 4. Click **Materialize selected** in the top right. From 7bd34b3b00c4fbf6e4ff560a61c131dd81ced432 Mon Sep 17 00:00:00 2001 From: Christian Sanchez Date: Sun, 28 Dec 2025 09:12:56 -0800 Subject: [PATCH 45/50] updating test coverage --- cli_test.go | 1 + 1 file changed, 1 insertion(+) diff --git a/cli_test.go b/cli_test.go index 42ad9ee..80134c5 100644 --- a/cli_test.go +++ b/cli_test.go @@ -137,6 +137,7 @@ func TestRunCLI_VariousCommands(t *testing.T) { {"Latest flag short", []string{"-l"}, 0}, {"Version flag long", []string{"--version"}, 0}, {"Version flag short", []string{"-v"}, 0}, + {"Search command with invalid args", []string{"search", "pokemon", "extra-arg"}, 1}, //{"Missing Pokémon name", []string{"pokemon"}, 1}, //{"Another invalid command", []string{"invalid"}, 1}, } From 9195c88ab44b8c15dce4b3027cf08943d9f69900 Mon Sep 17 00:00:00 2001 From: Christian Sanchez Date: Sun, 28 Dec 2025 15:49:09 -0800 Subject: [PATCH 46/50] small edits --- card_data/pipelines/defs/load/tcgdex/load_series.py | 2 +- cmd/berry/berry_test.go | 2 +- docs/Infrastructure_Guide/index.md | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/card_data/pipelines/defs/load/tcgdex/load_series.py b/card_data/pipelines/defs/load/tcgdex/load_series.py index b7e5479..225efbc 100644 --- a/card_data/pipelines/defs/load/tcgdex/load_series.py +++ b/card_data/pipelines/defs/load/tcgdex/load_series.py @@ -46,7 +46,7 @@ def data_quality_check_on_series() -> None: "supabase", "-c", "../../../soda/configuration.yml", - "../../../soda/series_checks.yml", + "../../../soda/checks_series.yml", ], capture_output=True, text=True, diff --git a/cmd/berry/berry_test.go b/cmd/berry/berry_test.go index ea236a2..9632ef5 100644 --- a/cmd/berry/berry_test.go +++ b/cmd/berry/berry_test.go @@ -262,6 +262,6 @@ func TestBerryCommandValidationError(t *testing.T) { os.Args = []string{"poke-cli", "berry", "cheri", "extra-arg"} output, err := BerryCommand() - require.Error(t, err, "TypesCommand should return error for invalid args") + require.Error(t, err, "BerryCommand should return error for invalid args") assert.Contains(t, output, "Error", "Output should contain error message") } diff --git a/docs/Infrastructure_Guide/index.md b/docs/Infrastructure_Guide/index.md index ddfba65..ac76d3a 100644 --- a/docs/Infrastructure_Guide/index.md +++ b/docs/Infrastructure_Guide/index.md @@ -50,7 +50,7 @@ Below is a list of all the tools and services used in this project's infrastruct ## Project Layout -``` +```text . ├── infrastructure/ │ ├── aws/ From f22f77906e3bdca9e40874adcd34eb03ccc416f9 Mon Sep 17 00:00:00 2001 From: Christian Sanchez Date: Sun, 28 Dec 2025 16:57:21 -0800 Subject: [PATCH 47/50] initial codspeed action commit --- .github/workflows/codspeed.yml | 39 ++++++++++++++++++++++++++++++++++ 1 file changed, 39 insertions(+) create mode 100644 .github/workflows/codspeed.yml diff --git a/.github/workflows/codspeed.yml b/.github/workflows/codspeed.yml new file mode 100644 index 0000000..0bb12e4 --- /dev/null +++ b/.github/workflows/codspeed.yml @@ -0,0 +1,39 @@ +name: Codspeed Benchmarks +on: + pull_request: + types: [ opened, reopened, synchronize ] + paths: + - 'card_data/**' + +permissions: + contents: read + id-token: write + +jobs: + benchmarks: + runs-on: ubuntu-22.04 + defaults: + run: + working-directory: card_data + + steps: + - name: Checkout + uses: actions/checkout@v6 + + - name: Setup Python + uses: actions/setup-python@v6 + with: + python-version: '3.12' + + - name: Install uv + uses: astral-sh/setup-uv@v4 + + - name: Install dependencies + run: uv sync --dev + + - name: Run the benchmarks + uses: CodSpeedHQ/action@v4 + with: + working-directory: card_data + mode: simulation + run: uv run pytest pipelines/tests/ -v --codspeed \ No newline at end of file From 906395a4c0644f19a74cd6f39fbf280164b96f4e Mon Sep 17 00:00:00 2001 From: Christian Sanchez Date: Sun, 28 Dec 2025 16:58:29 -0800 Subject: [PATCH 48/50] updating go version --- .github/workflows/coverage.yml | 2 +- .github/workflows/go_lint.yml | 4 ++-- .github/workflows/go_test.yml | 2 +- .github/workflows/release.yml | 2 +- 4 files changed, 5 insertions(+), 5 deletions(-) diff --git a/.github/workflows/coverage.yml b/.github/workflows/coverage.yml index c2b3f2a..aa292cd 100644 --- a/.github/workflows/coverage.yml +++ b/.github/workflows/coverage.yml @@ -16,7 +16,7 @@ jobs: - name: Set up Go uses: actions/setup-go@v5 with: - go-version: 1.23 + go-version: 1.24 - name: Install dependencies run: | diff --git a/.github/workflows/go_lint.yml b/.github/workflows/go_lint.yml index 0e8c663..3b97a1f 100644 --- a/.github/workflows/go_lint.yml +++ b/.github/workflows/go_lint.yml @@ -12,7 +12,7 @@ permissions: jobs: linter: - runs-on: ubuntu-latest + runs-on: ubuntu-22.04 steps: - name: Checkout uses: actions/checkout@v6 @@ -20,7 +20,7 @@ jobs: - name: Set up Go uses: actions/setup-go@v5 with: - go-version: 1.23 + go-version: 1.24 - name: Lint uses: golangci/golangci-lint-action@v7 diff --git a/.github/workflows/go_test.yml b/.github/workflows/go_test.yml index 2d7b97b..abdc6b1 100644 --- a/.github/workflows/go_test.yml +++ b/.github/workflows/go_test.yml @@ -16,7 +16,7 @@ jobs: - name: Set up Go uses: actions/setup-go@v5 with: - go-version: '1.24.6' + go-version: 1.24 - name: Install dependencies run: | diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 08c9e89..a3b2810 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -18,7 +18,7 @@ jobs: - name: Set up Go uses: actions/setup-go@v5 with: - go-version: 1.23 + go-version: 1.24 - name: Run GoReleaser uses: goreleaser/goreleaser-action@v6 From 68b80eed2169e2c8ea3bb5cd4f7be3d4fd6a627b Mon Sep 17 00:00:00 2001 From: Christian Sanchez Date: Sun, 28 Dec 2025 16:58:42 -0800 Subject: [PATCH 49/50] adding paths to ignore --- .gitignore | 1 + 1 file changed, 1 insertion(+) diff --git a/.gitignore b/.gitignore index 18e305b..b46475e 100644 --- a/.gitignore +++ b/.gitignore @@ -67,3 +67,4 @@ card_data/storage/ /.claude/ CLAUDE.md REFACTORING.md +/card_data/.codspeed/ From 3940e1a3a7718a129e1f1e24e7b5dd72c736f981 Mon Sep 17 00:00:00 2001 From: Christian Sanchez Date: Sun, 28 Dec 2025 16:59:14 -0800 Subject: [PATCH 50/50] adding codspeed benchmarking --- .../pipelines/tests/extract_series_test.py | 13 +++++----- card_data/pyproject.toml | 1 + card_data/uv.lock | 24 +++++++++++++++++++ 3 files changed, 32 insertions(+), 6 deletions(-) diff --git a/card_data/pipelines/tests/extract_series_test.py b/card_data/pipelines/tests/extract_series_test.py index c89303c..ae56888 100644 --- a/card_data/pipelines/tests/extract_series_test.py +++ b/card_data/pipelines/tests/extract_series_test.py @@ -6,7 +6,7 @@ import pytest import polars as pl import responses -from pipelines.defs.extract.extract_data import extract_series_data +from pipelines.defs.extract.tcgdex.extract_series import extract_series_data @pytest.fixture def mock_api_response(): @@ -19,6 +19,7 @@ def mock_api_response(): {"id": "sm", "name": "Sun & Moon", "logo": None}, ] +@pytest.mark.benchmark @responses.activate def test_extract_series_data_success(mock_api_response): """Test successful extraction and filtering""" @@ -33,8 +34,8 @@ def test_extract_series_data_success(mock_api_response): result = extract_series_data() # Assertions - assert isinstance(result, pl.DataFrame) - assert len(result) == 3 # Only swsh, sv, me - assert set(result["id"].to_list()) == {"swsh", "sv", "me"} - assert "name" in result.columns - assert "logo" in result.columns \ No newline at end of file + assert isinstance(result, pl.DataFrame) # nosec + assert len(result) == 3 # nosec + assert set(result["id"].to_list()) == {"swsh", "sv", "me"} # nosec + assert "name" in result.columns # nosec + assert "logo" in result.columns # nosec \ No newline at end of file diff --git a/card_data/pyproject.toml b/card_data/pyproject.toml index 6eb45bd..f257343 100644 --- a/card_data/pyproject.toml +++ b/card_data/pyproject.toml @@ -32,6 +32,7 @@ dev = [ "dagster-dbt>=0.27.3", "dagster-postgres>=0.27.3", "pytest>=9.0.2", + "pytest-codspeed>=4.2.0", "responses>=0.25.8", ] diff --git a/card_data/uv.lock b/card_data/uv.lock index 3e83f86..ed44b61 100644 --- a/card_data/uv.lock +++ b/card_data/uv.lock @@ -156,6 +156,7 @@ dependencies = [ { name = "psycopg2-binary" }, { name = "pyarrow" }, { name = "pydantic" }, + { name = "pytest-codspeed" }, { name = "requests" }, { name = "soda-core-postgres" }, { name = "sqlalchemy" }, @@ -188,6 +189,7 @@ requires-dist = [ { name = "psycopg2-binary", specifier = ">=2.9.10" }, { name = "pyarrow", specifier = ">=20.0.0" }, { name = "pydantic", specifier = ">=2.11.7" }, + { name = "pytest-codspeed", specifier = ">=4.2.0" }, { name = "requests", specifier = ">=2.32.4" }, { name = "soda-core-postgres", specifier = ">=3.5.5" }, { name = "sqlalchemy", specifier = ">=2.0.41" }, @@ -2148,6 +2150,28 @@ 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-codspeed" +version = "4.2.0" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "cffi" }, + { name = "pytest" }, + { name = "rich" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/e2/e8/27fcbe6516a1c956614a4b61a7fccbf3791ea0b992e07416e8948184327d/pytest_codspeed-4.2.0.tar.gz", hash = "sha256:04b5d0bc5a1851ba1504d46bf9d7dbb355222a69f2cd440d54295db721b331f7", size = 113263, upload-time = "2025-10-24T09:02:55.704Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/81/04/479905bd6653bc981c0554fcce6df52d7ae1594e1eefd53e6cf31810ec7f/pytest_codspeed-4.2.0-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:7d4fefbd4ae401e2c60f6be920a0be50eef0c3e4a1f0a1c83962efd45be38b39", size = 262084, upload-time = "2025-10-24T09:02:43.155Z" }, + { url = "https://files.pythonhosted.org/packages/d2/46/d6f345d7907bac6cbb6224bd697ecbc11cf7427acc9e843c3618f19e3476/pytest_codspeed-4.2.0-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:309b4227f57fcbb9df21e889ea1ae191d0d1cd8b903b698fdb9ea0461dbf1dfe", size = 251100, upload-time = "2025-10-24T09:02:44.168Z" }, + { url = "https://files.pythonhosted.org/packages/de/dc/e864f45e994a50390ff49792256f1bdcbf42f170e3bc0470ee1a7d2403f3/pytest_codspeed-4.2.0-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:72aab8278452a6d020798b9e4f82780966adb00f80d27a25d1274272c54630d5", size = 262057, upload-time = "2025-10-24T09:02:45.791Z" }, + { url = "https://files.pythonhosted.org/packages/1d/1c/f1d2599784486879cf6579d8d94a3e22108f0e1f130033dab8feefd29249/pytest_codspeed-4.2.0-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:684fcd9491d810ded653a8d38de4835daa2d001645f4a23942862950664273f8", size = 251013, upload-time = "2025-10-24T09:02:46.937Z" }, + { url = "https://files.pythonhosted.org/packages/0c/fd/eafd24db5652a94b4d00fe9b309b607de81add0f55f073afb68a378a24b6/pytest_codspeed-4.2.0-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:50794dabea6ec90d4288904452051e2febace93e7edf4ca9f2bce8019dd8cd37", size = 262065, upload-time = "2025-10-24T09:02:48.018Z" }, + { url = "https://files.pythonhosted.org/packages/f9/14/8d9340d7dc0ae647991b28a396e16b3403e10def883cde90d6b663d3f7ec/pytest_codspeed-4.2.0-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:a0ebd87f2a99467a1cfd8e83492c4712976e43d353ee0b5f71cbb057f1393aca", size = 251057, upload-time = "2025-10-24T09:02:49.102Z" }, + { url = "https://files.pythonhosted.org/packages/4b/39/48cf6afbca55bc7c8c93c3d4ae926a1068bcce3f0241709db19b078d5418/pytest_codspeed-4.2.0-cp314-cp314t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:dbbb2d61b85bef8fc7e2193f723f9ac2db388a48259d981bbce96319043e9830", size = 267983, upload-time = "2025-10-24T09:02:50.558Z" }, + { url = "https://files.pythonhosted.org/packages/33/86/4407341efb5dceb3e389635749ce1d670542d6ca148bd34f9d5334295faf/pytest_codspeed-4.2.0-cp314-cp314t-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:748411c832147bfc85f805af78a1ab1684f52d08e14aabe22932bbe46c079a5f", size = 256732, upload-time = "2025-10-24T09:02:51.603Z" }, + { url = "https://files.pythonhosted.org/packages/25/0e/8cb71fd3ed4ed08c07aec1245aea7bc1b661ba55fd9c392db76f1978d453/pytest_codspeed-4.2.0-py3-none-any.whl", hash = "sha256:e81bbb45c130874ef99aca97929d72682733527a49f84239ba575b5cb843bab0", size = 113726, upload-time = "2025-10-24T09:02:54.785Z" }, +] + [[package]] name = "python-dateutil" version = "2.9.0.post0"