Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .github/workflows/lintandformat.yml
Original file line number Diff line number Diff line change
Expand Up @@ -47,7 +47,7 @@ jobs:
ruff format --check

- name: Type checking using Ty
run: ty check --output-format=github --error=all
run: ty check --output-format=github

- name: Cache .mypy_cache folder
id: mypy_cache
Expand Down
6 changes: 3 additions & 3 deletions app/core/checkout/payment_tool.py
Original file line number Diff line number Diff line change
Expand Up @@ -166,10 +166,10 @@ async def init_checkout(
payer: HelloAssoApiV5ModelsCartsCheckoutPayer | None = None
if payer_user is not None:
payer = HelloAssoApiV5ModelsCartsCheckoutPayer(
first_name=payer_user.firstname,
last_name=payer_user.name,
first_name=payer_user.firstname, # ty:ignore[unknown-argument]
last_name=payer_user.name, # ty:ignore[unknown-argument]
email=payer_user.email,
date_of_birth=datetime.combine(
date_of_birth=datetime.combine( # ty:ignore[unknown-argument]
payer_user.birthday,
datetime.min.time(),
tzinfo=UTC,
Expand Down
2 changes: 1 addition & 1 deletion app/types/websocket.py
Original file line number Diff line number Diff line change
Expand Up @@ -96,7 +96,7 @@ async def add_connection_to_room(
see incoming messages from other workers that need to be send over websocket
"""
if room_id not in self.connections:
self.connections[room_id] = set({ws_connection}) # type: ignore[unreachable]
self.connections[room_id] = set({ws_connection})

# This worker wasn't listening to this room over the broadcaster yet because it didn't had any open websocket connection for this room.
# We will start to listen to the room over the broadcaster.
Expand Down
1 change: 1 addition & 0 deletions pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -203,3 +203,4 @@ show_missing = true

[tool.ty.rules]
all = "error"
missing-override-decorator = "ignore"
18 changes: 9 additions & 9 deletions requirements-dev.txt
Original file line number Diff line number Diff line change
@@ -1,17 +1,17 @@
-r requirements.txt
aiosqlite==0.22.1
boto3-stubs[essential]==1.42.91
boto3-stubs[essential]==1.43.24
google-auth-stubs==0.3.0
mypy[faster-cache]==1.20.1
mypy[faster-cache]==2.1.0
pytest-alembic==0.12.1
pytest-asyncio==1.3.0
pytest-asyncio==1.4.0
pytest-cov==7.1.0
pytest-mock==3.15.1
pytest==9.0.3
ruff==0.15.10
ty==0.0.29
types-Authlib==1.6.11.20260418
types-fpdf2==2.8.4.20260408
types-psutil==7.2.2.20260408
ruff==0.15.16
ty==0.0.44
types-Authlib==1.6.11.20260518
types-fpdf2==2.8.4.20260518
types-psutil==7.2.2.20260518
types-redis==4.6.0.20241004
types-requests==2.33.0.20260408
types-requests==2.33.0.20260518
40 changes: 20 additions & 20 deletions requirements.txt
Original file line number Diff line number Diff line change
Expand Up @@ -2,37 +2,37 @@ alembic==1.18.4 # database migrations
anyio==4.13.0
arq==0.28.0 # Scheduler
asyncpg==0.31.0 # PostgreSQL adapter for asynchronous operations
authlib==1.7.0
authlib==1.7.2
bcrypt==5.0.0 # password hashing
boto3==1.42.91 # S3 storage
boto3==1.43.24 # S3 storage
broadcaster==0.3.1 # Working with websockets with multiple workers.
calypsso==2.7.0
email-validator==2.3.0
Faker==40.15.0
fastapi[standard]==0.136.0
Faker==40.21.0
fastapi[standard]==0.136.3
firebase-admin==7.4.0 # Firebase is used for push notification
google-api-python-client==2.194.0
google-auth-oauthlib==1.3.1
google-api-python-client==2.197.0
google-auth-oauthlib==1.4.0
helloasso-python==1.0.8
httpx==0.28.1
icalendar==7.0.3
httpx2==2.3.0
icalendar==7.1.2
jellyfish==1.2.1 # String Matching
Jinja2==3.1.6 # template engine for html files
phonenumbers==9.0.28 # Used for phone number validation
phonenumbers==9.0.32 # Used for phone number validation
psutil==7.2.2 # psutil is used to determine the number of Hyperion workers
psycopg[binary]==3.3.3 # PostgreSQL adapter for *synchronous* operations at startup (database initializations & migrations)
psycopg[binary]==3.3.4 # PostgreSQL adapter for *synchronous* operations at startup (database initializations & migrations)
pydantic-extra-types==2.11.1
pydantic-settings==2.13.1
pydantic==2.13.2
pyjwt[crypto]==2.12.0 # generate and verify the JWT tokens, imported as `jwt`
PyMuPDF==1.27.2.2 # PDF processing, imported as `fitz`
pypdf==6.10.2
python-multipart==0.0.26 # a form data parser, as oauth flow requires form-data parameters
pydantic-settings==2.14.1
pydantic==2.13.4
pyjwt[crypto]==2.13.0 # generate and verify the JWT tokens, imported as `jwt`
PyMuPDF==1.27.2.3 # PDF processing, imported as `fitz`
pypdf==6.13.0
python-multipart==0.0.32 # a form data parser, as oauth flow requires form-data parameters
redis==5.3.1
requests==2.33.1
requests==2.34.2
sqlalchemy-utils == 0.42.1 # used to identify foreign keys when merging users
SQLAlchemy[asyncio]==2.0.49 # [asyncio] allows greenlet to be installed on Apple M1 devices.
SQLAlchemy[asyncio]==2.0.50 # [asyncio] allows greenlet to be installed on Apple M1 devices.
unidecode==1.4.0
uvicorn[standard]==0.44.0
weasyprint==68.1 # HTML to PDF converter
uvicorn[standard]==0.49.0
weasyprint==69.0 # HTML to PDF converter
xlsxwriter==3.2.9
4 changes: 2 additions & 2 deletions tests/core/test_checkout.py
Original file line number Diff line number Diff line change
Expand Up @@ -440,7 +440,7 @@ async def test_payment_tool_init_checkout(
mock_checkout_api = mocker.MagicMock()
mock_checkout_api.organizations_organization_slug_checkout_intents_post.return_value = HelloAssoApiV5ModelsCartsInitCheckoutResponse(
id=7,
redirect_url=redirect_url,
redirect_url=redirect_url, # ty:ignore[unknown-argument]
)
mocker.patch(
"app.core.checkout.payment_tool.CheckoutApi",
Expand Down Expand Up @@ -502,7 +502,7 @@ def init_a_checkout_side_effect(
raise UnauthorizedException
return HelloAssoApiV5ModelsCartsInitCheckoutResponse(
id=7,
redirect_url=redirect_url,
redirect_url=redirect_url, # ty:ignore[unknown-argument]
)

mocker.patch.object(
Expand Down
Loading