All Projects → LeviBorodenko → lancer

LeviBorodenko / lancer

Licence: MIT license
Turn your python code into a hideous mess. Ever heard of Black? This is the opposite.

Programming Languages

python
139335 projects - #7 most used programming language

Projects that are alternatives of or similar to lancer

Verible
Verible is a suite of SystemVerilog developer tools, including a parser, style-linter, and formatter.
Stars: ✭ 384 (+114.53%)
Mutual labels:  formatter, linter
Unimport
A linter, formatter for finding and removing unused import statements.
Stars: ✭ 96 (-46.37%)
Mutual labels:  formatter, linter
Eryngii
[WIP] Erlang lint and formatter
Stars: ✭ 28 (-84.36%)
Mutual labels:  formatter, linter
Gts
☂️ TypeScript style guide, formatter, and linter.
Stars: ✭ 3,714 (+1974.86%)
Mutual labels:  formatter, linter
Best Of Python Dev
🏆 A ranked list of awesome python developer tools and libraries. Updated weekly.
Stars: ✭ 243 (+35.75%)
Mutual labels:  formatter, linter
Autoflake
Removes unused imports and unused variables as reported by pyflakes
Stars: ✭ 362 (+102.23%)
Mutual labels:  formatter, linter
Psscriptanalyzer
Download ScriptAnalyzer from PowerShellGallery
Stars: ✭ 1,137 (+535.2%)
Mutual labels:  formatter, linter
Bodyclose
Analyzer: checks whether HTTP response body is closed and a re-use of TCP connection is not blocked.
Stars: ✭ 181 (+1.12%)
Mutual labels:  linter, code-analysis
Godot Gdscript Toolkit
Independent set of GDScript tools - parser, linter and formatter
Stars: ✭ 214 (+19.55%)
Mutual labels:  formatter, linter
Poetic
Automatically install and maintain ESLint, Prettier, EditorConfig and Airbnb rules for JavaScript, TypeScript and React.
Stars: ✭ 165 (-7.82%)
Mutual labels:  formatter, linter
unimport
A linter, formatter for finding and removing unused import statements.
Stars: ✭ 119 (-33.52%)
Mutual labels:  formatter, linter
Golite
Add essential language support for the Go language to Sublime Text 3.
Stars: ✭ 14 (-92.18%)
Mutual labels:  formatter, linter
dockerfile-utils
A library and command line interface for formatting and linting Dockerfiles.
Stars: ✭ 17 (-90.5%)
Mutual labels:  formatter, linter
Isort
A Python utility / library to sort imports.
Stars: ✭ 4,377 (+2345.25%)
Mutual labels:  formatter, linter
Spotbugs
SpotBugs is FindBugs' successor. A tool for static analysis to look for bugs in Java code.
Stars: ✭ 2,569 (+1335.2%)
Mutual labels:  linter, code-analysis
Format Graphql
Formats GraphQL schema definition language (SDL) document.
Stars: ✭ 55 (-69.27%)
Mutual labels:  formatter, linter
Eslint Plugin Sonarjs
SonarJS rules for ESLint
Stars: ✭ 458 (+155.87%)
Mutual labels:  linter, code-analysis
Jql
Java code analysis and linting with SQL
Stars: ✭ 148 (-17.32%)
Mutual labels:  linter, code-analysis
Drstring
DrString finds issues in your Swift docstrings and fixes them for you.
Stars: ✭ 133 (-25.7%)
Mutual labels:  formatter, linter
node-lintspaces
A validator for checking different kinds of whitespaces in your files.
Stars: ✭ 31 (-82.68%)
Mutual labels:  linter, code-analysis

Lancer

Ever heard of Black? This is the opposite. A tool to turn your clean python code into a hideous (working) mess.

Features

  1. Turn all comments into Pitbull lyrics 💃
  2. Turn all your variable names into a mixture of animal sounds and horribly similar looking characters like "bark_bark_0OO0O". 🐶
  3. Add irritating white spaces.
  4. Code still runs after all these improvements! 👷

Example

Before:

# function that adds two numbers
def addition(a: int, b: int) -> int:

    # find sum
    result = a + b

    # return the sum
    return result


if __name__ == '__main__':
    print("Sum of 1 and 3 is %s" % addition(1, 3))

After:

# there's nothing like Miami's heat
def quack_Il1Ι1l(squeak_squeak_IIΙΙlI: int, honk_honk_honk_aaαaα: int) -> int:

    # Bada bing, bada boom
    growl_growl_growl_ααaaα= squeak_squeak_IIΙΙlI  + honk_honk_honk_aaαaα

    # Hey baby, givin' it your all when you're dancin' on me
    return growl_growl_growl_ααaaα


if __name__ == '__main__':
    print("Sum of 1 and 3 is %s" % quack_Il1Ι1l(1, 3))

Installation and Usage

Simply run pip install py-lancer and then use the lance command line tool.

usage: lance [-h] [--version] -f ./FILE_PATH.py [-y]

Ever heard of Black? This is the opposite.

optional arguments:
  -h, --help            show this help message and exit
  --version             show program's version number and exit
  -f ./FILE_PATH.py, --file ./FILE_PATH.py
                        Python file to be lance'd.
  -y, --yolo            Overwrite original file, lol.

So if you have a python file at ./test.py, you simply run lance -f ./test.py

How does it work

The key tool we use it the tokenizer standard module in python. It allows us to tokenize any python script which then in turn makes substituting comments and variable names fairly simple. Check out the source code for more details.

Contribute

Bug reports, fixes and additional features are always welcome! Make sure to run the tests with python setup.py test and write your own for new features. Thanks.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].