Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Update Documentation #12

Merged
merged 50 commits into from
Jan 13, 2025
Merged
Show file tree
Hide file tree
Changes from 48 commits
Commits
Show all changes
50 commits
Select commit Hold shift + click to select a range
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 2 additions & 1 deletion .vscode/extensions.json
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@
"ms-python.python",
"esbenp.prettier-vscode",
"ms-vscode.powershell",
"charliermarsh.ruff"
"charliermarsh.ruff",
"tamasfe.even-better-toml"
]
}
90 changes: 54 additions & 36 deletions .vscode/settings.json
Original file line number Diff line number Diff line change
@@ -1,38 +1,56 @@
{
"editor": {
"tabSize": 4,
"trimAutoWhitespace": false,
"defaultFormatter": "esbenp.prettier-vscode",
"editor.formatOnSave": true
},
"diffEditor": {
"ignoreTrimWhitespace": false
},
"files": {
"trimTrailingWhitespace": false,
"trimTrailingWhitespaceInRegexAndStrings": false,
"insertFinalNewline": true,
"autoSave": "off"
},
"[python]": {
"editor.defaultFormatter": "charliermarsh.ruff",
"editor.codeActionsOnSave": {
"source.fixAll": "explicit"
},
"editor.formatOnSave": true
},
"[powershell]": {
"editor.defaultFormatter": "ms-vscode.powershell",
"editor.formatOnSave": true
},
"git": {
"branchPrefix": "users/",
"enableSmartCommit": true,
"confirmSync": false,
"autofetch": true
},
"ruff": {
"organizeImports": true,
"fixAll": true
}
"editor": {
"tabSize": 4,
"trimAutoWhitespace": false
},
"diffEditor": {
"ignoreTrimWhitespace": false
},
"files": {
"trimTrailingWhitespace": false,
"trimTrailingWhitespaceInRegexAndStrings": false,
"insertFinalNewline": true,
"autoSave": "off"
},
"[python]": {
"editor.defaultFormatter": "charliermarsh.ruff",
"editor.codeActionsOnSave": {
"source.fixAll": "explicit"
},
"editor.formatOnSave": true
},
"[powershell]": {
"editor.defaultFormatter": "ms-vscode.powershell",
"editor.formatOnSave": true
},
"[toml]": {
"editor.defaultFormatter": "tamasfe.even-better-toml",
"editor.formatOnSave": true
},
"[json]": {
"editor.defaultFormatter": "esbenp.prettier-vscode",
"editor.formatOnSave": true
},
"[markdown]": {
"editor.defaultFormatter": "esbenp.prettier-vscode",
"editor.formatOnSave": true
},
"[yaml]": {
"editor.defaultFormatter": "esbenp.prettier-vscode",
"editor.formatOnSave": true
},
"git": {
"branchPrefix": "users/",
"enableSmartCommit": true,
"confirmSync": false,
"autofetch": true
},
"ruff": {
"organizeImports": true,
"fixAll": true
},
"prettier": {
"tabWidth": 4,
"useTabs": false
}
}
86 changes: 20 additions & 66 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,86 +1,40 @@
# Fabric CICD

