--- id: mpxj version: "16.7.0" license: LGPL-2.0-or-later license_treatment: copyleft maintenance: active --- # mpxj — Python wrapper for the MPXJ Java library for manipulating project files License: copyleft · Maintenance: active · Downloads: 179.9K/mo ## What it is and what it does MPXJ is a Python wrapper around the Java MPXJ library that lets you read, write, and manipulate project management files in formats like MPP, MPX, and MSPDI. It exposes the MPXJ object model so you can extract tasks, resources, assignments, and schedule data, or generate new project files programmatically. You can use it for simple file format conversion, direct data extraction from existing project files, or building complete project schedules from scratch with tasks, resources, dependencies, and milestones. The package requires a Java runtime and handles lifecycle management explicitly in your code. Use it for: - Convert project files between formats without Microsoft Project installed. - Extract task lists, resource assignments, and schedule data from existing project files for reporting. - Programmatically generate new project schedules with tasks, dependencies, and resources. - Integrate project file handling into Python-based project management tools. - Migrate project data between systems by reading one format and writing another. ## Worth the install? AI-flagged interpretation of the facts above — verify before relying. Reads and writes project management file formats (MPP, MPX, XML, and others) by wrapping the Java MPXJ library, enabling project data extraction, conversion, and schedule generation from Python. Yes, if you need to work with project files from Python and can manage a Java dependency. The package is actively maintained, has no known vulnerabilities, and low install friction. The copyleft license (LGPL-2.0-or-later) requires compliance if you distribute derivative works. Main consideration is explicit JVM lifecycle management in your code. ## Install pip install mpxj uv add mpxj poetry add mpxj ## Installing mpxj Before you install: Low install friction; pure Python wheel with no compiled dependencies. Actively maintained with a recent release (2026-08-08) and steady repository activity. License in practice: Licensed under LGPL-2.0-or-later (copyleft). Derivative works and modifications must be distributed under compatible terms; proprietary applications using this package must comply with copyleft obligations. Quickstart: import mpxj # Start JVM, read project file, extract tasks, shutdown JVM # See documentation for full examples of file conversion and schedule generation Requires a Java Runtime Environment (JRE) installed; explicit JVM lifecycle management required in calling code. Verify before relying: - Whether JPype is automatically installed as a dependency or must be manually installed separately. - Performance characteristics when working with large project files or complex schedules. - Compatibility matrix with specific Microsoft Project versions and file format variants. - Complete list of supported project file formats beyond MPP, MPX, and MSPDI. ## Package facts - License: LGPL-2.0-or-later (copyleft) - Python support: supports_current - Install friction: low - Maintenance: active - Downloads: 179.9K/month (top 15,000 on PyPI) - Known vulnerabilities: none known ## Tags project file format conversion, read mpp mpx xml project files, project management file parsing, extract project tasks resources, generate project schedules, project data manipulation, microsoft project file handling, project-management, file-format-conversion, java-interop [View on SkillFed](https://skillfed.io/packages/mpxj) · [View on PyPI](https://pypi.org/project/mpxj/)