Skip to main content

A concrete syntax tree with AST-like properties for Python 3.0 through 3.13 programs.

Project description

LibCST

A Concrete Syntax Tree (CST) parser and serializer library for Python

Support Ukraine - Help Provide Humanitarian Aid to Ukraine. Documentation Github Actions PYPI PYPI Download Notebook

LibCST parses Python 3.0 -> 3.12 source code as a CST tree that keeps all formatting details (comments, whitespaces, parentheses, etc). It’s useful for building automated refactoring (codemod) applications and linters.

LibCST creates a compromise between an Abstract Syntax Tree (AST) and a traditional Concrete Syntax Tree (CST). By carefully reorganizing and naming node types and fields, we’ve created a lossless CST that looks and feels like an AST.

You can learn more about the value that LibCST provides and our motivations for the project in our documentation. Try it out with notebook examples.

Example expression:

1 + 2

CST representation:

BinaryOperation(
    left=Integer(
        value='1',
        lpar=[],
        rpar=[],
    ),
    operator=Add(
        whitespace_before=SimpleWhitespace(
            value=' ',
        ),
        whitespace_after=SimpleWhitespace(
            value=' ',
        ),
    ),
    right=Integer(
        value='2',
        lpar=[],
        rpar=[],
    ),
    lpar=[],
    rpar=[],
)

Getting Started

Examining a sample tree

To examine the tree that is parsed from a particular file, do the following:

python -m libcst.tool print <some_py_file.py>

Alternatively, you can import LibCST into a Python REPL and use the included parser and pretty printing functions:

>>> import libcst as cst
>>> from libcst.tool import dump
>>> print(dump(cst.parse_expression("(1 + 2)")))
BinaryOperation(
  left=Integer(
    value='1',
  ),
  operator=Add(),
  right=Integer(
    value='2',
  ),
  lpar=[
    LeftParen(),
  ],
  rpar=[
    RightParen(),
  ],
)

For a more detailed usage example, see our documentation.

Installation

LibCST requires Python 3.9+ and can be easily installed using most common Python packaging tools. We recommend installing the latest stable release from PyPI with pip:

pip install libcst

For parsing, LibCST ships with a native extension, so releases are distributed as binary wheels as well as the source code. If a binary wheel is not available for your system (Linux/Windows x86/x64 and Mac x64/arm are covered), you’ll need a recent Rust toolchain for installing.

Further Reading

Development

You’ll need a recent Rust toolchain for developing.

We recommend using hatch <https://hatch.pypa.io/> for running tests, linters, etc.

Then, start by setting up and building the project:

git clone git@github.com:Instagram/LibCST.git libcst
cd libcst
hatch env create

To run the project’s test suite, you can:

hatch run test

You can also run individual tests by using unittest and specifying a module like this:

hatch run python -m unittest libcst.tests.test_batched_visitor

See the unittest documentation for more examples of how to run tests.

We have multiple linters, including copyright checks and slotscheck to check the correctness of class __slots__. To run all of the linters:

hatch run lint

We use ufmt to format code. To format changes to be conformant, run the following in the root:

hatch run format

Building

In order to build LibCST, which includes a native parser module, you will need to have the Rust build tool cargo on your path. You can usually install cargo using your system package manager, but the most popular way to install cargo is using rustup.

To build just the native parser, do the following from the native directory:

cargo build

To rebuild the libcst.native module, from the repo root:

hatch env prune && hatch env create

Type Checking

We use Pyre for type-checking.

To verify types for the library, do the following in the root:

hatch run typecheck

Generating Documents

To generate documents, do the following in the root:

hatch run docs

Future

  • Advanced full repository facts providers like fully qualified name and call graph.

License

LibCST is MIT licensed, as found in the LICENSE file.

Privacy Policy and Terms of Use

Acknowledgements

  • Guido van Rossum for creating the parser generator pgen2 (originally used in lib2to3 and forked into parso).

  • David Halter for parso which provides the parser and tokenizer that LibCST sits on top of.

  • Zac Hatfield-Dodds for hypothesis integration which continues to help us find bugs.

  • Zach Hammer improved type annotation for Mypy compatibility.

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

libcst-1.5.1.tar.gz (773.4 kB view details)

Uploaded Source

Built Distributions

libcst-1.5.1-cp313-cp313-win_amd64.whl (2.0 MB view details)

Uploaded CPython 3.13 Windows x86-64

libcst-1.5.1-cp313-cp313-musllinux_1_2_x86_64.whl (2.3 MB view details)

Uploaded CPython 3.13 musllinux: musl 1.2+ x86-64

libcst-1.5.1-cp313-cp313-musllinux_1_2_aarch64.whl (2.2 MB view details)

Uploaded CPython 3.13 musllinux: musl 1.2+ ARM64

libcst-1.5.1-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (2.3 MB view details)

Uploaded CPython 3.13 manylinux: glibc 2.17+ x86-64