[![PyPI version](https://badge.fury.io/py/fabric-cicd.svg)](https://badge.fury.io/py/fabric-cicd)
[![Language](https://img.shields.io/badge/language-Python-blue.svg)](https://www.python.org/)
[![TestPyPI version](https://img.shields.io/badge/TestPyPI-fabric--cicd-blue)](https://test.pypi.org/project/fabric-cicd/)
[![Read The Docs](https://readthedocs.org/projects/fabric-cicd/badge/?version=latest&style=flat)](https://readthedocs.org/projects/fabric-cicd/)
[![Code style: ruff](https://img.shields.io/badge/code%20style-ruff-000000.svg)](https://github.com/charliermarsh/ruff)
[![Downloads](https://static.pepy.tech/badge/fabric-cicd)](https://pepy.tech/project/fabric-cicd)

<!-- [![PyPI version](https://badge.fury.io/py/fabric-cicd.svg)](https://badge.fury.io/py/fabric-cicd) -->
<!-- [![Downloads](https://static.pepy.tech/badge/fabric-cicd)](https://pepy.tech/project/fabric-cicd) -->

---

## [Read the documentation on ReadTheDocs!](https://fabric-cicd.readthedocs.io/en/stable/)
## Project Overview

Fabric CICD is a Python library designed for use with [Microsoft Fabric](https://learn.microsoft.com/en-us/fabric/) workspaces. This library is intended to support code first CICD integrations to seamlessly integrate Source Controlled workspaces into a deployment framework. The goal of this library is to support the CICD developers that don't want to dig into the weeds of interacting directly with the Microsoft Fabric APIs.
JacobKnightley marked this conversation as resolved.
Show resolved Hide resolved

If you encounter any issues, please [raise a bug](https://github.com/microsoft/fabric-cicd/issues/new?assignees=&labels=&projects=&template=bug_report.md&title=).

If you have ideas for new features/functions, please [request a feature](https://github.com/microsoft/fabric-cicd/issues/new?assignees=&labels=&projects=&template=feature_request.md&title=).

## Featured Scenarios

- Deploying Items hosted in a repository
- 100% deployment, does not consider diffs
- Deploys into the tenant of the executing identity
## Documentation

### In Scope Item Types
All documentation is hosted on our [fabric-cicd](https://microsoft.github.io/fabric-cicd/) GitHub Pages

- Notebooks
- Data Pipelines
- Environments
- [Getting Started](https://microsoft.github.io/fabric-cicd/)
- [Examples](https://microsoft.github.io/fabric-cicd/example/)
- [Code Reference](https://microsoft.github.io/fabric-cicd/code_reference/)
- [Contribution](https://microsoft.github.io/fabric-cicd/contribution/)
- [Changelog](https://microsoft.github.io/fabric-cicd/changelog/)
- [Support](https://microsoft.github.io/fabric-cicd/help/#support)
- [Security](https://microsoft.github.io/fabric-cicd/help/#security)
- [License](https://microsoft.github.io/fabric-cicd/help/#license)

### Limitations
## Installation

- Notebooks Limitations
- Attached lakehouses are not changed during the deployment
- Attached resources are not included in the deployment
- Data Pipelines
- Connections are not changed during the deployment
- Environments
- Custom and Public Libraries are not included in the deployment
- Folders
- Sub folders are not included in the deployment
To install fabric-cicd, run:

## How to Use

```shell
```bash
pip install fabric-cicd
```

```python
from fabric_cicd import FabricWorkspace, publish_all_items, unpublish_all_orphan_items

# Initialize the FabricWorkspace object with the required parameters
target_workspace = FabricWorkspace(
workspace_id='',
environment='',
repository_directory=r'',
item_type_in_scope=[]
)

# Publish all items defined in item_type_in_scope
publish_all_items(target_workspace)

# Unpublish all items defined in item_type_in_scope not found in repository
unpublish_all_orphan_items(target_workspace)
```

## Contributing

This project welcomes contributions and suggestions. Most contributions require you to agree to a
Contributor License Agreement (CLA) declaring that you have the right to, and actually do, grant us
the rights to use your contribution. For details, visit https://cla.opensource.microsoft.com.

When you submit a pull request, a CLA bot will automatically determine whether you need to provide
a CLA and decorate the PR appropriately (e.g., status check, comment). Simply follow the instructions
provided by the bot. You will only need to do this once across all repos using our CLA.

This project has adopted the [Microsoft Open Source Code of Conduct](https://opensource.microsoft.com/codeofconduct/).
For more information see the [Code of Conduct FAQ](https://opensource.microsoft.com/codeofconduct/faq/) or
contact [[email protected]](mailto:[email protected]) with any additional questions or comments.

## Trademarks

This project may contain trademarks or logos for projects, products, or services. Authorized use of Microsoft
trademarks or logos is subject to and must follow
[Microsoft's Trademark & Brand Guidelines](https://www.microsoft.com/en-us/legal/intellectualproperty/trademarks/usage/general).
Use of Microsoft trademarks or logos in modified versions of this project must not cause confusion or imply Microsoft sponsorship.
Any use of third-party trademarks or logos are subject to those third-party's policies.
This project may contain trademarks or logos for projects, products, or services. Authorized use of Microsoft trademarks or logos is subject to and must follow [Microsoft's Trademark & Brand Guidelines](https://www.microsoft.com/en-us/legal/intellectualproperty/trademarks/usage/general). Use of Microsoft trademarks or logos in modified versions of this project must not cause confusion or imply Microsoft sponsorship. Any use of third-party trademarks or logos are subject to those third-party's policies.
15 changes: 0 additions & 15 deletions SUPPORT.md

This file was deleted.

2 changes: 1 addition & 1 deletion VERSION
Original file line number Diff line number Diff line change
@@ -1 +1 @@
0.1.6
0.0.1
20 changes: 0 additions & 20 deletions docs/Makefile

This file was deleted.

25 changes: 25 additions & 0 deletions docs/changelog.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
# Changelog

The following contains all major, minor, and patch version release notes. Additionally, we will document high-level plans for the library as they evolve. The planned features list is not exhaustive but highlights the most important items.

## Planned Features

- Support for additional item types
- Dataflow G2
- Semantic Model
- Report
- Support for Workspace Folders
- Enhancements for existing item types
- Notebook - Support for attached resources
- Data Pipeline - Support for all connections w/in activities
JacobKnightley marked this conversation as resolved.
Show resolved Hide resolved
- Environment - Support for attached public libraries - Support for attached custom libraries

## Version 0.1.0

<span class="md-h2-subheader">Release Date: 2025-01-15</span>

- Initial public preview release
- Supports Notebook, Pipeline, and Environment deployments
- Supports User and System Identity authentication
- Released to PyPi
- Onboarded to ReadTheDocs
2 changes: 2 additions & 0 deletions docs/code_reference.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
# Code Reference
::: fabric_cicd
Binary file added docs/config/assets/favicon.ico
Binary file not shown.
Binary file added docs/config/assets/git_flow.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
5 changes: 5 additions & 0 deletions docs/config/overrides/main.html
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
{% extends "base.html" %}

{% block announce %}
<p style="text-align: center;">⚠️ This library is in limited Public Preview - features and functionality may change.</p>
{% endblock %}
101 changes: 101 additions & 0 deletions docs/config/stylesheets/extra.css
Original file line number Diff line number Diff line change
@@ -0,0 +1,101 @@
[data-md-color-scheme="fabric"] {
--md-primary-fg-color: #117865;
--md-primary-fg-color--light: #e3f7ef;
--md-primary-fg-color--dark: #012826;
--md-typeset-a-color: #012826;
--md-accent-fg-color: #012826;
--md-default-fg-color--light: #333333;
--md-typeset-a-color: #117865;
--md-primary-bg-color: #ffffff;
}

/* Remove opaqueness to top nav */
.md-tabs__link,
.md-tabs__link:hover,
.md-tabs__item--active {
opacity: 1;
}

/* Add line under active top nav item */
.md-tabs__item--active {
opacity: 1;
box-shadow: inset 0 -6px 0 0 var(--md-primary-fg-color),
inset 0 -8px 0 0 var(--md-primary-bg-color);
}

/* Add underline to links */
.md-content a {
text-decoration: underline;
color: var(--md-primary-fg-color);
}

/* Keep underline on hover */
.md-content a:hover {
text-decoration: underline;
color: var(--md-primary-fg-color--dark);
}

/*Code inside of tables are of white background*/
.md-typeset table code {
background-color: var(--md-primary-bg-color);
}

/*Code inside of tables are colored when hovered*/
.md-typeset table tr:hover code {
background-color: inherit;
}

/*Default header color*/
.md-content h1,
.md-content h2,
.md-content h3 {
color: var(--md-accent-fg-color);
font-weight: 500; /* Slight bold */
margin: 0 0 1em;
}

/*Add a border line to all H2*/
.md-content h2 {
padding-top: 1em;
border-top: 1px solid #ddd;
}

/*Custom class for subheaders under h2*/
.md-h2-subheader {
font-size: smaller;
color: inherit;
}

/*Remove all margins from the <p> element containing .md-h2-subheader*/
p:has(.md-h2-subheader) {
margin: 0;
}

/*Remove bottom margin from h2 so it's closer to subheader*/
.md-content h2:has(+ p .md-h2-subheader) {
margin-bottom: 0;
}

/* Override default font size for typeset */
.md-typeset {
font-size: .64rem;
}

.md-typeset h1 {
font-size: 1.25rem;
}

.md-typeset h2 {
font-size: 1rem;
}

.md-nav--lifted .md-nav__item {
font-size: .7rem;
}

/* Markdown image resizing */
.md-content .md-typeset img {
max-width: 40rem;
width: 100%;
height: auto; /* Maintain aspect ratio */
}
Loading
Loading