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-2024.1.4.tar.gz (28.0 kB view details)

Uploaded Source

Built Distributions

starlark_pyo3-2024.1.4-cp312-none-win_amd64.whl (2.4 MB view details)

Uploaded CPython 3.12 Windows x86-64

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

Uploaded CPython 3.12 manylinux: glibc 2.17+ x86-64

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

Uploaded CPython 3.12 manylinux: glibc 2.17+ ARMv7l

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

Uploaded CPython 3.12 manylinux: glibc 2.17+ ARM64

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

Uploaded CPython 3.12 macOS 11.0+ ARM64

starlark_pyo3-2024.1.4-cp311-none-win_amd64.whl (2.4 MB view details)

Uploaded CPython 3.11 Windows x86-64

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

Uploaded CPython 3.11 manylinux: glibc 2.17+ x86-64

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

Uploaded CPython 3.11 manylinux: glibc 2.17+ ARMv7l

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

Uploaded CPython 3.11 manylinux: glibc 2.17+ ARM64

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

Uploaded CPython 3.11 macOS 11.0+ ARM64

starlark_pyo3-2024.1.4-cp310-none-win_amd64.whl (2.4 MB view details)

Uploaded CPython 3.10 Windows x86-64

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

Uploaded CPython 3.10 manylinux: glibc 2.17+ x86-64

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

Uploaded CPython 3.10 manylinux: glibc 2.17+ ARMv7l

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

Uploaded CPython 3.10 manylinux: glibc 2.17+ ARM64

starlark_pyo3-2024.1.4-cp310-cp310-macosx_11_0_arm64.whl (2.7 MB view details)

Uploaded CPython 3.10 macOS 11.0+ ARM64

starlark_pyo3-2024.1.4-cp39-none-win_amd64.whl (2.4 MB view details)

Uploaded CPython 3.9 Windows x86-64

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

Uploaded CPython 3.9 manylinux: glibc 2.17+ x86-64

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

Uploaded CPython 3.9 manylinux: glibc 2.17+ ARMv7l

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

Uploaded CPython 3.9 manylinux: glibc 2.17+ ARM64

starlark_pyo3-2024.1.4-cp39-cp39-macosx_11_0_arm64.whl (2.7 MB view details)

Uploaded CPython 3.9 macOS 11.0+ ARM64

File details

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

File metadata

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

File hashes

Hashes for starlark_pyo3-2024.1.4.tar.gz
Algorithm Hash digest
SHA256 24ba0744e083d2b3f41a112e80e97d334c0ca4957e591c79c8aa8e3d4e037f9b
MD5 1215bd57040de0240271ae5d6c40ec9e
BLAKE2b-256 23f0decb6623e0819d5b845c5e8f40ea528c6d3c698cab60503100ad6424777c

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for starlark_pyo3-2024.1.4-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 e7c74ff059ebd06cbc5238e2558a07edbc4fd3a447a0b051d77522c6177d7ca7
MD5 d92f1d645684d2c605a1e1b39fe02abb
BLAKE2b-256 59da7051742421321d3962319a55f7df65eb012b28a8d5fb6653b5a5716d5967

See more details on using hashes here.

File details

Details for the file starlark_pyo3-2024.1.4-pp310-pypy310_pp73-manylinux_2_17_armv7l.manylinux2014_armv7l.whl.

File metadata

File hashes

Hashes for starlark_pyo3-2024.1.4-pp310-pypy310_pp73-manylinux_2_17_armv7l.manylinux2014_armv7l.whl
Algorithm Hash digest
SHA256 c34720dce6761708f89e6a328b793277132551a28a5d35a43339fcb23acb17c8
MD5 f39b234a7f75e8b43310036fcd689824
BLAKE2b-256 cb90e3ae83f41db47a738b8fa15900cfcd41953dff83f1c839867b0ed5a1a94e

See more details on using hashes here.

File details

Details for the file starlark_pyo3-2024.1.4-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for starlark_pyo3-2024.1.4-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 5a97e26c8f23945469c9da2e1dd94d5c74d807f8928616c08caddd8263b98fd8
MD5 a17fd020150840d76eccccae4f23c1ef
BLAKE2b-256 3f1eca47bf9748c5261250e0fc46d2597237ff6ba8536fd5e5d227ac5ec78dc7

See more details on using hashes here.

File details

Details for the file starlark_pyo3-2024.1.4-pp39-pypy39_pp73-manylinux_2_17_armv7l.manylinux2014_armv7l.whl.

File metadata

File hashes

