PyP6Xer Documentation
Welcome to PyP6Xer, a powerful Python library for parsing and manipulating Primavera P6 XER files.
Documentation last updated: July 2025
Overview
PyP6Xer is an open-source Python library that provides a comprehensive solution for reading, parsing, and writing Primavera P6 XER (eXchange ERport) files. It allows you to extract project data, activities, resources, calendars, and relationships from P6 exports and work with them programmatically.
Key Features
Complete XER File Parsing: Parse all major XER file components including projects, activities, WBS, resources, calendars, and relationships
Object-Oriented Design: Clean, intuitive API with well-structured classes representing P6 entities
Data Export: Write modified data back to XER format
Comprehensive Coverage: Support for activities, resources, calendars, codes, relationships, and more
Easy Integration: Simple Python API that integrates easily into existing workflows
Open Source: Licensed under GNU LGPL v2.1
Quick Start
Installation
pip install PyP6XER
Basic Usage
from xerparser.reader import Reader
# Load an XER file
xer = Reader("project.xer")
# Access projects
for project in xer.projects:
print(f"Project: {project.proj_short_name}")
# Access activities in the project
for activity in project.activities:
print(f" Activity: {activity.task_name}")
print(f" Duration: {activity.target_drtn_hr_cnt} hours")
print(f" Status: {activity.status_code}")
# Access resources
for resource in xer.resources:
print(f"Resource: {resource.rsrc_name}")
# Access relationships
for relation in xer.relations:
print(f"Relationship: {relation.pred_task_id} -> {relation.task_id}")
Table of Contents
API Reference
Development
Supported XER Elements
PyP6Xer supports parsing and manipulation of the following XER file elements:
Core Project Elements
Projects: Project information, settings, and metadata
Activities (Tasks): Project activities with durations, dates, and status
WBS: Work Breakdown Structure hierarchy
Relationships: Activity dependencies and logic links
Resources and Assignments
Resources: Human and material resources
Resource Assignments: Activity-resource assignments
Resource Rates: Cost and pricing information
Resource Categories: Resource classification
Scheduling and Time
Calendars: Working time definitions and exceptions
Schedule Options: Project scheduling parameters
Classification and Codes
Activity Codes: Custom activity classification
Activity Types: Predefined activity classifications
UDF Types and Values: User-defined fields
Financial
Accounts: Cost account structure
Currencies: Multi-currency support
Financial Templates: Cost templates
Organizational
OBS: Organizational Breakdown Structure
Roles: Resource roles and responsibilities
Project Structure
The library is organized into several key modules:
xerparser.reader
: Main parsing functionalityxerparser.writer
: XER file output functionalityxerparser.model
: Core data model classesxerparser.model.classes
: Individual entity classes (Project, Task, Resource, etc.)
License
PyP6Xer is licensed under the GNU Lesser General Public License v2.1. See the License page for full details.
Support and Contributing
Issues: Report bugs and request features on GitHub Issues
Contributing: See the Contributing Guide
Community: Join discussions on project development