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.4.tar.gz (14.6 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.4-py3-none-any.whl (14.1 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: fabric_deployment_tool-0.1.4.tar.gz
  • Upload date:
  • Size: 14.6 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.4.tar.gz
Algorithm Hash digest
SHA256 3874f2730dfbdd887c20aeba6b0f511df52ff391f94ba3802e34b38d883af16c
MD5 6f05c5ccb527ffed4812b96282fc0998
BLAKE2b-256 57d691a69d779c5fbe406cff99fd635968fb17b6968ba75da2c2cb1a1cd9c2a4

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for fabric_deployment_tool-0.1.4-py3-none-any.whl
Algorithm Hash digest
SHA256 77c319515b7217339e6b899a2c8d8e71d8a743e896afa633bcdfe1aff007d4e8
MD5 da76744830936a2a2f90892143b5279e
BLAKE2b-256 c987e348760977dc4571066e2860053b8e24cd2ec82f219825555ce44f2703e1

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