This release is a pre-release and may not be stable for production use.
Lappy
Lappy is a fork of Sophia Lin’s lazyray that supports more operations beyond arithmetics.
In Lappy, everything computable is considered an array object (unlike numpy, it does not offer separate scalar types). An array object has six basic components: the shape, the dtype, the expression, the value, the formal argument list, and the environment (capture list). Scalars are special arrays with shape being an empty tuple. If the dtype is an integer type, there can be assumptions associated with the array elements represented by an integer set (for scalars) or map (for non-scalars).
Documentation
Please visit https://xiaoyu-wei.com/docs/lappy/ for the latest documentation.
Status
This is a list of things that can be achieved with lappy today:
✅ Arithmetic and scalar mathematics (lifted scalar functions / universal functions)
✅ Axis reordering / transpose
✅ Reshaping
✅ Broadcasting (semi-dynamic)
Scope
Roadmap
✅ Scan and fold
✅ Tensor contractions, like np.einsum (including dot products and matrix multiply)
✅ Slicing (static and dynamic)
✅ Fancy indexing (static and dynamic)
✅ Integration with Numpy’s dispatch mechanism like __array__ and __array_ufunc__
✅ Some linear algebra like svd, qr, lstsq
Anti-features
- ❌ Another array IR like APL. lappy is not an IR and does not intend to be.
It serves as a tool to build parametrized array expressions for lazy evaluation, and strives to provide numpy compatible APIs.
Lappy is licensed under the MIT license and free for commercial, academic, and private use.
Release files for lappy 2020.4.dev1
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| lappy-2020.4.dev1.tar.gz | 45.4 kB | Details |
Release files / lappy-2020.4.dev1.tar.gz
| Download URL | lappy-2020.4.dev1.tar.gz |
|---|---|
| Size | 45.4 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
299e19802822b39612c3f31e8ff582613a6ad1a0aa0e886084cb418b9181b452
|
|
BLAKE2b-256 checksum How to use checksums |
d373b4e99dafc1ba2d06fcac084512bff5cc52802e27e18836d53d377410ee2c
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/3.1.1 pkginfo/1.5.0.1 requests/2.23.0 setuptools/40.8.0 requests-toolbelt/0.9.1 tqdm/4.45.0 CPython/3.7.7
|