Skip to main content

Wraps starlark-rust into Python

Project description

Github Build Status Python Package Index Release Page

This package provides a sandboxed/restricted Python-like environment by exposing the starlark-rust interpreter for the Starlark Python-like language to Python via PyO3.

Starlark claims the following design principles:

  • Deterministic evaluation. Executing the same code twice will give the same results.

  • Hermetic execution. Execution cannot access the file system, network, system clock. It is safe to execute untrusted code.

  • Parallel evaluation. Modules can be loaded in parallel. To guarantee a thread-safe execution, shared data becomes immutable.

  • Simplicity. We try to limit the number of concepts needed to understand the code. Users should be able to quickly read and write code, even if they are not expert. The language should avoid pitfalls as much as possible.

  • Focus on tooling. We recognize that the source code will be read, analyzed, modified, by both humans and tools.

  • Python-like. Python is a widely used language. Keeping the language similar to Python can reduce the learning curve and make the semantics more obvious to users.

Status: This is reasonably complete and usable.

Installation

To install, say:

pip install starlark-pyo3

Binary wheels are available for all major platforms. The module is importable as starlark.

Installation for Development

To use this, make sure you have nightly rust available:

curl –proto ‘=https’ –tlsv1.2 -sSf https://sh.rustup.rs \| sh rustup
default nightly

Then, to install into the current Python virtual environment:

pip install maturin
maturin develop

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

starlark_pyo3-2025.1.tar.gz (28.8 kB view details)

Uploaded Source

Built Distributions

starlark_pyo3-2025.1-pp311-pypy311_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (3.3 MB view details)

Uploaded PyPymanylinux: glibc 2.17+ x86-64

starlark_pyo3-2025.1-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (3.3 MB view details)

Uploaded PyPymanylinux: glibc 2.17+ x86-64

starlark_pyo3-2025.1-cp313-cp313-win_amd64.whl (2.3 MB view details)

Uploaded CPython 3.13Windows x86-64

