GroupDocs.Metadata for Python via .NET 26.5 Release Notes
This release adds Python 3.14 support and AI agent integration, and ships self-contained wheels for Windows, Linux, and macOS.
Full List of Changes in This Release
| Key | Category | Summary |
|---|---|---|
| METADATAPYTHON‑33 | Enhancement | Rebuilt the Python binding — a typed, per-overload API with bundled .pyi stubs (no runtime __getattr__ proxy) |
| METADATAPYTHON‑34 | Feature | Python 3.14 support (Requires-Python is now >=3.5,<3.15) |
| METADATAPYTHON‑35 | Feature | Ship AGENTS.md inside the package for AI agent / LLM integration |
| METADATAPYTHON‑36 | Enhancement | Updated to the GroupDocs.Metadata for .NET 26.5 engine |
| METADATAPYTHON‑37 | Enhancement | Self-contained wheels with an embedded .NET runtime for Windows, Linux, and macOS (Intel and Apple Silicon) |
Major Features
A modern, typed Python API
Every class, method overload, and enum is emitted explicitly with type hints and .pyi stubs, so editors provide accurate autocomplete and there is no dynamic attribute proxy at runtime. Property search uses plain Python predicates — no Specification objects.
from groupdocs.metadata import Metadata
# Open a file and read all of its detected metadata properties
with Metadata("input.docx") as metadata:
for prop in metadata.find_properties(lambda p: True):
print(f"{prop.name} = {prop.value}")
Edit, add, remove, and clean metadata with the same predicate-driven API:
from datetime import datetime
from groupdocs.metadata import Metadata
from groupdocs.metadata.common import PropertyValue
from groupdocs.metadata.tagging import Tags
with Metadata("input.docx") as metadata:
# set_properties adds or updates every property matching the predicate
metadata.set_properties(
lambda p: Tags.time.created in list(p.tags),
PropertyValue(datetime.now()),
)
metadata.save("output.docx")
# Strip every detected property in one call
with Metadata("input.pdf") as metadata:
removed = metadata.sanitize()
metadata.save("clean.pdf")
The release covers the full metadata surface: document properties, the EXIF, IPTC IIM, and XMP standards, ID3/Lyrics/APE audio tags, and export of the metadata tree to Excel, CSV, JSON, or XML via ExportManager.
Python 3.14 support
The supported Python range is extended to 3.5 – 3.14. The Requires-Python metadata reads >=3.5,<3.15, and the PyPI page lists classifiers through Python 3.14. The wheel is py3-none-{platform}, so a single build works across all supported interpreters without recompilation.
AGENTS.md — AI Agent and LLM Integration
The groupdocs-metadata-net pip package now ships an AGENTS.md file at groupdocs/metadata/AGENTS.md inside the wheel. AI coding assistants that scan installed packages — such as Claude Code, Cursor, and GitHub Copilot — can automatically discover the API surface, import paths, usage patterns, and troubleshooting tips.
pip show -f groupdocs-metadata-net | grep AGENTS
See the Agents and LLM Integration documentation page for MCP server setup, machine-readable documentation URLs, and example pipelines.
API Overview
| Method | Returns | Description |
|---|---|---|
Metadata(path | stream | uri[, load_options]) | Open a file by path, binary stream, or URI; optional LoadOptions for a format hint or password | |
get_root_package() | RootMetadataPackage | Root of the metadata tree (document_properties, exif_package, xmp_package, iptc_package, …) |
get_document_info() | IDocumentInfo | Format, MIME type, page count, size, and encryption state |
find_properties(predicate) | collection | Properties matching a lambda p: bool |
set_properties / add_properties / update_properties / remove_properties | int | Add/update/remove properties matching a predicate |
sanitize() | int | Remove every detected property |
save([path | stream]) | None | Save to a new path/stream or back to the original source |
Export uses groupdocs.metadata.export.ExportManager(list(properties)).export(path, ExportFormat.X) with ExportFormat of XLSX, CSV, JSON, or XML.
Platform Wheels
| Platform | Wheel suffix |
|---|---|
| Windows 64-bit | py3-none-win_amd64.whl |
| Linux x64 (glibc) | py3-none-manylinux1_x86_64.whl |
| macOS Intel | py3-none-macosx_10_14_x86_64.whl |
| macOS Apple Silicon | py3-none-macosx_11_0_arm64.whl |
Requirements
- Python: 3.5 through 3.14
- Platforms: Windows (x64), Linux (x64 glibc), macOS (Intel and Apple Silicon)
- Optional system dependencies (Linux/macOS, for image and export paths):
libgdiplus,libfontconfig1,libicu-dev. See System Requirements.
Evaluation and Licensing
Without a license the library runs in evaluation mode: it reads only the first few properties of each metadata package, and save() raises an “Evaluation only” exception. Apply a license (or set GROUPDOCS_LIC_PATH) to lift both limits. A free 30-day temporary license is available.
Additional Resources
Feedback
If you have any questions, issues, or suggestions, please reach out through the Free Support Forum.