libcst-1.5.1-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (2.2 MB view details)

Uploaded CPython 3.13 manylinux: glibc 2.17+ ARM64

libcst-1.5.1-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl (2.3 MB view details)

Uploaded CPython 3.13 manylinux: glibc 2.17+ i686 manylinux: glibc 2.5+ i686

libcst-1.5.1-cp313-cp313-macosx_11_0_arm64.whl (2.0 MB view details)

Uploaded CPython 3.13 macOS 11.0+ ARM64

libcst-1.5.1-cp313-cp313-macosx_10_13_x86_64.whl (2.1 MB view details)

Uploaded CPython 3.13 macOS 10.13+ x86-64

libcst-1.5.1-cp312-cp312-win_amd64.whl (2.0 MB view details)

Uploaded CPython 3.12 Windows x86-64

libcst-1.5.1-cp312-cp312-musllinux_1_2_x86_64.whl (2.3 MB view details)

Uploaded CPython 3.12 musllinux: musl 1.2+ x86-64

libcst-1.5.1-cp312-cp312-musllinux_1_2_aarch64.whl (2.2 MB view details)

Uploaded CPython 3.12 musllinux: musl 1.2+ ARM64

libcst-1.5.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (2.3 MB view details)

Uploaded CPython 3.12 manylinux: glibc 2.17+ x86-64

libcst-1.5.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (2.2 MB view details)

Uploaded CPython 3.12 manylinux: glibc 2.17+ ARM64

libcst-1.5.1-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl (2.3 MB view details)

Uploaded CPython 3.12 manylinux: glibc 2.17+ i686 manylinux: glibc 2.5+ i686

libcst-1.5.1-cp312-cp312-macosx_11_0_arm64.whl (2.0 MB view details)

Uploaded CPython 3.12 macOS 11.0+ ARM64

libcst-1.5.1-cp312-cp312-macosx_10_13_x86_64.whl (2.1 MB view details)

Uploaded CPython 3.12 macOS 10.13+ x86-64

libcst-1.5.1-cp311-cp311-win_amd64.whl (2.0 MB view details)

Uploaded CPython 3.11 Windows x86-64

libcst-1.5.1-cp311-cp311-musllinux_1_2_x86_64.whl (2.3 MB view details)

Uploaded CPython 3.11 musllinux: musl 1.2+ x86-64

libcst-1.5.1-cp311-cp311-musllinux_1_2_aarch64.whl (2.2 MB view details)

Uploaded CPython 3.11 musllinux: musl 1.2+ ARM64

libcst-1.5.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (2.3 MB view details)

Uploaded CPython 3.11 manylinux: glibc 2.17+ x86-64

libcst-1.5.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (2.2 MB view details)

Uploaded CPython 3.11 manylinux: glibc 2.17+ ARM64

libcst-1.5.1-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl (2.3 MB view details)

Uploaded CPython 3.11 manylinux: glibc 2.17+ i686 manylinux: glibc 2.5+ i686

libcst-1.5.1-cp311-cp311-macosx_11_0_arm64.whl (2.0 MB view details)

Uploaded CPython 3.11 macOS 11.0+ ARM64

libcst-1.5.1-cp311-cp311-macosx_10_9_x86_64.whl (2.1 MB view details)

Uploaded CPython 3.11 macOS 10.9+ x86-64

libcst-1.5.1-cp310-cp310-win_amd64.whl (2.0 MB view details)

Uploaded CPython 3.10 Windows x86-64

libcst-1.5.1-cp310-cp310-musllinux_1_2_x86_64.whl (2.3 MB view details)

Uploaded CPython 3.10 musllinux: musl 1.2+ x86-64

libcst-1.5.1-cp310-cp310-musllinux_1_2_aarch64.whl (2.2 MB view details)

Uploaded CPython 3.10 musllinux: musl 1.2+ ARM64

libcst-1.5.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (2.3 MB view details)

Uploaded CPython 3.10 manylinux: glibc 2.17+ x86-64

libcst-1.5.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (2.2 MB view details)

Uploaded CPython 3.10 manylinux: glibc 2.17+ ARM64

libcst-1.5.1-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl (2.3 MB view details)

Uploaded CPython 3.10 manylinux: glibc 2.17+ i686 manylinux: glibc 2.5+ i686

libcst-1.5.1-cp310-cp310-macosx_11_0_arm64.whl (2.0 MB view details)

Uploaded CPython 3.10 macOS 11.0+ ARM64

libcst-1.5.1-cp310-cp310-macosx_10_9_x86_64.whl (2.1 MB view details)

Uploaded CPython 3.10 macOS 10.9+ x86-64

libcst-1.5.1-cp39-cp39-win_amd64.whl (2.0 MB view details)

Uploaded CPython 3.9 Windows x86-64

libcst-1.5.1-cp39-cp39-musllinux_1_2_x86_64.whl (2.3 MB view details)

