Metadata-Version: 2.4
Name: postyp
Version: 0.3.0
Summary: POST Python type vocabulary: scalar dtypes, Array, Shape, layouts, DataFrame and Series annotations.
Project-URL: Repository, https://github.com/openteams-ai/postpython
Project-URL: Specification, https://github.com/openteams-ai/postpython/blob/main/docs/spec.md
Project-URL: Website, https://post-py.org/
Author: Travis E. Oliphant
Keywords: array-api,dtypes,post-python,types
Classifier: Development Status :: 3 - Alpha
Classifier: Intended Audience :: Developers
Classifier: Intended Audience :: Science/Research
Classifier: Programming Language :: Python :: 3
Classifier: Topic :: Scientific/Engineering
Classifier: Topic :: Software Development :: Compilers
Requires-Python: >=3.10
Description-Content-Type: text/markdown

# postyp

The [POST Python](https://post-py.org/) type vocabulary: scalar dtypes
(`Float64`, `Int64`, `Bool`, …), `Array` with `Shape` and layout
qualifiers, and `DataFrame`/`Series` annotations.

`postyp` is the canonical, compiler-independent source of POST Python
type metadata (spec §10). Conforming compilers introspect this module
rather than duplicating dtype definitions; POST source files import
their annotations from it:

```python
from postyp import Array, Float64, Shape

def det3(m: Array[Float64, Shape[3, 3]]) -> Float64: ...
```

Every scalar dtype also has a bit-width short-hand (`i8`…`i64`,
`u8`…`u64`, `f16`/`f32`/`f64`, `c64`/`c128`) — the same class under a
compact name, for signatures that would otherwise wrap:

```python
from postyp import Array, f64

def det3(m: Array[f64, Shape[3, 3]]) -> f64: ...
```

The reference compiler is distributed separately as
[`postpyc`](https://pypi.org/project/postpyc/), which depends on this package. Development happens in
[openteams-ai/postpython](https://github.com/openteams-ai/postpython).
