smartem_backend.api_client
#
Members
Handles conversions between EPU data model and API request/response models. |
|
SmartEM API client that provides synchronous HTTP interface. |
- class smartem_backend.api_client.EntityConverter[source]#
Handles conversions between EPU data model and API request/response models. Separating this conversion logic keeps the main client code cleaner.
- static acquisition_to_request(entity: AcquisitionData) AcquisitionCreateRequest [source]#
Convert EPU session data to acquisition request model
- static grid_to_request(entity: GridData, lowmag: bool = False) GridCreateRequest [source]#
Convert Grid data to grid request model
- static gridsquare_to_request(entity: GridSquareData, lowmag: bool = False) GridSquareCreateRequest [source]#
Convert GridSquareData to grid square request model
- static foilhole_to_request(entity: FoilHoleData) FoilHoleCreateRequest [source]#
Convert FoilHoleData to foil hole request model
- static micrograph_to_request(entity: MicrographData) MicrographCreateRequest [source]#
Convert MicrographData to micrograph request model
- static atlas_to_request(entity: AtlasData) AtlasCreateRequest [source]#
Convert AtlasData to atlas request model
- class smartem_backend.api_client.SmartEMAPIClient(base_url: str, timeout: float = 10.0, logger=None)[source]#
SmartEM API client that provides synchronous HTTP interface.
This client handles all API communication with the SmartEM Core API, provides data conversion between EPU data models and API request/response models, and maintains a cache of entity IDs.
Initialize the SmartEM API client
- Parameters:
base_url – Base URL for the API
timeout – Request timeout in seconds
logger – Optional custom logger instance
- create_acquisition(acquisition: AcquisitionData) AcquisitionResponse [source]#
Create a new acquisition
- update_acquisition(acquisition: AcquisitionData) AcquisitionResponse [source]#
Update an acquisition
- get_acquisition_grids(acquisition_uuid: str) list[GridResponse] [source]#
Get all grids for a specific acquisition
- create_acquisition_grid(grid: GridData) GridResponse [source]#
Create a new grid for a specific acquisition
- get_atlas_tiles_by_atlas(atlas_uuid: str) list[AtlasTileResponse] [source]#
Get all tiles for a specific atlas
- create_atlas_tile_for_atlas(tile: AtlasTileData) AtlasTileResponse [source]#
Create a new tile for a specific atlas
- link_atlas_tile_and_gridsquare(gridsquare_position: AtlasTileGridSquarePositionData) AtlasTileGridSquarePositionResponse [source]#
Link a grid square to a tile
- update_gridsquare(gridsquare: GridSquareData, lowmag: bool = False) GridSquareResponse [source]#
Update a grid square
- get_grid_gridsquares(grid_uuid: str) list[GridSquareResponse] [source]#
Get all grid squares for a specific grid
- create_grid_gridsquare(gridsquare: GridSquareData, lowmag: bool = False) GridSquareResponse [source]#
Create a new grid square for a specific grid
- get_gridsquare_foilholes(gridsquare_uuid: str) list[FoilHoleResponse] [source]#
Get all foil holes for a specific grid square
- create_gridsquare_foilhole(foilhole: FoilHoleData) FoilHoleResponse [source]#
Create a new foil hole for a specific grid square