Skip to content
Closed
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
3 changes: 2 additions & 1 deletion .github/CLAUDE.md
Original file line number Diff line number Diff line change
Expand Up @@ -87,7 +87,8 @@ if any category failed.
| e2e very long running | `test_very_long_running` | (opt-in, see below) |

**Very long running** runs only when enabled: `enable:test:very_long_running`
in commit message or PR label, or any push to a `release/v*` branch.
in commit message or PR label, or any push or manual dispatch
(`workflow_dispatch`) to a `release/v*` branch.

**Parallelism** is set by `XDIST_WORKER_FACTOR` (worker count =
`max(1, int(cpu_count * factor))`). CI runs the `*_matrix` targets — unit and
Expand Down
4 changes: 2 additions & 2 deletions .github/workflows/_claude-code.yml
Original file line number Diff line number Diff line change
Expand Up @@ -77,7 +77,7 @@ jobs:

- name: Run Claude Code (Interactive Mode)
if: inputs.mode == 'interactive'
uses: anthropics/claude-code-action@44423bdec74b97d67543eb16c110546762c110b2 # v1.0.181
uses: anthropics/claude-code-action@be7b93b1907a4abad570368f3c74b6fe3807510b # v1.0.183
with:
anthropic_api_key: ${{ secrets.ANTHROPIC_API_KEY }}
track_progress: ${{ inputs.track_progress }}
Expand All @@ -92,7 +92,7 @@ jobs:

- name: Run Claude Code (Automation Mode)
if: inputs.mode == 'automation'
uses: anthropics/claude-code-action@44423bdec74b97d67543eb16c110546762c110b2 # v1.0.181
uses: anthropics/claude-code-action@be7b93b1907a4abad570368f3c74b6fe3807510b # v1.0.183
with:
anthropic_api_key: ${{ secrets.ANTHROPIC_API_KEY }}
track_progress: ${{ inputs.track_progress }}
Expand Down
6 changes: 3 additions & 3 deletions .github/workflows/_codeql.yml
Original file line number Diff line number Diff line change
Expand Up @@ -50,7 +50,7 @@ jobs:

# Initializes the CodeQL tools for scanning.
- name: Initialize CodeQL
uses: github/codeql-action/init@e4fba868fa4b1b91e1fdab776edc8cfbe6e9fb81 # v4.37.3
uses: github/codeql-action/init@d1ba80a13dd99fba24a470575428917156a28b43 # v4.37.5
with:
languages: ${{ matrix.language }}
# If you wish to specify custom queries, you can do so here or in a config file.
Expand All @@ -77,9 +77,9 @@ jobs:
# Autobuild attempts to build any compiled languages (C/C++, C#, Go, Java, or Swift).
# If this step fails, then you should remove it and run the build manually
- name: Autobuild
uses: github/codeql-action/autobuild@e4fba868fa4b1b91e1fdab776edc8cfbe6e9fb81 # v4.37.3
uses: github/codeql-action/autobuild@d1ba80a13dd99fba24a470575428917156a28b43 # v4.37.5

- name: Perform CodeQL Analysis
uses: github/codeql-action/analyze@e4fba868fa4b1b91e1fdab776edc8cfbe6e9fb81 # v4.37.3
uses: github/codeql-action/analyze@d1ba80a13dd99fba24a470575428917156a28b43 # v4.37.5
with:
category: "/language:${{ matrix.language }}"
4 changes: 2 additions & 2 deletions .github/workflows/_docker-publish.yml
Original file line number Diff line number Diff line change
Expand Up @@ -37,13 +37,13 @@ jobs:
uses: docker/setup-buildx-action@bb05f3f5519dd87d3ba754cc423b652a5edd6d2c # v4.2.0

- name: Log in to Docker Hub
uses: docker/login-action@af1e73f918a031802d376d3c8bbc3fe56130a9b0 # v4.4.0
uses: docker/login-action@dbcb813823bdd20940b903addbd779551569679f # v4.6.0
with:
username: ${{ secrets.DOCKER_USERNAME }}
password: ${{ secrets.DOCKER_PASSWORD }}

