Skip to main content
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)

Source distribution for basedpython 0.0.1b1
File Size Uploaded
basedpython-0.0.1b1.tar.gz 14.3 MB Details

Built distributions (wheels)

Table of built distributions (wheels) for basedpython 0.0.1b1
File
basedpython-0.0.1b1-py3-none-win_arm64.whl Python 3 none Windows ARM64 Details
basedpython-0.0.1b1-py3-none-win_amd64.whl Python 3 none Windows x86-64 Details
basedpython-0.0.1b1-py3-none-win32.whl Python 3 none Windows x86-32 Details
basedpython-0.0.1b1-py3-none-musllinux_1_2_x86_64.whl Python 3 none Linux musl 1.2+ x86-64 Details
basedpython-0.0.1b1-py3-none-musllinux_1_2_i686.whl Python 3 none Linux musl 1.2+ x86-32 Details
basedpython-0.0.1b1-py3-none-musllinux_1_2_armv7l.whl Python 3 none Linux musl 1.2+ ARMv7l Details
basedpython-0.0.1b1-py3-none-musllinux_1_2_aarch64.whl Python 3 none Linux musl 1.2+ ARM64 Details
basedpython-0.0.1b1-py3-none-manylinux_2_31_riscv64.whl Python 3 none Linux glibc 2.31+ RISC-V 64 Details
basedpython-0.0.1b1-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl Python 3 none Linux glibc 2.17+ x86-64 Details
basedpython-0.0.1b1-py3-none-manylinux_2_17_s390x.manylinux2014_s390x.whl Python 3 none Linux glibc 2.17+ IBM System/390x Details
basedpython-0.0.1b1-py3-none-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl Python 3 none Linux glibc 2.17+ PowerPC 64-le Details
basedpython-0.0.1b1-py3-none-manylinux_2_17_i686.manylinux2014_i686.whl Python 3 none Linux glibc 2.17+ x86-32 Details
basedpython-0.0.1b1-py3-none-manylinux_2_17_armv7l.manylinux2014_armv7l.whl Python 3 none Linux glibc 2.17+ ARMv7l Details
basedpython-0.0.1b1-py3-none-macosx_11_0_arm64.whl Python 3 none macOS 11.0+ ARM64 Details
basedpython-0.0.1b1-py3-none-macosx_10_12_x86_64.whl Python 3 none macOS 10.12+ x86-64 Details
basedpython-0.0.1b1-py3-none-linux_armv6l.whl Python 3 none linux armv6l Details

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}
Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page