|
Hi Tip-Sheeters, This week I'm excited to share a chat I had with Sebastian Ramírez Montaňo, creator of FastAPI and founder of FastAPI Labs. There's some good stuff in our conversation, including Sebastián's tips on skill-building and advice on staying positive. If you've had this email forwarded to you, I hope you'll consider subscribing weekly at https://tips.handsonapibook.com/. The Big AnnouncementFor background, you might have seen the announcement a few weeks ago on Sebastián's LinkedIn. The website for the first product is https://fastapicloud.com/ and there's an active waiting list to use the service. If you're interested in deploying Python APIs to the cloud, check it out. With that backdrop, let's jump right into our conversation, which was done asynchronously. (Appropriate for Python, right?) Ryan: First of all congrats on the success of FastAPI and the recent public launch of your new company FastAPI Labs. Has this been in the works for a while? Sebastián: Yep! We have been working on it since all 2024. There’s so much work that goes underneath so that the final developer experience is a single command `fastapi deploy` that just works. Your first product is going to be the FastAPI Cloud – what are a few of the benefits this product will provide to FastAPI Users? Sebastián: Our main objective is to nail down the best developer experience possible for FastAPI developers and apps. We want to be highly focused on that very narrow objective first. Similar to the Unix philosophy, we want to do one narrow thing and do it very well. For example, we don’t intend to host databases for now, we are partnering and integrating with best-in-class providers. And similarly for other things. When people deploy to FastAPI Cloud, they will have all the right things they would expect or want for FastAPI. And this is not just the first version, but a continuous effort. We’ll make sure we keep the pace with the cloud and with everything that could be done to improve the process of developing and deploying, so that people can focus on the important part, the actual app code. Our tagline is a very good description of our approach: You code. We cloud. We handle installing, building, deploying, scaling based on requests (including scaling down to zero to save on costs), encrypted HTTPS for everything, etc. All the right things for a FastAPI app. And in addition to FastAPI Cloud, a lot of extra open source will come from us. Improvements in the current projects and additional ones we’re already working on. Ryan: I’ve really enjoyed using FastAPI the last few years in a variety of projects. I always tell people that it’s “dead easy to use”, especially with the addition of the FastAPI CLI last year. How do you see FastAPI Cloud providing that simplicity for cloud deployment? Sebastián: That’s amazing to hear! And that’s exactly our spirit and intention. We have put a lot of effort into making it dead easy to build FastAPI apps. But then, deploying them (or deploying any type of backend app) was not as straightforward and dead easy as the rest of the process. This is exactly what we are building, we’re bringing the “dead easy” workflow and feeling from FastAPI to the cloud. In fact, all that’s needed is the same CLI you already have. You’ll have a new command `fastapi deploy`, and that’s it, we handle the rest. Ryan: Running an open-source project has a lot of challenges for the maintainer. It seems like when a project gets popular it can bring a pretty big support burden, usually without much financial support from the users. How do you see your company helping to ensure the FastAPI project can continue to be maintained in the future? Sebastián: This is something I have been asking myself for years, I didn’t start a company until I found something that was very well aligned with the open source. The product that we are building has two very nice properties (from the point of view of open source):
These two points are the sweet spot to ensure the open source thrives. It’s not dependent on one person’s willpower, it’s financially aligned with the company. For example, right now, there’s one person dedicated pretty fully to handling and managing questions from users in GitHub Discussions and managing PRs, that on top of the work done by several of us. Having one person dedicated to that is a luxury not many projects can have. Ryan: Beyond FastAPI Cloud, do you have any other projects or products on the horizon for FastAPI Labs? Sebastián: For now the focus is on nailing down FastAPI Cloud, ensuring we make the best way to deploy FastAPI. There are several potential additional features or products we could build, but we’ll listen to our customers to focus and prioritize what is actually needed. And on the open source, we already have extra features and improvements planned for all the projects, plus additional projects we will build (and are already building). Ryan: In your social media and your public speaking, you have a very positive and optimistic outlook. How do you think those qualities help in being a software founder? Sebastián: Haha, thanks! There are a lot of people being pessimistic out there, it’s worth trying an optimistic approach too. It’s at least definitely more enjoyable. 😅 Also, in general, you get what you reward, and stop getting what you punish. Attention to something and discourse about something is a type of reward for it. So, less attention to negative things and more attention to positive things tends to attract and foster positive things, while diminishing negative things. It's actually very similar to AI/ML. The cost function you’re optimizing for (e.g. doing gradient descent on) is the amount of negative stuff compared to the positive stuff. If you keep tweaking parameters to have more positive than negative, you end up having more positive than negative down the line. In both cases (ML and life or online interactions) I feel it’s like pulling the thread you want, even if the thread goes through different places and is intertwined with other things. Even if you don’t know exactly how it is intertwined, you keep pulling, and you generally end up with more of that thread on your side. So it’s worth it to pull the positive thread. I don’t always succeed, there are bad things that affect me the same as everyone else, but I think it’s worth trying. Ryan: We all like to keep growing and developing our technical abilities - What ways have you found to keep your skills sharp? Sebastián: Focus on a problem. That helps so much. Focus on a problem that is important to you, hopefully one that affects you directly, and figure out the way to solve it. It helps align what are the things to build, to study, to investigate, and discard unnecessary ones too. It’s also of course great to stay curious and learn things that you’re just curious about, and get them as extra tools to use. But when deciding what to do or which approach to use, having a clear problem can help a lot. Ryan: What are two or three projects you’d suggest Tip-Sheeters build today to grow their toolset and keep up with the fast-moving world of APIs, AI and Data Science? Sebastián: I would first suggest focusing on a problem that is interesting for each, and learn whatever is needed to solve it. But if it’s just for learning things in general, just to get an extra tool in the toolset, I would suggest the official docs for FastAPI to learn how to use FastAPI and how to build APIs in general. Next, I would suggest SQLModel, reading the docs. They teach not only how to use SQLModel but also a bit of databases in general. Then also Typer, to quickly build command line applications, it’s super simple and quick to do and learn, but they always come in handy. Ryan: Thanks so much for taking the time to chat with the Tip Sheet. Best of luck in the future! Sebastián: Thank you for inviting me! 🚀 Keep coding, Ryan Day 👉 https://tips.handsonapibook.com/ -- no spam, just a short email every week. |
This is my weekly newsletter where I share some useful tips that I've learned while researching and writing the book Hands-on APIs for AI and Data Science, a #1 New Release from O'Reilly Publishing
Hi Tip-Sheeters, One of the key areas where APIs are used in machine learning is for model inference. This is where the model is made available for real-time API calls to receive predictions. This is one of the two primary modes of model inference (along with batch inference). Tip Sheet #12 listed some of the top Python libraries worth exploring. One of those was LitServe, which is a framework for hosting models with a FastAPI backend. This week, I'll demonstrate this framework using my...
Hi Tip-Sheeters, Today is Veteran's Day, and I want to start with appreciation for any service members who are reading this. The holiday was originally created to remember the armistice that ended the first World War in 1918. Peace is a blessing that we should never take for granted. Entering a Hackathon Quick and Dirty As data and IT pros, we are constantly honing our craft. One of the best ways is through taking on intense challenges or projects to drive our learning in a short period of...
Hi Tip-Sheeters, This week, I’m sharing a few of the questions that I’ve had this past year from readers, people at events, or folks who’ve reached out on LinkedIn. If you ever have a question or something I can assist with, please hit reply on the newsletter email, and I’ll be happy to share my thoughts. Let’s jump in! Q&A About Data, Tech, and Career Q: What is the new tool or framework you are learning about right now? If you’ve been keeping up with the Tip Sheet, you won’t be surprised...