An open API service indexing awesome lists of open source software.

https://github.com/dotcs/fastapi-di-viz

A CLI tool to visualize the FastAPI dependency chain
https://github.com/dotcs/fastapi-di-viz

Last synced: 12 months ago
JSON representation

A CLI tool to visualize the FastAPI dependency chain

Awesome Lists containing this project

README

          

[![PyPI version](https://badge.fury.io/py/fastapi-di-viz.svg?icon=si%3Apython)](https://pypi.org/project/fastapi-di-viz/)
![CI build](https://github.com/dotcs/fastapi-di-viz/actions/workflows/ci.yml/badge.svg?branch=main&event=push)

# FastAPI Dependency Injection Visualizer

This is a simple tool to visualize the dependency injection tree of a FastAPI application.
It works by inspecting the FastAPI application and generating a graph of the dependencies from walking the dependency injection tree starting from the application's endpoints.

It automatically detects the endpoints and the dependencies of the application and generates a graph of the dependencies.

## Usage

Install the package in the environment where your FastAPI application is installed.
```bash
pip install fastapi-di-viz
```

Then run the following command to generate the graph:
```bash
fastapi-di-viz your_app.main:app
```

A sample graph for the application in [fastapi_di_viz/sample](./fastapi_di_viz/sample/) looks like this:

```mermaid
---
title: FastAPI dependency chain
---
graph TD;
root --> get_settings
a --> get_serviceA
get_serviceA --> get_repo
get_serviceA --> get_settings
b --> get_serviceB
get_serviceB --> get_repo
```

The tool supports graphs in the following formats:

- Graphviz DOT format
- Mermaid flowchart format