Skip to content

Commit

Permalink
➖ Remove orjson and ujson from default dependencies (#11842)
Browse files Browse the repository at this point in the history
  • Loading branch information
tiangolo authored Jul 14, 2024
1 parent 7a9396c commit 4d3ef06
Show file tree
Hide file tree
Showing 4 changed files with 17 additions and 9 deletions.
7 changes: 5 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -468,12 +468,15 @@ Used by Starlette:
Used by FastAPI / Starlette:

* <a href="https://www.uvicorn.org" target="_blank"><code>uvicorn</code></a> - for the server that loads and serves your application.
* <a href="https://github.com/ijl/orjson" target="_blank"><code>orjson</code></a> - Required if you want to use `ORJSONResponse`.
* <a href="https://github.com/esnme/ultrajson" target="_blank"><code>ujson</code></a> - Required if you want to use `UJSONResponse`.
* `fastapi-cli` - to provide the `fastapi` command.

When you install `fastapi` it comes these standard dependencies.

Additional optional dependencies:

* <a href="https://github.com/ijl/orjson" target="_blank"><code>orjson</code></a> - Required if you want to use `ORJSONResponse`.
* <a href="https://github.com/esnme/ultrajson" target="_blank"><code>ujson</code></a> - Required if you want to use `UJSONResponse`.

## `fastapi-slim`

If you don't want the extra standard optional dependencies, install `fastapi-slim` instead.
Expand Down
8 changes: 7 additions & 1 deletion docs/en/docs/advanced/custom-response.md
Original file line number Diff line number Diff line change
Expand Up @@ -39,7 +39,7 @@ But if you are certain that the content that you are returning is **serializable
And it will be documented as such in OpenAPI.

!!! tip
The `ORJSONResponse` is currently only available in FastAPI, not in Starlette.
The `ORJSONResponse` is only available in FastAPI, not in Starlette.

## HTML Response

Expand Down Expand Up @@ -149,10 +149,16 @@ This is the default response used in **FastAPI**, as you read above.

A fast alternative JSON response using <a href="https://github.com/ijl/orjson" class="external-link" target="_blank">`orjson`</a>, as you read above.

!!! info
This requires installing `orjson` for example with `pip install orjson`.

### `UJSONResponse`

An alternative JSON response using <a href="https://github.com/ultrajson/ultrajson" class="external-link" target="_blank">`ujson`</a>.

!!! info
This requires installing `ujson` for example with `pip install ujson`.

!!! warning
`ujson` is less careful than Python's built-in implementation in how it handles some edge-cases.

Expand Down
7 changes: 5 additions & 2 deletions docs/en/docs/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -466,12 +466,15 @@ Used by Starlette:
Used by FastAPI / Starlette:

* <a href="https://www.uvicorn.org" target="_blank"><code>uvicorn</code></a> - for the server that loads and serves your application.
* <a href="https://github.com/ijl/orjson" target="_blank"><code>orjson</code></a> - Required if you want to use `ORJSONResponse`.
* <a href="https://github.com/esnme/ultrajson" target="_blank"><code>ujson</code></a> - Required if you want to use `UJSONResponse`.
* `fastapi-cli` - to provide the `fastapi` command.

When you install `fastapi` it comes these standard dependencies.

Additional optional dependencies:

* <a href="https://github.com/ijl/orjson" target="_blank"><code>orjson</code></a> - Required if you want to use `ORJSONResponse`.
* <a href="https://github.com/esnme/ultrajson" target="_blank"><code>ujson</code></a> - Required if you want to use `UJSONResponse`.

## `fastapi-slim`

If you don't want the extra standard optional dependencies, install `fastapi-slim` instead.
Expand Down
4 changes: 0 additions & 4 deletions pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -61,10 +61,6 @@ standard = [
"jinja2 >=2.11.2",
# For forms and file uploads
"python-multipart >=0.0.7",
# For UJSONResponse
"ujson >=4.0.1,!=4.0.2,!=4.1.0,!=4.2.0,!=4.3.0,!=5.0.0,!=5.1.0",
# For ORJSONResponse
"orjson >=3.2.1",
# To validate email fields
"email_validator >=2.0.0",
# Uvicorn with uvloop
Expand Down

0 comments on commit 4d3ef06

Please sign in to comment.