Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

🚀 Roadmap #678

Open
3 tasks
tiangolo opened this issue Oct 4, 2023 · 4 comments
Open
3 tasks

🚀 Roadmap #678

tiangolo opened this issue Oct 4, 2023 · 4 comments

Comments

@tiangolo
Copy link
Member

tiangolo commented Oct 4, 2023

Description

This is a tentative roadmap, I will update it as things evolve. Some things might be discarded, others might be added later. I didn't want to make it fully public as it could raise expectations, but it seems it would be more beneficial for the community to know all the ideas and objectives.

Work on this is alternated (and sometimes mixed) with work on FastAPI, SQLModel, Asyncer, and others.

Answering questions, issues, and PRs is also intermixed with this, but as in some cases one of these features would solve several issues or questions, or potentially solve something done by one or more PRs, in many cases I focus on this a bit more than on answering specific issues, questions, PRs.

Maintenance

The word "maintenance" or "maintainer" doesn't have a very strict definition, and it probably varies a lot from perspective.

A lot of the work related to maintaining FastAPI is done by contributors by answering questions, reviewing PRs, etc.

You can help me ensure each existing PR is in shape (has tests, solves the problem, etc.). Make sure you filter out the translation PRs (most of them) unless you speak the language and can review them.

Security

When there are security issues, those are handled with the highest priority. Those are normally not handled in issues and PRs but in emails, it's not public until the security disclosure is made, in most cases (always, up to now) with the version that fixes them.

Roadmap

Now, here's the current high-level tentative roadmap:

  • Optional async support with AnyIO, while keeping it an optional dependency.
  • Optional Pydantic support, while keeping it an optional dependency.
  • Refactors and simplifications of internal code.

All this intermixed with reviews for PRs, issues, and discussions.

@rafalkrupinski

This comment was marked as outdated.

@johnthagen
Copy link

johnthagen commented May 2, 2024

One limitation that I've seen come up repeatedly from friends and coworkers is T | V union syntax support. If it were at all possible to check out:

I think this would remove a common stumbling block for new and seasoned users alike. ❤️

This is especially important for users of Ruff's pyupgrade rules, which will normalize Optional and Union syntax to T | V syntax automatically. Specific linter suppressions are needed to make Ruff work with Typer in this case

@jonaslb
Copy link
Contributor

jonaslb commented Jul 12, 2024

Regarding maintenance, perhaps a word of encouragement for maintainers (from you, @tiangolo) would be in order? Notably regarding the UnionType (with None) issue, @svlandeg did some great work going through all the PRs in spring and ended up recommending merging #548 to fix the issue, but deferred to you for "final decision". I don't know what the agreement is between you regarding maintenance, but it seems to me that maintainers ought to be empowered to make such merge decisions by themselves - otherwise they are hardly helping extend "merge bandwidth" (which seems to be near zero otherwise).

@tiangolo
Copy link
Member Author

Thanks for the input! I recently added more info about it here. 🤓 https://typer.tiangolo.com/management/

And with the help from @svlandeg (and now also from others) we are being able to clean up more all the PRs, issues, etc. Thanks!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants