Skip to main content

Fabric Deployment Tool Template

Starter repository for packaging Fabric deployment utilities as a Python wheel. The template uses the modern pyproject.toml + src/ layout, bundles a Typer-based CLI, and ships with tests plus linting configuration so you can publish quickly and confidently.

Features

  • src-layout package ready for pip install and wheel publishing
  • Typer CLI (fabric-deployment-tool run) backed by sample deployment helpers
  • Pinned ms-fabric-cli==1.2.0 runtime dependency so Fabric environments are consistent
  • Pytest suite with coverage plus Ruff linting defaults
  • Editable install workflow via requirements-dev.txt
  • Pre-configured project metadata, changelog, and manifest for reproducible builds

Prerequisites

  • Python 3.10+ with the ability to create virtual environments
  • Fabric access plus credentials for ms-fabric-cli
  • Optional: git for version control and make/PowerShell for scripted workflows

Project Layout

fabric-deployment-tool/
├── CHANGELOG.md
├── LICENSE
├── MANIFEST.in
├── pyproject.toml
├── requirements-dev.txt
├── src/
│   ├── fabric_deployment_tool/
│   │   ├── __init__.py
│   │   ├── _fab_cli.py
│   │   ├── _fab_item_management.py
│   │   ├── _git.py
│   │   └── _util.py
│   └── fabric_deployment_tool.egg-info/
├── tests/
│   ├── test_cli.py
│   └── test_deployment.py
└── dist/                       # Populated after running `python -m build`

Quick Start

  1. Install dev dependencies

    python -m pip install -e .[dev]
    
  2. Run tests + coverage

    python -m pytest
    
  3. Build wheel + sdist (requires the build extra already included in dev)

    python -m build
    
  4. Inspect artifacts

    Get-ChildItem dist
    

If you see deprecation notices about the license metadata during build, swap the project.license table for a SPDX string (for example "MIT") when you are ready to publish.

Runtime Modules

  • __init__.py: aggregates mixins (fdtCLU, fdtGit, fdtUtils, fdtItemManagement) into the FabDeplmentTool orchestrator and wires Fabric authentication via notebookutils.
  • _fab_cli.py: shared helpers for invoking Microsoft Fabric CLI commands.
  • _fab_item_management.py: routines that orchestrate Fabric items defined in config/deployment_order.json.
  • _git.py: GitHub download helpers for fetching source/config bundles as zip files.
  • _util.py: Fabric-specific utilities (ID lookups, temp extraction, mapping replacements).

Using the CLI

python -m fabric_deployment_tool run ./sample-project
  • Use --version or -v to print the package version.
  • Repeat --artifact my_artifact.yaml to filter the deployment list.

Publishing Tips

  • Update pyproject.toml metadata (name, authors, urls) before publishing.
  • Bump the version and CHANGELOG.md together to keep releases traceable.
  • Add real deployment logic to src/fabric_deployment_tool/deployment.py and extend tests to fit your workflow.
  • Run python -m build before tagging a release so you can publish the wheel / sdist found in dist/ via twine upload dist/*.

Release files for fabric-deployment-tool 0.1.5

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for fabric-deployment-tool 0.1.5
File Size Uploaded
fabric_deployment_tool-0.1.5.tar.gz 14.6 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for fabric-deployment-tool 0.1.5
File Interpreter ABI Platform
fabric_deployment_tool-0.1.5-py3-none-any.whl Python 3 none any Details

Total release size: 28.7 kB

Release files / fabric_deployment_tool-0.1.5.tar.gz

Download URL fabric_deployment_tool-0.1.5.tar.gz
Size 14.6 kB
Tags Source
SHA-256 checksum
How to use checksums
35e061d2c8ad753dfde4e65020c9b7bc1502d5b0cb84ffc62928bee6dcb46e00
BLAKE2b-256 checksum
How to use checksums
176c9f87d458445197868c9a9232ec7c4e65edf5c605edd4d52171cab72b02ed
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.12.10

Release files / fabric_deployment_tool-0.1.5-py3-none-any.whl

Download URL fabric_deployment_tool-0.1.5-py3-none-any.whl
Size 14.1 kB
Tags Python 3
SHA-256 checksum
How to use checksums
b4114aba0c825bef4c4a0c93128e48502b8d892a23166ade0e43470fe0bb9bed
BLAKE2b-256 checksum
How to use checksums
26c7f7be36d34ba3ea529247cd5b713325464d418de1df0d4142af33dd975974
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.12.10

Release history Release notifications | RSS feed

This release

0.1.5 This release

2 release files

0.1.4

2 release files

0.1.3

2 release files

0.1.2

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page