chore: update fastapi and dependencies to latest versions
This commit is contained in:
32
README.md
32
README.md
@@ -10,13 +10,17 @@ the PDFs you need.
|
|||||||
with [uv](https://docs.astral.sh/uv/getting-started/installation/):
|
with [uv](https://docs.astral.sh/uv/getting-started/installation/):
|
||||||
|
|
||||||
```shell
|
```shell
|
||||||
uv tool install --extra-index-url https://gitea.parano.ch/api/packages/herel/pypi/simple/ myice
|
uv tool install \
|
||||||
|
--extra-index-url https://gitea.parano.ch/api/packages/herel/pypi/simple/ \
|
||||||
|
myice
|
||||||
```
|
```
|
||||||
|
|
||||||
with [pipx](https://pipx.pypa.io/stable/installation/):
|
with [pipx](https://pipx.pypa.io/stable/installation/):
|
||||||
|
|
||||||
```shell
|
```shell
|
||||||
pipx install --extra-index-url https://gitea.parano.ch/api/packages/herel/pypi/simple/ myice
|
pipx install \
|
||||||
|
--extra-index-url https://gitea.parano.ch/api/packages/herel/pypi/simple/ \
|
||||||
|
myice
|
||||||
```
|
```
|
||||||
|
|
||||||
## configuration
|
## configuration
|
||||||
@@ -80,9 +84,11 @@ Then open your browser at `http://localhost:8000`. The web interface allows you
|
|||||||
|
|
||||||
The web interface supports two authentication methods:
|
The web interface supports two authentication methods:
|
||||||
|
|
||||||
1. **Infomaniak OpenID Connect (Recommended)**: Click the "Se connecter avec Infomaniak" button to authenticate using Infomaniak's OIDC provider. Only users in the allowed list will be granted access.
|
1. **Infomaniak OpenID Connect (Recommended)**: Click the "Se connecter avec
|
||||||
|
Infomaniak" button to authenticate using Infomaniak's OIDC provider. Only
|
||||||
|
users in the allowed list will be granted access.
|
||||||
|
|
||||||
2. **Static API Key**: For development purposes, you can still use `abc` as the token.
|
1. **Static API Key**: For development purposes, you can still use `abc` as the token.
|
||||||
|
|
||||||
### Environment Variables
|
### Environment Variables
|
||||||
|
|
||||||
@@ -90,8 +96,8 @@ To configure OIDC authentication, set the following environment variables:
|
|||||||
|
|
||||||
- `CLIENT_ID`: Your OIDC client ID (default: 8ea04fbb-4237-4b1d-a895-0b3575a3af3f)
|
- `CLIENT_ID`: Your OIDC client ID (default: 8ea04fbb-4237-4b1d-a895-0b3575a3af3f)
|
||||||
- `CLIENT_SECRET`: Your OIDC client secret
|
- `CLIENT_SECRET`: Your OIDC client secret
|
||||||
- `REDIRECT_URI`: The redirect URI (default: http://localhost:8000/callback)
|
- `REDIRECT_URI`: The redirect URI (default: `http://localhost:8000/callback`)
|
||||||
- `ALLOWED_USERS`: Comma-separated list of allowed email addresses (e.g., "user1@example.com,user2@example.com")
|
- `ALLOWED_USERS`: Comma-separated list of allowed email addresses (e.g., `"user1@example.com,user2@example.com"`)
|
||||||
|
|
||||||
The web API provides the following endpoints:
|
The web API provides the following endpoints:
|
||||||
|
|
||||||
@@ -103,7 +109,8 @@ The web API provides the following endpoints:
|
|||||||
- `/callback` - Handle OIDC callback
|
- `/callback` - Handle OIDC callback
|
||||||
- `/userinfo` - Get user information
|
- `/userinfo` - Get user information
|
||||||
|
|
||||||
All endpoints (except `/health`, `/login`, and `/callback`) require an Authorization header with a Bearer token.
|
All endpoints (except `/health`, `/login`, and `/callback`) require an
|
||||||
|
Authorization header with a Bearer token.
|
||||||
|
|
||||||
## mobile functions
|
## mobile functions
|
||||||
|
|
||||||
@@ -198,9 +205,16 @@ To use a specific configuration section:
|
|||||||
```text
|
```text
|
||||||
❯ myice ai
|
❯ myice ai
|
||||||
> prochain match u13 top ?
|
> prochain match u13 top ?
|
||||||
< Le prochain match de l'équipe U13 Top se déroulera le dimanche 10 novembre 2024 contre HC Ajoie à la Raffeisen Arena de Porrentruy. Le match débutera à 14h00 et se terminera à 16h15.
|
< Le prochain match de l'équipe U13 Top se déroulera le dimanche 10 novembre
|
||||||
|
2024 contre HC Ajoie à la Raffeisen Arena de Porrentruy. Le match débutera
|
||||||
|
à 14h00 et se terminera à 16h15.
|
||||||
> et les u13 a ?
|
> et les u13 a ?
|
||||||
< Le prochain match de l'équipe U13 A se déroulera le samedi 9 novembre 2024 contre HC Vallorbe à P. du Frézillon, 1337 Vallorbe VD. Le match débutera à 13h00 et se terminera à 15h00. Le prochain match à domicile de l'équipe U13 A se déroulera le dimanche 10 novembre 2024 contre CP Meyrin à Les Vernets, Glace extérieure, 1227 Les Acacias GE. Le match débutera à 13h00 et se terminera à 15h00.
|
< Le prochain match de l'équipe U13 A se déroulera le samedi 9 novembre 2024
|
||||||
|
contre HC Vallorbe à P. du Frézillon, 1337 Vallorbe VD. Le match débutera à
|
||||||
|
13h00 et se terminera à 15h00. Le prochain match à domicile de l'équipe
|
||||||
|
U13 A se déroulera le dimanche 10 novembre 2024 contre CP Meyrin à
|
||||||
|
Les Vernets, Glace extérieure, 1227 Les Acacias GE. Le match débutera
|
||||||
|
à 13h00 et se terminera à 15h00.
|
||||||
```
|
```
|
||||||
|
|
||||||
To use a specific configuration section:
|
To use a specific configuration section:
|
||||||
|
|||||||
25
poetry.lock
generated
25
poetry.lock
generated
@@ -408,30 +408,31 @@ tests = ["asttokens (>=2.1.0)", "coverage", "coverage-enable-subprocess", "ipyth
|
|||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "fastapi"
|
name = "fastapi"
|
||||||
version = "0.115.14"
|
version = "0.118.0"
|
||||||
description = "FastAPI framework, high performance, easy to learn, fast to code, ready for production"
|
description = "FastAPI framework, high performance, easy to learn, fast to code, ready for production"
|
||||||
optional = false
|
optional = false
|
||||||
python-versions = ">=3.8"
|
python-versions = ">=3.8"
|
||||||
groups = ["main"]
|
groups = ["main"]
|
||||||
files = [
|
files = [
|
||||||
{file = "fastapi-0.115.14-py3-none-any.whl", hash = "sha256:6c0c8bf9420bd58f565e585036d971872472b4f7d3f6c73b698e10cffdefb3ca"},
|
{file = "fastapi-0.118.0-py3-none-any.whl", hash = "sha256:705137a61e2ef71019d2445b123aa8845bd97273c395b744d5a7dfe559056855"},
|
||||||
{file = "fastapi-0.115.14.tar.gz", hash = "sha256:b1de15cdc1c499a4da47914db35d0e4ef8f1ce62b624e94e0e5824421df99739"},
|
{file = "fastapi-0.118.0.tar.gz", hash = "sha256:5e81654d98c4d2f53790a7d32d25a7353b30c81441be7d0958a26b5d761fa1c8"},
|
||||||
]
|
]
|
||||||
|
|
||||||
[package.dependencies]
|
[package.dependencies]
|
||||||
email-validator = {version = ">=2.0.0", optional = true, markers = "extra == \"standard\""}
|
email-validator = {version = ">=2.0.0", optional = true, markers = "extra == \"standard\""}
|
||||||
fastapi-cli = {version = ">=0.0.5", extras = ["standard"], optional = true, markers = "extra == \"standard\""}
|
fastapi-cli = {version = ">=0.0.8", extras = ["standard"], optional = true, markers = "extra == \"standard\""}
|
||||||
httpx = {version = ">=0.23.0", optional = true, markers = "extra == \"standard\""}
|
httpx = {version = ">=0.23.0,<1.0.0", optional = true, markers = "extra == \"standard\""}
|
||||||
jinja2 = {version = ">=3.1.5", optional = true, markers = "extra == \"standard\""}
|
jinja2 = {version = ">=3.1.5", optional = true, markers = "extra == \"standard\""}
|
||||||
pydantic = ">=1.7.4,<1.8 || >1.8,<1.8.1 || >1.8.1,<2.0.0 || >2.0.0,<2.0.1 || >2.0.1,<2.1.0 || >2.1.0,<3.0.0"
|
pydantic = ">=1.7.4,<1.8 || >1.8,<1.8.1 || >1.8.1,<2.0.0 || >2.0.0,<2.0.1 || >2.0.1,<2.1.0 || >2.1.0,<3.0.0"
|
||||||
python-multipart = {version = ">=0.0.18", optional = true, markers = "extra == \"standard\""}
|
python-multipart = {version = ">=0.0.18", optional = true, markers = "extra == \"standard\""}
|
||||||
starlette = ">=0.40.0,<0.47.0"
|
starlette = ">=0.40.0,<0.49.0"
|
||||||
typing-extensions = ">=4.8.0"
|
typing-extensions = ">=4.8.0"
|
||||||
uvicorn = {version = ">=0.12.0", extras = ["standard"], optional = true, markers = "extra == \"standard\""}
|
uvicorn = {version = ">=0.12.0", extras = ["standard"], optional = true, markers = "extra == \"standard\""}
|
||||||
|
|
||||||
[package.extras]
|
[package.extras]
|
||||||
all = ["email-validator (>=2.0.0)", "fastapi-cli[standard] (>=0.0.5)", "httpx (>=0.23.0)", "itsdangerous (>=1.1.0)", "jinja2 (>=3.1.5)", "orjson (>=3.2.1)", "pydantic-extra-types (>=2.0.0)", "pydantic-settings (>=2.0.0)", "python-multipart (>=0.0.18)", "pyyaml (>=5.3.1)", "ujson (>=4.0.1,!=4.0.2,!=4.1.0,!=4.2.0,!=4.3.0,!=5.0.0,!=5.1.0)", "uvicorn[standard] (>=0.12.0)"]
|
all = ["email-validator (>=2.0.0)", "fastapi-cli[standard] (>=0.0.8)", "httpx (>=0.23.0,<1.0.0)", "itsdangerous (>=1.1.0)", "jinja2 (>=3.1.5)", "orjson (>=3.2.1)", "pydantic-extra-types (>=2.0.0)", "pydantic-settings (>=2.0.0)", "python-multipart (>=0.0.18)", "pyyaml (>=5.3.1)", "ujson (>=4.0.1,!=4.0.2,!=4.1.0,!=4.2.0,!=4.3.0,!=5.0.0,!=5.1.0)", "uvicorn[standard] (>=0.12.0)"]
|
||||||
standard = ["email-validator (>=2.0.0)", "fastapi-cli[standard] (>=0.0.5)", "httpx (>=0.23.0)", "jinja2 (>=3.1.5)", "python-multipart (>=0.0.18)", "uvicorn[standard] (>=0.12.0)"]
|
standard = ["email-validator (>=2.0.0)", "fastapi-cli[standard] (>=0.0.8)", "httpx (>=0.23.0,<1.0.0)", "jinja2 (>=3.1.5)", "python-multipart (>=0.0.18)", "uvicorn[standard] (>=0.12.0)"]
|
||||||
|
standard-no-fastapi-cloud-cli = ["email-validator (>=2.0.0)", "fastapi-cli[standard-no-fastapi-cloud-cli] (>=0.0.8)", "httpx (>=0.23.0,<1.0.0)", "jinja2 (>=3.1.5)", "python-multipart (>=0.0.18)", "uvicorn[standard] (>=0.12.0)"]
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "fastapi-cli"
|
name = "fastapi-cli"
|
||||||
@@ -1917,14 +1918,14 @@ tests = ["cython", "littleutils", "pygments", "pytest", "typeguard"]
|
|||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "starlette"
|
name = "starlette"
|
||||||
version = "0.46.2"
|
version = "0.48.0"
|
||||||
description = "The little ASGI library that shines."
|
description = "The little ASGI library that shines."
|
||||||
optional = false
|
optional = false
|
||||||
python-versions = ">=3.9"
|
python-versions = ">=3.9"
|
||||||
groups = ["main"]
|
groups = ["main"]
|
||||||
files = [
|
files = [
|
||||||
{file = "starlette-0.46.2-py3-none-any.whl", hash = "sha256:595633ce89f8ffa71a015caed34a5b2dc1c0cdb3f0f1fbd1e69339cf2abeec35"},
|
{file = "starlette-0.48.0-py3-none-any.whl", hash = "sha256:0764ca97b097582558ecb498132ed0c7d942f233f365b86ba37770e026510659"},
|
||||||
{file = "starlette-0.46.2.tar.gz", hash = "sha256:7f7361f34eed179294600af672f565727419830b54b7b084efe44bb82d2fccd5"},
|
{file = "starlette-0.48.0.tar.gz", hash = "sha256:7e8cee469a8ab2352911528110ce9088fdc6a37d9876926e73da7ce4aa4c7a46"},
|
||||||
]
|
]
|
||||||
|
|
||||||
[package.dependencies]
|
[package.dependencies]
|
||||||
@@ -2341,4 +2342,4 @@ files = [
|
|||||||
[metadata]
|
[metadata]
|
||||||
lock-version = "2.1"
|
lock-version = "2.1"
|
||||||
python-versions = ">=3.13"
|
python-versions = ">=3.13"
|
||||||
content-hash = "a76a4b7039134dada7bf01bca49754e412c712f401afa9a6ac29ad46d517febf"
|
content-hash = "26d850ac6adbc2394225e7db95e36b97cf87c43bb0e390630f911f30d1e5e1fc"
|
||||||
|
|||||||
@@ -10,11 +10,11 @@ readme = "README.md"
|
|||||||
requires-python = ">=3.13"
|
requires-python = ">=3.13"
|
||||||
|
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"requests (>=2.32.3,<2.33.0)",
|
"requests (>=2.32.3)",
|
||||||
"typer (>=0.15.1,<0.16.0)",
|
"typer (>=0.15.1)",
|
||||||
"pypdf (>=6.0.0)",
|
"pypdf (>=6.0.0)",
|
||||||
"rl-ai-tools >=1.9.0",
|
"rl-ai-tools >=1.9.0",
|
||||||
"fastapi[standard] (>=0.115.11,<0.116.0)",
|
"fastapi[standard] (>=0.115.11)",
|
||||||
]
|
]
|
||||||
|
|
||||||
[tool.poetry.dependencies]
|
[tool.poetry.dependencies]
|
||||||
|
|||||||
@@ -10,7 +10,7 @@ dnspython==2.8.0 ; python_version >= "3.13"
|
|||||||
email-validator==2.3.0 ; python_version >= "3.13"
|
email-validator==2.3.0 ; python_version >= "3.13"
|
||||||
fastapi-cli==0.0.13 ; python_version >= "3.13"
|
fastapi-cli==0.0.13 ; python_version >= "3.13"
|
||||||
fastapi-cloud-cli==0.2.1 ; python_version >= "3.13"
|
fastapi-cloud-cli==0.2.1 ; python_version >= "3.13"
|
||||||
fastapi==0.115.14 ; python_version >= "3.13"
|
fastapi==0.118.0 ; python_version >= "3.13"
|
||||||
h11==0.16.0 ; python_version >= "3.13"
|
h11==0.16.0 ; python_version >= "3.13"
|
||||||
httpcore==1.0.9 ; python_version >= "3.13"
|
httpcore==1.0.9 ; python_version >= "3.13"
|
||||||
httptools==0.6.4 ; python_version >= "3.13"
|
httptools==0.6.4 ; python_version >= "3.13"
|
||||||
@@ -35,7 +35,7 @@ rl-ai-tools==1.15.0 ; python_version >= "3.13"
|
|||||||
sentry-sdk==2.39.0 ; python_version >= "3.13"
|
sentry-sdk==2.39.0 ; python_version >= "3.13"
|
||||||
shellingham==1.5.4 ; python_version >= "3.13"
|
shellingham==1.5.4 ; python_version >= "3.13"
|
||||||
sniffio==1.3.1 ; python_version >= "3.13"
|
sniffio==1.3.1 ; python_version >= "3.13"
|
||||||
starlette==0.46.2 ; python_version >= "3.13"
|
starlette==0.48.0 ; python_version >= "3.13"
|
||||||
typer==0.15.4 ; python_version >= "3.13"
|
typer==0.15.4 ; python_version >= "3.13"
|
||||||
typing-extensions==4.15.0 ; python_version >= "3.13"
|
typing-extensions==4.15.0 ; python_version >= "3.13"
|
||||||
typing-inspection==0.4.1 ; python_version >= "3.13"
|
typing-inspection==0.4.1 ; python_version >= "3.13"
|
||||||
|
|||||||
Reference in New Issue
Block a user