PyP6Xer

 
 

Primavera P6 XER ファイル用オープンソース Python ライブラリ

無料の Python API を使用して、依存関係なしで Primavera P6 XER ファイルを解析、分析、操作します。

PyP6Xerとは何ですか?

PyP6Xerは、Primavera P6 XER(eXchange ERport)ファイルの解析、分析、操作を目的とした強力なオープンソースPythonライブラリです。外部依存関係を必要とせずに、アクティビティ、リソース、カレンダー、WBS、関係性など、すべてのプロジェクトデータにアクセスできる直感的なオブジェクト指向インターフェースを提供します。このライブラリは包括的なスケジュール分析、リソース管理、実績価値計算をサポートし、建設、エンジニアリング、プロジェクト管理の専門家に最適です。

PyP6Xerを使用すると、開発者はXERファイルを読み取り、構造化データを抽出し、クリティカルパス分析を実行し、スケジュールの品質をチェックし、変更されたデータをXER形式にエクスポートできます。このライブラリはPythonらしい設計原則に従い、プロジェクト、タスク、リソース、およびそれらの相互依存関係にアクセスするためのクリーンなAPIを提供します。Pythonの標準ライブラリのみを使用して、他システムとの統合、カスタムレポート、ポートフォリオ分析、先進的なスケジューリング指標を実現し、移植性と展開の容易さを保証します。

Previous Next

PyP6Xerの開始方法

pip を使用してコマンド pip install PyP6XER で PyP6Xer を PyPI からインストールします。あるいは、PyP6Xer GitHub リポジトリからソースコードをクローンし、pip install -e . で開発モードでインストールします。このライブラリは Python 3.6 以上を必要とし、外部依存はゼロで、最大の移植性とデプロイの容易さを実現するために Python の標準ライブラリのみを使用しています。インストールが完了すると、直感的なオブジェクト指向 API を通じて XER ファイルの解析やプロジェクトデータへのアクセスを開始できます。

PIPコマンドでPyP6Xerをインストールする

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)計算をサポートします。開発者は、計画価値(PV)、獲得価値(EV)、実績コスト(AC)、コストパフォーマンス指数(CPI)、スケジュールパフォーマンス指数(SPI)などの主要なEVM指標を計算できます。これにより、プロジェクトのパフォーマンス報告の自動化、トレンド分析、予測が可能になります。チームはこれらの指標をダッシュボードに統合し、コスト超過のアラートをトリガーし、標準化されたEVM手法を直接Python内で使用してポートフォリオ全体のプロジェクトヘルスを監視できます。

 日本