starlark_pyo3-2025.1-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (3.3 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.17+ x86-64

starlark_pyo3-2025.1-cp313-cp313-manylinux_2_17_armv7l.manylinux2014_armv7l.whl (3.0 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.17+ ARMv7l

starlark_pyo3-2025.1-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (3.2 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.17+ ARM64

starlark_pyo3-2025.1-cp313-cp313-macosx_11_0_arm64.whl (2.7 MB view details)

Uploaded CPython 3.13macOS 11.0+ ARM64

starlark_pyo3-2025.1-cp312-cp312-win_amd64.whl (2.3 MB view details)

Uploaded CPython 3.12Windows x86-64

starlark_pyo3-2025.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (3.3 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ x86-64

starlark_pyo3-2025.1-cp312-cp312-manylinux_2_17_armv7l.manylinux2014_armv7l.whl (3.0 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ ARMv7l

starlark_pyo3-2025.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (3.2 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ ARM64

starlark_pyo3-2025.1-cp312-cp312-macosx_11_0_arm64.whl (2.7 MB view details)

Uploaded CPython 3.12macOS 11.0+ ARM64

starlark_pyo3-2025.1-cp311-cp311-win_amd64.whl (2.3 MB view details)

Uploaded CPython 3.11Windows x86-64

starlark_pyo3-2025.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (3.3 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ x86-64

starlark_pyo3-2025.1-cp311-cp311-manylinux_2_17_armv7l.manylinux2014_armv7l.whl (3.0 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ ARMv7l

starlark_pyo3-2025.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (3.2 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ ARM64

starlark_pyo3-2025.1-cp311-cp311-macosx_11_0_arm64.whl (2.7 MB view details)

Uploaded CPython 3.11macOS 11.0+ ARM64

starlark_pyo3-2025.1-cp310-cp310-win_amd64.whl (2.3 MB view details)

Uploaded CPython 3.10Windows x86-64

starlark_pyo3-2025.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (3.3 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ x86-64

starlark_pyo3-2025.1-cp310-cp310-manylinux_2_17_armv7l.manylinux2014_armv7l.whl (3.0 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ ARMv7l

starlark_pyo3-2025.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (3.2 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ ARM64

starlark_pyo3-2025.1-cp39-cp39-win_amd64.whl (2.3 MB view details)

Uploaded CPython 3.9Windows x86-64

starlark_pyo3-2025.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (3.3 MB view details)

Uploaded CPython 3.9manylinux: glibc 2.17+ x86-64

starlark_pyo3-2025.1-cp39-cp39-manylinux_2_17_armv7l.manylinux2014_armv7l.whl (3.0 MB view details)

Uploaded CPython 3.9manylinux: glibc 2.17+ ARMv7l

starlark_pyo3-2025.1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (3.2 MB view details)

Uploaded CPython 3.9manylinux: glibc 2.17+ ARM64

File details

Details for the file starlark_pyo3-2025.1.tar.gz.

File metadata

  • Download URL: starlark_pyo3-2025.1.tar.gz
  • Upload date:
  • Size: 28.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: maturin/1.8.3

File hashes

Hashes for starlark_pyo3-2025.1.tar.gz
Algorithm Hash digest
SHA256 f575157d3e734b6b6b816cdb7cb77085052616477106d6dbfd740338887b8166
MD5 57b9077d66605b3edb4e7a37805f93a3
BLAKE2b-256 5a93738902907b96fcfcfe818b640b35f0755ab84c9c650f3d6c0598cd580e19

See more details on using hashes here.

File details

Details for the file starlark_pyo3-2025.1-pp311-pypy311_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for starlark_pyo3-2025.1-pp311-pypy311_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 17f1d82612742ad9cdd7b3b3f6f367c785002c0849054592d326b21adca0144e
MD5 59d9128c17186488086af921a4024d6e
BLAKE2b-256 16687d06b46629ca6492e32cc4fe4ce39b91f7bdba7a20b5d8c5f0f498829d08

See more details on using hashes here.

File details

Details for the file starlark_pyo3-2025.1-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for starlark_pyo3-2025.1-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 a92d51c7db524cc0f3d81776b5aee626c76ffad57426f8a128381c98c53e3c03
MD5 78df974b62a9ce8e506893277fcb64a8
BLAKE2b-256 3ef7832075b3969a6702a792f9c979bf516c075a950a7f4dc0ed3a3530d20935

See more details on using hashes here.

File details

Details for the file starlark_pyo3-2025.1-cp313-cp313-win_amd64.whl.

File metadata

File hashes

Hashes for starlark_pyo3-2025.1-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 639e58128e1391eacfa21976ec93aad7481063b28e4a1febae23bb00e4ddbdda
MD5 8884cf3baa2cd64b141e4eb559a4f22a
BLAKE2b-256 8c98fecfa2cc905ade585bf155e328be684f9f388f916c1ba00b9db51e74fc16

See more details on using hashes here.

File details

Details for the file starlark_pyo3-2025.1-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for starlark_pyo3-2025.1-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 338aa14a2bee640121c9718a3d6e683404c3e535b3c6617a565bdb576e6ae4a6
MD5 8e48011c7d3c7433e16e9916e2f8db24
BLAKE2b-256 0619cc15f42743aa2622a486b50329fe3fc3098d31d0e4fa0e608e23987a664a

See more details on using hashes here.

File details

Details for the file starlark_pyo3-2025.1-cp313-cp313-manylinux_2_17_armv7l.manylinux2014_armv7l.whl.

File metadata

File hashes

Hashes for starlark_pyo3-2025.1-cp313-cp313-manylinux_2_17_armv7l.manylinux2014_armv7l.whl
Algorithm Hash digest
SHA256 67309075565d558360134444813e360e944c0a7b3da020c634b9558181fc0838
MD5 4faf9ff78843f921d3c9ad32c2481b52
BLAKE2b-256 652200fceae6fd788d0d38642e384bf2388d14cb4fddd78916ec261938117451

See more details on using hashes here.

File details

Details for the file starlark_pyo3-2025.1-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for starlark_pyo3-2025.1-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 0d16927a025e9b8ce716ec0f6fb05ec9cd2653d765f5207e2bac9742255c782a
MD5 75ad28f71a51a01e76f3a7415491de0e
BLAKE2b-256 e00de5ff92e6f2fdde4d39ad2417036a08b644961676f26116f305b8207fddd5

See more details on using hashes here.

File details

Details for the file starlark_pyo3-2025.1-cp313-cp313-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for starlark_pyo3-2025.1-cp313-cp313-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 b2bc3842041cae6888783a97999c2d2dd4a1e211f23478f331e934c549927f5d
MD5 cefef0b257819ceff4620a8bfb3cb49d
BLAKE2b-256 4e8b3cd85c8f16ab44da1a71201c16b5856fa2ec8e428ddecacf4497403c8b53

See more details on using hashes here.

File details

Details for the file starlark_pyo3-2025.1-cp312-cp312-win_amd64.whl.

File metadata

File hashes

Hashes for starlark_pyo3-2025.1-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 08fbdb33d10118684b3d1834a732fed32c4cd76ce18041249a4d5dd10f913809
MD5 ad6296a9ed076bea3c53bdd254e2665a
BLAKE2b-256 3d990515eea1c4ede468a7599cfbf92c657fbd34f1eb460c205022194fde5326

See more details on using hashes here.

File details

Details for the file starlark_pyo3-2025.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for starlark_pyo3-2025.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 e781919442732ec17b51358bcdac02b4162f0b708fa0cfe332d4676ecf7b6760
MD5 1e79f85de910badec98bb4363d14414f
BLAKE2b-256 02f6b0b93d774ad40cf1f3cbf305072ce052af669426bf2d52d90da250a8c920

See more details on using hashes here.

File details

Details for the file starlark_pyo3-2025.1-cp312-cp312-manylinux_2_17_armv7l.manylinux2014_armv7l.whl.

File metadata

File hashes

Hashes for starlark_pyo3-2025.1-cp312-cp312-manylinux_2_17_armv7l.manylinux2014_armv7l.whl
Algorithm Hash digest
SHA256 d9809bb8d2bde966eb2f63d2412b5c628f12e8e1126abbfacb172301d44fea94
MD5 5509c2cf0ef1c8abb1328ad62418a3e5
BLAKE2b-256 63b47b7d82342e619d1141ff7bbebb0e6559906ea16522643feda022e32d1092

See more details on using hashes here.

File details

Details for the file starlark_pyo3-2025.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for starlark_pyo3-2025.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 2c0e505cc54a2bd0bf8a47fd1b8bf26b31c9c106dfd60e5a0feaa048b9860913
MD5 04682140a4f4a7d697cc220f3ee7cc43
BLAKE2b-256 9957f50767fbde16347eacf4d5f779703cca99053813606bc931be0626156a61

See more details on using hashes here.

File details

Details for the file starlark_pyo3-2025.1-cp312-cp312-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for starlark_pyo3-2025.1-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 650bd5ae2b83cf5532dfc2407a19dd85a835dd5d1a272b21ef74ec6a4685dc78
MD5 391697523875b2b493d39131f4d2afe6
BLAKE2b-256 1f2b8151bcda33b8297d997a481d51c6f5646bd3343168c5768b2097c14e5a38

See more details on using hashes here.

File details

Details for the file starlark_pyo3-2025.1-cp311-cp311-win_amd64.whl.

File metadata

File hashes

Hashes for starlark_pyo3-2025.1-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 652970194bbf77c848591d3709864600c013baffab3399747920fd1bfebb99a1
MD5 b86f1cbe91b8adaa1435b9fe04f8d9b1
BLAKE2b-256 d81a9ee1cb00af9103b4fcc67341eba43a98ea451d58810f4e3d1683c0b5ce0d

See more details on using hashes here.

File details

Details for the file starlark_pyo3-2025.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for starlark_pyo3-2025.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 20047177abb0200c15f4558840d11b57749e8314d2912d146064a034fc2b6039
MD5 eec67daf49303f25517da3ad64796522
BLAKE2b-256 47e1f7365305e0b64cc022f1d80f61a45328119ec2e236e37f32138646166e8f

See more details on using hashes here.

File details

Details for the file starlark_pyo3-2025.1-cp311-cp311-manylinux_2_17_armv7l.manylinux2014_armv7l.whl.

File metadata

File hashes

Hashes for starlark_pyo3-2025.1-cp311-cp311-manylinux_2_17_armv7l.manylinux2014_armv7l.whl
Algorithm Hash digest
SHA256 83341277754a0c8d28ec8e1d9ac0dfea4c6b7c526b5b7820f6c8ff1f84550dbc
MD5 d57443e9c96fcbc72aae71a572ddb8f7
BLAKE2b-256 2023728d94310daa010465ffd1a127063f68fbfc8d0f8df7121935d860bd8500

See more details on using hashes here.

File details

Details for the file starlark_pyo3-2025.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for starlark_pyo3-2025.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 2f1cfe464bba2fb170e0cef8757e721f4f6a2002bc44d04ae629fba90a326c3f
MD5 4ec7f6ee747aceca143cd05a97e06984
BLAKE2b-256 f8c6c881abe3954e1c710e91f7ba0f385c789160b624413e773908ee4854d78f

See more details on using hashes here.

File details

Details for the file starlark_pyo3-2025.1-cp311-cp311-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for starlark_pyo3-2025.1-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 837ae3e708be6723d76847457c59568cf1582c619642542d7d561ac48ffe6ccc
MD5 273458685610efadd30dfecdd8fd4b1e
BLAKE2b-256 7890c892905fcdb0152867e3642b586c21696466cb848f38d2b980b78a2e7949

See more details on using hashes here.

File details

Details for the file starlark_pyo3-2025.1-cp310-cp310-win_amd64.whl.

File metadata

File hashes

Hashes for starlark_pyo3-2025.1-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 0078fc945e104a2f93a3bd200427490d85ab31d349a8b51a5abddadb85550ac9
MD5 f41ae1937089ced08dd0f98c5bddd107
BLAKE2b-256 e6d41b217822cf9f75f1556058228dde27af5f46d80be960ce414d8fca9fa3d7

See more details on using hashes here.

File details

Details for the file starlark_pyo3-2025.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for starlark_pyo3-2025.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 e800e5f53c3c2a581954c0086d28ccd6b42cfe456d94d1799a9926835478395a
MD5 bd68c8996e0dec88ade74fee67f8db46
BLAKE2b-256 dc65cbefe4a8a6deee131d22d24e99316b0ba399af2e192a475238e30538969a

See more details on using hashes here.

File details

Details for the file starlark_pyo3-2025.1-cp310-cp310-manylinux_2_17_armv7l.manylinux2014_armv7l.whl.

File metadata

File hashes

Hashes for starlark_pyo3-2025.1-cp310-cp310-manylinux_2_17_armv7l.manylinux2014_armv7l.whl
Algorithm Hash digest
SHA256 8e0435b3c77631347ca656e2d6195a8884e0436bc311a5a8e2afe8173ab7fee0
MD5 864f4a892cf2381830b67f663a8f34cc
BLAKE2b-256 2c5422c9b5b682a2721fc0d928876bc7c53da61e73a6bba809338e6bef7f1f97

See more details on using hashes here.

File details

Details for the file starlark_pyo3-2025.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for starlark_pyo3-2025.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 1e7ea0510d05c03232be4ea84fb410846be25f460111aad85b2165ef774e8184
MD5 44c77ef99705e30a5db58657810b9e12
BLAKE2b-256 05b4fc57380056df366ac351da6a79865a4e9aa0cddc44c9bc23d6f38dc12fb5

See more details on using hashes here.

File details

Details for the file starlark_pyo3-2025.1-cp39-cp39-win_amd64.whl.

File metadata

File hashes

Hashes for starlark_pyo3-2025.1-cp39-cp39-win_amd64.whl
Algorithm Hash digest
SHA256 53a1cdb30d40e10990c870d3c4e984c90fa9f89043df87e2b25c80affbbb8e1b
MD5 aac3c9dad6589ead1d065d1139d1ae58
BLAKE2b-256 bd0273e54fa5529eef449ee7eebfa7d07a03a7d6b40bc3e32ecfbd938fd47c24

See more details on using hashes here.

File details

Details for the file starlark_pyo3-2025.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for starlark_pyo3-2025.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 e390d31430911e3a0136979d824e4d663379d49803b34aaa455542aa3274088d
MD5 06d4a99435b55a524379c071800ed211
BLAKE2b-256 a922a38b1b62b7a1847e011b550d44cfd91b150e2c9abc234f984848d659e1de

See more details on using hashes here.

File details

Details for the file starlark_pyo3-2025.1-cp39-cp39-manylinux_2_17_armv7l.manylinux2014_armv7l.whl.

File metadata

File hashes

Hashes for starlark_pyo3-2025.1-cp39-cp39-manylinux_2_17_armv7l.manylinux2014_armv7l.whl
Algorithm Hash digest
SHA256 483322c45da94e44cfeaa7ddc7feaef1501f430e16f960b44f7f571cfcc11878
MD5 8dd698929d3d65607276329197529db2
BLAKE2b-256 73b851277e5a390dc1475b39c48383cd6df9296ac50f09fdd0ed3d430bd387e8

See more details on using hashes here.

File details

Details for the file starlark_pyo3-2025.1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for starlark_pyo3-2025.1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 3cf729fa46db9561e1a240e9426c6011871a3ea642dfd03268d6815dae8e6493
MD5 b6ef32fd1db8029142b3250040c13e66
BLAKE2b-256 f11fc1930ec1bdf913dcda581a7f805deeaa7ab4aeb5ae1c848f6c173a02b9ef

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page