Skip to content
Open
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
12 changes: 6 additions & 6 deletions .pre-commit-config.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ ci:
- biome-check # Uses local npm/npx, not available in pre-commit CI
repos:
- repo: https://github.com/pre-commit/pre-commit-hooks
rev: v5.0.0
rev: v6.0.0
hooks:
- id: trailing-whitespace
exclude_types:
Expand Down Expand Up @@ -37,7 +37,7 @@ repos:
- id: no-commit-to-branch

- repo: https://github.com/astral-sh/ruff-pre-commit
rev: v0.3.4
rev: v0.15.8
hooks:
- id: ruff
args: [--fix]
Expand All @@ -56,7 +56,7 @@ repos:
# language: python

- repo: https://github.com/asottile/pyupgrade
rev: v3.17.0
rev: v3.21.2
hooks:
- id: pyupgrade
entry: pyupgrade --py39-plus --keep-runtime-typing
Expand Down Expand Up @@ -87,15 +87,15 @@ repos:
types_or: [javascript, jsx, ts, tsx, json]

- repo: https://github.com/igorshubovych/markdownlint-cli
rev: v0.42.0
rev: v0.48.0
hooks:
- id: markdownlint
args: [--disable, MD013]
- id: markdownlint-fix
args: [--disable, MD013]

- repo: https://github.com/gitleaks/gitleaks
rev: v8.18.2
rev: v8.30.0
hooks:
- id: gitleaks

Expand All @@ -105,7 +105,7 @@ repos:
- id: htmlhint

- repo: https://github.com/hadolint/hadolint
rev: v2.12.1-beta
rev: v2.14.0
hooks:
- id: hadolint-docker
args:
Expand Down
4 changes: 2 additions & 2 deletions backend/account_v2/custom_auth_middleware.py
Original file line number Diff line number Diff line change
@@ -1,6 +1,8 @@
import logging
import uuid

from backend.constants import RequestHeader, RequestMethod
from backend.internal_api_constants import INTERNAL_API_PREFIX
from django.conf import settings
from django.http import HttpRequest, HttpResponse, JsonResponse
from utils.constants import Account
Expand All @@ -10,8 +12,6 @@
from account_v2.authentication_plugin_registry import AuthenticationPluginRegistry
from account_v2.authentication_service import AuthenticationService
from account_v2.constants import Common
from backend.constants import RequestHeader, RequestMethod
from backend.internal_api_constants import INTERNAL_API_PREFIX

logger = logging.getLogger(__name__)

Expand Down
3 changes: 1 addition & 2 deletions backend/account_v2/models.py
Original file line number Diff line number Diff line change
@@ -1,10 +1,9 @@
import uuid

from backend.constants import FieldLengthConstants as FieldLength
from django.contrib.auth.models import AbstractUser, Group, Permission
from django.db import models

from backend.constants import FieldLengthConstants as FieldLength

NAME_SIZE = 64
KEY_SIZE = 64

Expand Down
14 changes: 7 additions & 7 deletions backend/adapter_processor_v2/adapter_processor.py
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,13 @@
from django.core.exceptions import ObjectDoesNotExist
from platform_settings_v2.platform_auth_service import PlatformAuthenticationService
from tenant_account_v2.organization_member_service import OrganizationMemberService
from unstract.sdk1.adapters.adapterkit import Adapterkit
from unstract.sdk1.adapters.base import Adapter
from unstract.sdk1.adapters.x2text.constants import X2TextConstants
from unstract.sdk1.constants import AdapterTypes
from unstract.sdk1.embedding import EmbeddingCompat
from unstract.sdk1.exceptions import SdkError
from unstract.sdk1.llm import LLM

from adapter_processor_v2.constants import AdapterKeys, AllowedDomains
from adapter_processor_v2.exceptions import (
Expand All @@ -16,13 +23,6 @@
InValidAdapterId,
TestAdapterError,
)
from unstract.sdk1.adapters.adapterkit import Adapterkit
from unstract.sdk1.adapters.base import Adapter
from unstract.sdk1.adapters.x2text.constants import X2TextConstants
from unstract.sdk1.constants import AdapterTypes
from unstract.sdk1.embedding import EmbeddingCompat
from unstract.sdk1.exceptions import SdkError
from unstract.sdk1.llm import LLM

