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

Uploaded Source

Built Distributions

starlark_pyo3-2023.1-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (3.5 MB view details)

Uploaded PyPy manylinux: glibc 2.17+ x86-64

starlark_pyo3-2023.1-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (3.5 MB view details)

Uploaded PyPy manylinux: glibc 2.17+ x86-64

starlark_pyo3-2023.1-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (3.5 MB view details)

Uploaded PyPy manylinux: glibc 2.17+ x86-64

starlark_pyo3-2023.1-pp37-pypy37_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (3.5 MB view details)

Uploaded PyPy manylinux: glibc 2.17+ x86-64

starlark_pyo3-2023.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (3.5 MB view details)

Uploaded CPython 3.12 manylinux: glibc 2.17+ x86-64

starlark_pyo3-2023.1-cp311-none-win_amd64.whl (1.9 MB view details)

Uploaded CPython 3.11 Windows x86-64

starlark_pyo3-2023.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (3.5 MB view details)

Uploaded CPython 3.11 manylinux: glibc 2.17+ x86-64

starlark_pyo3-2023.1-cp311-cp311-macosx_10_9_x86_64.macosx_11_0_arm64.macosx_10_9_universal2.whl (4.3 MB view details)

Uploaded CPython 3.11 macOS 10.9+ universal2 (ARM64, x86-64) macOS 10.9+ x86-64 macOS 11.0+ ARM64

starlark_pyo3-2023.1-cp310-none-win_amd64.whl (1.9 MB view details)

Uploaded CPython 3.10 Windows x86-64

starlark_pyo3-2023.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (3.5 MB view details)

Uploaded CPython 3.10 manylinux: glibc 2.17+ x86-64

starlark_pyo3-2023.1-cp310-cp310-macosx_10_9_x86_64.macosx_11_0_arm64.macosx_10_9_universal2.whl (4.3 MB view details)

Uploaded CPython 3.10 macOS 10.9+ universal2 (ARM64, x86-64) macOS 10.9+ x86-64 macOS 11.0+ ARM64

starlark_pyo3-2023.1-cp39-none-win_amd64.whl (1.9 MB view details)

Uploaded CPython 3.9 Windows x86-64

starlark_pyo3-2023.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (3.5 MB view details)

Uploaded CPython 3.9 manylinux: glibc 2.17+ x86-64

starlark_pyo3-2023.1-cp39-cp39-macosx_10_9_x86_64.macosx_11_0_arm64.macosx_10_9_universal2.whl (4.3 MB view details)

Uploaded CPython 3.9 macOS 10.9+ universal2 (ARM64, x86-64) macOS 10.9+ x86-64 macOS 11.0+ ARM64

starlark_pyo3-2023.1-cp38-none-win_amd64.whl (1.9 MB view details)

Uploaded CPython 3.8 Windows x86-64

starlark_pyo3-2023.1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (3.5 MB view details)

Uploaded CPython 3.8 manylinux: glibc 2.17+ x86-64

starlark_pyo3-2023.1-cp38-cp38-macosx_10_9_x86_64.macosx_11_0_arm64.macosx_10_9_universal2.whl (4.3 MB view details)

Uploaded CPython 3.8 macOS 10.9+ universal2 (ARM64, x86-64) macOS 10.9+ x86-64 macOS 11.0+ ARM64

starlark_pyo3-2023.1-cp37-none-win_amd64.whl (1.9 MB view details)

Uploaded CPython 3.7 Windows x86-64

starlark_pyo3-2023.1-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (3.5 MB view details)

Uploaded CPython 3.7m manylinux: glibc 2.17+ x86-64

starlark_pyo3-2023.1-cp37-cp37m-macosx_10_9_x86_64.macosx_11_0_arm64.macosx_10_9_universal2.whl (4.3 MB view details)

Uploaded CPython 3.7m macOS 10.9+ universal2 (ARM64, x86-64) macOS 10.9+ x86-64 macOS 11.0+ ARM64

File details

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

File metadata

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

File hashes

Hashes for starlark_pyo3-2023.1.tar.gz
Algorithm Hash digest
SHA256 29d0c40a0a4a4bb1cb5276543b00c2c8fc2b50572191749689aedc800d8ff58b
MD5 c1bf8e54ec25c63a97beb7e428c32646
BLAKE2b-256 c9900fd14cf271a7e3cf22b888c33fa37176e7dccf57ddbc067c58fcf2ef65bc

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for starlark_pyo3-2023.1-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 edb40d650e79f65b546aec0408a91ca9111d11499821ec312fb330b163186149
MD5 6815ec5892451ea810ab9e07a5a6cf95
BLAKE2b-256 01ffc8ed56f51a39c6d3de01393551bd5af304482c1aec145ef84ae8773b8809

See more details on using hashes here.

File details

