$npx skillfedfor your agent

unoserver

A server for file conversions with Libre Office

With conditionsPyPI Office/BusinessReleased Jun 2026347.1K downloads / moMITPure Python

Decision gist · record as of 2026-08-14

pure-Python wheel — unoserver-3.7-py3-none-any.whl
v3.7 · released 2026-06-10 · Python >=3.8

Yes, if you need to convert documents at scale and have LibreOffice available. The server model is a genuine efficiency win over repeated command-line invocations. Install friction is low (no Python dependencies), but you must use the LibreOffice-bundled Python, which requires upfront setup. No known vulnerabilities. Active maintenance and permissive license. Not suitable if you lack LibreOffice or cannot install packages into its Python environment.AI-flagged interpretation of the facts on this page — verify before relying

Before you install

  • LibreOffice must be installed on the system and unoserver must be installed using the Python interpreter bundled with or used by that LibreOffice installation, not a generic system Python.
  • Low friction: pure Python wheel with no runtime dependencies.
  • Requires LibreOffice itself to be installed and accessible to the same Python interpreter running unoserver; the documentation provides a helper script to locate compatible Python installations.

License · maintenance · safety

MIT (permissive) — MIT license permits unrestricted use, modification, and distribution in commercial and private projects with minimal obligations.

last release 2026-06-10 (65 days) · last repo commit 2026-06-10 · 930 stars

0 known vulnerabilities (OSV.dev, 2026-08-14) · 347,119 downloads/mo, #7,351 on PyPI

Verify before relying

# Install unoserver with the LibreOffice-compatible Python
$ /path/to/libreoffice/python -m pip install unoserver

# Start the server
$ unoserver --interface 127.0.0.1 --port 2003

# In another terminal, convert a document
$ unoconvert input.odt output.pdf --host 127.0.0.1 --port 2003
  • Whether Windows and Mac support is now stable (documentation notes it was untested as of writing).
  • Performance improvement magnitude (docs claim 50–75% CPU reduction but exact conditions unclear).
  • Whether the package works with recent LibreOffice versions beyond what the classifiers indicate.
Same gist for agents: .md · .json

What it is and what it does

Unoserver wraps LibreOffice's UNO interface to expose document conversion as a network service. Instead of spawning a new LibreOffice process for each conversion—which is slow and resource-intensive—unoserver starts one persistent LibreOffice instance that listens on a port and handles conversion requests from client scripts. This dramatically reduces CPU and memory overhead when converting many documents.

The package provides four command-line tools: `unoserver` (starts the listener), `unoconverter` (sends a document to convert), `unocompare` (compares two documents), and `unoping` (checks server status). It supports a wide range of input and output formats, filter options, and can run in daemon mode. Installation requires using the Python interpreter that LibreOffice itself uses, which the documentation helps you locate.

Use it for

  • Batch-convert hundreds of office documents to PDF in a CI/CD pipeline without restarting LibreOffice between files.
  • Build a web service that accepts document uploads and returns converted PDFs or images on demand.
  • Automate document format migration (e.g., XLSX to CSV, ODF to DOCX) in a long-running application.
  • Compare two versions of a document and export the diff as a separate file.
  • Monitor document conversion health in a production system using the `unoping` health-check command.

Worth the install?

AI-flagged interpretation of the facts on this page. Verify before relying on it.

With conditions

Yes, if you need to convert documents at scale and have LibreOffice available.

The server model is a genuine efficiency win over repeated command-line invocations. Install friction is low (no Python dependencies), but you must use the LibreOffice-bundled Python, which requires upfront setup. No known vulnerabilities. Active maintenance and permissive license. Not suitable if you lack LibreOffice or cannot install packages into its Python environment.

Install

unoserver on PyPI

Before you install

Low friction: pure Python wheel with no runtime dependencies. Requires LibreOffice itself to be installed and accessible to the same Python interpreter running unoserver; the documentation provides a helper script to locate compatible Python installations.

LibreOffice must be installed on the system and unoserver must be installed using the Python interpreter bundled with or used by that LibreOffice installation, not a generic system Python.

License in practice

MIT license permits unrestricted use, modification, and distribution in commercial and private projects with minimal obligations.

Quickstart

# Install unoserver with the LibreOffice-compatible Python
$ /path/to/libreoffice/python -m pip install unoserver

# Start the server
$ unoserver --interface 127.0.0.1 --port 2003