Uploaded CPython 3.9 musllinux: musl 1.2+ x86-64

libcst-1.5.1-cp39-cp39-musllinux_1_2_aarch64.whl (2.2 MB view details)

Uploaded CPython 3.9 musllinux: musl 1.2+ ARM64

libcst-1.5.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (2.3 MB view details)

Uploaded CPython 3.9 manylinux: glibc 2.17+ x86-64

libcst-1.5.1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (2.2 MB view details)

Uploaded CPython 3.9 manylinux: glibc 2.17+ ARM64

libcst-1.5.1-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl (2.3 MB view details)

Uploaded CPython 3.9 manylinux: glibc 2.17+ i686 manylinux: glibc 2.5+ i686

libcst-1.5.1-cp39-cp39-macosx_11_0_arm64.whl (2.0 MB view details)

Uploaded CPython 3.9 macOS 11.0+ ARM64

libcst-1.5.1-cp39-cp39-macosx_10_9_x86_64.whl (2.1 MB view details)

Uploaded CPython 3.9 macOS 10.9+ x86-64

File details

Details for the file libcst-1.5.1.tar.gz.

File metadata

  • Download URL: libcst-1.5.1.tar.gz
  • Upload date:
  • Size: 773.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/5.1.1 CPython/3.12.7

File hashes

Hashes for libcst-1.5.1.tar.gz
Algorithm Hash digest
SHA256 71cb294db84df9e410208009c732628e920111683c2f2b2e0c5b71b98464f365
MD5 df4104fee39f24112f62b86752e9f87d
BLAKE2b-256 27a6a19b587108b15d3e0bfa8d0944265809581c8b8e161e22c9c9060afbbf4a

See more details on using hashes here.

Provenance

The following attestation bundles were made for libcst-1.5.1.tar.gz:

Publisher: pypi_upload.yml on Instagram/LibCST

Attestations:

File details

Details for the file libcst-1.5.1-cp313-cp313-win_amd64.whl.

File metadata

  • Download URL: libcst-1.5.1-cp313-cp313-win_amd64.whl
  • Upload date:
  • Size: 2.0 MB
  • Tags: CPython 3.13, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/5.1.1 CPython/3.12.7

File hashes

Hashes for libcst-1.5.1-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 b5a0d3c632aa2b21c5fa145e4e8dbf86f45c9b37a64c0b7221a5a45caf58915a
MD5 3615ea7169b260417299c7e5a63f0ac9
BLAKE2b-256 53543bf26fc2cd9f3b5a1ce4f574ddd1238b96d6e4a9c1c0fccd0c10f7e84e59

See more details on using hashes here.

Provenance

The following attestation bundles were made for libcst-1.5.1-cp313-cp313-win_amd64.whl:

Publisher: pypi_upload.yml on Instagram/LibCST

Attestations:

File details

Details for the file libcst-1.5.1-cp313-cp313-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for libcst-1.5.1-cp313-cp313-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 26c804fa8091747128579013df0b5f8e6b0c7904d9c4ee83841f136f53e18684
MD5 531538e64ec9aa761be53f8e92ca5116
BLAKE2b-256 7a95c82b3f9fde6d5476837111e05d563542b5922ebe929c849e67c2a4ef2638

See more details on using hashes here.

Provenance

The following attestation bundles were made for libcst-1.5.1-cp313-cp313-musllinux_1_2_x86_64.whl:

Publisher: pypi_upload.yml on Instagram/LibCST

Attestations:

File details

Details for the file libcst-1.5.1-cp313-cp313-musllinux_1_2_aarch64.whl.

File metadata

File hashes

Hashes for libcst-1.5.1-cp313-cp313-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 3334afe9e7270e175de01198f816b0dc78dda94d9d72152b61851c323e4e741e
MD5 6f46b3c1640a8a94965d679b8ecce23c
BLAKE2b-256 d143d84090dc9b560ee1586e8ec8e3af34488695c52df244a0d9c3a473401e01

See more details on using hashes here.

Provenance

The following attestation bundles were made for libcst-1.5.1-cp313-cp313-musllinux_1_2_aarch64.whl:

Publisher: pypi_upload.yml on Instagram/LibCST

Attestations:

File details

Details for the file libcst-1.5.1-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for libcst-1.5.1-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 c615af2117320e9a218083c83ec61227d3547e38a0de80329376971765f27a9e
MD5 3dd0a26e4af4c1f92e6fb4a62c67bf26
BLAKE2b-256 42d4ad8af53181fbcd44913925498bdd05d2a76f170253883c0183cf237c5173

See more details on using hashes here.

Provenance

The following attestation bundles were made for libcst-1.5.1-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl:

Publisher: pypi_upload.yml on Instagram/LibCST

Attestations:

File details

