Commit graph

1191 commits

Author SHA1 Message Date
Zsolt Dollenstein
03285dd4bf
bump version to 1.8.2 (#1360) 2025-06-13 21:36:01 +01:00
Wei Lee
67ba746bed
fix(dependency): add back typing-extensions for 3.9 (#1358)
Missing typing-extensions breaks "from libcst.codemod import CodemodContext"
2025-06-12 11:57:20 +01:00
Zsolt Dollenstein
8c35ae20ef
Switch from hatch to uv (#1356)
* use dependency-groups in pyproject.toml
* replace `hatch run foo` with `uv run poe foo`
* install uv @ 0.7.12 in CI and disable caching
* use `uv run --group docs` for the `docs` command
* DRY docs between CONTRIBUTING and README
* tell pyre to ignore `.venv`
* set up uv to rebuild on rust, pyproject.toml, git changes
2025-06-10 21:58:40 +01:00
Zsolt Dollenstein
ab12c4c266
bump version to 1.8.1 (#1357) 2025-06-10 17:29:03 +01:00
Lysandros Nikolaou
db38266f1d
Upgrade PyYAML-ft version and use new module name (#1353)
* Upgrade PyYAML-ft version and use new module name

* add pyre ignore

---------

Co-authored-by: Zsolt Dollenstein <zsol@meta.com>
2025-06-10 17:21:21 +01:00
Zsolt Dollenstein
0b1a9810ae
Use poe as a task runner (#1355)
Make `hatch run foo` wrap the corresponding `poe` command.
2025-06-10 08:23:03 +01:00
dependabot[bot]
9f3629e58e
build(deps): bump pypa/cibuildwheel from 3.0.0b4 to 3.0.0rc2 (#1354)
Bumps [pypa/cibuildwheel](https://github.com/pypa/cibuildwheel) from 3.0.0b4 to 3.0.0rc2.
- [Release notes](https://github.com/pypa/cibuildwheel/releases)
- [Changelog](https://github.com/pypa/cibuildwheel/blob/main/docs/changelog.md)
- [Commits](https://github.com/pypa/cibuildwheel/compare/v3.0.0b4...v3.0.0rc2)

---
updated-dependencies:
- dependency-name: pypa/cibuildwheel
  dependency-version: 3.0.0rc2
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-06-09 00:33:03 -07:00
Zsolt Dollenstein
b818c0c983
put itertools-0.13.0 back into lockfile 2025-06-07 14:06:28 +01:00
dependabot[bot]
70ccffc543
build(deps): bump itertools from 0.13.0 to 0.14.0 in /native (#1337)
Bumps [itertools](https://github.com/rust-itertools/itertools) from 0.13.0 to 0.14.0.
- [Changelog](https://github.com/rust-itertools/itertools/blob/master/CHANGELOG.md)
- [Commits](https://github.com/rust-itertools/itertools/compare/v0.13.0...v0.14.0)

---
updated-dependencies:
- dependency-name: itertools
  dependency-version: 0.14.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-06-07 01:54:32 -07:00
dependabot[bot]
5a6970a225
build(deps): bump criterion from 0.5.1 to 0.6.0 in /native (#1339)
Bumps [criterion](https://github.com/bheisler/criterion.rs) from 0.5.1 to 0.6.0.
- [Changelog](https://github.com/bheisler/criterion.rs/blob/master/CHANGELOG.md)
- [Commits](https://github.com/bheisler/criterion.rs/compare/0.5.1...0.6.0)

---
updated-dependencies:
- dependency-name: criterion
  dependency-version: 0.6.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-06-07 01:54:21 -07:00
zaicruvoir1rominet
ca1f81f049
Avoid raising bare Exception (#1168)
* Keep old exception messages (avoid breaking-changes for users relying on exception messages)

* Move ``get_expected_str`` out of _exceptions.py, where it does not belong, to its own file in _parser/_parsing_check.py
2025-06-07 01:53:44 -07:00
Zsolt Dollenstein
e12eef5810
add helper to convert nodes to matchers (#1351)
* add helper to convert nodes to matchers

* suppress type error
2025-06-04 14:02:21 -07:00
Zsolt Dollenstein
935415a35a
ci: stop using actions-rs actions (#1352) 2025-06-03 22:38:19 -07:00
dependabot[bot]
482a2e5f09
build(deps): bump pypa/cibuildwheel from 3.0.0b2 to 3.0.0b4 (#1349)
Bumps [pypa/cibuildwheel](https://github.com/pypa/cibuildwheel) from 3.0.0b2 to 3.0.0b4.
- [Release notes](https://github.com/pypa/cibuildwheel/releases)
- [Changelog](https://github.com/pypa/cibuildwheel/blob/main/docs/changelog.md)
- [Commits](https://github.com/pypa/cibuildwheel/compare/v3.0.0b2...v3.0.0b4)

---
updated-dependencies:
- dependency-name: pypa/cibuildwheel
  dependency-version: 3.0.0b4
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-06-02 03:59:34 +01:00
Zsolt Dollenstein
18d4f6aded
bump version to 1.8.0 (#1348) 2025-05-27 15:02:58 +01:00
Zsolt Dollenstein
ae64e0d534
ci: fix zizmor warnings (#1347) 2025-05-27 14:15:49 +01:00
Zsolt Dollenstein
1e67a9bb84
Build 3.14 wheels for testing (#1345)
* Build 3.14 wheels for testing
* use cibuildwheel 3
2025-05-27 11:44:16 +01:00
Amethyst Reese
efae53d365
Run CI tests on 3.14 (#1331)
* Run CI tests on 3.14

* noop commit to retrigger CI

---------

Co-authored-by: Zsolt Dollenstein <zsol.zsol@gmail.com>
2025-05-26 11:02:44 +01:00
dependabot[bot]
356ac00586
build(deps): bump syn from 2.0.87 to 2.0.101 in /native (#1338)
Bumps [syn](https://github.com/dtolnay/syn) from 2.0.87 to 2.0.101.
- [Release notes](https://github.com/dtolnay/syn/releases)
- [Commits](https://github.com/dtolnay/syn/compare/2.0.87...2.0.101)

---
updated-dependencies:
- dependency-name: syn
  dependency-version: 2.0.101
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-05-26 08:42:40 +01:00
dependabot[bot]
3389d4e231
build(deps): bump quote from 1.0.37 to 1.0.40 in /native (#1341)
Bumps [quote](https://github.com/dtolnay/quote) from 1.0.37 to 1.0.40.
- [Release notes](https://github.com/dtolnay/quote/releases)
- [Commits](https://github.com/dtolnay/quote/compare/1.0.37...1.0.40)

---
updated-dependencies:
- dependency-name: quote
  dependency-version: 1.0.40
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-05-26 08:42:06 +01:00
dependabot[bot]
50032882d0
build(deps): bump peg from 0.8.4 to 0.8.5 in /native (#1340)
Bumps [peg](https://github.com/kevinmehall/rust-peg) from 0.8.4 to 0.8.5.
- [Release notes](https://github.com/kevinmehall/rust-peg/releases)
- [Commits](https://github.com/kevinmehall/rust-peg/compare/0.8.4...0.8.5)

---
updated-dependencies:
- dependency-name: peg
  dependency-version: 0.8.5
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-05-26 08:41:36 +01:00
Zsolt Dollenstein
3dc2289bf6
codegen: Support pipe syntax for Union types (#1336)
From 3.14 onwards, we'll get `foo | bar` instead of `typing.Union[foo, bar]` as the annotation for union types (including optional). This PR prepares the codegen script for this.
2025-05-26 08:40:54 +01:00
Zsolt Dollenstein
b560ae815c
Threadpool should be used if GIL is disabled. (#1335) 2025-05-25 20:13:12 +01:00
Zsolt Dollenstein
c224665ed7
ci: start building cp313t wheels (#1333)
Closes #1242.
2025-05-25 11:44:16 +01:00
Zsolt Dollenstein
16ed48d74b
Enable support for free-threading (#1295)
This PR:
1. marks the `libcst.native` module as free-threading-compatible
2. replaces the use of ProcessPoolExecutor with ThreadPoolExecutor if free-threaded CPython is detected at runtime
2025-05-25 11:43:18 +01:00
Zsolt Dollenstein
52acdf4163
cli: Instantiate Codemods per file (#1334)
Instead of sharing instances of a Codemod across many files, this PR allows passing in a Codemod class to `parallel_exec_transform_with_prettyprint` which will then instantiate the Codemod for each file.  `tool._codemod_impl` now starts using this API.

The old behavior is deprecated, because sharing codemod instances across files is a surprising behavior, and causes hard-to-diagnose bugs when a Codemod keeps track of its state via instance variables.
2025-05-25 09:23:10 +01:00
Zsolt Dollenstein
d002c14d6b
Replace multiprocessing with ProcessPoolExecutor (#1294)
Instead of relying on `multiprocessing.Pool`, this PR replaces the implementation of `parallel_exec_transform_with_prettyprint` with `concurrent.futures.ProcessPoolExecutor`
2025-05-22 08:18:20 +01:00
Zsolt Dollenstein
88457646b8
ci: build windows arm64 wheels (#1304) 2025-05-21 21:01:18 +01:00
dependabot[bot]
6cfabc9a80
build(deps): bump thiserror from 1.0.63 to 2.0.12 in /native (#1308)
Bumps [thiserror](https://github.com/dtolnay/thiserror) from 1.0.63 to 2.0.12.
- [Release notes](https://github.com/dtolnay/thiserror/releases)
- [Commits](https://github.com/dtolnay/thiserror/compare/1.0.63...2.0.12)

---
updated-dependencies:
- dependency-name: thiserror
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-05-20 17:49:34 -07:00
dependabot[bot]
91a5d7efed
build(deps): bump pypa/cibuildwheel from 2.23.2 to 2.23.3 (#1328)
Bumps [pypa/cibuildwheel](https://github.com/pypa/cibuildwheel) from 2.23.2 to 2.23.3.
- [Release notes](https://github.com/pypa/cibuildwheel/releases)
- [Changelog](https://github.com/pypa/cibuildwheel/blob/main/docs/changelog.md)
- [Commits](https://github.com/pypa/cibuildwheel/compare/v2.23.2...v2.23.3)

---
updated-dependencies:
- dependency-name: pypa/cibuildwheel
  dependency-version: 2.23.3
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-05-20 17:38:12 -07:00
dependabot[bot]
b8fa757749
Bump syn from 2.0.75 to 2.0.87 in /native (#1238)
Bumps [syn](https://github.com/dtolnay/syn) from 2.0.75 to 2.0.87.
- [Release notes](https://github.com/dtolnay/syn/releases)
- [Commits](https://github.com/dtolnay/syn/compare/2.0.75...2.0.87)

---
updated-dependencies:
- dependency-name: syn
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-05-20 17:32:31 -07:00
dependabot[bot]
9046fba231
Bump regex from 1.10.6 to 1.11.1 in /native (#1233)
Bumps [regex](https://github.com/rust-lang/regex) from 1.10.6 to 1.11.1.
- [Release notes](https://github.com/rust-lang/regex/releases)
- [Changelog](https://github.com/rust-lang/regex/blob/master/CHANGELOG.md)
- [Commits](https://github.com/rust-lang/regex/compare/1.10.6...1.11.1)

---
updated-dependencies:
- dependency-name: regex
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-05-20 17:32:24 -07:00
dependabot[bot]
be0b668d08
Bump black from 24.8.0 to 25.1.0 (#1290)
* Bump black from 24.8.0 to 25.1.0

Bumps [black](https://github.com/psf/black) from 24.8.0 to 25.1.0.
- [Release notes](https://github.com/psf/black/releases)
- [Changelog](https://github.com/psf/black/blob/main/CHANGES.md)
- [Commits](https://github.com/psf/black/compare/24.8.0...25.1.0)

---
updated-dependencies:
- dependency-name: black
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>

* Fix formatting and tests

---------

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Amethyst Reese <amethyst@n7.gg>
2025-05-19 20:53:44 -04:00
dependabot[bot]
d3386b168f
build(deps): bump astral-sh/setup-uv from 5 to 6 (#1327)
Bumps [astral-sh/setup-uv](https://github.com/astral-sh/setup-uv) from 5 to 6.
- [Release notes](https://github.com/astral-sh/setup-uv/releases)
- [Commits](https://github.com/astral-sh/setup-uv/compare/v5...v6)

---
updated-dependencies:
- dependency-name: astral-sh/setup-uv
  dependency-version: '6'
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-05-19 19:53:09 -04:00
dependabot[bot]
6e70e1cadc
build(deps): bump trybuild from 1.0.99 to 1.0.105 in /native (#1329) 2025-05-19 23:51:23 +00:00
dependabot[bot]
64c761d486
build(deps): bump flake8 from 7.1.2 to 7.2.0 (#1321)
Bumps [flake8](https://github.com/pycqa/flake8) from 7.1.2 to 7.2.0.
- [Commits](https://github.com/pycqa/flake8/compare/7.1.2...7.2.0)

---
updated-dependencies:
- dependency-name: flake8
  dependency-version: 7.2.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-05-19 19:14:36 -04:00
dependabot[bot]
26139e72de
build(deps): bump jinja2 from 3.1.5 to 3.1.6 (#1310)
Bumps [jinja2](https://github.com/pallets/jinja) from 3.1.5 to 3.1.6.
- [Release notes](https://github.com/pallets/jinja/releases)
- [Changelog](https://github.com/pallets/jinja/blob/main/CHANGES.rst)
- [Commits](https://github.com/pallets/jinja/compare/3.1.5...3.1.6)

---
updated-dependencies:
- dependency-name: jinja2
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-05-19 19:14:19 -04:00
Nathan Goldbaum
b2406e799c
update pyo3 to 0.25 (#1324)
* build(deps): bump pyo3 from 0.23.5 to 0.25.0 in /native

Bumps [pyo3](https://github.com/pyo3/pyo3) from 0.23.5 to 0.25.0.
- [Release notes](https://github.com/pyo3/pyo3/releases)
- [Changelog](https://github.com/PyO3/pyo3/blob/main/CHANGELOG.md)
- [Commits](https://github.com/pyo3/pyo3/compare/v0.23.5...v0.25.0)

---
updated-dependencies:
- dependency-name: pyo3
  dependency-version: 0.25.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>

* update pyo3 to 0.24

---------

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Amethyst Reese <amethyst@n7.gg>
2025-05-19 19:13:17 -04:00
dependabot[bot]
11d6e36450
build(deps): bump pypa/cibuildwheel from 2.23.1 to 2.23.2 (#1317)
Bumps [pypa/cibuildwheel](https://github.com/pypa/cibuildwheel) from 2.23.1 to 2.23.2.
- [Release notes](https://github.com/pypa/cibuildwheel/releases)
- [Changelog](https://github.com/pypa/cibuildwheel/blob/main/docs/changelog.md)
- [Commits](https://github.com/pypa/cibuildwheel/compare/v2.23.1...v2.23.2)

---
updated-dependencies:
- dependency-name: pypa/cibuildwheel
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-04-02 10:19:43 +01:00
Nathan Goldbaum
a4804cf07e
allow configuring empty formatter lists in codemod CLI (#1319)
* allow configuring empty formatter lists

* appease linter
2025-04-02 10:19:27 +01:00
Nathan Goldbaum
6d31b5ead5
use released version of setup-python (#1318) 2025-03-31 21:12:13 -07:00
dependabot[bot]
cef85096b6
build(deps): bump pypa/cibuildwheel from 2.23.0 to 2.23.1 (#1315)
Bumps [pypa/cibuildwheel](https://github.com/pypa/cibuildwheel) from 2.23.0 to 2.23.1.
- [Release notes](https://github.com/pypa/cibuildwheel/releases)
- [Changelog](https://github.com/pypa/cibuildwheel/blob/v2.23.1/docs/changelog.md)
- [Commits](https://github.com/pypa/cibuildwheel/compare/v2.23.0...v2.23.1)

---
updated-dependencies:
- dependency-name: pypa/cibuildwheel
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-03-22 21:24:55 +00:00
Hadi Alqattan
2c7834eae6
ci: enable macos intel wheels (#1316) 2025-03-22 21:24:15 +00:00
Nathan Goldbaum
79f736ac60
ci: don't use --no-build-isolation for free-threaded CI (#1314) 2025-03-13 19:17:02 +00:00
Zsolt Dollenstein
5902ccede3
Bump version to 1.7.0 (#1313) 2025-03-13 09:56:58 +00:00
Michał Górny
17eafc3f43
Bump PyO3 to 0.23.5 (#1311) 2025-03-13 07:39:55 +00:00
Nathan Goldbaum
d580469ea5
add free-threaded CI (#1312) 2025-03-12 21:57:31 +00:00
Zsolt Dollenstein
129d9876d2
ci: force LIBCST_NO_LOCAL_SCHEME in cibuildwheel
Summary:

Test Plan:
2025-03-07 18:12:22 +00:00
Zsolt Dollenstein
cd959d66c0
ci: pass through LIBCST_NO_LOCAL_SCHEME
try #2
2025-03-07 17:23:58 +00:00
Zsolt Dollenstein
218e8e5d43
ci: strip local scheme from uploaded wheels 2025-03-07 16:29:53 +00:00