ghostscript
Interface to the Ghostscript C-API, both high- and low-level, based on ctypes
What it is and what it does
python-ghostscript wraps the Ghostscript C-API using Python's ctypes module, allowing you to invoke Ghostscript functionality directly from Python code. It provides both a low-level interface for direct C-API calls and a higher-level Pythonic API for common tasks like PostScript-to-PDF conversion. The package is intended for developers and requires an external Ghostscript installation (version 9.0.8 or higher) on the system.
You use it by instantiating a Ghostscript object with command-line arguments, similar to calling the Ghostscript command-line tool from Python. It supports processing files or passing document strings directly. The package has no Python runtime dependencies but depends on ctypes (part of the standard library) and the Ghostscript C library being available on your system.
Use it for:
- Convert PostScript files to PDF or other formats programmatically within a Python application.
- Process PDF files using Ghostscript operations (rendering, merging, optimization) from Python code.
- Build document processing pipelines that need PostScript interpretation or PDF manipulation.
- Automate batch conversion of PostScript documents to other formats in a Python workflow.
- Embed Ghostscript functionality in a larger Python application without shelling out to the command line.
Worth the install?
AI-flagged interpretation of the facts on this page — verify before relying
Provides a Python interface to the Ghostscript C-API using ctypes, enabling PostScript and PDF processing through both low-level and high-level APIs.
Yes, if you need PostScript or PDF processing in Python and can install Ghostscript separately. The package is stable and has low install friction. However, the aging maintenance status (443 days since last release) and GPL-3.0-or-later copyleft license warrant careful consideration of your project's licensing constraints. Not suitable for projects that cannot accept GPLv3 obligations.
Install
ghostscript on PyPI
pip
pip install ghostscriptuv
uv add ghostscriptpoetry
poetry add ghostscriptInstalling ghostscript
Before you install
Low install friction as a pure-Python wheel. Maintenance is aging (443 days since last release), though the package is marked Production/Stable and has been active since 2010.
License in practice
Licensed under GPL-3.0-or-later (copyleft). Any code linking this package must comply with GPLv3 terms, including potential source code disclosure obligations.
Quickstart
import ghostscript
args = ["ps2pdf", "-dNOPAUSE", "-dBATCH", "-dSAFER",
"-sDEVICE=pdfwrite", "-sOutputFile=out.pdf", "-f", "input.ps"]
ghostscript.Ghostscript(*args)
Requires Ghostscript (system library) version 9.0.8 or higher to be installed separately; ctypes is used to call the Ghostscript C-API.
Verify before relying
- Current compatibility with Ghostscript versions beyond 9.0.8 and whether all tested Python versions (3.6–3.13) remain actively supported.
- Whether the package works reliably on non-Linux platforms, as documentation notes testing is limited to GNU/Linux.
Package facts
| License | GPL-3.0-or-later (copyleft) |
| Python support | not specified |
| Install friction | low — pure-Python wheel |
| Runtime dependencies | none |
| Maintenance | aging — 443 days since the last release |
| First released | |
| Downloads | 391,619/month — #7,014 on PyPI (30-day window, as of 2026-08-14) |
| Known vulnerabilities | none known (OSV.dev, checked 2026-08-14) |
Evidence: ghostscript-0.8.1-py3-none-any.whl
Keywords: Ghostscript, PDF, Postscript
Tags
More Python Modules packages
Converts domain names between Unicode and…
permissive · top 100 on PyPI
setuptoolsSetuptools is a Python build backend and…
permissive · top 100 on PyPI
PyYAMLPyYAML parses and emits YAML 1.1 data format,…
permissive · top 100 on PyPI
pydanticPydantic validates Python data structures…
permissive · top 100 on PyPI
annotated-typesProvides reusable metadata objects for use with…
permissive · top 100 on PyPI
typing-inspectionProvides runtime tools to inspect and…
permissive · top 100 on PyPI
treepoemGenerates barcodes and QR codes as image…
permissive · top 5,000 on PyPI
pydyfpydyf generates PDF documents from Python code…
permissive · top 1,000 on PyPI
jaraco.windowsProvides a pure-Python interface to Windows…
permissive · top 15,000 on PyPI
CairoSVGCairoSVG converts SVG files to PDF, EPS, PS,…
copyleft · top 5,000 on PyPI
pyprctlProvides a pure-Python interface to Linux's…
permissive · top 15,000 on PyPI
pdfkitPython wrapper for wkhtmltopdf that converts…
permissive · top 5,000 on PyPI
pypdfium2pypdfium2 is a Python binding to PDFium that…
permissive · top 1,000 on PyPI
pypdftkPython wrapper that drives the pdftk binary to…
permissive · top 15,000 on PyPI
pikepdfpikepdf reads, writes, repairs, and transforms…
copyleft · top 5,000 on PyPI