-
-
Notifications
You must be signed in to change notification settings - Fork 3
✨ fastapi new command
#5
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
base: main
Are you sure you want to change the base?
✨ fastapi new command
#5
Conversation
patrick91
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Can't wait to have this!
I've left some comments, hopefully I'm not too annoying :D
tiangolo
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This is looking great! 🤩
I tried it locally to see how it feels and how it looks in the terminal, so polished! I like it. ✨
I just have a few minor comments.
| ), | ||
| ] = None, | ||
| python: Annotated[ | ||
| str | None, |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I'm realizing we can require Python 3.10+ for running fastapi-new, so we can finally use the new union vertical bar [tears of joy 🥹].
This PR adds the initial version of
fastapi new, which initializes your project, installs dependencies, and downloads boilerplate code to simplify thefastapigetting started experience.The goal is to support two core workflows:
The commands above create identical projects with
main.py,README.md, and project configuration with apyproject.toml. This also supports users passinguv initsupported flags intofastapi new(e.g.,--python) for additional customization.Once this is merged, I will follow up with a PR to
fastapi-clito register this commandand update our docs to reflect this simpler path to getting started. Later, I'd like to extend this to allow users to pass
--templateor a similar option to customize the boilerplate downloaded.