fastapi-tag
fastapi-tag copied to clipboard
Documented & Enhance the Metadata of your API ✨
FastAPI Tag
Documented & Enhance the Metadata of your API ✨
A simple Package could be added to your FastAPI Project to enhance the metadata of your Project and documenting your API with more information.
Source Code: https://github.com/yezz123/fastapi-tag
Install the project: pip install fastapi-tag
Features 🎉
- Add a tag to your API, which can be used to filter the API documentation.
- Add a description to your API, which can be used to describe the API.
- Add a version to your API, which can be used to describe the version of the API and app.
- Provide some others features like:
API_id: A unique identifier for the API.Audience: The audience of the API (e.g.public,internal,external).
- Tested in python 3.6 and up.
- Last Version of FastAPI :rocket:
Usage 📚
- To Identify the Metadata of your API:
from fastapi import FastAPI
from fastapi_tag.base.model import Contact, Metadata, Version
from fastapi_tag.core.application import Application
app = FastAPI()
def metadata(app):
return Metadata(
title="Hello World",
version=Version(app="v0.1.1", api="v0.1.0"),
description="A simple example of a FastAPI application.",
contact=Contact(
name="name",
url="http://test.com",
email=None
),
api_id="49786b4b-1889-46ec-bd72-27f332436e6f",
audience="company-internal",
)
def app(metadata):
return Application("", metadata)
-
We have also
Problemclass thats depends on:title: The title of the problem.status: The status code of the problem.detail: A human-readable explanation specific to this occurrence of the problem.instance: A URI reference that identifies the specific occurrence of the problem.type: A URI reference that identifies the problem type.
-
NameSpaceis a is a decorator that adds a route generator to the namespace object.
for example:
from fastapi_tag.router.routers import Namespace
route = Namespace([])
Format the code 💅
Execute the following command to apply pre-commit formatting:
make lint
TODO 🚧
- Extend the
Problemclass to add more information. - Add more features to the
Metadataclass. - Add more features to the
Versionclass. - Provide a detailed documentation for
fastapi_tagpackage.
License 🍻
This project is licensed under the terms of the MIT license.