Details for the file libcst-1.5.1-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for libcst-1.5.1-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 fbccb016b1ac6d892344300dcccc8a16887b71bb7f875ba56c0ed6c1a7ade8be
MD5 f4d61e91a710808d52fd485708e2771e
BLAKE2b-256 d65ba0f1bbd74054ef592c32ec0956ba083585af9b835c19a8d4b78ba536ec55

See more details on using hashes here.

Provenance

The following attestation bundles were made for libcst-1.5.1-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl:

Publisher: pypi_upload.yml on Instagram/LibCST

Attestations:

File details

Details for the file libcst-1.5.1-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl.

File metadata

File hashes

Hashes for libcst-1.5.1-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 02b38fa4d9f13e79fe69e9b5407b9e173557bcfb5960f7866cf4145af9c7ae09
MD5 0ce5a5fd42bbfb5bf22747e2baaceb0c
BLAKE2b-256 c5eda152f3b0b34c833a09c424336fd464b5b053b1e07e012a95887a7292c55a

See more details on using hashes here.

Provenance

The following attestation bundles were made for libcst-1.5.1-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl:

Publisher: pypi_upload.yml on Instagram/LibCST

Attestations:

File details

Details for the file libcst-1.5.1-cp313-cp313-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for libcst-1.5.1-cp313-cp313-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 940ec4c8db4c2d620a7268d6c83e64ff646e4afd74ae5183d0f0ef3b80e05be0
MD5 9cf5f11a8fdd2c341d99b3136ae9378d
BLAKE2b-256 0f1ac23ab5bccd26f08c7faf982a3a2ab7a78d39502c4304585d107a160d9aa4

See more details on using hashes here.

Provenance

The following attestation bundles were made for libcst-1.5.1-cp313-cp313-macosx_11_0_arm64.whl:

Publisher: pypi_upload.yml on Instagram/LibCST

Attestations:

File details

Details for the file libcst-1.5.1-cp313-cp313-macosx_10_13_x86_64.whl.

File metadata

File hashes

Hashes for libcst-1.5.1-cp313-cp313-macosx_10_13_x86_64.whl
Algorithm Hash digest
SHA256 06a9b4c9b76da4a7399e6f1f3a325196fb5febd3ea59fac1f68e2116f3517cd8
MD5 41aa3237a114028047dd1a09b368856d
BLAKE2b-256 ff6889e1f0aa5697d9d7c9a78f630ffb65c43d5820008e5141504206836b86ce

See more details on using hashes here.

Provenance

The following attestation bundles were made for libcst-1.5.1-cp313-cp313-macosx_10_13_x86_64.whl:

Publisher: pypi_upload.yml on Instagram/LibCST

Attestations:

File details

Details for the file libcst-1.5.1-cp312-cp312-win_amd64.whl.

File metadata

  • Download URL: libcst-1.5.1-cp312-cp312-win_amd64.whl
  • Upload date:
  • Size: 2.0 MB
  • Tags: CPython 3.12, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/5.1.1 CPython/3.12.7

File hashes

Hashes for libcst-1.5.1-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 cedd4c8336e01c51913113fbf5566b8f61a86d90f3d5cc5b1cb5049575622c5f
MD5 15436c7cec413fadb92851c9c56cff2a
BLAKE2b-256 eb849c79a0aa5334f39a86844d32ef474491a817e9eefaa8f23fc81e7ad07d8b

See more details on using hashes here.

Provenance

The following attestation bundles were made for libcst-1.5.1-cp312-cp312-win_amd64.whl:

Publisher: pypi_upload.yml on Instagram/LibCST

Attestations:

File details

Details for the file libcst-1.5.1-cp312-cp312-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for libcst-1.5.1-cp312-cp312-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 15697ea9f1edbb9a263364d966c72abda07195d1c1a6838eb79af057f1040770
MD5 0b140b65958aacc15e16a23f51a4071f
BLAKE2b-256 8bdfb6b506d50f0a00a49d4e6217fd521c208cbf8693687cd0ac5880507ca6d1

See more details on using hashes here.

Provenance

The following attestation bundles were made for libcst-1.5.1-cp312-cp312-musllinux_1_2_x86_64.whl:

Publisher: pypi_upload.yml on Instagram/LibCST

Attestations:

File details

Details for the file libcst-1.5.1-cp312-cp312-musllinux_1_2_aarch64.whl.

File metadata

File hashes

Hashes for libcst-1.5.1-cp312-cp312-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 1ff21005c33b634957a98db438e882522febf1cacc62fa716f29e163a3f5871a
MD5 b7d7c95f6da96024de90029b34e5ab2a
BLAKE2b-256 91f2664ae80583c66bcc3a2debcc8bab04e6843c3a6ac02e94050dddb5e5909c

See more details on using hashes here.

Provenance

The following attestation bundles were made for libcst-1.5.1-cp312-cp312-musllinux_1_2_aarch64.whl:

