Skip to main content

refac

A tool for moving and refactoring python code. It supports moving files or entire directories (refac file). Also supports moving specific symbols inside a file (refac symbol) or specific imports (refac import).

Checks

Quickstart

pip install refac
refac file /path/to/src.py /path/to/dst.py

and add the following to your .libcst.codemod.yaml at the root of your project:

modules:
  - "refac.visitors"
usage:
    refac [file|symbol|import] <src> <dst>

  examples:
    refac file /path/to/src.py /path/to/dst.py
    refac symbol path.to.SrcClass path.to.DstClass
    refac symbol path.to.src_func1,path.to.src_func2 path.to.dst_func1,path.to.dst_func2
    refac import path.to.src_import path.to.dst_import

Contributing

Contributions are welcomed and appreciated. Check out ARCHITECTURE.md for an overview of the codebase.

To run tests:

# Must be using Python >3.9
python -m pip install -r requirements.txt
python -m unittest tests/**/*.py

Please file GitHub issues for any bugs.

Metadata

Release files for refac 0.0.5

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for refac 0.0.5
File Size Uploaded
refac-0.0.5.tar.gz 16.2 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for refac 0.0.5
File Interpreter ABI Platform
refac-0.0.5-py2.py3-none-any.whl Python 2, Python 3 none any Details

Total release size: 36.2 kB

Release files / refac-0.0.5.tar.gz

Download URL refac-0.0.5.tar.gz
Size 16.2 kB
Tags Source
SHA-256 checksum
How to use checksums
68b8a7d2c4b676ea02c9770ca704a6a2c94ad488b1e06960295644c56e8ab80e
BLAKE2b-256 checksum
How to use checksums
c651f4d2179e7eba23f33ff95dbd55bb3ceb1946a97859f359ec5aaf032c5ef3
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.2 CPython/3.9.17

Release files / refac-0.0.5-py2.py3-none-any.whl

Download URL refac-0.0.5-py2.py3-none-any.whl
Size 20.0 kB
Tags Python 2 Python 3
SHA-256 checksum
How to use checksums
e45d4bd51c0ec2797b99e7625732b24112df862903bb135b76f1c5486175503e
BLAKE2b-256 checksum
How to use checksums
4d26cc0999c879af1fe6f3b7734a37ecffd8e8755a9f5a57bd8172fbe0e5570a
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.2 CPython/3.9.17

Release history Release notifications | RSS feed

This release

0.0.5 This release

2 release files

0.0.4

2 release files

0.0.3

2 release files

0.0.2

2 release files

0.0.1

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page