{ "cells": [ { "metadata": { "ExecuteTime": { "end_time": "2025-03-14T12:34:36.688448Z", "start_time": "2025-03-14T12:34:36.274011Z" } }, "cell_type": "code", "source": [ "import json\n", "\n", "#from nbclient.client import timestamp\n", "\n", "import backend.aareDBclient as aareDBclient\n", "from aareDBclient.rest import ApiException\n", "from pprint import pprint\n", "\n", "#from app.data.data import sample\n", "\n", "#from aareDBclient import SamplesApi, ShipmentsApi, PucksApi\n", "#from aareDBclient.models import SampleEventCreate, SetTellPosition\n", "#from examples.examples import api_response\n", "\n", "print(aareDBclient.__version__)\n", "\n", "configuration = aareDBclient.Configuration(\n", " #host = \"https://mx-aare-test.psi.ch:1492\"\n", " host = \"https://127.0.0.1:8000\"\n", ")\n", "\n", "print(configuration.host)\n", "\n", "configuration.verify_ssl = False # Disable SSL verification\n", "#print(dir(SamplesApi))" ], "id": "3b7c27697a4d5c83", "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "0.1.0a25\n", "https://127.0.0.1:8000\n" ] } ], "execution_count": 1 }, { "metadata": {}, "cell_type": "code", "outputs": [], "execution_count": null, "source": [ "## Fetch all Shipments, list corresponding dewars and pucks\n", "\n", "from datetime import date, datetime\n", "from aareDBclient import ShipmentsApi, SamplesApi, GridScanParamers\n", "from aareDBclient.models import Shipment\n", "\n", "with aareDBclient.ApiClient(configuration) as api_client:\n", " api_instance = aareDBclient.ShipmentsApi(api_client)\n", "\n", " try:\n", " # Fetch all shipments\n", " all_shipments_response = api_instance.fetch_shipments_shipments_get()\n", "\n", " # Print shipment names and their associated puck names\n", " for shipment in all_shipments_response:\n", " print(f\"Shipment ID: {shipment.id}, Shipment Name: {shipment.shipment_name}\")\n", " if hasattr(shipment, 'dewars') and shipment.dewars: # Ensure 'dewars' exists\n", " for dewar in shipment.dewars:\n", " print(f\" Dewar ID: {dewar.id}, Dewar Name: {dewar.dewar_name}, Dewar Unique ID: {dewar.unique_id} \")\n", "\n", " if hasattr(dewar, 'pucks') and dewar.pucks: # Ensure 'pucks' exists\n", " for puck in dewar.pucks:\n", " print(f\" Puck ID: {puck.id}, Puck Name: {puck.puck_name}\")\n", " else:\n", " print(\" No pucks found in this dewar.\")\n", " else:\n", " print(\" No dewars found in this shipment.\")\n", "\n", " except ApiException as e:\n", " print(f\"Exception when calling ShipmentsApi->fetch_shipments_shipments_get: {e}\")\n" ], "id": "4955b858f2cef93e" }, { "metadata": { "ExecuteTime": { "end_time": "2025-02-25T15:47:34.956061Z", "start_time": "2025-02-25T15:47:34.941372Z" } }, "cell_type": "code", "source": [ "from datetime import date\n", "from aareDBclient import LogisticsApi\n", "from aareDBclient.models import LogisticsEventCreate # Import required model\n", "\n", "with aareDBclient.ApiClient(configuration) as api_client:\n", " api_instance = aareDBclient.LogisticsApi(api_client)\n", "\n", " try:\n", " # Create payload using the required model\n", " logistics_event_create = LogisticsEventCreate(\n", " dewar_qr_code='923db239427869be',\n", " location_qr_code='A2-X06SA',\n", " transaction_type='incoming',\n", " timestamp=date.today() # Adjust if the API expects datetime\n", " )\n", "\n", " # Pass the payload to the API function\n", " api_response = api_instance.scan_dewar_logistics_dewar_scan_post(\n", " logistics_event_create=logistics_event_create # Pass as an object\n", " )\n", " print(\"API Response:\", api_response)\n", "\n", " except ApiException as e:\n", " print(f\"Exception when calling LogisticsApi->scan_dewar_logistics_dewar_scan_post: {e}\")\n", "\n", " try:\n", " # Create payload using the required model\n", " logistics_event_create = LogisticsEventCreate(\n", " dewar_qr_code='923db239427869be',\n", " location_qr_code='A2-X06SA',\n", " transaction_type='refill',\n", " timestamp=date.today() # Adjust if the API expects datetime\n", " )\n", "\n", " # Pass the payload to the API function\n", " api_response = api_instance.scan_dewar_logistics_dewar_scan_post(\n", " logistics_event_create=logistics_event_create # Pass as an object\n", " )\n", " print(\"API Response:\", api_response)\n", "\n", " except ApiException as e:\n", " print(f\"Exception when calling LogisticsApi->scan_dewar_logistics_dewar_scan_post: {e}\")\n", "\n", " try:\n", " # Create payload using the required model\n", " logistics_event_create = LogisticsEventCreate(\n", " dewar_qr_code='923db239427869be',\n", " location_qr_code='X06DA-Beamline',\n", " transaction_type='beamline',\n", " timestamp=date.today() # Adjust if the API expects datetime\n", " )\n", "\n", " # Pass the payload to the API function\n", " api_response = api_instance.scan_dewar_logistics_dewar_scan_post(\n", " logistics_event_create=logistics_event_create # Pass as an object\n", " )\n", " print(\"API Response:\", api_response)\n", "\n", " except ApiException as e:\n", " print(f\"Exception when calling LogisticsApi->scan_dewar_logistics_dewar_scan_post: {e}\")\n" ], "id": "8fd3638bffaecd23", "outputs": [ { "ename": "TypeError", "evalue": "ApiClient.call_api() got an unexpected keyword argument 'path_params'", "output_type": "error", "traceback": [ "\u001B[0;31m---------------------------------------------------------------------------\u001B[0m", "\u001B[0;31mTypeError\u001B[0m Traceback (most recent call last)", "Cell \u001B[0;32mIn[43], line 19\u001B[0m\n\u001B[1;32m 15\u001B[0m \u001B[38;5;28;01mtry\u001B[39;00m:\n\u001B[1;32m 16\u001B[0m \u001B[38;5;28;01mwith\u001B[39;00m \u001B[38;5;28mopen\u001B[39m(file_path, \u001B[38;5;124m\"\u001B[39m\u001B[38;5;124mrb\u001B[39m\u001B[38;5;124m\"\u001B[39m) \u001B[38;5;28;01mas\u001B[39;00m file_data:\n\u001B[1;32m 17\u001B[0m \u001B[38;5;66;03m# Use the low-level call_api method; note that the files parameter here is\u001B[39;00m\n\u001B[1;32m 18\u001B[0m \u001B[38;5;66;03m# a dictionary with key matching the FastAPI parameter name.\u001B[39;00m\n\u001B[0;32m---> 19\u001B[0m response \u001B[38;5;241m=\u001B[39m \u001B[43mapi_client\u001B[49m\u001B[38;5;241;43m.\u001B[39;49m\u001B[43mcall_api\u001B[49m\u001B[43m(\u001B[49m\n\u001B[1;32m 20\u001B[0m \u001B[43m \u001B[49m\u001B[38;5;124;43mf\u001B[39;49m\u001B[38;5;124;43m\"\u001B[39;49m\u001B[38;5;124;43m/\u001B[39;49m\u001B[38;5;132;43;01m{\u001B[39;49;00m\u001B[43msample_id\u001B[49m\u001B[38;5;132;43;01m}\u001B[39;49;00m\u001B[38;5;124;43m/upload_images\u001B[39;49m\u001B[38;5;124;43m\"\u001B[39;49m\u001B[43m,\u001B[49m\n\u001B[1;32m 21\u001B[0m \u001B[43m \u001B[49m\u001B[38;5;124;43m\"\u001B[39;49m\u001B[38;5;124;43mPOST\u001B[39;49m\u001B[38;5;124;43m\"\u001B[39;49m\u001B[43m,\u001B[49m\n\u001B[1;32m 22\u001B[0m \u001B[43m \u001B[49m\u001B[43mpath_params\u001B[49m\u001B[38;5;241;43m=\u001B[39;49m\u001B[43m{\u001B[49m\u001B[38;5;124;43m\"\u001B[39;49m\u001B[38;5;124;43msample_id\u001B[39;49m\u001B[38;5;124;43m\"\u001B[39;49m\u001B[43m:\u001B[49m\u001B[43m \u001B[49m\u001B[43msample_id\u001B[49m\u001B[43m}\u001B[49m\u001B[43m,\u001B[49m\n\u001B[1;32m 23\u001B[0m \u001B[43m \u001B[49m\u001B[43mfiles\u001B[49m\u001B[38;5;241;43m=\u001B[39;49m\u001B[43m{\u001B[49m\u001B[38;5;124;43m\"\u001B[39;49m\u001B[38;5;124;43muploaded_file\u001B[39;49m\u001B[38;5;124;43m\"\u001B[39;49m\u001B[43m:\u001B[49m\u001B[43m \u001B[49m\u001B[43m(\u001B[49m\u001B[43mfilename\u001B[49m\u001B[43m,\u001B[49m\u001B[43m \u001B[49m\u001B[43mfile_data\u001B[49m\u001B[43m,\u001B[49m\u001B[43m \u001B[49m\u001B[43mmime_type\u001B[49m\u001B[43m)\u001B[49m\u001B[43m}\u001B[49m\n\u001B[1;32m 24\u001B[0m \u001B[43m \u001B[49m\u001B[43m)\u001B[49m\n\u001B[1;32m 25\u001B[0m \u001B[38;5;28mprint\u001B[39m(\u001B[38;5;124m\"\u001B[39m\u001B[38;5;124mAPI Response:\u001B[39m\u001B[38;5;124m\"\u001B[39m)\n\u001B[1;32m 26\u001B[0m \u001B[38;5;28mprint\u001B[39m(response)\n", "\u001B[0;31mTypeError\u001B[0m: ApiClient.call_api() got an unexpected keyword argument 'path_params'" ] } ], "execution_count": 43 }, { "metadata": { "ExecuteTime": { "end_time": "2025-03-03T10:06:33.111482Z", "start_time": "2025-03-03T10:06:33.082367Z" } }, "cell_type": "code", "source": [ "# Get a list of pucks that are \"at the beamline\"\n", "\n", "with aareDBclient.ApiClient(configuration) as api_client:\n", " # Create an instance of the API class\n", " api_instance = aareDBclient.PucksApi(api_client)\n", " get_pucks_at_beamline = aareDBclient.PucksApi(api_client)\n", "\n", " try:\n", " # Create Return Address\n", " api_response = api_instance.get_pucks_by_slot_pucks_slot_slot_identifier_get(slot_identifier='X06DA')\n", " print(\"The response of PucksApi->get_pucks_by_slot_pucks_slot_slot_identifier_get:\\n\")\n", " pprint(api_response)\n", "\n", " except ApiException as e:\n", " print(\"Exception when calling PucksApi->get_pucks_by_slot_pucks_slot_slot_identifier_get: %s\\n\" % e)" ], "id": "9cf3457093751b61", "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "The response of PucksApi->get_pucks_by_slot_pucks_slot_slot_identifier_get:\n", "\n", "[PuckWithTellPosition(id=1, puck_name='PUCK-001', puck_type='Unipuck', puck_location_in_dewar=1, dewar_id=1, dewar_name='Dewar One', pgroup='p20001', samples=None, tell_position='A2'),\n", " PuckWithTellPosition(id=2, puck_name='PUCK002', puck_type='Unipuck', puck_location_in_dewar=2, dewar_id=1, dewar_name='Dewar One', pgroup='p20001', samples=None, tell_position='A1'),\n", " PuckWithTellPosition(id=3, puck_name='PUCK003', puck_type='Unipuck', puck_location_in_dewar=3, dewar_id=1, dewar_name='Dewar One', pgroup='p20001', samples=None, tell_position='F2'),\n", " PuckWithTellPosition(id=4, puck_name='PUCK004', puck_type='Unipuck', puck_location_in_dewar=4, dewar_id=1, dewar_name='Dewar One', pgroup='p20001', samples=None, tell_position=None),\n", " PuckWithTellPosition(id=5, puck_name='PUCK005', puck_type='Unipuck', puck_location_in_dewar=5, dewar_id=1, dewar_name='Dewar One', pgroup='p20001', samples=None, tell_position=None),\n", " PuckWithTellPosition(id=6, puck_name='PUCK006', puck_type='Unipuck', puck_location_in_dewar=6, dewar_id=1, dewar_name='Dewar One', pgroup='p20001', samples=None, tell_position='F1'),\n", " PuckWithTellPosition(id=7, puck_name='PUCK007', puck_type='Unipuck', puck_location_in_dewar=7, dewar_id=1, dewar_name='Dewar One', pgroup='p20001', samples=None, tell_position=None)]\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "/Library/Frameworks/Python.framework/Versions/3.12/lib/python3.12/site-packages/urllib3/connectionpool.py:1097: InsecureRequestWarning: Unverified HTTPS request is being made to host '127.0.0.1'. Adding certificate verification is strongly advised. See: https://urllib3.readthedocs.io/en/latest/advanced-usage.html#tls-warnings\n", " warnings.warn(\n" ] } ], "execution_count": 2 }, { "metadata": { "ExecuteTime": { "end_time": "2025-02-26T12:04:33.644201Z", "start_time": "2025-02-26T12:04:33.625894Z" } }, "cell_type": "code", "source": [ "from aareDBclient import SetTellPosition, SetTellPositionRequest\n", "\n", "with aareDBclient.ApiClient(configuration) as api_client:\n", " # Create an instance of the API class\n", " api_instance = aareDBclient.PucksApi(api_client)\n", "\n", " # Payload with SetTellPosition objects\n", " payload = SetTellPositionRequest(\n", " tell=\"X06DA\",\n", " #pucks=[\n", " # SetTellPosition(puck_name='PSIMX074', segment='B', puck_in_segment=1),\n", " # SetTellPosition(puck_name='PSIMX080', segment='B', puck_in_segment=2),\n", " # SetTellPosition(puck_name='PSIMX081', segment='C', puck_in_segment=3),\n", " # SetTellPosition(puck_name='PSIMX084', segment='C', puck_in_segment=4),\n", " # SetTellPosition(puck_name='PSIMX104', segment='E', puck_in_segment=5),\n", " # SetTellPosition(puck_name='PSIMX107', segment='E', puck_in_segment=1),\n", " # SetTellPosition(puck_name='PSIMX117', segment='F', puck_in_segment=2),\n", " #]\n", " #pucks=[\n", " # SetTellPosition(puck_name='PSIMX074', segment='F', puck_in_segment=1),\n", " # SetTellPosition(puck_name='PSIMX080', segment='F', puck_in_segment=2),\n", " # SetTellPosition(puck_name='PSIMX107', segment='A', puck_in_segment=1),\n", " # SetTellPosition(puck_name='PSIMX117', segment='A', puck_in_segment=2),\n", " #]\n", " pucks=[\n", " SetTellPosition(puck_name='PUCK006', segment='F', puck_in_segment=1),\n", " SetTellPosition(puck_name='PUCK003', segment='F', puck_in_segment=2),\n", " SetTellPosition(puck_name='PUCK002', segment='A', puck_in_segment=1),\n", " SetTellPosition(puck_name='PUCK001', segment='A', puck_in_segment=2),\n", " ]\n", " #pucks = []\n", " )\n", "\n", " # Call the PUT method to update the tell_position\n", " try:\n", " api_response = api_instance.set_tell_positions_pucks_set_tell_positions_put(\n", " set_tell_position_request=payload\n", " ) # Pass the entire payload as a single parameter\n", "\n", " print(\"The response of PucksApi->pucks_puck_id_tell_position_put:\\n\")\n", " pprint(api_response)\n", "\n", " except Exception as e:\n", " print(f\"Exception when calling PucksApi: {e}\")\n" ], "id": "37e3eac6760150ee", "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "The response of PucksApi->pucks_puck_id_tell_position_put:\n", "\n", "[{'message': 'Tell position updated successfully.',\n", " 'new_position': 'F1',\n", " 'previous_position': None,\n", " 'puck_name': 'PUCK006',\n", " 'status': 'updated',\n", " 'tell': 'X06DA'},\n", " {'message': 'Tell position updated successfully.',\n", " 'new_position': 'F2',\n", " 'previous_position': None,\n", " 'puck_name': 'PUCK003',\n", " 'status': 'updated',\n", " 'tell': 'X06DA'},\n", " {'message': 'Tell position updated successfully.',\n", " 'new_position': 'A1',\n", " 'previous_position': None,\n", " 'puck_name': 'PUCK002',\n", " 'status': 'updated',\n", " 'tell': 'X06DA'},\n", " {'message': 'Tell position updated successfully.',\n", " 'new_position': 'A2',\n", " 'previous_position': None,\n", " 'puck_name': 'PUCK001',\n", " 'status': 'updated',\n", " 'tell': 'X06DA'}]\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "/Library/Frameworks/Python.framework/Versions/3.12/lib/python3.12/site-packages/urllib3/connectionpool.py:1097: InsecureRequestWarning: Unverified HTTPS request is being made to host '127.0.0.1'. Adding certificate verification is strongly advised. See: https://urllib3.readthedocs.io/en/latest/advanced-usage.html#tls-warnings\n", " warnings.warn(\n" ] } ], "execution_count": 78 }, { "metadata": { "ExecuteTime": { "end_time": "2025-03-07T12:40:09.769132Z", "start_time": "2025-03-07T12:40:09.752103Z" } }, "cell_type": "code", "source": [ "# Get puck_id puck_name sample_id sample_name of pucks in the tell\n", "\n", "with aareDBclient.ApiClient(configuration) as api_client:\n", " # Create an instance of the API class\n", " api_instance = aareDBclient.PucksApi(api_client)\n", "\n", " # GET request: Fetch all pucks in the tell\n", " try:\n", " # Call the API method to fetch pucks\n", " all_pucks_response = api_instance.get_pucks_with_tell_position_pucks_with_tell_position_get(tell='X06DA')\n", "\n", " # Debug response structure by printing it in JSON format\n", " formatted_response = json.dumps(\n", " [p.to_dict() for p in all_pucks_response], # Assuming the API response can be converted to dicts\n", " indent=4 # Use indentation for readability\n", " )\n", " #print(\"The response of PucksApi->get_all_pucks_in_tell (formatted):\\n\")\n", " #print(formatted_response)\n", "\n", " # Iterate through each puck and print information\n", " for p in all_pucks_response:\n", " print(f\"Puck ID: {p.id}, Puck Name: {p.puck_name}\")\n", "\n", " ## Check if the puck has any samples\n", " if hasattr(p, 'samples') and p.samples: # Ensure 'samples' attribute exists and is not empty\n", " for sample in p.samples:\n", " print(f\" Sample ID: {sample.id}, Sample Name: {sample.sample_name}, Position: {sample.position}, Mount count: {sample.mount_count}\")\n", " else:\n", " print(\" No samples found in this puck.\")\n", "\n", " except ApiException as e:\n", " print(\"Exception when calling PucksApi->get_all_pucks_in_tell: %s\\n\" % e)" ], "id": "51578d944878db6a", "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ "/Library/Frameworks/Python.framework/Versions/3.12/lib/python3.12/site-packages/urllib3/connectionpool.py:1097: InsecureRequestWarning: Unverified HTTPS request is being made to host '127.0.0.1'. Adding certificate verification is strongly advised. See: https://urllib3.readthedocs.io/en/latest/advanced-usage.html#tls-warnings\n", " warnings.warn(\n" ] } ], "execution_count": 2 }, { "metadata": { "ExecuteTime": { "end_time": "2025-03-07T20:50:06.182786Z", "start_time": "2025-03-07T20:50:06.165153Z" } }, "cell_type": "code", "source": [ "from aareDBclient import SampleEventCreate\n", "\n", "# Create an event for a sample\n", "\n", "with aareDBclient.ApiClient(configuration) as api_client:\n", " # Instance of the API client\n", " api_instance = aareDBclient.SamplesApi(api_client)\n", " sample_id=258\n", " try:\n", " # Define the payload with only `event_type`\n", " sample_event_create = SampleEventCreate(\n", " sample_id=sample_id,\n", " event_type=\"Centering\" # Valid event type\n", " )\n", "\n", " # Debug the payload before sending\n", " print(\"Payload being sent to API:\")\n", " print(sample_event_create.json()) # Ensure it matches `SampleEventCreate`\n", "\n", " # Call the API\n", " api_response = api_instance.create_sample_event_samples_samples_sample_id_events_post(\n", " sample_id=sample_id, # Ensure this matches a valid sample ID in the database\n", " sample_event_create=sample_event_create\n", " )\n", "\n", " print(\"API response:\")\n", " #pprint(api_response)\n", "\n", " for p in api_response:\n", " print(p)\n", "\n", " except ApiException as e:\n", " print(\"Exception when calling post_sample_event:\")\n", " print(f\"Status Code: {e.status}\")\n", " if e.body:\n", " print(f\"Error Details: {e.body}\")\n" ], "id": "4a0665f92756b486", "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Payload being sent to API:\n", "{\"event_type\":\"Centering\"}\n", "API response:\n", "('id', 258)\n", "('sample_name', 'Sample258')\n", "('position', 14)\n", "('puck_id', 26)\n", "('crystalname', None)\n", "('proteinname', None)\n", "('positioninpuck', None)\n", "('priority', None)\n", "('comments', None)\n", "('data_collection_parameters', None)\n", "('events', [SampleEventResponse(id=492, sample_id=258, event_type='Mounting', timestamp=datetime.datetime(2025, 3, 6, 13, 50)), SampleEventResponse(id=493, sample_id=258, event_type='Unmounting', timestamp=datetime.datetime(2025, 3, 6, 13, 50, 50)), SampleEventResponse(id=573, sample_id=258, event_type='Centering', timestamp=datetime.datetime(2025, 3, 7, 21, 50, 6))])\n", "('mount_count', 0)\n", "('unmount_count', 0)\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "/Library/Frameworks/Python.framework/Versions/3.12/lib/python3.12/site-packages/urllib3/connectionpool.py:1097: InsecureRequestWarning: Unverified HTTPS request is being made to host '127.0.0.1'. Adding certificate verification is strongly advised. See: https://urllib3.readthedocs.io/en/latest/advanced-usage.html#tls-warnings\n", " warnings.warn(\n" ] } ], "execution_count": 46 }, { "metadata": {}, "cell_type": "code", "outputs": [], "execution_count": null, "source": [ "### not working\n", "with aareDBclient.ApiClient(configuration) as api_client:\n", " # Create an instance of the Samples API class\n", " api_instance = aareDBclient.SamplesApi(api_client)\n", "\n", " try:\n", " # Get the last sample event\n", " last_event_response = api_instance.get_last_sample_event_samples_samples_sample_id_events_last_get(27)\n", " print(\"The response of get_last_sample_event:\\n\")\n", " pprint(last_event_response)\n", "\n", " except ApiException as e:\n", " print(\"Exception when calling get_last_sample_event: %s\\n\" % e)\n" ], "id": "f1d171700d6cf7fe" }, { "metadata": { "ExecuteTime": { "end_time": "2025-03-14T12:37:36.649779Z", "start_time": "2025-03-14T12:37:36.597340Z" } }, "cell_type": "code", "source": [ "# Post multiple images to the sample database\n", "\n", "import os\n", "import mimetypes\n", "import requests\n", "\n", "# List of file paths to the images you want to upload\n", "#file_paths = [\n", "# \"backend/tests/sample_image/0_200.jpg\",\n", "# \"backend/tests/sample_image/90_200.jpg\",\n", "# \"backend/tests/sample_image/0_700.jpg\",\n", "# \"backend/tests/sample_image/90_700.jpg\",\n", "#]\n", "\n", "file_paths = [\"backend/tests/sample_image/mount.jpeg.jpg\"]\n", "\n", "\n", "# Sample ID (ensure this exists on your backend)\n", "sample_id = 299\n", "\n", "# Base URL for the upload endpoint\n", "url = f\"https://127.0.0.1:8000/samples/{sample_id}/upload-images\"\n", "\n", "# Iterate through each file and upload it\n", "for file_path in file_paths:\n", " # Determine file name and MIME type\n", " filename = os.path.basename(file_path)\n", " mime_type, _ = mimetypes.guess_type(file_path)\n", " if mime_type is None:\n", " mime_type = \"application/octet-stream\"\n", "\n", " # Open the file for uploading\n", " with open(file_path, \"rb\") as file_data:\n", " files = {\n", " # Use key \"uploaded_file\" as required by your API\n", " \"uploaded_file\": (filename, file_data, mime_type)\n", " }\n", " headers = {\n", " \"accept\": \"application/json\"\n", " }\n", "\n", " # Send the POST request\n", " print(f\"Uploading {filename}...\")\n", " response = requests.post(url, headers=headers, files=files, verify=False)\n", "\n", " # Check the API response\n", " print(f\"API Response for {filename}:\")\n", " print(response.status_code)\n", " try:\n", " print(response.json())\n", " except Exception:\n", " print(response.text)\n" ], "id": "11f62976d2e7d9b1", "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Uploading mount.jpeg.jpg...\n", "API Response for mount.jpeg.jpg:\n", "404\n", "{'detail': 'Sample not found'}\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "/Library/Frameworks/Python.framework/Versions/3.12/lib/python3.12/site-packages/urllib3/connectionpool.py:1097: InsecureRequestWarning: Unverified HTTPS request is being made to host '127.0.0.1'. Adding certificate verification is strongly advised. See: https://urllib3.readthedocs.io/en/latest/advanced-usage.html#tls-warnings\n", " warnings.warn(\n" ] } ], "execution_count": 2 }, { "metadata": {}, "cell_type": "code", "outputs": [], "execution_count": null, "source": "help(api_instance.upload_sample_images_samples_samples_sample_id_upload_images_post)", "id": "cb1b99e6327fff84" }, { "metadata": { "ExecuteTime": { "end_time": "2025-03-11T15:05:58.348843Z", "start_time": "2025-03-11T15:05:58.331240Z" } }, "cell_type": "code", "source": [ "# post experiment results to sample database\n", "\n", "from aareDBclient.models import (\n", " ExperimentParametersCreate,\n", " RotationParameters,\n", " BeamlineParameters,\n", " GridScanParamers\n", ")\n", "\n", "\n", "# Build the nested parameters\n", "rotation = RotationParameters(\n", " omegaStart_deg=0.0,\n", " omegaStep=90.0,\n", " phi=10.0,\n", " chi=0.0,\n", " numberOfImages=4,\n", " exposureTime_s=0.02\n", ")\n", "\n", "#gridscan = GridScanParamers(\n", "# xStart=0.0,\n", "# xStep=0.1,\n", "# yStart=0.0,\n", "# yStep= 0.1,\n", "# zStart=0.0,\n", "# zStep=0.0,\n", "# numberOfImages=4600,\n", "# exposureTime_s=0.001\n", "#)\n", "\n", "# If your client code requires you to build a detector model,\n", "# you can either use a Detector model or pass a dictionary.\n", "# Here we pass a dictionary.\n", "detector_data = {\n", " \"manufacturer\": \"DECTRIS\",\n", " \"model\": \"PILATUS4 2M\",\n", " \"type\": \"photon-counting\",\n", " \"serialNumber\": \"16684dscsd668468\",\n", " \"detectorDistance_mm\": 95.0,\n", " \"beamCenterX_px\": 512.0,\n", " \"beamCenterY_px\": 512.0,\n", " \"pixelSizeX_um\": 150.0,\n", " \"pixelSizeY_um\": 150.0,\n", "}\n", "\n", "beamline_params = BeamlineParameters(\n", " synchrotron=\"Swiss Light Source\",\n", " beamline=\"PXIII\",\n", " detector=detector_data,\n", " wavelength=1.0,\n", " ringCurrent_A=0.0,\n", " ringMode=\"Machine Down\",\n", " monochromator=\"Si111\",\n", " transmission=1.00,\n", " focusingOptic=\"Kirkpatrick-Baez\",\n", " beamlineFluxAtSample_ph_s=0,\n", " beamSizeWidth=30.0,\n", " beamSizeHeight=30.0,\n", " rotation=rotation # Optional nested parameter\n", " #gridScan=gridscan\n", " # gridScan and jet are optional and can be added similarly\n", ")\n", "\n", "# Prepare the experiment parameters payload.\n", "# Note that the run_number will be set on the server side, so you can leave\n", "# it out or set it to a dummy value if your client model requires it.\n", "experiment_params_payload = ExperimentParametersCreate(\n", " # run_number can be omitted/ignored if computed on the server\n", " beamline_parameters=beamline_params,\n", " sample_id=299 # change sample_id to an existing sample in your database\n", ")\n", "\n", "# Now, use the API instance to send the POST request\n", "with aareDBclient.ApiClient(configuration) as api_client:\n", " api_instance = aareDBclient.SamplesApi(api_client)\n", "\n", " try:\n", " # Call the endpoint. The endpoint path expects the sample_id.\n", " api_response = api_instance.create_experiment_parameters_for_sample_samples_samples_sample_id_experiment_parameters_post(\n", " sample_id=experiment_params_payload.sample_id,\n", " experiment_parameters_create=experiment_params_payload\n", ")\n", "\n", " print(\"API Response:\")\n", " print(api_response)\n", " except ApiException as e:\n", " print(\"Exception when calling ExperimentParametersApi->create_experiment_parameters_for_sample:\")\n", " print(e)\n" ], "id": "421ba0710f29a5fa", "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "API Response:\n", "run_number=1 beamline_parameters=BeamlineParameters(synchrotron='Swiss Light Source', beamline='PXIII', detector=Detector(manufacturer='DECTRIS', model='PILATUS4 2M', type='photon-counting', serial_number='16684dscsd668468', detector_distance_mm=95.0, beam_center_x_px=512.0, beam_center_y_px=512.0, pixel_size_x_um=150.0, pixel_size_y_um=150.0), wavelength=1.0, ring_current_a=0.0, ring_mode='Machine Down', undulator=None, undulatorgap_mm=None, monochromator='Si111', transmission=1.0, focusing_optic='Kirkpatrick-Baez', beamline_flux_at_sample_ph_s=0.0, beam_size_width=30.0, beam_size_height=30.0, rotation=RotationParameters(omega_start_deg=0.0, omega_step=90.0, chi=0.0, phi=10.0, number_of_images=4, exposure_time_s=0.02), grid_scan=None, jet=None, cryojet_temperature_k=None, humidifier_temperature_k=None, humidifier_humidity=None) sample_id=299 id=1\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "/Library/Frameworks/Python.framework/Versions/3.12/lib/python3.12/site-packages/urllib3/connectionpool.py:1097: InsecureRequestWarning: Unverified HTTPS request is being made to host '127.0.0.1'. Adding certificate verification is strongly advised. See: https://urllib3.readthedocs.io/en/latest/advanced-usage.html#tls-warnings\n", " warnings.warn(\n" ] } ], "execution_count": 49 }, { "metadata": { "ExecuteTime": { "end_time": "2025-03-04T09:22:51.456656Z", "start_time": "2025-03-04T09:22:51.403762Z" } }, "cell_type": "code", "source": [ "# get experiment results to sample database\n", "\n", "with aareDBclient.ApiClient(configuration) as api_client:\n", " # Create an instance of the API class\n", " api_instance = aareDBclient.SamplesApi(api_client)\n", "\n", " # GET request: Fetch all pucks in the tell\n", " try:\n", " # Call the API method to fetch pucks\n", " all_results_response = api_instance.get_sample_results_samples_results_get(active_pgroup=\"p20001\")\n", "\n", " # Debug response structure by printing it in JSON format\n", " formatted_response = json.dumps(\n", " [p.to_dict() for p in all_results_response], # Assuming the API response can be converted to dicts\n", " indent=4 # Use indentation for readability\n", " )\n", " print(\"The response of PucksApi->get_all_pucks_in_tell (formatted):\\n\")\n", " print(formatted_response)\n", "\n", " ## Iterate through each puck and print information\n", " #for p in all_results_response:\n", " # print(f\"Puck ID: {p.id}, Puck Name: {p.puck_name}\")\n", " #\n", " # ## Check if the puck has any samples\n", " # if hasattr(p, 'samples') and p.samples: # Ensure 'samples' attribute exists and is not empty\n", " # for sample in p.samples:\n", " # print(f\" Sample ID: {sample.id}, Sample Name: {sample.sample_name}, Position: {sample.position}, Mount count: {sample.mount_count}\")\n", " # else:\n", " # print(\" No samples found in this puck.\")\n", " #\n", " except ApiException as e:\n", " print(\"Exception when calling PucksApi->get_all_pucks_in_tell: %s\\n\" % e)" ], "id": "6079a4f10102e906", "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "The response of PucksApi->get_all_pucks_in_tell (formatted):\n", "\n", "[\n", " {\n", " \"sample_id\": 1,\n", " \"sample_name\": \"Sample001\",\n", " \"puck_name\": \"PUCK-001\",\n", " \"dewar_name\": \"Dewar One\",\n", " \"images\": [],\n", " \"experiment_runs\": []\n", " },\n", " {\n", " \"sample_id\": 2,\n", " \"sample_name\": \"Sample002\",\n", " \"puck_name\": \"PUCK-001\",\n", " \"dewar_name\": \"Dewar One\",\n", " \"images\": [],\n", " \"experiment_runs\": []\n", " },\n", " {\n", " \"sample_id\": 3,\n", " \"sample_name\": \"Sample003\",\n", " \"puck_name\": \"PUCK-001\",\n", " \"dewar_name\": \"Dewar One\",\n", " \"images\": [],\n", " \"experiment_runs\": []\n", " },\n", " {\n", " \"sample_id\": 4,\n", " \"sample_name\": \"Sample004\",\n", " \"puck_name\": \"PUCK-001\",\n", " \"dewar_name\": \"Dewar One\",\n", " \"images\": [],\n", " \"experiment_runs\": []\n", " },\n", " {\n", " \"sample_id\": 5,\n", " \"sample_name\": \"Sample005\",\n", " \"puck_name\": \"PUCK-001\",\n", " \"dewar_name\": \"Dewar One\",\n", " \"images\": [],\n", " \"experiment_runs\": []\n", " },\n", " {\n", " \"sample_id\": 6,\n", " \"sample_name\": \"Sample006\",\n", " \"puck_name\": \"PUCK-001\",\n", " \"dewar_name\": \"Dewar One\",\n", " \"images\": [],\n", " \"experiment_runs\": []\n", " },\n", " {\n", " \"sample_id\": 7,\n", " \"sample_name\": \"Sample007\",\n", " \"puck_name\": \"PUCK-001\",\n", " \"dewar_name\": \"Dewar One\",\n", " \"images\": [],\n", " \"experiment_runs\": []\n", " },\n", " {\n", " \"sample_id\": 8,\n", " \"sample_name\": \"Sample008\",\n", " \"puck_name\": \"PUCK-001\",\n", " \"dewar_name\": \"Dewar One\",\n", " \"images\": [],\n", " \"experiment_runs\": []\n", " },\n", " {\n", " \"sample_id\": 9,\n", " \"sample_name\": \"Sample009\",\n", " \"puck_name\": \"PUCK-001\",\n", " \"dewar_name\": \"Dewar One\",\n", " \"images\": [],\n", " \"experiment_runs\": []\n", " },\n", " {\n", " \"sample_id\": 10,\n", " \"sample_name\": \"Sample010\",\n", " \"puck_name\": \"PUCK-001\",\n", " \"dewar_name\": \"Dewar One\",\n", " \"images\": [],\n", " \"experiment_runs\": []\n", " },\n", " {\n", " \"sample_id\": 11,\n", " \"sample_name\": \"Sample011\",\n", " \"puck_name\": \"PUCK-001\",\n", " \"dewar_name\": \"Dewar One\",\n", " \"images\": [],\n", " \"experiment_runs\": []\n", " },\n", " {\n", " \"sample_id\": 12,\n", " \"sample_name\": \"Sample012\",\n", " \"puck_name\": \"PUCK-001\",\n", " \"dewar_name\": \"Dewar One\",\n", " \"images\": [],\n", " \"experiment_runs\": []\n", " },\n", " {\n", " \"sample_id\": 13,\n", " \"sample_name\": \"Sample013\",\n", " \"puck_name\": \"PUCK-001\",\n", " \"dewar_name\": \"Dewar One\",\n", " \"images\": [],\n", " \"experiment_runs\": []\n", " },\n", " {\n", " \"sample_id\": 14,\n", " \"sample_name\": \"Sample014\",\n", " \"puck_name\": \"PUCK-001\",\n", " \"dewar_name\": \"Dewar One\",\n", " \"images\": [],\n", " \"experiment_runs\": []\n", " },\n", " {\n", " \"sample_id\": 15,\n", " \"sample_name\": \"Sample015\",\n", " \"puck_name\": \"PUCK-001\",\n", " \"dewar_name\": \"Dewar One\",\n", " \"images\": [],\n", " \"experiment_runs\": [\n", " {\n", " \"run_number\": 1,\n", " \"beamline_parameters\": {\n", " \"synchrotron\": \"Swiss Light Source\",\n", " \"beamline\": \"PXIII\",\n", " \"detector\": {\n", " \"manufacturer\": \"DECTRIS\",\n", " \"model\": \"PILATUS4 2M\",\n", " \"type\": \"photon-counting\",\n", " \"serialNumber\": \"16684dscsd668468\",\n", " \"detectorDistance_mm\": 95.0,\n", " \"beamCenterX_px\": 512.0,\n", " \"beamCenterY_px\": 512.0,\n", " \"pixelSizeX_um\": 150.0,\n", " \"pixelSizeY_um\": 150.0\n", " },\n", " \"wavelength\": 1.0,\n", " \"ringCurrent_A\": 0.0,\n", " \"ringMode\": \"Machine Down\",\n", " \"monochromator\": \"Si111\",\n", " \"transmission\": 1.0,\n", " \"focusingOptic\": \"Kirkpatrick-Baez\",\n", " \"beamlineFluxAtSample_ph_s\": 0.0,\n", " \"beamSizeWidth\": 30.0,\n", " \"beamSizeHeight\": 30.0,\n", " \"rotation\": {\n", " \"omegaStart_deg\": 0.0,\n", " \"omegaStep\": 0.5,\n", " \"chi\": 0.0,\n", " \"phi\": 10.0,\n", " \"numberOfImages\": 3600,\n", " \"exposureTime_s\": 0.02\n", " },\n", " \"undulator\": null,\n", " \"undulatorgap_mm\": null,\n", " \"gridScan\": null,\n", " \"jet\": null,\n", " \"cryojetTemperature_K\": null,\n", " \"humidifierTemperature_K\": null,\n", " \"humidifierHumidity\": null\n", " },\n", " \"sample_id\": 15,\n", " \"id\": 8\n", " },\n", " {\n", " \"run_number\": 2,\n", " \"beamline_parameters\": {\n", " \"synchrotron\": \"Swiss Light Source\",\n", " \"beamline\": \"PXIII\",\n", " \"detector\": {\n", " \"manufacturer\": \"DECTRIS\",\n", " \"model\": \"PILATUS4 2M\",\n", " \"type\": \"photon-counting\",\n", " \"serialNumber\": \"16684dscsd668468\",\n", " \"detectorDistance_mm\": 95.0,\n", " \"beamCenterX_px\": 512.0,\n", " \"beamCenterY_px\": 512.0,\n", " \"pixelSizeX_um\": 150.0,\n", " \"pixelSizeY_um\": 150.0\n", " },\n", " \"wavelength\": 1.0,\n", " \"ringCurrent_A\": 0.0,\n", " \"ringMode\": \"Machine Down\",\n", " \"monochromator\": \"Si111\",\n", " \"transmission\": 1.0,\n", " \"focusingOptic\": \"Kirkpatrick-Baez\",\n", " \"beamlineFluxAtSample_ph_s\": 0.0,\n", " \"beamSizeWidth\": 30.0,\n", " \"beamSizeHeight\": 30.0,\n", " \"rotation\": {\n", " \"omegaStart_deg\": 0.0,\n", " \"omegaStep\": 90.0,\n", " \"chi\": 0.0,\n", " \"phi\": 10.0,\n", " \"numberOfImages\": 4,\n", " \"exposureTime_s\": 0.02\n", " },\n", " \"undulator\": null,\n", " \"undulatorgap_mm\": null,\n", " \"gridScan\": null,\n", " \"jet\": null,\n", " \"cryojetTemperature_K\": null,\n", " \"humidifierTemperature_K\": null,\n", " \"humidifierHumidity\": null\n", " },\n", " \"sample_id\": 15,\n", " \"id\": 9\n", " },\n", " {\n", " \"run_number\": 3,\n", " \"beamline_parameters\": {\n", " \"synchrotron\": \"Swiss Light Source\",\n", " \"beamline\": \"PXIII\",\n", " \"detector\": {\n", " \"manufacturer\": \"DECTRIS\",\n", " \"model\": \"PILATUS4 2M\",\n", " \"type\": \"photon-counting\",\n", " \"serialNumber\": \"16684dscsd668468\",\n", " \"detectorDistance_mm\": 95.0,\n", " \"beamCenterX_px\": 512.0,\n", " \"beamCenterY_px\": 512.0,\n", " \"pixelSizeX_um\": 150.0,\n", " \"pixelSizeY_um\": 150.0\n", " },\n", " \"wavelength\": 1.0,\n", " \"ringCurrent_A\": 0.0,\n", " \"ringMode\": \"Machine Down\",\n", " \"monochromator\": \"Si111\",\n", " \"transmission\": 1.0,\n", " \"focusingOptic\": \"Kirkpatrick-Baez\",\n", " \"beamlineFluxAtSample_ph_s\": 0.0,\n", " \"beamSizeWidth\": 30.0,\n", " \"beamSizeHeight\": 30.0,\n", " \"gridScan\": {\n", " \"xStart\": 0.0,\n", " \"xStep\": 0.1,\n", " \"yStart\": 0.0,\n", " \"yStep\": 0.1,\n", " \"zStart\": 0.0,\n", " \"zStep\": 0.0,\n", " \"numberOfImages\": 4600,\n", " \"exposureTime_s\": 0.001\n", " },\n", " \"undulator\": null,\n", " \"undulatorgap_mm\": null,\n", " \"rotation\": null,\n", " \"jet\": null,\n", " \"cryojetTemperature_K\": null,\n", " \"humidifierTemperature_K\": null,\n", " \"humidifierHumidity\": null\n", " },\n", " \"sample_id\": 15,\n", " \"id\": 10\n", " }\n", " ]\n", " },\n", " {\n", " \"sample_id\": 16,\n", " \"sample_name\": \"Sample016\",\n", " \"puck_name\": \"PUCK-001\",\n", " \"dewar_name\": \"Dewar One\",\n", " \"images\": [\n", " {\n", " \"id\": 3,\n", " \"filepath\": \"images/p20001/2025-02-26/Dewar One/PUCK-001/16/bb_raster_0.jpg\",\n", " \"comment\": null\n", " },\n", " {\n", " \"id\": 4,\n", " \"filepath\": \"images/p20001/2025-02-26/Dewar One/PUCK-001/16/bb_raster_90.jpg\",\n", " \"comment\": null\n", " }\n", " ],\n", " \"experiment_runs\": [\n", " {\n", " \"run_number\": 1,\n", " \"beamline_parameters\": {\n", " \"synchrotron\": \"Swiss Light Source\",\n", " \"beamline\": \"PXIII\",\n", " \"detector\": {\n", " \"manufacturer\": \"DECTRIS\",\n", " \"model\": \"PILATUS4 2M\",\n", " \"type\": \"photon-counting\",\n", " \"serialNumber\": \"16684dscsd668468\",\n", " \"detectorDistance_mm\": 95.0,\n", " \"beamCenterX_px\": 512.0,\n", " \"beamCenterY_px\": 512.0,\n", " \"pixelSizeX_um\": 150.0,\n", " \"pixelSizeY_um\": 150.0\n", " },\n", " \"wavelength\": 1.0,\n", " \"ringCurrent_A\": 0.0,\n", " \"ringMode\": \"Machine Down\",\n", " \"monochromator\": \"Si111\",\n", " \"transmission\": 1.0,\n", " \"focusingOptic\": \"Kirkpatrick-Baez\",\n", " \"beamlineFluxAtSample_ph_s\": 0.0,\n", " \"beamSizeWidth\": 30.0,\n", " \"beamSizeHeight\": 30.0,\n", " \"rotation\": {\n", " \"omegaStart_deg\": 0.0,\n", " \"omegaStep\": 0.5,\n", " \"chi\": 0.0,\n", " \"phi\": 10.0,\n", " \"numberOfImages\": 3600,\n", " \"exposureTime_s\": 0.02\n", " },\n", " \"undulator\": null,\n", " \"undulatorgap_mm\": null,\n", " \"gridScan\": null,\n", " \"jet\": null,\n", " \"cryojetTemperature_K\": null,\n", " \"humidifierTemperature_K\": null,\n", " \"humidifierHumidity\": null\n", " },\n", " \"sample_id\": 16,\n", " \"id\": 5\n", " },\n", " {\n", " \"run_number\": 2,\n", " \"beamline_parameters\": {\n", " \"synchrotron\": \"Swiss Light Source\",\n", " \"beamline\": \"PXIII\",\n", " \"detector\": {\n", " \"manufacturer\": \"DECTRIS\",\n", " \"model\": \"PILATUS4 2M\",\n", " \"type\": \"photon-counting\",\n", " \"serialNumber\": \"16684dscsd668468\",\n", " \"detectorDistance_mm\": 95.0,\n", " \"beamCenterX_px\": 512.0,\n", " \"beamCenterY_px\": 512.0,\n", " \"pixelSizeX_um\": 150.0,\n", " \"pixelSizeY_um\": 150.0\n", " },\n", " \"wavelength\": 1.0,\n", " \"ringCurrent_A\": 0.0,\n", " \"ringMode\": \"Machine Down\",\n", " \"monochromator\": \"Si111\",\n", " \"transmission\": 1.0,\n", " \"focusingOptic\": \"Kirkpatrick-Baez\",\n", " \"beamlineFluxAtSample_ph_s\": 0.0,\n", " \"beamSizeWidth\": 30.0,\n", " \"beamSizeHeight\": 30.0,\n", " \"rotation\": {\n", " \"omegaStart_deg\": 0.0,\n", " \"omegaStep\": 0.5,\n", " \"chi\": 0.0,\n", " \"phi\": 10.0,\n", " \"numberOfImages\": 3600,\n", " \"exposureTime_s\": 0.02\n", " },\n", " \"undulator\": null,\n", " \"undulatorgap_mm\": null,\n", " \"gridScan\": null,\n", " \"jet\": null,\n", " \"cryojetTemperature_K\": null,\n", " \"humidifierTemperature_K\": null,\n", " \"humidifierHumidity\": null\n", " },\n", " \"sample_id\": 16,\n", " \"id\": 6\n", " },\n", " {\n", " \"run_number\": 3,\n", " \"beamline_parameters\": {\n", " \"synchrotron\": \"Swiss Light Source\",\n", " \"beamline\": \"PXIII\",\n", " \"detector\": {\n", " \"manufacturer\": \"DECTRIS\",\n", " \"model\": \"PILATUS4 2M\",\n", " \"type\": \"photon-counting\",\n", " \"serialNumber\": \"16684dscsd668468\",\n", " \"detectorDistance_mm\": 95.0,\n", " \"beamCenterX_px\": 512.0,\n", " \"beamCenterY_px\": 512.0,\n", " \"pixelSizeX_um\": 150.0,\n", " \"pixelSizeY_um\": 150.0\n", " },\n", " \"wavelength\": 1.0,\n", " \"ringCurrent_A\": 0.0,\n", " \"ringMode\": \"Machine Down\",\n", " \"monochromator\": \"Si111\",\n", " \"transmission\": 1.0,\n", " \"focusingOptic\": \"Kirkpatrick-Baez\",\n", " \"beamlineFluxAtSample_ph_s\": 0.0,\n", " \"beamSizeWidth\": 30.0,\n", " \"beamSizeHeight\": 30.0,\n", " \"rotation\": {\n", " \"omegaStart_deg\": 0.0,\n", " \"omegaStep\": 0.5,\n", " \"chi\": 0.0,\n", " \"phi\": 10.0,\n", " \"numberOfImages\": 3600,\n", " \"exposureTime_s\": 0.02\n", " },\n", " \"undulator\": null,\n", " \"undulatorgap_mm\": null,\n", " \"gridScan\": null,\n", " \"jet\": null,\n", " \"cryojetTemperature_K\": null,\n", " \"humidifierTemperature_K\": null,\n", " \"humidifierHumidity\": null\n", " },\n", " \"sample_id\": 16,\n", " \"id\": 7\n", " }\n", " ]\n", " },\n", " {\n", " \"sample_id\": 17,\n", " \"sample_name\": \"Sample017\",\n", " \"puck_name\": \"PUCK002\",\n", " \"dewar_name\": \"Dewar One\",\n", " \"images\": [],\n", " \"experiment_runs\": []\n", " },\n", " {\n", " \"sample_id\": 18,\n", " \"sample_name\": \"Sample018\",\n", " \"puck_name\": \"PUCK002\",\n", " \"dewar_name\": \"Dewar One\",\n", " \"images\": [],\n", " \"experiment_runs\": []\n", " },\n", " {\n", " \"sample_id\": 19,\n", " \"sample_name\": \"Sample019\",\n", " \"puck_name\": \"PUCK002\",\n", " \"dewar_name\": \"Dewar One\",\n", " \"images\": [],\n", " \"experiment_runs\": []\n", " },\n", " {\n", " \"sample_id\": 20,\n", " \"sample_name\": \"Sample020\",\n", " \"puck_name\": \"PUCK002\",\n", " \"dewar_name\": \"Dewar One\",\n", " \"images\": [],\n", " \"experiment_runs\": []\n", " },\n", " {\n", " \"sample_id\": 21,\n", " \"sample_name\": \"Sample021\",\n", " \"puck_name\": \"PUCK002\",\n", " \"dewar_name\": \"Dewar One\",\n", " \"images\": [],\n", " \"experiment_runs\": []\n", " },\n", " {\n", " \"sample_id\": 22,\n", " \"sample_name\": \"Sample022\",\n", " \"puck_name\": \"PUCK002\",\n", " \"dewar_name\": \"Dewar One\",\n", " \"images\": [],\n", " \"experiment_runs\": []\n", " },\n", " {\n", " \"sample_id\": 23,\n", " \"sample_name\": \"Sample023\",\n", " \"puck_name\": \"PUCK002\",\n", " \"dewar_name\": \"Dewar One\",\n", " \"images\": [],\n", " \"experiment_runs\": []\n", " },\n", " {\n", " \"sample_id\": 24,\n", " \"sample_name\": \"Sample024\",\n", " \"puck_name\": \"PUCK003\",\n", " \"dewar_name\": \"Dewar One\",\n", " \"images\": [],\n", " \"experiment_runs\": []\n", " },\n", " {\n", " \"sample_id\": 25,\n", " \"sample_name\": \"Sample025\",\n", " \"puck_name\": \"PUCK003\",\n", " \"dewar_name\": \"Dewar One\",\n", " \"images\": [],\n", " \"experiment_runs\": []\n", " },\n", " {\n", " \"sample_id\": 26,\n", " \"sample_name\": \"Sample026\",\n", " \"puck_name\": \"PUCK003\",\n", " \"dewar_name\": \"Dewar One\",\n", " \"images\": [],\n", " \"experiment_runs\": []\n", " },\n", " {\n", " \"sample_id\": 27,\n", " \"sample_name\": \"Sample027\",\n", " \"puck_name\": \"PUCK003\",\n", " \"dewar_name\": \"Dewar One\",\n", " \"images\": [],\n", " \"experiment_runs\": []\n", " },\n", " {\n", " \"sample_id\": 28,\n", " \"sample_name\": \"Sample028\",\n", " \"puck_name\": \"PUCK003\",\n", " \"dewar_name\": \"Dewar One\",\n", " \"images\": [],\n", " \"experiment_runs\": []\n", " },\n", " {\n", " \"sample_id\": 29,\n", " \"sample_name\": \"Sample029\",\n", " \"puck_name\": \"PUCK004\",\n", " \"dewar_name\": \"Dewar One\",\n", " \"images\": [],\n", " \"experiment_runs\": []\n", " },\n", " {\n", " \"sample_id\": 30,\n", " \"sample_name\": \"Sample030\",\n", " \"puck_name\": \"PUCK005\",\n", " \"dewar_name\": \"Dewar One\",\n", " \"images\": [],\n", " \"experiment_runs\": []\n", " },\n", " {\n", " \"sample_id\": 31,\n", " \"sample_name\": \"Sample031\",\n", " \"puck_name\": \"PUCK005\",\n", " \"dewar_name\": \"Dewar One\",\n", " \"images\": [],\n", " \"experiment_runs\": []\n", " },\n", " {\n", " \"sample_id\": 32,\n", " \"sample_name\": \"Sample032\",\n", " \"puck_name\": \"PUCK005\",\n", " \"dewar_name\": \"Dewar One\",\n", " \"images\": [],\n", " \"experiment_runs\": []\n", " },\n", " {\n", " \"sample_id\": 33,\n", " \"sample_name\": \"Sample033\",\n", " \"puck_name\": \"PUCK005\",\n", " \"dewar_name\": \"Dewar One\",\n", " \"images\": [],\n", " \"experiment_runs\": []\n", " },\n", " {\n", " \"sample_id\": 34,\n", " \"sample_name\": \"Sample034\",\n", " \"puck_name\": \"PUCK005\",\n", " \"dewar_name\": \"Dewar One\",\n", " \"images\": [],\n", " \"experiment_runs\": []\n", " },\n", " {\n", " \"sample_id\": 35,\n", " \"sample_name\": \"Sample035\",\n", " \"puck_name\": \"PUCK005\",\n", " \"dewar_name\": \"Dewar One\",\n", " \"images\": [],\n", " \"experiment_runs\": []\n", " },\n", " {\n", " \"sample_id\": 36,\n", " \"sample_name\": \"Sample036\",\n", " \"puck_name\": \"PUCK005\",\n", " \"dewar_name\": \"Dewar One\",\n", " \"images\": [],\n", " \"experiment_runs\": []\n", " },\n", " {\n", " \"sample_id\": 37,\n", " \"sample_name\": \"Sample037\",\n", " \"puck_name\": \"PUCK005\",\n", " \"dewar_name\": \"Dewar One\",\n", " \"images\": [],\n", " \"experiment_runs\": []\n", " },\n", " {\n", " \"sample_id\": 38,\n", " \"sample_name\": \"Sample038\",\n", " \"puck_name\": \"PUCK005\",\n", " \"dewar_name\": \"Dewar One\",\n", " \"images\": [],\n", " \"experiment_runs\": []\n", " },\n", " {\n", " \"sample_id\": 39,\n", " \"sample_name\": \"Sample039\",\n", " \"puck_name\": \"PUCK005\",\n", " \"dewar_name\": \"Dewar One\",\n", " \"images\": [],\n", " \"experiment_runs\": []\n", " },\n", " {\n", " \"sample_id\": 40,\n", " \"sample_name\": \"Sample040\",\n", " \"puck_name\": \"PUCK005\",\n", " \"dewar_name\": \"Dewar One\",\n", " \"images\": [],\n", " \"experiment_runs\": []\n", " },\n", " {\n", " \"sample_id\": 41,\n", " \"sample_name\": \"Sample041\",\n", " \"puck_name\": \"PUCK005\",\n", " \"dewar_name\": \"Dewar One\",\n", " \"images\": [],\n", " \"experiment_runs\": []\n", " },\n", " {\n", " \"sample_id\": 42,\n", " \"sample_name\": \"Sample042\",\n", " \"puck_name\": \"PUCK005\",\n", " \"dewar_name\": \"Dewar One\",\n", " \"images\": [],\n", " \"experiment_runs\": []\n", " },\n", " {\n", " \"sample_id\": 43,\n", " \"sample_name\": \"Sample043\",\n", " \"puck_name\": \"PUCK005\",\n", " \"dewar_name\": \"Dewar One\",\n", " \"images\": [],\n", " \"experiment_runs\": []\n", " },\n", " {\n", " \"sample_id\": 44,\n", " \"sample_name\": \"Sample044\",\n", " \"puck_name\": \"PUCK006\",\n", " \"dewar_name\": \"Dewar One\",\n", " \"images\": [],\n", " \"experiment_runs\": []\n", " },\n", " {\n", " \"sample_id\": 45,\n", " \"sample_name\": \"Sample045\",\n", " \"puck_name\": \"PUCK006\",\n", " \"dewar_name\": \"Dewar One\",\n", " \"images\": [],\n", " \"experiment_runs\": []\n", " },\n", " {\n", " \"sample_id\": 46,\n", " \"sample_name\": \"Sample046\",\n", " \"puck_name\": \"PUCK006\",\n", " \"dewar_name\": \"Dewar One\",\n", " \"images\": [],\n", " \"experiment_runs\": []\n", " },\n", " {\n", " \"sample_id\": 47,\n", " \"sample_name\": \"Sample047\",\n", " \"puck_name\": \"PUCK006\",\n", " \"dewar_name\": \"Dewar One\",\n", " \"images\": [],\n", " \"experiment_runs\": []\n", " },\n", " {\n", " \"sample_id\": 48,\n", " \"sample_name\": \"Sample048\",\n", " \"puck_name\": \"PUCK007\",\n", " \"dewar_name\": \"Dewar One\",\n", " \"images\": [],\n", " \"experiment_runs\": []\n", " },\n", " {\n", " \"sample_id\": 49,\n", " \"sample_name\": \"Sample049\",\n", " \"puck_name\": \"PUCK007\",\n", " \"dewar_name\": \"Dewar One\",\n", " \"images\": [],\n", " \"experiment_runs\": []\n", " },\n", " {\n", " \"sample_id\": 50,\n", " \"sample_name\": \"Sample050\",\n", " \"puck_name\": \"PUCK007\",\n", " \"dewar_name\": \"Dewar One\",\n", " \"images\": [],\n", " \"experiment_runs\": []\n", " },\n", " {\n", " \"sample_id\": 51,\n", " \"sample_name\": \"Sample051\",\n", " \"puck_name\": \"PUCK007\",\n", " \"dewar_name\": \"Dewar One\",\n", " \"images\": [],\n", " \"experiment_runs\": []\n", " },\n", " {\n", " \"sample_id\": 52,\n", " \"sample_name\": \"Sample052\",\n", " \"puck_name\": \"PUCK007\",\n", " \"dewar_name\": \"Dewar One\",\n", " \"images\": [],\n", " \"experiment_runs\": []\n", " },\n", " {\n", " \"sample_id\": 53,\n", " \"sample_name\": \"Sample053\",\n", " \"puck_name\": \"PUCK007\",\n", " \"dewar_name\": \"Dewar One\",\n", " \"images\": [],\n", " \"experiment_runs\": []\n", " },\n", " {\n", " \"sample_id\": 54,\n", " \"sample_name\": \"Sample054\",\n", " \"puck_name\": \"PUCK007\",\n", " \"dewar_name\": \"Dewar One\",\n", " \"images\": [],\n", " \"experiment_runs\": []\n", " },\n", " {\n", " \"sample_id\": 55,\n", " \"sample_name\": \"Sample055\",\n", " \"puck_name\": \"PUCK007\",\n", " \"dewar_name\": \"Dewar One\",\n", " \"images\": [],\n", " \"experiment_runs\": []\n", " },\n", " {\n", " \"sample_id\": 56,\n", " \"sample_name\": \"Sample056\",\n", " \"puck_name\": \"PUCK007\",\n", " \"dewar_name\": \"Dewar One\",\n", " \"images\": [],\n", " \"experiment_runs\": []\n", " },\n", " {\n", " \"sample_id\": 57,\n", " \"sample_name\": \"Sample057\",\n", " \"puck_name\": \"PUCK007\",\n", " \"dewar_name\": \"Dewar One\",\n", " \"images\": [],\n", " \"experiment_runs\": []\n", " },\n", " {\n", " \"sample_id\": 58,\n", " \"sample_name\": \"Sample058\",\n", " \"puck_name\": \"PUCK007\",\n", " \"dewar_name\": \"Dewar One\",\n", " \"images\": [],\n", " \"experiment_runs\": []\n", " },\n", " {\n", " \"sample_id\": 59,\n", " \"sample_name\": \"Sample059\",\n", " \"puck_name\": \"PUCK007\",\n", " \"dewar_name\": \"Dewar One\",\n", " \"images\": [],\n", " \"experiment_runs\": []\n", " },\n", " {\n", " \"sample_id\": 60,\n", " \"sample_name\": \"Sample060\",\n", " \"puck_name\": \"PUCK007\",\n", " \"dewar_name\": \"Dewar One\",\n", " \"images\": [],\n", " \"experiment_runs\": []\n", " },\n", " {\n", " \"sample_id\": 61,\n", " \"sample_name\": \"Sample061\",\n", " \"puck_name\": \"PUCK007\",\n", " \"dewar_name\": \"Dewar One\",\n", " \"images\": [],\n", " \"experiment_runs\": []\n", " }\n", "]\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "/Library/Frameworks/Python.framework/Versions/3.12/lib/python3.12/site-packages/urllib3/connectionpool.py:1097: InsecureRequestWarning: Unverified HTTPS request is being made to host '127.0.0.1'. Adding certificate verification is strongly advised. See: https://urllib3.readthedocs.io/en/latest/advanced-usage.html#tls-warnings\n", " warnings.warn(\n" ] } ], "execution_count": 2 } ], "metadata": { "kernelspec": { "display_name": "Python 3", "language": "python", "name": "python3" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 2 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython2", "version": "2.7.6" } }, "nbformat": 4, "nbformat_minor": 5 }