JoinStrategy
is an input to join
: https://docs.pola.rs/api/python/stable/reference/dataframe/api/polars.DataFrame.join.html
My static type checking tool seems to be able to get a hold of JoinStrategy
, but I'm not sure how/from where.
Usually, type stub packages are available on PyPI, but nothing obvious stands out in this case: https://pypi.org/user/ritchie46/
How do I import JoinStrategy
(or other type definitions provided by Polars) for my own use?
Types can be provided by one of two things: a separate type package, and by the same package. In this case it's being provided by the same package.
If you read the source code, you can find where the type comes from.
Example:
from polars._typing import JoinStrategy
Note that _typing
denotes that this is part of the Polars private API, and is subject to change between releases.
You can also print out the value of JoinStrategy:
>>> JoinStrategy
typing.Literal['inner', 'left', 'right', 'full', 'semi', 'anti', 'cross', 'outer']
You can also use this as a type definition.
import typing
JoinStrategy = typing.Literal['inner', 'left', 'right', 'full', 'semi', 'anti', 'cross', 'outer']
This has the advantage of not using the private API, but the disadvantage that if Polars adds a new JoinStrategy, your code won't automatically allow that in this type.