Ecosyste.ms: Awesome

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

Awesome Lists | Featured Topics | Projects

https://github.com/miketheman/cookiecutter-fastapi-serverless

DRAFT - A cookiecutter template to generate a FastAPI service, deployable to AWS API Gateway & Lambda via the serverless framework.
https://github.com/miketheman/cookiecutter-fastapi-serverless

cookiecutter cookiecutter-template fastapi fastapi-boilerplate python python3 serverless template

Last synced: about 1 month ago
JSON representation

DRAFT - A cookiecutter template to generate a FastAPI service, deployable to AWS API Gateway & Lambda via the serverless framework.

Awesome Lists containing this project

README

        

# cookiecutter-fastapi-template

[![license: MIT](https://img.shields.io/badge/license-MIT-black.svg)](https://opensource.org/licenses/MIT)
[![Code style: black](https://img.shields.io/badge/code%20style-black-000000.svg)](https://github.com/psf/black)

A [cookiecutter] template to generate a [FastAPI] service, deployable to
AWS API Gateway & Lambda via the [serverless framework].

## Why?

TODO: Short, but sweet description.

## How?

TODO: User-facing generate new project, and then what to do next.

```console
brew install cookiecutter
cookiecutter gh:miketheman/cookiecutter-fastapi-serverless

pipx run cookiecutter gh:miketheman/cookiecutter-fastapi-serverless
```

You will be prompted for some inputs which control the generated content, such
as your full name, email, the project name, and license, amongst others.
To view them all, see the `cookiecutter.json` file - you shouldn't have to
change the file at all, only answer the prompts. The generate project won't
contain this file.

Once complete, enter the template directory, and get things set up:

```console
$ cd
$ git init
$ pipenv install --dev
$ pipenv run pytest
```

Also read the `README.md` in the project's directory, it'll have valuable
information on how to continue!

Remember: this is all a starting point - feel free to change whatever you want,
it's your project!

## What?

What's included in this template? We've made some opinionated choices on what to
include, so that you getting up and running faster

Included pieces, with links to their respecitve projects:

- [.editorconfig]
- [.gitignore]
- `LICENSE` file, based on your input
- [Pipenv] and `Pipfile`, set to [Python 3.8]
- [pytest] with plugins like [black], [flake8], [isort]
- [uvicorn] for running the service in local development

## Who?

This project was originally authored by [Mike Fiedler].

[Mike Fiedler]: https://github.com/miketheman

### Contributing

TODO: Add contributing details.

## License

Distributed under the terms of the MIT license, "cookiecutter-fastapi-template"
is free and open source software.
See [LICENSE] for details.

[.editorconfig]: https://editorconfig.org/
[.gitignore]: https://git-scm.com/docs/gitignore
[black]: https://black.readthedocs.io/
[cookiecutter]: https://github.com/cookiecutter/cookiecutter
[FastAPI]: https://fastapi.tiangolo.com/
[flake8]: https://flake8.pycqa.org/
[isort]: https://pycqa.github.io/isort/
[LICENSE]: LICENSE
[Pipfile]: https://pipenv.pypa.io/
[pytest]: https://pytest.org/
[Python 3.8]: https://docs.python.org/3.8/
[serverless framework]: https://www.serverless.com/open-source/
[uvicorn]: https://www.uvicorn.org/