mirror of
https://github.com/evroon/bracket.git
synced 2026-06-11 10:15:19 -04:00
Bumps [uvicorn](https://github.com/Kludex/uvicorn) from 0.44.0 to 0.46.0. <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/Kludex/uvicorn/releases">uvicorn's releases</a>.</em></p> <blockquote> <h2>Version 0.46.0</h2> <h2>What's Changed</h2> <ul> <li>Support <code>ws_max_size</code> in <code>wsproto</code> implementation by <a href="https://github.com/Kludex"><code>@Kludex</code></a> in <a href="https://redirect.github.com/Kludex/uvicorn/pull/2915">Kludex/uvicorn#2915</a></li> <li>Support <code>ws_ping_interval</code> and <code>ws_ping_timeout</code> in <code>wsproto</code> implementation by <a href="https://github.com/Kludex"><code>@Kludex</code></a> in <a href="https://redirect.github.com/Kludex/uvicorn/pull/2916">Kludex/uvicorn#2916</a></li> <li>Use <code>bytearray</code> for incoming WebSocket message buffer in websockets-sansio by <a href="https://github.com/Kludex"><code>@Kludex</code></a> in <a href="https://redirect.github.com/Kludex/uvicorn/pull/2917">Kludex/uvicorn#2917</a></li> </ul> <p><strong>Full Changelog</strong>: <a href="https://github.com/Kludex/uvicorn/compare/0.45.0...0.46.0">https://github.com/Kludex/uvicorn/compare/0.45.0...0.46.0</a></p> <h2>Version 0.45.0</h2> <h2>What's Changed</h2> <ul> <li>Preserve forwarded client ports in proxy headers middleware by <a href="https://github.com/Kludex"><code>@Kludex</code></a> in <a href="https://redirect.github.com/Kludex/uvicorn/pull/2903">Kludex/uvicorn#2903</a></li> <li>Accept <code>os.PathLike</code> for <code>log_config</code> by <a href="https://github.com/Kludex"><code>@Kludex</code></a> in <a href="https://redirect.github.com/Kludex/uvicorn/pull/2905">Kludex/uvicorn#2905</a></li> <li>Accept <code>log_level</code> strings case-insensitively by <a href="https://github.com/Kludex"><code>@Kludex</code></a> in <a href="https://redirect.github.com/Kludex/uvicorn/pull/2907">Kludex/uvicorn#2907</a></li> <li>Raise helpful <code>ImportError</code> when PyYAML is missing for YAML log config by <a href="https://github.com/Kludex"><code>@Kludex</code></a> in <a href="https://redirect.github.com/Kludex/uvicorn/pull/2906">Kludex/uvicorn#2906</a></li> <li>Revert empty context for ASGI runs by <a href="https://github.com/Kludex"><code>@Kludex</code></a> in <a href="https://redirect.github.com/Kludex/uvicorn/pull/2911">Kludex/uvicorn#2911</a></li> <li>Add <code>--reset-contextvars</code> flag to isolate ASGI request context by <a href="https://github.com/Kludex"><code>@Kludex</code></a> in <a href="https://redirect.github.com/Kludex/uvicorn/pull/2912">Kludex/uvicorn#2912</a></li> <li>Revert "Emit <code>http.disconnect</code> on server shutdown for streaming responses" (<a href="https://redirect.github.com/Kludex/uvicorn/issues/2829">#2829</a>) by <a href="https://github.com/Kludex"><code>@Kludex</code></a> in <a href="https://redirect.github.com/Kludex/uvicorn/pull/2913">Kludex/uvicorn#2913</a></li> </ul> <h2>New Contributors</h2> <ul> <li><a href="https://github.com/Krishnachaitanyakc"><code>@Krishnachaitanyakc</code></a> made their first contribution in <a href="https://redirect.github.com/Kludex/uvicorn/pull/2870">Kludex/uvicorn#2870</a></li> </ul> <p><strong>Full Changelog</strong>: <a href="https://github.com/Kludex/uvicorn/compare/0.44.0...0.45.0">https://github.com/Kludex/uvicorn/compare/0.44.0...0.45.0</a></p> </blockquote> </details> <details> <summary>Changelog</summary> <p><em>Sourced from <a href="https://github.com/Kludex/uvicorn/blob/main/docs/release-notes.md">uvicorn's changelog</a>.</em></p> <blockquote> <h2>0.46.0 (April 23, 2026)</h2> <h3>Added</h3> <ul> <li>Support <code>ws_max_size</code> in <code>wsproto</code> implementation (<a href="https://redirect.github.com/Kludex/uvicorn/issues/2915">#2915</a>)</li> <li>Support <code>ws_ping_interval</code> and <code>ws_ping_timeout</code> in <code>wsproto</code> implementation (<a href="https://redirect.github.com/Kludex/uvicorn/issues/2916">#2916</a>)</li> </ul> <h3>Changed</h3> <ul> <li>Use <code>bytearray</code> for incoming WebSocket message buffer in <code>websockets-sansio</code> (<a href="https://redirect.github.com/Kludex/uvicorn/issues/2917">#2917</a>)</li> </ul> <h2>0.45.0 (April 21, 2026)</h2> <h3>Added</h3> <ul> <li>Add <code>--reset-contextvars</code> flag to isolate ASGI request context (<a href="https://redirect.github.com/Kludex/uvicorn/issues/2912">#2912</a>)</li> <li>Accept <code>os.PathLike</code> for <code>log_config</code> (<a href="https://redirect.github.com/Kludex/uvicorn/issues/2905">#2905</a>)</li> <li>Accept <code>log_level</code> strings case-insensitively (<a href="https://redirect.github.com/Kludex/uvicorn/issues/2907">#2907</a>)</li> </ul> <h3>Changed</h3> <ul> <li>Revert "Emit <code>http.disconnect</code> on server shutdown for streaming responses" (<a href="https://redirect.github.com/Kludex/uvicorn/issues/2913">#2913</a>)</li> <li>Revert "Explicitly start ASGI run with empty context" (<a href="https://redirect.github.com/Kludex/uvicorn/issues/2911">#2911</a>)</li> </ul> <h3>Fixed</h3> <ul> <li>Preserve forwarded client ports in proxy headers middleware (<a href="https://redirect.github.com/Kludex/uvicorn/issues/2903">#2903</a>)</li> <li>Raise helpful <code>ImportError</code> when PyYAML is missing for YAML log config (<a href="https://redirect.github.com/Kludex/uvicorn/issues/2906">#2906</a>)</li> </ul> </blockquote> </details> <details> <summary>Commits</summary> <ul> <li><a href="b224045f59"><code>b224045</code></a> Version 0.46.0 (<a href="https://redirect.github.com/Kludex/uvicorn/issues/2918">#2918</a>)</li> <li><a href="7375b5bf66"><code>7375b5b</code></a> Use <code>bytearray</code> for incoming WebSocket message buffer in websockets-sansio (#...</li> <li><a href="d438fb16fe"><code>d438fb1</code></a> Support <code>ws_ping_interval</code> and <code>ws_ping_timeout</code> in <code>wsproto</code> implementation ...</li> <li><a href="3e6b964466"><code>3e6b964</code></a> Support <code>ws_max_size</code> in <code>wsproto</code> implementation (<a href="https://redirect.github.com/Kludex/uvicorn/issues/2915">#2915</a>)</li> <li><a href="2c423bd82b"><code>2c423bd</code></a> Version 0.45.0 (<a href="https://redirect.github.com/Kludex/uvicorn/issues/2914">#2914</a>)</li> <li><a href="7f027f8e25"><code>7f027f8</code></a> Revert "Emit <code>http.disconnect</code> on server shutdown for streaming responses" (#...</li> <li><a href="73a80c3cc8"><code>73a80c3</code></a> Add <code>--reset-contextvars</code> flag to isolate ASGI request context (<a href="https://redirect.github.com/Kludex/uvicorn/issues/2912">#2912</a>)</li> <li><a href="45c0b568d3"><code>45c0b56</code></a> Revert empty context for ASGI runs (<a href="https://redirect.github.com/Kludex/uvicorn/issues/2911">#2911</a>)</li> <li><a href="850d92656d"><code>850d926</code></a> Raise helpful <code>ImportError</code> when PyYAML is missing for YAML log config (<a href="https://redirect.github.com/Kludex/uvicorn/issues/2906">#2906</a>)</li> <li><a href="fdcacb4b83"><code>fdcacb4</code></a> Accept <code>log_level</code> strings case-insensitively (<a href="https://redirect.github.com/Kludex/uvicorn/issues/2907">#2907</a>)</li> <li>Additional commits viewable in <a href="https://github.com/Kludex/uvicorn/compare/0.44.0...0.46.0">compare view</a></li> </ul> </details> <br /> [](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores) Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`. [//]: # (dependabot-automerge-start) [//]: # (dependabot-automerge-end) --- <details> <summary>Dependabot commands and options</summary> <br /> You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot show <dependency name> ignore conditions` will show all of the ignore conditions of the specified dependency - `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself) </details> Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
191 lines
4.5 KiB
TOML
191 lines
4.5 KiB
TOML
[project]
|
|
name = "bracket-backend"
|
|
version = "0.0.1"
|
|
requires-python = ">=3.12"
|
|
dependencies = [
|
|
"aiofiles==25.1.0",
|
|
"aiohttp==3.13.4",
|
|
"aiopg==1.4.0",
|
|
"alembic==1.18.0",
|
|
"asyncpg==0.31.0",
|
|
"bcrypt==5.0.0",
|
|
"click==8.3.0",
|
|
"databases[asyncpg]==0.9.0",
|
|
"fastapi==0.136.0",
|
|
"fastapi-sso==0.21.0",
|
|
"gunicorn==25.3.0",
|
|
"heliclockter==3.0.1",
|
|
"parameterized==0.9.0",
|
|
"passlib==1.7.4",
|
|
"pydantic==2.13.2",
|
|
"pydantic_settings==2.14.0",
|
|
"pyjwt==2.12.0",
|
|
"python-dotenv==1.2.2",
|
|
"python-multipart==0.0.27",
|
|
"sentry-sdk==2.58.0",
|
|
"sqlalchemy==2.0.44",
|
|
"sqlalchemy-stubs==0.4",
|
|
"starlette==1.0.0",
|
|
"types-aiofiles==25.1.0.20251011",
|
|
"types-passlib==1.7.7.20241221",
|
|
"types-simplejson==3.20.0.20250218",
|
|
"uvicorn==0.46.0",
|
|
]
|
|
|
|
[tool.pytest.ini_options]
|
|
addopts = [
|
|
'--junitxml=.junit_report.xml',
|
|
]
|
|
junit_family = 'xunit2'
|
|
asyncio_mode = 'auto'
|
|
filterwarnings = [
|
|
'error',
|
|
'ignore:The SelectBase.c and SelectBase.columns attributes are deprecated.*:DeprecationWarning',
|
|
'ignore:pkg_resources is deprecated as an API.*:DeprecationWarning',
|
|
'ignore:Deprecated call to `pkg_resources.declare_namespace(.*)`.*:DeprecationWarning',
|
|
'ignore:.*:pytest.PytestDeprecationWarning',
|
|
'ignore:.*pytest-asyncio detected an unclosed event loop.*:DeprecationWarning',
|
|
'ignore:.*The event_loop fixture provided by pytest-asyncio has been redefined.*:DeprecationWarning',
|
|
'ignore:.*Please use `import python_multipart` instead.*:PendingDeprecationWarning',
|
|
]
|
|
|
|
[dependency-groups]
|
|
dev = [
|
|
"aioresponses==0.7.4",
|
|
"mypy==1.20.0",
|
|
"pluggy==1.6.0",
|
|
"pylint==4.0.2",
|
|
"pyrefly==0.62.0",
|
|
"pytest-asyncio==1.3.0",
|
|
"pytest-cov==7.1.0",
|
|
"pytest-xdist==3.8.0",
|
|
"pytest==9.0.3",
|
|
"ruff==0.15.0",
|
|
"vulture==2.16",
|
|
]
|
|
|
|
[tool.mypy]
|
|
junit_xml = '.junit_report.xml'
|
|
follow_imports = 'silent'
|
|
disallow_any_explicit = false
|
|
disallow_any_generics = true
|
|
check_untyped_defs = true
|
|
disallow_untyped_defs = true
|
|
disallow_incomplete_defs = true
|
|
disallow_untyped_decorators = false
|
|
warn_unused_configs = true
|
|
disallow_subclassing_any = false
|
|
disallow_untyped_calls = false
|
|
no_implicit_optional = true
|
|
warn_redundant_casts = true
|
|
warn_unused_ignores = true
|
|
warn_return_any = true
|
|
no_implicit_reexport = true
|
|
show_error_codes = true
|
|
|
|
[tool.uv]
|
|
package = false
|
|
|
|
[[tool.uv.index]]
|
|
name = "pypi"
|
|
url = "https://pypi.org/simple"
|
|
|
|
[tool.pydantic-mypy]
|
|
init_forbid_extra = true
|
|
init_typed = true
|
|
warn_required_dynamic_aliases = true
|
|
warn_untyped_fields = true
|
|
|
|
[[tool.mypy.overrides]]
|
|
module = ['aioresponses.*']
|
|
disallow_any_explicit = false
|
|
disallow_any_generics = false
|
|
|
|
[[tool.mypy.overrides]]
|
|
module = ['fastapi_sso.*']
|
|
ignore_missing_imports = true
|
|
|
|
[tool.pylint.'MESSAGES CONTROL']
|
|
disable = [
|
|
'broad-except',
|
|
'broad-exception-raised',
|
|
'consider-iterating-dictionary',
|
|
'contextmanager-generator-missing-cleanup', # Gives false positives.
|
|
'dangerous-default-value',
|
|
'duplicate-code',
|
|
'fixme',
|
|
'not-callable',
|
|
'import-outside-toplevel',
|
|
'invalid-name',
|
|
'logging-fstring-interpolation',
|
|
'missing-docstring',
|
|
'no-name-in-module', # Gives false positives.
|
|
'protected-access',
|
|
'too-few-public-methods',
|
|
'too-many-arguments',
|
|
'too-many-locals',
|
|
'too-many-nested-blocks',
|
|
'too-many-positional-arguments',
|
|
'unspecified-encoding',
|
|
'unused-argument', # Gives false positives.
|
|
'wrong-import-position',
|
|
'unused-import', # Ruff checks this
|
|
]
|
|
|
|
[tool.bandit]
|
|
skips = [
|
|
'B101',
|
|
'B106',
|
|
'B108'
|
|
]
|
|
|
|
[tool.ruff]
|
|
line-length = 100
|
|
respect-gitignore = false
|
|
show-fixes = true
|
|
output-format = "full"
|
|
target-version = "py313"
|
|
exclude = [".venv", ".mypy_cache", ".pytest_cache", "__pycache__"]
|
|
|
|
[tool.ruff.lint]
|
|
select = [
|
|
"E",
|
|
"EXE",
|
|
# "ERA", TODO
|
|
"F",
|
|
"FA",
|
|
"FIX",
|
|
"I",
|
|
"ISC",
|
|
"PGH",
|
|
"PIE",
|
|
"PLE",
|
|
"PLW",
|
|
"RUF100",
|
|
"T20",
|
|
"TCH",
|
|
"TD",
|
|
"TID",
|
|
"UP",
|
|
"W",
|
|
]
|
|
ignore = ["FIX002", "TD002", "TD003", "TC001", "TC002", "TC003", "ISC001"]
|
|
|
|
[tool.vulture]
|
|
min_confidence = 0
|
|
paths = ["."]
|
|
exclude = [".venv"]
|
|
ignore_decorators = ["@pytest.*", "@*router*", "@app.*", "@*validator*", "@cli.command*"]
|
|
ignore_names = [
|
|
"RestartableUvicornWorker",
|
|
"_generate_next_value_",
|
|
"downgrade",
|
|
"startup_and_shutdown_uvicorn_server",
|
|
"todo*",
|
|
"upgrade",
|
|
]
|
|
sort_by_size = true
|
|
|
|
[tool.pyrefly]
|
|
ignore-missing-imports = ["fastapi_sso.*"]
|