PyP6Xer

 
 

Open source Python-bibliotek til Primavera P6 XER-filer

Parse, analyser & manipulér Primavera P6 XER-filer uden afhængigheder via gratis Python-API.

Hvad er PyP6Xer?

PyP6Xer er et kraftfuldt open source Python-bibliotek designet til at parse, analysere og manipulere Primavera P6 XER (eXchange ERport) filer. Det giver en intuitiv, objektorienteret grænseflade til at få adgang til alle projektdata, herunder aktiviteter, ressourcer, kalendere, WBS og relationer, uden at kræve eksterne afhængigheder. Biblioteket understøtter omfattende tidsplananalyse, ressourcestyring og beregning af optjent værdi, hvilket gør det ideelt for fagfolk inden for byggeri, ingeniørarbejde og projektledelse.

Med PyP6Xer kan udviklere læse XER-filer, udtrække strukturerede data, udføre kritisk sti-analyse, kontrollere tidsplanens kvalitet og eksportere modificerede data tilbage til XER-formatet. Biblioteket følger pythoniske designprincipper og tilbyder rene API'er til adgang til projekter, opgaver, ressourcer og deres indbyrdes afhængigheder. Det muliggør integration med andre systemer, tilpasset rapportering, porteføljeanalyse og avancerede tidsplanmålinger ved kun at bruge Pythons standardbibliotek, hvilket sikrer portabilitet og nem implementering.

Previous Next

Kom i gang med PyP6Xer

Installer PyP6Xer fra PyPI ved hjælp af pip med kommandoen pip install PyP6XER. Alternativt kan du klone kildekoden fra PyP6Xer GitHub-repositoryet og installere den i udviklingstilstand ved hjælp af pip install -e .. Biblioteket kræver Python 3.6 eller højere og har ingen eksterne afhængigheder, idet det udelukkende benytter Pythons standardbibliotek for maksimal portabilitet og let implementering. Når det er installeret, kan du begynde at parse XER-filer og få adgang til projektdata gennem dets intuitive objektorienterede API.

Installer PyP6Xer via PIP-kommando

pip install PyP6XER

Parse XER-filer & få adgang til projektdata

PyP6Xer gør det muligt for udviklere at indlæse og parse Primavera P6 XER-filer med minimal kode. Ved at bruge Reader-klassen kan du indlæse en XER-fil og få adgang til projekter, aktiviteter, ressourcer og relationer gennem et rent objektorienteret interface. Hvert element eksponerer attributter som opgavekoder, varigheder, statuskoder og mere. Biblioteket filtrerer data efter projektkontekst automatisk, hvilket muliggør effektiv navigation i store projektporteføljer. Dette gør det ideelt til at bygge tilpassede rapporteringsværktøjer, datavalideringsskripter og integrations‑pipelines, der kræver struktureret adgang til P6-projektdata uden kompleks parse‑logik.

Hvordan indlæser og får man adgang til projektdata via 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")

Kritisk vej & tidsplananalyse

PyP6Xer inkluderer indbyggede værktøjer til identifikation af kritisk vej og analyse af tidsplanens kvalitet. Udviklere kan beregne float‑værdier, identificere aktiviteter med nul eller negativ total float og opdage planlægningsproblemer såsom flere startaktiviteter eller alt for lange varigheder. Biblioteket eksponerer nøgleattributter for planlægning såsom tidlige/sene datoer, total float og aktivitetsstatus, hvilket muliggør omfattende kontrol af tidsplanens sundhed. Denne funktionalitet understøtter projektledere i at validere tidsplanens integritet, optimere ressourceallokering og sikre overholdelse af bedste praksis for planlægning uden at kræve eksterne værktøjer eller manuel databehandling.

Hvordan identificerer man kritiske sti-aktiviteter via 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}")

Ressourceallokering & udnyttelsesanalyse

PyP6Xer giver robust støtte til ressourcehåndtering og udnyttelsesanalyse. Udviklere kan få adgang til ressourceopgaver, beregne samlede tildelte timer, identificere overallokerede ressourcer og analysere ressourceomkostninger på tværs af aktiviteter. Biblioteket understøtter arbejdskraft-, materiale- og udstyrsressourcer samt deres satser og kategorier. Dette muliggør ressourceudligning på porteføljeniveau, kapacitetsplanlægning og omkostningsprognoser. Ved at aggregere opgavekvantiteter og omkostninger kan teams generere detaljerede ressourcerapporter, optimere arbejdsstyrkens fordeling og sikre, at projektplanerne stemmer overens med tilgængelige ressourcer.

Earned Value Management & præstationsmålinger

PyP6Xer understøtter beregninger af earned value management (EVM) ved at eksponere omkostningsrelaterede felter såsom målomkostning, faktiske omkostninger og fysiske færdiggørelsesprocenter. Udviklere kan beregne nøgle‑EVM‑målinger inklusive Planned Value (PV), Earned Value (EV), Actual Cost (AC), Cost Performance Index (CPI) og Schedule Performance Index (SPI). Dette muliggør automatiseret rapportering af projektpræstationer, trendanalyse og prognoser. Teams kan integrere disse målinger i dashboards, udløse advarsler ved omkostningsoverskridelser og overvåge projektets sundhed på tværs af porteføljer ved brug af standardiserede EVM‑metodologier direkte i Python.

 Dansk