Skip to content

Commit a031ed8

Browse files
authored
Merge pull request #1658 from weaviate/chore/replace-black-autoflake-with-ruff
Add ruff, remove black/autoflake from pre-commit
2 parents 676f8e6 + 45d64e9 commit a031ed8

313 files changed

Lines changed: 2552 additions & 2531 deletions

File tree

Some content is hidden

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

.github/workflows/main.yaml

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -37,8 +37,10 @@ jobs:
3737
python-version: "3.11"
3838
cache: 'pip' # caching pip dependencies
3939
- run: pip install -r requirements-devel.txt
40-
- name: "Black"
41-
run: black --check weaviate test mock_tests integration
40+
- name: "Ruff lint"
41+
run: ruff check weaviate test mock_tests integration
42+
- name: "Ruff format"
43+
run: ruff format --diff weaviate test mock_tests integration
4244
- name: "Flake 8"
4345
run: flake8 weaviate test mock_tests integration
4446
- name: "Check release for pypi"

.pre-commit-config.yaml

Lines changed: 15 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -7,24 +7,16 @@ repos:
77
language: system
88
entry: ./tools/stubs_regen.sh
99

10-
- repo: https://github.com/psf/black-pre-commit-mirror
11-
rev: 24.10.0
10+
- repo: https://github.com/astral-sh/ruff-pre-commit
11+
# Ruff version.
12+
rev: v0.11.7
1213
hooks:
13-
- id: black
14-
language_version: python3.12
15-
16-
- repo: https://github.com/pre-commit/pre-commit-hooks
17-
rev: v4.6.0
18-
hooks:
19-
- id: no-commit-to-branch
20-
- id: trailing-whitespace
21-
22-
- repo: https://github.com/myint/autoflake
23-
rev: v2.2.1 # autoflake v2.2.1 is the latest version that supports Python 3.12
24-
hooks:
25-
- id: autoflake
26-
args: [--in-place, --remove-all-unused-imports, --exclude=weaviate/proto/*]
27-
14+
# Run the linter.
15+
- id: ruff
16+
args: [ weaviate, integration, test, mock_tests, journey_tests, --fix ]
17+
# Run the formatter.
18+
- id: ruff-format
19+
args: [ weaviate, integration, test, mock_tests, journey_tests ]
2820

2921
- repo: https://github.com/PyCQA/flake8
3022
rev: 7.1.0
@@ -43,6 +35,12 @@ repos:
4335
'pydoclint==0.6.5',
4436
]
4537

38+
- repo: https://github.com/pre-commit/pre-commit-hooks
39+
rev: v4.6.0
40+
hooks:
41+
- id: no-commit-to-branch
42+
- id: trailing-whitespace
43+
4644
- repo: local
4745
hooks:
4846
- id: pyright

integration/conftest.py

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -2,13 +2,13 @@
22
from typing import (
33
Any,
44
AsyncGenerator,
5-
Optional,
6-
List,
5+
Dict,
76
Generator,
7+
List,
8+
Optional,
89
Protocol,
9-
Type,
10-
Dict,
1110
Tuple,
11+
Type,
1212
Union,
1313
)
1414

@@ -19,17 +19,17 @@
1919
import weaviate
2020
from weaviate.collections import Collection, CollectionAsync
2121
from weaviate.collections.classes.config import (
22+
Configure,
23+
DataType,
2224
Property,
23-
_VectorizerConfigCreate,
25+
_GenerativeProvider,
2426
_InvertedIndexConfigCreate,
27+
_MultiTenancyConfigCreate,
2528
_ReferencePropertyBase,
26-
Configure,
27-
_GenerativeProvider,
2829
_ReplicationConfigCreate,
29-
DataType,
30-
_MultiTenancyConfigCreate,
31-
_VectorIndexConfigCreate,
3230
_RerankerProvider,
31+
_VectorIndexConfigCreate,
32+
_VectorizerConfigCreate,
3333
)
3434
from weaviate.collections.classes.config_named_vectors import _NamedVectorConfigCreate
3535
from weaviate.collections.classes.types import Properties

integration/test_backup_v4.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
import datetime
22
import pathlib
33
import time
4-
from typing import Generator, List, Union, Optional
4+
from typing import Generator, List, Optional, Union
55

66
import pytest
77

@@ -16,8 +16,8 @@
1616
)
1717
from weaviate.collections.classes.config import DataType, Property, ReferenceProperty
1818
from weaviate.exceptions import (
19-
UnexpectedStatusCodeException,
2019
BackupFailedException,
20+
UnexpectedStatusCodeException,
2121
)
2222

2323
pytestmark = pytest.mark.xdist_group(name="backup")

integration/test_batch_v4.py

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,15 @@
11
import concurrent.futures
22
import uuid
33
from dataclasses import dataclass
4-
from typing import Generator, List, Optional, Protocol, Tuple, Callable
4+
from typing import Callable, Generator, List, Optional, Protocol, Tuple
55

66
import pytest
77
from _pytest.fixtures import SubRequest
88

99
import weaviate
10-
from weaviate import BatchClient, ClientBatchingContextManager
1110
import weaviate.classes as wvc
1211
from integration.conftest import _sanitize_collection_name
12+
from weaviate import BatchClient, ClientBatchingContextManager
1313
from weaviate.collections.classes.batch import Shard
1414
from weaviate.collections.classes.config import (
1515
Configure,
@@ -19,8 +19,8 @@
1919
)
2020
from weaviate.collections.classes.grpc import QueryReference
2121
from weaviate.collections.classes.internal import (
22-
_CrossReference,
2322
ReferenceToMulti,
23+
_CrossReference,
2424
)
2525
from weaviate.collections.classes.tenants import Tenant
2626
from weaviate.types import UUID, VECTORS

integration/test_client.py

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -4,20 +4,19 @@
44
from _pytest.fixtures import SubRequest
55

66
import weaviate
7+
import weaviate.classes as wvc
78
from weaviate.collections import Collection
89
from weaviate.collections.classes.config import (
910
Configure,
10-
_CollectionConfig,
1111
DataType,
1212
GenerativeSearches,
1313
Property,
1414
ReferenceProperty,
1515
Vectorizers,
16+
_CollectionConfig,
1617
)
17-
from weaviate.exceptions import WeaviateClosedClientError, WeaviateStartUpError
18-
import weaviate.classes as wvc
19-
2018
from weaviate.config import Timeout
19+
from weaviate.exceptions import WeaviateClosedClientError, WeaviateStartUpError
2120

2221
WCS_HOST = "piblpmmdsiknacjnm1ltla.c1.europe-west3.gcp.weaviate.cloud"
2322
WCS_URL = f"https://{WCS_HOST}"

integration/test_client_debug.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,11 @@
11
import pytest
2+
23
from integration.conftest import (
34
AsyncClientFactory,
45
AsyncCollectionFactory,
56
ClientFactory,
67
CollectionFactory,
78
)
8-
99
from weaviate.classes.config import DataType, Property
1010
from weaviate.classes.debug import DebugRESTObject
1111

integration/test_collection.py

Lines changed: 12 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -8,45 +8,45 @@
88
import pytest
99

1010
from integration.conftest import CollectionFactory, CollectionFactoryGet, _sanitize_collection_name
11-
from integration.constants import WEAVIATE_LOGO_OLD_ENCODED, WEAVIATE_LOGO_NEW_ENCODED
11+
from integration.constants import WEAVIATE_LOGO_NEW_ENCODED, WEAVIATE_LOGO_OLD_ENCODED
1212
from weaviate.collections.classes.batch import ErrorObject
1313
from weaviate.collections.classes.config import (
1414
Configure,
15+
ConsistencyLevel,
1516
DataType,
1617
Property,
1718
ReferenceProperty,
1819
Tokenization,
1920
Vectorizers,
20-
ConsistencyLevel,
2121
)
2222
from weaviate.collections.classes.data import (
2323
DataObject,
2424
)
2525
from weaviate.collections.classes.grpc import (
26-
QueryReference,
27-
HybridFusion,
26+
PROPERTIES,
27+
PROPERTY,
28+
REFERENCE,
2829
GroupBy,
30+
HybridFusion,
2931
MetadataQuery,
3032
Move,
33+
NearMediaType,
34+
QueryReference,
3135
Sort,
3236
_Sorting,
33-
PROPERTIES,
34-
PROPERTY,
35-
REFERENCE,
36-
NearMediaType,
3737
)
3838
from weaviate.collections.classes.internal import (
39-
_CrossReference,
4039
Object,
4140
ReferenceToMulti,
41+
_CrossReference,
4242
)
43-
from weaviate.collections.classes.types import PhoneNumber, _PhoneNumber, WeaviateProperties
43+
from weaviate.collections.classes.types import PhoneNumber, WeaviateProperties, _PhoneNumber
4444
from weaviate.exceptions import (
4545
UnexpectedStatusCodeError,
46-
WeaviateInvalidInputError,
47-
WeaviateQueryError,
4846
WeaviateInsertInvalidPropertyError,
4947
WeaviateInsertManyAllFailedError,
48+
WeaviateInvalidInputError,
49+
WeaviateQueryError,
5050
WeaviateUnsupportedFeatureError,
5151
)
5252
from weaviate.types import UUID, UUIDS

integration/test_collection_aggregate.py

Lines changed: 9 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -12,24 +12,22 @@
1212
AggregateDate,
1313
AggregateInteger,
1414
AggregateNumber,
15-
AggregateText,
1615
AggregateReturn,
17-
Metrics,
16+
AggregateText,
1817
GroupByAggregate,
18+
Metrics,
1919
)
20-
from weaviate.collections.classes.config import DataType, Property, ReferenceProperty, Configure
20+
from weaviate.collections.classes.config import Configure, DataType, Property, ReferenceProperty
2121
from weaviate.collections.classes.filters import Filter, _Filters
22+
from weaviate.collections.classes.grpc import Move
23+
from weaviate.collections.classes.tenants import Tenant
2224
from weaviate.exceptions import (
2325
WeaviateInvalidInputError,
2426
WeaviateQueryError,
2527
WeaviateUnsupportedFeatureError,
2628
)
2729
from weaviate.util import file_encoder_b64
2830

29-
from weaviate.collections.classes.grpc import Move
30-
31-
from weaviate.collections.classes.tenants import Tenant
32-
3331
UUID1 = uuid.UUID("8ad0d33c-8db1-4437-87f3-72161ca2a51a")
3432
UUID2 = uuid.UUID("577887c1-4c6b-5594-aa62-f0c17883d9cf")
3533

@@ -201,7 +199,7 @@ def test_over_all_with_filters_ref(collection_factory: CollectionFactory) -> Non
201199
assert res.properties["text"].count == 1
202200
assert res.properties["text"].top_occurrences[0].value == "two"
203201

204-
query = lambda: collection.aggregate.over_all(
202+
query = lambda: collection.aggregate.over_all( # noqa: E731
205203
filters=Filter.by_ref("ref").by_property("text").equal("one"),
206204
return_metrics=[Metrics("text").text(count=True, top_occurrences_value=True)],
207205
)
@@ -363,7 +361,7 @@ def test_hybrid_aggregation_group_by(
363361
collection.data.insert({"text": text_1})
364362
collection.data.insert({"text": text_2})
365363

366-
querier = lambda: collection.aggregate.hybrid(
364+
querier = lambda: collection.aggregate.hybrid( # noqa: E731
367365
"text",
368366
alpha=0,
369367
query_properties=["text"],
@@ -400,7 +398,7 @@ def test_hybrid_aggregation_group_by_with_named_vectors(
400398
collection.data.insert({"text": text_1})
401399
collection.data.insert({"text": text_2})
402400

403-
querier = lambda: collection.aggregate.hybrid(
401+
querier = lambda: collection.aggregate.hybrid( # noqa: E731
404402
"text",
405403
alpha=0,
406404
query_properties=["text"],
@@ -434,7 +432,7 @@ def test_hybrid_aggregation_group_by_with_named_vectors(
434432
def test_near_vector_aggregation(
435433
collection_factory: CollectionFactory, option: dict, expected_len: int
436434
) -> None:
437-
collection_maker = lambda: collection_factory(
435+
collection_maker = lambda: collection_factory( # noqa: E731
438436
properties=[Property(name="text", data_type=DataType.TEXT)],
439437
vectorizer_config=Configure.Vectorizer.text2vec_contextionary(
440438
vectorize_collection_name=False

integration/test_collection_batch.py

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
import uuid
22
from dataclasses import dataclass
3-
from typing import Generator, Optional, Union, Any, Protocol
3+
from typing import Any, Generator, Optional, Protocol, Union
44

55
import pytest
66

@@ -13,9 +13,8 @@
1313
ReferenceProperty,
1414
)
1515
from weaviate.collections.classes.grpc import QueryReference
16-
from weaviate.collections.classes.internal import _CrossReference, ReferenceToMulti
16+
from weaviate.collections.classes.internal import ReferenceToMulti, _CrossReference
1717
from weaviate.collections.classes.tenants import Tenant
18-
1918
from weaviate.types import VECTORS
2019

2120
UUID = Union[str, uuid.UUID]

0 commit comments

Comments
 (0)