From c39dfdd84cc3f6d460b48ac041a2566b4b66c939 Mon Sep 17 00:00:00 2001 From: Charlie Marsh Date: Mon, 21 Sep 2026 19:54:41 -0400 Subject: [PATCH] Update ty results for v0.0.83 --- conformance/results/results.html | 30 ++++----------- conformance/results/ty/aliases_recursive.toml | 11 ++---- .../results/ty/aliases_type_statement.toml | 8 ++-- .../results/ty/aliases_typealiastype.toml | 8 ++-- .../results/ty/annotations_forward_refs.toml | 8 +--- .../results/ty/annotations_future_import.toml | 8 +--- .../results/ty/constructors_call_init.toml | 4 +- .../results/ty/generics_self_usage.toml | 2 +- conformance/results/ty/tuples_type_form.toml | 12 +++--- conformance/results/ty/version.toml | 2 +- conformance/uv.lock | 38 +++++++++---------- 11 files changed, 52 insertions(+), 79 deletions(-) diff --git a/conformance/results/results.html b/conformance/results/results.html index ebb94bf64..8c4c16386 100644 --- a/conformance/results/results.html +++ b/conformance/results/results.html @@ -268,7 +268,7 @@

Python Type System Conformance Test Results

pycroscope 0.5.0 pyrefly 1.3.0-dev.1 pyright 1.1.410 - ty 0.0.82 + ty 0.0.83 zuban 0.10.0 @@ -318,12 +318,7 @@