from .models import AdapterInstance, UserDefaultAdapter

Expand Down
2 changes: 1 addition & 1 deletion backend/adapter_processor_v2/exceptions.py
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
from rest_framework.exceptions import APIException
from unstract.sdk1.exceptions import SdkError

from adapter_processor_v2.constants import AdapterKeys
from unstract.sdk1.exceptions import SdkError


class IdIsMandatory(APIException):
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -88,7 +88,7 @@ def _list_deprecated(self) -> None:
)

for adapter in deprecated_adapters:
self.stdout.write(f"\n{'='*80}")
self.stdout.write(f"\n{'=' * 80}")
self.stdout.write(f"UUID: {adapter.id}")
self.stdout.write(f"Name: {adapter.adapter_name}")
self.stdout.write(f"Type: {adapter.adapter_type}")
Expand Down Expand Up @@ -258,7 +258,7 @@ def _generate_report(self) -> None:
self.stdout.write(f"Total adapters: {total_adapters}")
self.stdout.write(f"Deprecated adapters: {deprecated_count}")
self.stdout.write(
f"Deprecation rate: {(deprecated_count/total_adapters*100):.1f}%\n"
f"Deprecation rate: {(deprecated_count / total_adapters * 100):.1f}%\n"
if total_adapters > 0
else "N/A\n"
)
Expand Down
7 changes: 3 additions & 4 deletions backend/adapter_processor_v2/models.py
Original file line number Diff line number Diff line change
Expand Up @@ -9,17 +9,16 @@
from django.db import models
from django.db.models import QuerySet
from tenant_account_v2.models import OrganizationMember
from unstract.sdk1.constants import AdapterTypes
from unstract.sdk1.exceptions import SdkError
from unstract.sdk1.llm import LLM
from utils.exceptions import InvalidEncryptionKey
from utils.models.base_model import BaseModel
from utils.models.organization_mixin import (
DefaultOrganizationManagerMixin,
DefaultOrganizationMixin,
)

from unstract.sdk1.constants import AdapterTypes
from unstract.sdk1.exceptions import SdkError
from unstract.sdk1.llm import LLM

logger = logging.getLogger(__name__)

ADAPTER_NAME_SIZE = 128
Expand Down
8 changes: 4 additions & 4 deletions backend/adapter_processor_v2/serializers.py
Original file line number Diff line number Diff line change
Expand Up @@ -2,18 +2,18 @@
from typing import Any

from account_v2.serializer import UserSerializer
from backend.constants import FieldLengthConstants as FLC
from backend.serializers import AuditSerializer
from cryptography.fernet import Fernet
from django.conf import settings
from rest_framework import serializers
from rest_framework.serializers import ModelSerializer
from unstract.sdk1.constants import AdapterTypes
from unstract.sdk1.constants import Common as common
from utils.input_sanitizer import validate_name_field, validate_no_html_tags

from adapter_processor_v2.adapter_processor import AdapterProcessor
from adapter_processor_v2.constants import AdapterKeys
from backend.constants import FieldLengthConstants as FLC
from backend.serializers import AuditSerializer
from unstract.sdk1.constants import AdapterTypes
from unstract.sdk1.constants import Common as common

from .models import AdapterInstance, UserDefaultAdapter

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -86,7 +86,7 @@ def handle(self, *args, **options):
try:
usage = APIDeploymentRateLimiter.get_current_usage(organization)
self.stdout.write(
f'\nCurrent usage: {usage["org_count"]}/{default_limit} concurrent requests'
f"\nCurrent usage: {usage['org_count']}/{default_limit} concurrent requests"
)

if usage["org_count"] >= default_limit:
Expand Down
4 changes: 2 additions & 2 deletions backend/api_v2/management/commands/get_org_rate_limit.py
Original file line number Diff line number Diff line change
Expand Up @@ -65,10 +65,10 @@ def handle(self, *args, **options):

self.stdout.write("\n--- Current Usage ---")
self.stdout.write(
f'Organization: {usage["org_count"]}/{usage["org_limit"]} concurrent requests'
f"Organization: {usage['org_count']}/{usage['org_limit']} concurrent requests"
)
self.stdout.write(
f'Global System: {usage["global_count"]}/{usage["global_limit"]} concurrent requests'
f"Global System: {usage['global_count']}/{usage['global_limit']} concurrent requests"
)

