Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
25 commits
Select commit Hold shift + click to select a range
b13c4ad
Modified workflow entry points to return a dictionary so that we can …
tieneupin Oct 27, 2025
51717c4
Migrated 'data_collection_group' feedback-callback block into its own…
tieneupin Oct 27, 2025
97fef8d
Migrated 'data_collection' feedback-callback block into its own workf…
tieneupin Oct 28, 2025
005f2c6
Merged recent changes from 'main' branch
tieneupin Oct 28, 2025
e5e4506
Updated tomo picking workflow to return a dict instead of a boolean
tieneupin Oct 28, 2025
add807f
Fixed wrong extraction of results from 'do_insert_data_collection' ca…
tieneupin Oct 28, 2025
00730cb
Added logs
tieneupin Oct 28, 2025
33d84a2
Migrated 'atlas_update' feedback-callback block to its own workflows …
tieneupin Oct 28, 2025
9034eb8
'do_create_ispyb_job' function in TransportManager should return a di…
tieneupin Oct 28, 2025
4591e76
Migrated 'processing_job' feedback-callback block to its own workflow…
tieneupin Oct 28, 2025
95512ff
'ExtendedRecord' class and '_register' set of functions can now be re…
tieneupin Oct 28, 2025
a71358c
Added logs
tieneupin Oct 28, 2025
b39fd01
Removed previous version restrictions on fastapi and stomp-py due to …
tieneupin Oct 28, 2025
424dafe
Added initial test for 'feedback_callback' block to check that entry …
tieneupin Oct 28, 2025
c0115ad
Added unit test for 'register_atlas_update'
tieneupin Oct 28, 2025
83dfb75
Annotated int only needed on the API endpoints that call 'register_gr…
tieneupin Oct 28, 2025
a42f8d9
Import module for test only after mocking out the functions used to g…
tieneupin Oct 28, 2025
ce56f3a
Added unit test for 'register_data_collection' workflow
tieneupin Oct 29, 2025
8057a5c
Removed unneeded 'if _transport_object:' logic block
tieneupin Oct 29, 2025
e83b703
Fixed broken test iterations for 'register_data_collection'
tieneupin Oct 29, 2025
62d4724
Added unit test for 'register_data_collection_group' workflow
tieneupin Oct 29, 2025
7de09ab
Some formatting
tieneupin Oct 29, 2025
cb94acb
Added unit test for 'register_processing_job' workflow
tieneupin Oct 29, 2025
55fda57
Removed unreachable code found by CodeQL
tieneupin Oct 29, 2025
bbf6956
'backports.entry_points_selectable' no longer needed as a package dep…
tieneupin Oct 29, 2025
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: 8 additions & 4 deletions pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,6 @@ classifiers = [
"Programming Language :: Python :: 3.12",
]
dependencies = [
"backports.entry_points_selectable",
"defusedxml", # For safely parsing XML files
"pydantic>=2",
"pydantic-settings",
Expand All @@ -55,13 +54,14 @@ developer = [
]
instrument-server = [
"aiohttp",
"fastapi[standard]<0.116.0",
"fastapi[standard-no-fastapi-cloud-cli]>=0.116.0",
"python-jose",
]
server = [
"aiohttp",
"cryptography",
"fastapi[standard]<0.116.0",
"fastapi[standard-no-fastapi-cloud-cli]>=0.116.0",
"graypy",
"ispyb>=10.2.4", # Responsible for setting requirements for SQLAlchemy and mysql-connector-python;
"jinja2",
"mrcfile",
Expand All @@ -73,7 +73,7 @@ server = [
"python-jose[cryptography]",
"sqlalchemy[postgresql]", # Add as explicit dependency
"sqlmodel",
"stomp-py<=8.1.0", # 8.1.1 (released 2024-04-06) doesn't work with our project
"stomp-py>8.1.1", # 8.1.1 (released 2024-04-06) doesn't work with our project
"zocalo>=1",
]
[project.urls]
Expand All @@ -100,14 +100,18 @@ GitHub = "https://github.com/DiamondLightSource/python-murfey"
[project.entry-points."murfey.config.extraction"]
"murfey_machine" = "murfey.util.config:get_extended_machine_config"
[project.entry-points."murfey.workflows"]
"atlas_update" = "murfey.workflows.register_atlas_update:run"
"clem.align_and_merge" = "murfey.workflows.clem.align_and_merge:submit_cluster_request"
"clem.process_raw_lifs" = "murfey.workflows.clem.process_raw_lifs:zocalo_cluster_request"
"clem.process_raw_tiffs" = "murfey.workflows.clem.process_raw_tiffs:zocalo_cluster_request"
"clem.register_align_and_merge_result" = "murfey.workflows.clem.register_align_and_merge_results:register_align_and_merge_result"
"clem.register_preprocessing_result" = "murfey.workflows.clem.register_preprocessing_results:run"
"data_collection" = "murfey.workflows.register_data_collection:run"
"data_collection_group" = "murfey.workflows.register_data_collection_group:run"
"pato" = "murfey.workflows.notifications:notification_setup"
"picked_particles" = "murfey.workflows.spa.picking:particles_picked"
"picked_tomogram" = "murfey.workflows.tomo.picking:picked_tomogram"
"processing_job" = "murfey.workflows.register_processing_job:run"
"spa.flush_spa_preprocess" = "murfey.workflows.spa.flush_spa_preprocess:flush_spa_preprocess"

[tool.setuptools]
Expand Down
3 changes: 1 addition & 2 deletions src/murfey/client/context.py
Original file line number Diff line number Diff line change
@@ -1,11 +1,10 @@
from __future__ import annotations

import logging
from importlib.metadata import entry_points
from pathlib import Path
from typing import Any, Dict, List, NamedTuple

from backports.entry_points_selectable import entry_points

from murfey.client.instance_environment import MurfeyInstanceEnvironment

logger = logging.getLogger("murfey.client.context")
Expand Down
16 changes: 7 additions & 9 deletions src/murfey/server/api/clem.py
Original file line number Diff line number Diff line change
Expand Up @@ -3,12 +3,14 @@
import re
import traceback
from ast import literal_eval
from importlib.metadata import EntryPoint # type hinting only
from importlib.metadata import (
EntryPoint, # type hinting only
entry_points,
)
from logging import getLogger
from pathlib import Path
from typing import Literal, Optional, Type, Union

from backports.entry_points_selectable import entry_points
from fastapi import APIRouter
from pydantic import BaseModel, field_validator
from sqlalchemy.exc import NoResultFound
Expand Down Expand Up @@ -752,9 +754,7 @@ def process_raw_lifs(
try:
# Try and load relevant Murfey workflow
workflow: EntryPoint = list(
entry_points().select(
group="murfey.workflows", name="clem.process_raw_lifs"
)
entry_points(group="murfey.workflows", name="clem.process_raw_lifs")
)[0]
except IndexError:
raise RuntimeError("The relevant Murfey workflow was not found")
Expand Down Expand Up @@ -792,9 +792,7 @@ def process_raw_tiffs(
try:
# Try and load relevant Murfey workflow
workflow: EntryPoint = list(
entry_points().select(
group="murfey.workflows", name="clem.process_raw_tiffs"
)
entry_points(group="murfey.workflows", name="clem.process_raw_tiffs")
)[0]
except IndexError:
raise RuntimeError("The relevant Murfey workflow was not found")
Expand Down Expand Up @@ -853,7 +851,7 @@ def align_and_merge_stacks(
try:
# Try and load relevant Murfey workflow
workflow: EntryPoint = list(
entry_points().select(group="murfey.workflows", name="clem.align_and_merge")
entry_points(group="murfey.workflows", name="clem.align_and_merge")
)[0]
except IndexError:
raise RuntimeError("The relevant Murfey workflow was not found")
Expand Down
Loading