docx-mailmerge
Performs a Mail Merge on docx (Microsoft Office Word) files
Decision gist · record as of 2026-08-14
Yes, if you need basic mail merge for docx files and can work within its documented scope. The permissive MIT license and zero runtime dependencies make it low-friction to add. However, the abandoned status means no bug fixes or compatibility updates will arrive—test thoroughly with your target Python version and docx complexity before relying on it in production.AI-flagged interpretation of the facts on this page — verify before relying
Before you install
- Installation is straightforward with no runtime dependencies.
- However, the project is archived and the last release was in 2019, indicating the package is no longer actively maintained.
License · maintenance · safety
MIT (permissive) — Licensed under MIT (permissive), so you can use, modify, and distribute the package freely with minimal restrictions.
last release 2019-10-09 (2501 days) · last repo commit 2024-07-19 · 274 stars · archived
0 known vulnerabilities (OSV.dev, 2026-08-14) · 215,027 downloads/mo, #9,407 on PyPI
Alternatives
Verify before relying
pip install docx-mailmerge
from mailmerge import MailMerge
with MailMerge('input.docx') as document:
document.merge(field1='value1', field2='value2')
document.write('output.docx')- Whether the package works reliably with Python versions beyond 3.4 as declared in classifiers
- Whether merge operations handle complex docx structures beyond documented basic field and row merging
- Current compatibility with recent versions of the Office Open XML format
What it is and what it does
docx-mailmerge is a Python library that automates filling Microsoft Word templates by replacing merge fields with values you supply. It reads docx files, identifies merge fields defined in the template, and substitutes them with provided data—all without needing Microsoft Office installed. The library supports simple field replacement, dynamic table row generation from lists of dictionaries, and template duplication with page breaks for bulk document creation.
The package has no runtime dependencies, making it lightweight to install. However, it has been archived and unmaintained since 2019. While it remains functional for basic mail merge tasks, you should be aware that it will not receive updates for compatibility with newer Python versions or changes to the docx specification.
Use it for
- Generate personalized letters or documents by merging customer data into a template
- Create bulk invoices or reports by populating templates with rows of tabular data
- Automate document generation in a web application without deploying Microsoft Office on the server
- Build dynamic table contents in docx files by supplying lists of dictionaries as row data
- Produce multiple document copies from a single template with different field values for each
Worth the install?
AI-flagged interpretation of the facts on this page. Verify before relying on it.
Yes, if you need basic mail merge for docx files and can work within its documented scope.
The permissive MIT license and zero runtime dependencies make it low-friction to add. However, the abandoned status means no bug fixes or compatibility updates will arrive—test thoroughly with your target Python version and docx complexity before relying on it in production.
Install
docx-mailmerge on PyPI
Before you install
Installation is straightforward with no runtime dependencies. However, the project is archived and the last release was in 2019, indicating the package is no longer actively maintained.
License in practice
Licensed under MIT (permissive), so you can use, modify, and distribute the package freely with minimal restrictions.
Quickstart
pip install docx-mailmerge
from mailmerge import MailMerge
with MailMerge('input.docx') as document:
document.merge(field1='value1', field2='value2')
document.write('output.docx')
Verify before relying
- Whether the package works reliably with Python versions beyond 3.4 as declared in classifiers
- Whether merge operations handle complex docx structures beyond documented basic field and row merging
- Current compatibility with recent versions of the Office Open XML format
Package facts
| License | MIT permissive |
| Python support | Not specified |
| Install friction | Low. Pure-Python wheel |
| Runtime dependencies | None |
| Maintenance | Abandoned 2,501 days since the last release |
| Last repo commit | repository archived |
| First released | |
| Downloads | 215,027 / month, #9,407 on PyPI 30-day window, as of 2026-08-14 |
| Known vulnerabilities | None known OSV.dev, checked 2026-08-14 |
| Classifiers | License :: OSI Approved :: MIT LicenseProgramming Language :: Python :: 2.7Programming Language :: Python :: 3.2Programming Language :: Python :: 3.3Programming Language :: Python :: 3.4Topic :: Text Processing |
Evidence: docx_mailmerge-0.5.0-py2.py3-none-any.whl
Tags
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 › “mail merge docx python”
- docx-mailmergePerforms mail merge operations on docx files by replacing merge…
- docx-mailmerge2Performs mail merge operations on docx files by replacing merge…
- docxtplGenerates Word documents (.docx) from templates by embedding Jinja2…
Give your agent the search over MCP, or paste the wish link into any chat.
More Text Processing packages
A drop-in replacement for Python's standard `re` module that adds advanced regex features like nested sets, fuzzy matching, lookaround in conditionals, and full Unicode case-folding while maintaining backward compatibility.
pyparsing provides a library for building text parsers directly in Python code using composable grammar classes, handling quoted strings, whitespace variation, and embedded comments without regex or lex/yacc.
Install it if you need to parse text or define grammars programmatically.
fonttools manipulates font files in multiple formats (TrueType, OpenType, AFM, Type 1, Mac-specific) and includes TTX, a tool to convert fonts to and from XML text format.
Install it if you need to read, write, or manipulate fonts programmatically or via the TTX command-line tool.
Docutils converts plaintext documentation in reStructuredText format into multiple output formats including HTML, XML, and LaTeX using a modular processing system.
RapidFuzz provides fast fuzzy string matching using Levenshtein Distance and related metrics, implemented mostly in C++ with Python bindings for rapid similarity scoring and approximate string matching.
Install it if you need fuzzy string matching; it's a solid replacement for FuzzyWuzzy with better licensing and performance.
tinycss2 parses CSS strings into token and block objects, and generates CSS strings from those objects, following the CSS Syntax Level 3 specification without enforcing specific properties or values.
Install it if your project requires CSS tokenization or syntax manipulation.
See also docx-mailmerge2 · docxtpl · docxcompose · docx · python-docx · doc2docx · python-docx-ml6 · docx2pdf · aspose-words · htmldocx