Publisher: pypi_upload.yml on Instagram/LibCST

Attestations:

File details

Details for the file libcst-1.5.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for libcst-1.5.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 5987daff8389b0df60b5c20499ff4fb73fc03cb3ae1f6a746eefd204ed08df85
MD5 3119710b799656c163f9383bea44d27b
BLAKE2b-256 8827966f9fe2652aa496a85503333559937e58979eef674f9803c995d6704c44

See more details on using hashes here.

Provenance

The following attestation bundles were made for libcst-1.5.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl:

Publisher: pypi_upload.yml on Instagram/LibCST

Attestations:

File details

Details for the file libcst-1.5.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for libcst-1.5.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 eeb13d7c598fe9a798a1d22eae56ab3d3d599b38b83436039bd6ae229fc854d7
MD5 b1a9a9fe8ea029a6accd52fbd104bb4a
BLAKE2b-256 e0871b593bdddcb0d38d2232dab96b1f92deb2481c72063394f0394f680ff5b3

See more details on using hashes here.

Provenance

The following attestation bundles were made for libcst-1.5.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl:

Publisher: pypi_upload.yml on Instagram/LibCST

Attestations:

File details

Details for the file libcst-1.5.1-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl.

File metadata

File hashes

Hashes for libcst-1.5.1-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 00f3d2f32ee081bad3394546b0b9ac5e31686d3b5cfe4892d716d2ba65f9ec08
MD5 390f73ea0af258c3daa04e8d607ac0d5
BLAKE2b-256 ff79f172226edbdd5b3a31d3c270e4407b35e3f5b0c6e404967e42314f1b434e

See more details on using hashes here.

Provenance

The following attestation bundles were made for libcst-1.5.1-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl:

Publisher: pypi_upload.yml on Instagram/LibCST

Attestations:

File details

Details for the file libcst-1.5.1-cp312-cp312-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for libcst-1.5.1-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 b7b58b36022ae77a5a00002854043ae95c03e92f6062ad08473eff326f32efa0
MD5 8df53ba9513ee5d580e43f87b21bbc16
BLAKE2b-256 b3266925af831f039e27eb380ba64448f33aea255ab6ecae6b5deec6ec637197

See more details on using hashes here.

Provenance

The following attestation bundles were made for libcst-1.5.1-cp312-cp312-macosx_11_0_arm64.whl:

Publisher: pypi_upload.yml on Instagram/LibCST

Attestations:

File details

Details for the file libcst-1.5.1-cp312-cp312-macosx_10_13_x86_64.whl.

File metadata

File hashes

Hashes for libcst-1.5.1-cp312-cp312-macosx_10_13_x86_64.whl
Algorithm Hash digest
SHA256 666813950b8637af0c0e96b1ca46f5d5f183d2fe50bbac2186f5b283a99f3529
MD5 14b6d71827d91883d6615824962b8e58
BLAKE2b-256 8f0ceac92358d05e75516f15654fb1550c9af165ce5a19f2b8adf44916ebebc4

See more details on using hashes here.

Provenance

The following attestation bundles were made for libcst-1.5.1-cp312-cp312-macosx_10_13_x86_64.whl:

Publisher: pypi_upload.yml on Instagram/LibCST

Attestations:

File details

Details for the file libcst-1.5.1-cp311-cp311-win_amd64.whl.

File metadata

  • Download URL: libcst-1.5.1-cp311-cp311-win_amd64.whl
  • Upload date:
  • Size: 2.0 MB
  • Tags: CPython 3.11, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/5.1.1 CPython/3.12.7

File hashes

Hashes for libcst-1.5.1-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 f053a5deb6a214972dbe9fa26ecd8255edb903de084a3d7715bf9e9da8821c50
MD5 c910316e40040c0634d6e5b1c9c112b9
BLAKE2b-256 fc82260932412cd9d6c1ac60283889adc18c21ffc55c8b5b63309b95bc277f76

See more details on using hashes here.

Provenance

The following attestation bundles were made for libcst-1.5.1-cp311-cp311-win_amd64.whl:

Publisher: pypi_upload.yml on Instagram/LibCST

Attestations:

File details

Details for the file libcst-1.5.1-cp311-cp311-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for libcst-1.5.1-cp311-cp311-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 c7021e3904d8d088c369afc3fe17c279883e583415ef07edacadba76cfbecd27
MD5 71cde3f22506eb497ab365d46a1dc9dc
BLAKE2b-256 eaf7746b6d91125cf1f398889d1b4488b10cc3df6b35d9762c2131294a1e8217

See more details on using hashes here.

Provenance

The following attestation bundles were made for libcst-1.5.1-cp311-cp311-musllinux_1_2_x86_64.whl:

Publisher: pypi_upload.yml on Instagram/LibCST

Attestations:

File details

Details for the file libcst-1.5.1-cp311-cp311-musllinux_1_2_aarch64.whl.