- name: Log in to GitHub container registry
uses: docker/login-action@af1e73f918a031802d376d3c8bbc3fe56130a9b0 # v4.4.0
uses: docker/login-action@dbcb813823bdd20940b903addbd779551569679f # v4.6.0
with:
registry: ghcr.io
username: ${{ github.actor }}
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/_test.yml
Original file line number Diff line number Diff line change
Expand Up @@ -220,7 +220,7 @@ jobs:
!cancelled() && (
contains(inputs.commit_message, 'enable:test:very_long_running') ||
contains(github.event.pull_request.labels.*.name, 'enable:test:very_long_running') ||
(github.event_name == 'push' && startsWith(github.ref, 'refs/heads/release/v'))
((github.event_name == 'push' || github.event_name == 'workflow_dispatch') && startsWith(github.ref, 'refs/heads/release/v'))
)
uses: ./.github/actions/run-tests
with:
Expand Down
129 changes: 129 additions & 0 deletions CHANGELOG.md

Large diffs are not rendered by default.

2 changes: 1 addition & 1 deletion CLI_REFERENCE.md
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ $ aignostics [OPTIONS] COMMAND [ARGS]...
* `--show-completion`: Show completion for the current shell, to copy it or customize the installation.
* `--help`: Show this message and exit.

🔬 Aignostics Python SDK v1.4.0 - built with love in Berlin 🐻 // Python v3.14.3
🔬 Aignostics Python SDK v1.5.0 - built with love in Berlin 🐻 // Python v3.14.3

**Commands**:

Expand Down
25 changes: 25 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -31,6 +31,15 @@ Choose your preferred interface for working with the Aignostics Platform. Each i
| **Use when** | Running analyses on individual cases or small cohorts (1-20 slides) and exploring results interactively |
| **Get started** | <a href="https://aignostics.readthedocs.io/en/latest/get_started_launchpad.html">Get started with Launchpad</a> |

### 🌐 Console (Web Interface)

