$npx skillfedfor your agent

docx-mailmerge

Performs a Mail Merge on docx (Microsoft Office Word) files

With conditionsPyPI Text ProcessingReleased Oct 2019215.0K downloads / moMITPure Python

Decision gist · record as of 2026-08-14

pure-Python wheel — docx_mailmerge-0.5.0-py2.py3-none-any.whl
v0.5.0 · released 2019-10-09

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

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
Same gist for agents: .md · .json

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.

With conditions

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

LicenseMIT permissive
Python supportNot specified
Install frictionLow. Pure-Python wheel
Runtime dependenciesNone
MaintenanceAbandoned 2,501 days since the last release
Last repo commit repository archived
First released
Downloads215,027 / month, #9,407 on PyPI 30-day window, as of 2026-08-14
Known vulnerabilitiesNone 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

Capabilities
mail merge docx pythonword document template mergedocx field replacementbulk document generationword template automationmerge fields docxdocument template filling
Topics
document-automationarchived

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

regex Worth it
PyPI · Python Modules · released Jul 2026

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.

Apache-2.0 AND CNRI-Pythoncompiled wheel · 3.10+
437.7Mdownloads / mo
pyparsing Worth it
PyPI · Text Processing · released Jan 2026

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.

MITpure Python · 3.9+
412.7Mdownloads / mo
fonttools Worth it
PyPI · Text Processing · released May 2026

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.

permissive licensepure Python · 3.10+
235.9Mdownloads / mo
docutils With conditions
PyPI · Software Development · released May 2026

Docutils converts plaintext documentation in reStructuredText format into multiple output formats including HTML, XML, and LaTeX using a modular processing system.

BSD-3-Clausepure Python · 3.9+
225.6Mdownloads / mo
RapidFuzz Worth it
PyPI · Text Processing · released Apr 2026

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.

MITcompiled wheel · 3.10+
184.2Mdownloads / mo
tinycss2 Worth it
PyPI · Text Processing · released Nov 2025

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.

BSD-3-Clausepure Python · 3.10+
113.2Mdownloads / mo

See also docx-mailmerge2 · docxtpl · docxcompose · docx · python-docx · doc2docx · python-docx-ml6 · docx2pdf · aspose-words · htmldocx