File metadata

File hashes

Hashes for libcst-1.5.1-cp311-cp311-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 40fbbaa8b839bfbfa5b300623ca2b6b0768b58bbc31b341afbc99110c9bee232
MD5 58bc6e655e770474bb91e09b40c2dd38
BLAKE2b-256 541c3f116e3baa47f71929467b404643c09e31af7acb77de8d2b3fe5d1b06212

See more details on using hashes here.

Provenance

The following attestation bundles were made for libcst-1.5.1-cp311-cp311-musllinux_1_2_aarch64.whl:

Publisher: pypi_upload.yml on Instagram/LibCST

Attestations:

File details

Details for the file libcst-1.5.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for libcst-1.5.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 76a8ac7a84f9b6f678a668bff85b360e0a93fa8d7f25a74a206a28110734bb2a
MD5 ae950359f220c66f4529276a729a967d
BLAKE2b-256 4e3b0e7698e7715d2ed44512718dd6f45d5d698498b5c9fa906b4028a369a7f6

See more details on using hashes here.

Provenance

The following attestation bundles were made for libcst-1.5.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl:

Publisher: pypi_upload.yml on Instagram/LibCST

Attestations:

File details

Details for the file libcst-1.5.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for libcst-1.5.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 f3ffb8135c09e41e8cf710b152c33e9b7f1d0d0b9f242bae0c502eb082fdb1fb
MD5 7f02d762f471dd5c71e22f939db28077
BLAKE2b-256 3c01d4111674d3cfe817c12ef79f8d39b2058a3bd8cd01a307a7db62118cd0ed

See more details on using hashes here.

Provenance

The following attestation bundles were made for libcst-1.5.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl:

Publisher: pypi_upload.yml on Instagram/LibCST

Attestations:

File details

Details for the file libcst-1.5.1-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl.

File metadata

File hashes

Hashes for libcst-1.5.1-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 89c808bdb5fa9ca02df41dd234cbb0e9de0d2e0c029c7063d5435a9f6781cc10
MD5 be061e6d56bfe4cd5c249aff35da4461
BLAKE2b-256 0dc4a76444a28015fb7327cfdbde7d3f88f633e88fce2fe910c7aaa7d4780422

See more details on using hashes here.

Provenance

The following attestation bundles were made for libcst-1.5.1-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl:

Publisher: pypi_upload.yml on Instagram/LibCST

Attestations:

File details

Details for the file libcst-1.5.1-cp311-cp311-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for libcst-1.5.1-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 aa524bd012aaae1f485fd44490ef5abf708b14d2addc0f06b28de3e4585c4b9e
MD5 535aee3f5c7159eb73c7607c4e43dbce
BLAKE2b-256 5b707b765a0a8db8084703fe408ed1c583c434e99b8ec3e7c6192732a1959eb8

See more details on using hashes here.

Provenance

The following attestation bundles were made for libcst-1.5.1-cp311-cp311-macosx_11_0_arm64.whl:

Publisher: pypi_upload.yml on Instagram/LibCST

Attestations:

File details

Details for the file libcst-1.5.1-cp311-cp311-macosx_10_9_x86_64.whl.

File metadata

File hashes

Hashes for libcst-1.5.1-cp311-cp311-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 db7711a762b0327b581be5a963908fecd74412bdda34db34553faa521563c22d
MD5 74d96d8addbc66fbfcb31aea4a742064
BLAKE2b-256 14c183f7ff3a225ad09527b8d15b410e1bba168bafe0d134d93645b1d8b69859

See more details on using hashes here.

Provenance

The following attestation bundles were made for libcst-1.5.1-cp311-cp311-macosx_10_9_x86_64.whl:

Publisher: pypi_upload.yml on Instagram/LibCST

Attestations:

File details

Details for the file libcst-1.5.1-cp310-cp310-win_amd64.whl.

File metadata

  • Download URL: libcst-1.5.1-cp310-cp310-win_amd64.whl
  • Upload date:
  • Size: 2.0 MB
  • Tags: CPython 3.10, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/5.1.1 CPython/3.12.7

File hashes

Hashes for libcst-1.5.1-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 56c944acaa781b8e586df3019374f5cf117054d7fc98f85be1ba84fe810005dc
MD5 c91a21b456630676e51c7304b53ea0dd
BLAKE2b-256 f6571d6ee6d1456baa856fe33c07e3f6b76219ba0af7afe51a85b0b016e4d18c

See more details on using hashes here.

Provenance

The following attestation bundles were made for libcst-1.5.1-cp310-cp310-win_amd64.whl:

Publisher: pypi_upload.yml on Instagram/LibCST

Attestations:

File details

Details for the file libcst-1.5.1-cp310-cp310-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for libcst-1.5.1-cp310-cp310-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 40b75bf2d70fc0bc26b1fa73e61bdc46fef59f5c71aedf16128e7c33db8d5e40
MD5 0c0647c3da63ced4017689ad9646a793
BLAKE2b-256 48b92b292403ea5343143dfb93ad04da17752db3c77e7796e1f5eee00247b2c3