Details for the file starlark_pyo3-2023.1-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for starlark_pyo3-2023.1-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 cc7d0c8192c020012fc4b6bd43823e7efbf6af5135c2f42c6e9844493377201a
MD5 20106ec75950803a4dcb5a6934b54d13
BLAKE2b-256 66ce819db1eb0cdff7f261d3f398d0db9345be54155f605608ac328ca2a7a70d

See more details on using hashes here.

File details

Details for the file starlark_pyo3-2023.1-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for starlark_pyo3-2023.1-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 98ccf6baa5383d39fb5b14a096e89ae77b21f0eec6c39bfedff910a04ccc919c
MD5 ec802de780f03453b160e08cbc8b9940
BLAKE2b-256 044c215e21ca09c3d881249e1a698f2ad5027e850224dbef8961a8c1d06a63d0

See more details on using hashes here.

File details

Details for the file starlark_pyo3-2023.1-pp37-pypy37_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for starlark_pyo3-2023.1-pp37-pypy37_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 0ac7defc9b2d961fe931652602cbf65cefaa3faaf209f2aaab9af6b07ca7164f
MD5 095467e75a42d4d103fe40955cc1bc31
BLAKE2b-256 53aac3c236d5e0666ff57fa103461537504aaf44fa7dd543af4be85d86f183b1

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for starlark_pyo3-2023.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 93c4a28d94a86c7c4d3865349eccfcf712a7d3cb8131cd4da82a8f0cc4ebe289
MD5 d7d5496a71c4920059bba79009d3dd80
BLAKE2b-256 0713f1a3271f793bf9a39b8bd833f0bac21deace1fc19abae5b245e3e17bc88e

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for starlark_pyo3-2023.1-cp311-none-win_amd64.whl
Algorithm Hash digest
SHA256 2a1dc7b2aa3bae0ced1d43f84e285902bebdf4c987ba3a6917415770d2d46be6
MD5 2af4e664e8e225cc0a6ef7dbce01010a
BLAKE2b-256 451acaeb93a297a7a3129c2d43ba86e7ec854dd706f4e7bab479c7763c0c8915

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for starlark_pyo3-2023.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 4eb2b4a8aedaffa0c7bfae4f935db5b67552a0781f4b5e29c5b312465f659ee5
MD5 47ad227441b11fe5b2f70baffd1d3610
BLAKE2b-256 c3e50009852d307ecc15c169158e9ba70ae87df952e41b963d27fe79e0395ae9

See more details on using hashes here.

File details

Details for the file starlark_pyo3-2023.1-cp311-cp311-macosx_10_9_x86_64.macosx_11_0_arm64.macosx_10_9_universal2.whl.

File metadata

File hashes

Hashes for starlark_pyo3-2023.1-cp311-cp311-macosx_10_9_x86_64.macosx_11_0_arm64.macosx_10_9_universal2.whl
Algorithm Hash digest
SHA256 97a88f819581e02e5edebd384b146b2b123d37ad5f29c10fc70a4fc5b723ccf4
MD5 b53c9beb9b1688f63fb9209b9d38f39d
BLAKE2b-256 141a259d2572e4cf3a2fbe267559a578d6bc5a9648a390c42543a4e0e42bb3c8

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for starlark_pyo3-2023.1-cp310-none-win_amd64.whl
Algorithm Hash digest
SHA256 4b8c5cabddd5daf565ab8335978900e17d2662b0408fb1d52dc51765cc9aff68
MD5 9a97adc5f859c452c006cbdf4caf0999
BLAKE2b-256 1f1b0c4039188f841bdd2eda7e98d4dc076ef923df9f792bb8d0e1293b31221f

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for starlark_pyo3-2023.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 cc4e7bb0ac3c1fe9de8f2d0f7c3349c84b28c65c15aa905d57a7e915148f7482
MD5 9fcb1647054c5ce09ffe01e2462b691d
BLAKE2b-256 9e96303834607c99a5f896158e42ee5e73553e9c50dab4b66bbad7d0eb5eaa79

See more details on using hashes here.

File details

Details for the file starlark_pyo3-2023.1-cp310-cp310-macosx_10_9_x86_64.macosx_11_0_arm64.macosx_10_9_universal2.whl.

File metadata

File hashes

Hashes for starlark_pyo3-2023.1-cp310-cp310-macosx_10_9_x86_64.macosx_11_0_arm64.macosx_10_9_universal2.whl
Algorithm Hash digest
SHA256 b2811b42d6e1674a385a1572b1da124d71ecd1299f5e52a28a1a68d7fa66cba3
MD5 afc2409637d5fb5a837fe507ce0cb82b
BLAKE2b-256 1a17a5761381cc4627a7f69ce3dc392838014f86fe6fac5472a9f6e102e42301

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for starlark_pyo3-2023.1-cp39-none-win_amd64.whl
Algorithm Hash digest
SHA256 43927e78500703db091fcb958a529fe4d976f58bf44a21a92cad0aa73376cc90
MD5 2eb33434af43a905dd5e6ab8ce3f452d
BLAKE2b-256 23b13b3a98162b39a1978758a0d0b3a00e6c02cf2019509fe2c30a2ef7938243

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for starlark_pyo3-2023.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 4f479154fba9f381484e45f00be483d5082ccc04eceb95230e1b28dc3a9fc9f6
MD5 e0410147f400022857cfefba99ad2264
BLAKE2b-256 d36667cb35bc58d35b4821418da3b54fa604898d5f8907e49f809abbf2d2c765

