By doing it with friends. We’ve written a bunch of Python packages, such as Django-GUID[1], ASGI-Correlation-ID[2], install-poetry GitHub action[3] etc... We’re a organization on GitHub with friends who do this together. Helps when multiple can answer GitHub issues etc.
I do write some open source for work, but that too is mostly done at my spare time.
No income, but I sponsor others. FOSS is mostly to learn and do something a bit different.
Best way to find logs connected to one of your API requests is by using correlation IDs, which are injected to each log message. Me and my friend wrote libraries to do this for both Django[1] and ASGI apps(starlette, FastAPI)[2]
I have also made an attempt at writing an article for developers that want to implement Oauth2.[1] Not a complete guide, but a short(8min) read that aims to get you started.
If anyone makes this work with heroku Postgres, let me know!
I started a container and connected it, but instantly got an email from heroku telling me i had 19500 of my 10000 rows, and 215 tables. Not really any hobby-project viable priced hosting options in their documentation.
I think, in general, most FastAPI and Pydantic related libraries are heavily typed, use poetry, GitHub pipelines, black, isort, flake8 etc. so if you want to look at the ecosystem around a package I’ll recommend a few here, that has a smaller scope than the huge libraries Pydantic/FastAPI are. All packages listed below has all these things.
FastAPI-Azure-Auth [0] is a library to do authentication and authorization through Azure AD using tokens.
ASGI—Correlation-ID[1] is a package that utilizes contextvars to store information through the asyncio stack, in order to attach correlation/request ID to every log message from a request. Django-GUID [2] does the same for both sync and async Django.
Pydantic-factories [3] is an awesome library to mock data for your pydantic models.
I do write some open source for work, but that too is mostly done at my spare time.
No income, but I sponsor others. FOSS is mostly to learn and do something a bit different.
[1] https://github.com/snok/django-guid
[2] https://github.com/snok/asgi-correlation-id
[3] https://github.com/snok/install-poetry