Python Type System Conformance Test Results

  • Prefers to resolve forward references in classes outside of the class instead of end-of-scope
  • - - Partial - - + Pass Pass @@ -355,12 +350,7 @@

    Python Type System Conformance Test Results

  • Prefers to resolve forward references in classes outside of the class instead of end-of-scope
  • - - Partial - - + Pass Pass @@ -416,7 +406,7 @@

    Python Type System Conformance Test Results

    4.5 / 6 • 75.0% 5 / 6 • 83.3% 5 / 6 • 83.3% - 5 / 6 • 83.3% + 6 / 6 • 100.0% 6 / 6 • 100.0% @@ -1161,12 +1151,7 @@

    Python Type System Conformance Test Results

    Pass Pass Pass - - Partial - - + Pass Pass @@ -1214,7 +1199,7 @@

    Python Type System Conformance Test Results

    6 / 7 • 85.7% 7 / 7 • 100.0% 7 / 7 • 100.0% - 5.5 / 7 • 78.6% + 6 / 7 • 85.7% 7 / 7 • 100.0% @@ -1558,7 +1543,6 @@

    Python Type System Conformance Test Results

    Partial Pass @@ -2603,7 +2587,7 @@

    Python Type System Conformance Test Results

    138.5 / 146 • 94.9% 141 / 146 • 96.6% 135.5 / 146 • 92.8% - 138 / 146 • 94.5% + 139.5 / 146 • 95.5% 146 / 146 • 100.0% diff --git a/conformance/results/ty/aliases_recursive.toml b/conformance/results/ty/aliases_recursive.toml index fb46159ed..c7e470092 100644 --- a/conformance/results/ty/aliases_recursive.toml +++ b/conformance/results/ty/aliases_recursive.toml @@ -1,11 +1,5 @@ -conformance_automated = "Fail" -conformant = "Partial" -notes = """ -Does not reject invalid cyclic type alias definitions. -""" +conformance_automated = "Pass" errors_diff = """ -Line 72: Expected 1 errors -Line 75: Expected 1 errors """ output = """ aliases_recursive.py:19:12: error[invalid-assignment] Object of type `dict[str, None | complex | str | list[Json] | dict[str, Json]]` is not assignable to `Json` @@ -17,4 +11,7 @@ aliases_recursive.py:51:24: error[invalid-assignment] Object of type `dict[str, aliases_recursive.py:52:24: error[invalid-assignment] Object of type `dict[str, str | int | dict[str, str | int | list[int]]]` is not assignable to `RecursiveMapping` aliases_recursive.py:63:30: error[invalid-assignment] Object of type `list[list[GenericTypeAlias1[str] | str] | str | list[list[GenericTypeAlias1[str] | str] | str | float]]` is not assignable to `GenericTypeAlias1[str]` aliases_recursive.py:69:35: error[invalid-assignment] Object of type `list[list[GenericTypeAlias2[str, int] | str | int] | str | int | list[list[GenericTypeAlias2[str, int] | str | int] | str | int | list[list[GenericTypeAlias2[str, int] | str | int] | str | int | list[list[GenericTypeAlias2[str, int] | str | int] | str | float]]]]` is not assignable to `GenericTypeAlias2[str, int]` +aliases_recursive.py:72:29: error[cyclic-type-alias-definition] Type alias `RecursiveUnion` has a circular definition +aliases_recursive.py:75:31: error[cyclic-type-alias-definition] Type alias `MutualReference1` has a circular definition +aliases_recursive.py:75:93: error[cyclic-type-alias-definition] Type alias `MutualReference2` has a circular definition """ diff --git a/conformance/results/ty/aliases_type_statement.toml b/conformance/results/ty/aliases_type_statement.toml index 85594fb95..ecf347637 100644 --- a/conformance/results/ty/aliases_type_statement.toml +++ b/conformance/results/ty/aliases_type_statement.toml @@ -24,8 +24,8 @@ aliases_type_statement.py:53:23: error[unbound-type-variable] Type variable `V` aliases_type_statement.py:58:17: error[unbound-type-variable] Type variable `T1` is not bound to any outer generic context aliases_type_statement.py:68:27: error[invalid-type-arguments] Type `str` is not assignable to upper bound `int` of type variable `S@RecursiveTypeAlias2` aliases_type_statement.py:70:32: error[invalid-type-arguments] Type `int` is not assignable to upper bound `str` of type variable `T@RecursiveTypeAlias2` -aliases_type_statement.py:73:1: error[cyclic-type-alias-definition] Cyclic definition of `RecursiveTypeAlias3` -aliases_type_statement.py:75:1: error[cyclic-type-alias-definition] Cyclic definition of `RecursiveTypeAlias4` -aliases_type_statement.py:79:1: error[cyclic-type-alias-definition] Cyclic definition of `RecursiveTypeAlias6` -aliases_type_statement.py:80:1: error[cyclic-type-alias-definition] Cyclic definition of `RecursiveTypeAlias7` +aliases_type_statement.py:73:28: error[cyclic-type-alias-definition] Type alias `RecursiveTypeAlias3` has a circular definition +aliases_type_statement.py:75:31: error[cyclic-type-alias-definition] Type alias `RecursiveTypeAlias4` has a circular definition +aliases_type_statement.py:79:28: error[cyclic-type-alias-definition] Type alias `RecursiveTypeAlias6` has a circular definition +aliases_type_statement.py:80:28: error[cyclic-type-alias-definition] Type alias `RecursiveTypeAlias7` has a circular definition """ diff --git a/conformance/results/ty/aliases_typealiastype.toml b/conformance/results/ty/aliases_typealiastype.toml index 702b5e90a..e2814fcc2 100644 --- a/conformance/results/ty/aliases_typealiastype.toml +++ b/conformance/results/ty/aliases_typealiastype.toml @@ -7,10 +7,10 @@ aliases_typealiastype.py:40:21: error[invalid-type-arguments] Type `int` is not aliases_typealiastype.py:43:40: error[invalid-type-alias-type] Type parameter `S` used in the alias value must be included in `type_params` aliases_typealiastype.py:44:40: error[invalid-type-alias-type] Type parameter `S` used in the alias value must be included in `type_params` aliases_typealiastype.py:45:57: error[invalid-type-alias-type] The `type_params` argument to `TypeAliasType` must be a tuple literal -aliases_typealiastype.py:46:40: error[cyclic-type-alias-definition] Cyclic definition of `BadAlias4` -aliases_typealiastype.py:47:40: error[cyclic-type-alias-definition] Cyclic definition of `BadAlias5` -aliases_typealiastype.py:48:40: error[cyclic-type-alias-definition] Cyclic definition of `BadAlias6` -aliases_typealiastype.py:49:40: error[cyclic-type-alias-definition] Cyclic definition of `BadAlias7` +aliases_typealiastype.py:46:40: error[cyclic-type-alias-definition] Type alias `BadAlias4` has a circular definition +aliases_typealiastype.py:47:40: error[cyclic-type-alias-definition] Type alias `BadAlias5` has a circular definition +aliases_typealiastype.py:48:40: error[cyclic-type-alias-definition] Type alias `BadAlias6` has a circular definition +aliases_typealiastype.py:49:40: error[cyclic-type-alias-definition] Type alias `BadAlias7` has a circular definition aliases_typealiastype.py:52:40: error[invalid-type-form] Function calls are not allowed in type expressions aliases_typealiastype.py:53:40: error[invalid-type-form] List literals are not allowed in this context in a type expression aliases_typealiastype.py:54:42: error[invalid-type-form] Tuple literals are not allowed in this context in a type expression diff --git a/conformance/results/ty/annotations_forward_refs.toml b/conformance/results/ty/annotations_forward_refs.toml index 2760eb69d..540dc2823 100644 --- a/conformance/results/ty/annotations_forward_refs.toml +++ b/conformance/results/ty/annotations_forward_refs.toml @@ -1,10 +1,5 @@ -conformance_automated = "Fail" -conformant = "Partial" -notes = """ -Fails to reject `str: "str"` forward references -""" +conformance_automated = "Pass" errors_diff = """ -Line 94: Expected 1 errors """ output = """ annotations_forward_refs.py:22:7: error[unresolved-reference] Name `ClassA` used when not defined @@ -29,6 +24,7 @@ annotations_forward_refs.py:55:11: error[invalid-type-form] Module `types` is no annotations_forward_refs.py:65:26: error[unresolved-reference] Name `ClassB` used when not defined annotations_forward_refs.py:83:13: error[unresolved-reference] Name `ClassInner` used when not defined annotations_forward_refs.py:92:14: error[unresolved-reference] Name `ClassF` used when not defined +annotations_forward_refs.py:94:11: error[invalid-type-form] Variable of type `Literal[""]` is not allowed in a type expression annotations_forward_refs.py:96:9: error[invalid-type-form] Function `int` is not valid in a type expression annotations_forward_refs.py:101:8: error[invalid-type-form] Function `int` is not valid in a type expression annotations_forward_refs.py:103:9: error[invalid-type-form] Function `int` is not valid in a type expression diff --git a/conformance/results/ty/annotations_future_import.toml b/conformance/results/ty/annotations_future_import.toml index 9744d55de..73fabcb97 100644 --- a/conformance/results/ty/annotations_future_import.toml +++ b/conformance/results/ty/annotations_future_import.toml @@ -1,12 +1,8 @@ -conformant = "Partial" -notes = """ -Fails to reject `str: "str"` forward references -""" -conformance_automated = "Fail" +conformance_automated = "Pass" errors_diff = """ -Line 37: Expected 1 errors """ output = """ +annotations_future_import.py:37:10: error[invalid-type-form] Variable of type `Literal[""]` is not allowed in a type expression annotations_future_import.py:39:8: error[invalid-type-form] Function `int` is not valid in a type expression annotations_future_import.py:44:8: error[invalid-type-form] Function `int` is not valid in a type expression annotations_future_import.py:46:9: error[invalid-type-form] Function `int` is not valid in a type expression diff --git a/conformance/results/ty/constructors_call_init.toml b/conformance/results/ty/constructors_call_init.toml index a0284093b..c6b0eb40a 100644 --- a/conformance/results/ty/constructors_call_init.toml +++ b/conformance/results/ty/constructors_call_init.toml @@ -2,14 +2,14 @@ conformance_automated = "Fail" conformant = "Partial" notes = """ Does not reject invalid argument types to an inherited constructor in a specialized subclass of a generic superclass. -Does not reject class-scoped type variables used in the `self` annotation. """ errors_diff = """ Line 42: Expected 1 errors -Line 107: Expected 1 errors """ output = """ constructors_call_init.py:21:13: error[invalid-argument-type] Argument to `Class1.__init__` is incorrect: Expected `int`, found `float*` constructors_call_init.py:56:1: error[invalid-argument-type] Argument to `Class4.__init__` is incorrect: Expected `Class4[int]`, found `Class4[str]` +constructors_call_init.py:107:32: error[invalid-init-type-variable] First parameter of `__init__` cannot use type variable `T2` from an outer scope +constructors_call_init.py:107:36: error[invalid-init-type-variable] First parameter of `__init__` cannot use type variable `T1` from an outer scope constructors_call_init.py:130:9: error[too-many-positional-arguments] Too many positional arguments to `object.__init__`: expected 1, got 2 """ diff --git a/conformance/results/ty/generics_self_usage.toml b/conformance/results/ty/generics_self_usage.toml index a37756092..2433bb63b 100644 --- a/conformance/results/ty/generics_self_usage.toml +++ b/conformance/results/ty/generics_self_usage.toml @@ -9,7 +9,7 @@ generics_self_usage.py:82:54: error[invalid-type-form] `Self` requires `self: Se generics_self_usage.py:87:16: error[invalid-return-type] Return type does not match returned value: expected `Self@return_concrete_type`, found `Foo3` generics_self_usage.py:103:15: error[invalid-type-form] Variable of type `` is not allowed in a type expression generics_self_usage.py:105:12: error[invalid-base] Invalid class base with type `` -generics_self_usage.py:108:30: error[invalid-type-form] `Self` cannot be used in a type alias +generics_self_usage.py:108:30: error[invalid-type-form] Variable of type `` is not allowed in a type expression generics_self_usage.py:113:19: error[invalid-type-form] `Self` cannot be used in a static method generics_self_usage.py:118:31: error[invalid-type-form] `Self` cannot be used in a static method generics_self_usage.py:118:40: error[invalid-type-form] `Self` cannot be used in a static method diff --git a/conformance/results/ty/tuples_type_form.toml b/conformance/results/ty/tuples_type_form.toml index 1a50c81a7..1130058d6 100644 --- a/conformance/results/ty/tuples_type_form.toml +++ b/conformance/results/ty/tuples_type_form.toml @@ -7,10 +7,10 @@ tuples_type_form.py:14:6: error[invalid-assignment] Object of type `tuple[Litera tuples_type_form.py:15:6: error[invalid-assignment] Object of type `tuple[Literal[1], Literal[""]]` is not assignable to `tuple[int, int]` tuples_type_form.py:25:7: error[invalid-assignment] Object of type `tuple[Literal[1]]` is not assignable to `tuple[()]` tuples_type_form.py:36:7: error[invalid-assignment] Object of type `tuple[Literal[1], Literal[2], Literal[3], Literal[""]]` is not assignable to `tuple[int, ...]` -tuples_type_form.py:40:6: error[invalid-type-form] Invalid `tuple` specialization: `...` can only be used as the second element in a two-element `tuple` specialization -tuples_type_form.py:41:6: error[invalid-type-form] Invalid `tuple` specialization: `...` can only be used as the second element in a two-element `tuple` specialization -tuples_type_form.py:42:6: error[invalid-type-form] Invalid `tuple` specialization: `...` can only be used as the second element in a two-element `tuple` specialization -tuples_type_form.py:43:6: error[invalid-type-form] Invalid `tuple` specialization: `...` can only be used as the second element in a two-element `tuple` specialization -tuples_type_form.py:44:6: error[invalid-type-form] Invalid `tuple` specialization: `...` cannot be used after an unpacked element -tuples_type_form.py:45:6: error[invalid-type-form] Invalid `tuple` specialization: `...` cannot be used after an unpacked element +tuples_type_form.py:40:22: error[invalid-type-form] Invalid `tuple` specialization: `...` can only be used as the second element in a two-element `tuple` specialization +tuples_type_form.py:41:12: error[invalid-type-form] Invalid `tuple` specialization: `...` can only be used as the second element in a two-element `tuple` specialization +tuples_type_form.py:42:12: error[invalid-type-form] Invalid `tuple` specialization: `...` can only be used as the second element in a two-element `tuple` specialization +tuples_type_form.py:43:17: error[invalid-type-form] Invalid `tuple` specialization: `...` can only be used as the second element in a two-element `tuple` specialization +tuples_type_form.py:44:25: error[invalid-type-form] Invalid `tuple` specialization: `...` cannot be used after an unpacked element +tuples_type_form.py:45:30: error[invalid-type-form] Invalid `tuple` specialization: `...` cannot be used after an unpacked element """ diff --git a/conformance/results/ty/version.toml b/conformance/results/ty/version.toml index f5eb57c7f..8aff9887d 100644 --- a/conformance/results/ty/version.toml +++ b/conformance/results/ty/version.toml @@ -1 +1 @@ -version = "ty 0.0.82" +version = "ty 0.0.83" diff --git a/conformance/uv.lock b/conformance/uv.lock index d067e9036..3c2cecd9b 100644 --- a/conformance/uv.lock +++ b/conformance/uv.lock @@ -202,27 +202,27 @@ wheels = [ [[package]] name = "ty" -version = "0.0.82" +version = "0.0.83" source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/f6/df/b9f35d0b8860f1bbfcb852fbef363301b5ca4b5590cadc6f2a810646d579/ty-0.0.82.tar.gz", hash = "sha256:586e3bf784cece42113929bb64b4761bed5c2127ae6cea294bb82da670066356", size = 7325958, upload-time = "2026-09-17T19:42:12.243Z" } +sdist = { url = "https://files.pythonhosted.org/packages/3b/7d/2fd9575bce2d14e2281bec82d0713dee68329b0dc944e9c06c2e36b761fe/ty-0.0.83.tar.gz", hash = "sha256:db118de73c05ac476faceb4d42d59782feaeddfc4d721fd3ae8b807a0a2ae4e4", size = 7373076, upload-time = "2026-09-21T22:47:29.207Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/31/0e/259760638b7b1a875743f1f3975253392932ff74397c8e174df7bfb143c3/ty-0.0.82-py3-none-linux_armv6l.whl", hash = "sha256:be58e089e317e1ada7a655216828e76d369386dc958f7a3b3d455ab6dc7f02b6", size = 13833734, upload-time = "2026-09-17T19:41:35.134Z" }, - { url = "https://files.pythonhosted.org/packages/70/f6/c8a1f70989cf44cf2cada5527e268b4216015a7f28f1d8817e4ef1e84a52/ty-0.0.82-py3-none-macosx_10_12_x86_64.whl", hash = "sha256:c080ba9a816cfbb3e34c0d3a0071829c602d14bb992bc799d885d4b30008b4ab", size = 13449689, upload-time = "2026-09-17T19:41:37.65Z" }, - { url = "https://files.pythonhosted.org/packages/d5/eb/31fc4bdecb2ff0053443d4ec1e6719a3f3171636ad6da7a8a642c879a4f4/ty-0.0.82-py3-none-macosx_11_0_arm64.whl", hash = "sha256:4f08bd5b751c3b2c46eabe8aee890e7fa54e3bcd97ffa4b8338b0a2508d928c2", size = 13410140, upload-time = "2026-09-17T19:41:40.024Z" }, - { url = "https://files.pythonhosted.org/packages/e7/14/e2af8c64004cd891691915b1522f105a5d601dd8d76a635fec112911f251/ty-0.0.82-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:7f5ef0401743c2eeac8039ef9ff1bc5dd612bd17ed0259b9b0794e19696548a6", size = 13435552, upload-time = "2026-09-17T19:41:42.084Z" }, - { url = "https://files.pythonhosted.org/packages/52/92/b9519a7854189aa8da4309ecb9c6ff5ab8ac91a433e201322b15c98f9388/ty-0.0.82-py3-none-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:c899643f2a4c1782c06a4bf4959909d1aa2d9d2cac7c1ac3de3161dfcb6909f8", size = 13601427, upload-time = "2026-09-17T19:41:44.242Z" }, - { url = "https://files.pythonhosted.org/packages/ce/be/0c7a39e277a25bca21bbd2dcf640eb4d80cf98f318ef611092cda1222399/ty-0.0.82-py3-none-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:b7aa6e4e157c6e0b770c327a5d966371b2a7bc7ad4f22d662ac068623cba00eb", size = 14457370, upload-time = "2026-09-17T19:41:46.405Z" }, - { url = "https://files.pythonhosted.org/packages/6f/33/86ff8f1e15c71096838eb0fdfe0f5b578dc717575de6cba591d96baf3b06/ty-0.0.82-py3-none-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:28c141ab481748f1b889eb572e803172ea452af621e514c30a2f30884753b020", size = 14888674, upload-time = "2026-09-17T19:41:48.6Z" }, - { url = "https://files.pythonhosted.org/packages/0a/d2/a1c6315907afd080b4e98d2972441b4803a70c9663a8c7a7f6fd554c7361/ty-0.0.82-py3-none-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:16fff2729fbaa3998ba1cab536dc7d176aef28927b09200588e50982394c56df", size = 14670369, upload-time = "2026-09-17T19:41:50.963Z" }, - { url = "https://files.pythonhosted.org/packages/ae/cd/956ceae4dbe0b116ebc9ecb75dcbe9a0294c50146f76c4c59004e6eb2d77/ty-0.0.82-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:c2024a33209b37525ffa85a29036985e9ef53a013c0ff321231bd8b23987cf71", size = 14107030, upload-time = "2026-09-17T19:41:53.343Z" }, - { url = "https://files.pythonhosted.org/packages/b7/f8/6025627cec4d6370fb34a2c5cdcf36d89dd4e4ac75b023bda68231e17dfc/ty-0.0.82-py3-none-manylinux_2_31_riscv64.whl", hash = "sha256:14a0ae8591e08aca5911b545d100e51c9b796350a85b2b36d82219820552d662", size = 14485892, upload-time = "2026-09-17T19:41:55.745Z" }, - { url = "https://files.pythonhosted.org/packages/3a/b6/016f9b36096a9ccd0492ee000380bd75fb51dc4ec7bfef4d6d93f6b3ec2e/ty-0.0.82-py3-none-musllinux_1_2_aarch64.whl", hash = "sha256:2964202b09108c72232760119c2680cefc33191c428b09e6f620b6c0ab9c6b0f", size = 13383907, upload-time = "2026-09-17T19:41:57.937Z" }, - { url = "https://files.pythonhosted.org/packages/b4/19/1ccc2429399d6ef3d98180340c7abc6793bd90c5039ad41a9003cb8de6df/ty-0.0.82-py3-none-musllinux_1_2_armv7l.whl", hash = "sha256:f4ed8fc714e35dc11ef4209832e73ad461cf29c9161099eb6c2c541c6b9a3e0e", size = 13617005, upload-time = "2026-09-17T19:42:00.018Z" }, - { url = "https://files.pythonhosted.org/packages/d7/9d/a4a487db72e78413bba2ee9cd49f79b8f461be93e7f6c4dd790febae1cd7/ty-0.0.82-py3-none-musllinux_1_2_i686.whl", hash = "sha256:32a3fe7b1a50f20679fe76c85c0087280419365d900300898a7b95cbcfe510fc", size = 13906545, upload-time = "2026-09-17T19:42:01.942Z" }, - { url = "https://files.pythonhosted.org/packages/0c/4e/a58d530c0f5abe7b846e2d05af9e3f1fb44a1b620ae0abe3892cd3f9596c/ty-0.0.82-py3-none-musllinux_1_2_x86_64.whl", hash = "sha256:f751044ae63ea9e73ce2eae4c23a839efa4a04d6487d6ea411a590fbe43360b6", size = 14248518, upload-time = "2026-09-17T19:42:04.164Z" }, - { url = "https://files.pythonhosted.org/packages/a6/db/5505229835171d19adcaaeec3a15e0b533b578d24de1329db5da9306c4c6/ty-0.0.82-py3-none-win32.whl", hash = "sha256:0eb66c5ce58434a48d2cae2780d25285c7ca19e07a0d38b1fe39d1a0f75d6fa3", size = 13059890, upload-time = "2026-09-17T19:42:06.161Z" }, - { url = "https://files.pythonhosted.org/packages/13/22/faa427b65baf39915f52a6fa079ece4253e831f3364c567bf91bc1eef65a/ty-0.0.82-py3-none-win_amd64.whl", hash = "sha256:1e4a6c1ca2dc1a6929517d73a47cd626989bb8bd67811425fbe022d06eb2bf73", size = 14003730, upload-time = "2026-09-17T19:42:08.268Z" }, - { url = "https://files.pythonhosted.org/packages/8b/fc/3b95100993d28acb2f3bcf3a49846985f5b2aafab6562627d018f6d23788/ty-0.0.82-py3-none-win_arm64.whl", hash = "sha256:a6f0e8a1f961518746edbccc5986945c01a56a917ebe37117aa028a038d54ae3", size = 13567713, upload-time = "2026-09-17T19:42:10.248Z" }, + { url = "https://files.pythonhosted.org/packages/bf/85/7259431bade2317d8b82fa27220ae4618c21396acf0ca28a7bd75e92afd7/ty-0.0.83-py3-none-linux_armv6l.whl", hash = "sha256:836bc08bad96ecc7e38baf1a6ddaec15aa8c8b46ae99a96365397b5f6481b7a5", size = 13905669, upload-time = "2026-09-21T22:46:36.677Z" }, + { url = "https://files.pythonhosted.org/packages/d2/30/9527386ade8dd71fc52f65cde3c094411af7ad0d505f9063ef0841998702/ty-0.0.83-py3-none-macosx_10_12_x86_64.whl", hash = "sha256:0f1fb029fe076c7dca404d98e38fdb5fdbc2038a09407f89d43be1fdd9b2c459", size = 13499505, upload-time = "2026-09-21T22:46:40.114Z" }, + { url = "https://files.pythonhosted.org/packages/a0/54/63080d8cfd59a53810499a69a2ebc995724be27618b70d7f099e73ace317/ty-0.0.83-py3-none-macosx_11_0_arm64.whl", hash = "sha256:3515776d01ee3b1be974dafa73d449d0bc711afbc12ba341f82f70bc641ff4ee", size = 13498980, upload-time = "2026-09-21T22:46:43.197Z" }, + { url = "https://files.pythonhosted.org/packages/49/78/e647f190bd9513d09db30d45309e9b5df070b5caa44af2de3290fab59fbe/ty-0.0.83-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:c5b80d66c7f9c8d60f25ccfd40c6eaebe8fd7c9005074904e0e164dd89c13d03", size = 13494705, upload-time = "2026-09-21T22:46:46.106Z" }, + { url = "https://files.pythonhosted.org/packages/2e/12/aef645b13c5bd15e3e5993537dbc23f7d65475f3cf1755d07b4d3e56850d/ty-0.0.83-py3-none-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:57eae4aa55dab1af5d1423227c6517ccab1e658fe265c8e5a58caa584ca2876b", size = 13661466, upload-time = "2026-09-21T22:46:49.392Z" }, + { url = "https://files.pythonhosted.org/packages/d4/c4/11872e823653c568468ef7f0c3b23aed7ad2d33652e20144d28d5bfad58a/ty-0.0.83-py3-none-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:dea3680911340ecf93dff5786dbeefd69c9399df685a22751e1fbd27e6007b50", size = 14479677, upload-time = "2026-09-21T22:46:52.277Z" }, + { url = "https://files.pythonhosted.org/packages/8e/db/5b0d0d24d16d24d781f29ee842ee718903e453dc4068acb02bef860d5540/ty-0.0.83-py3-none-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:8453786c274f48e2a89b78e8a505a4f449323f357f2ce26a9b90a4bd68176f67", size = 14972208, upload-time = "2026-09-21T22:46:55.242Z" }, + { url = "https://files.pythonhosted.org/packages/54/04/0077a53bcf6ceb41365a45d8091b52094c91a5f4b071c2a6d705ed8bb65b/ty-0.0.83-py3-none-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:7701bdae3b52271cf0835abe4202aa3b23b735425d8c5a3e6a8ca1c68d39ead8", size = 14660550, upload-time = "2026-09-21T22:46:58.256Z" }, + { url = "https://files.pythonhosted.org/packages/d4/ff/b6c879f1c3121387edd19ebdb1fb02af30691f88f632278a5d467fb5f348/ty-0.0.83-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:aa95b4376447e5309fe3ccc98ee75916a9082714e6a029b99427ca62021dc94a", size = 14147376, upload-time = "2026-09-21T22:47:01.167Z" }, + { url = "https://files.pythonhosted.org/packages/0d/bc/82e730247d53cb02acd5a91237c0c62f215b2e0379689a550176d307ed89/ty-0.0.83-py3-none-manylinux_2_31_riscv64.whl", hash = "sha256:2a4550a08fc1899a33e4a08787a73ec9daa99d292268df4f0a5f1c24c63854c3", size = 14567502, upload-time = "2026-09-21T22:47:04.344Z" }, + { url = "https://files.pythonhosted.org/packages/67/13/bb6f57923231f51b626931625ada71e219d64541f8fadf96065bc5034358/ty-0.0.83-py3-none-musllinux_1_2_aarch64.whl", hash = "sha256:feb72080f0835fa2b27485e3b11fa50dc57c30e0ba73808a3f7d64b56db83f6f", size = 13443051, upload-time = "2026-09-21T22:47:07.316Z" }, + { url = "https://files.pythonhosted.org/packages/50/20/9862431662d4453527cd52cf0f30d5975cd1801aa39e570bf45fb299be77/ty-0.0.83-py3-none-musllinux_1_2_armv7l.whl", hash = "sha256:3e5206def2d6e1df93c75ed8dc763255233ccc3153647509d125bada10ad770a", size = 13678908, upload-time = "2026-09-21T22:47:10.714Z" }, + { url = "https://files.pythonhosted.org/packages/d7/e3/94ebbe1573b76660fa09f2dbce96da6d0bb69a2d29c7b6ad538b452979d4/ty-0.0.83-py3-none-musllinux_1_2_i686.whl", hash = "sha256:bdf5dfa157f5c127ba096fe0561b47877e6e79562c7fc2b35906ba5e9f6bb723", size = 13937248, upload-time = "2026-09-21T22:47:14.133Z" }, + { url = "https://files.pythonhosted.org/packages/2f/c0/3ea45c2ec3a82fddb7137e457ccb2a452446905430d225adaa4990cdc338/ty-0.0.83-py3-none-musllinux_1_2_x86_64.whl", hash = "sha256:626d6ad00f05a5d9b7ea80de44b12931d0c0fb50e64eab20b7fcc13e9aff2a68", size = 14290826, upload-time = "2026-09-21T22:47:16.874Z" }, + { url = "https://files.pythonhosted.org/packages/d8/b2/c941ce83a59e46ef31dd04bdf6067530e7ec77d5f0cdd1e223fbc6fc351b/ty-0.0.83-py3-none-win32.whl", hash = "sha256:0391017dac6ba3e452e0322301f50bba12fbccadac07d7fd888c46951ad37638", size = 13105291, upload-time = "2026-09-21T22:47:19.807Z" }, + { url = "https://files.pythonhosted.org/packages/b2/8a/5eef9458505698b144643cbd2062f465c5d860d8cf86a8710d74505ad9a0/ty-0.0.83-py3-none-win_amd64.whl", hash = "sha256:1b67d86f5bbad4076ae1a2ff23a6a4493219885d72d4b148cb0193e090390060", size = 13901557, upload-time = "2026-09-21T22:47:23.429Z" }, + { url = "https://files.pythonhosted.org/packages/9f/27/a06061513f1de25569c2e8898018bd552ab7b31afa7cfe818703269b3350/ty-0.0.83-py3-none-win_arm64.whl", hash = "sha256:a916a3d7d68fe30b7aacdb9fe16d461fa944d722e59e96ea0fa9d206a1b6625f", size = 13627960, upload-time = "2026-09-21T22:47:26.305Z" }, ] [[package]]