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
4 changes: 2 additions & 2 deletions .pre-commit-config.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -12,12 +12,12 @@ repos:
- id: end-of-file-fixer
- id: trailing-whitespace
- repo: https://github.com/kynan/nbstripout
rev: 0.6.1
rev: 0.9.1
hooks:
- id: nbstripout
- repo: https://github.com/astral-sh/ruff-pre-commit
# Ruff version.
rev: v0.14.1
rev: v0.15.14
hooks:
# Run the linter.
- id: ruff
Expand Down
10 changes: 7 additions & 3 deletions Dockerfile
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
FROM ghcr.io/ad-sdl/madsci
FROM ghcr.io/ad-sdl/madsci:v0.8.0

LABEL org.opencontainers.image.source=https://github.com/AD-SDL/ot2_module
LABEL org.opencontainers.image.description="Drivers and REST API's for the Opentrons OT2 LiquidHandling robots"
Expand All @@ -13,10 +13,14 @@ RUN mkdir -p ot2_module
COPY ./src ot2_module/src
COPY ./README.md ot2_module/README.md
COPY ./pyproject.toml ot2_module/pyproject.toml
COPY ./tests ot2_module/tests

# Install into the madsci venv (system pip would land in /usr/lib site-packages,
# invisible to the venv interpreter the entrypoint actually runs).
RUN --mount=type=cache,target=/root/.cache \
pip install -e ./ot2_module
uv pip install --python ${MADSCI_VENV}/bin/python -e ./ot2_module

# Note: do not switch USER here — the base entrypoint runs userdel/useradd as
# root to remap UID/GID to the host's, then drops to the madsci user itself.

CMD ["python", "ot2_module/src/ot2_rest_node.py"]

Expand Down
11 changes: 11 additions & 0 deletions definitions/otflex_template.node.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
node_name: otflex_template
node_url: null
node_description: Template for a MADSci Opentrons OT2 node
node_type: device
module_name: otflex_module
module_version: 0.0.2
capabilities:
admin_commands: []
commands: {}
is_template: true
config_defaults: {}
2,879 changes: 1,376 additions & 1,503 deletions pdm.lock

Large diffs are not rendered by default.

10 changes: 5 additions & 5 deletions pyproject.toml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
[project]
name = "ot2_module"
version = "2.0.0"
version = "2.0.1"
description = "Software for automatting an OT2 liquid_handler"
authors = [
{name = "Ryan D. Lewis", email="ryan.lewis@anl.gov"},
Expand All @@ -9,11 +9,11 @@ authors = [
{name = "Tobias Ginsburg", email = "tginsburg@anl.gov"},
]
dependencies = [
"madsci.node_module~=0.5.0",
"madsci.client~=0.5.0",
"madsci.common~=0.5.0"
"madsci.node_module~=0.8.0",
"madsci.client~=0.8.0",
"madsci.common~=0.8.0"
]
requires-python = ">=3.9.1"
requires-python = ">=3.10"
readme = "README.md"
license = {text = "MIT"}

Expand Down
1 change: 1 addition & 0 deletions scripts/delete_all_runs.py
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
"""delete all runs"""

from argparse import ArgumentParser

import requests
Expand Down
1 change: 1 addition & 0 deletions src/ot2_interface/config.py
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
"""Stores dataclasses/args/config for the ot2 drivers"""

import json
from argparse import ArgumentParser, Namespace
from pathlib import Path
Expand Down
1 change: 1 addition & 0 deletions src/ot2_interface/ot2_driver_http.py
Original file line number Diff line number Diff line change
Expand Up @@ -23,6 +23,7 @@ class RobotStatus(Enum):
FAILED = "failed"
PAUSED = "paused"
OFFLINE = "offline"
STOPPED = "stopped"


class RunStatus(Enum):
Expand Down
1 change: 1 addition & 0 deletions src/ot2_interface/protopiler/config.py
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
"""Dataclasses and other configuration used in the protopiler"""

from pathlib import Path
from typing import List, Literal, Optional, TypeVar, Union

Expand Down
1 change: 1 addition & 0 deletions src/ot2_interface/protopiler/deconstructor.py
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
"""Deconstructor, parses a protocol and turns it into a config"""

import re
import subprocess
from argparse import ArgumentParser
Expand Down
4 changes: 3 additions & 1 deletion src/ot2_interface/protopiler/protopiler.py
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
"""Protopiler is designed to compile a config yaml into a working protocol"""

import argparse
import copy
from datetime import datetime
Expand All @@ -7,6 +8,7 @@
from typing import Dict, Generator, List, Optional, Tuple, Union

import pandas as pd

from ot2_interface.protopiler.config import (
Clear_Pipette,
CommandBase,
Expand Down Expand Up @@ -501,7 +503,7 @@ def yaml_to_protocol(
"#location#", f'"{location}"'
)
labware_command = labware_command.replace(
"#nickname#", f'{"module"}'
"#nickname#", f"{'module'}"
)
labware_command = labware_command.replace(
"#labware_name#", f'"{name}"'
Expand Down
1 change: 1 addition & 0 deletions src/ot2_interface/protopiler/resource_manager.py
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
"""Class to manage/keep track of resources used by a protocol"""

import json
import re
from argparse import ArgumentParser
Expand Down
1 change: 1 addition & 0 deletions src/ot2_interface/protopiler/test_configs/basic_config.py
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
"""basic config module"""

from opentrons import protocol_api

metadata = {
Expand Down
Loading
Loading