Skip to content

Conversation

@rok
Copy link
Owner

@rok rok commented Jul 28, 2025

NOTE: this is preliminary prototype work to be used for discussion and not ready to merge to arrow/main.

This builds on top of #42 and adds type annotation coverage for pytest tests.

rok and others added 2 commits July 28, 2025 17:31
* Add typing to arrow using stubs

* GH-7: [Python] Fix invalid-context-manager error (#30)

* Add py.typed file to signify that the library is typed

See the relevant PEP https://peps.python.org/pep-0561

* Prepare `pyarrow-stubs` for history merging

MINOR: [Python] Prepare `pyarrow-stubs` for history merging

Co-authored-by: ZhengYu, Xu <zen-xu@outlook.com>

* Add `ty` configuration and suppress error codes

* One line per rule

* Add licence header from original repo for all `.pyi` files

* Revert "Add licence header from original repo for all `.pyi` files"

This reverts commit 1631f39.

* Prepare for licence merging

* Exclude `stubs` from `rat` test

* Add Apache licence clause to `py.typed`

* Reduce list

* Add `ty` as a step in the action

* Run in the correct directory

* Remove `check` from `pip`

* Fix `unresolved-reference` error

* Revert "Fix `unresolved-reference` error"

This reverts commit 7ee3d2f.

* Fix invalid-context-manager

---------

Co-authored-by: Patrick J. Roddy <patrickjamesroddy@gmail.com>

* GH-8: [Python] Fix invalid-type-form (#31)

* Add py.typed file to signify that the library is typed

See the relevant PEP https://peps.python.org/pep-0561

* Prepare `pyarrow-stubs` for history merging

MINOR: [Python] Prepare `pyarrow-stubs` for history merging

Co-authored-by: ZhengYu, Xu <zen-xu@outlook.com>

* Add `ty` configuration and suppress error codes

* One line per rule

* Add licence header from original repo for all `.pyi` files

* Revert "Add licence header from original repo for all `.pyi` files"

This reverts commit 1631f39.

* Prepare for licence merging

* Exclude `stubs` from `rat` test

* Add Apache licence clause to `py.typed`

* Reduce list

* Add `ty` as a step in the action

* Run in the correct directory

* Remove `check` from `pip`

* Fix `unresolved-reference` error

* Revert "Fix `unresolved-reference` error"

This reverts commit 7ee3d2f.

* Fix invalid-type-form errors

---------

Co-authored-by: Patrick J. Roddy <patrickjamesroddy@gmail.com>

* GH-9: [Python] Fix non-subscriptable error (#32)

* fix: The type parameter of array should be covariant (apache#253)

* release 20.0.0.20250716 (apache#254)

* Add py.typed file to signify that the library is typed

See the relevant PEP https://peps.python.org/pep-0561

* Prepare `pyarrow-stubs` for history merging

MINOR: [Python] Prepare `pyarrow-stubs` for history merging

Co-authored-by: ZhengYu, Xu <zen-xu@outlook.com>

* Add `ty` configuration and suppress error codes

* One line per rule

* Add licence header from original repo for all `.pyi` files

* Revert "Add licence header from original repo for all `.pyi` files"

This reverts commit 1631f39.

* Prepare for licence merging

* Exclude `stubs` from `rat` test

* Add Apache licence clause to `py.typed`

* Reduce list

* Add `ty` as a step in the action

* Run in the correct directory

* Remove `check` from `pip`

* Fix `unresolved-reference` error

* Revert "Fix `unresolved-reference` error"

This reverts commit 7ee3d2f.

* Fix non-subscriptable issues

---------

Co-authored-by: Patrick J. Roddy <patrickjamesroddy@gmail.com>

* GH-11: [Python] Fix no-matching-overload error (#34)

* Add py.typed file to signify that the library is typed

See the relevant PEP https://peps.python.org/pep-0561

* Prepare `pyarrow-stubs` for history merging

MINOR: [Python] Prepare `pyarrow-stubs` for history merging

Co-authored-by: ZhengYu, Xu <zen-xu@outlook.com>

* Add `ty` configuration and suppress error codes

* One line per rule

* Add licence header from original repo for all `.pyi` files

* Revert "Add licence header from original repo for all `.pyi` files"

This reverts commit 1631f39.

* Prepare for licence merging

* Exclude `stubs` from `rat` test

* Add Apache licence clause to `py.typed`

* Reduce list

* Add `ty` as a step in the action

* Run in the correct directory

* Remove `check` from `pip`

* Fix `unresolved-reference` error

* Revert "Fix `unresolved-reference` error"

This reverts commit 7ee3d2f.

* Fix no-matching-overload

---------

Co-authored-by: Patrick J. Roddy <patrickjamesroddy@gmail.com>

* GH-12: [Python] Fix `invalid-return-type` error (#25)

* Add py.typed file to signify that the library is typed

See the relevant PEP https://peps.python.org/pep-0561

* Prepare `pyarrow-stubs` for history merging

MINOR: [Python] Prepare `pyarrow-stubs` for history merging

Co-authored-by: ZhengYu, Xu <zen-xu@outlook.com>

* Add `ty` configuration and suppress error codes

* One line per rule

* Add licence header from original repo for all `.pyi` files

* Revert "Add licence header from original repo for all `.pyi` files"

This reverts commit 1631f39.

* Prepare for licence merging

* Exclude `stubs` from `rat` test

* Add Apache licence clause to `py.typed`

* Reduce list

* Add `ty` as a step in the action

* Run in the correct directory

* Remove `check` from `pip`

* Fix `unresolved-reference` error

* Revert "Fix `unresolved-reference` error"

This reverts commit 7ee3d2f.

* Fix `invalid-return-type` error

* Fix linting

---------

Co-authored-by: Rok Mihevc <rok@mihevc.org>

* GH-14: [Python] Fix `not-iterable` typing (#26)

* Add py.typed file to signify that the library is typed

See the relevant PEP https://peps.python.org/pep-0561

* Prepare `pyarrow-stubs` for history merging

MINOR: [Python] Prepare `pyarrow-stubs` for history merging

Co-authored-by: ZhengYu, Xu <zen-xu@outlook.com>

* Add `ty` configuration and suppress error codes

* One line per rule

* Add licence header from original repo for all `.pyi` files

* Revert "Add licence header from original repo for all `.pyi` files"

This reverts commit 1631f39.

* Prepare for licence merging

* Exclude `stubs` from `rat` test

* Add Apache licence clause to `py.typed`

* Reduce list

* Add `ty` as a step in the action

* Run in the correct directory

* Remove `check` from `pip`

* Fix `unresolved-reference` error

* Revert "Fix `unresolved-reference` error"

This reverts commit 7ee3d2f.

* Fix `not-iterable` error

---------

Co-authored-by: Rok Mihevc <rok@mihevc.org>

* GH-15: [Python] Fix possibly-unbound-attribute (#38)

* Add py.typed file to signify that the library is typed

See the relevant PEP https://peps.python.org/pep-0561

* Prepare `pyarrow-stubs` for history merging

MINOR: [Python] Prepare `pyarrow-stubs` for history merging

Co-authored-by: ZhengYu, Xu <zen-xu@outlook.com>

* Add `ty` configuration and suppress error codes

* One line per rule

* Add licence header from original repo for all `.pyi` files

* Revert "Add licence header from original repo for all `.pyi` files"

This reverts commit 1631f39.

* Prepare for licence merging

* Exclude `stubs` from `rat` test

* Add Apache licence clause to `py.typed`

* Reduce list

* Add `ty` as a step in the action

* Run in the correct directory

* Remove `check` from `pip`

* Fix `unresolved-reference` error

* Revert "Fix `unresolved-reference` error"

This reverts commit 7ee3d2f.

* Fix possibly-unbound-attribute

---------

Co-authored-by: Patrick J. Roddy <patrickjamesroddy@gmail.com>

* GH-16: [Python] Fix too-many-positional-arguments (#35)

* Add py.typed file to signify that the library is typed

See the relevant PEP https://peps.python.org/pep-0561

* Prepare `pyarrow-stubs` for history merging

MINOR: [Python] Prepare `pyarrow-stubs` for history merging

Co-authored-by: ZhengYu, Xu <zen-xu@outlook.com>

* Add `ty` configuration and suppress error codes

* One line per rule

* Add licence header from original repo for all `.pyi` files

* Revert "Add licence header from original repo for all `.pyi` files"

This reverts commit 1631f39.

* Prepare for licence merging

* Exclude `stubs` from `rat` test

* Add Apache licence clause to `py.typed`

* Reduce list

* Add `ty` as a step in the action

* Run in the correct directory

* Remove `check` from `pip`

* Fix `unresolved-reference` error

* Revert "Fix `unresolved-reference` error"

This reverts commit 7ee3d2f.

* Fix too-many-positional-arguments

---------

Co-authored-by: Patrick J. Roddy <patrickjamesroddy@gmail.com>

* GH-17: [Python] Fix unknown-argument (#36)

* Add py.typed file to signify that the library is typed

See the relevant PEP https://peps.python.org/pep-0561

* Prepare `pyarrow-stubs` for history merging

MINOR: [Python] Prepare `pyarrow-stubs` for history merging

Co-authored-by: ZhengYu, Xu <zen-xu@outlook.com>

* Add `ty` configuration and suppress error codes

* One line per rule

* Add licence header from original repo for all `.pyi` files

* Revert "Add licence header from original repo for all `.pyi` files"

This reverts commit 1631f39.

* Prepare for licence merging

* Exclude `stubs` from `rat` test

* Add Apache licence clause to `py.typed`

* Reduce list

* Add `ty` as a step in the action

* Run in the correct directory

* Remove `check` from `pip`

* Fix `unresolved-reference` error

* Revert "Fix `unresolved-reference` error"

This reverts commit 7ee3d2f.

* Fix unknown-argument

---------

Co-authored-by: Patrick J. Roddy <patrickjamesroddy@gmail.com>

* GH-18: [Python] Fix unresolved-attribute (#37)

* Add py.typed file to signify that the library is typed

See the relevant PEP https://peps.python.org/pep-0561

* Prepare `pyarrow-stubs` for history merging

MINOR: [Python] Prepare `pyarrow-stubs` for history merging

Co-authored-by: ZhengYu, Xu <zen-xu@outlook.com>

* Add `ty` configuration and suppress error codes

* One line per rule

* Add licence header from original repo for all `.pyi` files

* Revert "Add licence header from original repo for all `.pyi` files"

This reverts commit 1631f39.

* Prepare for licence merging

* Exclude `stubs` from `rat` test

* Add Apache licence clause to `py.typed`

* Reduce list

* Add `ty` as a step in the action

* Run in the correct directory

* Remove `check` from `pip`

* Fix `unresolved-reference` error

* Revert "Fix `unresolved-reference` error"

This reverts commit 7ee3d2f.

* Fix unresolved-attribute

---------

Co-authored-by: Patrick J. Roddy <patrickjamesroddy@gmail.com>

* GH-19: [Python] Fix unresolved-global (#39)

* Add py.typed file to signify that the library is typed

See the relevant PEP https://peps.python.org/pep-0561

* Prepare `pyarrow-stubs` for history merging

MINOR: [Python] Prepare `pyarrow-stubs` for history merging

Co-authored-by: ZhengYu, Xu <zen-xu@outlook.com>

* Add `ty` configuration and suppress error codes

* One line per rule

* Add licence header from original repo for all `.pyi` files

* Revert "Add licence header from original repo for all `.pyi` files"

This reverts commit 1631f39.

* Prepare for licence merging

* Exclude `stubs` from `rat` test

* Add Apache licence clause to `py.typed`

* Reduce list

* Add `ty` as a step in the action

* Run in the correct directory

* Remove `check` from `pip`

* Fix `unresolved-reference` error

* Revert "Fix `unresolved-reference` error"

This reverts commit 7ee3d2f.

* Fix unresolved-global

---------

Co-authored-by: Patrick J. Roddy <patrickjamesroddy@gmail.com>

* GH-20: [Python] Fix `unsupported-reference` typing (#24)

* Add py.typed file to signify that the library is typed

See the relevant PEP https://peps.python.org/pep-0561

* Prepare `pyarrow-stubs` for history merging

MINOR: [Python] Prepare `pyarrow-stubs` for history merging

Co-authored-by: ZhengYu, Xu <zen-xu@outlook.com>

* Add `ty` configuration and suppress error codes

* One line per rule

* Add licence header from original repo for all `.pyi` files

* Revert "Add licence header from original repo for all `.pyi` files"

This reverts commit 1631f39.

* Prepare for licence merging

* Exclude `stubs` from `rat` test

* Add Apache licence clause to `py.typed`

* Reduce list

* Add `ty` as a step in the action

* Run in the correct directory

* Remove `check` from `pip`

* Fix `unresolved-reference` error

* Revert "Fix `unresolved-reference` error"

This reverts commit 7ee3d2f.

* Fix `unresolved-reference` error

---------

Co-authored-by: Rok Mihevc <rok@mihevc.org>

* GH-6: [Python] Fix invalid-argument-type error (#29)

* Add py.typed file to signify that the library is typed

See the relevant PEP https://peps.python.org/pep-0561

* Prepare `pyarrow-stubs` for history merging

MINOR: [Python] Prepare `pyarrow-stubs` for history merging

Co-authored-by: ZhengYu, Xu <zen-xu@outlook.com>

* Add `ty` configuration and suppress error codes

* One line per rule

* Add licence header from original repo for all `.pyi` files

* Revert "Add licence header from original repo for all `.pyi` files"

This reverts commit 1631f39.

* Prepare for licence merging

* Exclude `stubs` from `rat` test

* Add Apache licence clause to `py.typed`

* Reduce list

* Add `ty` as a step in the action

* Run in the correct directory

* Remove `check` from `pip`

* Fix `unresolved-reference` error

* Revert "Fix `unresolved-reference` error"

This reverts commit 7ee3d2f.

* removing OrderedDict, etc

---------

Co-authored-by: Patrick J. Roddy <patrickjamesroddy@gmail.com>

* GH-27: [Python] Fix call-non-callable error (#28)

* Add py.typed file to signify that the library is typed

See the relevant PEP https://peps.python.org/pep-0561

* Prepare `pyarrow-stubs` for history merging

MINOR: [Python] Prepare `pyarrow-stubs` for history merging

Co-authored-by: ZhengYu, Xu <zen-xu@outlook.com>

* Add `ty` configuration and suppress error codes

* One line per rule

* Add licence header from original repo for all `.pyi` files

* Revert "Add licence header from original repo for all `.pyi` files"

This reverts commit 1631f39.

* Prepare for licence merging

* Exclude `stubs` from `rat` test

* Add Apache licence clause to `py.typed`

* Reduce list

* Add `ty` as a step in the action

* Run in the correct directory

* Remove `check` from `pip`

* Fix `unresolved-reference` error

* Revert "Fix `unresolved-reference` error"

This reverts commit 7ee3d2f.

* to_sparse appears deprecated, ignore inline

* Update python/pyarrow/tests/test_feather.py

---------

Co-authored-by: Patrick J. Roddy <patrickjamesroddy@gmail.com>

* GH-10: [Python] Fix invalid-assignment error (#33)

* Add py.typed file to signify that the library is typed

See the relevant PEP https://peps.python.org/pep-0561

* Prepare `pyarrow-stubs` for history merging

MINOR: [Python] Prepare `pyarrow-stubs` for history merging

Co-authored-by: ZhengYu, Xu <zen-xu@outlook.com>

* Add `ty` configuration and suppress error codes

* One line per rule

* Add licence header from original repo for all `.pyi` files

* Revert "Add licence header from original repo for all `.pyi` files"

This reverts commit 1631f39.

* Prepare for licence merging

* Exclude `stubs` from `rat` test

* Add Apache licence clause to `py.typed`

* Reduce list

* Add `ty` as a step in the action

* Run in the correct directory

* Remove `check` from `pip`

* Fix `unresolved-reference` error

* Revert "Fix `unresolved-reference` error"

This reverts commit 7ee3d2f.

* Fix invalid-assignment

---------

Co-authored-by: Patrick J. Roddy <patrickjamesroddy@gmail.com>

* GH-21: [Python] Fix `unsupported-operator` typing (#22)

* Add py.typed file to signify that the library is typed

See the relevant PEP https://peps.python.org/pep-0561

* Prepare `pyarrow-stubs` for history merging

MINOR: [Python] Prepare `pyarrow-stubs` for history merging

Co-authored-by: ZhengYu, Xu <zen-xu@outlook.com>

* Add `ty` configuration and suppress error codes

* One line per rule

* Add licence header from original repo for all `.pyi` files

* Revert "Add licence header from original repo for all `.pyi` files"

This reverts commit 1631f39.

* Prepare for licence merging

* Exclude `stubs` from `rat` test

* Add Apache licence clause to `py.typed`

* Reduce list

* Add `ty` as a step in the action

* Run in the correct directory

* Remove `check` from `pip`

* Fix `unsupported-operator` error

---------

* fix unsupported-operator

* Fix unresolved-reference

* Fix not-iterable

* Fix no-matching-overload

* Fix invalid-assignment

* Fix too-many-positional-arguments

* Fix invalid-argument-type

* Fix missing-argument

* Fix unresolved-import

* Fix possibly-unbound-import

* Fix possibly-unbound-import

* Fix unresolved-attribute

* Revert test changes

* Converging

---------

Co-authored-by: Patrick J. Roddy <patrickjamesroddy@gmail.com>
Co-authored-by: Patrick J. Roddy <patrickjamesroddy@gmail.com>
@github-actions
Copy link

Thanks for opening a pull request!

If this is not a minor PR. Could you open an issue for this pull request on GitHub? https://github.com/apache/arrow/issues/new/choose

Opening GitHub issues ahead of time contributes to the Openness of the Apache Arrow project.

Then could you also rename the pull request title in the following format?

GH-${GITHUB_ISSUE_ID}: [${COMPONENT}] ${SUMMARY}

or

MINOR: [${COMPONENT}] ${SUMMARY}

See also:

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants