PyP6Xer

 
 

Открытая библиотека Python для файлов Primavera P6 XER

Разбирайте, анализируйте и манипулируйте файлами Primavera P6 XER без зависимостей с помощью бесплатного Python API.

Что такое PyP6Xer?

PyP6Xer — мощная открытая библиотека Python, предназначенная для разбора, анализа и манипулирования файлами Primavera P6 XER (eXchange ERport). Она предоставляет интуитивный объектно‑ориентированный интерфейс для доступа ко всем данным проекта, включая задачи, ресурсы, календари, WBS и взаимосвязи, без необходимости внешних зависимостей. Библиотека поддерживает всесторонний анализ графика, управление ресурсами и расчёты заработанной стоимости, что делает её идеальной для специалистов в области строительства, инженерии и управления проектами.

С помощью PyP6Xer разработчики могут читать файлы XER, извлекать структурированные данные, выполнять анализ критического пути, проверять качество графика и экспортировать изменённые данные обратно в формат XER. Библиотека следует принципам Pythonic‑дизайна и предлагает чистые API для доступа к проектам, задачам, ресурсам и их взаимозависимостям. Она обеспечивает интеграцию с другими системами, пользовательскую отчётность, анализ портфеля и продвинутые метрики планирования, используя только стандартную библиотеку Python, что гарантирует переносимость и простоту развертывания.

Previous Next

Начало работы с PyP6Xer

Установите PyP6Xer из PyPI с помощью pip, используя команду pip install PyP6XER. Альтернативно, клонируйте исходный код из PyP6Xer на GitHub репозитория и установите его в режиме разработки с помощью pip install -e .. Библиотека требует Python 3.6 или выше и не имеет внешних зависимостей, полагаясь исключительно на стандартную библиотеку Python для максимальной переносимости и простоты развертывания. После установки вы можете начать разбор XER‑файлов и доступ к данным проекта через её интуитивно понятный объектно‑ориентированный API.

Установите PyP6Xer с помощью команды PIP

pip install PyP6XER

Разбор XER файлов и доступ к данным проекта

PyP6Xer позволяет разработчикам загружать и разбирать файлы Primavera P6 XER с минимальным количеством кода. С помощью класса Reader вы можете загрузить файл XER и получить доступ к проектам, задачам, ресурсам и связям через чистый объектно‑ориентированный интерфейс. Каждый элемент раскрывает такие атрибуты, как коды задач, длительности, коды статуса и многое другое. Библиотека автоматически фильтрует данные по контексту проекта, позволяя эффективно перемещаться по большим портфелям проектов. Это делает её идеальной для создания пользовательских инструментов отчётности, скриптов проверки данных и интеграционных конвейеров, которым требуется структурированный доступ к данным проектов P6 без сложной логики разбора.

Как загрузить и получить доступ к данным проекта через Python API?

from xerparser.reader import Reader

# Load an XER file
xer = Reader("project.xer")

# Access projects and activities
for project in xer.projects:
    print(f"Project: {project.proj_short_name}")
    for activity in project.activities:
        print(f"  {activity.task_code}: {activity.task_name}")
        print(f"  Duration: {activity.duration} days")

Анализ критического пути и расписания

PyP6Xer включает встроенные инструменты для идентификации критического пути и анализа качества расписания. Разработчики могут рассчитывать значения плавающих запасов, выявлять мероприятия с нулевым или отрицательным общим запасом, а также обнаруживать проблемы планирования, такие как множественные стартовые мероприятия или чрезмерно длительные сроки. Библиотека раскрывает ключевые атрибуты планирования, такие как ранние/поздние даты, общий запас и статус мероприятия, позволяя проводить всестороннюю проверку состояния расписания. Эта функциональность поддерживает менеджеров проектов в проверке целостности расписания, оптимизации распределения ресурсов и обеспечении соответствия лучшим практикам планирования без необходимости использования внешних инструментов или ручной обработки данных.

Как определить критические пути задач с помощью Python?

# Find critical activities
critical_activities = []
for activity in xer.activities:
    if activity.total_float_hr_cnt is not None and activity.total_float_hr_cnt <= 0:
        critical_activities.append(activity)

print(f"Critical Path: {len(critical_activities)} activities")
for activity in critical_activities:
    print(f"  {activity.task_code}: {activity.task_name}")

Анализ распределения и использования ресурсов

PyP6Xer предоставляет надёжную поддержку управления ресурсами и анализа их использования. Разработчики могут получать доступ к назначениям ресурсов, рассчитывать общее количество назначенных часов, выявлять переизрасходованные ресурсы и анализировать затраты ресурсов по видам деятельности. Библиотека поддерживает трудовые, материальные и оборудование ресурсы, а также их ставки и категории. Это позволяет выполнять выравнивание ресурсов на уровне портфеля, планирование мощности и прогнозирование затрат. С помощью агрегирования количеств назначений и затрат команды могут создавать подробные отчёты о ресурсах, оптимизировать распределение рабочей силы и обеспечивать согласование сроков проекта с доступными ресурсами.

Управление заработанной стоимостью и показатели эффективности

PyP6Xer поддерживает расчёты управления стоимостью (EVM), предоставляя поля, связанные с затратами, такие как целевая стоимость, фактические затраты и процент физического завершения. Разработчики могут вычислять ключевые метрики EVM, включая плановую стоимость (PV), заработанную стоимость (EV), фактическую стоимость (AC), индекс эффективности затрат (CPI) и индекс эффективности графика (SPI). Это позволяет автоматизировать отчётность о производительности проекта, анализ тенденций и прогнозирование. Команды могут интегрировать эти метрики в панели мониторинга, запускать оповещения о превышении бюджета и отслеживать состояние проекта в портфелях, используя стандартизированные методологии EVM непосредственно в Python.

 Русский