# Usage percentage
Expand Down
2 changes: 1 addition & 1 deletion backend/api_v2/management/commands/list_org_rate_limits.py
Original file line number Diff line number Diff line change
Expand Up @@ -37,7 +37,7 @@ def handle(self, *args, **options):
usage = APIDeploymentRateLimiter.get_current_usage(org)
pct = (usage["org_count"] / limit * 100) if limit > 0 else 0
self.stdout.write(
f' Usage: {usage["org_count"]}/{limit} ({pct:.1f}%)'
f" Usage: {usage['org_count']}/{limit} ({pct:.1f}%)"
)
except Exception as e:
self.stdout.write(f" Usage: Error - {e}")
Expand Down
2 changes: 1 addition & 1 deletion backend/api_v2/management/commands/set_org_rate_limit.py
Original file line number Diff line number Diff line change
Expand Up @@ -55,7 +55,7 @@ def handle(self, *args, **options):
usage = APIDeploymentRateLimiter.get_current_usage(organization)
self.stdout.write(
self.style.WARNING(
f'Current usage: {usage["org_count"]}/{limit} concurrent requests'
f"Current usage: {usage['org_count']}/{limit} concurrent requests"
)
)

Expand Down
2 changes: 1 addition & 1 deletion backend/api_v2/serializers.py
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@
from typing import Any
from urllib.parse import urlparse

from backend.serializers import AuditSerializer
from django.apps import apps
from django.core.validators import RegexValidator
from pipeline_v2.models import Pipeline
Expand All @@ -30,7 +31,6 @@

from api_v2.constants import ApiExecution
from api_v2.models import APIDeployment, APIKey
from backend.serializers import AuditSerializer


class APIDeploymentSerializer(IntegrityErrorMixin, AuditSerializer):
Expand Down
1 change: 0 additions & 1 deletion backend/backend/exceptions.py
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,6 @@
from rest_framework.exceptions import APIException
from rest_framework.response import Response
from rest_framework.views import exception_handler

from unstract.connectors.exceptions import ConnectorBaseException, ConnectorError


Expand Down
6 changes: 3 additions & 3 deletions backend/configuration/config_registry.py
Original file line number Diff line number Diff line change
Expand Up @@ -165,9 +165,9 @@ def cast_value(cls, key_name: str, raw_value: Any) -> Any:

converters = {
ConfigType.INT: int,
ConfigType.BOOL: lambda v: v.lower() in ("true", "1")
if isinstance(v, str)
else bool(v),
ConfigType.BOOL: lambda v: (
v.lower() in ("true", "1") if isinstance(v, str) else bool(v)
),
ConfigType.JSON: lambda v: __import__("json").loads(v),
ConfigType.STRING: str,
}
Expand Down
6 changes: 3 additions & 3 deletions backend/configuration/enums.py
Original file line number Diff line number Diff line change
Expand Up @@ -64,9 +64,9 @@ class ConfigKey(Enum):
def cast_value(self, raw_value: Any):
converters = {
ConfigType.INT: int,
ConfigType.BOOL: lambda v: v.lower() in ("true", "1")
if isinstance(v, str)
else bool(v),
ConfigType.BOOL: lambda v: (
v.lower() in ("true", "1") if isinstance(v, str) else bool(v)
),
ConfigType.JSON: json.loads,
ConfigType.STRING: str,
}
Expand Down
1 change: 0 additions & 1 deletion backend/connector_auth_v2/pipeline/google.py
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,6 @@
from connector_auth_v2.constants import SocialAuthConstants as AuthConstants
from connector_auth_v2.exceptions import EnrichConnectorMetadataException
from connector_processor.constants import ConnectorKeys

from unstract.connectors.filesystems.google_drive.constants import GDriveConstants


Expand Down
15 changes: 7 additions & 8 deletions backend/connector_processor/connector_processor.py
Original file line number Diff line number Diff line change
Expand Up @@ -3,23 +3,23 @@
import logging
from typing import Any

