Skip to main content

Scaffold Power BI projects instantly from templates

Project description

fastbi ⚡️

Scaffold Power BI projects instantly from templates.

PyPI version License: MIT Python 3.10+

Create ready-to-use Power BI Projects (.pbip) with intelligent renaming and path updates—all from a single command.



fastbi demo

From template to working project in seconds.


✨ Quick Start

Installation

Option 1: Use without installing (quickest)

uvx fastbi "My Project"

Option 2: Install globally (recommended for frequent use)

pip install fastbi

# Or with uv:
uv pip install fastbi

Option 3: Run directly with uvx

# No installation needed, runs in isolated environment
uvx fastbi "My Project"
uvx fbi "My Project"  # alias also works

First-Time Setup

The first time you run fastbi, a setup wizard will ask for your .pbip template folder location.

# Try creating your first project - the wizard launches automatically
fastbi "My First Report"

# 🪄 The wizard will start:
# 🚀 Welcome! Let's configure your .pbip project template.
# Drag your template folder here and press Enter: _

Create Projects

Once configured, just pass the project name:

# The main way (recommended):
fastbi "Q4 Sales Dashboard"

# ✓ Success! Project created at '202510 - Q4 Sales Dashboard'

Multiple ways to create projects:

# Shortcut (fastest):
fastbi "Annual Report"

# Explicit command:
fastbi create "Annual Report"
fastbi new "Annual Report"

# Using fbi alias (same functionality):
fbi "Annual Report"

🔧 How It Works

fastbi doesn't just copy files—it performs intelligent scaffolding:

  • 🔍 Discovery: Analyzes your .pbip template and automatically detects the base project structure
  • ✏️ Rename: Updates folder names, .pbip file, and .Report/.SemanticModel directories to match your new project
  • 🔄 Update: Edits internal JSON configs (.pbip, .pbir, .platform) so all paths and display names work correctly in Fabric

Result: Zero manual fixes. Your project just works.


🎨 Creating Your Template

The power of fastbi is that it works with your own template. Here's how:

  1. Design Your Base Report: Open Power BI Desktop and create your ideal starting point—add logos, themes, common pages, standard visuals.

  2. Save as Project: Go to File > Save As. In the file type dropdown, choose Power BI Project (*.pbip) instead of .pbix.

  3. That's Your Template: Power BI creates a folder with the project structure. Point the fastbi setup wizard to this folder.

Living Template: Update your base report anytime. Just save it as .pbip again in the same location. All future projects will inherit the changes automatically.


🧰 Commands

Command Action
fastbi "Name" Create a new project (shortcut)
fastbi create "Name" Create a new project (explicit)
fastbi new "Name" Create a new project (alias)
fastbi setup Configure or reconfigure template path
fastbi --help Show all commands and options
fbi "Name" Same as fastbi, just cooler 😎

💡 Why fastbi?

  • Zero Config Needed: Works with any .pbip template structure
  • Intelligent Updates: Automatically fixes all internal paths and references
  • Date Prefixing: Auto-adds YYYYMM - prefix to keep projects organized
  • Error Prevention: Validates names and prevents overwrites
  • Multiple Aliases: Use fastbi, create, new, or fbi - whatever fits your style

🚀 Advanced Usage

Using with uv (recommended for speed)

# Install with uv (faster than pip)
uv pip install fastbi

# Or run without installing
uvx fastbi "Project Name"

Reconfiguring Template

Need to change your template location?

fastbi setup

The wizard will guide you through selecting a new template folder.


📦 What Gets Created

When you run fastbi "Sales Report", you get:

202410 - Sales Report/
├── Sales Report.pbip                    # Renamed project file
├── Sales Report.Report/                 # Renamed report folder
│   ├── definition.pbir                  # Updated with new paths
│   └── .platform                        # Updated display name
└── Sales Report.SemanticModel/          # Renamed model folder
    └── .platform                        # Updated display name

All internal references are automatically updated to match the new names.


🐛 Troubleshooting

"No .pbip file found in template"

  • Make sure your template folder contains a .pbip file
  • The template must be saved as Power BI Project format, not .pbix

"Directory already exists"

  • A project with that name already exists for this month
  • Choose a different name or delete the existing folder

Commands not working?

  • Make sure you're using the latest version: pip install --upgrade fastbi
  • For uvx users: uvx --refresh fastbi "Project"

🤝 Contributing

Issues and pull requests are welcome! Visit the GitHub repository.


📝 License

MIT License - see LICENSE file for details.


Built for analysts and developers who value their time.

Forge your Power BI projects. Don't fight with folder structures.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

fastbi-0.1.1.tar.gz (8.3 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

fastbi-0.1.1-py3-none-any.whl (8.3 kB view details)

Uploaded Python 3

File details

Details for the file fastbi-0.1.1.tar.gz.

File metadata

  • Download URL: fastbi-0.1.1.tar.gz
  • Upload date:
  • Size: 8.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.9

File hashes

Hashes for fastbi-0.1.1.tar.gz
Algorithm Hash digest
SHA256 f1852512ae41fb17d25f371779bb47d6c44b038d9a515b16d5fe5c1a957b558f
MD5 bf5436f90ef85ea526d587fb9ad9a2b9
BLAKE2b-256 8a4204084cc3063217ba5c7400370c4c2860c038feeeb53fd4d88b9995797022

See more details on using hashes here.

File details

Details for the file fastbi-0.1.1-py3-none-any.whl.

File metadata

  • Download URL: fastbi-0.1.1-py3-none-any.whl
  • Upload date:
  • Size: 8.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.9

File hashes

Hashes for fastbi-0.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 cec8174a70ae02cf1e2ae26459ac8111d7e36a34e759dc1424e21098b5b95d69
MD5 e2a1ff688b801476005efeeb24ed8e94
BLAKE2b-256 649a570a21b13320e7f86609656034e13ac9b23bcf11184fa5ce41ac1478018b

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page