See more details on using hashes here.

Provenance

The following attestation bundles were made for libcst-1.5.1-cp310-cp310-musllinux_1_2_x86_64.whl:

Publisher: pypi_upload.yml on Instagram/LibCST

Attestations:

File details

Details for the file libcst-1.5.1-cp310-cp310-musllinux_1_2_aarch64.whl.

File metadata

File hashes

Hashes for libcst-1.5.1-cp310-cp310-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 72132756f985a19ef64d702a821099d4afc3544974662772b44cbc55b7279727
MD5 7b1c6a65ef39d6eb7d90d0a150572cbd
BLAKE2b-256 db23177ca265dcaf2af4665ca359dd9967f9000dc74fc78fd3b6a231301ab972

See more details on using hashes here.

Provenance

The following attestation bundles were made for libcst-1.5.1-cp310-cp310-musllinux_1_2_aarch64.whl:

Publisher: pypi_upload.yml on Instagram/LibCST

Attestations:

File details

Details for the file libcst-1.5.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for libcst-1.5.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 99bbffd8596d192bc0e844a4cf3c4fc696979d4e20ab1c0774a01768a59b47ed
MD5 3150a4464677e0ae5baa33d613857bd8
BLAKE2b-256 0286b03471cae3e8372e8e5350f90645136106bc9780d87bb46939dc68c938b5

See more details on using hashes here.

Provenance

The following attestation bundles were made for libcst-1.5.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl:

Publisher: pypi_upload.yml on Instagram/LibCST

Attestations:

File details

Details for the file libcst-1.5.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for libcst-1.5.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 6d9ec764aa781ef35ab96b693569ac3dced16df9feb40ee6c274d13e86a1472e
MD5 544b8752ab6d95459abf30fccac87646
BLAKE2b-256 d3db1e064189f75bc68091fa4fe5b0b062493384544e47d8d50520d00d7bfe1c

See more details on using hashes here.

Provenance

The following attestation bundles were made for libcst-1.5.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl:

Publisher: pypi_upload.yml on Instagram/LibCST

Attestations:

File details

Details for the file libcst-1.5.1-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl.

File metadata

File hashes

Hashes for libcst-1.5.1-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 ec6ee607cfe4cc4cc93e56e0188fdb9e50399d61a1262d58229752946f288f5e
MD5 d8de87129f3c0495ae72fde65bea3605
BLAKE2b-256 3b66729dcfbf82d64646f11b3875270177ad35057fe1908bc29366a6d530dddb

See more details on using hashes here.

Provenance

The following attestation bundles were made for libcst-1.5.1-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl:

Publisher: pypi_upload.yml on Instagram/LibCST

Attestations:

File details

Details for the file libcst-1.5.1-cp310-cp310-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for libcst-1.5.1-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 b58a49895d95ec1fd34fad041a142d98edf9b51fcaf632337c13befeb4d51c7c
MD5 c5d87deb08ff9ea13bc1c2816fc02e01
BLAKE2b-256 8cb7b8e7b24629b32e4ba4822e3291c19dc63f2f95fea40230e630ec8df0d3f1

See more details on using hashes here.

Provenance

The following attestation bundles were made for libcst-1.5.1-cp310-cp310-macosx_11_0_arm64.whl:

Publisher: pypi_upload.yml on Instagram/LibCST

Attestations:

File details

Details for the file libcst-1.5.1-cp310-cp310-macosx_10_9_x86_64.whl.

File metadata

File hashes

Hashes for libcst-1.5.1-cp310-cp310-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 ab83633e61ee91df575a3838b1e73c371f19d4916bf1816554933235553d41ea
MD5 e0e0fca84ce4851183596d874e45bc1c
BLAKE2b-256 f446468a892cdc218272925c3fc4b3ae81cd81f24eabe29a35ba5d017ee35ee1

See more details on using hashes here.

Provenance

The following attestation bundles were made for libcst-1.5.1-cp310-cp310-macosx_10_9_x86_64.whl:

Publisher: pypi_upload.yml on Instagram/LibCST

Attestations:

File details

Details for the file libcst-1.5.1-cp39-cp39-win_amd64.whl.

File metadata

  • Download URL: libcst-1.5.1-cp39-cp39-win_amd64.whl
  • Upload date:
  • Size: 2.0 MB
  • Tags: CPython 3.9, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/5.1.1 CPython/3.12.7

File hashes

Hashes for libcst-1.5.1-cp39-cp39-win_amd64.whl
Algorithm Hash digest
SHA256 01e01c04f0641188160d3b99c6526436e93a3fbf9783dba970f9885a77ec9b38
MD5 233c47ffd53ec55608f1d2780b4aabe9
BLAKE2b-256 c2e3f57a014ec44c11c6e142e612875b093fdeeb7e1462ed96d25ffc83964155

