Skip to main content

Convert python scripts into oneliner expression.

Project description

oneliner-py

PyPI - Python Version PyPI - License Coverage Tests

Ruff Code style: black Imports: isort Checked with mypy

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

pip install Oneliner-Py

Or

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.2.2.tar.gz (21.8 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

oneliner_py-1.2.2-py3-none-any.whl (25.5 kB view details)

Uploaded Python 3

File details

Details for the file oneliner_py-1.2.2.tar.gz.

File metadata

  • Download URL: oneliner_py-1.2.2.tar.gz
  • Upload date:
  • Size: 21.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for oneliner_py-1.2.2.tar.gz
Algorithm Hash digest
SHA256 0690af719596686c6ebf446f5d0c8545c8846cb68631fbffdd7a9c566ede9cfd
MD5 0794fa64536f52a26daebcd2561eaf3a
BLAKE2b-256 b7d6378e251082864fb1ca522624613b0f645ce563618d0975508a1a0a9f5542

See more details on using hashes here.

Provenance

The following attestation bundles were made for oneliner_py-1.2.2.tar.gz:

Publisher: release_pypi.yml on yunline/Oneliner-Py

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file oneliner_py-1.2.2-py3-none-any.whl.

File metadata

  • Download URL: oneliner_py-1.2.2-py3-none-any.whl
  • Upload date:
  • Size: 25.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for oneliner_py-1.2.2-py3-none-any.whl
Algorithm Hash digest
SHA256 4d749c5524313874ae440a3ff8e5277feebcdd33c7321a35726c52478bf614ab
MD5 85b6b516b92997cb55ecba9047d11f21
BLAKE2b-256 b93af01efbb8bffd4bd0cf899d09f0e76414d0dfe1c2ba53761f61b11a8b646d

See more details on using hashes here.

Provenance

The following attestation bundles were made for oneliner_py-1.2.2-py3-none-any.whl:

Publisher: release_pypi.yml on yunline/Oneliner-Py

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

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