| | |
|---|---|
| **What it is** | Web interface at [platform.aignostics.com](https://platform.aignostics.com) for creating and monitoring analyses in your browser, combined with a single Python SDK command to upload your slides |
| **Best for** | Pathologists and researchers who prefer working in a browser and want the least software to install |
| **Use when** | Analyzing slides that are already on your computer or file server (1-100s of slides), without installing a desktop application |
| **Get started** | <a href="https://aignostics.readthedocs.io/en/latest/get_started_console.html">Get started with Console</a> |

### ⌨️ CLI (Command-Line Interface)

| | |
Expand All @@ -49,6 +58,18 @@ Choose your preferred interface for working with the Aignostics Platform. Each i
| **Use when** | Building custom analysis pipeline in Python for repeated usage and processing large datasets (10s-1000s of slides) |
| **Get started** | <a href="https://aignostics.readthedocs.io/en/latest/get_started_library.html">Get started with the Python Library</a> |

### 🔌 REST API (Direct HTTP)

| | |
|---|---|
| **What it is** | The Platform's REST API at `https://platform.aignostics.com/api/v1`, called directly over HTTPS |
| **Best for** | Developers integrating from another language or an existing pipeline, without depending on the Python SDK |
| **Use when** | Building a service or workflow outside Python, or generating your own client from the OpenAPI document |
| **Get started** | <a href="https://aignostics.readthedocs.io/en/latest/get_started_api.html">Get started with the API</a> |

<!-- Hidden for now: the MCP server is not yet usable for customers. Restore this row
together with the guide's toctree entry and conf.py exclusion.

### 🤖 MCP Server (AI Agent Integration)

| | |
Expand All @@ -57,6 +78,7 @@ Choose your preferred interface for working with the Aignostics Platform. Each i
| **Best for** | Users who want AI assistants to help with platform operations |
| **Use when** | Working with Claude Desktop or other MCP-compatible AI tools to manage datasets, submit runs, or query results |
| **Get started** | <a href="https://aignostics.readthedocs.io/en/latest/get_started_mcp.html">Get started with the MCP Server</a> |
-->

> 💡 Each interface has its own step-by-step guide (linked above) that includes installation. Launchpad and the CLI handle authentication for you; the Python Library guide covers credential setup.

Expand Down Expand Up @@ -296,6 +318,9 @@ The organization's Google Cloud Storage bucket stores uploaded files with automa
- **Cost efficiency**: Pay-per-use GPU provisioning, automatic storage cleanup, no idle infrastructure costs
- **Operational simplicity**: Python SDK abstracts all cloud complexity; IT teams manage access through existing identity systems

```{include} ../partials/_invite_your_team.md
```


## Further Reading

Expand Down
2 changes: 1 addition & 1 deletion VERSION
Original file line number Diff line number Diff line change
@@ -1 +1 @@
1.4.0
1.5.0
2 changes: 1 addition & 1 deletion aignostics.spec
Original file line number Diff line number Diff line change
Expand Up @@ -124,7 +124,7 @@ if is_darwin:
name='aignostics.app',
icon='logo.ico',
bundle_identifier='com.aignostics.launchpad',
version='1.4.0',
version='1.5.0',
info_plist={
'NSPrincipalClass': 'NSApplication',
'NSAppleScriptEnabled': False,
Expand Down
22 changes: 22 additions & 0 deletions docs/partials/README_main.md
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,15 @@ Choose your preferred interface for working with the Aignostics Platform. Each i
| **Use when** | Running analyses on individual cases or small cohorts (1-20 slides) and exploring results interactively |
| **Get started** | <a href="https://aignostics.readthedocs.io/en/latest/get_started_launchpad.html">Get started with Launchpad</a> |

### 🌐 Console (Web Interface)

| | |
|---|---|
| **What it is** | Web interface at [platform.aignostics.com](https://platform.aignostics.com) for creating and monitoring analyses in your browser, combined with a single Python SDK command to upload your slides |
| **Best for** | Pathologists and researchers who prefer working in a browser and want the least software to install |
| **Use when** | Analyzing slides that are already on your computer or file server (1-100s of slides), without installing a desktop application |
| **Get started** | <a href="https://aignostics.readthedocs.io/en/latest/get_started_console.html">Get started with Console</a> |

### ⌨️ CLI (Command-Line Interface)

| | |
Expand All @@ -33,6 +42,18 @@ Choose your preferred interface for working with the Aignostics Platform. Each i
| **Use when** | Building custom analysis pipeline in Python for repeated usage and processing large datasets (10s-1000s of slides) |
| **Get started** | <a href="https://aignostics.readthedocs.io/en/latest/get_started_library.html">Get started with the Python Library</a> |

### 🔌 REST API (Direct HTTP)

| | |
|---|---|
| **What it is** | The Platform's REST API at `https://platform.aignostics.com/api/v1`, called directly over HTTPS |
| **Best for** | Developers integrating from another language or an existing pipeline, without depending on the Python SDK |
| **Use when** | Building a service or workflow outside Python, or generating your own client from the OpenAPI document |
| **Get started** | <a href="https://aignostics.readthedocs.io/en/latest/get_started_api.html">Get started with the API</a> |

<!-- Hidden for now: the MCP server is not yet usable for customers. Restore this row
together with the guide's toctree entry and conf.py exclusion.

### 🤖 MCP Server (AI Agent Integration)

| | |
Expand All @@ -41,6 +62,7 @@ Choose your preferred interface for working with the Aignostics Platform. Each i
| **Best for** | Users who want AI assistants to help with platform operations |
| **Use when** | Working with Claude Desktop or other MCP-compatible AI tools to manage datasets, submit runs, or query results |
| **Get started** | <a href="https://aignostics.readthedocs.io/en/latest/get_started_mcp.html">Get started with the MCP Server</a> |
-->

> 💡 Each interface has its own step-by-step guide (linked above) that includes installation. Launchpad and the CLI handle authentication for you; the Python Library guide covers credential setup.

Expand Down
12 changes: 12 additions & 0 deletions docs/partials/README_platform.md
Original file line number Diff line number Diff line change
Expand Up @@ -37,6 +37,18 @@ manage your organization, applications, quotas, and users registered with the Ai
2. Administrators of your organization can invite additional users, manage the organisation and user specific quotas and monitor usage.
3. Both roles can trigger application runs.

#### Inviting and managing users

If you have the Administrator role, you invite colleagues to your organization directly from the Console:

1. Log in to the [Console](https://platform.aignostics.com) and select **Admin** in the sidebar, then open **Members**.
2. At the bottom of the Members page, enter the colleague's email address and assign a role:
- **Member** — a regular user who can run applications and manage their own runs.
- **Admin** — everything a member can do, plus inviting and managing other users.
3. Click **Send**. The colleague receives a signup email from `support@aignostics.com` inviting them to accept the invitation, set a password, and configure two-factor authentication.

The email address must use your organization's official domain (see the registration requirements above). Return to the Members page at any time to review your organization's users and their roles.

### Applications
An application is a fully automated advanced machine learning based workflow composed of one or more specific tasks (e.g. Tissue Quality Control, Tissue Segmentation, Cell Detection, Cell Classification and predictive analysis). Each application is designed for a particular analysis purpose (e.g. Tumor Micro Environment analysis or biomarker scoring). For each application we define input requirements, processing tasks and output formats.

Expand Down
Loading
Loading