Hashes for starlark_pyo3-2024.1.4-pp39-pypy39_pp73-manylinux_2_17_armv7l.manylinux2014_armv7l.whl
Algorithm Hash digest
SHA256 ca2828eaebe602a840cf55476f6ddfe1dcdea798ed848eb97fadfe2463f120e5
MD5 125c7f69e012c0dc68f2e6701d48348b
BLAKE2b-256 a6e7912cfa3fb75223b5b984b77a68c390b897dd23ad75b4ee431473843e12ff

See more details on using hashes here.

File details

Details for the file starlark_pyo3-2024.1.4-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for starlark_pyo3-2024.1.4-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 3b74d9fa88ba98450d536717a4527cfed1a6aea37ebcc722bc5b95de9f1d09fc
MD5 f3b64b152bb430c3771b39ea8ac99e0e
BLAKE2b-256 cc20456a5293d70ae2d3c3d8b64209066d35cb53f39c1bd56e4873955877647f

See more details on using hashes here.

File details

Details for the file starlark_pyo3-2024.1.4-cp312-none-win_amd64.whl.

File metadata

File hashes

Hashes for starlark_pyo3-2024.1.4-cp312-none-win_amd64.whl
Algorithm Hash digest
SHA256 979657bc77913ecdbdca4ef35094c3cd3633f61c847d4f6c879210a6d1b2172e
MD5 2a6c48a792f7b0dc22589d5535e800c5
BLAKE2b-256 4c7f1736db7430a5c1fe48b291d797a220bb9a69a0c7a7679d208e8b39f00b64

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for starlark_pyo3-2024.1.4-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 2a6fb3e37da44b075d5715619ca1b960ffb50b0aeb120bf9e4a04315e704afd9
MD5 f9461952c4d5776e7aa72260c6bbd3f8
BLAKE2b-256 a7ba251cae322a2cf69c0daaaaab348432a556cea48793ea0d070a1c0cdc4198

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for starlark_pyo3-2024.1.4-cp312-cp312-manylinux_2_17_armv7l.manylinux2014_armv7l.whl
Algorithm Hash digest
SHA256 2655bf86755056c8d54c065929aa635880ecd698b125da567e0640750de0d851
MD5 9d5aca43e5edf887a63baff2686060f2
BLAKE2b-256 265879f9efd8c03782f1f9b4bd019629aadac403d630b3891066fe5558bd0156

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for starlark_pyo3-2024.1.4-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 5bd222787ef11c1bb2a2c255a301238a63a988cf25864945419a6965905ac523
MD5 5c0b616852eb6e804d0d24c40899b8d1
BLAKE2b-256 26799a31dd1147c3fe8a1c7af629ded90896face442496f0f2c23dda1f8b6a59

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for starlark_pyo3-2024.1.4-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 9432b12c48d0f4c49367b2def168ab74627bd82e95bbe4f4dd9a8656ce7a91c4
MD5 68ddec8b79310c25f2779b7ddbbe0d02
BLAKE2b-256 22dd067424567f8339869a2c4431244fde09346930523e021e3e7d0cf1581b75

See more details on using hashes here.

File details

Details for the file starlark_pyo3-2024.1.4-cp311-none-win_amd64.whl.

File metadata

File hashes

Hashes for starlark_pyo3-2024.1.4-cp311-none-win_amd64.whl
Algorithm Hash digest
SHA256 b512e0e538d95ecf12787c1ab3f7886e615d71de687429c4dce59a23fea450dc
MD5 b2c5ea3fa34d4f4422c8476795390216
BLAKE2b-256 3edfff98a4b13091989e582564dc9fd00d3edb27697d043929239397810922e0

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for starlark_pyo3-2024.1.4-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 4116a17a741e60c8eea9b5683e73a538424a7dcce441631486dde52fe08e252e
MD5 cdcfb9d68e62914581efd472eb1bd17f
BLAKE2b-256 5c8df42e0cf000d96d042289cfcb4051422c564b8e50d15295cbd7a286b8aa43

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for starlark_pyo3-2024.1.4-cp311-cp311-manylinux_2_17_armv7l.manylinux2014_armv7l.whl
Algorithm Hash digest
SHA256 8430f3582aaeec6e13cd08a385e587215d5661966f40d4c534b6fad53014f826
MD5 d51af92a887f772ecd7806a06f42b5b1
BLAKE2b-256 2549b67c2d6d0218980de73a8bfc4e6557e376d814abfbb32d0d0dbcef49a7f5

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for starlark_pyo3-2024.1.4-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 738dbc93a1893404804cdb619ba562f3dddc396c334abe1e7d37109d8ee94eff
MD5 6d97d8b7bcaa476e486ab2afca7df967
BLAKE2b-256 a95f752b3bd0af170337ce2f583cd2a4c1309e5fc06107923db783d07d440bde

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for starlark_pyo3-2024.1.4-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 39e2bd74af957ed383e4c1cf3e1b9836f9d078fc69a9a204627d7ad85f416f8b
MD5 b34436108b8085f8e210bae892bbdf6d
BLAKE2b-256 8a1a65dd2a00c849f63329cd4fb8e639b2d6006b2cf777202742420553450128

