Tool to move around Python source code.
Project description
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).
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.
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
refac-0.0.5.tar.gz
(16.2 kB
view details)
Built Distribution
refac-0.0.5-py2.py3-none-any.whl
(20.0 kB
view details)
File details
Details for the file refac-0.0.5.tar.gz
.
File metadata
- Download URL: refac-0.0.5.tar.gz
- Upload date:
- Size: 16.2 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.2 CPython/3.9.17
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 68b8a7d2c4b676ea02c9770ca704a6a2c94ad488b1e06960295644c56e8ab80e |
|
MD5 | d73ebd73c3cd65980044a31a74b29ba1 |
|
BLAKE2b-256 | c651f4d2179e7eba23f33ff95dbd55bb3ceb1946a97859f359ec5aaf032c5ef3 |
File details
Details for the file refac-0.0.5-py2.py3-none-any.whl
.
File metadata
- Download URL: refac-0.0.5-py2.py3-none-any.whl
- Upload date:
- Size: 20.0 kB
- Tags: Python 2, Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.2 CPython/3.9.17
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | e45d4bd51c0ec2797b99e7625732b24112df862903bb135b76f1c5486175503e |
|
MD5 | 4bfade6020b4346ce7a9924f0726e835 |
|
BLAKE2b-256 | 4d26cc0999c879af1fe6f3b7734a37ecffd8e8755a9f5a57bd8172fbe0e5570a |