Skip to main content

Quickly generate plots in Python by simply describing them through text.

Project description

PyPI version

Quickly generate plots in Python by simply describing them through text. For example, simply use the prompt "create a scatter plot with name labels" instead of endlessly searching the docs and stackoverflow. Given such a prompt, the autoplotlib Python library uses the OpenAI API to automatically generate the corresponding code and plot - saving you time and effort.

Warning This package is experimental. The package can execute code output from language models. Albeit unlikely, always check and confirm no malicious code was generated by the model before execution. Use at your own risk.

Installation

  1. Install the Python package:
    pip install autoplotlib
    
  2. Get an OpenAI API key by signing up here if you don't have one already.

Usage

The following is an example of plotting a pandas dataframe using the autoplotlib library. The plot() function takes a prompt describing the plot and the data to plot. The function returns the plot, the generated code, and the full response from the OpenAI API.

# set the OpenAI API key
import os
os.environ["OPENAI_API_KEY"] = "<YOUR_API_KEY>"

import autoplotlib as aplt
import pandas as pd

data = pd.DataFrame(
    [[29, 177], [33, 186], [48, 161], [53, 173], [67, 152]],
    index=["Alice", "Bob", "Charlie", "Dave", "Eve"],
    columns=["age", "height"],
)

figure_description = """
Plot the data as scatterplot between height and age.
Add the names as labels next to the data points.
Ensure the labels don't overlap.
Mark people taller than 170 with a star instead of a point.
"""

code, fig, llm_response = aplt.plot(figure_description, data=data)

Contributing

See the development guide for information about contributing.

Potential future features

  • Add sandboxing of code execution (see here)

License

MIT License

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

autoplotlib-0.1.1.tar.gz (1.3 MB view details)

Uploaded Source

Built Distribution

autoplotlib-0.1.1-py3-none-any.whl (5.7 kB view details)

Uploaded Python 3

File details

Details for the file autoplotlib-0.1.1.tar.gz.

File metadata

  • Download URL: autoplotlib-0.1.1.tar.gz
  • Upload date:
  • Size: 1.3 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.1 CPython/3.11.3

File hashes

Hashes for autoplotlib-0.1.1.tar.gz
Algorithm Hash digest
SHA256 5f8f5bdf9eec2c63c6427cfbb4d54952de4e185755780a0fba1ffdecd9c5c579
MD5 149c5d17cc5f34f77d5335d35191d875
BLAKE2b-256 5859f3b9d6ae699b9b5777d97431350ceba336796b5e32870d58add050ec1045

See more details on using hashes here.

File details

Details for the file autoplotlib-0.1.1-py3-none-any.whl.

File metadata

  • Download URL: autoplotlib-0.1.1-py3-none-any.whl
  • Upload date:
  • Size: 5.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.1 CPython/3.11.3

File hashes

Hashes for autoplotlib-0.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 67d300b33703a3b89414b5944920668eee834706d8f3cbc76113b602ed5d7671
MD5 563b8c19e33e6f7ed6e13e104af1e4a4
BLAKE2b-256 43e69db1253f057dc11cf3a3211e54aca57053d58d66d03176fdcb8e20b2d4eb

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