skillfed

fissix

Monkeypatches to override default behavior of lib2to3.

fissix v24.4.24 582.9K downloads/30d#5,898 on PyPI55
Permissive license Active released

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 fissix

uv

uv add fissix

poetry

poetry add fissix

Installing 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

Development Status :: 5 - Production/StableIntended Audience :: DevelopersLicense :: OSI Approved :: Python Software Foundation LicenseTopic :: Software Development :: Libraries

Tags

lib2to3 backportpython code refactoringautomated code transformationpython 2to3 toolcode modernization libraryast-based refactoringpython syntax migration
code-refactoringast-transformationpython-migration

More Libraries packages