from backend.exceptions import UnstractFSException
from connector_auth_v2.constants import ConnectorAuthKey
from connector_auth_v2.pipeline.common import ConnectorAuthHelper
from connector_v2.constants import ConnectorInstanceKey as CIKey
from unstract.connectors.base import UnstractConnector
from unstract.connectors.connectorkit import Connectorkit
from unstract.connectors.enums import ConnectorMode
from unstract.connectors.exceptions import ConnectorError, FSAccessDeniedError
from unstract.connectors.filesystems.ucs import UnstractCloudStorage

from backend.exceptions import UnstractFSException
from connector_processor.constants import ConnectorKeys
from connector_processor.exceptions import (
InvalidConnectorID,
InvalidConnectorMode,
OAuthTimeOut,
TestConnectorInputError,
)
from unstract.connectors.base import UnstractConnector
from unstract.connectors.connectorkit import Connectorkit
from unstract.connectors.enums import ConnectorMode
from unstract.connectors.exceptions import ConnectorError, FSAccessDeniedError
from unstract.connectors.filesystems.ucs import UnstractCloudStorage

logger = logging.getLogger(__name__)

Expand Down Expand Up @@ -145,8 +145,7 @@ def test_connectors(connector_id: str, credentials: dict[str, Any]) -> bool:
)
except Exception as exc:
logger.error(
"Error while testing file based OAuth supported "
"connectors: %s",
"Error while testing file based OAuth supported connectors: %s",
exc,
)
raise OAuthTimeOut()
Expand Down
3 changes: 1 addition & 2 deletions backend/connector_processor/exceptions.py
Original file line number Diff line number Diff line change
@@ -1,6 +1,5 @@
from rest_framework.exceptions import APIException

from backend.exceptions import UnstractBaseException
from rest_framework.exceptions import APIException
from unstract.connectors.exceptions import ConnectorError


Expand Down
2 changes: 1 addition & 1 deletion backend/connector_processor/serializers.py
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
from backend.constants import FieldLengthConstants as FLC
from rest_framework import serializers

from backend.constants import FieldLengthConstants as FLC
from connector_processor.constants import ConnectorKeys


Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -221,7 +221,7 @@ def _fix_remaining_duplicate_names(connector_instance_model: Any) -> int:
for i in range(0, len(duplicates), batch_size):
batch = duplicates[i : i + batch_size]
logger.info(
f"Processing batch {i//batch_size + 1}/{(len(duplicates)-1)//batch_size + 1}"
f"Processing batch {i // batch_size + 1}/{(len(duplicates) - 1) // batch_size + 1}"
)

for dup_info in batch:
Expand Down
3 changes: 1 addition & 2 deletions backend/connector_v2/models.py
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@
from typing import Any

from account_v2.models import User
from backend.constants import FieldLengthConstants as FLC
from connector_auth_v2.models import ConnectorAuth
from connector_processor.connector_processor import ConnectorProcessor
from connector_processor.constants import ConnectorKeys
Expand All @@ -14,8 +15,6 @@
DefaultOrganizationMixin,
)

from backend.constants import FieldLengthConstants as FLC

CONNECTOR_NAME_SIZE = 128
VERSION_NAME_SIZE = 64

Expand Down
4 changes: 2 additions & 2 deletions backend/connector_v2/serializers.py
Original file line number Diff line number Diff line change
Expand Up @@ -2,18 +2,18 @@
from collections import OrderedDict
from typing import Any

from backend.serializers import AuditSerializer
from connector_auth_v2.models import ConnectorAuth
from connector_auth_v2.pipeline.common import ConnectorAuthHelper
from connector_processor.connector_processor import ConnectorProcessor
from connector_processor.constants import ConnectorKeys
from connector_processor.exceptions import OAuthTimeOut
from rest_framework.serializers import CharField, SerializerMethodField
from unstract.connectors.filesystems.ucs import UnstractCloudStorage
from utils.fields import EncryptedBinaryFieldSerializer
from utils.input_sanitizer import validate_name_field

from backend.serializers import AuditSerializer
from connector_v2.constants import ConnectorInstanceKey as CIKey
from unstract.connectors.filesystems.ucs import UnstractCloudStorage

from .models import ConnectorInstance

Expand Down
Loading
Loading