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

Add a guide for using uv with FastAPI #6401

Merged
merged 1 commit into from
Aug 23, 2024
Merged

Add a guide for using uv with FastAPI #6401

merged 1 commit into from
Aug 23, 2024

Conversation

charliermarsh
Copy link
Member

No description provided.

@charliermarsh charliermarsh added the documentation Improvements or additions to documentation label Aug 22, 2024
@charliermarsh charliermarsh marked this pull request as ready for review August 22, 2024 02:44
@charliermarsh charliermarsh force-pushed the charlie/fastapi branch 2 times, most recently from 3337006 to e0a92fe Compare August 22, 2024 02:52
Copy link

@tiangolo tiangolo left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Love this! 😍

I have a couple of suggestions.

One, installing fastapi[standard], that includes fastapi-cli, uvicorn, uvloop, httptools, etc.

Two, using the fastapi CLI.

docs/guides/integration/fastapi.md Outdated Show resolved Hide resolved
docs/guides/integration/fastapi.md Outdated Show resolved Hide resolved
docs/guides/integration/fastapi.md Outdated Show resolved Hide resolved
docs/guides/integration/fastapi.md Outdated Show resolved Hide resolved
@@ -0,0 +1,136 @@
# Using uv with FastAPI
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I was thinking we'd do "Building a REST API" and "Building a CLI" top-level guides — maybe after "Working on projects" and probably both just using whatever we feel like is good practice e.g. FastAPI and Typer(?). I guess they could go in the integration guides instead, but it seems nice to frame it around the general idea rather than the specific framework (even if we use a specific framework in the example). What do you think?

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

(will review the rest tomorrow)

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I prefer having something targeted like this. We could always expand it later if needed.

Copy link
Member

@zanieb zanieb left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks reasonable to me.

@charliermarsh charliermarsh enabled auto-merge (squash) August 23, 2024 02:09
@charliermarsh charliermarsh merged commit 1cd8013 into main Aug 23, 2024
46 checks passed
@charliermarsh charliermarsh deleted the charlie/fastapi branch August 23, 2024 02:09
tmeijn pushed a commit to tmeijn/dotfiles that referenced this pull request Aug 25, 2024
This MR contains the following updates:

| Package | Update | Change |
|---|---|---|
| [astral-sh/uv](https://github.com/astral-sh/uv) | patch | `0.3.1` -> `0.3.2` |

MR created with the help of [el-capitano/tools/renovate-bot](https://gitlab.com/el-capitano/tools/renovate-bot).

**Proposed changes to behavior should be submitted there as MRs.**

---

### Release Notes

<details>
<summary>astral-sh/uv (astral-sh/uv)</summary>

### [`v0.3.2`](https://github.com/astral-sh/uv/blob/HEAD/CHANGELOG.md#032)

[Compare Source](astral-sh/uv@0.3.1...0.3.2)

##### Configuration

-   Add support for configuring `python-downloads` with `UV_PYTHON_DOWNLOADS` ([#&#8203;6436](astral-sh/uv#6436))
-   Add support for configuring the `python-preference` with `UV_PYTHON_PREFERENCE` ([#&#8203;6432](astral-sh/uv#6432))
-   Deny invalid members in workspace schema ([#&#8203;6450](astral-sh/uv#6450))

##### Performance

-   Stop streaming wheels when `METADATA` is discovered (if range requests aren't supported) ([#&#8203;6470](astral-sh/uv#6470))

##### Bug fixes

-   Remove URI type from JSON Schema ([#&#8203;6449](astral-sh/uv#6449))
-   Fix retrieval of credentials for URLs from cache ([#&#8203;6452](astral-sh/uv#6452))
-   Restore `cache` suffix on Windows cache path ([#&#8203;6482](astral-sh/uv#6482))
-   Treat `.pyw` files as scripts in `uv run` on Windows ([#&#8203;6453](astral-sh/uv#6453))
-   Treat invalid extras as `false` in marker evaluation ([#&#8203;6395](astral-sh/uv#6395))
-   Avoid overwriting symlinks in `pip compile` output ([#&#8203;6487](astral-sh/uv#6487))

##### Documentation

-   Add `uv run` hint to the `uvx` guide ([#&#8203;6454](astral-sh/uv#6454))
-   Add a guide for using uv with FastAPI ([#&#8203;6401](astral-sh/uv#6401))
-   Add tip for using `managed = false` to disable project management ([#&#8203;6465](astral-sh/uv#6465))
-   Clarify the `uv tool run`, `uvx`, and `uv run` relationships ([#&#8203;6455](astral-sh/uv#6455))
-   Fix references to `--python-downloads` (it is `--no-python-downloads`) ([#&#8203;6439](astral-sh/uv#6439))
-   Further clarifications to the tools documentation ([#&#8203;6474](astral-sh/uv#6474))
-   Update docs dockerfile (bullseye -> bookworm) ([#&#8203;6441](astral-sh/uv#6441))
-   Update the installation documentation page ([#&#8203;6468](astral-sh/uv#6468))
-   Update pip compatibility pages to mention configuration files support ([#&#8203;6410](astral-sh/uv#6410))
-   Add `uv run` docs for gui scripts ([#&#8203;6478](astral-sh/uv#6478))

</details>

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied.

♻ **Rebasing**: Whenever MR becomes conflicted, or you tick the rebase/retry checkbox.

🔕 **Ignore**: Close this MR and you won't be reminded about this update again.

---

 - [ ] <!-- rebase-check -->If you want to rebase/retry this MR, check this box

---

This MR has been generated by [Renovate Bot](https://github.com/renovatebot/renovate).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy40NDAuNyIsInVwZGF0ZWRJblZlciI6IjM3LjQ0MC43IiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6WyJSZW5vdmF0ZSBCb3QiXX0=-->
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
documentation Improvements or additions to documentation
Projects
None yet
Development

Successfully merging this pull request may close these issues.

6 participants