Skip to main content

Project for building distributable Fabric deployment tooling wheels.

Project description

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/*.

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

fabric_deployment_tool-0.1.2.tar.gz (14.1 kB view details)

Uploaded Source

Built Distribution

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

fabric_deployment_tool-0.1.2-py3-none-any.whl (13.4 kB view details)

Uploaded Python 3

File details

Details for the file fabric_deployment_tool-0.1.2.tar.gz.

File metadata

  • Download URL: fabric_deployment_tool-0.1.2.tar.gz
  • Upload date:
  • Size: 14.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.10

File hashes

Hashes for fabric_deployment_tool-0.1.2.tar.gz
Algorithm Hash digest
SHA256 8906cf01363ed427c09826a8f504ff966b5970a751ffa8a833318f9803337cdd
MD5 431a5809222318b22e17ba7f2823461a
BLAKE2b-256 a8f7e957e8644019ddfd852f97fc9b0a20bf162a680e20a0a384d64bd48191f5

See more details on using hashes here.

File details

Details for the file fabric_deployment_tool-0.1.2-py3-none-any.whl.

File metadata

File hashes

Hashes for fabric_deployment_tool-0.1.2-py3-none-any.whl
Algorithm Hash digest
SHA256 2e42293e5233c9a17348a99c1dce738a989b7ca7e91c6511ba8a8416b2837e3c
MD5 79fbb3128c8e0cb35401e9eeccf872c3
BLAKE2b-256 98a6e916d17358fa477db07c1f4967d2442d0d9bed4b91b66f1b4568e4a9912a

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