Skip to main content

A simple tool designed to automatically generate usable types, functions, and other useful server-side code from a list of [FastAPI](https://fastapi.tiangolo.com/) application to a given framework.

Project description

fast2app package

Maintenance License: MIT coverage

FastAPI Nuxtjs

Description

A simple tool designed to automatically generate usable types, functions, and other useful server-side code from a list of FastAPI application to a given framework.

This is particularly helpful when working with FasttAPI backends applications and wanting to generate types and functions for the frontend.

Currently supported frameworks

Installation

#  Install fast2app
pip install fast2app

Requirements

This package is currently compatible with python 3.11 and above.

It requires that you have the quicktype CLI utility installed.

#  Install quicktype
npm install -g quicktype

Usage and examples

This package is used as a CLI tool.

# Nuxt3
# You must ammend your nuxt.config.ts file and environement variables in order to use the new generated files. See documentations below.

fast2nuxt --fast-api-app path/to/fastapi/app.py::app_name --export-path path/to/nuxt/app/root/folder -composables

For specific instructions, please see :

Helpdesk

Go here to report an issue

Current Features

Core

  • Command line interface with fast2app
  • Export FastAPI pydantic model as typescript interfaces in nuxt, including Enums
  • Export FastApi as Nuxt API Server
  • Export FastApi as Nuxt Composables

Tests

  • Base Tests
  • Utils Tests
  • Export Tests
  • CLI Tests
  • Integration tests :
    • Nuxt :
      • Api Server
      • Composables
  • Coverage as artifacts
  • Junit reports

Roadmap

Future releases

  • Create e more robust documentation in a website
  • make it compatible with older python versions
  • Refactor package to more easily add support for more frameworks.
  • Refactor testing in order to use the same parameters and edge cases for all frameworks.
  • Add python framework support.

Ambitions

  • Add support for more frameworks (React, Vue, Angular, etc.) with contributions from the community.

Contributing

I've launched into this project as a side task of a bigger endeavor.

Considerig the growing popularity of FastAPI, I think that this tool could be a great addition to the ecosystem and I have decided to make it open source.

I'm new to open source and am open to any ideas, contribution or constructive feedback.

Go here to contact me

Retrieve the repository

cd existing_repo
git remote add origin https://git.mydh.io/shared/fast2app.git
git branch -M main
git pull origin main

License

This project is licensed under the terms of the MIT license.

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

fast2app-1.3.0.tar.gz (27.8 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

fast2app-1.3.0-py3-none-any.whl (46.7 kB view details)

Uploaded Python 3

File details

Details for the file fast2app-1.3.0.tar.gz.

File metadata

  • Download URL: fast2app-1.3.0.tar.gz
  • Upload date:
  • Size: 27.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/2.1.3 CPython/3.11.9 Linux/5.10.0-31-amd64

File hashes

Hashes for fast2app-1.3.0.tar.gz
Algorithm Hash digest
SHA256 44e728262eb83e6d6293bd643669a26991f40aec78c3981d30c85eba9ba66da5
MD5 a80fe62021298e5685fe19d6f28eabf6
BLAKE2b-256 7fdc5054003002bd1f16d4a0ad9795a3906697e2ff2746377dd5f3fbf36481d0

See more details on using hashes here.

File details

Details for the file fast2app-1.3.0-py3-none-any.whl.

File metadata

  • Download URL: fast2app-1.3.0-py3-none-any.whl
  • Upload date:
  • Size: 46.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/2.1.3 CPython/3.11.9 Linux/5.10.0-31-amd64

File hashes

Hashes for fast2app-1.3.0-py3-none-any.whl
Algorithm Hash digest
SHA256 20d433f6f58480f2842f31d1218d9d6d0eabf3caabc576840734ef08e3bee75d
MD5 cdef6ebdf69f8a760cc97d8f8cb6afdc
BLAKE2b-256 de082c6b9c0eff3c3b8e0075be3289c5384f4383d2f4388754426d5f65a0a710

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