Definition
Recipes18
18 recipes
- Upgrade to Python 3.11
- Replace
datetime.utcnow()withdatetime.now(UTC) - Replace
datetime.utcfromtimestamp()withdatetime.fromtimestamp(ts, UTC) - Replace deprecated calendar constants with uppercase
- Change import
- Find deprecated imp module usage
- Replace deprecated distutils.version usage
- Find deprecated distutils module usage
- Replace
pkgutil.find_loader()withimportlib.util.find_spec() - Replace
pkgutil.get_loader()withimportlib.util.find_spec() - Find deprecated
Path.link_to()usage - Find modules removed in Python 3.12
- Find deprecated
ssl.match_hostname() - Find deprecated
os.popen()usage - Find deprecated
os.spawn*()usage - Find deprecated
shutil.rmtree(onerror=...)parameter - Replace
sys.last_type/sys.last_value/sys.last_tracebackwithsys.last_exc - org.openrewrite.python.migrate.UpgradePythonVersionTo312
Usage
Run this recipe
In order to run Python recipes, you will need to use the Moderne CLI.
This recipe calls into other OpenRewrite packages as it runs, and the CLI needs every one of them in its marketplace. Once the CLI is installed, install all of the following:
RELEASE resolves to the newest release and LATEST to the newest build of any kind, including snapshots. Either one lets mod config recipes upgrade pull in later versions without editing this command; a pinned version stays where you put it.
- RELEASE
- LATEST
- Pinned version
Install the recipe packages
mod config recipes pip install openrewrite-migrate-python
mod config recipes jar install org.openrewrite.recipe:rewrite-migrate-python:RELEASE
mod config recipes jar install org.openrewrite:rewrite-python:RELEASE
Install the recipe packages
mod config recipes pip install openrewrite-migrate-python
mod config recipes jar install org.openrewrite.recipe:rewrite-migrate-python:LATEST
mod config recipes jar install org.openrewrite:rewrite-python:LATEST
Install the recipe packages
mod config recipes pip install openrewrite-migrate-python==0.12.0
mod config recipes jar install org.openrewrite.recipe:rewrite-migrate-python:0.12.0
mod config recipes jar install org.openrewrite:rewrite-python:8.90.1
Then, you can run the recipe via:
Run the recipe
mod run . --recipe org.openrewrite.python.migrate.UpgradeToPython312