Skip to main content

Render reproducible examples of Python code for sharing.

Project description

reprexlite: Python reproducible examples for sharing

PyPI Supported Python versions tests codecov

reprexlite is tool for rendering reproducible examples of Python code for sharing. It will execute your code and embed the outputs as comments below their associated lines. The rendered reprex can then be easily copied, pasted, and run as-is by anybody else. It is a lightweight alternative to reprexpy and is similarly meant as a port of the R package reprex.

Here's an example of output created by reprexlite:

arr = [1, 2, 3, 4, 5]
[x + 1 for x in arr]
#> [2, 3, 4, 5, 6]

Why reproducible examples?

If you're asking for help or reporting a bug, you are more likely to succeed in getting others to help you if you include a good reprex. If you're writing documentation, your readers will appreciate examples that they can easily run.

Why reprexlite?

reprexlite helps you create a self-contained reprex that can be easily copy-pasted and run. Your code runs in an isolated namespace. The reprex is formatted so that it is valid Python code with outputs as comments, unlike copying from a REPL. reprexlite is also very lightweight and has a convenient CLI, so you can easily and quickly get it up and running in a virtual environment.

Installation

reprexlite is available on PyPI:

pip install reprexlite

Optional dependencies can be specified using the "extras" mechanism, e.g., reprexlite[pygments]. Available extras are:

  • black : for optionally autoformatting your code
  • pygments : for syntax highlighting and the RTF venue

Development version

The development version of reprexlite is available on GitHub:

pip install https://github.com/jayqi/reprexlite.git#egg=reprexlite

Quick usage

Command-line interface

The reprexlite CLI allows you to create a reprex without entering Python. Simply invoke the command

reprex

This will take you into your system's default command-line text editor where you can type or paste your Python code. On macOS, for example, this will be vi. You can set your default editor using the $EDITOR environment variable—I'm personally a fan of nano.

Once you're done, reprexlite will print out your reprex to console.

Python library

The same functionality as the CLI is also available from the reprex function with an equivalent API:

from reprexlite import reprex

code = """
arr = [1, 2, 3, 4, 5]
[x + 1 for x in arr]
"""

reprex(code)
#> <reprexlite.reprex.GitHubReprex object at 0x7fd4446f94f0>

Under the hood, reprexlite is designed with a modular object-oriented architecture. See the API documentation to learn more.

Comparison to reprexpy

Compared to reprexpy, reprexlite adds:

  • A command-line interface so you can create reprexes without entering Python
  • Lighter dependencies (e.g., no dependence on IPython)

However, reprexlite does not have:

  • Direct ability to read from or write to your OS clipboard.
    • Instead, the CLI opens your default text editor which you can paste into.
  • Automatic upload of matplotlib plots to imgur.com.

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

reprexlite-0.3.0.tar.gz (16.7 kB view details)

Uploaded Source

Built Distribution

reprexlite-0.3.0-py3-none-any.whl (17.8 kB view details)

Uploaded Python 3

File details

Details for the file reprexlite-0.3.0.tar.gz.

File metadata

  • Download URL: reprexlite-0.3.0.tar.gz
  • Upload date:
  • Size: 16.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.3.0 pkginfo/1.7.0 requests/2.25.1 setuptools/53.0.0 requests-toolbelt/0.9.1 tqdm/4.58.0 CPython/3.8.8

File hashes

Hashes for reprexlite-0.3.0.tar.gz
Algorithm Hash digest
SHA256 0160bfdfb2141fb206c71ae23bb8191d719dc2280ef36573e107192461811f59
MD5 2e5b4873c67ece3d07f3e909ba8bfba9
BLAKE2b-256 62af77211cb3ac2543145d096db59fae99a2c0630ad0387102ca1f49e2221df0

See more details on using hashes here.

File details

Details for the file reprexlite-0.3.0-py3-none-any.whl.

File metadata

  • Download URL: reprexlite-0.3.0-py3-none-any.whl
  • Upload date:
  • Size: 17.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.3.0 pkginfo/1.7.0 requests/2.25.1 setuptools/53.0.0 requests-toolbelt/0.9.1 tqdm/4.58.0 CPython/3.8.8

File hashes

Hashes for reprexlite-0.3.0-py3-none-any.whl
Algorithm Hash digest
SHA256 345d58913a156669d362ee394e5cbc531f01ad4b5d4ab7d276b899b02d866d93
MD5 682de5c1adb8de1dfbc8643ea06e8a6b
BLAKE2b-256 f2f1283369335b729ff3c5105be4fb5d8f723e2214f45f9aeaedf83f54afd893

See more details on using hashes here.

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