PyLabRobot 0.2.0__tar.gz → 0.2.1__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {pylabrobot-0.2.0 → pylabrobot-0.2.1}/PKG-INFO +29 -29
- {pylabrobot-0.2.0 → pylabrobot-0.2.1}/PyLabRobot.egg-info/PKG-INFO +29 -29
- {pylabrobot-0.2.0 → pylabrobot-0.2.1}/PyLabRobot.egg-info/SOURCES.txt +28 -9
- pylabrobot-0.2.1/PyLabRobot.egg-info/requires.txt +51 -0
- {pylabrobot-0.2.0 → pylabrobot-0.2.1}/pylabrobot/barcode_scanners/keyence/keyence_backend.py +12 -1
- {pylabrobot-0.2.0 → pylabrobot-0.2.1}/pylabrobot/io/sila/__init__.py +1 -1
- pylabrobot-0.2.1/pylabrobot/io/sila/discovery.py +728 -0
- {pylabrobot-0.2.0 → pylabrobot-0.2.1}/pylabrobot/io/sila/discovery_tests.py +113 -4
- {pylabrobot-0.2.0 → pylabrobot-0.2.1}/pylabrobot/io/usb.py +102 -27
- {pylabrobot-0.2.0 → pylabrobot-0.2.1}/pylabrobot/liquid_handling/backends/hamilton/base.py +21 -9
- {pylabrobot-0.2.0 → pylabrobot-0.2.1}/pylabrobot/liquid_handling/backends/opentrons_backend_tests.py +4 -0
- {pylabrobot-0.2.0 → pylabrobot-0.2.1}/pylabrobot/peeling/xpeel_backend.py +12 -1
- {pylabrobot-0.2.0 → pylabrobot-0.2.1}/pylabrobot/plate_reading/__init__.py +2 -0
- {pylabrobot-0.2.0 → pylabrobot-0.2.1}/pylabrobot/plate_reading/agilent/biotek_synergyh1_backend.py +7 -1
- {pylabrobot-0.2.0 → pylabrobot-0.2.1}/pylabrobot/plate_reading/agilent/biotek_tests.py +4 -0
- pylabrobot-0.2.1/pylabrobot/plate_reading/tecan/__init__.py +1 -0
- pylabrobot-0.2.1/pylabrobot/plate_reading/tecan/infinite_backend.py +1340 -0
- pylabrobot-0.2.1/pylabrobot/plate_reading/tecan/infinite_backend_tests.py +918 -0
- pylabrobot-0.2.1/pylabrobot/plate_reading/tecan/spark20m/controls/__init__.py +11 -0
- pylabrobot-0.2.1/pylabrobot/plate_reading/tecan/spark20m/controls/base_control.py +8 -0
- pylabrobot-0.2.1/pylabrobot/plate_reading/tecan/spark20m/controls/camera_control.py +262 -0
- pylabrobot-0.2.1/pylabrobot/plate_reading/tecan/spark20m/controls/config_control.py +514 -0
- pylabrobot-0.2.1/pylabrobot/plate_reading/tecan/spark20m/controls/data_control.py +502 -0
- pylabrobot-0.2.1/pylabrobot/plate_reading/tecan/spark20m/controls/gas_control.py +76 -0
- pylabrobot-0.2.1/pylabrobot/plate_reading/tecan/spark20m/controls/injector_control.py +155 -0
- pylabrobot-0.2.1/pylabrobot/plate_reading/tecan/spark20m/controls/measurement_control.py +390 -0
- pylabrobot-0.2.1/pylabrobot/plate_reading/tecan/spark20m/controls/movement_control.py +931 -0
- pylabrobot-0.2.1/pylabrobot/plate_reading/tecan/spark20m/controls/optics_control.py +756 -0
- pylabrobot-0.2.1/pylabrobot/plate_reading/tecan/spark20m/controls/plate_transport_control.py +122 -0
- pylabrobot-0.2.1/pylabrobot/plate_reading/tecan/spark20m/controls/sensor_control.py +358 -0
- pylabrobot-0.2.1/pylabrobot/plate_reading/tecan/spark20m/controls/spark_enums.py +635 -0
- pylabrobot-0.2.1/pylabrobot/plate_reading/tecan/spark20m/controls/system_control.py +189 -0
- pylabrobot-0.2.1/pylabrobot/plate_reading/tecan/spark20m/enums.py +48 -0
- pylabrobot-0.2.1/pylabrobot/plate_reading/tecan/spark20m/spark_backend.py +271 -0
- pylabrobot-0.2.1/pylabrobot/plate_reading/tecan/spark20m/spark_backend_tests.py +147 -0
- pylabrobot-0.2.1/pylabrobot/plate_reading/tecan/spark20m/spark_packet_parser.py +480 -0
- pylabrobot-0.2.1/pylabrobot/plate_reading/tecan/spark20m/spark_packet_parser_test.py +77 -0
- pylabrobot-0.2.1/pylabrobot/plate_reading/tecan/spark20m/spark_processor.py +234 -0
- pylabrobot-0.2.1/pylabrobot/plate_reading/tecan/spark20m/spark_processor_tests.py +368 -0
- pylabrobot-0.2.1/pylabrobot/plate_reading/tecan/spark20m/spark_reader_async.py +405 -0
- pylabrobot-0.2.1/pylabrobot/plate_reading/tecan/spark20m/spark_reader_async_tests.py +392 -0
- pylabrobot-0.2.1/pylabrobot/plate_reading/utils.py +59 -0
- {pylabrobot-0.2.0 → pylabrobot-0.2.1}/pylabrobot/pumps/agrowpumps/agrowdosepump_backend.py +5 -0
- {pylabrobot-0.2.0 → pylabrobot-0.2.1}/pylabrobot/pumps/agrowpumps/agrowdosepump_tests.py +4 -0
- {pylabrobot-0.2.0 → pylabrobot-0.2.1}/pylabrobot/pumps/cole_parmer/masterflex_backend.py +12 -1
- {pylabrobot-0.2.0 → pylabrobot-0.2.1}/pylabrobot/resources/container.py +40 -2
- pylabrobot-0.2.1/pylabrobot/resources/container_tests.py +167 -0
- {pylabrobot-0.2.0 → pylabrobot-0.2.1}/pylabrobot/resources/corning/plates.py +15 -17
- {pylabrobot-0.2.0 → pylabrobot-0.2.1}/pylabrobot/resources/eppendorf/plates.py +38 -0
- {pylabrobot-0.2.0 → pylabrobot-0.2.1}/pylabrobot/resources/eppendorf/tubes.py +22 -56
- {pylabrobot-0.2.0 → pylabrobot-0.2.1}/pylabrobot/resources/hamilton/trough_carriers.py +1 -1
- pylabrobot-0.2.1/pylabrobot/resources/hamilton/troughs.py +201 -0
- {pylabrobot-0.2.0 → pylabrobot-0.2.1}/pylabrobot/resources/petri_dish.py +3 -1
- {pylabrobot-0.2.0 → pylabrobot-0.2.1}/pylabrobot/resources/petri_dish_tests.py +1 -0
- {pylabrobot-0.2.0 → pylabrobot-0.2.1}/pylabrobot/resources/thermo_fisher/plates.py +36 -0
- {pylabrobot-0.2.0 → pylabrobot-0.2.1}/pylabrobot/resources/trash.py +2 -0
- {pylabrobot-0.2.0 → pylabrobot-0.2.1}/pylabrobot/resources/trough.py +3 -1
- {pylabrobot-0.2.0 → pylabrobot-0.2.1}/pylabrobot/resources/tube.py +5 -1
- {pylabrobot-0.2.0 → pylabrobot-0.2.1}/pylabrobot/resources/well.py +5 -1
- {pylabrobot-0.2.0 → pylabrobot-0.2.1}/pylabrobot/resources/well_tests.py +1 -0
- {pylabrobot-0.2.0 → pylabrobot-0.2.1}/pylabrobot/sealing/a4s_backend.py +12 -1
- {pylabrobot-0.2.0 → pylabrobot-0.2.1}/pylabrobot/storage/cytomat/cytomat.py +12 -1
- {pylabrobot-0.2.0 → pylabrobot-0.2.1}/pylabrobot/storage/cytomat/heraeus_cytomat_backend.py +12 -1
- {pylabrobot-0.2.0 → pylabrobot-0.2.1}/pylabrobot/storage/inheco/incubator_shaker_backend.py +5 -0
- {pylabrobot-0.2.0 → pylabrobot-0.2.1}/pylabrobot/storage/liconic/liconic_backend.py +12 -1
- {pylabrobot-0.2.0 → pylabrobot-0.2.1}/pylabrobot/storage/liconic/liconic_backend_tests.py +4 -0
- {pylabrobot-0.2.0 → pylabrobot-0.2.1}/pylabrobot/thermocycling/opentrons_backend_tests.py +4 -0
- pylabrobot-0.2.1/pylabrobot/version.txt +1 -0
- {pylabrobot-0.2.0 → pylabrobot-0.2.1}/pylabrobot/visualizer/lib.js +231 -0
- {pylabrobot-0.2.0 → pylabrobot-0.2.1}/pylabrobot/visualizer/visualizer.py +6 -5
- {pylabrobot-0.2.0 → pylabrobot-0.2.1}/pylabrobot/visualizer/visualizer_tests.py +1 -1
- pylabrobot-0.2.1/pyproject.toml +63 -0
- pylabrobot-0.2.0/PyLabRobot.egg-info/entry_points.txt +0 -2
- pylabrobot-0.2.0/PyLabRobot.egg-info/requires.txt +0 -51
- pylabrobot-0.2.0/pylabrobot/arms/kx2/__init__.py +0 -1
- pylabrobot-0.2.0/pylabrobot/arms/kx2/idk.py +0 -516
- pylabrobot-0.2.0/pylabrobot/arms/kx2/old.asdf.py +0 -521
- pylabrobot-0.2.0/pylabrobot/hamilton/__init__.py +0 -3
- pylabrobot-0.2.0/pylabrobot/hamilton/star.py +0 -79
- pylabrobot-0.2.0/pylabrobot/io/sila/discovery.py +0 -401
- pylabrobot-0.2.0/pylabrobot/legacy/liquid_handling/__init__.py +0 -3
- pylabrobot-0.2.0/pylabrobot/legacy/liquid_handling/liquid_handler.py +0 -303
- pylabrobot-0.2.0/pylabrobot/resources/container_tests.py +0 -53
- pylabrobot-0.2.0/pylabrobot/resources/hamilton/troughs.py +0 -271
- pylabrobot-0.2.0/pylabrobot/version.txt +0 -1
- pylabrobot-0.2.0/pyproject.toml +0 -64
- {pylabrobot-0.2.0 → pylabrobot-0.2.1}/LICENSE +0 -0
- {pylabrobot-0.2.0 → pylabrobot-0.2.1}/PyLabRobot.egg-info/dependency_links.txt +0 -0
- {pylabrobot-0.2.0 → pylabrobot-0.2.1}/PyLabRobot.egg-info/top_level.txt +0 -0
- {pylabrobot-0.2.0 → pylabrobot-0.2.1}/README.md +0 -0
- {pylabrobot-0.2.0 → pylabrobot-0.2.1}/kx2/AsyncRW.py +0 -0
- {pylabrobot-0.2.0 → pylabrobot-0.2.1}/kx2/__init__.py +0 -0
- {pylabrobot-0.2.0 → pylabrobot-0.2.1}/kx2/dec14-930.py +0 -0
- {pylabrobot-0.2.0 → pylabrobot-0.2.1}/kx2/oldwhatever.py +0 -0
- {pylabrobot-0.2.0 → pylabrobot-0.2.1}/kx2/orig_binary_interpreter.py +0 -0
- {pylabrobot-0.2.0 → pylabrobot-0.2.1}/kx2/stufffromclscan.py +0 -0
- {pylabrobot-0.2.0 → pylabrobot-0.2.1}/pylabrobot/__init__.py +0 -0
- {pylabrobot-0.2.0 → pylabrobot-0.2.1}/pylabrobot/__version__.py +0 -0
- {pylabrobot-0.2.0 → pylabrobot-0.2.1}/pylabrobot/arms/__init__.py +0 -0
- {pylabrobot-0.2.0 → pylabrobot-0.2.1}/pylabrobot/arms/backend.py +0 -0
- {pylabrobot-0.2.0 → pylabrobot-0.2.1}/pylabrobot/arms/precise_flex/__init__.py +0 -0
- {pylabrobot-0.2.0 → pylabrobot-0.2.1}/pylabrobot/arms/precise_flex/coords.py +0 -0
- {pylabrobot-0.2.0 → pylabrobot-0.2.1}/pylabrobot/arms/precise_flex/error_codes.py +0 -0
- {pylabrobot-0.2.0 → pylabrobot-0.2.1}/pylabrobot/arms/precise_flex/joints.py +0 -0
- {pylabrobot-0.2.0 → pylabrobot-0.2.1}/pylabrobot/arms/precise_flex/pf_3400.py +0 -0
- {pylabrobot-0.2.0 → pylabrobot-0.2.1}/pylabrobot/arms/precise_flex/pf_400.py +0 -0
- {pylabrobot-0.2.0 → pylabrobot-0.2.1}/pylabrobot/arms/precise_flex/precise_flex_backend.py +0 -0
- {pylabrobot-0.2.0 → pylabrobot-0.2.1}/pylabrobot/arms/precise_flex/precise_flex_backend_tests.py +0 -0
- {pylabrobot-0.2.0 → pylabrobot-0.2.1}/pylabrobot/arms/scara.py +0 -0
- {pylabrobot-0.2.0 → pylabrobot-0.2.1}/pylabrobot/arms/scara_tests.py +0 -0
- {pylabrobot-0.2.0 → pylabrobot-0.2.1}/pylabrobot/arms/standard.py +0 -0
- {pylabrobot-0.2.0 → pylabrobot-0.2.1}/pylabrobot/audio/__init__.py +0 -0
- {pylabrobot-0.2.0 → pylabrobot-0.2.1}/pylabrobot/audio/audio.py +0 -0
- {pylabrobot-0.2.0 → pylabrobot-0.2.1}/pylabrobot/barcode_scanners/__init__.py +0 -0
- {pylabrobot-0.2.0 → pylabrobot-0.2.1}/pylabrobot/barcode_scanners/backend.py +0 -0
- {pylabrobot-0.2.0 → pylabrobot-0.2.1}/pylabrobot/barcode_scanners/barcode_scanner.py +0 -0
- {pylabrobot-0.2.0 → pylabrobot-0.2.1}/pylabrobot/barcode_scanners/keyence/__init__.py +0 -0
- {pylabrobot-0.2.0 → pylabrobot-0.2.1}/pylabrobot/centrifuge/__init__.py +0 -0
- {pylabrobot-0.2.0 → pylabrobot-0.2.1}/pylabrobot/centrifuge/access2.py +0 -0
- {pylabrobot-0.2.0 → pylabrobot-0.2.1}/pylabrobot/centrifuge/backend.py +0 -0
- {pylabrobot-0.2.0 → pylabrobot-0.2.1}/pylabrobot/centrifuge/centrifuge.py +0 -0
- {pylabrobot-0.2.0 → pylabrobot-0.2.1}/pylabrobot/centrifuge/centrifuge_tests.py +0 -0
- {pylabrobot-0.2.0 → pylabrobot-0.2.1}/pylabrobot/centrifuge/chatterbox.py +0 -0
- {pylabrobot-0.2.0 → pylabrobot-0.2.1}/pylabrobot/centrifuge/standard.py +0 -0
- {pylabrobot-0.2.0 → pylabrobot-0.2.1}/pylabrobot/centrifuge/vspin_backend.py +0 -0
- {pylabrobot-0.2.0 → pylabrobot-0.2.1}/pylabrobot/config/__init__.py +0 -0
- {pylabrobot-0.2.0 → pylabrobot-0.2.1}/pylabrobot/config/config.py +0 -0
- {pylabrobot-0.2.0 → pylabrobot-0.2.1}/pylabrobot/config/config_tests.py +0 -0
- {pylabrobot-0.2.0 → pylabrobot-0.2.1}/pylabrobot/config/formats/__init__.py +0 -0
- {pylabrobot-0.2.0 → pylabrobot-0.2.1}/pylabrobot/config/formats/ini_config.py +0 -0
- {pylabrobot-0.2.0 → pylabrobot-0.2.1}/pylabrobot/config/formats/json_config.py +0 -0
- {pylabrobot-0.2.0 → pylabrobot-0.2.1}/pylabrobot/config/io/__init__.py +0 -0
- {pylabrobot-0.2.0 → pylabrobot-0.2.1}/pylabrobot/config/io/file.py +0 -0
- {pylabrobot-0.2.0 → pylabrobot-0.2.1}/pylabrobot/conftest.py +0 -0
- {pylabrobot-0.2.0 → pylabrobot-0.2.1}/pylabrobot/heating_shaking/__init__.py +0 -0
- {pylabrobot-0.2.0 → pylabrobot-0.2.1}/pylabrobot/heating_shaking/backend.py +0 -0
- {pylabrobot-0.2.0 → pylabrobot-0.2.1}/pylabrobot/heating_shaking/bioshake_backend.py +0 -0
- {pylabrobot-0.2.0 → pylabrobot-0.2.1}/pylabrobot/heating_shaking/chatterbox.py +0 -0
- {pylabrobot-0.2.0 → pylabrobot-0.2.1}/pylabrobot/heating_shaking/hamilton_backend.py +0 -0
- {pylabrobot-0.2.0 → pylabrobot-0.2.1}/pylabrobot/heating_shaking/heater_shaker.py +0 -0
- {pylabrobot-0.2.0 → pylabrobot-0.2.1}/pylabrobot/heating_shaking/heater_shaker_tests.py +0 -0
- {pylabrobot-0.2.0 → pylabrobot-0.2.1}/pylabrobot/heating_shaking/inheco/__init__.py +0 -0
- {pylabrobot-0.2.0 → pylabrobot-0.2.1}/pylabrobot/heating_shaking/inheco/thermoshake.py +0 -0
- {pylabrobot-0.2.0 → pylabrobot-0.2.1}/pylabrobot/heating_shaking/inheco/thermoshake_backend.py +0 -0
- {pylabrobot-0.2.0 → pylabrobot-0.2.1}/pylabrobot/io/__init__.py +0 -0
- {pylabrobot-0.2.0 → pylabrobot-0.2.1}/pylabrobot/io/binary.py +0 -0
- {pylabrobot-0.2.0 → pylabrobot-0.2.1}/pylabrobot/io/capture.py +0 -0
- {pylabrobot-0.2.0 → pylabrobot-0.2.1}/pylabrobot/io/errors.py +0 -0
- {pylabrobot-0.2.0 → pylabrobot-0.2.1}/pylabrobot/io/ftdi.py +0 -0
- {pylabrobot-0.2.0 → pylabrobot-0.2.1}/pylabrobot/io/hid.py +0 -0
- {pylabrobot-0.2.0 → pylabrobot-0.2.1}/pylabrobot/io/http.py +0 -0
- {pylabrobot-0.2.0 → pylabrobot-0.2.1}/pylabrobot/io/io.py +0 -0
- {pylabrobot-0.2.0 → pylabrobot-0.2.1}/pylabrobot/io/serial.py +0 -0
- {pylabrobot-0.2.0 → pylabrobot-0.2.1}/pylabrobot/io/sila/grpc.py +0 -0
- {pylabrobot-0.2.0 → pylabrobot-0.2.1}/pylabrobot/io/sila/grpc_tests.py +0 -0
- {pylabrobot-0.2.0 → pylabrobot-0.2.1}/pylabrobot/io/socket.py +0 -0
- {pylabrobot-0.2.0 → pylabrobot-0.2.1}/pylabrobot/io/validation.py +0 -0
- {pylabrobot-0.2.0 → pylabrobot-0.2.1}/pylabrobot/io/validation_utils.py +0 -0
- {pylabrobot-0.2.0 → pylabrobot-0.2.1}/pylabrobot/liquid_handling/__init__.py +0 -0
- {pylabrobot-0.2.0 → pylabrobot-0.2.1}/pylabrobot/liquid_handling/backends/__init__.py +0 -0
- {pylabrobot-0.2.0 → pylabrobot-0.2.1}/pylabrobot/liquid_handling/backends/backend.py +0 -0
- {pylabrobot-0.2.0 → pylabrobot-0.2.1}/pylabrobot/liquid_handling/backends/chatterbox.py +0 -0
- {pylabrobot-0.2.0 → pylabrobot-0.2.1}/pylabrobot/liquid_handling/backends/chatterbox_backend.py +0 -0
- {pylabrobot-0.2.0 → pylabrobot-0.2.1}/pylabrobot/liquid_handling/backends/chatterbox_tests.py +0 -0
- {pylabrobot-0.2.0 → pylabrobot-0.2.1}/pylabrobot/liquid_handling/backends/hamilton/STAR_backend.py +0 -0
- {pylabrobot-0.2.0 → pylabrobot-0.2.1}/pylabrobot/liquid_handling/backends/hamilton/STAR_chatterbox.py +0 -0
- {pylabrobot-0.2.0 → pylabrobot-0.2.1}/pylabrobot/liquid_handling/backends/hamilton/STAR_tests.py +0 -0
- {pylabrobot-0.2.0 → pylabrobot-0.2.1}/pylabrobot/liquid_handling/backends/hamilton/__init__.py +0 -0
- {pylabrobot-0.2.0 → pylabrobot-0.2.1}/pylabrobot/liquid_handling/backends/hamilton/common.py +0 -0
- {pylabrobot-0.2.0 → pylabrobot-0.2.1}/pylabrobot/liquid_handling/backends/hamilton/nimbus_backend.py +0 -0
- {pylabrobot-0.2.0 → pylabrobot-0.2.1}/pylabrobot/liquid_handling/backends/hamilton/nimbus_backend_tests.py +0 -0
- {pylabrobot-0.2.0 → pylabrobot-0.2.1}/pylabrobot/liquid_handling/backends/hamilton/planning.py +0 -0
- {pylabrobot-0.2.0 → pylabrobot-0.2.1}/pylabrobot/liquid_handling/backends/hamilton/planning_tests.py +0 -0
- {pylabrobot-0.2.0 → pylabrobot-0.2.1}/pylabrobot/liquid_handling/backends/hamilton/pump.py +0 -0
- {pylabrobot-0.2.0 → pylabrobot-0.2.1}/pylabrobot/liquid_handling/backends/hamilton/tcp/__init__.py +0 -0
- {pylabrobot-0.2.0 → pylabrobot-0.2.1}/pylabrobot/liquid_handling/backends/hamilton/tcp/commands.py +0 -0
- {pylabrobot-0.2.0 → pylabrobot-0.2.1}/pylabrobot/liquid_handling/backends/hamilton/tcp/introspection.py +0 -0
- {pylabrobot-0.2.0 → pylabrobot-0.2.1}/pylabrobot/liquid_handling/backends/hamilton/tcp/messages.py +0 -0
- {pylabrobot-0.2.0 → pylabrobot-0.2.1}/pylabrobot/liquid_handling/backends/hamilton/tcp/packets.py +0 -0
- {pylabrobot-0.2.0 → pylabrobot-0.2.1}/pylabrobot/liquid_handling/backends/hamilton/tcp/protocol.py +0 -0
- {pylabrobot-0.2.0 → pylabrobot-0.2.1}/pylabrobot/liquid_handling/backends/hamilton/tcp/tcp_tests.py +0 -0
- {pylabrobot-0.2.0 → pylabrobot-0.2.1}/pylabrobot/liquid_handling/backends/hamilton/tcp_backend.py +0 -0
- {pylabrobot-0.2.0 → pylabrobot-0.2.1}/pylabrobot/liquid_handling/backends/hamilton/vantage_backend.py +0 -0
- {pylabrobot-0.2.0 → pylabrobot-0.2.1}/pylabrobot/liquid_handling/backends/hamilton/vantage_tests.py +0 -0
- {pylabrobot-0.2.0 → pylabrobot-0.2.1}/pylabrobot/liquid_handling/backends/opentrons_backend.py +0 -0
- {pylabrobot-0.2.0 → pylabrobot-0.2.1}/pylabrobot/liquid_handling/backends/opentrons_simulator.py +0 -0
- {pylabrobot-0.2.0 → pylabrobot-0.2.1}/pylabrobot/liquid_handling/backends/serializing_backend.py +0 -0
- {pylabrobot-0.2.0 → pylabrobot-0.2.1}/pylabrobot/liquid_handling/backends/serializing_backend_tests.py +0 -0
- {pylabrobot-0.2.0 → pylabrobot-0.2.1}/pylabrobot/liquid_handling/backends/tecan/EVO_backend.py +0 -0
- {pylabrobot-0.2.0 → pylabrobot-0.2.1}/pylabrobot/liquid_handling/backends/tecan/EVO_tests.py +0 -0
- {pylabrobot-0.2.0 → pylabrobot-0.2.1}/pylabrobot/liquid_handling/backends/tecan/__init__.py +0 -0
- {pylabrobot-0.2.0 → pylabrobot-0.2.1}/pylabrobot/liquid_handling/backends/tecan/errors.py +0 -0
- {pylabrobot-0.2.0 → pylabrobot-0.2.1}/pylabrobot/liquid_handling/errors.py +0 -0
- {pylabrobot-0.2.0/pylabrobot/legacy → pylabrobot-0.2.1/pylabrobot/liquid_handling/liquid_classes}/__init__.py +0 -0
- {pylabrobot-0.2.0 → pylabrobot-0.2.1}/pylabrobot/liquid_handling/liquid_classes/hamilton/__init__.py +0 -0
- {pylabrobot-0.2.0 → pylabrobot-0.2.1}/pylabrobot/liquid_handling/liquid_classes/hamilton/base.py +0 -0
- {pylabrobot-0.2.0 → pylabrobot-0.2.1}/pylabrobot/liquid_handling/liquid_classes/hamilton/star.py +0 -0
- {pylabrobot-0.2.0 → pylabrobot-0.2.1}/pylabrobot/liquid_handling/liquid_classes/hamilton/vantage.py +0 -0
- {pylabrobot-0.2.0 → pylabrobot-0.2.1}/pylabrobot/liquid_handling/liquid_classes/tecan.py +0 -0
- {pylabrobot-0.2.0 → pylabrobot-0.2.1}/pylabrobot/liquid_handling/liquid_handler.py +0 -0
- {pylabrobot-0.2.0 → pylabrobot-0.2.1}/pylabrobot/liquid_handling/liquid_handler_tests.py +0 -0
- {pylabrobot-0.2.0 → pylabrobot-0.2.1}/pylabrobot/liquid_handling/standard.py +0 -0
- {pylabrobot-0.2.0 → pylabrobot-0.2.1}/pylabrobot/liquid_handling/strictness.py +0 -0
- {pylabrobot-0.2.0 → pylabrobot-0.2.1}/pylabrobot/liquid_handling/utils.py +0 -0
- {pylabrobot-0.2.0 → pylabrobot-0.2.1}/pylabrobot/machines/__init__.py +0 -0
- {pylabrobot-0.2.0 → pylabrobot-0.2.1}/pylabrobot/machines/backend.py +0 -0
- {pylabrobot-0.2.0 → pylabrobot-0.2.1}/pylabrobot/machines/machine.py +0 -0
- {pylabrobot-0.2.0 → pylabrobot-0.2.1}/pylabrobot/machines/machine_tests.py +0 -0
- {pylabrobot-0.2.0 → pylabrobot-0.2.1}/pylabrobot/only_fans/__init__.py +0 -0
- {pylabrobot-0.2.0 → pylabrobot-0.2.1}/pylabrobot/only_fans/backend.py +0 -0
- {pylabrobot-0.2.0 → pylabrobot-0.2.1}/pylabrobot/only_fans/chatterbox.py +0 -0
- {pylabrobot-0.2.0 → pylabrobot-0.2.1}/pylabrobot/only_fans/fan.py +0 -0
- {pylabrobot-0.2.0 → pylabrobot-0.2.1}/pylabrobot/only_fans/hamilton_hepa_fan_backend.py +0 -0
- {pylabrobot-0.2.0 → pylabrobot-0.2.1}/pylabrobot/peeling/__init__.py +0 -0
- {pylabrobot-0.2.0 → pylabrobot-0.2.1}/pylabrobot/peeling/backend.py +0 -0
- {pylabrobot-0.2.0 → pylabrobot-0.2.1}/pylabrobot/peeling/peeler.py +0 -0
- {pylabrobot-0.2.0 → pylabrobot-0.2.1}/pylabrobot/peeling/xpeel.py +0 -0
- {pylabrobot-0.2.0 → pylabrobot-0.2.1}/pylabrobot/plate_reading/agilent/__init__.py +0 -0
- {pylabrobot-0.2.0 → pylabrobot-0.2.1}/pylabrobot/plate_reading/agilent/biotek_backend.py +0 -0
- {pylabrobot-0.2.0 → pylabrobot-0.2.1}/pylabrobot/plate_reading/agilent/biotek_cytation_backend.py +0 -0
- {pylabrobot-0.2.0 → pylabrobot-0.2.1}/pylabrobot/plate_reading/agilent/biotek_synergy_ht_backend.py +0 -0
- {pylabrobot-0.2.0 → pylabrobot-0.2.1}/pylabrobot/plate_reading/backend.py +0 -0
- {pylabrobot-0.2.0 → pylabrobot-0.2.1}/pylabrobot/plate_reading/biotek_backend.py +0 -0
- {pylabrobot-0.2.0 → pylabrobot-0.2.1}/pylabrobot/plate_reading/biotek_cytation_backend.py +0 -0
- {pylabrobot-0.2.0 → pylabrobot-0.2.1}/pylabrobot/plate_reading/biotek_synergyh1_backend.py +0 -0
- {pylabrobot-0.2.0 → pylabrobot-0.2.1}/pylabrobot/plate_reading/bmg_labtech/__init__.py +0 -0
- {pylabrobot-0.2.0 → pylabrobot-0.2.1}/pylabrobot/plate_reading/bmg_labtech/clario_star_backend.py +0 -0
- {pylabrobot-0.2.0 → pylabrobot-0.2.1}/pylabrobot/plate_reading/byonoy/__init__.py +0 -0
- {pylabrobot-0.2.0 → pylabrobot-0.2.1}/pylabrobot/plate_reading/byonoy/byonoy_a96a.py +0 -0
- {pylabrobot-0.2.0 → pylabrobot-0.2.1}/pylabrobot/plate_reading/byonoy/byonoy_backend.py +0 -0
- {pylabrobot-0.2.0 → pylabrobot-0.2.1}/pylabrobot/plate_reading/byonoy/byonoy_l96.py +0 -0
- {pylabrobot-0.2.0 → pylabrobot-0.2.1}/pylabrobot/plate_reading/byonoy/byonoy_l96a.py +0 -0
- {pylabrobot-0.2.0 → pylabrobot-0.2.1}/pylabrobot/plate_reading/byonoy/byonoy_tests.py +0 -0
- {pylabrobot-0.2.0 → pylabrobot-0.2.1}/pylabrobot/plate_reading/byonoy/parser.py +0 -0
- {pylabrobot-0.2.0 → pylabrobot-0.2.1}/pylabrobot/plate_reading/chatterbox.py +0 -0
- {pylabrobot-0.2.0 → pylabrobot-0.2.1}/pylabrobot/plate_reading/clario_star_backend.py +0 -0
- {pylabrobot-0.2.0 → pylabrobot-0.2.1}/pylabrobot/plate_reading/image_reader.py +0 -0
- {pylabrobot-0.2.0 → pylabrobot-0.2.1}/pylabrobot/plate_reading/imager.py +0 -0
- {pylabrobot-0.2.0 → pylabrobot-0.2.1}/pylabrobot/plate_reading/molecular_devices/__init__.py +0 -0
- {pylabrobot-0.2.0 → pylabrobot-0.2.1}/pylabrobot/plate_reading/molecular_devices/backend.py +0 -0
- {pylabrobot-0.2.0 → pylabrobot-0.2.1}/pylabrobot/plate_reading/molecular_devices/backend_tests.py +0 -0
- {pylabrobot-0.2.0 → pylabrobot-0.2.1}/pylabrobot/plate_reading/molecular_devices/spectramax_384_plus_backend.py +0 -0
- {pylabrobot-0.2.0 → pylabrobot-0.2.1}/pylabrobot/plate_reading/molecular_devices/spectramax_m5_backend.py +0 -0
- {pylabrobot-0.2.0 → pylabrobot-0.2.1}/pylabrobot/plate_reading/molecular_devices_backend.py +0 -0
- {pylabrobot-0.2.0 → pylabrobot-0.2.1}/pylabrobot/plate_reading/plate_reader.py +0 -0
- {pylabrobot-0.2.0 → pylabrobot-0.2.1}/pylabrobot/plate_reading/plate_reader_tests.py +0 -0
- {pylabrobot-0.2.0 → pylabrobot-0.2.1}/pylabrobot/plate_reading/spectramax_384_plus_backend.py +0 -0
- {pylabrobot-0.2.0 → pylabrobot-0.2.1}/pylabrobot/plate_reading/spectramax_m5_backend.py +0 -0
- {pylabrobot-0.2.0 → pylabrobot-0.2.1}/pylabrobot/plate_reading/standard.py +0 -0
- {pylabrobot-0.2.0/pylabrobot/liquid_handling/liquid_classes → pylabrobot-0.2.1/pylabrobot/plate_reading/tecan/spark20m}/__init__.py +0 -0
- {pylabrobot-0.2.0 → pylabrobot-0.2.1}/pylabrobot/plate_washing/__init__.py +0 -0
- {pylabrobot-0.2.0 → pylabrobot-0.2.1}/pylabrobot/plate_washing/biotek/__init__.py +0 -0
- {pylabrobot-0.2.0 → pylabrobot-0.2.1}/pylabrobot/plate_washing/biotek/el406/__init__.py +0 -0
- {pylabrobot-0.2.0 → pylabrobot-0.2.1}/pylabrobot/plate_washing/biotek/el406/actions.py +0 -0
- {pylabrobot-0.2.0 → pylabrobot-0.2.1}/pylabrobot/plate_washing/biotek/el406/actions_tests.py +0 -0
- {pylabrobot-0.2.0 → pylabrobot-0.2.1}/pylabrobot/plate_washing/biotek/el406/backend.py +0 -0
- {pylabrobot-0.2.0 → pylabrobot-0.2.1}/pylabrobot/plate_washing/biotek/el406/batch_tests.py +0 -0
- {pylabrobot-0.2.0 → pylabrobot-0.2.1}/pylabrobot/plate_washing/biotek/el406/communication.py +0 -0
- {pylabrobot-0.2.0 → pylabrobot-0.2.1}/pylabrobot/plate_washing/biotek/el406/communication_tests.py +0 -0
- {pylabrobot-0.2.0 → pylabrobot-0.2.1}/pylabrobot/plate_washing/biotek/el406/enums.py +0 -0
- {pylabrobot-0.2.0 → pylabrobot-0.2.1}/pylabrobot/plate_washing/biotek/el406/error_codes.py +0 -0
- {pylabrobot-0.2.0 → pylabrobot-0.2.1}/pylabrobot/plate_washing/biotek/el406/errors.py +0 -0
- {pylabrobot-0.2.0 → pylabrobot-0.2.1}/pylabrobot/plate_washing/biotek/el406/helpers.py +0 -0
- {pylabrobot-0.2.0 → pylabrobot-0.2.1}/pylabrobot/plate_washing/biotek/el406/helpers_tests.py +0 -0
- {pylabrobot-0.2.0 → pylabrobot-0.2.1}/pylabrobot/plate_washing/biotek/el406/mock_tests.py +0 -0
- {pylabrobot-0.2.0 → pylabrobot-0.2.1}/pylabrobot/plate_washing/biotek/el406/protocol.py +0 -0
- {pylabrobot-0.2.0 → pylabrobot-0.2.1}/pylabrobot/plate_washing/biotek/el406/queries.py +0 -0
- {pylabrobot-0.2.0 → pylabrobot-0.2.1}/pylabrobot/plate_washing/biotek/el406/queries_tests.py +0 -0
- {pylabrobot-0.2.0 → pylabrobot-0.2.1}/pylabrobot/plate_washing/biotek/el406/setup_tests.py +0 -0
- {pylabrobot-0.2.0 → pylabrobot-0.2.1}/pylabrobot/plate_washing/biotek/el406/steps/__init__.py +0 -0
- {pylabrobot-0.2.0 → pylabrobot-0.2.1}/pylabrobot/plate_washing/biotek/el406/steps/_base.py +0 -0
- {pylabrobot-0.2.0 → pylabrobot-0.2.1}/pylabrobot/plate_washing/biotek/el406/steps/_manifold.py +0 -0
- {pylabrobot-0.2.0 → pylabrobot-0.2.1}/pylabrobot/plate_washing/biotek/el406/steps/_peristaltic.py +0 -0
- {pylabrobot-0.2.0 → pylabrobot-0.2.1}/pylabrobot/plate_washing/biotek/el406/steps/_shake.py +0 -0
- {pylabrobot-0.2.0 → pylabrobot-0.2.1}/pylabrobot/plate_washing/biotek/el406/steps/_syringe.py +0 -0
- {pylabrobot-0.2.0 → pylabrobot-0.2.1}/pylabrobot/plate_washing/biotek/el406/steps_aspirate_tests.py +0 -0
- {pylabrobot-0.2.0 → pylabrobot-0.2.1}/pylabrobot/plate_washing/biotek/el406/steps_dispense_tests.py +0 -0
- {pylabrobot-0.2.0 → pylabrobot-0.2.1}/pylabrobot/plate_washing/biotek/el406/steps_peristaltic_tests.py +0 -0
- {pylabrobot-0.2.0 → pylabrobot-0.2.1}/pylabrobot/plate_washing/biotek/el406/steps_prime_tests.py +0 -0
- {pylabrobot-0.2.0 → pylabrobot-0.2.1}/pylabrobot/plate_washing/biotek/el406/steps_shake_tests.py +0 -0
- {pylabrobot-0.2.0 → pylabrobot-0.2.1}/pylabrobot/plate_washing/biotek/el406/steps_wash_tests.py +0 -0
- {pylabrobot-0.2.0 → pylabrobot-0.2.1}/pylabrobot/powder_dispensing/__init__.py +0 -0
- {pylabrobot-0.2.0 → pylabrobot-0.2.1}/pylabrobot/powder_dispensing/backend.py +0 -0
- {pylabrobot-0.2.0 → pylabrobot-0.2.1}/pylabrobot/powder_dispensing/chatterbox.py +0 -0
- {pylabrobot-0.2.0 → pylabrobot-0.2.1}/pylabrobot/powder_dispensing/powder_dispenser.py +0 -0
- {pylabrobot-0.2.0 → pylabrobot-0.2.1}/pylabrobot/powder_dispensing/powder_dispenser_tests.py +0 -0
- {pylabrobot-0.2.0 → pylabrobot-0.2.1}/pylabrobot/pumps/__init__.py +0 -0
- {pylabrobot-0.2.0 → pylabrobot-0.2.1}/pylabrobot/pumps/agrowpumps/__init__.py +0 -0
- {pylabrobot-0.2.0 → pylabrobot-0.2.1}/pylabrobot/pumps/backend.py +0 -0
- {pylabrobot-0.2.0 → pylabrobot-0.2.1}/pylabrobot/pumps/calibration.py +0 -0
- {pylabrobot-0.2.0 → pylabrobot-0.2.1}/pylabrobot/pumps/calibration_tests.py +0 -0
- {pylabrobot-0.2.0 → pylabrobot-0.2.1}/pylabrobot/pumps/chatterbox.py +0 -0
- {pylabrobot-0.2.0 → pylabrobot-0.2.1}/pylabrobot/pumps/cole_parmer/__init__.py +0 -0
- {pylabrobot-0.2.0 → pylabrobot-0.2.1}/pylabrobot/pumps/errors.py +0 -0
- {pylabrobot-0.2.0 → pylabrobot-0.2.1}/pylabrobot/pumps/pump.py +0 -0
- {pylabrobot-0.2.0 → pylabrobot-0.2.1}/pylabrobot/pumps/pump_tests.py +0 -0
- {pylabrobot-0.2.0 → pylabrobot-0.2.1}/pylabrobot/pumps/pumparray.py +0 -0
- {pylabrobot-0.2.0 → pylabrobot-0.2.1}/pylabrobot/resources/__init__.py +0 -0
- {pylabrobot-0.2.0 → pylabrobot-0.2.1}/pylabrobot/resources/agenbio/__init__.py +0 -0
- {pylabrobot-0.2.0 → pylabrobot-0.2.1}/pylabrobot/resources/agenbio/plates.py +0 -0
- {pylabrobot-0.2.0 → pylabrobot-0.2.1}/pylabrobot/resources/agilent/__init__.py +0 -0
- {pylabrobot-0.2.0 → pylabrobot-0.2.1}/pylabrobot/resources/agilent/plates.py +0 -0
- {pylabrobot-0.2.0 → pylabrobot-0.2.1}/pylabrobot/resources/alpaqua/__init__.py +0 -0
- {pylabrobot-0.2.0 → pylabrobot-0.2.1}/pylabrobot/resources/alpaqua/magnetic_racks.py +0 -0
- {pylabrobot-0.2.0 → pylabrobot-0.2.1}/pylabrobot/resources/azenta/__init__.py +0 -0
- {pylabrobot-0.2.0 → pylabrobot-0.2.1}/pylabrobot/resources/azenta/plates.py +0 -0
- {pylabrobot-0.2.0 → pylabrobot-0.2.1}/pylabrobot/resources/barcode.py +0 -0
- {pylabrobot-0.2.0 → pylabrobot-0.2.1}/pylabrobot/resources/bioer/__init__.py +0 -0
- {pylabrobot-0.2.0 → pylabrobot-0.2.1}/pylabrobot/resources/bioer/plates.py +0 -0
- {pylabrobot-0.2.0 → pylabrobot-0.2.1}/pylabrobot/resources/biorad/__init__.py +0 -0
- {pylabrobot-0.2.0 → pylabrobot-0.2.1}/pylabrobot/resources/biorad/plates.py +0 -0
- {pylabrobot-0.2.0 → pylabrobot-0.2.1}/pylabrobot/resources/boekel/__init__.py +0 -0
- {pylabrobot-0.2.0 → pylabrobot-0.2.1}/pylabrobot/resources/boekel/tube_carriers.py +0 -0
- {pylabrobot-0.2.0 → pylabrobot-0.2.1}/pylabrobot/resources/carrier.py +0 -0
- {pylabrobot-0.2.0 → pylabrobot-0.2.1}/pylabrobot/resources/carrier_tests.py +0 -0
- {pylabrobot-0.2.0 → pylabrobot-0.2.1}/pylabrobot/resources/celltreat/__init__.py +0 -0
- {pylabrobot-0.2.0 → pylabrobot-0.2.1}/pylabrobot/resources/celltreat/plates.py +0 -0
- {pylabrobot-0.2.0 → pylabrobot-0.2.1}/pylabrobot/resources/celltreat/tubes.py +0 -0
- {pylabrobot-0.2.0 → pylabrobot-0.2.1}/pylabrobot/resources/cellvis/__init__.py +0 -0
- {pylabrobot-0.2.0 → pylabrobot-0.2.1}/pylabrobot/resources/cellvis/plates.py +0 -0
- {pylabrobot-0.2.0 → pylabrobot-0.2.1}/pylabrobot/resources/coordinate.py +0 -0
- {pylabrobot-0.2.0 → pylabrobot-0.2.1}/pylabrobot/resources/coordinate_tests.py +0 -0
- {pylabrobot-0.2.0 → pylabrobot-0.2.1}/pylabrobot/resources/corning/__init__.py +0 -0
- {pylabrobot-0.2.0 → pylabrobot-0.2.1}/pylabrobot/resources/corning/axygen/__init__.py +0 -0
- {pylabrobot-0.2.0 → pylabrobot-0.2.1}/pylabrobot/resources/corning/axygen/plates.py +0 -0
- {pylabrobot-0.2.0 → pylabrobot-0.2.1}/pylabrobot/resources/corning/costar/__init__.py +0 -0
- {pylabrobot-0.2.0 → pylabrobot-0.2.1}/pylabrobot/resources/corning/costar/plates.py +0 -0
- {pylabrobot-0.2.0 → pylabrobot-0.2.1}/pylabrobot/resources/corning/falcon/__init__.py +0 -0
- {pylabrobot-0.2.0 → pylabrobot-0.2.1}/pylabrobot/resources/corning/falcon/plates.py +0 -0
- {pylabrobot-0.2.0 → pylabrobot-0.2.1}/pylabrobot/resources/corning/falcon/tubes.py +0 -0
- {pylabrobot-0.2.0 → pylabrobot-0.2.1}/pylabrobot/resources/deck.py +0 -0
- {pylabrobot-0.2.0 → pylabrobot-0.2.1}/pylabrobot/resources/deck_tests.py +0 -0
- {pylabrobot-0.2.0 → pylabrobot-0.2.1}/pylabrobot/resources/distribute_fixed_volume_w_dispense_offsets.py +0 -0
- {pylabrobot-0.2.0 → pylabrobot-0.2.1}/pylabrobot/resources/diy/__init__.py +0 -0
- {pylabrobot-0.2.0 → pylabrobot-0.2.1}/pylabrobot/resources/diy/davidnedrud/__init__.py +0 -0
- {pylabrobot-0.2.0 → pylabrobot-0.2.1}/pylabrobot/resources/diy/davidnedrud/modules.py +0 -0
- {pylabrobot-0.2.0 → pylabrobot-0.2.1}/pylabrobot/resources/diy/grindbio/__init__.py +0 -0
- {pylabrobot-0.2.0 → pylabrobot-0.2.1}/pylabrobot/resources/diy/grindbio/modules.py +0 -0
- {pylabrobot-0.2.0 → pylabrobot-0.2.1}/pylabrobot/resources/eppendorf/__init__.py +0 -0
- {pylabrobot-0.2.0 → pylabrobot-0.2.1}/pylabrobot/resources/errors.py +0 -0
- {pylabrobot-0.2.0 → pylabrobot-0.2.1}/pylabrobot/resources/falcon/__init__.py +0 -0
- {pylabrobot-0.2.0 → pylabrobot-0.2.1}/pylabrobot/resources/falcon/plates.py +0 -0
- {pylabrobot-0.2.0 → pylabrobot-0.2.1}/pylabrobot/resources/falcon/tubes.py +0 -0
- {pylabrobot-0.2.0 → pylabrobot-0.2.1}/pylabrobot/resources/functional.py +0 -0
- {pylabrobot-0.2.0 → pylabrobot-0.2.1}/pylabrobot/resources/greiner/__init__.py +0 -0
- {pylabrobot-0.2.0 → pylabrobot-0.2.1}/pylabrobot/resources/greiner/plates.py +0 -0
- {pylabrobot-0.2.0 → pylabrobot-0.2.1}/pylabrobot/resources/hamilton/__init__.py +0 -0
- {pylabrobot-0.2.0 → pylabrobot-0.2.1}/pylabrobot/resources/hamilton/hamilton_deck_tests.py +0 -0
- {pylabrobot-0.2.0 → pylabrobot-0.2.1}/pylabrobot/resources/hamilton/hamilton_decks.py +0 -0
- {pylabrobot-0.2.0 → pylabrobot-0.2.1}/pylabrobot/resources/hamilton/mfx_carriers.py +0 -0
- {pylabrobot-0.2.0 → pylabrobot-0.2.1}/pylabrobot/resources/hamilton/mfx_modules.py +0 -0
- {pylabrobot-0.2.0 → pylabrobot-0.2.1}/pylabrobot/resources/hamilton/nimbus_decks.py +0 -0
- {pylabrobot-0.2.0 → pylabrobot-0.2.1}/pylabrobot/resources/hamilton/plate_adapters.py +0 -0
- {pylabrobot-0.2.0 → pylabrobot-0.2.1}/pylabrobot/resources/hamilton/plate_carriers.py +0 -0
- {pylabrobot-0.2.0 → pylabrobot-0.2.1}/pylabrobot/resources/hamilton/tip_carriers.py +0 -0
- {pylabrobot-0.2.0 → pylabrobot-0.2.1}/pylabrobot/resources/hamilton/tip_creators.py +0 -0
- {pylabrobot-0.2.0 → pylabrobot-0.2.1}/pylabrobot/resources/hamilton/tip_racks.py +0 -0
- {pylabrobot-0.2.0 → pylabrobot-0.2.1}/pylabrobot/resources/hamilton/tip_racks_tests.py +0 -0
- {pylabrobot-0.2.0 → pylabrobot-0.2.1}/pylabrobot/resources/hamilton/tube_carriers.py +0 -0
- {pylabrobot-0.2.0 → pylabrobot-0.2.1}/pylabrobot/resources/hamilton/vantage_decks.py +0 -0
- {pylabrobot-0.2.0 → pylabrobot-0.2.1}/pylabrobot/resources/height_functions.py +0 -0
- {pylabrobot-0.2.0 → pylabrobot-0.2.1}/pylabrobot/resources/height_volume_functions.py +0 -0
- {pylabrobot-0.2.0 → pylabrobot-0.2.1}/pylabrobot/resources/imcs/__init__.py +0 -0
- {pylabrobot-0.2.0 → pylabrobot-0.2.1}/pylabrobot/resources/imcs/tip_racks.py +0 -0
- {pylabrobot-0.2.0 → pylabrobot-0.2.1}/pylabrobot/resources/itemized_resource.py +0 -0
- {pylabrobot-0.2.0 → pylabrobot-0.2.1}/pylabrobot/resources/itemized_resource_tests.py +0 -0
- {pylabrobot-0.2.0 → pylabrobot-0.2.1}/pylabrobot/resources/liquid.py +0 -0
- {pylabrobot-0.2.0 → pylabrobot-0.2.1}/pylabrobot/resources/nest/__init__.py +0 -0
- {pylabrobot-0.2.0 → pylabrobot-0.2.1}/pylabrobot/resources/nest/plates.py +0 -0
- {pylabrobot-0.2.0 → pylabrobot-0.2.1}/pylabrobot/resources/opentrons/__init__.py +0 -0
- {pylabrobot-0.2.0 → pylabrobot-0.2.1}/pylabrobot/resources/opentrons/adapters.py +0 -0
- {pylabrobot-0.2.0 → pylabrobot-0.2.1}/pylabrobot/resources/opentrons/deck.py +0 -0
- {pylabrobot-0.2.0 → pylabrobot-0.2.1}/pylabrobot/resources/opentrons/deck_tests.py +0 -0
- {pylabrobot-0.2.0 → pylabrobot-0.2.1}/pylabrobot/resources/opentrons/load.py +0 -0
- {pylabrobot-0.2.0 → pylabrobot-0.2.1}/pylabrobot/resources/opentrons/module.py +0 -0
- {pylabrobot-0.2.0 → pylabrobot-0.2.1}/pylabrobot/resources/opentrons/tip_racks.py +0 -0
- {pylabrobot-0.2.0 → pylabrobot-0.2.1}/pylabrobot/resources/opentrons/tube_racks.py +0 -0
- {pylabrobot-0.2.0 → pylabrobot-0.2.1}/pylabrobot/resources/perkin_elmer/__init__.py +0 -0
- {pylabrobot-0.2.0 → pylabrobot-0.2.1}/pylabrobot/resources/perkin_elmer/plates.py +0 -0
- {pylabrobot-0.2.0 → pylabrobot-0.2.1}/pylabrobot/resources/plate.py +0 -0
- {pylabrobot-0.2.0 → pylabrobot-0.2.1}/pylabrobot/resources/plate_adapter.py +0 -0
- {pylabrobot-0.2.0 → pylabrobot-0.2.1}/pylabrobot/resources/plate_adapter_tests.py +0 -0
- {pylabrobot-0.2.0 → pylabrobot-0.2.1}/pylabrobot/resources/plate_tests.py +0 -0
- {pylabrobot-0.2.0 → pylabrobot-0.2.1}/pylabrobot/resources/porvair/__init__.py +0 -0
- {pylabrobot-0.2.0 → pylabrobot-0.2.1}/pylabrobot/resources/porvair/plates.py +0 -0
- {pylabrobot-0.2.0 → pylabrobot-0.2.1}/pylabrobot/resources/powder.py +0 -0
- {pylabrobot-0.2.0 → pylabrobot-0.2.1}/pylabrobot/resources/resource.py +0 -0
- {pylabrobot-0.2.0 → pylabrobot-0.2.1}/pylabrobot/resources/resource_holder.py +0 -0
- {pylabrobot-0.2.0 → pylabrobot-0.2.1}/pylabrobot/resources/resource_holder_tests.py +0 -0
- {pylabrobot-0.2.0 → pylabrobot-0.2.1}/pylabrobot/resources/resource_stack.py +0 -0
- {pylabrobot-0.2.0 → pylabrobot-0.2.1}/pylabrobot/resources/resource_stack_tests.py +0 -0
- {pylabrobot-0.2.0 → pylabrobot-0.2.1}/pylabrobot/resources/resource_tests.py +0 -0
- {pylabrobot-0.2.0 → pylabrobot-0.2.1}/pylabrobot/resources/revvity/__init__.py +0 -0
- {pylabrobot-0.2.0 → pylabrobot-0.2.1}/pylabrobot/resources/revvity/plates.py +0 -0
- {pylabrobot-0.2.0 → pylabrobot-0.2.1}/pylabrobot/resources/rotation.py +0 -0
- {pylabrobot-0.2.0 → pylabrobot-0.2.1}/pylabrobot/resources/sergi/__init__.py +0 -0
- {pylabrobot-0.2.0 → pylabrobot-0.2.1}/pylabrobot/resources/sergi/plate_adapters.py +0 -0
- {pylabrobot-0.2.0 → pylabrobot-0.2.1}/pylabrobot/resources/tecan/__init__.py +0 -0
- {pylabrobot-0.2.0 → pylabrobot-0.2.1}/pylabrobot/resources/tecan/plate_carriers.py +0 -0
- {pylabrobot-0.2.0 → pylabrobot-0.2.1}/pylabrobot/resources/tecan/plates.py +0 -0
- {pylabrobot-0.2.0 → pylabrobot-0.2.1}/pylabrobot/resources/tecan/tecan_decks.py +0 -0
- {pylabrobot-0.2.0 → pylabrobot-0.2.1}/pylabrobot/resources/tecan/tecan_resource.py +0 -0
- {pylabrobot-0.2.0 → pylabrobot-0.2.1}/pylabrobot/resources/tecan/tip_carriers.py +0 -0
- {pylabrobot-0.2.0 → pylabrobot-0.2.1}/pylabrobot/resources/tecan/tip_creators.py +0 -0
- {pylabrobot-0.2.0 → pylabrobot-0.2.1}/pylabrobot/resources/tecan/tip_racks.py +0 -0
- {pylabrobot-0.2.0 → pylabrobot-0.2.1}/pylabrobot/resources/tecan/trash.py +0 -0
- {pylabrobot-0.2.0 → pylabrobot-0.2.1}/pylabrobot/resources/tecan/wash.py +0 -0
- {pylabrobot-0.2.0 → pylabrobot-0.2.1}/pylabrobot/resources/thermo_fisher/__init__.py +0 -0
- {pylabrobot-0.2.0 → pylabrobot-0.2.1}/pylabrobot/resources/thermo_fisher/troughs.py +0 -0
- {pylabrobot-0.2.0 → pylabrobot-0.2.1}/pylabrobot/resources/tip.py +0 -0
- {pylabrobot-0.2.0 → pylabrobot-0.2.1}/pylabrobot/resources/tip_rack.py +0 -0
- {pylabrobot-0.2.0 → pylabrobot-0.2.1}/pylabrobot/resources/tip_rack_tests.py +0 -0
- {pylabrobot-0.2.0 → pylabrobot-0.2.1}/pylabrobot/resources/tip_tests.py +0 -0
- {pylabrobot-0.2.0 → pylabrobot-0.2.1}/pylabrobot/resources/tip_tracker.py +0 -0
- {pylabrobot-0.2.0 → pylabrobot-0.2.1}/pylabrobot/resources/tip_tracker_tests.py +0 -0
- {pylabrobot-0.2.0 → pylabrobot-0.2.1}/pylabrobot/resources/tube_rack.py +0 -0
- {pylabrobot-0.2.0 → pylabrobot-0.2.1}/pylabrobot/resources/utils.py +0 -0
- {pylabrobot-0.2.0 → pylabrobot-0.2.1}/pylabrobot/resources/utils_tests.py +0 -0
- {pylabrobot-0.2.0 → pylabrobot-0.2.1}/pylabrobot/resources/volume_functions.py +0 -0
- {pylabrobot-0.2.0 → pylabrobot-0.2.1}/pylabrobot/resources/volume_functions_tests.py +0 -0
- {pylabrobot-0.2.0 → pylabrobot-0.2.1}/pylabrobot/resources/volume_tracker.py +0 -0
- {pylabrobot-0.2.0 → pylabrobot-0.2.1}/pylabrobot/resources/volume_tracker_tests.py +0 -0
- {pylabrobot-0.2.0 → pylabrobot-0.2.1}/pylabrobot/resources/vwr/__init__.py +0 -0
- {pylabrobot-0.2.0 → pylabrobot-0.2.1}/pylabrobot/resources/vwr/plates.py +0 -0
- {pylabrobot-0.2.0 → pylabrobot-0.2.1}/pylabrobot/resources/vwr/troughs.py +0 -0
- {pylabrobot-0.2.0 → pylabrobot-0.2.1}/pylabrobot/scales/__init__.py +0 -0
- {pylabrobot-0.2.0 → pylabrobot-0.2.1}/pylabrobot/scales/chatterbox.py +0 -0
- {pylabrobot-0.2.0 → pylabrobot-0.2.1}/pylabrobot/scales/mettler_toledo_backend.py +0 -0
- {pylabrobot-0.2.0 → pylabrobot-0.2.1}/pylabrobot/scales/scale.py +0 -0
- {pylabrobot-0.2.0 → pylabrobot-0.2.1}/pylabrobot/scales/scale_backend.py +0 -0
- {pylabrobot-0.2.0 → pylabrobot-0.2.1}/pylabrobot/sealing/__init__.py +0 -0
- {pylabrobot-0.2.0 → pylabrobot-0.2.1}/pylabrobot/sealing/a4s.py +0 -0
- {pylabrobot-0.2.0 → pylabrobot-0.2.1}/pylabrobot/sealing/backend.py +0 -0
- {pylabrobot-0.2.0 → pylabrobot-0.2.1}/pylabrobot/sealing/sealer.py +0 -0
- {pylabrobot-0.2.0 → pylabrobot-0.2.1}/pylabrobot/serializer.py +0 -0
- {pylabrobot-0.2.0 → pylabrobot-0.2.1}/pylabrobot/shaking/__init__.py +0 -0
- {pylabrobot-0.2.0 → pylabrobot-0.2.1}/pylabrobot/shaking/backend.py +0 -0
- {pylabrobot-0.2.0 → pylabrobot-0.2.1}/pylabrobot/shaking/chatterbox.py +0 -0
- {pylabrobot-0.2.0 → pylabrobot-0.2.1}/pylabrobot/shaking/shaker.py +0 -0
- {pylabrobot-0.2.0 → pylabrobot-0.2.1}/pylabrobot/shaking/shaker_tests.py +0 -0
- {pylabrobot-0.2.0 → pylabrobot-0.2.1}/pylabrobot/storage/__init__.py +0 -0
- {pylabrobot-0.2.0 → pylabrobot-0.2.1}/pylabrobot/storage/backend.py +0 -0
- {pylabrobot-0.2.0 → pylabrobot-0.2.1}/pylabrobot/storage/chatterbox.py +0 -0
- {pylabrobot-0.2.0 → pylabrobot-0.2.1}/pylabrobot/storage/cytomat/__init__.py +0 -0
- {pylabrobot-0.2.0 → pylabrobot-0.2.1}/pylabrobot/storage/cytomat/constants.py +0 -0
- {pylabrobot-0.2.0 → pylabrobot-0.2.1}/pylabrobot/storage/cytomat/errors.py +0 -0
- {pylabrobot-0.2.0 → pylabrobot-0.2.1}/pylabrobot/storage/cytomat/racks.py +0 -0
- {pylabrobot-0.2.0 → pylabrobot-0.2.1}/pylabrobot/storage/cytomat/schemas.py +0 -0
- {pylabrobot-0.2.0 → pylabrobot-0.2.1}/pylabrobot/storage/cytomat/utils.py +0 -0
- {pylabrobot-0.2.0 → pylabrobot-0.2.1}/pylabrobot/storage/incubator.py +0 -0
- {pylabrobot-0.2.0 → pylabrobot-0.2.1}/pylabrobot/storage/incubator_tests.py +0 -0
- {pylabrobot-0.2.0 → pylabrobot-0.2.1}/pylabrobot/storage/inheco/__init__.py +0 -0
- {pylabrobot-0.2.0 → pylabrobot-0.2.1}/pylabrobot/storage/inheco/incubator_shaker.py +0 -0
- {pylabrobot-0.2.0 → pylabrobot-0.2.1}/pylabrobot/storage/inheco/scila/__init__.py +0 -0
- {pylabrobot-0.2.0 → pylabrobot-0.2.1}/pylabrobot/storage/inheco/scila/inheco_sila_interface.py +0 -0
- {pylabrobot-0.2.0 → pylabrobot-0.2.1}/pylabrobot/storage/inheco/scila/scila_backend.py +0 -0
- {pylabrobot-0.2.0 → pylabrobot-0.2.1}/pylabrobot/storage/inheco/scila/scila_backend_tests.py +0 -0
- {pylabrobot-0.2.0 → pylabrobot-0.2.1}/pylabrobot/storage/inheco/scila/soap.py +0 -0
- {pylabrobot-0.2.0 → pylabrobot-0.2.1}/pylabrobot/storage/liconic/__init__.py +0 -0
- {pylabrobot-0.2.0 → pylabrobot-0.2.1}/pylabrobot/storage/liconic/constants.py +0 -0
- {pylabrobot-0.2.0 → pylabrobot-0.2.1}/pylabrobot/storage/liconic/errors.py +0 -0
- {pylabrobot-0.2.0 → pylabrobot-0.2.1}/pylabrobot/storage/liconic/racks.py +0 -0
- {pylabrobot-0.2.0 → pylabrobot-0.2.1}/pylabrobot/temperature_controlling/__init__.py +0 -0
- {pylabrobot-0.2.0 → pylabrobot-0.2.1}/pylabrobot/temperature_controlling/backend.py +0 -0
- {pylabrobot-0.2.0 → pylabrobot-0.2.1}/pylabrobot/temperature_controlling/chatterbox.py +0 -0
- {pylabrobot-0.2.0 → pylabrobot-0.2.1}/pylabrobot/temperature_controlling/inheco/__init__.py +0 -0
- {pylabrobot-0.2.0 → pylabrobot-0.2.1}/pylabrobot/temperature_controlling/inheco/control_box.py +0 -0
- {pylabrobot-0.2.0 → pylabrobot-0.2.1}/pylabrobot/temperature_controlling/inheco/cpac.py +0 -0
- {pylabrobot-0.2.0 → pylabrobot-0.2.1}/pylabrobot/temperature_controlling/inheco/cpac_backend.py +0 -0
- {pylabrobot-0.2.0 → pylabrobot-0.2.1}/pylabrobot/temperature_controlling/inheco/temperature_controller.py +0 -0
- {pylabrobot-0.2.0 → pylabrobot-0.2.1}/pylabrobot/temperature_controlling/opentrons.py +0 -0
- {pylabrobot-0.2.0 → pylabrobot-0.2.1}/pylabrobot/temperature_controlling/opentrons_backend.py +0 -0
- {pylabrobot-0.2.0 → pylabrobot-0.2.1}/pylabrobot/temperature_controlling/opentrons_backend_usb.py +0 -0
- {pylabrobot-0.2.0 → pylabrobot-0.2.1}/pylabrobot/temperature_controlling/temperature_controller.py +0 -0
- {pylabrobot-0.2.0 → pylabrobot-0.2.1}/pylabrobot/temperature_controlling/temperature_controller_tests.py +0 -0
- {pylabrobot-0.2.0 → pylabrobot-0.2.1}/pylabrobot/thermocycling/__init__.py +0 -0
- {pylabrobot-0.2.0 → pylabrobot-0.2.1}/pylabrobot/thermocycling/backend.py +0 -0
- {pylabrobot-0.2.0 → pylabrobot-0.2.1}/pylabrobot/thermocycling/chatterbox.py +0 -0
- {pylabrobot-0.2.0 → pylabrobot-0.2.1}/pylabrobot/thermocycling/chatterbox_tests.py +0 -0
- {pylabrobot-0.2.0 → pylabrobot-0.2.1}/pylabrobot/thermocycling/inheco/__init__.py +0 -0
- {pylabrobot-0.2.0 → pylabrobot-0.2.1}/pylabrobot/thermocycling/inheco/odtc_backend.py +0 -0
- {pylabrobot-0.2.0 → pylabrobot-0.2.1}/pylabrobot/thermocycling/opentrons.py +0 -0
- {pylabrobot-0.2.0 → pylabrobot-0.2.1}/pylabrobot/thermocycling/opentrons_backend.py +0 -0
- {pylabrobot-0.2.0 → pylabrobot-0.2.1}/pylabrobot/thermocycling/opentrons_backend_usb.py +0 -0
- {pylabrobot-0.2.0 → pylabrobot-0.2.1}/pylabrobot/thermocycling/standard.py +0 -0
- {pylabrobot-0.2.0 → pylabrobot-0.2.1}/pylabrobot/thermocycling/thermo_fisher/__init__.py +0 -0
- {pylabrobot-0.2.0 → pylabrobot-0.2.1}/pylabrobot/thermocycling/thermo_fisher/atc.py +0 -0
- {pylabrobot-0.2.0 → pylabrobot-0.2.1}/pylabrobot/thermocycling/thermo_fisher/proflex.py +0 -0
- {pylabrobot-0.2.0 → pylabrobot-0.2.1}/pylabrobot/thermocycling/thermo_fisher/proflex_tests.py +0 -0
- {pylabrobot-0.2.0 → pylabrobot-0.2.1}/pylabrobot/thermocycling/thermo_fisher/thermo_fisher_thermocycler.py +0 -0
- {pylabrobot-0.2.0 → pylabrobot-0.2.1}/pylabrobot/thermocycling/thermocycler.py +0 -0
- {pylabrobot-0.2.0 → pylabrobot-0.2.1}/pylabrobot/thermocycling/thermocycler_tests.py +0 -0
- {pylabrobot-0.2.0 → pylabrobot-0.2.1}/pylabrobot/tilting/__init__.py +0 -0
- {pylabrobot-0.2.0 → pylabrobot-0.2.1}/pylabrobot/tilting/chatterbox.py +0 -0
- {pylabrobot-0.2.0 → pylabrobot-0.2.1}/pylabrobot/tilting/hamilton.py +0 -0
- {pylabrobot-0.2.0 → pylabrobot-0.2.1}/pylabrobot/tilting/hamilton_backend.py +0 -0
- {pylabrobot-0.2.0 → pylabrobot-0.2.1}/pylabrobot/tilting/tilter.py +0 -0
- {pylabrobot-0.2.0 → pylabrobot-0.2.1}/pylabrobot/tilting/tilter_backend.py +0 -0
- {pylabrobot-0.2.0 → pylabrobot-0.2.1}/pylabrobot/utils/__init__.py +0 -0
- {pylabrobot-0.2.0 → pylabrobot-0.2.1}/pylabrobot/utils/file_parsing.py +0 -0
- {pylabrobot-0.2.0 → pylabrobot-0.2.1}/pylabrobot/utils/interpolation.py +0 -0
- {pylabrobot-0.2.0 → pylabrobot-0.2.1}/pylabrobot/utils/linalg.py +0 -0
- {pylabrobot-0.2.0 → pylabrobot-0.2.1}/pylabrobot/utils/linalg_tests.py +0 -0
- {pylabrobot-0.2.0 → pylabrobot-0.2.1}/pylabrobot/utils/list.py +0 -0
- {pylabrobot-0.2.0 → pylabrobot-0.2.1}/pylabrobot/utils/list_tests.py +0 -0
- {pylabrobot-0.2.0 → pylabrobot-0.2.1}/pylabrobot/utils/object_parsing.py +0 -0
- {pylabrobot-0.2.0 → pylabrobot-0.2.1}/pylabrobot/utils/positions.py +0 -0
- {pylabrobot-0.2.0 → pylabrobot-0.2.1}/pylabrobot/utils/positions_tests.py +0 -0
- {pylabrobot-0.2.0 → pylabrobot-0.2.1}/pylabrobot/visualizer/__init__.py +0 -0
- {pylabrobot-0.2.0 → pylabrobot-0.2.1}/pylabrobot/visualizer/gif.js +0 -0
- {pylabrobot-0.2.0 → pylabrobot-0.2.1}/pylabrobot/visualizer/gif.worker.js +0 -0
- {pylabrobot-0.2.0 → pylabrobot-0.2.1}/pylabrobot/visualizer/index.html +0 -0
- {pylabrobot-0.2.0 → pylabrobot-0.2.1}/pylabrobot/visualizer/main.css +0 -0
- {pylabrobot-0.2.0 → pylabrobot-0.2.1}/pylabrobot/visualizer/vis.js +0 -0
- {pylabrobot-0.2.0 → pylabrobot-0.2.1}/setup.cfg +0 -0
|
@@ -1,51 +1,51 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: PyLabRobot
|
|
3
|
-
Version: 0.2.
|
|
3
|
+
Version: 0.2.1
|
|
4
4
|
Summary: A hardware agnostic platform for lab automation
|
|
5
5
|
License: MIT
|
|
6
6
|
Project-URL: Homepage, https://github.com/pylabrobot/pylabrobot
|
|
7
7
|
Requires-Python: >=3.9
|
|
8
8
|
Description-Content-Type: text/markdown
|
|
9
9
|
License-File: LICENSE
|
|
10
|
-
Requires-Dist: typing_extensions
|
|
10
|
+
Requires-Dist: typing_extensions
|
|
11
|
+
Requires-Dist: websockets
|
|
11
12
|
Provides-Extra: serial
|
|
12
|
-
Requires-Dist: pyserial
|
|
13
|
+
Requires-Dist: pyserial; extra == "serial"
|
|
13
14
|
Provides-Extra: usb
|
|
14
|
-
Requires-Dist: pyusb
|
|
15
|
-
Requires-Dist: libusb-package
|
|
15
|
+
Requires-Dist: pyusb; extra == "usb"
|
|
16
|
+
Requires-Dist: libusb-package; extra == "usb"
|
|
16
17
|
Provides-Extra: ftdi
|
|
17
|
-
Requires-Dist: pylibftdi
|
|
18
|
-
Requires-Dist: pyusb
|
|
18
|
+
Requires-Dist: pylibftdi; extra == "ftdi"
|
|
19
|
+
Requires-Dist: pyusb; extra == "ftdi"
|
|
19
20
|
Provides-Extra: hid
|
|
20
|
-
Requires-Dist: hid
|
|
21
|
+
Requires-Dist: hid; extra == "hid"
|
|
21
22
|
Provides-Extra: modbus
|
|
22
|
-
Requires-Dist: pymodbus
|
|
23
|
-
Provides-Extra: websockets
|
|
24
|
-
Requires-Dist: websockets==15.0.1; extra == "websockets"
|
|
25
|
-
Provides-Extra: visualizer
|
|
26
|
-
Requires-Dist: websockets==15.0.1; extra == "visualizer"
|
|
23
|
+
Requires-Dist: pymodbus<3.7.0,>=3.0.0; extra == "modbus"
|
|
27
24
|
Provides-Extra: opentrons
|
|
28
|
-
Requires-Dist: opentrons-http-api-client; extra == "opentrons"
|
|
25
|
+
Requires-Dist: opentrons-http-api-client==0.2.0; extra == "opentrons"
|
|
29
26
|
Provides-Extra: sila
|
|
30
27
|
Requires-Dist: zeroconf>=0.131.0; extra == "sila"
|
|
31
|
-
|
|
32
|
-
|
|
28
|
+
Requires-Dist: grpcio; extra == "sila"
|
|
29
|
+
Provides-Extra: microscopy
|
|
30
|
+
Requires-Dist: numpy>=1.26; extra == "microscopy"
|
|
31
|
+
Requires-Dist: opencv-python; extra == "microscopy"
|
|
32
|
+
Provides-Extra: pico
|
|
33
|
+
Requires-Dist: PyLabRobot[microscopy,sila]; extra == "pico"
|
|
34
|
+
Provides-Extra: all
|
|
35
|
+
Requires-Dist: PyLabRobot[ftdi,hid,modbus,opentrons,serial,sila,usb,visualizer,websockets]; extra == "all"
|
|
36
|
+
Provides-Extra: test
|
|
37
|
+
Requires-Dist: pytest; extra == "test"
|
|
38
|
+
Requires-Dist: pytest-timeout; extra == "test"
|
|
33
39
|
Provides-Extra: dev
|
|
34
|
-
Requires-Dist: PyLabRobot[
|
|
35
|
-
Requires-Dist: grpcio; extra == "dev"
|
|
36
|
-
Requires-Dist: numpy; extra == "dev"
|
|
37
|
-
Requires-Dist: pytest==8.4.2; extra == "dev"
|
|
38
|
-
Requires-Dist: pytest-timeout==2.4.0; extra == "dev"
|
|
40
|
+
Requires-Dist: PyLabRobot[all,test]; extra == "dev"
|
|
39
41
|
Requires-Dist: mypy==1.18.2; extra == "dev"
|
|
40
|
-
Requires-Dist: sphinx-reredirects==0.1.6; extra == "dev"
|
|
41
42
|
Requires-Dist: ruff==0.15.4; extra == "dev"
|
|
42
|
-
Requires-Dist:
|
|
43
|
-
Requires-Dist:
|
|
44
|
-
Requires-Dist:
|
|
45
|
-
Requires-Dist:
|
|
46
|
-
Requires-Dist:
|
|
47
|
-
|
|
48
|
-
Requires-Dist: PyLabRobot[dev]; extra == "all"
|
|
43
|
+
Requires-Dist: sphinx-reredirects; extra == "dev"
|
|
44
|
+
Requires-Dist: nbconvert; extra == "dev"
|
|
45
|
+
Requires-Dist: sphinx-sitemap; extra == "dev"
|
|
46
|
+
Requires-Dist: pydata-sphinx-theme; extra == "dev"
|
|
47
|
+
Requires-Dist: myst_nb; extra == "dev"
|
|
48
|
+
Requires-Dist: sphinx_copybutton; extra == "dev"
|
|
49
49
|
Dynamic: license-file
|
|
50
50
|
|
|
51
51
|
<div style="text-align: center" align="center">
|
|
@@ -1,51 +1,51 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: PyLabRobot
|
|
3
|
-
Version: 0.2.
|
|
3
|
+
Version: 0.2.1
|
|
4
4
|
Summary: A hardware agnostic platform for lab automation
|
|
5
5
|
License: MIT
|
|
6
6
|
Project-URL: Homepage, https://github.com/pylabrobot/pylabrobot
|
|
7
7
|
Requires-Python: >=3.9
|
|
8
8
|
Description-Content-Type: text/markdown
|
|
9
9
|
License-File: LICENSE
|
|
10
|
-
Requires-Dist: typing_extensions
|
|
10
|
+
Requires-Dist: typing_extensions
|
|
11
|
+
Requires-Dist: websockets
|
|
11
12
|
Provides-Extra: serial
|
|
12
|
-
Requires-Dist: pyserial
|
|
13
|
+
Requires-Dist: pyserial; extra == "serial"
|
|
13
14
|
Provides-Extra: usb
|
|
14
|
-
Requires-Dist: pyusb
|
|
15
|
-
Requires-Dist: libusb-package
|
|
15
|
+
Requires-Dist: pyusb; extra == "usb"
|
|
16
|
+
Requires-Dist: libusb-package; extra == "usb"
|
|
16
17
|
Provides-Extra: ftdi
|
|
17
|
-
Requires-Dist: pylibftdi
|
|
18
|
-
Requires-Dist: pyusb
|
|
18
|
+
Requires-Dist: pylibftdi; extra == "ftdi"
|
|
19
|
+
Requires-Dist: pyusb; extra == "ftdi"
|
|
19
20
|
Provides-Extra: hid
|
|
20
|
-
Requires-Dist: hid
|
|
21
|
+
Requires-Dist: hid; extra == "hid"
|
|
21
22
|
Provides-Extra: modbus
|
|
22
|
-
Requires-Dist: pymodbus
|
|
23
|
-
Provides-Extra: websockets
|
|
24
|
-
Requires-Dist: websockets==15.0.1; extra == "websockets"
|
|
25
|
-
Provides-Extra: visualizer
|
|
26
|
-
Requires-Dist: websockets==15.0.1; extra == "visualizer"
|
|
23
|
+
Requires-Dist: pymodbus<3.7.0,>=3.0.0; extra == "modbus"
|
|
27
24
|
Provides-Extra: opentrons
|
|
28
|
-
Requires-Dist: opentrons-http-api-client; extra == "opentrons"
|
|
25
|
+
Requires-Dist: opentrons-http-api-client==0.2.0; extra == "opentrons"
|
|
29
26
|
Provides-Extra: sila
|
|
30
27
|
Requires-Dist: zeroconf>=0.131.0; extra == "sila"
|
|
31
|
-
|
|
32
|
-
|
|
28
|
+
Requires-Dist: grpcio; extra == "sila"
|
|
29
|
+
Provides-Extra: microscopy
|
|
30
|
+
Requires-Dist: numpy>=1.26; extra == "microscopy"
|
|
31
|
+
Requires-Dist: opencv-python; extra == "microscopy"
|
|
32
|
+
Provides-Extra: pico
|
|
33
|
+
Requires-Dist: PyLabRobot[microscopy,sila]; extra == "pico"
|
|
34
|
+
Provides-Extra: all
|
|
35
|
+
Requires-Dist: PyLabRobot[ftdi,hid,modbus,opentrons,serial,sila,usb,visualizer,websockets]; extra == "all"
|
|
36
|
+
Provides-Extra: test
|
|
37
|
+
Requires-Dist: pytest; extra == "test"
|
|
38
|
+
Requires-Dist: pytest-timeout; extra == "test"
|
|
33
39
|
Provides-Extra: dev
|
|
34
|
-
Requires-Dist: PyLabRobot[
|
|
35
|
-
Requires-Dist: grpcio; extra == "dev"
|
|
36
|
-
Requires-Dist: numpy; extra == "dev"
|
|
37
|
-
Requires-Dist: pytest==8.4.2; extra == "dev"
|
|
38
|
-
Requires-Dist: pytest-timeout==2.4.0; extra == "dev"
|
|
40
|
+
Requires-Dist: PyLabRobot[all,test]; extra == "dev"
|
|
39
41
|
Requires-Dist: mypy==1.18.2; extra == "dev"
|
|
40
|
-
Requires-Dist: sphinx-reredirects==0.1.6; extra == "dev"
|
|
41
42
|
Requires-Dist: ruff==0.15.4; extra == "dev"
|
|
42
|
-
Requires-Dist:
|
|
43
|
-
Requires-Dist:
|
|
44
|
-
Requires-Dist:
|
|
45
|
-
Requires-Dist:
|
|
46
|
-
Requires-Dist:
|
|
47
|
-
|
|
48
|
-
Requires-Dist: PyLabRobot[dev]; extra == "all"
|
|
43
|
+
Requires-Dist: sphinx-reredirects; extra == "dev"
|
|
44
|
+
Requires-Dist: nbconvert; extra == "dev"
|
|
45
|
+
Requires-Dist: sphinx-sitemap; extra == "dev"
|
|
46
|
+
Requires-Dist: pydata-sphinx-theme; extra == "dev"
|
|
47
|
+
Requires-Dist: myst_nb; extra == "dev"
|
|
48
|
+
Requires-Dist: sphinx_copybutton; extra == "dev"
|
|
49
49
|
Dynamic: license-file
|
|
50
50
|
|
|
51
51
|
<div style="text-align: center" align="center">
|
|
@@ -4,7 +4,6 @@ pyproject.toml
|
|
|
4
4
|
PyLabRobot.egg-info/PKG-INFO
|
|
5
5
|
PyLabRobot.egg-info/SOURCES.txt
|
|
6
6
|
PyLabRobot.egg-info/dependency_links.txt
|
|
7
|
-
PyLabRobot.egg-info/entry_points.txt
|
|
8
7
|
PyLabRobot.egg-info/requires.txt
|
|
9
8
|
PyLabRobot.egg-info/top_level.txt
|
|
10
9
|
kx2/AsyncRW.py
|
|
@@ -23,9 +22,6 @@ pylabrobot/arms/backend.py
|
|
|
23
22
|
pylabrobot/arms/scara.py
|
|
24
23
|
pylabrobot/arms/scara_tests.py
|
|
25
24
|
pylabrobot/arms/standard.py
|
|
26
|
-
pylabrobot/arms/kx2/__init__.py
|
|
27
|
-
pylabrobot/arms/kx2/idk.py
|
|
28
|
-
pylabrobot/arms/kx2/old.asdf.py
|
|
29
25
|
pylabrobot/arms/precise_flex/__init__.py
|
|
30
26
|
pylabrobot/arms/precise_flex/coords.py
|
|
31
27
|
pylabrobot/arms/precise_flex/error_codes.py
|
|
@@ -57,8 +53,6 @@ pylabrobot/config/formats/ini_config.py
|
|
|
57
53
|
pylabrobot/config/formats/json_config.py
|
|
58
54
|
pylabrobot/config/io/__init__.py
|
|
59
55
|
pylabrobot/config/io/file.py
|
|
60
|
-
pylabrobot/hamilton/__init__.py
|
|
61
|
-
pylabrobot/hamilton/star.py
|
|
62
56
|
pylabrobot/heating_shaking/__init__.py
|
|
63
57
|
pylabrobot/heating_shaking/backend.py
|
|
64
58
|
pylabrobot/heating_shaking/bioshake_backend.py
|
|
@@ -87,9 +81,6 @@ pylabrobot/io/sila/discovery.py
|
|
|
87
81
|
pylabrobot/io/sila/discovery_tests.py
|
|
88
82
|
pylabrobot/io/sila/grpc.py
|
|
89
83
|
pylabrobot/io/sila/grpc_tests.py
|
|
90
|
-
pylabrobot/legacy/__init__.py
|
|
91
|
-
pylabrobot/legacy/liquid_handling/__init__.py
|
|
92
|
-
pylabrobot/legacy/liquid_handling/liquid_handler.py
|
|
93
84
|
pylabrobot/liquid_handling/__init__.py
|
|
94
85
|
pylabrobot/liquid_handling/errors.py
|
|
95
86
|
pylabrobot/liquid_handling/liquid_handler.py
|
|
@@ -167,6 +158,7 @@ pylabrobot/plate_reading/plate_reader_tests.py
|
|
|
167
158
|
pylabrobot/plate_reading/spectramax_384_plus_backend.py
|
|
168
159
|
pylabrobot/plate_reading/spectramax_m5_backend.py
|
|
169
160
|
pylabrobot/plate_reading/standard.py
|
|
161
|
+
pylabrobot/plate_reading/utils.py
|
|
170
162
|
pylabrobot/plate_reading/agilent/__init__.py
|
|
171
163
|
pylabrobot/plate_reading/agilent/biotek_backend.py
|
|
172
164
|
pylabrobot/plate_reading/agilent/biotek_cytation_backend.py
|
|
@@ -187,6 +179,33 @@ pylabrobot/plate_reading/molecular_devices/backend.py
|
|
|
187
179
|
pylabrobot/plate_reading/molecular_devices/backend_tests.py
|
|
188
180
|
pylabrobot/plate_reading/molecular_devices/spectramax_384_plus_backend.py
|
|
189
181
|
pylabrobot/plate_reading/molecular_devices/spectramax_m5_backend.py
|
|
182
|
+
pylabrobot/plate_reading/tecan/__init__.py
|
|
183
|
+
pylabrobot/plate_reading/tecan/infinite_backend.py
|
|
184
|
+
pylabrobot/plate_reading/tecan/infinite_backend_tests.py
|
|
185
|
+
pylabrobot/plate_reading/tecan/spark20m/__init__.py
|
|
186
|
+
pylabrobot/plate_reading/tecan/spark20m/enums.py
|
|
187
|
+
pylabrobot/plate_reading/tecan/spark20m/spark_backend.py
|
|
188
|
+
pylabrobot/plate_reading/tecan/spark20m/spark_backend_tests.py
|
|
189
|
+
pylabrobot/plate_reading/tecan/spark20m/spark_packet_parser.py
|
|
190
|
+
pylabrobot/plate_reading/tecan/spark20m/spark_packet_parser_test.py
|
|
191
|
+
pylabrobot/plate_reading/tecan/spark20m/spark_processor.py
|
|
192
|
+
pylabrobot/plate_reading/tecan/spark20m/spark_processor_tests.py
|
|
193
|
+
pylabrobot/plate_reading/tecan/spark20m/spark_reader_async.py
|
|
194
|
+
pylabrobot/plate_reading/tecan/spark20m/spark_reader_async_tests.py
|
|
195
|
+
pylabrobot/plate_reading/tecan/spark20m/controls/__init__.py
|
|
196
|
+
pylabrobot/plate_reading/tecan/spark20m/controls/base_control.py
|
|
197
|
+
pylabrobot/plate_reading/tecan/spark20m/controls/camera_control.py
|
|
198
|
+
pylabrobot/plate_reading/tecan/spark20m/controls/config_control.py
|
|
199
|
+
pylabrobot/plate_reading/tecan/spark20m/controls/data_control.py
|
|
200
|
+
pylabrobot/plate_reading/tecan/spark20m/controls/gas_control.py
|
|
201
|
+
pylabrobot/plate_reading/tecan/spark20m/controls/injector_control.py
|
|
202
|
+
pylabrobot/plate_reading/tecan/spark20m/controls/measurement_control.py
|
|
203
|
+
pylabrobot/plate_reading/tecan/spark20m/controls/movement_control.py
|
|
204
|
+
pylabrobot/plate_reading/tecan/spark20m/controls/optics_control.py
|
|
205
|
+
pylabrobot/plate_reading/tecan/spark20m/controls/plate_transport_control.py
|
|
206
|
+
pylabrobot/plate_reading/tecan/spark20m/controls/sensor_control.py
|
|
207
|
+
pylabrobot/plate_reading/tecan/spark20m/controls/spark_enums.py
|
|
208
|
+
pylabrobot/plate_reading/tecan/spark20m/controls/system_control.py
|
|
190
209
|
pylabrobot/plate_washing/__init__.py
|
|
191
210
|
pylabrobot/plate_washing/biotek/__init__.py
|
|
192
211
|
pylabrobot/plate_washing/biotek/el406/__init__.py
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
typing_extensions
|
|
2
|
+
websockets
|
|
3
|
+
|
|
4
|
+
[all]
|
|
5
|
+
PyLabRobot[ftdi,hid,modbus,opentrons,serial,sila,usb,visualizer,websockets]
|
|
6
|
+
|
|
7
|
+
[dev]
|
|
8
|
+
PyLabRobot[all,test]
|
|
9
|
+
mypy==1.18.2
|
|
10
|
+
ruff==0.15.4
|
|
11
|
+
sphinx-reredirects
|
|
12
|
+
nbconvert
|
|
13
|
+
sphinx-sitemap
|
|
14
|
+
pydata-sphinx-theme
|
|
15
|
+
myst_nb
|
|
16
|
+
sphinx_copybutton
|
|
17
|
+
|
|
18
|
+
[ftdi]
|
|
19
|
+
pylibftdi
|
|
20
|
+
pyusb
|
|
21
|
+
|
|
22
|
+
[hid]
|
|
23
|
+
hid
|
|
24
|
+
|
|
25
|
+
[microscopy]
|
|
26
|
+
numpy>=1.26
|
|
27
|
+
opencv-python
|
|
28
|
+
|
|
29
|
+
[modbus]
|
|
30
|
+
pymodbus<3.7.0,>=3.0.0
|
|
31
|
+
|
|
32
|
+
[opentrons]
|
|
33
|
+
opentrons-http-api-client==0.2.0
|
|
34
|
+
|
|
35
|
+
[pico]
|
|
36
|
+
PyLabRobot[microscopy,sila]
|
|
37
|
+
|
|
38
|
+
[serial]
|
|
39
|
+
pyserial
|
|
40
|
+
|
|
41
|
+
[sila]
|
|
42
|
+
zeroconf>=0.131.0
|
|
43
|
+
grpcio
|
|
44
|
+
|
|
45
|
+
[test]
|
|
46
|
+
pytest
|
|
47
|
+
pytest-timeout
|
|
48
|
+
|
|
49
|
+
[usb]
|
|
50
|
+
pyusb
|
|
51
|
+
libusb-package
|
{pylabrobot-0.2.0 → pylabrobot-0.2.1}/pylabrobot/barcode_scanners/keyence/keyence_backend.py
RENAMED
|
@@ -2,7 +2,13 @@ import asyncio
|
|
|
2
2
|
import logging
|
|
3
3
|
import time
|
|
4
4
|
|
|
5
|
-
|
|
5
|
+
try:
|
|
6
|
+
import serial
|
|
7
|
+
|
|
8
|
+
HAS_SERIAL = True
|
|
9
|
+
except ImportError as e:
|
|
10
|
+
HAS_SERIAL = False
|
|
11
|
+
_SERIAL_IMPORT_ERROR = e
|
|
6
12
|
|
|
7
13
|
from pylabrobot.barcode_scanners.backend import (
|
|
8
14
|
BarcodeScannerBackend,
|
|
@@ -24,6 +30,11 @@ class KeyenceBarcodeScannerBackend(BarcodeScannerBackend):
|
|
|
24
30
|
self,
|
|
25
31
|
port: str,
|
|
26
32
|
):
|
|
33
|
+
if not HAS_SERIAL:
|
|
34
|
+
raise RuntimeError(
|
|
35
|
+
"pyserial is not installed. Install with: pip install pylabrobot[serial]. "
|
|
36
|
+
f"Import error: {_SERIAL_IMPORT_ERROR}"
|
|
37
|
+
)
|
|
27
38
|
super().__init__()
|
|
28
39
|
|
|
29
40
|
# BL-1300 Barcode reader factory default serial communication settings
|