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.3.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.3-py3-none-any.whl (13.4 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: fabric_deployment_tool-0.1.3.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.3.tar.gz
Algorithm Hash digest
SHA256 cfbb5be4eb46629db318433b56c2f58df00103e1e10050f77540fe66971637a3
MD5 a9c44bec16fe9b49f2c158ee4920e957
BLAKE2b-256 9689160c2b53a4ef505bd75794d63956a292932933c359bd5f3fcfce962659d5

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for fabric_deployment_tool-0.1.3-py3-none-any.whl
Algorithm Hash digest
SHA256 18f7b2546f93c09669963c70c50ef1b936ccc10875b5cdead6ac36e9dfb30e7a
MD5 759a12635a6db8593ee26734a19e1053
BLAKE2b-256 ced4b1a589de1f8c69f76884f63c504869a9c9f97ff81916e0be5acd4d24fd7a

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