# In another terminal, convert a document
$ unoconvert input.odt output.pdf --host 127.0.0.1 --port 2003

Verify before relying

  • Whether Windows and Mac support is now stable (documentation notes it was untested as of writing).
  • Performance improvement magnitude (docs claim 50–75% CPU reduction but exact conditions unclear).
  • Whether the package works with recent LibreOffice versions beyond what the classifiers indicate.

Package facts

LicenseMIT permissive
Python supportSupports the current Python release >=3.8
Install frictionLow. Pure-Python wheel
Runtime dependenciesNone
MaintenanceActively maintained 65 days since the last release
Last repo commit
First released
Downloads347,119 / month, #7,351 on PyPI 30-day window, as of 2026-08-14
Known vulnerabilitiesNone known OSV.dev, checked 2026-08-14
Classifiers
Development Status :: 5 - Production/StableLicense :: OSI Approved :: MIT LicenseOperating System :: POSIX :: LinuxProgramming Language :: Python :: 3Programming Language :: Python :: 3 :: OnlyProgramming Language :: Python :: 3.10Programming Language :: Python :: 3.11Programming Language :: Python :: 3.12Programming Language :: Python :: 3.8Programming Language :: Python :: 3.9Topic :: Office/Business

Evidence: unoserver-3.7-py3-none-any.whl

Tags

Capabilities
libreoffice document conversion serverbatch convert documents to pdfheadless libreoffice automationuno server document conversionconvert odt xlsx to pdf programmatically
Topics
document-conversionlibreoffice-automationbatch-processing
PyPI keywords
libreofficeconversiondocumentsunounoconv

Let your AI agent find packages like this

Example. Real query, live index.

You found this page by searching. An agent finds it by wishing: SkillFed indexes 14,416 PyPI packages by what they can do, searchable in plain language.

wish › “libreoffice document conversion server”

  • unoserverUnoserver runs LibreOffice as a persistent server to convert…
  • antiwordWraps LibreOffice's text conversion to convert documents to plain…
  • py3o.templateMerges data into LibreOffice/OpenOffice templates (ODT, ODS) to…

Give your agent the search over MCP, or paste the wish link into any chat.

More Office/Business packages

tqdm Worth it
PyPI · Libraries · released Jul 2026

Wraps any iterable to display a real-time progress bar in the terminal or Jupyter notebook, showing iteration count, elapsed time, and estimated time remaining.

copyleftpure Python · 3.8+
648.6Mdownloads / mo
slack-sdk Worth it
PyPI · Networking · released Jun 2026

Provides Python bindings for Slack's Web API, webhooks, Socket Mode, OAuth, and other platform APIs, enabling apps to send messages, manage files, verify requests, and interact with Slack workspaces.

Install it if you need to integrate Python applications with Slack—whether for bots, notifications, or custom workflows.

MITpure Python · 3.7+
105.0Mdownloads / mo
xlrd With conditions
PyPI · Python Modules · released Jun 2025

xlrd reads data and formatting information from legacy Excel .xls files, extracting cell values, sheet metadata, and formula results without support for newer formats or advanced features like macros, charts, or password protection.

However, note that it is aging (last release 426 days ago) and does not support newer Excel formats—if you work primarily with .xlsx or .xlsm files, look elsewhere.

BSD-3-Clausepure Pythonaging
89.9Mdownloads / mo
progressbar2 Worth it
PyPI · Libraries · released Aug 2026

progressbar2 renders text-based progress bars in the terminal, handling custom widgets, concurrent bars, unknown-length progress, and clean output around logs and prints.

BSD-3-Clausepure Python · 3.10+
19.3Mdownloads / mo
bokeh Worth it
PyPI · Scientific/Engineering · released Jul 2026

Bokeh is an interactive visualization library that creates browser-based plots, dashboards, and data applications from Python code, with support for large and streaming datasets.

Install it if you need browser-based interactivity.

BSD-3-Clausepure Python · 3.10+
12.1Mdownloads / mo
slackclient With conditions
PyPI · Networking · released Apr 2022

Provides Python interfaces to Slack's Web API and Real Time Messaging (RTM) API for building Slack applications and bots.

Install only if you are maintaining legacy code or have a specific reason not to migrate.

MITpure Python · 3.6.0+
7.7Mdownloads / mo

See also antiword · py3o.template · spire-doc · docx2pdf · docling-slim · ezodf · convertapi · msoffcrypto-tool · django-wkhtmltopdf · pymupdf