Skip to content

Commit 3e55860

Browse files
committed
style: use new ruff rules
1 parent 6cc5b5a commit 3e55860

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

48 files changed

+433
-418
lines changed

pyproject.toml

Lines changed: 35 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -24,17 +24,16 @@ Repository = "https://github.com/emptybutton/tgdb"
2424

2525
[project.optional-dependencies]
2626
dev = [
27-
"mypy[faster-cache]==1.15.0",
27+
"mypy[faster-cache]==1.16.0",
2828
"types-pyyaml==6.0.12.20250516",
29-
"ruff==0.9.7",
30-
"pytest==8.3.4",
31-
"pytest-cov==6.0.0",
32-
"pytest-asyncio==0.25.3",
29+
"ruff==0.11.13",
30+
"pytest==8.4.0",
31+
"pytest-cov==6.1.1",
32+
"pytest-asyncio==1.0.0",
3333
"pytest-timeout==2.4.0",
34-
"dirty-equals==0.8.0",
35-
"httpx==0.27.2",
34+
"dirty-equals==0.9.0",
35+
"httpx==0.28.1",
3636
"httpx-ws==0.7.2",
37-
"plotext==5.2.8",
3837
]
3938

4039
[build-system]
@@ -65,25 +64,41 @@ line-length = 80
6564
indent-width = 4
6665

6766
[tool.ruff.lint]
68-
select = [
69-
"ANN", "F", "W", "E", "B", "C90", "N", "UP", "YTT", "ASYNC", "PL", "RUF",
70-
"Q", "RET", "SLF", "SLOT", "SIM", "TID252", "TCH", "ARG", "PTH", "ERA",
71-
"TRY", "PERF", "INP", "I", "S", "FAST", "TID", "TCH", "INT"
72-
]
67+
select = ["ALL"]
7368
ignore = [
74-
"N818", "RUF009", "UP018", "PLR6301", "PLR0913", "PLW0108", "TC006",
75-
"S101", "TC003", "TC002"
69+
"EXE002",
70+
"CPY001",
71+
"C401",
72+
"C408",
73+
"D100",
74+
"D101",
75+
"D102",
76+
"D103",
77+
"D104",
78+
"D105",
79+
"D106",
80+
"D107",
81+
"D200",
82+
"D201",
83+
"D202",
84+
"D203",
85+
"D205",
86+
"D401",
87+
"D212",
88+
"DOC201",
89+
"DOC501",
90+
"PLR6301",
91+
"TC002",
92+
"TC003",
93+
"TC006",
7694
]
7795

7896
[tool.ruff.lint.isort]
7997
lines-after-imports = 2
8098

8199
[tool.ruff.lint.per-file-ignores]
82-
"src/tgdb/entities/*" = ["PLR2004"]
83-
"src/tgdb/application/*" = ["PLR0917"]
84-
"src/tgdb/infrastructure/adapters/*" = ["RUF029"]
85-
"tests/*" = ["PLR0124", "PLR0917", "S106", "C901", "PLR2004"]
86-
"__init__.py" = ["PLC0414"]
100+
"tests/*" = ["S101", "PT013", "PLR2004", "D400", "D415"]
101+
"tests/test_tgdb/test_entities/test_horizon.py" = ["D400", "D415"]
87102

88103
[tool.pytest.ini_options]
89104
pythonpath = ["src"]

src/tgdb/application/horizon/commit_transaction.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -58,7 +58,7 @@ async def __call__(self, xid: XID, operators: Sequence[Operator]) -> None:
5858
raise notification from notification
5959

6060
async def _effect(
61-
self, operator: Operator
61+
self, operator: Operator,
6262
) -> NewTuple | MutatedTuple | DeletedTuple | Claim:
6363
"""
6464
:raises tgdb.application.relation.ports.relations.NoRelationError:

src/tgdb/application/relation/create_relation.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ class CreateRelation:
1313
tuples: Tuples
1414

1515
async def __call__(
16-
self, relation_number: Number, relation_schema: Schema
16+
self, relation_number: Number, relation_schema: Schema,
1717
) -> None:
1818
"""
1919
:raises tgdb.application.relation.ports.relations.OversizedRelationSchemaError:

