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
2 changes: 1 addition & 1 deletion examples/notebook.py
Original file line number Diff line number Diff line change
Expand Up @@ -228,7 +228,7 @@ def _(client):
def _(mo):
mo.md(
r"""
from aignostics.platform.resources.runs import ApplicationRun
from aignostics_sdk.platform.resources.runs import ApplicationRun
application_run = ApplicationRun.for_run_id("<run_id>")
# download
download_folder = "/tmp/"
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -23,14 +23,14 @@
wait_exponential_jitter,
)

from aignostics.platform._api import _log_retry_attempt
from aignostics.platform._messages import (
from aignostics_sdk.platform._api import _log_retry_attempt
from aignostics_sdk.platform._messages import (
AUTHENTICATION_FAILED,
AUTHENTICATION_FAILED_ACCESS_TOKEN_FROM_REFRESH_TOKEN,
AUTHENTICATION_FAILED_TOKEN_VERIFICATION,
INVALID_REDIRECT_URI,
)
from aignostics.platform._settings import settings
from aignostics_sdk.platform._settings import settings

CALLBACK_PORT_RETRY_COUNT = 20
CALLBACK_PORT_BACKOFF_DELAY = 1
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@
import typer
from loguru import logger

from aignostics.utils import console
from aignostics_sdk.utils import console

from ._sdk_metadata import get_item_sdk_metadata_json_schema, get_run_sdk_metadata_json_schema
from ._service import Service
Expand Down
12 changes: 6 additions & 6 deletions packages/aignostics-sdk/src/aignostics_sdk/platform/_client.py
Original file line number Diff line number Diff line change
Expand Up @@ -17,17 +17,17 @@
wait_exponential_jitter,
)

from aignostics.platform._api import (
from aignostics_sdk.platform._api import (
RETRYABLE_EXCEPTIONS,
_AuthenticatedApi,
_log_retry_attempt,
_OAuth2TokenProviderConfiguration,
)
from aignostics.platform._authentication import get_token
from aignostics.platform._operation_cache import cached_operation
from aignostics.platform.resources.applications import Applications, Versions
from aignostics.platform.resources.runs import Run, Runs
from aignostics.utils import user_agent
from aignostics_sdk.platform._authentication import get_token
from aignostics_sdk.platform._operation_cache import cached_operation
from aignostics_sdk.platform.resources.applications import Applications, Versions
from aignostics_sdk.platform.resources.runs import Run, Runs
from aignostics_sdk.utils import user_agent

from ._settings import settings

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@
from loguru import logger
from pydantic import BaseModel, Field, ValidationError, field_validator, model_validator

from aignostics.utils import user_agent
from aignostics_sdk.utils import user_agent

from ._constants import (
DEFAULT_CPU_PROVISIONING_MODE,
Expand Down Expand Up @@ -293,7 +293,7 @@ def build_run_sdk_metadata(existing_metadata: dict[str, Any] | None = None) -> d
dict[str, Any]: Dictionary containing SDK metadata including user agent,
user information, and optionally CI information (GitHub workflow and pytest test context).
"""
from aignostics.platform._client import Client # noqa: PLC0415
from aignostics_sdk.platform._client import Client # noqa: PLC0415

submission_initiator = "user" # who/what initiated the run (user, test, bridge)
submission_interface = "script" # how the SDK was accessed (script, cli, launchpad)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -13,8 +13,8 @@
from loguru import logger
from pydantic import BaseModel, computed_field

from aignostics.constants import INTERNAL_ORGS
from aignostics.utils import BaseService, Health, user_agent
from aignostics_sdk.constants import INTERNAL_ORGS
from aignostics_sdk.utils import BaseService, Health, user_agent

from ._authentication import get_token, remove_cached_token, verify_and_decode_token
from ._client import Client
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@
)
from pydantic_settings import BaseSettings, SettingsConfigDict

from aignostics.utils import OpaqueSettings, __project_name__, load_settings
from aignostics_sdk.utils import OpaqueSettings, __project_name__, load_settings

from ._constants import (
API_ROOT_DEV,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -30,17 +30,17 @@
wait_exponential_jitter,
)

