fissix
Monkeypatches to override default behavior of lib2to3.
What it is and what it does
fissix is a maintained fork of Python's lib2to3 library, the standard tool for automated code transformation and refactoring. It provides a framework for writing fixers—rules that detect and rewrite Python syntax patterns—and is commonly used to modernize codebases, migrate between Python versions, or apply large-scale code changes. The library works by parsing Python source into an abstract syntax tree, applying transformations via pluggable fixers, and writing the result back to source.
The package depends only on appdirs for cross-platform configuration directory handling. It targets developers and tools that need programmatic code refactoring capabilities, and is actively used by downstream projects like bowler (safe refactoring for modern Python) and modernize (code modernization for hybrid codebases). With a single lightweight dependency and low install friction, it integrates cleanly into build pipelines and CLI tools.
Use it for:
- Automate large-scale code migrations when upgrading Python versions or dependencies.
- Build custom refactoring tools that apply project-specific syntax transformations across a codebase.
- Implement safe, repeatable code modernization workflows in CI/CD pipelines.
- Develop linting or code-quality tools that need to suggest or apply syntax fixes.
- Migrate legacy Python code patterns to modern idioms across many files at once.
Worth the install?
AI-flagged interpretation of the facts on this page — verify before relying
fissix is a backport of Python's lib2to3 library with enhancements, providing tools for automated code transformation and refactoring across Python versions.
Yes. fissix is actively maintained, permissively licensed, has low install friction, and fills a real need for programmatic code refactoring. It is Production/Stable and used by established downstream projects. Install it if you need to build refactoring tools, automate code migrations, or integrate lib2to3 into a pipeline.
Install
fissix on PyPI
pip
pip install fissixuv
uv add fissixpoetry
poetry add fissixInstalling fissix
Before you install
Low install friction with a single lightweight dependency (appdirs). Actively maintained as of August 2026 with recent commits; marked Production/Stable. Supports current Python versions (3.8+).
License in practice
Licensed under the Python Software Foundation License Version 2, a permissive open-source license. No restrictions on commercial or private use.
Quickstart
pip install fissix
from fissix.main import StdoutRefactoringTool
from fissix import refactor
rt = StdoutRefactoringTool(['fissix.fixes.fix_import'])
rt.refactor_file('example.py', write=True)
Requires Python 3.8 or later.
Verify before relying
- Whether fissix's enhancements over the standard lib2to3 are documented or discoverable from the package itself.
- What specific refactoring fixes are included beyond the standard lib2to3 set.
Package facts
| License | not declared (permissive) |
| Python support | supports the current Python release (>=3.8) |
| Install friction | low — pure-Python wheel |
| Runtime dependencies | 1 — appdirs |
| Maintenance | actively maintained — 842 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 582,850/month — #5,898 on PyPI (30-day window, as of 2026-08-14) |
| Known vulnerabilities | none known (OSV.dev, checked 2026-08-14) |
Evidence: fissix-24.4.24-py3-none-any.whl
Tags
More Libraries packages
urllib3 is an HTTP client library that provides…
permissive · top 100 on PyPI
requestsRequests is a Python HTTP library that…
permissive · top 100 on PyPI
pluggyPluggy provides a plugin system that lets you…
permissive · top 100 on PyPI
python-dateutilProvides parsing, arithmetic, and recurrence…
permissive · top 100 on PyPI
sixSix provides utility functions to write Python…
permissive · top 100 on PyPI
pytestpytest is a testing framework that lets you…
permissive · top 100 on PyPI
futureProvides Python 3 syntax and semantics on…
permissive · top 1,000 on PyPI
zipfile36Provides a backport of Python 3.6's zipfile…
permissive · top 5,000 on PyPI
ropeRope is a Python refactoring library that…
copyleft · top 5,000 on PyPI
inspect2Provides the Python 3.6 inspect module API on…
permissive · top 15,000 on PyPI
subprocess32A backport of Python 3's subprocess module to…
permissive · top 15,000 on PyPI
flyntFlynt is a command-line tool that automatically…
permissive · top 15,000 on PyPI
configparserProvides an updated ConfigParser implementation…
permissive · top 5,000 on PyPI
contextlib2contextlib2 backports the Python standard…
permissive · top 5,000 on PyPI
traceback2Provides a backport of Python's traceback…
permissive · top 5,000 on PyPI