Back to archive

January 3, 2021

🚀 FastAPI and friends newsletter: the first issue ever!

Issue #1, Stickers, user survey, top-level dependencies, mypy --strict, and more...

FastAPI and Friends - the official newsletter

Happy New Year! 🎉

Let’s make 2021 a great year. 🤞 …at least better than 2020. 🤷😅

I will start with this, the first-ever FastAPI and friends newsletter. 🚀

We have FastAPI and Typer stickers, the first FastAPI user survey, editor improvements, new features, and more. ✨

Let’s build things!

@tiangolo (Sebastián Ramírez)

🎁 Giveaway: Official stickers with the FastAPI user survey! ✨

Help me define the future of FastAPI, Typer, and friends, by filling the first FastAPI user survey (5 - 10 min). 🚀

This is your chance to help me make FastAPI better for YOU. 🎉

And you can also help me find ways to make it sustainable. To add features and bug fixes, grow, and improve it faster. 🤓

By filling it, you can participate for a chance to win official FastAPI and Typer stickers. ✨

Here’s the link to the survey: https://tripetto.app/run/RXZ6OLDBXX?s=nsl

I really appreciate your help. 🙇

FastAPI and Typer stickers

✨ New Feature: Top-level dependencies in FastAPI 0.62.0

Are you declaring tags, dependencies, and others with app.include_router()?

from fastapi import FastAPI, Depends

from . import users
from .dependencies import get_query_token

app = FastAPI()

app.include_router(
    users.router,
    tags=["users"],
    dependencies=[Depends(get_query_token)]
)

@app.get("/")
def main():
    return {"message": "Hello World"}

There’s a better way to add tags, dependencies, and other parameters to a whole APIRouter.

If you are interested, go and check out the blog post: FastAPI top-level dependencies.

✨ New Feature: Support for mypy --strict in FastAPI

FastAPI version 0.63.0 adds support for mypy --strict in your app.

You can now take your own code to the next level of type annotations, and FastAPI will support it. 🤓

💡 Tip: Install uvicorn[standard]

The latest version of Uvicorn now comes in a more simple/pure form, without extra dependencies.

This means that if you use it to deploy your FastAPI applications, you should not install with:

🚫 pip install uvicorn

but instead, install with:

✅ pip install uvicorn[standard]

That will include Uvloop underneath, which is what ultimately provides all the concurrency performance. 🚄

That’s it. The rest works the same. 👌

📰 News: VS Code Python Debugger

The latest version of the Python plugin for Visual Studio Code added a default option to easily debug FastAPI applications. ✨

Thanks to Marcelo Trylesinski for the implementation. 🙇

To check it out:

  • Open a FastAPI app in VS Code
  • Go to the Debug tab
  • Click “Run and debug”
  • Select “FastAPI” 🐛

📰 News: PyCharm FastAPI webinar

The JetBrains/PyCharm team organized a webinar with Michael Kennedy exploring FastAPI:

“Let’s Build a Fast, Modern Python API with FastAPI”

I think it’s quite cool that Michael understands that the “fast” in “FastAPI” is not only about performance/concurrency but also about development speed. 🚄

What do you think?

That’s it for the first FastAPI and friends newsletter.

You read all that! …thanks for reading. 🤓

I would love to hear from you, did you enjoy it?

What would you like me to include here?

Let me know what you think! An email, or Twitter works. 😉