Skip to main content

Convert python scripts into oneliner expression.

Project description

oneliner-py

Ruff Code style: black Imports: isort Coverage Tests

Convert python scripts into oneliner expression.

Usage

python3 -m oneliner [input file] -o [output file]

Or use python3 -m oneliner -h for help.

Example

InputFile:

import random
y,h=0,2
msg='hello_world'
while y<h*2:
    for x in range(len(msg)+2):
        print(random.choice('/\\'),end='')
    y+=1
    if y==h:
        print('\n %s '%msg)
    else:
        print('')

OutputFile:

[(importlib := __import__('importlib')), (itertools := __import__('itertools')), (random := importlib.import_module('random')), (__ol_assign_qqaleuwbod := (0, 2)), (y := __ol_assign_qqaleuwbod[0]), (h := __ol_assign_qqaleuwbod[1]), (msg := 'hello_world'), [[[print(random.choice('/\\'), end='') for x in range(len(msg) + 2)], y.__iadd__(1) if hasattr(y, '__iadd__') else (y := (y + 1)), print('\n %s ' % msg) if y == h else print('')] for _ in itertools.takewhile(lambda _: y < h * 2, itertools.count())]]

Install

git clone https://github.com/yunline/Oneliner-Py.git
cd ./Oneliner-Py
python3 -m pip install .

Python Version Requirements

This converter requires python 3.10+
The converted scripts should be able to run on python 3.8+

Limitations

Following statements are not able to be converted as oneliner.

  • from-import * (from-import with star)
  • yield and yield from
  • try-except-finally statements
  • raise statement
  • with statement
  • assert statement
  • del statement
  • async-xxx statements
  • match-case statement (new in Python 3.10)
  • type statement (new in 3.12)

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

Oneliner-Py-1.0.0.tar.gz (15.0 kB view hashes)

Uploaded Source

Built Distribution

Oneliner_Py-1.0.0-py3-none-any.whl (17.7 kB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page