# fast2app package
<!-- STATUS HEADERs -->
[![Maintenance](https://img.shields.io/badge/Maintained-yes-green.svg)](https://GitHub.com/Naereen/StrapDown.js/graphs/commit-activity)
[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)
![coverage](https://git.mydh.io/shared/fast2app/badges/main/coverage.svg?job=coverage)
<!-- RELATIONSHIIPS -->
![FastAPI](https://img.shields.io/badge/FastAPI-005571?style=for-the-badge&logo=fastapi)
![Nuxtjs](https://img.shields.io/badge/Nuxt-002E3B?style=for-the-badge&logo=nuxtdotjs&logoColor=#00DC82)
## Description
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.
This is particularly helpful when working with FasttAPI backends applications and wanting to generate types and functions for the frontend.
## Currently supported frameworks
- [Nuxt3](https://nuxt.com/)
# Installation
```powershell
# Install fast2app
pip install fast2app
```
## Requirements
This package is currently compatible with python 3.11 and above.
It requires that you have the [quicktype](https://quicktype.io/) CLI utility installed.
```powershell
# Install quicktype
npm install -g quicktype
```
# Usage and examples
This package is used as a CLI tool.
```powershell
# 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 :
- [Nuxt Documentation](https://git.mydh.io/shared/fast2app/-/blob/main/NUXT_DOCUMENTATION.md)
# Helpdesk
[Go here to report an issue](https://helpdesk.mydh.io/issue-form)
- [Current Issues](https://git.mydh.io/shared/fast2app/-/issues)
- [Known limitations](https://git.mydh.io/shared/fast2app/-/blob/main/KNOWN_LIMITATIONS.md)
# 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](https://fastapi.tiangolo.com/), 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](https://helpdesk.mydh.io/contact-form)
## Retrieve the repository
```powershell
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.
Raw data
{
"_id": null,
"home_page": null,
"name": "fast2app",
"maintainer": null,
"docs_url": null,
"requires_python": ">=3.11",
"maintainer_email": null,
"keywords": "fastapi, nuxt, composable, api, generation, typescript, framework, backend, frontend",
"author": "Emmanule Nicolle",
"author_email": "emmanuel.nicolle@mydh.io",
"download_url": "https://files.pythonhosted.org/packages/51/e6/6c957c791572aa1025b28f813c287aa3dc53eecbc5e19f014d7e4b766d00/fast2app-1.2.1.tar.gz",
"platform": null,
"description": "# fast2app package\n\n<!-- STATUS HEADERs -->\n\n[![Maintenance](https://img.shields.io/badge/Maintained-yes-green.svg)](https://GitHub.com/Naereen/StrapDown.js/graphs/commit-activity)\n[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)\n![coverage](https://git.mydh.io/shared/fast2app/badges/main/coverage.svg?job=coverage)\n\n<!-- RELATIONSHIIPS -->\n\n![FastAPI](https://img.shields.io/badge/FastAPI-005571?style=for-the-badge&logo=fastapi)\n![Nuxtjs](https://img.shields.io/badge/Nuxt-002E3B?style=for-the-badge&logo=nuxtdotjs&logoColor=#00DC82)\n\n## Description\n\nA 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.\n\nThis is particularly helpful when working with FasttAPI backends applications and wanting to generate types and functions for the frontend.\n\n## Currently supported frameworks\n\n- [Nuxt3](https://nuxt.com/)\n\n# Installation\n\n```powershell\n# Install fast2app\npip install fast2app\n```\n\n## Requirements\n\nThis package is currently compatible with python 3.11 and above.\n\nIt requires that you have the [quicktype](https://quicktype.io/) CLI utility installed.\n\n```powershell\n# Install quicktype\nnpm install -g quicktype\n```\n\n# Usage and examples\n\nThis package is used as a CLI tool.\n\n```powershell\n# Nuxt3\n# You must ammend your nuxt.config.ts file and environement variables in order to use the new generated files. See documentations below.\n\nfast2nuxt --fast-api-app path/to/fastapi/app.py::app_name --export-path path/to/nuxt/app/root/folder -composables\n```\n\nFor specific instructions, please see :\n\n- [Nuxt Documentation](https://git.mydh.io/shared/fast2app/-/blob/main/NUXT_DOCUMENTATION.md)\n\n# Helpdesk\n\n[Go here to report an issue](https://helpdesk.mydh.io/issue-form)\n\n- [Current Issues](https://git.mydh.io/shared/fast2app/-/issues)\n- [Known limitations](https://git.mydh.io/shared/fast2app/-/blob/main/KNOWN_LIMITATIONS.md)\n\n# Current Features\n\n## Core\n\n- Command line interface with fast2app\n- Export FastAPI pydantic model as typescript interfaces in nuxt, including Enums\n- Export FastApi as Nuxt API Server\n- Export FastApi as Nuxt Composables\n\n## Tests\n\n- Base Tests\n- Utils Tests\n- Export Tests\n- CLI Tests\n- Integration tests :\n - Nuxt :\n - Api Server\n - Composables\n- Coverage as artifacts\n- Junit reports\n\n# Roadmap\n\n## Future releases\n\n- Create e more robust documentation in a website\n- make it compatible with older python versions\n- Refactor package to more easily add support for more frameworks.\n- Refactor testing in order to use the same parameters and edge cases for all frameworks.\n- Add python framework support.\n\n## Ambitions\n\n- Add support for more frameworks (React, Vue, Angular, etc.) with contributions from the community.\n\n# Contributing\n\nI've launched into this project as a side task of a bigger endeavor.\n\nConsiderig the growing popularity of [FastAPI](https://fastapi.tiangolo.com/), I think that this tool could be a great addition to the ecosystem and I have decided to make it open source.\n\nI'm new to open source and am open to any ideas, contribution or constructive feedback.\n\n[Go here to contact me](https://helpdesk.mydh.io/contact-form)\n\n## Retrieve the repository\n\n```powershell\ncd existing_repo\ngit remote add origin https://git.mydh.io/shared/fast2app.git\ngit branch -M main\ngit pull origin main\n```\n\n# License\n\nThis project is licensed under the terms of the MIT license.\n",
"bugtrack_url": null,
"license": null,
"summary": "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.",
"version": "1.2.1",
"project_urls": {
"Bug Tracker": "https://git.mydh.io/shared/fast2app/-/issues/?sort=priority&state=opened&label_name%5B%5D=bug&first_page_size=20",
"Contact and contribution": "https://helpdesk.mydh.io/contact-form",
"Help Desk": "https://helpdesk.mydh.io/issue-form",
"Homepage": "https://git.mydh.io/shared/fast2app",
"Nuxt Documentation": "https://git.mydh.io/shared/fast2app/-/blob/development/NUXT_DOCUMENTATION.md"
},
"split_keywords": [
"fastapi",
" nuxt",
" composable",
" api",
" generation",
" typescript",
" framework",
" backend",
" frontend"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "2de8c6f73655783e55f77f9dd23eef42a44caceb7578eab63b6ac51d25eef35d",
"md5": "33914373b9d92d4d1b72496b6ecd6666",
"sha256": "ec9dfd12824f471374b7ff94949506ac78615b5883c85d451ca6f0120b3928c6"
},
"downloads": -1,
"filename": "fast2app-1.2.1-py3-none-any.whl",
"has_sig": false,
"md5_digest": "33914373b9d92d4d1b72496b6ecd6666",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.11",
"size": 46387,
"upload_time": "2024-11-07T14:35:36",
"upload_time_iso_8601": "2024-11-07T14:35:36.971483Z",
"url": "https://files.pythonhosted.org/packages/2d/e8/c6f73655783e55f77f9dd23eef42a44caceb7578eab63b6ac51d25eef35d/fast2app-1.2.1-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "51e66c957c791572aa1025b28f813c287aa3dc53eecbc5e19f014d7e4b766d00",
"md5": "27ccf2f36bf23c724bbd05b61bc5c01f",
"sha256": "ff7f3162db285ac69ff1f8343a182959685d7762ef4537afaefa6bb77a812633"
},
"downloads": -1,
"filename": "fast2app-1.2.1.tar.gz",
"has_sig": false,
"md5_digest": "27ccf2f36bf23c724bbd05b61bc5c01f",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.11",
"size": 28206,
"upload_time": "2024-11-07T14:35:38",
"upload_time_iso_8601": "2024-11-07T14:35:38.484752Z",
"url": "https://files.pythonhosted.org/packages/51/e6/6c957c791572aa1025b28f813c287aa3dc53eecbc5e19f014d7e4b766d00/fast2app-1.2.1.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2024-11-07 14:35:38",
"github": false,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"lcname": "fast2app"
}