Skip to content

Commit

Permalink
[pre-commit.ci] auto fixes from pre-commit.com hooks
Browse files Browse the repository at this point in the history
for more information, see https://pre-commit.ci
  • Loading branch information
pre-commit-ci[bot] committed Aug 19, 2024
1 parent 69dffb1 commit 93963bf
Show file tree
Hide file tree
Showing 28 changed files with 79 additions and 68 deletions.
3 changes: 2 additions & 1 deletion src/core/access.py
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
from sqlalchemy.engine import Row

from database.users import User, UserGroup
from schemas.datasets.openml import Visibility
from sqlalchemy.engine import Row


def _user_has_access(
Expand Down
4 changes: 2 additions & 2 deletions src/core/formatting.py
Original file line number Diff line number Diff line change
@@ -1,10 +1,10 @@
import html

from config import load_configuration
from schemas.datasets.openml import DatasetFileFormat
from sqlalchemy.engine import Row

from config import load_configuration
from core.errors import DatasetError
from schemas.datasets.openml import DatasetFileFormat


def _str_to_bool(string: str) -> bool:
Expand Down
3 changes: 2 additions & 1 deletion src/database/datasets.py
Original file line number Diff line number Diff line change
Expand Up @@ -2,10 +2,11 @@

import datetime

from schemas.datasets.openml import Feature
from sqlalchemy import Connection, text
from sqlalchemy.engine import Row

from schemas.datasets.openml import Feature


def get(id_: int, connection: Connection) -> Row | None:
row = connection.execute(
Expand Down
3 changes: 2 additions & 1 deletion src/database/evaluations.py
Original file line number Diff line number Diff line change
@@ -1,8 +1,9 @@
from typing import Sequence, cast

from sqlalchemy import Connection, Row, text

from core.formatting import _str_to_bool
from schemas.datasets.openml import EstimationProcedure
from sqlalchemy import Connection, Row, text


def get_math_functions(function_type: str, connection: Connection) -> Sequence[Row]:
Expand Down
3 changes: 2 additions & 1 deletion src/database/qualities.py
Original file line number Diff line number Diff line change
@@ -1,9 +1,10 @@
from collections import defaultdict
from typing import Iterable

from schemas.datasets.openml import Quality
from sqlalchemy import Connection, text

from schemas.datasets.openml import Quality


def get_for_dataset(dataset_id: int, connection: Connection) -> list[Quality]:
rows = connection.execute(
Expand Down
3 changes: 2 additions & 1 deletion src/database/setup.py
Original file line number Diff line number Diff line change
@@ -1,7 +1,8 @@
from config import load_database_configuration
from sqlalchemy import Engine, create_engine
from sqlalchemy.engine import URL

from config import load_database_configuration

_user_engine = None
_expdb_engine = None

Expand Down
2 changes: 1 addition & 1 deletion src/database/studies.py
Original file line number Diff line number Diff line change
Expand Up @@ -2,10 +2,10 @@
from datetime import datetime
from typing import Sequence, cast

from schemas.study import CreateStudy, StudyType
from sqlalchemy import Connection, Row, text

from database.users import User
from schemas.study import CreateStudy, StudyType


def get_by_id(id_: int, connection: Connection) -> Row | None:
Expand Down
3 changes: 2 additions & 1 deletion src/main.py
Original file line number Diff line number Diff line change
@@ -1,8 +1,9 @@
import argparse

import uvicorn
from config import load_configuration
from fastapi import FastAPI

from config import load_configuration
from routers.mldcat_ap.dataset import router as mldcat_ap_router
from routers.openml.datasets import router as datasets_router
from routers.openml.estimation_procedure import router as estimationprocedure_router
Expand Down
5 changes: 3 additions & 2 deletions src/routers/dependencies.py
Original file line number Diff line number Diff line change
@@ -1,11 +1,12 @@
from typing import Annotated

from database.setup import expdb_database, user_database
from database.users import APIKey, User
from fastapi import Depends
from pydantic import BaseModel
from sqlalchemy import Connection

from database.setup import expdb_database, user_database
from database.users import APIKey, User


def expdb_connection() -> Connection:
engine = expdb_database()
Expand Down
12 changes: 6 additions & 6 deletions src/routers/mldcat_ap/dataset.py
Original file line number Diff line number Diff line change
Expand Up @@ -6,9 +6,14 @@

from typing import Annotated

from fastapi import APIRouter, Depends, HTTPException
from sqlalchemy import Connection

import config
from database.users import User
from fastapi import APIRouter, Depends, HTTPException
from routers.dependencies import expdb_connection, fetch_user, userdb_connection
from routers.openml.datasets import get_dataset, get_dataset_features
from routers.openml.qualities import get_qualities
from schemas.datasets.mldcat_ap import (
DataService,
Dataset,
Expand All @@ -20,11 +25,6 @@
MD5Checksum,
Quality,
)
from sqlalchemy import Connection

from routers.dependencies import expdb_connection, fetch_user, userdb_connection
from routers.openml.datasets import get_dataset, get_dataset_features
from routers.openml.qualities import get_qualities

router = APIRouter(prefix="/mldcat_ap", tags=["MLDCAT-AP"])
_configuration = config.load_configuration()
Expand Down
10 changes: 5 additions & 5 deletions src/routers/openml/datasets.py
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,10 @@
from enum import StrEnum
from typing import Annotated, Any, Literal, NamedTuple

from fastapi import APIRouter, Body, Depends, HTTPException
from sqlalchemy import Connection, text
from sqlalchemy.engine import Row

import database.datasets
import database.qualities
from core.access import _user_has_access
Expand All @@ -15,13 +19,9 @@
_format_parquet_url,
)
from database.users import User, UserGroup
from fastapi import APIRouter, Body, Depends, HTTPException
from schemas.datasets.openml import DatasetMetadata, DatasetStatus, Feature, FeatureType
from sqlalchemy import Connection, text
from sqlalchemy.engine import Row

from routers.dependencies import Pagination, expdb_connection, fetch_user, userdb_connection
from routers.types import CasualString128, IntegerRange, SystemString64, integer_range_regex
from schemas.datasets.openml import DatasetMetadata, DatasetStatus, Feature, FeatureType

router = APIRouter(prefix="/datasets", tags=["datasets"])

Expand Down
4 changes: 2 additions & 2 deletions src/routers/openml/estimation_procedure.py
Original file line number Diff line number Diff line change
@@ -1,11 +1,11 @@
from typing import Annotated, Iterable

import database.evaluations
from fastapi import APIRouter, Depends
from schemas.datasets.openml import EstimationProcedure
from sqlalchemy import Connection

import database.evaluations
from routers.dependencies import expdb_connection
from schemas.datasets.openml import EstimationProcedure

router = APIRouter(prefix="/estimationprocedure", tags=["estimationprocedure"])

Expand Down
2 changes: 1 addition & 1 deletion src/routers/openml/evaluations.py
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
from typing import Annotated

import database.evaluations
from fastapi import APIRouter, Depends
from sqlalchemy import Connection

import database.evaluations
from routers.dependencies import expdb_connection

router = APIRouter(prefix="/evaluationmeasure", tags=["evaluationmeasure"])
Expand Down
6 changes: 3 additions & 3 deletions src/routers/openml/flows.py
Original file line number Diff line number Diff line change
@@ -1,13 +1,13 @@
import http.client
from typing import Annotated, Literal

import database.flows
from core.conversions import _str_to_num
from fastapi import APIRouter, Depends, HTTPException
from schemas.flows import Flow, Parameter
from sqlalchemy import Connection

import database.flows
from core.conversions import _str_to_num
from routers.dependencies import expdb_connection
from schemas.flows import Flow, Parameter

router = APIRouter(prefix="/flows", tags=["flows"])

Expand Down
8 changes: 4 additions & 4 deletions src/routers/openml/qualities.py
Original file line number Diff line number Diff line change
@@ -1,16 +1,16 @@
import http.client
from typing import Annotated, Literal

from fastapi import APIRouter, Depends, HTTPException
from sqlalchemy import Connection

import database.datasets
import database.qualities
from core.access import _user_has_access
from core.errors import DatasetError
from database.users import User
from fastapi import APIRouter, Depends, HTTPException
from schemas.datasets.openml import Quality
from sqlalchemy import Connection

from routers.dependencies import expdb_connection, fetch_user
from schemas.datasets.openml import Quality

router = APIRouter(prefix="/datasets", tags=["datasets"])

Expand Down
10 changes: 5 additions & 5 deletions src/routers/openml/study.py
Original file line number Diff line number Diff line change
@@ -1,16 +1,16 @@
import http.client
from typing import Annotated, Literal

import database.studies
from core.formatting import _str_to_bool
from database.users import User, UserGroup
from fastapi import APIRouter, Body, Depends, HTTPException
from pydantic import BaseModel
from schemas.core import Visibility
from schemas.study import CreateStudy, Study, StudyStatus, StudyType
from sqlalchemy import Connection, Row

import database.studies
from core.formatting import _str_to_bool
from database.users import User, UserGroup
from routers.dependencies import expdb_connection, fetch_user
from schemas.core import Visibility
from schemas.study import CreateStudy, Study, StudyStatus, StudyType

router = APIRouter(prefix="/studies", tags=["studies"])

Expand Down
6 changes: 3 additions & 3 deletions src/routers/openml/tasks.py
Original file line number Diff line number Diff line change
Expand Up @@ -3,14 +3,14 @@
import re
from typing import Annotated, Any

import database.datasets
import database.tasks
import xmltodict
from fastapi import APIRouter, Depends, HTTPException
from schemas.datasets.openml import Task
from sqlalchemy import Connection, RowMapping, text

import database.datasets
import database.tasks
from routers.dependencies import expdb_connection
from schemas.datasets.openml import Task

router = APIRouter(prefix="/tasks", tags=["tasks"])

Expand Down
4 changes: 2 additions & 2 deletions src/routers/openml/tasktype.py
Original file line number Diff line number Diff line change
Expand Up @@ -2,11 +2,11 @@
import json
from typing import Annotated, Any, Literal, cast

from database.tasks import get_input_for_task_type, get_task_types
from database.tasks import get_task_type as db_get_task_type
from fastapi import APIRouter, Depends, HTTPException
from sqlalchemy import Connection, Row

from database.tasks import get_input_for_task_type, get_task_types
from database.tasks import get_task_type as db_get_task_type
from routers.dependencies import expdb_connection

router = APIRouter(prefix="/tasktype", tags=["tasks"])
Expand Down
21 changes: 11 additions & 10 deletions tests/conftest.py
Original file line number Diff line number Diff line change
Expand Up @@ -9,11 +9,12 @@
import pytest
from _pytest.config import Config
from _pytest.nodes import Item
from database.setup import expdb_database, user_database
from fastapi.testclient import TestClient
from sqlalchemy import Connection, Engine, text

from database.setup import expdb_database, user_database
from main import create_api
from routers.dependencies import expdb_connection, userdb_connection
from sqlalchemy import Connection, Engine, text


class ApiKey(StrEnum):
Expand All @@ -32,25 +33,25 @@ def automatic_rollback(engine: Engine) -> Iterator[Connection]:
transaction.rollback()


@pytest.fixture()
@pytest.fixture
def expdb_test() -> Connection:
with automatic_rollback(expdb_database()) as connection:
yield connection


@pytest.fixture()
@pytest.fixture
def user_test() -> Connection:
with automatic_rollback(user_database()) as connection:
yield connection


@pytest.fixture()
@pytest.fixture
def php_api() -> Iterator[httpx.Client]:
with httpx.Client(base_url="http://server-api-php-api-1:80/api/v1/json") as client:
yield client


@pytest.fixture()
@pytest.fixture
def py_api(expdb_test: Connection, user_test: Connection) -> TestClient:
app = create_api()
# We use the lambda definitions because fixtures may not be called directly.
Expand All @@ -59,14 +60,14 @@ def py_api(expdb_test: Connection, user_test: Connection) -> TestClient:
return TestClient(app)


@pytest.fixture()
@pytest.fixture
def dataset_130() -> Iterator[dict[str, Any]]:
json_path = Path(__file__).parent / "resources" / "datasets" / "dataset_130.json"
with json_path.open("r") as dataset_file:
yield json.load(dataset_file)


@pytest.fixture()
@pytest.fixture
def default_configuration_file() -> Path:
return Path().parent.parent / "src" / "config.toml"

Expand All @@ -79,7 +80,7 @@ class Flow(NamedTuple):
external_version: str


@pytest.fixture()
@pytest.fixture
def flow(expdb_test: Connection) -> Flow:
expdb_test.execute(
text(
Expand All @@ -93,7 +94,7 @@ def flow(expdb_test: Connection) -> Flow:
return Flow(id=flow_id, name="name", external_version="external_version")


@pytest.fixture()
@pytest.fixture
def persisted_flow(flow: Flow, expdb_test: Connection) -> Iterator[Flow]:
expdb_test.commit()
yield flow
Expand Down
2 changes: 1 addition & 1 deletion tests/database/flows_test.py
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
import database.flows
from sqlalchemy import Connection

import database.flows
from tests.conftest import Flow


Expand Down
2 changes: 1 addition & 1 deletion tests/routers/openml/dataset_tag_test.py
Original file line number Diff line number Diff line change
@@ -1,10 +1,10 @@
import http.client

import pytest
from database.datasets import get_tags_for
from sqlalchemy import Connection
from starlette.testclient import TestClient

from database.datasets import get_tags_for
from tests import constants
from tests.conftest import ApiKey

Expand Down
2 changes: 1 addition & 1 deletion tests/routers/openml/datasets_list_datasets_test.py
Original file line number Diff line number Diff line change
Expand Up @@ -222,7 +222,7 @@ def test_list_data_quality(quality: str, range_: str, count: int, py_api: TestCl
assert len(response.json()) == count


@pytest.mark.slow()
@pytest.mark.slow
@hypothesis.settings(
max_examples=5000,
suppress_health_check=[hypothesis.HealthCheck.function_scoped_fixture],
Expand Down
Loading

0 comments on commit 93963bf

Please sign in to comment.