See more details on using hashes here.

File details

Details for the file starlark_pyo3-2024.1.4-cp310-none-win_amd64.whl.

File metadata

File hashes

Hashes for starlark_pyo3-2024.1.4-cp310-none-win_amd64.whl
Algorithm Hash digest
SHA256 62d7d254d93514ff79d41cc2098f4c52b0fe9b1113bcbc9edb5fbd6c0ec01f91
MD5 b1043155deec0100ae56108cc277ec96
BLAKE2b-256 27515c1aaf05d2ef6ed4828e1601995da52800bf626ad83c638231aa52aba669

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for starlark_pyo3-2024.1.4-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 839444bca8c9de9f9c62c20ec8e4888e64c74f57dfd63ca0d6c59310baefc6d7
MD5 160479845558ca651d85227111b286e8
BLAKE2b-256 f1467d49fb891922bf6317fcc88142c250e8fbe69113728d395349f474b400be

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for starlark_pyo3-2024.1.4-cp310-cp310-manylinux_2_17_armv7l.manylinux2014_armv7l.whl
Algorithm Hash digest
SHA256 2e7c089e42c043be4d05959a8c667da376fa6f4345bf151fe2e5476c44c9769e
MD5 84409d3cd518635f491e1fdeb62ef66c
BLAKE2b-256 cb70525f4208fce054dee5c25b9acdc3dbc5fa2480df752f5fdb62323ea370de

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for starlark_pyo3-2024.1.4-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 76bbf66fd641f26d24bba199473cc4eaf2a71a36661995837eefe00a8904a6f8
MD5 6b79d4a4cd04418e3ea7fda7587ab923
BLAKE2b-256 6ea79b80d85cd95701ca261b304e4bf292658162cebdccd91b32dffc563baaf8

See more details on using hashes here.

File details

Details for the file starlark_pyo3-2024.1.4-cp310-cp310-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for starlark_pyo3-2024.1.4-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 e9b08d96f577174a112521dc4690e4635bc422e8a4d2a91572f3bcb986a26b11
MD5 4e855eaa3041386656ca5e1fcc6e0831
BLAKE2b-256 625914bafe07ac1c7545a31067bfcf06a84de3a46e0b8384df194bce65b2cc09

See more details on using hashes here.

File details

Details for the file starlark_pyo3-2024.1.4-cp39-none-win_amd64.whl.

File metadata

File hashes

Hashes for starlark_pyo3-2024.1.4-cp39-none-win_amd64.whl
Algorithm Hash digest
SHA256 a135500de4515c8bbc801470a5abb8acc67d5901c0f87e075df7809ecdf0152f
MD5 720e566b6f44a895629c50f29537c80f
BLAKE2b-256 dc88f42da81dd7f288dd304669d86f027a3958599510479bdfb5fd39a56e5b99

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for starlark_pyo3-2024.1.4-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 434151cf299397e5290629c6c6d6a7f92301a368eca61866f5ca9bdd1c57c397
MD5 eb6c79f94a31764dad60f9e56f512910
BLAKE2b-256 d2ac7893c679c653370bc8cbcc0bf4240f33d3e93af65e23368758fb8d6d4f72

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for starlark_pyo3-2024.1.4-cp39-cp39-manylinux_2_17_armv7l.manylinux2014_armv7l.whl
Algorithm Hash digest
SHA256 6c0df2e94c6a20bd48c14ae7d29cd676419ec3dab32b57806fb5d4107a9e8775
MD5 fa7c29bc790e7e36f11d432c2a5d506b
BLAKE2b-256 c4f6c7bf896bf82d608eab7bbc93e2e25b5cf311bc28225527ffce0802a48d60

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for starlark_pyo3-2024.1.4-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 06699584dab41ffb7a088edf5fa8cec8f2d44bd8776cfb87aa26ce31f3a87e9a
MD5 9c2aeadffa7256a21796ed6626701126
BLAKE2b-256 88b4f071f5a7077d8fa59756a1710a6e4427207a5d635c87e814d43d3ec274ba

See more details on using hashes here.

File details

Details for the file starlark_pyo3-2024.1.4-cp39-cp39-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for starlark_pyo3-2024.1.4-cp39-cp39-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 a398db3060d4f52dac14603e1b4c5be02d2de933173f1595f8e6f32409319ccc
MD5 26afccdee643b3303f20393cdf298cfc
BLAKE2b-256 113f111e3b0826655ce7ab0086d46790e19984979ece1cda19fac14ff3612a3a

See more details on using hashes here.

Supported by

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