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.
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.
DevOps Engineer
DevOps engineer, Pythonista and FOSS contributor. Created cpp-linter, commit-check, etc.; contributed to PyPA.
How this landed with the community
Was this worth your time?
0 Comments
Thoughtful readers leave field notes, pushback, and hard-won operational detail here.