from aignostics.platform._api import (
from aignostics_sdk.platform._api import (
RETRYABLE_EXCEPTIONS,
_AuthenticatedApi,
_AuthenticatedResource,
_log_retry_attempt,
)
from aignostics.platform._authentication import get_token
from aignostics.platform._operation_cache import cached_operation
from aignostics.platform._settings import settings
from aignostics.platform.resources.utils import paginate
from aignostics.utils import user_agent
from aignostics_sdk.platform._authentication import get_token
from aignostics_sdk.platform._operation_cache import cached_operation
from aignostics_sdk.platform._settings import settings
from aignostics_sdk.platform.resources.utils import paginate
from aignostics_sdk.utils import user_agent

_DOCUMENT_DOWNLOAD_CHUNK_SIZE = 1024 * 1024 # 1 MB

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -49,31 +49,31 @@
wait_exponential_jitter,
)

from aignostics.platform._api import (
from aignostics_sdk.platform._api import (
RETRYABLE_EXCEPTIONS,
_AuthenticatedApi,
_AuthenticatedResource,
_log_retry_attempt,
)
from aignostics.platform._authentication import get_token
from aignostics.platform._operation_cache import cached_operation, operation_cache_clear
from aignostics.platform._sdk_metadata import (
from aignostics_sdk.platform._authentication import get_token
from aignostics_sdk.platform._operation_cache import cached_operation, operation_cache_clear
from aignostics_sdk.platform._sdk_metadata import (
build_item_sdk_metadata,
build_run_sdk_metadata,
validate_item_sdk_metadata,
validate_run_sdk_metadata,
)
from aignostics.platform._settings import settings
from aignostics.platform._utils import (
from aignostics_sdk.platform._settings import settings
from aignostics_sdk.platform._utils import (
calculate_file_crc32c,
convert_to_json_serializable,
download_file,
get_mime_type_for_artifact,
mime_type_to_file_ending,
)
from aignostics.platform.resources.applications import Versions
from aignostics.platform.resources.utils import paginate
from aignostics.utils import user_agent
from aignostics_sdk.platform.resources.applications import Versions
from aignostics_sdk.platform.resources.utils import paginate
from aignostics_sdk.utils import user_agent

LIST_APPLICATION_RUNS_MAX_PAGE_SIZE = 100
LIST_APPLICATION_RUNS_MIN_PAGE_SIZE = 5
Expand Down Expand Up @@ -263,7 +263,7 @@ def for_run_id(cls, run_id: str, cache_token: bool = True) -> "Run":
Returns:
Run: The initialized Run instance.
"""
from aignostics.platform._client import Client # noqa: PLC0415
from aignostics_sdk.platform._client import Client # noqa: PLC0415

return cls(Client.get_api_client(cache_token=cache_token), run_id)

Expand Down
16 changes: 12 additions & 4 deletions packages/aignostics-sdk/src/aignostics_sdk/utils/_constants.py
Original file line number Diff line number Diff line change
Expand Up @@ -8,12 +8,20 @@

from dotenv import load_dotenv

__project_name__ = __name__.split(".")[0]
# __project_name__ is hardcoded to "aignostics" for backward compatibility:
# - token cache location stays ~/.aignostics/token.json
# - environment variable prefix stays AIGNOSTICS_*
# TODO(PYSDK-136): decide whether to migrate to "aignostics_sdk" as part of a deliberate
# breaking-change release.
__project_name__ = "aignostics"
# _package_name is the actual installed Python distribution name ("aignostics-sdk").
# Used for importlib.metadata calls so they target the correct installed package.
_package_name = __name__.split(".")[0] # "aignostics_sdk"
load_dotenv(str(Path(".env")))
load_dotenv(os.getenv(f"{__project_name__.upper()}_ENV_FILE", Path.home() / f".{__project_name__}/.env"))

__project_path__ = str(Path(__file__).parent.parent.parent)
__version__ = metadata.version(__project_name__)
__version__ = metadata.version(_package_name)
__build_number__ = os.getenv("GITHUB_RUN_NUMBER") or os.getenv("BUILD_NUMBER") or None
__version_full__ = f"{__version__}+{__build_number__}" if __build_number__ else __version__
__python_version__ = platform.python_version()
Expand Down Expand Up @@ -94,13 +102,13 @@ def get_project_url_by_label(prefix: str) -> str:
Returns:
The extracted URL string if found, or an empty string if not found.
"""
for url_entry in metadata.metadata(__project_name__).get_all("Project-URL", []):
for url_entry in metadata.metadata(_package_name).get_all("Project-URL", []):
if url_entry.startswith(prefix):
return str(url_entry.split(", ", 1)[1])
return ""


_authors = metadata.metadata(__project_name__).get_all("Author-email", [])
_authors = metadata.metadata(_package_name).get_all("Author-email", [])
_author = _authors[0] if _authors else None
__author_name__ = _author.split("<")[0].strip() if _author else None
__author_email__ = _author.split("<")[1].strip(" >") if _author else None
Expand Down
3 changes: 1 addition & 2 deletions packages/aignostics-sdk/src/aignostics_sdk/utils/_fs.py
Original file line number Diff line number Diff line change
Expand Up @@ -4,9 +4,8 @@
from pathlib import Path, PureWindowsPath

import platformdirs
from loguru import logger

from aignostics.third_party.showinfm.showinfm import show_in_file_manager
from loguru import logger

from ._constants import __is_running_in_read_only_environment__, __project_name__

Expand Down
2 changes: 1 addition & 1 deletion packages/aignostics-sdk/src/aignostics_sdk/utils/_mcp.py
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@
uv run aignostics mcp list-tools

# Use programmatically
from aignostics.utils import mcp_create_server, mcp_run, mcp_list_tools
from aignostics_sdk.utils import mcp_create_server, mcp_run, mcp_list_tools

server = mcp_create_server()
mcp_run()
Expand Down
3 changes: 2 additions & 1 deletion packages/aignostics/src/aignostics/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -7,14 +7,15 @@
# TODO(Helmut): remove when google_crc32c supports Python 3.14
warnings.filterwarnings("ignore", message="As the c extension couldn't be imported", category=RuntimeWarning)

from aignostics_sdk.utils.boot import boot # noqa: E402

from .constants import ( # noqa: E402
HETA_APPLICATION_ID,
SENTRY_INTEGRATIONS,
TEST_APP_APPLICATION_ID,
WSI_SUPPORTED_FILE_EXTENSIONS,
WSI_SUPPORTED_FILE_EXTENSIONS_TEST_APP,
)
from .utils.boot import boot # noqa: E402

# Add scheme to HTTP proxy environment variables if missing
for proxy_var in ["HTTP_PROXY", "HTTPS_PROXY"]:
Expand Down
12 changes: 6 additions & 6 deletions packages/aignostics/src/aignostics/application/_cli.py
Original file line number Diff line number Diff line change
Expand Up @@ -9,10 +9,7 @@
from typing import Annotated

import typer
from loguru import logger

from aignostics.bucket import Service as BucketService
from aignostics.platform import (
from aignostics_sdk.platform import (
DEFAULT_CPU_PROVISIONING_MODE,
DEFAULT_FLEX_START_MAX_RUN_DURATION_MINUTES,
DEFAULT_GPU_PROVISIONING_MODE,
Expand All @@ -24,9 +21,12 @@
NotFoundException,
RunState,
)
from aignostics.platform import Service as PlatformService
from aignostics_sdk.platform import Service as PlatformService
from aignostics_sdk.utils import console, get_user_data_directory, sanitize_path
from loguru import logger

from aignostics.bucket import Service as BucketService
from aignostics.system import Service as SystemService
from aignostics.utils import console, get_user_data_directory, sanitize_path

from ._models import DownloadProgress, DownloadProgressState
from ._service import Service
Expand Down
5 changes: 2 additions & 3 deletions packages/aignostics/src/aignostics/application/_download.py
Original file line number Diff line number Diff line change
Expand Up @@ -8,11 +8,10 @@

import crc32c
import requests
from aignostics_sdk.platform import ArtifactOutput, ItemOutput, ItemState, Run, generate_signed_url
from aignostics_sdk.utils import sanitize_path_component
from loguru import logger

from aignostics.platform import ArtifactOutput, ItemOutput, ItemState, Run, generate_signed_url
from aignostics.utils import sanitize_path_component

from ._models import DownloadProgress, DownloadProgressState
from ._utils import get_file_extension_for_artifact

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,12 +2,11 @@
from typing import Any

import humanize
from aignostics.gui import frame
from loguru import logger
from nicegui import app, background_tasks, context, ui # noq
from nicegui import run as nicegui_run

from aignostics.gui import frame

from .._service import Service # noqa: TID252
from ._utils import application_id_to_icon, run_status_to_icon_and_color

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,25 +7,24 @@
from pathlib import Path
from typing import TYPE_CHECKING, Any

from loguru import logger
from nicegui import app, binding, ui
from nicegui import run as nicegui_run
from nicegui.events import ValueChangeEventArguments

from aignostics.constants import WSI_SUPPORTED_FILE_EXTENSIONS
from aignostics.platform import (
from aignostics.system import Service as SystemService
from aignostics_sdk.platform import (
DEFAULT_CPU_PROVISIONING_MODE,
DEFAULT_FLEX_START_MAX_RUN_DURATION_MINUTES,
DEFAULT_GPU_PROVISIONING_MODE,
DEFAULT_GPU_TYPE,
DEFAULT_MAX_GPUS_PER_SLIDE,
DEFAULT_NODE_ACQUISITION_TIMEOUT_MINUTES,
)
from aignostics.system import Service as SystemService
from aignostics.utils import GUILocalFilePicker, get_user_data_directory
from aignostics_sdk.utils import GUILocalFilePicker, get_user_data_directory
from loguru import logger
from nicegui import app, binding, ui
from nicegui import run as nicegui_run
from nicegui.events import ValueChangeEventArguments

if TYPE_CHECKING:
from aignostics.platform import UserInfo
from aignostics_sdk.platform import UserInfo

from .._service import Service # noqa: TID252
from .._utils import get_mime_type_for_artifact # noqa: TID252
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -12,22 +12,20 @@
from urllib.parse import quote

import humanize
from aignostics.third_party.showinfm.showinfm import show_in_file_manager
from aignostics_sdk.platform import ArtifactOutput, ItemOutput, ItemResult, ItemState, Run, RunState
from aignostics_sdk.utils import GUILocalFilePicker, get_user_data_directory
from loguru import logger
from nicegui import (
app,
ui, # noq
)
from nicegui import run as nicegui_run

from aignostics.platform import ArtifactOutput, ItemOutput, ItemResult, ItemState, Run, RunState
from aignostics.third_party.showinfm.showinfm import show_in_file_manager
from aignostics.utils import GUILocalFilePicker, get_user_data_directory

if TYPE_CHECKING:
from aignostics_sdk.platform import UserInfo
from aignx.codegen.models import RunReadResponse

from aignostics.platform import UserInfo

from .._models import DownloadProgressState # noqa: TID252
from .._service import Service # noqa: TID252
from .._utils import get_mime_type_for_artifact, queue_position_string_from_run # noqa: TID252
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@

from pathlib import Path

from aignostics.utils import BasePageBuilder
from aignostics_sdk.utils import BasePageBuilder

HOME_PAGE_TIMEOUT_SECONDS = 30
APPLICATION_DESCRIBE_PAGE_TIMEOUT_SECONDS = 30
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
"""Utility functions for the application GUI."""

from aignostics.platform import ItemState, ItemTerminationReason, RunState, RunTerminationReason
from aignostics_sdk.platform import ItemState, ItemTerminationReason, RunState, RunTerminationReason

NONE = "none"

Expand Down
3 changes: 1 addition & 2 deletions packages/aignostics/src/aignostics/application/_models.py
Original file line number Diff line number Diff line change
Expand Up @@ -4,10 +4,9 @@
from importlib.util import find_spec
from pathlib import Path

from aignostics_sdk.platform import ItemResult, OutputArtifactElement, RunData
from pydantic import BaseModel, computed_field

from aignostics.platform import ItemResult, OutputArtifactElement, RunData

has_qupath_extra = find_spec("ijson")
if has_qupath_extra:
from aignostics.qupath import AddProgress as QuPathAddProgress
Expand Down
Loading