src/tgdb/application/relation/ports/relation_views.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,5 +9,5 @@ async def view_of_all_relations(self) -> ViewOfAllRelationsT: ...
99

1010
@abstractmethod
1111
async def view_of_one_relation(
12-
self, relation_number: Number
12+
self, relation_number: Number,
1313
) -> ViewOfOneRelationT: ...

src/tgdb/application/relation/ports/tuples.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,7 @@ async def map(self, effects: Sequence[TransactionEffect], /) -> None: ...
3030

3131
@abstractmethod
3232
async def map_idempotently(
33-
self, effects: Sequence[TransactionEffect], /
33+
self, effects: Sequence[TransactionEffect], /,
3434
) -> None: ...
3535

3636
@abstractmethod

src/tgdb/application/relation/view_tuples.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,7 @@ async def __call__(
3434
"""
3535

3636
tuples = await self.tuples.tuples_with_attribute(
37-
relation_number, attribute_number, attribute_scalar
37+
relation_number, attribute_number, attribute_scalar,
3838
)
3939
versioned_tuples = map(versioned_tuple, tuples)
4040
relation = await self.relartions.relation(relation_number)

src/tgdb/entities/horizon/horizon.py

Lines changed: 9 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -59,7 +59,7 @@ class Horizon:
5959
_max_transaction_age: LogicTime
6060
_serializable_transaction_map: OrderedDict[XID, SerializableTransaction]
6161
_read_uncommited_transaction_map: OrderedDict[
62-
XID, ReadUncommitedTransaction
62+
XID, ReadUncommitedTransaction,
6363
]
6464

6565
def __post_init__(self) -> None:
@@ -86,7 +86,7 @@ def start_transaction(
8686
"""
8787

8888
assert_(
89-
all(xid not in map for map in self._transaction_maps()),
89+
all(xid not in map_ for map_ in self._transaction_maps()),
9090
else_=DoubleStartTransactionError,
9191
)
9292

@@ -97,8 +97,8 @@ def start_transaction(
9797
self._serializable_transaction_map.values(),
9898
)
9999

100-
map = self._transaction_map(started_transaction)
101-
map[started_transaction.xid()] = started_transaction
100+
map_ = self._transaction_map(started_transaction)
101+
map_[started_transaction.xid()] = started_transaction
102102
self._limit_len()
103103
self.move_to_future(time)
104104

@@ -131,7 +131,6 @@ def rollback_transaction(self, time: LogicTime, xid: XID) -> None:
131131
:raises tgdb.entities.horizon.horizon.NoTransactionError:
132132
:raises tgdb.entities.horizon.horizon.TransactionCommittingError:
133133
"""
134-
135134
self.move_to_future(time)
136135

137136
transaction = self._transaction(
@@ -154,7 +153,6 @@ def commit_transaction(
154153
:raises tgdb.entities.horizon.horizon.TransactionCommittingError:
155154
:raises tgdb.entities.horizon.transaction.ConflictError:
156155
"""
157-
158156
self.move_to_future(time)
159157

160158
transaction = self._transaction(
@@ -240,7 +238,7 @@ def _limit_len(self) -> None:
240238
]
241239

242240
def _is_transaction_autorollbackable(
243-
self, transaction: Transaction
241+
self, transaction: Transaction,
244242
) -> bool:
245243
return (
246244
not isinstance(transaction, SerializableTransaction)
@@ -249,7 +247,7 @@ def _is_transaction_autorollbackable(
249247

250248
def _oldest_transaction(self) -> Transaction | None:
251249
first_map_tranactions = (
252-
first_map_value(map) for map in self._transaction_maps()
250+
first_map_value(map_) for map_ in self._transaction_maps()
253251
)
254252
oldest_transactions = tuple(
255253
first_map_tranaction
@@ -288,7 +286,7 @@ def _serializable_transaction(
288286
return transaction
289287

290288
def _non_serializable_read_transaction(
291-
self, xid: XID
289+
self, xid: XID,
292290
) -> ReadUncommitedTransaction:
293291
"""
294292
:raises tgdb.entities.horizon.horizon.NoTransactionError:
@@ -312,7 +310,6 @@ def _transaction(
312310
:raises tgdb.entities.horizon.horizon.NoTransactionError:
313311
:raises else_:
314312
"""
315-
316313
with suppress(NoTransactionError):
317314
return self._non_serializable_read_transaction(xid)
318315

@@ -323,7 +320,7 @@ def _transaction_maps(self) -> Iterable[Mapping[XID, Transaction]]:
323320
yield self._read_uncommited_transaction_map
324321

325322
def _transaction_map[TransactionT: Transaction](
326-
self, transaction: TransactionT
323+
self, transaction: TransactionT,
327324
) -> OrderedDict[XID, TransactionT]:
328325
match transaction:
329326
case ReadUncommitedTransaction():
@@ -333,12 +330,11 @@ def _transaction_map[TransactionT: Transaction](
333330

334331

335332
def horizon(
336-
time: LogicTime, max_len: int, max_transaction_age: LogicTime
333+
time: LogicTime, max_len: int, max_transaction_age: LogicTime,
337334
) -> Horizon:
338335
"""
339336
:raises tgdb.entities.horizon.horizon.HorizonAlwaysWithoutTransactionsError:
340337
"""
341-
342338
return Horizon(
343339
_time=time,
344340
_max_len=max_len,

src/tgdb/entities/horizon/transaction.py

Lines changed: 14 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
1-
from collections.abc import Iterable, Sequence, Set
1+
from collections.abc import Iterable, Sequence
2+
from collections.abc import Set as AbstractSet
23
from dataclasses import dataclass
34
from enum import Enum, auto
45
from uuid import UUID
@@ -26,7 +27,7 @@
2627
type TransactionScalarEffect = (
2728
NewTuple | MutatedTuple | MigratedTuple | DeletedTuple
2829
)
29-
type TransactionEffect = Set[TransactionScalarEffect]
30+
type TransactionEffect = AbstractSet[TransactionScalarEffect]
3031

3132

3233
@dataclass(frozen=True)
@@ -119,10 +120,7 @@ def rollback(self) -> None:
119120
self._complete()
120121

121122
def prepare_commit(self) -> PreparedCommit:
122-
"""
123-
:raises tgdb.entities.horizon.transaction.ConflictError:
124-
"""
125-
123+
""":raises tgdb.entities.horizon.transaction.ConflictError:"""
126124
conflict = self._conflict()
127125

128126
if conflict is not None:
@@ -144,36 +142,36 @@ def commit(self) -> Commit:
144142
return Commit(self._xid, self._effect())
145143

146144
def track_concurrent_transaction(
147-
self, transaction: "SerializableTransaction"
145+
self, transaction: "SerializableTransaction",
148146
) -> None:
149147
self._concurrent_transactions.add(transaction)
150148

151149
if transaction.state() is SerializableTransactionState.prepared:
152150
self._transactions_with_possible_conflict.add(transaction)
153151

154152
def track_started_transaction(
155-
self, started_transaction: "SerializableTransaction"
153+
self, started_transaction: "SerializableTransaction",
156154
) -> None:
157155
self._concurrent_transactions.add(started_transaction)
158156

159157
def track_prepared_transaction(
160-
self, prepared_transaction: "SerializableTransaction"
158+
self, prepared_transaction: "SerializableTransaction",
161159
) -> None:
162160
self._transactions_with_possible_conflict.add(prepared_transaction)
163161

164162
def track_rollbacked_prepared_transaction(
165-
self, rollbacked_prepared_transaction: "SerializableTransaction"
163+
self, rollbacked_prepared_transaction: "SerializableTransaction",
166164
) -> None:
167165
if self._state is SerializableTransactionState.active:
168166
self._transactions_with_possible_conflict.remove(
169-
rollbacked_prepared_transaction
167+
rollbacked_prepared_transaction,
170168
)
171169
self._concurrent_transactions.remove(
172-
rollbacked_prepared_transaction
170+
rollbacked_prepared_transaction,
173171
)
174172

175173
def track_rollbacked_active_transaction(
176-
self, rollbacked_active_transaction: "SerializableTransaction"
174+
self, rollbacked_active_transaction: "SerializableTransaction",
177175
) -> None:
178176
if self._state is SerializableTransactionState.active:
179177
self._concurrent_transactions.remove(rollbacked_active_transaction)
@@ -197,10 +195,10 @@ def start(
197195

198196
for concurrent_transaction in concurrent_transactions:
199197
concurrent_transaction.track_started_transaction(
200-
started_transaction
198+
started_transaction,
201199
)
202200
started_transaction.track_concurrent_transaction(
203-
concurrent_transaction
201+
concurrent_transaction,
204202
)
205203

206204
return started_transaction
@@ -291,7 +289,7 @@ def start_transaction(
291289
match isolation:
292290
case IsolationLevel.serializable:
293291
return SerializableTransaction.start(
294-
xid, time, serializable_transactions
292+
xid, time, serializable_transactions,
295293
)
296294

297295
case IsolationLevel.read_uncommited:

src/tgdb/entities/relation/relation.py

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -76,7 +76,7 @@ def last_version_schema_id(self) -> RelationSchemaID:
7676
return RelationSchemaID(self._number, self.last_version().number)
7777

7878
def recent_versions(
79-
self, current_version_number: Number
79+
self, current_version_number: Number,
8080
) -> Sequence[DerivativeRelationVersion]:
8181
if current_version_number < self._initial_version.number:
8282
return tuple()
@@ -91,7 +91,7 @@ def recent_versions(
9191
return tuple()
9292

9393
current_version_index = int(
94-
self._intermediate_versions[0].number
94+
self._intermediate_versions[0].number,
9595
) - int(current_version_number)
9696

9797
return self._intermediate_versions[current_version_index + 1 :]
@@ -111,7 +111,7 @@ def migrate(
111111
def remove_old_versions(self, count: int) -> None:
112112
count_to_remove_intermediate_versions = count - 1
113113
count_to_remove_intermediate_versions = min(
114-
count_to_remove_intermediate_versions, len(self) - 1
114+
count_to_remove_intermediate_versions, len(self) - 1,
115115
)
116116
del self._intermediate_versions[:count_to_remove_intermediate_versions]
117117

@@ -124,9 +124,9 @@ def remove_old_versions(self, count: int) -> None:
124124
del self._intermediate_versions[0]
125125

126126
@classmethod
127-
def new(cls, id: Number, schema: Schema) -> "Relation":
127+
def new(cls, id_: Number, schema: Schema) -> "Relation":
128128
return Relation(
129-
id,
129+
id_,
130130
InitialRelationVersion(Number(0), schema),
131131
list(),
132132
)

src/tgdb/entities/relation/tuple.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -38,11 +38,11 @@ def __getitem__(self, index: int, /) -> Scalar: ...
3838

3939
@overload
4040
def __getitem__(
41-
self, sclice: "slice[Any, Any, Any]", /
41+
self, sclice: "slice[Any, Any, Any]", /,
4242
) -> Sequence[Scalar]: ...
4343

4444
def __getitem__(
45-
self, key: "int | slice[Any, Any, Any]", /
45+
self, key: "int | slice[Any, Any, Any]", /,
4646
) -> Scalar | Sequence[Scalar]:
4747
return self.scalars[key]
4848

0 commit comments

Comments
 (0)