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

Uploaded Python 3

File details

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

File metadata

  • Download URL: fabric_deployment_tool-0.1.5.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.5.tar.gz
Algorithm Hash digest
SHA256 35e061d2c8ad753dfde4e65020c9b7bc1502d5b0cb84ffc62928bee6dcb46e00
MD5 2b94e652a99e3d2d99d1e893788143f3
BLAKE2b-256 176c9f87d458445197868c9a9232ec7c4e65edf5c605edd4d52171cab72b02ed

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for fabric_deployment_tool-0.1.5-py3-none-any.whl
Algorithm Hash digest
SHA256 b4114aba0c825bef4c4a0c93128e48502b8d892a23166ade0e43470fe0bb9bed
MD5 2b20bac62bc22b0a911ae9ff6035abab
BLAKE2b-256 26c7f7be36d34ba3ea529247cd5b713325464d418de1df0d4142af33dd975974

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