gptplot


Namegptplot JSON
Version 0.1.4 PyPI version JSON
download
home_pageNone
SummaryAI-powered scientific plotting tool inspired by gnuplot
upload_time2025-11-03 13:44:25
maintainerNone
docs_urlNone
authorNone
requires_python>=3.9
licenseMIT
keywords plotting visualization scientific gnuplot data-science matplotlib cli ai plotting-tool
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # GPTPlot

[![PyPI version](https://badge.fury.io/py/gptplot.svg)](https://badge.fury.io/py/gptplot)
[![Python](https://img.shields.io/pypi/pyversions/gptplot.svg)](https://pypi.org/project/gptplot/)
[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)

**AI-powered scientific plotting tool inspired by gnuplot**

GPTPlot combines the simplicity of gnuplot's CLI with the power of Python's scientific stack (matplotlib, pandas, seaborn). Create publication-quality plots from the command line or interactive shell.

## ✨ Features

- 🚀 **Fast CLI plotting** - Generate plots without writing code
- 📊 **Multiple plot types** - Line, scatter, heatmap, quiver, surface, and more
- 🎨 **Beautiful themes** - Journal, presentation, and dark modes
- 📁 **Smart data loading** - Auto-detects CSV, DAT, TXT formats
- ⚙️ **YAML configs** - Reproducible plots via configuration files
- 🔢 **Interactive mode** - Explore data with an interactive shell
- 📈 **Data analysis** - Built-in correlation, fitting, and statistics
- 🤖 **AI-Ready** - Designed for future LLM integration

## 🔧 Installation

```bash
pip install gptplot
```

Requires Python 3.9+

## 🚀 Quick Start

### Basic plotting
```bash
# Simple line plot
gptplot data.csv --x time --y voltage

# Auto-detect columns and plot type
gptplot data.csv

# Create scatter plot with custom styling
gptplot data.csv --type scatter --theme journal -o figure1
```

### Multiple plot types
```bash
# Heatmap
gptplot grid.dat --x 1 --y 2 --z 3 --type heatmap --cmap viridis

# Histogram
gptplot data.csv --y values --type hist --bins 50

# Box plot
gptplot data.csv --x category --y measurement --type box
```

### Configuration files
```bash
# Create plot_config.yaml
cat > plot_config.yaml << EOF
type: scatter
x: time
y: voltage
xlabel: Time (s)
ylabel: Voltage (V)
theme: journal
dpi: 300
EOF

# Use config
gptplot data.csv --config plot_config.yaml
```

### Interactive mode
```bash
gptplot data.csv --interactive

# In the shell:
> plot x=time y=voltage type=line
> set theme dark
> save my_plot
> quit
```

## 📊 Examples

### Data Science Workflow
```bash
# Correlation heatmap
gptplot data.csv --corr

# Statistical summary
gptplot data.csv --summary

# Polynomial fitting
gptplot data.csv --x time --y signal --fit poly2
```

### Scientific Plotting
```bash
# Vector field (quiver plot)
gptplot spins.dat --no-header \
  --x 1 --y 2 --u 4 --v 5 --z 6 \
  --type quiver --cmap coolwarm

# 3D surface
gptplot grid.dat --x 1 --y 2 --z 3 \
  --type surface --cmap viridis
```

## 🎨 Themes

Built-in professional themes:

```bash
--theme journal        # Clean, publication-ready
--theme presentation   # Large fonts, high contrast
--theme dark           # Dark background
--theme notebook       # Jupyter-style
```

## 📁 Supported Formats

- **Input**: CSV, DAT, TXT (auto-detected delimiters)
- **Output**: PNG, PDF, SVG
- **Config**: YAML, JSON

## 🛠️ Advanced Features

### Custom output directory
```bash
gptplot data.csv -o myplot --output-dir figures/
```

### File naming schemes
```bash
# Overwrite (default)
gptplot data.csv -o plot

# Timestamp (experiment tracking)
gptplot data.csv --save-naming timestamp -o experiment

# Numbered (multiple runs)
gptplot data.csv --save-naming numbered -o run
```

### Column specification
```bash
# By name
gptplot data.csv --x time --y voltage

# By 1-based index
gptplot data.dat --no-header --x 1 --y 2
```

## 🤖 Future: AI Integration

GPTPlot is designed with future LLM integration in mind:
```bash
# Coming soon!
gptplot --llm "plot voltage vs time with a dark theme"
```

## 📖 Documentation

Full documentation available at: [GitHub Repository](https://github.com/yourusername/gptplot)

## 🤝 Contributing

Contributions welcome! Please feel free to submit a Pull Request.

## 📄 License

This project is licensed under the MIT License - see the LICENSE file for details.

## 🙏 Acknowledgements

Inspired by gnuplot's simplicity and powered by Python's scientific stack:
- matplotlib
- pandas
- seaborn
- numpy
- scipy

## 📬 Contact

- GitHub: [@arnobmukherjee1988](https://github.com/arnobmukherjee1988)
- Email: arnobmukherjee1988@gmail.com

---

**Made with ❤️ for scientists and data enthusiasts**

            

Raw data

            {
    "_id": null,
    "home_page": null,
    "name": "gptplot",
    "maintainer": null,
    "docs_url": null,
    "requires_python": ">=3.9",
    "maintainer_email": "Arnob <arnobmukherjee1988@gmail.com>",
    "keywords": "plotting, visualization, scientific, gnuplot, data-science, matplotlib, cli, ai, plotting-tool",
    "author": null,
    "author_email": "Arnob <arnobmukherjee1988@gmail.com>",
    "download_url": "https://files.pythonhosted.org/packages/34/66/9666a06a7112e4b6ce5bbe519e5b78c62e6c7f6b0a962ef05323d7edea91/gptplot-0.1.4.tar.gz",
    "platform": null,
    "description": "# GPTPlot\n\n[![PyPI version](https://badge.fury.io/py/gptplot.svg)](https://badge.fury.io/py/gptplot)\n[![Python](https://img.shields.io/pypi/pyversions/gptplot.svg)](https://pypi.org/project/gptplot/)\n[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)\n\n**AI-powered scientific plotting tool inspired by gnuplot**\n\nGPTPlot combines the simplicity of gnuplot's CLI with the power of Python's scientific stack (matplotlib, pandas, seaborn). Create publication-quality plots from the command line or interactive shell.\n\n## \u2728 Features\n\n- \ud83d\ude80 **Fast CLI plotting** - Generate plots without writing code\n- \ud83d\udcca **Multiple plot types** - Line, scatter, heatmap, quiver, surface, and more\n- \ud83c\udfa8 **Beautiful themes** - Journal, presentation, and dark modes\n- \ud83d\udcc1 **Smart data loading** - Auto-detects CSV, DAT, TXT formats\n- \u2699\ufe0f **YAML configs** - Reproducible plots via configuration files\n- \ud83d\udd22 **Interactive mode** - Explore data with an interactive shell\n- \ud83d\udcc8 **Data analysis** - Built-in correlation, fitting, and statistics\n- \ud83e\udd16 **AI-Ready** - Designed for future LLM integration\n\n## \ud83d\udd27 Installation\n\n```bash\npip install gptplot\n```\n\nRequires Python 3.9+\n\n## \ud83d\ude80 Quick Start\n\n### Basic plotting\n```bash\n# Simple line plot\ngptplot data.csv --x time --y voltage\n\n# Auto-detect columns and plot type\ngptplot data.csv\n\n# Create scatter plot with custom styling\ngptplot data.csv --type scatter --theme journal -o figure1\n```\n\n### Multiple plot types\n```bash\n# Heatmap\ngptplot grid.dat --x 1 --y 2 --z 3 --type heatmap --cmap viridis\n\n# Histogram\ngptplot data.csv --y values --type hist --bins 50\n\n# Box plot\ngptplot data.csv --x category --y measurement --type box\n```\n\n### Configuration files\n```bash\n# Create plot_config.yaml\ncat > plot_config.yaml << EOF\ntype: scatter\nx: time\ny: voltage\nxlabel: Time (s)\nylabel: Voltage (V)\ntheme: journal\ndpi: 300\nEOF\n\n# Use config\ngptplot data.csv --config plot_config.yaml\n```\n\n### Interactive mode\n```bash\ngptplot data.csv --interactive\n\n# In the shell:\n> plot x=time y=voltage type=line\n> set theme dark\n> save my_plot\n> quit\n```\n\n## \ud83d\udcca Examples\n\n### Data Science Workflow\n```bash\n# Correlation heatmap\ngptplot data.csv --corr\n\n# Statistical summary\ngptplot data.csv --summary\n\n# Polynomial fitting\ngptplot data.csv --x time --y signal --fit poly2\n```\n\n### Scientific Plotting\n```bash\n# Vector field (quiver plot)\ngptplot spins.dat --no-header \\\n  --x 1 --y 2 --u 4 --v 5 --z 6 \\\n  --type quiver --cmap coolwarm\n\n# 3D surface\ngptplot grid.dat --x 1 --y 2 --z 3 \\\n  --type surface --cmap viridis\n```\n\n## \ud83c\udfa8 Themes\n\nBuilt-in professional themes:\n\n```bash\n--theme journal        # Clean, publication-ready\n--theme presentation   # Large fonts, high contrast\n--theme dark           # Dark background\n--theme notebook       # Jupyter-style\n```\n\n## \ud83d\udcc1 Supported Formats\n\n- **Input**: CSV, DAT, TXT (auto-detected delimiters)\n- **Output**: PNG, PDF, SVG\n- **Config**: YAML, JSON\n\n## \ud83d\udee0\ufe0f Advanced Features\n\n### Custom output directory\n```bash\ngptplot data.csv -o myplot --output-dir figures/\n```\n\n### File naming schemes\n```bash\n# Overwrite (default)\ngptplot data.csv -o plot\n\n# Timestamp (experiment tracking)\ngptplot data.csv --save-naming timestamp -o experiment\n\n# Numbered (multiple runs)\ngptplot data.csv --save-naming numbered -o run\n```\n\n### Column specification\n```bash\n# By name\ngptplot data.csv --x time --y voltage\n\n# By 1-based index\ngptplot data.dat --no-header --x 1 --y 2\n```\n\n## \ud83e\udd16 Future: AI Integration\n\nGPTPlot is designed with future LLM integration in mind:\n```bash\n# Coming soon!\ngptplot --llm \"plot voltage vs time with a dark theme\"\n```\n\n## \ud83d\udcd6 Documentation\n\nFull documentation available at: [GitHub Repository](https://github.com/yourusername/gptplot)\n\n## \ud83e\udd1d Contributing\n\nContributions welcome! Please feel free to submit a Pull Request.\n\n## \ud83d\udcc4 License\n\nThis project is licensed under the MIT License - see the LICENSE file for details.\n\n## \ud83d\ude4f Acknowledgements\n\nInspired by gnuplot's simplicity and powered by Python's scientific stack:\n- matplotlib\n- pandas\n- seaborn\n- numpy\n- scipy\n\n## \ud83d\udcec Contact\n\n- GitHub: [@arnobmukherjee1988](https://github.com/arnobmukherjee1988)\n- Email: arnobmukherjee1988@gmail.com\n\n---\n\n**Made with \u2764\ufe0f for scientists and data enthusiasts**\n",
    "bugtrack_url": null,
    "license": "MIT",
    "summary": "AI-powered scientific plotting tool inspired by gnuplot",
    "version": "0.1.4",
    "project_urls": null,
    "split_keywords": [
        "plotting",
        " visualization",
        " scientific",
        " gnuplot",
        " data-science",
        " matplotlib",
        " cli",
        " ai",
        " plotting-tool"
    ],
    "urls": [
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "5ede0e90ec77e8f080268b3da1c1278864d8ff863264aef16174b20086065237",
                "md5": "c66c00f5422f1a90b4ed5f6fdf0333dc",
                "sha256": "3e0c402547becde0a29ae1b668ab285086086434714aa202dfde4a5f8ac1b1da"
            },
            "downloads": -1,
            "filename": "gptplot-0.1.4-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "c66c00f5422f1a90b4ed5f6fdf0333dc",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.9",
            "size": 19702,
            "upload_time": "2025-11-03T13:44:23",
            "upload_time_iso_8601": "2025-11-03T13:44:23.739052Z",
            "url": "https://files.pythonhosted.org/packages/5e/de/0e90ec77e8f080268b3da1c1278864d8ff863264aef16174b20086065237/gptplot-0.1.4-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "34669666a06a7112e4b6ce5bbe519e5b78c62e6c7f6b0a962ef05323d7edea91",
                "md5": "533f59866e9a9f49b32c33eb71c2d33f",
                "sha256": "b2e3c20e48a5abe7f16fd2d4378f38681d125e28efbd2360429a2f50020cae82"
            },
            "downloads": -1,
            "filename": "gptplot-0.1.4.tar.gz",
            "has_sig": false,
            "md5_digest": "533f59866e9a9f49b32c33eb71c2d33f",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.9",
            "size": 49551,
            "upload_time": "2025-11-03T13:44:25",
            "upload_time_iso_8601": "2025-11-03T13:44:25.260473Z",
            "url": "https://files.pythonhosted.org/packages/34/66/9666a06a7112e4b6ce5bbe519e5b78c62e6c7f6b0a962ef05323d7edea91/gptplot-0.1.4.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2025-11-03 13:44:25",
    "github": false,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "lcname": "gptplot"
}
        
Elapsed time: 0.49210s