See more details on using hashes here.

File details

Details for the file starlark_pyo3-2023.1-cp39-cp39-macosx_10_9_x86_64.macosx_11_0_arm64.macosx_10_9_universal2.whl.

File metadata

File hashes

Hashes for starlark_pyo3-2023.1-cp39-cp39-macosx_10_9_x86_64.macosx_11_0_arm64.macosx_10_9_universal2.whl
Algorithm Hash digest
SHA256 f4ae87d3bc554af068a64020b5d99f4c92f3ea3c7aa7af4ad62a8ab67e6d776c
MD5 796bca09a4b5b57346127a4bfe46afab
BLAKE2b-256 e65112a8ded562477b362b5d246970bf0df91d084b0bc2df0af823fdae84a347

See more details on using hashes here.

File details

Details for the file starlark_pyo3-2023.1-cp38-none-win_amd64.whl.

File metadata

File hashes

Hashes for starlark_pyo3-2023.1-cp38-none-win_amd64.whl
Algorithm Hash digest
SHA256 4430a3c4e3fc76afbdf551389d0e70a0430694caffeb0f2f0e78e00c25921c86
MD5 82f4db0df05f4417df808dac27e00f5e
BLAKE2b-256 7f38f57ea8677452ddecdd6f93ee323e945dc6fb65ef5f878485bc8026e53916

See more details on using hashes here.

File details

Details for the file starlark_pyo3-2023.1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for starlark_pyo3-2023.1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 ff4e0583c09b1c40e3930e98f492f1cf920e2e35a6613c7bfb52499e2aacd455
MD5 41457ae943237507e97f5ab85a45b396
BLAKE2b-256 ae2e1be53d2b461faa54ee4d1dacf89cc8ff4d7ee6be879378cac9475242084e

See more details on using hashes here.

File details

Details for the file starlark_pyo3-2023.1-cp38-cp38-macosx_10_9_x86_64.macosx_11_0_arm64.macosx_10_9_universal2.whl.

File metadata

File hashes

Hashes for starlark_pyo3-2023.1-cp38-cp38-macosx_10_9_x86_64.macosx_11_0_arm64.macosx_10_9_universal2.whl
Algorithm Hash digest
SHA256 2b0577db3d8eb5dd7acba8e5d79f35dd6de46ab2ebcfecf899569083addb1e96
MD5 1f0d8a0f17904079cea8f7c51d0c6373
BLAKE2b-256 585d18a2dc7d1a534f0df24bf9ca759f8a5fadbfadc73a26e2f19c87fd571c38

See more details on using hashes here.

File details

Details for the file starlark_pyo3-2023.1-cp37-none-win_amd64.whl.

File metadata

File hashes

Hashes for starlark_pyo3-2023.1-cp37-none-win_amd64.whl
Algorithm Hash digest
SHA256 d03993589814efe122e7876309ac6893994de097c6b0b6e9d94050d3e2889419
MD5 a3c7f0fcd5f03baf6e215eab96d61985
BLAKE2b-256 76885a22bb7f1d2aa187d03bb78cb612755c8fc2b68be6a8acd9d1acce47300d

See more details on using hashes here.

File details

Details for the file starlark_pyo3-2023.1-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for starlark_pyo3-2023.1-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 af522fe13e372202beb00119b0b4c2cbfa8fb2eede49c753acebab30ef4584b2
MD5 714dc513b436c86e0b82a12f34f842b7
BLAKE2b-256 2fe27527eefe1b23efc0e96324b8eaf472011d52a2ba46a50adcc0b5f182d749

See more details on using hashes here.

File details

Details for the file starlark_pyo3-2023.1-cp37-cp37m-macosx_10_9_x86_64.macosx_11_0_arm64.macosx_10_9_universal2.whl.

File metadata

File hashes

Hashes for starlark_pyo3-2023.1-cp37-cp37m-macosx_10_9_x86_64.macosx_11_0_arm64.macosx_10_9_universal2.whl
Algorithm Hash digest
SHA256 56e79c6366ed013e73a49f0803966ea946b3e03221c9e1878be85a694cd0558c
MD5 53246caf2df56d796adf121c127fafcf
BLAKE2b-256 b664045b5050767567e8aba2ab28c63a1a04a42b19fd7a186033655272e4f7aa

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