./lang/py-libcst, Concrete syntax tree with AST-like properties for Python

[ CVSweb ] [ Homepage ] [ RSS ] [ Required by ] [ Add to tracker ]


Branch: CURRENT, Version: 1.5.1, Package name: py312-libcst-1.5.1, Maintainer: pkgsrc-users

LibCST parses Python 3.0 -> 3.11 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.


Master sites:

Filesize: 755.261 KB

Version history: (Expand)


CVS history: (Expand)


   2024-11-20 10:34:59 by Adam Ciarcinski | Files touched by this commit (2) | Package updated
Log message:
py-libcst: updated to 1.5.1

1.5.1 - 2024-11-18

Added

* build wheels for musllinux
   2024-11-11 08:29:31 by Thomas Klausner | Files touched by this commit (862)
Log message:
py-*: remove unused tool dependency

py-setuptools includes the py-wheel functionality nowadays
   2024-10-11 14:40:04 by Adam Ciarcinski | Files touched by this commit (3) | Package updated
Log message:
py-libcst: updated to 1.5.0

1.5.0

Added

FullyQualifiedNameProvider: Optionally consider pyproject.toml files when \ 
determining a file's module name and package
Add validation for If node
include python 3.13 in build

Fixed

fix various Match statement visitation errors
Mention codemod -x flag in docs
Clear warnings for each file in codemod cli
Typo fix in codemods_tutorial.rst (trivial)
fix certain matchers breaking under multiprocessing by initializing them late

Updated

make libcst_native::tokenizer public
Use license instead of license-file
Drop codecov from CI and readme
   2024-05-24 17:15:44 by Adam Ciarcinski | Files touched by this commit (3) | Package updated
Log message:
py-libcst: updated to 1.4.0

1.4.0 - 2024-05-22

Fixed
* Fix Literal parse error in RemoveImportsVisitor
* Don't reset context.scratch between files
* Various documentation fixes
 * Typo fix FullRepoManager
 * Fix tiny typo in `docs/source/metadata.rst`
 * Fix typo in `docs/source/scope_tutorial.ipynb`
 * Update CONTRIBUTING.md

Added

* Add helper functions for common ways of filtering nodes
* Dump CST to .dot (graphviz) files
* Implement PEP-696
   2024-04-09 18:41:06 by Adam Ciarcinski | Files touched by this commit (2) | Package updated
Log message:
py-libcst: updated to 1.3.1

1.3.1 - 2024-04-03

Fixed
* ImportError due to missing `mypy_extensions` dependency

1.3.0 - 2024-04-03

Updated
* Removed dependencies on `typing_extensions` and `typing_inspect`
   2024-02-20 05:55:23 by Adam Ciarcinski | Files touched by this commit (4) | Package updated
Log message:
py-libcst: updated to 1.2.0

1.2.0 - 2024-02-19

Updated
* Support running LibCST on Python 3.12 and drop support for running it on 3.8
 * remove 3.8 support
 * Remove reference to distutils
 * Update pyproject.toml for Python 3.12 support

Added
* Allow `Element::codegen` to be used by external users

Fixed
* Fix parsing list matchers without explicit brackets
* installing rustc/cargo for mybinder demo
* fix filepathprovider generic type
   2023-12-13 18:39:07 by Amitai Schleier | Files touched by this commit (7)
Log message:
cargo.mk: centralize Darwin -install_name workaround.
   2023-10-07 22:14:31 by Adam Ciarcinski | Files touched by this commit (4) | Package updated
Log message:
py-libcst: updated to 1.1.0

1.1.0 - 2023-10-05

Added
* PEP 695 support
  * parser: PEP 695 - Type Parameter Syntax
  * Scope provider: support for type annotations
* PEP 701 support
  * parser: support arbitrarily nested f-strings
  * parser: Parse multiline expressions in f-strings
* parser: Support files with mixed newlines
* [libcst](https://crates.io/crates/libcst) is now published to crates.io

Fixed
* codemod/ApplyTypeAnnotationsVisitor: Do not annotate the same variable \ 
multiple times
* parser: Don't swallow trailing whitespace
* codemod/rename: Avoid duplicating import statements when the module name \ 
doesn't change

Updated
* cli: Don't gather dirs ending .py
* drop support for Python 3.7
* A few parser performance improvements:
  * Switch to using thread_local regular expressions to stop mutext contention
  * Remove need for regex in TextPosition::matches
  * Remove Regexes from whitespace parser