Bibliothèque Python pour l'automatisation et la manipulation de rapports Power BI au format PBIR (Power BI Project format).
- Création de fichiers PBIR vides : Génère rapidement des structures PBIR de base
- Duplication de visuels : Copie des visuels d'une page source vers plusieurs pages cibles en préservant la mise en page
- Gestion des bookmarks : Synchronise et duplique les bookmarks entre pages avec gestion automatique des orphelins
# Cloner le repository
git clone https://github.com/diouetq/pbir-tools.git
cd pbir-tools
# Installer le package
pip install -e .# Cloner et installer avec les dépendances de développement
git clone https://github.com/diouetq/pbir-tools.git
cd pbir-tools
pip install -e ".[dev]"from pbir_tools import pbir_empty_file
# Créer un nouveau rapport PBIR
pbir_empty_file(
output_folder="C:/path/to/output",
new_report_name="MonNouveauRapport"
)from pbir_tools import pbir_duplicate_visuals
# Copier tous les visuels de la page "main" vers d'autres pages
pbir_duplicate_visuals(
pbir_folder_path="C:/path/to/pbir/Report1",
report_root_name="Report1.Report",
source_page_name="main",
target_pages=["page2", "page3"], # None = toutes les pages
visual_name=None # None = tous les visuels
)
# Copier un visuel spécifique
pbir_duplicate_visuals(
pbir_folder_path="C:/path/to/pbir/Report1",
report_root_name="Report1.Report",
source_page_name="main",
target_pages=["page2"],
visual_name="Mon Graphique"
)
# Copier plusieurs visuels spécifiques
pbir_duplicate_visuals(
pbir_folder_path="C:/path/to/pbir/Report1",
report_root_name="Report1.Report",
source_page_name="main",
target_pages=None,
visual_name=["Graphique 1", "Tableau 2"]
)from pbir_tools import pbir_duplicate_bookmark
# Dupliquer tous les bookmarks de la page source
pbir_duplicate_bookmark(
pbir_folder_path="C:/path/to/pbir/Report1",
report_root_name="Report1.Report",
source_page_name="main",
target_pages=["page2", "page3"],
bookmark_name=None # None = tous les bookmarks
)
# Dupliquer un bookmark spécifique
pbir_duplicate_bookmark(
pbir_folder_path="C:/path/to/pbir/Report1",
report_root_name="Report1.Report",
source_page_name="main",
target_pages=["page2"],
bookmark_name="mon_bookmark_id"
)
# Dupliquer plusieurs bookmarks
pbir_duplicate_bookmark(
pbir_folder_path="C:/path/to/pbir/Report1",
report_root_name="Report1.Report",
source_page_name="main",
target_pages=None,
bookmark_name=["bookmark1", "bookmark2"]
)pbir-tools/
├── pbir_tools/ # Package principal
│ ├── __init__.py
│ ├── empty_file.py # Création de fichiers PBIR vides
│ ├── visuals.py # Duplication de visuels
│ └── bookmarks.py # Gestion des bookmarks
├── examples/ # Scripts d'exemple
│ ├── example_empty_file.py
│ ├── example_duplicate_visuals.py
│ └── example_duplicate_bookmarks.py
├── tests/ # Tests unitaires
│ ├── test_empty_file.py
│ ├── test_visuals.py
│ └── test_bookmarks.py
├── docs/ # Documentation
│ └── usage.md
├── README.md
├── setup.py
├── requirements.txt
├── .gitignore
└── LICENSE
# Exécuter tous les tests
pytest
# Exécuter les tests avec couverture
pytest --cov=pbir_tools tests/Les contributions sont les bienvenues ! N'hésitez pas à :
- Fork le projet
- Créer une branche pour votre fonctionnalité (
git checkout -b feature/AmazingFeature) - Commit vos changements (
git commit -m 'Add some AmazingFeature') - Push vers la branche (
git push origin feature/AmazingFeature) - Ouvrir une Pull Request
- 🎉 Version initiale
- ✨ Création de fichiers PBIR vides
- ✨ Duplication de visuels avec préservation de la mise en page
- ✨ Gestion synchronisée des bookmarks
Ce projet est sous licence MIT. Voir le fichier LICENSE pour plus de détails.
DIOUET
- Microsoft Power BI pour le format PBIR
- La communauté Python
Pour toute question ou problème :
- Ouvrir une issue
- Consulter la documentation
⭐ Si ce projet vous aide, n'hésitez pas à lui donner une étoile !