Pre-release
This release is a pre-release and may not be stable for production use.
basedpython
a python type checker and a python-like language that transpiles to pure python
- a python type checker with framework support — pydantic, sqlalchemy, pytest and django are modelled directly, so the magic they do at runtime checks like ordinary code
- basedpython, a python-like language that builds into python wheels
- compiles into high performance python extension modules
- a language server, formatter and linter — high performance and feature rich tooling
enum class Shape:
case Circle(radius: int)
case Rect(width: int, height: int)
def area(self) -> int:
return match self:
case Shape.Circle(r):
3 * r * r
case Shape.Rect(w, h):
w * h
extension list[Element: Shape]:
def first_circle(self) -> Shape.Circle?:
for shape in self:
if shape is Shape.Circle:
return shape
return None
def stats(shapes: list[Shape]) -> (count: int, total: int):
return (len(shapes), sum(s.area() for s in shapes))
def main():
let shapes = [Shape.Circle(1), Shape.Rect(2, 3)]
let summary = stats(shapes)
print(f"{summary.count} shapes, {summary.total} total")
print(shapes.first_circle()?.radius ?? 0)
installation
uv add --dev basedpython
echo 'print("hello")' > main.by
by run main
documentation
kotlinisland.github.io/basedpython
acknowledgements
basedpython is built on top of astral-sh/ruff. none of this would exist without the work of the astral team and the wider ruff community
Metadata
Release files for basedpython 0.0.1b1
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| basedpython-0.0.1b1.tar.gz | 14.3 MB | Details |
Built distributions (wheels)
Total release size: 546.6 MB
Release files / basedpython-0.0.1b1.tar.gz
| Download URL | basedpython-0.0.1b1.tar.gz |
|---|---|
| Size | 14.3 MB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
6308e88ff4959345f037729d96c5f856cbdfccb03245b9e7c8da588e4c34439b
|
|
BLAKE2b-256 checksum How to use checksums |
a16e8283bb0cc8fc61be08b1239458024aedbcbf2835cec583efc734f065fd29
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
uv/0.12.9 {"installer":{"name":"uv","version":"0.12.9","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
|
Release files / basedpython-0.0.1b1-py3-none-win_arm64.whl
| Download URL | basedpython-0.0.1b1-py3-none-win_arm64.whl |
|---|---|
| Size | 32.3 MB |
| Tags | Python 3 Windows ARM64 |
|
SHA-256 checksum How to use checksums |
fdfbefff378d7ff1bfc1f865a762ff5d16338e931b74e2832ddcb532c00710e9
|
|
BLAKE2b-256 checksum How to use checksums |
84134fe51cab586ee3e65d352382369d191b207b88ced35b3c41f8730d1fcfd9
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
uv/0.12.9 {"installer":{"name":"uv","version":"0.12.9","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
|
Release files / basedpython-0.0.1b1-py3-none-win_amd64.whl
| Download URL | basedpython-0.0.1b1-py3-none-win_amd64.whl |
|---|---|
| Size | 35.3 MB |
| Tags | Python 3 Windows x86-64 |
|
SHA-256 checksum How to use checksums |
7b070d8bfbddcf2a0614233c93fd4c2886314896619a2772f6ec108f03fc5fdd
|
|
BLAKE2b-256 checksum How to use checksums |
0c5b2916d0e3ee721914c9f7fbd0e3d5eb252ca3bf9d8089bc73ac78c769b5cf
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
uv/0.12.9 {"installer":{"name":"uv","version":"0.12.9","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
|
Release files / basedpython-0.0.1b1-py3-none-win32.whl
| Download URL | basedpython-0.0.1b1-py3-none-win32.whl |
|---|---|
| Size | 30.9 MB |
| Tags | Python 3 Windows x86-32 |
|
SHA-256 checksum How to use checksums |
65a24ef07756977869847a8a94a4ed120d81075e93ad7aa31bbb9d5205ab3c13
|
|
BLAKE2b-256 checksum How to use checksums |
613a3eb9d826407108a300da77b1a81ffeccd42fe2476b15a140ec6d6b49e588
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
uv/0.12.9 {"installer":{"name":"uv","version":"0.12.9","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
|
Release files / basedpython-0.0.1b1-py3-none-musllinux_1_2_x86_64.whl
| Download URL | basedpython-0.0.1b1-py3-none-musllinux_1_2_x86_64.whl |
|---|---|
| Size | 34.1 MB |
| Tags | Linux musl 1.2+ x86-64 Python 3 |
|
SHA-256 checksum How to use checksums |
062cabaa453bd103e86875337123ee3aefae355ecdd7b2301673954f6e5e3bf8
|
|
BLAKE2b-256 checksum How to use checksums |
8eb938483cb5e9ad05d1dab62de957294047b690e9dba213ddc55a789eb2e2a4
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
uv/0.12.9 {"installer":{"name":"uv","version":"0.12.9","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
|
Release files / basedpython-0.0.1b1-py3-none-musllinux_1_2_i686.whl
| Download URL | basedpython-0.0.1b1-py3-none-musllinux_1_2_i686.whl |
|---|---|
| Size | 34.2 MB |
| Tags | Linux musl 1.2+ x86-32 Python 3 |
|
SHA-256 checksum How to use checksums |
0a5564865d055524e726e4bf86083f969aaae88ec24f4e9b4075ada07f032961
|
|
BLAKE2b-256 checksum How to use checksums |
0c5888600b7840488ebb00e092ad15062ba367a19685f62bbc1d396e55f8e9fe
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
uv/0.12.9 {"installer":{"name":"uv","version":"0.12.9","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
|
Release files / basedpython-0.0.1b1-py3-none-musllinux_1_2_armv7l.whl
| Download URL | basedpython-0.0.1b1-py3-none-musllinux_1_2_armv7l.whl |
|---|---|
| Size | 31.1 MB |
| Tags | Linux musl 1.2+ ARMv7l Python 3 |
|
SHA-256 checksum How to use checksums |
028147a45fcde7d898d73f86321a410674851754bd1ec4c2941c360748b830af
|
|
BLAKE2b-256 checksum How to use checksums |
691f2342e0b782c39a22de03add2ff4b0c88af05d28e0281fefec08c7f870429
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
uv/0.12.9 {"installer":{"name":"uv","version":"0.12.9","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
|
Release files / basedpython-0.0.1b1-py3-none-musllinux_1_2_aarch64.whl
| Download URL | basedpython-0.0.1b1-py3-none-musllinux_1_2_aarch64.whl |
|---|---|
| Size | 31.6 MB |
| Tags | Linux musl 1.2+ ARM64 Python 3 |
|
SHA-256 checksum How to use checksums |
4cc414398ebb312c44233bfe492eac4470693ac203a892cf453f9a04acca84dc
|
|
BLAKE2b-256 checksum How to use checksums |
0c188b79057d915a0c4db0338b771584df99f6d147347cce2c315dcbec1f005c
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
uv/0.12.9 {"installer":{"name":"uv","version":"0.12.9","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
|
Release files / basedpython-0.0.1b1-py3-none-manylinux_2_31_riscv64.whl
| Download URL | basedpython-0.0.1b1-py3-none-manylinux_2_31_riscv64.whl |
|---|---|
| Size | 33.9 MB |
| Tags | Linux glibc 2.31+ RISC-V 64 Python 3 |
|
SHA-256 checksum How to use checksums |
96a243b5f9b2225b23531a0f8dffc35b33a85c0c2599d757e90a510e1680a043
|
|
BLAKE2b-256 checksum How to use checksums |
38718bdfd069b770b9c2467a8ee1f1219f176176599d9fd7828d7555f5b92e3c
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
uv/0.12.9 {"installer":{"name":"uv","version":"0.12.9","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
|
Release files / basedpython-0.0.1b1-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
| Download URL | basedpython-0.0.1b1-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl |
|---|---|
| Size | 35.4 MB |
| Tags | Linux glibc 2.17+ x86-64 Python 3 |
|
SHA-256 checksum How to use checksums |
d475e7272921796723be5460dd4f18c3005d97ec71456f332b2953185540cff7
|
|
BLAKE2b-256 checksum How to use checksums |
7dd7fe7049d3b3458c1c216f32bdb73e602074c4b6452adaa2632ddf1e476fd7
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
uv/0.12.9 {"installer":{"name":"uv","version":"0.12.9","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
|
Release files / basedpython-0.0.1b1-py3-none-manylinux_2_17_s390x.manylinux2014_s390x.whl
| Download URL | basedpython-0.0.1b1-py3-none-manylinux_2_17_s390x.manylinux2014_s390x.whl |
|---|---|
| Size | 33.3 MB |
| Tags | Linux glibc 2.17+ IBM System/390x Python 3 |
|
SHA-256 checksum How to use checksums |
3bc7dd98424e0a9e63b8e94495296789c6df6cee828ccacc238feb008e38b202
|
|
BLAKE2b-256 checksum How to use checksums |
6ac0fd0a05ab10194cd5c66b39de32d3d6c0bbadf677ed7c40d4266336a690d8
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
uv/0.12.9 {"installer":{"name":"uv","version":"0.12.9","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
|
Release files / basedpython-0.0.1b1-py3-none-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl
| Download URL | basedpython-0.0.1b1-py3-none-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl |
|---|---|
| Size | 36.8 MB |
| Tags | Linux glibc 2.17+ PowerPC 64-le Python 3 |
|
SHA-256 checksum How to use checksums |
74c8a7b80301c2ab0ea8997da19563bd1f22f96a2a1d87f53736ea62eae5fd5e
|
|
BLAKE2b-256 checksum How to use checksums |
ee13eb1d1d1ba9a5bc6e526918ab29ee08acf302b4765abd26e962160152be16
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
uv/0.12.9 {"installer":{"name":"uv","version":"0.12.9","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
|
Release files / basedpython-0.0.1b1-py3-none-manylinux_2_17_i686.manylinux2014_i686.whl
| Download URL | basedpython-0.0.1b1-py3-none-manylinux_2_17_i686.manylinux2014_i686.whl |
|---|---|
| Size | 36.7 MB |
| Tags | Linux glibc 2.17+ x86-32 Python 3 |
|
SHA-256 checksum How to use checksums |
3ecacb7ecd2148bd7e929aba4b581e86d4538b1a428fec4526f7cd23a54dad95
|
|
BLAKE2b-256 checksum How to use checksums |
3b9ac741c32eb5c6cbf5cd2323cf62bba586afcf76ce8096026dc41ebcb66ffd
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
uv/0.12.9 {"installer":{"name":"uv","version":"0.12.9","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
|
Release files / basedpython-0.0.1b1-py3-none-manylinux_2_17_armv7l.manylinux2014_armv7l.whl
| Download URL | basedpython-0.0.1b1-py3-none-manylinux_2_17_armv7l.manylinux2014_armv7l.whl |
|---|---|
| Size | 31.2 MB |
| Tags | Linux glibc 2.17+ ARMv7l Python 3 |
|
SHA-256 checksum How to use checksums |
aa469fedba4472b4b059afcc78f2402876dec538a18641655cb3314eb419bb48
|
|
BLAKE2b-256 checksum How to use checksums |
9283cf346afbc89249576c888e5b41478c02c2137b739254e764a5d38ed2a218
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
uv/0.12.9 {"installer":{"name":"uv","version":"0.12.9","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
|
Release files / basedpython-0.0.1b1-py3-none-macosx_11_0_arm64.whl
| Download URL | basedpython-0.0.1b1-py3-none-macosx_11_0_arm64.whl |
|---|---|
| Size | 32.1 MB |
| Tags | Python 3 macOS 11.0+ ARM64 |
|
SHA-256 checksum How to use checksums |
0ea3520d24c1b9e23bc6c5c90057721494ab6115f4c664854584bb56c1bd2a47
|
|
BLAKE2b-256 checksum How to use checksums |
bf95d2ac040f2bddad102dc1452075da11921610e2c687aab55c945c8a7338bd
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
uv/0.12.9 {"installer":{"name":"uv","version":"0.12.9","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
|
Release files / basedpython-0.0.1b1-py3-none-macosx_10_12_x86_64.whl
| Download URL | basedpython-0.0.1b1-py3-none-macosx_10_12_x86_64.whl |
|---|---|
| Size | 31.9 MB |
| Tags | Python 3 macOS 10.12+ x86-64 |
|
SHA-256 checksum How to use checksums |
acf1006f1f4c89f79ec8c2a7313ce4d69fe804c6733316c16039208485ac0446
|
|
BLAKE2b-256 checksum How to use checksums |
7cf5ece7c0f45dab61db6fcbe28289a7944dcf5953146b0effbc0888458e0f47
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
uv/0.12.9 {"installer":{"name":"uv","version":"0.12.9","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
|
Release files / basedpython-0.0.1b1-py3-none-linux_armv6l.whl
| Download URL | basedpython-0.0.1b1-py3-none-linux_armv6l.whl |
|---|---|
| Size | 31.6 MB |
| Tags | Python 3 linux armv6l |
|
SHA-256 checksum How to use checksums |
4d18ae992f446e9c08cd3df5672011e3b7923cc0eaee3ad5f5abde6d32daf83a
|
|
BLAKE2b-256 checksum How to use checksums |
4943e88577687c9a20e16138f625bd64c12ecd56259d6111bc3d7a065ba50357
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
uv/0.12.9 {"installer":{"name":"uv","version":"0.12.9","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
|