Operations 6 min read

How I Turned Gnuplot into a One‑Click Python Wheel for Seamless Installation

After struggling with manual gnuplot installations across Linux, macOS, and Windows, the author created a Python wheel that bundles the binary, enabling pip install without system dependencies, simplifying usage for developers, researchers, and DevOps scripts, and integrating it into the gitstats tool.

DevOps Engineer
DevOps Engineer
DevOps Engineer
How I Turned Gnuplot into a One‑Click Python Wheel for Seamless Installation

Why the original gitstats needed gnuplot

gitstats is an open‑source tool that generates Git repository statistics such as commit activity, contributor ranking, growth trends, and visual charts. It depends on the external plotting program gnuplot, which must be installed manually on the host system.

On Linux the user must run apt install gnuplot, on macOS brew install gnuplot, and on Windows the process is even more cumbersome. This manual step breaks the otherwise smooth installation experience.

Design goal: a pip‑installable gnuplot

The author wanted a solution that could be installed with a single pip install command, without administrator rights, without polluting the system environment, and that would work on any platform where Python runs.

No administrator privileges required

No system‑level dependencies

Automatic platform detection (Linux, macOS, Windows)

Runs entirely inside a virtual environment

Implementation – gnuplot‑wheel

The binary files of gnuplot were packaged into a Python wheel. After publishing the wheel on PyPI, users can simply run: pip install gnuplot-wheel Installation places the gnuplot binaries into the virtual environment, avoids conflicts with any existing system gnuplot, and requires no extra permissions.

Once installed, the gnuplot command is available directly from the environment, allowing immediate use without any further setup.

Who can benefit

If you do research or data visualization

You can call gnuplot from Python scripts without dealing with system‑level installations.

If you work in DevOps or automation

Your automation scripts can render curves and trends on any machine without pre‑installing gnuplot.

If you develop tools that depend on gnuplot

Simply add gnuplot-wheel as a dependency, giving end users a zero‑cost onboarding experience.

Integration back into gitstats

The new wheel has been integrated into gitstats, so the latest version no longer requires users to install gnuplot manually. Installing gitstats now looks like: pip install gitstats The package automatically pulls in the gnuplot wheel, handling everything behind the scenes.

Ah, that’s the romance of technology—keeping the complexity for yourself while giving simplicity to the user.

Get the wheel

GitHub: https://github.com/shenxianpeng/gnuplot-wheel

PyPI: https://pypi.org/project/gnuplot-wheel/

Feel free to try it, file issues, or contribute.

PythonAutomationDevOpsPackagingopen-sourceGnuplot
DevOps Engineer
Written by

DevOps Engineer

DevOps engineer, Pythonista and FOSS contributor. Created cpp-linter, commit-check, etc.; contributed to PyPA.

0 followers
Reader feedback

How this landed with the community

Sign in to like

Rate this article

Was this worth your time?

Sign in to rate
Discussion

0 Comments

Thoughtful readers leave field notes, pushback, and hard-won operational detail here.