From df8d93f312ba7f431171e78a7d4b4471990c7027 Mon Sep 17 00:00:00 2001 From: "Felipe N. Schuch" Date: Tue, 26 Mar 2024 15:47:07 -0300 Subject: [PATCH] style(api): format files --- jobbergate-api/alembic/env.py | 1 + ...20240104_182646--44d41f873c8d_add_cancelled_status.py | 1 + ...05238--ec2d2948fb41_remap_job_submissions_statuses.py | 1 + jobbergate-api/dev_tools/__init__.py | 1 + jobbergate-api/dev_tools/dev_server.py | 1 + jobbergate-api/dev_tools/show_env.py | 5 ++--- jobbergate-api/jobbergate_api/apps/dependencies.py | 1 + jobbergate-api/jobbergate_api/apps/file_validation.py | 1 + jobbergate-api/jobbergate_api/apps/garbage_collector.py | 1 + .../jobbergate_api/apps/job_script_templates/routers.py | 3 +-- .../jobbergate_api/apps/job_script_templates/services.py | 1 + .../jobbergate_api/apps/job_scripts/routers.py | 4 ++-- .../jobbergate_api/apps/job_scripts/schemas.py | 1 + .../jobbergate_api/apps/job_scripts/services.py | 1 + .../jobbergate_api/apps/job_submissions/routers.py | 9 +++------ jobbergate-api/jobbergate_api/config.py | 1 + jobbergate-api/jobbergate_api/email_notification.py | 1 + jobbergate-api/jobbergate_api/main.py | 1 + jobbergate-api/jobbergate_api/security.py | 1 + jobbergate-api/pyproject.toml | 2 +- .../tests/apps/job_script_templates/test_routers.py | 1 + .../tests/apps/job_script_templates/test_services.py | 1 + jobbergate-api/tests/apps/job_scripts/test_routers.py | 1 + jobbergate-api/tests/apps/job_scripts/test_services.py | 1 + jobbergate-api/tests/apps/job_scripts/test_tools.py | 1 + jobbergate-api/tests/apps/test_main.py | 1 + jobbergate-api/tests/apps/test_models.py | 1 + jobbergate-api/tests/test_email_notification.py | 1 + jobbergate-api/tests/test_security.py | 1 + 29 files changed, 33 insertions(+), 14 deletions(-) diff --git a/jobbergate-api/alembic/env.py b/jobbergate-api/alembic/env.py index 99e2ae95..027749c1 100644 --- a/jobbergate-api/alembic/env.py +++ b/jobbergate-api/alembic/env.py @@ -7,6 +7,7 @@ from jobbergate_api.apps.job_submissions import models # noqa # must be imported for metadata to work from jobbergate_api.apps.models import Base from jobbergate_api.apps.job_script_templates import models # noqa # must be imported for metadata to work + # from jobbergate_api.metadata import ( # metadata as jobbergate_api_metadata, # ) # noqa # must be imported for metadata to work diff --git a/jobbergate-api/alembic/versions/20240104_182646--44d41f873c8d_add_cancelled_status.py b/jobbergate-api/alembic/versions/20240104_182646--44d41f873c8d_add_cancelled_status.py index 7558a797..b6362f47 100644 --- a/jobbergate-api/alembic/versions/20240104_182646--44d41f873c8d_add_cancelled_status.py +++ b/jobbergate-api/alembic/versions/20240104_182646--44d41f873c8d_add_cancelled_status.py @@ -5,6 +5,7 @@ Create Date: 2024-01-04 18:26:46.943872 """ + import sqlalchemy as sa from sqlalchemy.dialects import postgresql from alembic import op diff --git a/jobbergate-api/alembic/versions/20240130_105238--ec2d2948fb41_remap_job_submissions_statuses.py b/jobbergate-api/alembic/versions/20240130_105238--ec2d2948fb41_remap_job_submissions_statuses.py index b7e64c7a..7198f313 100644 --- a/jobbergate-api/alembic/versions/20240130_105238--ec2d2948fb41_remap_job_submissions_statuses.py +++ b/jobbergate-api/alembic/versions/20240130_105238--ec2d2948fb41_remap_job_submissions_statuses.py @@ -5,6 +5,7 @@ Create Date: 2024-01-30 10:52:38.671713 """ + import sqlalchemy as sa from sqlalchemy.dialects import postgresql diff --git a/jobbergate-api/dev_tools/__init__.py b/jobbergate-api/dev_tools/__init__.py index a1bc7478..2485d11e 100644 --- a/jobbergate-api/dev_tools/__init__.py +++ b/jobbergate-api/dev_tools/__init__.py @@ -1,6 +1,7 @@ """ Provide helper commands for local development. """ + import typer from dev_tools import db, dev_server, show_env diff --git a/jobbergate-api/dev_tools/dev_server.py b/jobbergate-api/dev_tools/dev_server.py index 1a2f66d9..37cdabfe 100644 --- a/jobbergate-api/dev_tools/dev_server.py +++ b/jobbergate-api/dev_tools/dev_server.py @@ -1,6 +1,7 @@ """ Provide command for starting a local development server for the API. """ + from time import sleep import typer diff --git a/jobbergate-api/dev_tools/show_env.py b/jobbergate-api/dev_tools/show_env.py index 77c2571f..cf8a17d9 100644 --- a/jobbergate-api/dev_tools/show_env.py +++ b/jobbergate-api/dev_tools/show_env.py @@ -1,6 +1,7 @@ """ Provide command for showing the current environment. """ + import json import typer @@ -19,8 +20,6 @@ def show_env(use_json: bool = typer.Option(False, "--json", help="Dump as JSON") output = json.dumps(settings.dict()) else: output = "\n ".join( - ["Jobbergate settings:"] + [ - f"{k}: {v}" for (k, v) in settings.dict().items() - ], + ["Jobbergate settings:"] + [f"{k}: {v}" for (k, v) in settings.dict().items()], ) print(output) diff --git a/jobbergate-api/jobbergate_api/apps/dependencies.py b/jobbergate-api/jobbergate_api/apps/dependencies.py index e08077e9..e2aa91f6 100644 --- a/jobbergate-api/jobbergate_api/apps/dependencies.py +++ b/jobbergate-api/jobbergate_api/apps/dependencies.py @@ -4,6 +4,7 @@ Note: The dependencies can be reused multiple times, since FastAPI caches the results. """ + from contextlib import asynccontextmanager, contextmanager from dataclasses import dataclass from itertools import chain diff --git a/jobbergate-api/jobbergate_api/apps/file_validation.py b/jobbergate-api/jobbergate_api/apps/file_validation.py index 8cee5704..96eeb80f 100644 --- a/jobbergate-api/jobbergate_api/apps/file_validation.py +++ b/jobbergate-api/jobbergate_api/apps/file_validation.py @@ -1,6 +1,7 @@ """ Validation methods for the uploaded files. """ + from ast import parse as ast_parse from functools import wraps from pathlib import PurePath diff --git a/jobbergate-api/jobbergate_api/apps/garbage_collector.py b/jobbergate-api/jobbergate_api/apps/garbage_collector.py index 59e4db3e..893798a9 100644 --- a/jobbergate-api/jobbergate_api/apps/garbage_collector.py +++ b/jobbergate-api/jobbergate_api/apps/garbage_collector.py @@ -1,4 +1,5 @@ """Delete unused files from jobbergate's file storage.""" + from fastapi import BackgroundTasks from loguru import logger from sqlalchemy import select diff --git a/jobbergate-api/jobbergate_api/apps/job_script_templates/routers.py b/jobbergate-api/jobbergate_api/apps/job_script_templates/routers.py index 8a74920c..2db0905c 100644 --- a/jobbergate-api/jobbergate_api/apps/job_script_templates/routers.py +++ b/jobbergate-api/jobbergate_api/apps/job_script_templates/routers.py @@ -293,8 +293,7 @@ async def job_script_workflow_get_file( ) async def job_script_workflow_upload_file( id_or_identifier: int | str = Path(), - runtime_config: RunTimeConfig - | None = Body( + runtime_config: RunTimeConfig | None = Body( None, description="Runtime configuration is optional when the workflow file already exists" ), upload_file: UploadFile = File(..., description="File to upload"), diff --git a/jobbergate-api/jobbergate_api/apps/job_script_templates/services.py b/jobbergate-api/jobbergate_api/apps/job_script_templates/services.py index eb3269bd..71156314 100644 --- a/jobbergate-api/jobbergate_api/apps/job_script_templates/services.py +++ b/jobbergate-api/jobbergate_api/apps/job_script_templates/services.py @@ -1,4 +1,5 @@ """Services for the job_script_templates resource, including module specific business logic.""" + from typing import Any from buzz import require_condition diff --git a/jobbergate-api/jobbergate_api/apps/job_scripts/routers.py b/jobbergate-api/jobbergate_api/apps/job_scripts/routers.py index 55e4ad8d..d136553d 100644 --- a/jobbergate-api/jobbergate_api/apps/job_scripts/routers.py +++ b/jobbergate-api/jobbergate_api/apps/job_scripts/routers.py @@ -1,4 +1,5 @@ """Router for the Job Script Template resource.""" + from typing import cast from buzz import handle_errors @@ -202,8 +203,7 @@ async def job_script_get( ) async def job_script_get_list( list_params: ListParams = Depends(), - from_job_script_template_id: int - | None = Query( + from_job_script_template_id: int | None = Query( None, description="Filter job-scripts by the job-script-template-id they were created from.", ), diff --git a/jobbergate-api/jobbergate_api/apps/job_scripts/schemas.py b/jobbergate-api/jobbergate_api/apps/job_scripts/schemas.py index 49ea3613..d6cb648e 100644 --- a/jobbergate-api/jobbergate_api/apps/job_scripts/schemas.py +++ b/jobbergate-api/jobbergate_api/apps/job_scripts/schemas.py @@ -1,6 +1,7 @@ """ JobScript resource schema. """ + from datetime import datetime from textwrap import dedent from typing import Any diff --git a/jobbergate-api/jobbergate_api/apps/job_scripts/services.py b/jobbergate-api/jobbergate_api/apps/job_scripts/services.py index bca2468b..6acb748a 100644 --- a/jobbergate-api/jobbergate_api/apps/job_scripts/services.py +++ b/jobbergate-api/jobbergate_api/apps/job_scripts/services.py @@ -1,4 +1,5 @@ """Services for the job_scripts resource, including module specific business logic.""" + from typing import Any, NamedTuple from buzz import enforce_defined, require_condition diff --git a/jobbergate-api/jobbergate_api/apps/job_submissions/routers.py b/jobbergate-api/jobbergate_api/apps/job_submissions/routers.py index b1218d7a..15395642 100644 --- a/jobbergate-api/jobbergate_api/apps/job_submissions/routers.py +++ b/jobbergate-api/jobbergate_api/apps/job_submissions/routers.py @@ -108,18 +108,15 @@ async def job_submission_get( ) async def job_submission_get_list( list_params: ListParams = Depends(), - slurm_job_ids: str - | None = Query( + slurm_job_ids: str | None = Query( None, description="Comma-separated list of slurm-job-ids to match active job_submissions", ), - submit_status: JobSubmissionStatus - | None = Query( + submit_status: JobSubmissionStatus | None = Query( None, description="Limit results to those with matching status", ), - from_job_script_id: int - | None = Query( + from_job_script_id: int | None = Query( None, description="Filter job-submissions by the job-script-id they were created from.", ), diff --git a/jobbergate-api/jobbergate_api/config.py b/jobbergate-api/jobbergate_api/config.py index dd03e936..9eff5505 100644 --- a/jobbergate-api/jobbergate_api/config.py +++ b/jobbergate-api/jobbergate_api/config.py @@ -3,6 +3,7 @@ Pull settings from environment variables or a .env file if available. """ + from enum import Enum from typing import Optional diff --git a/jobbergate-api/jobbergate_api/email_notification.py b/jobbergate-api/jobbergate_api/email_notification.py index cdf69494..f48e01e4 100644 --- a/jobbergate-api/jobbergate_api/email_notification.py +++ b/jobbergate-api/jobbergate_api/email_notification.py @@ -1,6 +1,7 @@ """ Email notification system for Jobbergate. """ + from dataclasses import dataclass from typing import List, Optional, Union diff --git a/jobbergate-api/jobbergate_api/main.py b/jobbergate-api/jobbergate_api/main.py index 1afbd9b5..1c1f9c1f 100644 --- a/jobbergate-api/jobbergate_api/main.py +++ b/jobbergate-api/jobbergate_api/main.py @@ -1,6 +1,7 @@ """ Main file to startup the fastapi server. """ + from contextlib import asynccontextmanager import asyncpg diff --git a/jobbergate-api/jobbergate_api/security.py b/jobbergate-api/jobbergate_api/security.py index 10909fff..b8f7c4d9 100644 --- a/jobbergate-api/jobbergate_api/security.py +++ b/jobbergate-api/jobbergate_api/security.py @@ -3,6 +3,7 @@ Also provides a factory function for TokenSecurity to reduce boilerplate. """ + from armasec import Armasec, TokenPayload from armasec.schemas import DomainConfig from armasec.token_security import PermissionMode diff --git a/jobbergate-api/pyproject.toml b/jobbergate-api/pyproject.toml index fd656756..c9795b35 100644 --- a/jobbergate-api/pyproject.toml +++ b/jobbergate-api/pyproject.toml @@ -80,7 +80,7 @@ dev-tools = "dev_tools:app" [tool.black] line-length = 110 -target-versions = ["py38", "py39", "py310"] +target-version = ["py38", "py39", "py310"] [tool.isort] line_length = 110 diff --git a/jobbergate-api/tests/apps/job_script_templates/test_routers.py b/jobbergate-api/tests/apps/job_script_templates/test_routers.py index 237d19b5..b19a62cd 100644 --- a/jobbergate-api/tests/apps/job_script_templates/test_routers.py +++ b/jobbergate-api/tests/apps/job_script_templates/test_routers.py @@ -1,4 +1,5 @@ """Test the router for the Job Script Template resource.""" + import json import pytest diff --git a/jobbergate-api/tests/apps/job_script_templates/test_services.py b/jobbergate-api/tests/apps/job_script_templates/test_services.py index 9e0394b7..71a4c956 100644 --- a/jobbergate-api/tests/apps/job_script_templates/test_services.py +++ b/jobbergate-api/tests/apps/job_script_templates/test_services.py @@ -1,4 +1,5 @@ """Database models for the smart template resource.""" + from typing import Any import pytest diff --git a/jobbergate-api/tests/apps/job_scripts/test_routers.py b/jobbergate-api/tests/apps/job_scripts/test_routers.py index 510051fb..2cacb0b9 100644 --- a/jobbergate-api/tests/apps/job_scripts/test_routers.py +++ b/jobbergate-api/tests/apps/job_scripts/test_routers.py @@ -1,4 +1,5 @@ """Tests for the /job-scripts/ endpoint.""" + import pytest from fastapi import HTTPException, status from loguru import logger diff --git a/jobbergate-api/tests/apps/job_scripts/test_services.py b/jobbergate-api/tests/apps/job_scripts/test_services.py index 87de0560..797a128c 100644 --- a/jobbergate-api/tests/apps/job_scripts/test_services.py +++ b/jobbergate-api/tests/apps/job_scripts/test_services.py @@ -1,4 +1,5 @@ """Database models for the job scripts resource.""" + from itertools import product from typing import Any diff --git a/jobbergate-api/tests/apps/job_scripts/test_tools.py b/jobbergate-api/tests/apps/job_scripts/test_tools.py index 262016a9..39ced7c5 100644 --- a/jobbergate-api/tests/apps/job_scripts/test_tools.py +++ b/jobbergate-api/tests/apps/job_scripts/test_tools.py @@ -1,6 +1,7 @@ """ Test job-script files. """ + import snick from jobbergate_api.apps.job_scripts.tools import inject_sbatch_params diff --git a/jobbergate-api/tests/apps/test_main.py b/jobbergate-api/tests/apps/test_main.py index 4002dc89..810a3668 100644 --- a/jobbergate-api/tests/apps/test_main.py +++ b/jobbergate-api/tests/apps/test_main.py @@ -1,6 +1,7 @@ """ Provide unit tests for the main app. """ + import pytest from fastapi import status from httpx import AsyncClient diff --git a/jobbergate-api/tests/apps/test_models.py b/jobbergate-api/tests/apps/test_models.py index 46247758..da87e266 100644 --- a/jobbergate-api/tests/apps/test_models.py +++ b/jobbergate-api/tests/apps/test_models.py @@ -1,4 +1,5 @@ """Test the the models.""" + import pytest from sqlalchemy import String diff --git a/jobbergate-api/tests/test_email_notification.py b/jobbergate-api/tests/test_email_notification.py index 7b65d6f0..f21df325 100644 --- a/jobbergate-api/tests/test_email_notification.py +++ b/jobbergate-api/tests/test_email_notification.py @@ -1,6 +1,7 @@ """ Test the email notification system at Jobbergate. """ + from unittest import mock import pytest diff --git a/jobbergate-api/tests/test_security.py b/jobbergate-api/tests/test_security.py index 4e67510b..6dac9e98 100644 --- a/jobbergate-api/tests/test_security.py +++ b/jobbergate-api/tests/test_security.py @@ -1,6 +1,7 @@ """ Test the security module. """ + from unittest.mock import patch import pytest