
PyP6Xer
Åpen kildekode Python-bibliotek for Primavera P6 XER-filer
Parse, analyser & manipuler Primavera P6 XER-filer uten avhengigheter via gratis Python-API.
Hva er PyP6Xer?
PyP6Xer er et kraftig åpen kildekode Python-bibliotek designet for å parse, analysere og manipulere Primavera P6 XER (eXchange ERport) filer. Det gir et intuitivt, objektorientert grensesnitt for å få tilgang til alle prosjektdata, inkludert aktiviteter, ressurser, kalendere, WBS og relasjoner uten å kreve eksterne avhengigheter. Biblioteket støtter omfattende tidsplananalyse, ressursstyring og beregning av opptjent verdi, noe som gjør det ideelt for bygge-, ingeniør- og prosjektledelsesprofesjonelle.
Med PyP6Xer kan utviklere lese XER-filer, hente ut strukturerte data, utføre kritisk bane-analyse, sjekke tidsplanens kvalitet, og eksportere endrede data tilbake til XER-format. Biblioteket følger Pythoniske designprinsipper og tilbyr rene API-er for tilgang til prosjekter, oppgaver, ressurser og deres innbyrdes avhengigheter. Det muliggjør integrasjon med andre systemer, tilpasset rapportering, porteføljeanalyse og avanserte tidsplanmålinger ved kun å bruke Pythons standardbibliotek, noe som sikrer portabilitet og enkel distribusjon.
Kom i gang med PyP6Xer
Installer PyP6Xer fra PyPI ved å bruke pip med kommandoen pip install PyP6XER. Alternativt kan du klone kildekoden fra PyP6Xer GitHub-repoet og installere den i utviklingsmodus ved å bruke pip install -e .. Biblioteket krever Python 3.6 eller høyere og har ingen eksterne avhengigheter, og baserer seg utelukkende på Pythons standardbibliotek for maksimal portabilitet og enkel distribusjon. Når det er installert, kan du begynne å parse XER-filer og få tilgang til prosjektdata gjennom det intuitive objektorienterte API-et.
Installer PyP6Xer via PIP-kommando
pip install PyP6XERAnalyser XER-filer og få tilgang til prosjektdata
PyP6Xer gjør det mulig for utviklere å laste inn og analysere Primavera P6 XER‑filer med minimal kode. Ved å bruke Reader‑klassen kan du laste inn en XER‑fil og få tilgang til prosjekter, aktiviteter, ressurser og relasjoner gjennom et rent objektorientert grensesnitt. Hvert element eksponerer attributter som oppgavekoder, varigheter, statuskoder og mer. Biblioteket filtrerer data etter prosjektkontekst automatisk, noe som gjør effektiv navigering i store prosjektporteføljer mulig. Dette gjør det ideelt for å bygge tilpassede rapporteringsverktøy, datavalideringsskript og integrasjons‑rørledninger som krever strukturert tilgang til P6‑prosjektd data uten kompleks parse‑logikk.
Hvordan laste inn og få tilgang til prosjektdata 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 vei og tidsplananalyse
PyP6Xer inkluderer innebygde verktøy for identifisering av kritisk vei og analyse av tidsplanens kvalitet. Utviklere kan beregne flytverdier, identifisere aktiviteter med null eller negativ total flyt, og oppdage planleggingsproblemer som flere startaktiviteter eller altfor lange varigheter. Biblioteket eksponerer viktige planleggingsattributter som tidlige/sene datoer, total flyt og aktivitetsstatus, noe som muliggjør omfattende sjekker av tidsplanens helse. Denne funksjonaliteten støtter prosjektledere i å validere tidsplanens integritet, optimalisere ressursallokering og sikre overholdelse av beste praksis for planlegging uten å kreve eksterne verktøy eller manuell databehandling.
Hvordan identifisere kritiske bane-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}")
Ressursallokering og utnyttelsesanalyse
PyP6Xer gir robust støtte for ressursstyring og utnyttelsesanalyse. Utviklere kan få tilgang til ressursoppdrag, beregne totalt tildelte timer, identifisere overallokerte ressurser og analysere ressurskostnader på tvers av aktiviteter. Biblioteket støtter arbeidskraft-, material- og utstyrsressurser, sammen med deres satser og kategorier. Dette muliggjør ressursutjevning på porteføljenivå, kapasitetsplanlegging og kostnadsprognoser. Ved å aggregere oppdragsmengder og kostnader kan team generere detaljerte ressursrapporter, optimalisere arbeidsstyrkens fordeling og sikre at prosjektplaner samsvarer med tilgjengelige ressurser.
Verdibasert styring og ytelsesmålinger
PyP6Xer støtter beregninger for earned value management (EVM) ved å eksponere kostnadsrelaterte felt som målkostnad, faktiske kostnader og fysiske fullføringsprosenter. Utviklere kan beregne viktige EVM-måleparametere inkludert Planned Value (PV), Earned Value (EV), Actual Cost (AC), Cost Performance Index (CPI) og Schedule Performance Index (SPI). Dette muliggjør automatisert rapportering av prosjektresultater, trendanalyse og prognoser. Team kan integrere disse måleparametrene i dashbord, utløse varsler for kostnadsoverskridelser og overvåke prosjekthelse på tvers av porteføljer ved å bruke standardiserte EVM-metodikker direkte i Python.
