
PyP6Xer
Otwarta biblioteka Python dla plików Primavera P6 XER
Parsuj, analizuj i manipuluj plikami Primavera P6 XER bez zależności za pomocą darmowego API w Pythonie.
Czym jest PyP6Xer?
PyP6Xer to potężna, otwarto‑źródłowa biblioteka Pythona przeznaczona do parsowania, analizowania i manipulacji plikami Primavera P6 XER (eXchange ERport). Zapewnia intuicyjny, obiektowo‑zorientowany interfejs umożliwiający dostęp do wszystkich danych projektu, w tym działań, zasobów, kalendarzy, struktury WBS oraz zależności, bez konieczności używania zewnętrznych zależności. Biblioteka wspiera kompleksową analizę harmonogramu, zarządzanie zasobami oraz obliczenia wartości wypracowanej, co czyni ją idealną dla profesjonalistów z branży budownictwa, inżynierii i zarządzania projektami.
Za pomocą PyP6Xer programiści mogą odczytywać pliki XER, wyodrębniać dane strukturalne, przeprowadzać analizę ścieżki krytycznej, sprawdzać jakość harmonogramu oraz eksportować zmodyfikowane dane z powrotem do formatu XER. Biblioteka opiera się na zasadach projektowania w stylu Pythonic i oferuje przejrzyste API do dostępu do projektów, zadań, zasobów i ich współzależności. Umożliwia integrację z innymi systemami, tworzenie niestandardowych raportów, analizę portfela oraz zaawansowane metryki harmonogramowania, korzystając wyłącznie ze standardowej biblioteki Pythona, co zapewnia przenośność i łatwość wdrożenia.
Rozpoczęcie pracy z PyP6Xer
Zainstaluj PyP6Xer z PyPI przy użyciu pip, używając polecenia pip install PyP6XER. Alternatywnie, sklonuj kod źródłowy z repozytorium PyP6Xer na GitHubie i zainstaluj go w trybie deweloperskim przy pomocy pip install -e .. Biblioteka wymaga Pythona 3.6 lub nowszego i nie ma żadnych zewnętrznych zależności, opierając się wyłącznie na bibliotece standardowej Pythona, co zapewnia maksymalną przenośność i łatwość wdrożenia. Po zainstalowaniu możesz rozpocząć parsowanie plików XER i dostęp do danych projektu poprzez jej intuicyjne, obiektowo‑zorientowane API.
Zainstaluj PyP6Xer za pomocą polecenia PIP
pip install PyP6XERAnaliza plików XER i dostęp do danych projektu
PyP6Xer umożliwia programistom ładowanie i parsowanie plików Primavera P6 XER przy minimalnym kodzie. Korzystając z klasy Reader, możesz wczytać plik XER i uzyskać dostęp do projektów, działań, zasobów oraz zależności poprzez czysty interfejs obiektowy. Każdy element udostępnia atrybuty takie jak kody zadań, czasy trwania, kody statusu i inne. Biblioteka automatycznie filtruje dane według kontekstu projektu, co pozwala na efektywne poruszanie się po dużych portfelach projektów. Dzięki temu jest idealna do tworzenia niestandardowych narzędzi raportowych, skryptów weryfikacji danych oraz potoków integracyjnych, które wymagają strukturalnego dostępu do danych projektów P6 bez skomplikowanej logiki parsowania.
Jak wczytać i uzyskać dostęp do danych projektu za pomocą API Pythona?
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")
Analiza ścieżki krytycznej i harmonogramu
PyP6Xer zawiera wbudowane narzędzia do identyfikacji ścieżki krytycznej i analizy jakości harmonogramu. Programiści mogą obliczać wartości luzu, identyfikować działania z zerowym lub ujemnym całkowitym luzem oraz wykrywać problemy z harmonogramowaniem, takie jak wiele działań początkowych lub nadmiernie długie trwania. Biblioteka udostępnia kluczowe atrybuty harmonogramu, takie jak daty wczesne/późne, całkowity luz i status działania, umożliwiając kompleksowe kontrole zdrowia harmonogramu. Ta funkcjonalność wspiera kierowników projektów w weryfikacji integralności harmonogramu, optymalizacji przydziału zasobów oraz zapewnieniu zgodności z najlepszymi praktykami planowania, bez konieczności korzystania z zewnętrznych narzędzi lub ręcznego przetwarzania danych.
Jak zidentyfikować działania krytycznej ścieżki przy użyciu Pythona?
# 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}")
Analiza przydziału zasobów i ich wykorzystania
PyP6Xer zapewnia solidne wsparcie w zarządzaniu zasobami i analizie ich wykorzystania. Programiści mogą uzyskać dostęp do przydziałów zasobów, obliczyć łączną liczbę przydzielonych godzin, zidentyfikować nadmiernie przydzielone zasoby oraz analizować koszty zasobów w różnych działaniach. Biblioteka obsługuje zasoby ludzkie, materiałowe i sprzętowe, wraz z ich stawkami i kategoriami. Umożliwia to poziomowanie zasobów na poziomie portfela, planowanie pojemności i prognozowanie kosztów. Poprzez agregację ilości przydziałów i kosztów zespoły mogą generować szczegółowe raporty zasobów, optymalizować rozmieszczenie siły roboczej oraz zapewnić, że terminy projektów są zgodne z dostępnymi zasobami.
Zarządzanie wartością wypracowaną i wskaźniki wydajności
PyP6Xer obsługuje obliczenia zarządzania wartością wypracowaną (EVM), udostępniając pola związane z kosztami, takie jak koszt docelowy, rzeczywiste koszty i procenty fizycznego ukończenia. Programiści mogą obliczać kluczowe wskaźniki EVM, w tym Planowaną Wartość (PV), Wartość Wypracowaną (EV), Rzeczywisty Koszt (AC), Wskaźnik Wydajności Kosztowej (CPI) oraz Wskaźnik Wydajności Harmonogramu (SPI). Umożliwia to automatyczne raportowanie wydajności projektu, analizę trendów i prognozowanie. Zespoły mogą integrować te wskaźniki w pulpitach nawigacyjnych, wyzwalać alerty o przekroczeniach kosztów i monitorować stan projektu w portfelach, korzystając ze standardowych metodologii EVM bezpośrednio w Pythonie.
