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.

 Українська