See more details on using hashes here.

Provenance

The following attestation bundles were made for libcst-1.5.1-cp39-cp39-win_amd64.whl:

Publisher: pypi_upload.yml on Instagram/LibCST

Attestations:

File details

Details for the file libcst-1.5.1-cp39-cp39-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for libcst-1.5.1-cp39-cp39-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 19e39cfef4316599ca20d1c821490aeb783b52e8a8543a824972a525322a85d0
MD5 e14dda110c1ac7602797d43deea473e5
BLAKE2b-256 1899e20d1ceeb910a7a6c19ccadb63d296066baffe7ef912883c03c3da0a1cb6

See more details on using hashes here.

Provenance

The following attestation bundles were made for libcst-1.5.1-cp39-cp39-musllinux_1_2_x86_64.whl:

Publisher: pypi_upload.yml on Instagram/LibCST

Attestations:

File details

Details for the file libcst-1.5.1-cp39-cp39-musllinux_1_2_aarch64.whl.

File metadata

File hashes

Hashes for libcst-1.5.1-cp39-cp39-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 dc06b7c60d086ef1832aebfd31b64c3c8a645adf0c5638d6243e5838f6a9356e
MD5 357366df230e93ef0cd3638062df97f1
BLAKE2b-256 3c578d5b0fb35966387ae750520225d3a708373bc26ccefb100d8b49aed656cf

See more details on using hashes here.

Provenance

The following attestation bundles were made for libcst-1.5.1-cp39-cp39-musllinux_1_2_aarch64.whl:

Publisher: pypi_upload.yml on Instagram/LibCST

Attestations:

File details

Details for the file libcst-1.5.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for libcst-1.5.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 1947790a4fd7d96bcc200a6ecaa528045fcb26a34a24030d5859c7983662289e
MD5 e3051dba0b317dd995a9584293f333a7
BLAKE2b-256 41f9e62f1d3073061a6807c2e3ee7d3fd77b5fa07a2df7fd50511b826d5f522d

See more details on using hashes here.

Provenance

The following attestation bundles were made for libcst-1.5.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl:

Publisher: pypi_upload.yml on Instagram/LibCST

Attestations:

File details

Details for the file libcst-1.5.1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for libcst-1.5.1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 2e397f5b6c0fc271acea44579f154b0f3ab36011050f6db75ab00cef47441946
MD5 a79bea0cdf57bd021abea864d302bbd8
BLAKE2b-256 15a9501bf05edfd39e42450a0e6863f5d197297b5c2fe7007db13a5b761a39d2

See more details on using hashes here.

Provenance

The following attestation bundles were made for libcst-1.5.1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl:

Publisher: pypi_upload.yml on Instagram/LibCST

Attestations:

File details

Details for the file libcst-1.5.1-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl.

File metadata

File hashes

Hashes for libcst-1.5.1-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 697eabe9f5ffc40f76d6d02e693274e0a382826d0cf8183bd44e7407dfb0ab90
MD5 418afcb0f47634f41b42c554e90503c4
BLAKE2b-256 11a83fddee4a12cd41c5f78fef983763ad3a6539c5b4ca3e805b6583605f9c53

See more details on using hashes here.

Provenance

The following attestation bundles were made for libcst-1.5.1-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl:

Publisher: pypi_upload.yml on Instagram/LibCST

Attestations:

File details

Details for the file libcst-1.5.1-cp39-cp39-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for libcst-1.5.1-cp39-cp39-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 bbaf5755be50fa9b35a3d553d1e62293fbb2ee5ce2c16c7e7ffeb2746af1ab88
MD5 b6ff679bfd5b39f0125cf6a4c7f96cfe
BLAKE2b-256 538f8e4d97fe2912767c5e648c3bc72c6347bebd7656b8e8737cc943fddc044e

See more details on using hashes here.

Provenance

The following attestation bundles were made for libcst-1.5.1-cp39-cp39-macosx_11_0_arm64.whl:

Publisher: pypi_upload.yml on Instagram/LibCST

Attestations:

File details

Details for the file libcst-1.5.1-cp39-cp39-macosx_10_9_x86_64.whl.

File metadata

File hashes

Hashes for libcst-1.5.1-cp39-cp39-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 1cc7393aaac733e963f0ee00466d059db74a38e15fc7e6a46dddd128c5be8d08
MD5 395c2cc1eaa28c82afc9079f5b407a80
BLAKE2b-256 ddab8845c34f8378696589327a8666cec5cd7294f50d03987468743eaa051429

See more details on using hashes here.

Provenance

The following attestation bundles were made for libcst-1.5.1-cp39-cp39-macosx_10_9_x86_64.whl:

Publisher: pypi_upload.yml on Instagram/LibCST

Attestations:

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