Skip to main content

Refactoring non-idiomatic Python code with Python idioms

Install:

For command line use, the package is installed with

python3 -m pip install RefactoringIdioms

Running:

1). Default command is to save all refactored files for all Python Idioms in the current directory in ./RefactoringIdiomsOutputdir/. And it can get <non-idiomatic code, idiomatic code> code pairs for all Python files in the current directory for all Python idioms, and save these code pairs in result.json in the current directory:

 RIdiom

2). Options:

--filepath "your filepath" (e.g., main.py) is to refactor "your filepath" file. The default path is the current directory.

--idiom "IdiomName" (e.g., List Comprehension) is to refactor for the specified "IdiomName". Options are List Comprehension, Set Comprehension, Dict Comprehension, Chain Comparison, Truth Value Test, Assign Multiple Targets, For Multiple Targets, For Else, Star in Call, All. The default idiom is "All" that means all idioms.

--outputdir "your output folder" (e.g.,RefactoringIdiomsOutputdir/ ) is to save all refactored files in "your output folder". The default directory is "./RefactoringIdiomsOutputdir".

--output_codepair "your output path" (e.g.,result.json ) is to save all code pairs in "your output folder". The default path is "result.json".

--flag_merge_allcodepair (e.g., 1 ) means whether to store a separate file for each code pair. The values are 0 and 1. The 1 means refactor a file with all code pairs. The 0 means refactor a file with each code pair individually. The default value is 1.

For example, if you want to refactor code for a Python idiom in the given directory and save the refactored files in the given directory, you can execute the following command:

RIdiom --filepath "your filepath" --idiom "IdiomName" --outputdir "your output folder" --output_codepair  "your output path" --flag_merge_allcodepair 1

Web application:

We also develop a web application for the code refactoring, you could access the application through the url: 47.242.131.128:5000

Each time, you could click code area to refresh.

Release files for RefactoringIdioms 0.0.11

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

Source distribution (sdist)

Source distribution for RefactoringIdioms 0.0.11
File Size Uploaded
RefactoringIdioms-0.0.11.tar.gz 147.4 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for RefactoringIdioms 0.0.11
File Interpreter ABI Platform
RefactoringIdioms-0.0.11-py3-none-any.whl Python 3 none any Details

Total release size:346.2 kB

Release files / RefactoringIdioms-0.0.11.tar.gz

Download URL RefactoringIdioms-0.0.11.tar.gz
Size 147.4 kB
Tags Source
SHA-256 checksum
How to use checksums
b9658316ce57a4ec105775c0b9f874fdffd94b4670fd09c49fc00ac017280648
BLAKE2b-256 checksum
How to use checksums
02e7b4b96af56b052a69d473f7ba8f8013cf695e2d3a48b71d89e348999cf137
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.1 CPython/3.9.10

Release files / RefactoringIdioms-0.0.11-py3-none-any.whl

Download URL RefactoringIdioms-0.0.11-py3-none-any.whl
Size 198.8 kB
Tags Python 3
SHA-256 checksum
How to use checksums
bd01da4a9e8007c5f3740b56988675e19641c839192579118eac35776bedeb87
BLAKE2b-256 checksum
How to use checksums
92c8a3f9de3c060f6213dcf0dab4848102bda7ad9f37b05d764a03f92ad5a45f
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.1 CPython/3.9.10

Release history Release notifications | RSS feed

This release

0.0.11 This release

2 release files

0.0.10

2 release files

0.0.9

2 release files

0.0.8

2 release files

0.0.7

2 release files

0.0.6

2 release files

0.0.5

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