Skip to content

Commit 26492cb

Browse files
authored
Merge branch 'main' into byonoy-luminescence
2 parents fda5bd2 + 7234de0 commit 26492cb

File tree

227 files changed

+8316
-2982
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

227 files changed

+8316
-2982
lines changed

.github/workflows/typo.yml

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
name: Typo check
2+
3+
permissions:
4+
contents: read
5+
6+
on:
7+
push:
8+
branches:
9+
- main
10+
pull_request:
11+
12+
env:
13+
CLICOLOR: 1
14+
15+
jobs:
16+
spelling:
17+
name: Spell Check with Typos
18+
runs-on: ubuntu-latest
19+
20+
steps:
21+
- name: Checkout Code
22+
uses: actions/checkout@v4
23+
- name: Spell Check Repo
24+
uses: crate-ci/typos@v1

.pre-commit-config.yaml

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,3 +7,9 @@ repos:
77
language: system
88
files: ^pylabrobot/.*$
99

10+
- repo: https://github.com/crate-ci/typos
11+
rev: v1
12+
hooks:
13+
- id: typos
14+
files: ^pylabrobot/.*$
15+
args: ["--force-exclude"]

.vscode/settings.json

Lines changed: 0 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -1,31 +1,6 @@
11
{
22
"editor.tabSize": 2,
33
"files.trimTrailingWhitespace": true,
4-
"cSpell.words": [
5-
"agrow",
6-
"agrowpumps",
7-
"coro",
8-
"cytomat",
9-
"decalibrate",
10-
"Defaultable",
11-
"Deprecated",
12-
"frontmost",
13-
"hepa",
14-
"Inheco",
15-
"iswap",
16-
"jsonify",
17-
"klass",
18-
"labware",
19-
"modbus",
20-
"pylabrobot",
21-
"pytest",
22-
"subclassing",
23-
"subresource",
24-
"tadm",
25-
"tiprack",
26-
"usascientific",
27-
"websockets"
28-
],
294
"python.linting.mypyEnabled": true,
305
"python.linting.enabled": true,
316
"python.testing.pytestArgs": ["."],

CHANGELOG.md

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -60,6 +60,7 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/).
6060
- `location` parameter of `assign_child_resource` is not optional (https://github.com/PyLabRobot/pylabrobot/pull/336)
6161
- `Resource.get_absolute_location` raises `NoLocationError` instead of `AssertionError` when absolute location is not defined (https://github.com/PyLabRobot/pylabrobot/pull/338)
6262
- `no_trash` and `no_teaching_rack` were renamed to `with_trash` and `with_teaching_rack` to avoid double negatives (https://github.com/PyLabRobot/pylabrobot/pull/347)
63+
- `ItemizedResource.row` accepts a string ("A"-"P") in addition to an integer index.
6364

6465
### Added
6566

@@ -134,7 +135,7 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/).
134135
- `plate_width: Optional[float] = None`
135136
- `use_unsafe_hotel: bool = False`
136137
- `iswap_collision_control_level: int = 0`
137-
- `iswap_fold_up_sequence_at_the_end_of_process: bool = True`
138+
- `iswap_fold_up_sequence_at_the_end_of_process: bool = False`
138139
- STAR.drop_resource
139140
- `minimum_traverse_height_at_beginning_of_a_command: Optional[float] = None`
140141
- `z_position_at_the_command_end: Optional[float] = None`

README.md

Lines changed: 32 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -31,11 +31,11 @@ Here's a quick example showing how to move 100uL of liquid from well A1 to A2 us
3131

3232
```python
3333
from pylabrobot.liquid_handling import LiquidHandler
34-
from pylabrobot.liquid_handling.backends import STAR
34+
from pylabrobot.liquid_handling.backends import STARBackend
3535
from pylabrobot.resources import Deck
3636

3737
deck = Deck.load_from_json_file("hamilton-layout.json")
38-
lh = LiquidHandler(backend=STAR(), deck=deck)
38+
lh = LiquidHandler(backend=STARBackend(), deck=deck)
3939
await lh.setup()
4040

4141
await lh.pick_up_tips(lh.deck.get_resource("tip_rack")["A1"])
@@ -69,9 +69,9 @@ We also provide a browser-based Visualizer which can visualize the state of the
6969
Moving a plate to a ClarioStar using a liquid handler, and reading luminescence:
7070

7171
```python
72-
from pylabrobot.plate_reading import PlateReader, ClarioStar
72+
from pylabrobot.plate_reading import PlateReader, CLARIOstarBackend
7373

74-
pr = PlateReader(name="plate reader", backend=ClarioStar(), size_x=1, size_y=1, size_z=1)
74+
pr = PlateReader(name="plate reader", backend=CLARIOstarBackend(), size_x=1, size_y=1, size_z=1)
7575
await pr.setup()
7676

7777
# Use in combination with a liquid handler
@@ -149,16 +149,40 @@ await fan.setup()
149149
await fan.turn_on(intensity=100, duration=60)
150150
```
151151

152+
### Thermocyclers ([docs](https://docs.pylabrobot.org/user_guide/01_material-handling/thermocycling/thermocycling.html))
153+
154+
Running a thermocycler with a simple protocol:
155+
156+
```python
157+
await tc.run_pcr_profile(
158+
denaturation_temp=98.0,
159+
denaturation_time=10.0,
160+
annealing_temp=55.0,
161+
annealing_time=30.0,
162+
extension_temp=72.0,
163+
extension_time=60.0,
164+
num_cycles=2,
165+
block_max_volume=25.0,
166+
lid_temperature=105.0,
167+
pre_denaturation_temp=95.0,
168+
pre_denaturation_time=180.0,
169+
final_extension_temp=72.0,
170+
final_extension_time=300.0,
171+
storage_temp=4.0,
172+
storage_time=600.0,
173+
)
174+
```
175+
152176
## Resources
153177

154178
### Documentation
155179

156180
[docs.pylabrobot.org](https://docs.pylabrobot.org)
157181

158-
- [Installation](https://docs.pylabrobot.org/installation.html)
159-
- [Getting Started](https://docs.pylabrobot.org/basic.html)
160-
- [Contributing](CONTRIBUTING.md)
161-
- [API Reference](https://docs.pylabrobot.org/pylabrobot.html)
182+
- [Installation](https://docs.pylabrobot.org/user_guide/_getting-started/installation.html)
183+
- [Getting Started](https://docs.pylabrobot.org/user_guide/index.html)
184+
- [Contributing](https://docs.pylabrobot.org/contributor_guide/index.html)
185+
- [API Reference](https://docs.pylabrobot.org/api/pylabrobot.html)
162186

163187
### Support
164188

_typos.toml

Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
[default]
2+
extend-ignore-identifiers-re = [
3+
"AttributeID.*Supress.*",
4+
]
5+
6+
[default.extend-identifiers]
7+
AttributeIDSupressMenu = "AttributeIDSupressMenu"
8+
9+
[default.extend-words]
10+
# words that should not be corrected
11+
dot_acn = ".acn"
12+
dot_fot = ".fot"
13+
dot_ist = ".ist"
14+
OT = "OT"
15+
ot = "ot"
16+
ser = "ser"
17+
ba = "ba"
18+
nd = "nd"
19+
PN = "PN"
20+
tro = "tro"
21+
FO = "FO"
22+
UE = "UE"
23+
24+
[files]
25+
extend-exclude = [
26+
"*.ipynb"
27+
]

docs/api/pylabrobot.heating_shaking.rst

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,4 +22,7 @@ Backends
2222
:recursive:
2323

2424
chatterbox.HeaterShakerChatterboxBackend
25-
inheco_backend.InhecoThermoShakeBackend
25+
inheco.thermoshake_backend.InhecoThermoshakeBackend
26+
inheco.thermoshake.inheco_thermoshake_ac
27+
inheco.thermoshake.inheco_thermoshake
28+
inheco.thermoshake.inheco_thermoshake_rm

docs/api/pylabrobot.rst

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -21,5 +21,6 @@ Subpackages
2121
pylabrobot.scales
2222
pylabrobot.shaking
2323
pylabrobot.temperature_controlling
24+
pylabrobot.thermocycling
2425
pylabrobot.tilting
2526
pylabrobot.utils

docs/api/pylabrobot.temperature_controlling.rst

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -24,3 +24,6 @@ Backends
2424

2525
chatterbox.TemperatureControllerChatterboxBackend
2626
opentrons_backend.OpentronsTemperatureModuleBackend
27+
inheco.control_box.InhecoTECControlBox
28+
inheco.cpac_backend.InhecoCPACBackend
29+
inheco.cpac.inheco_cpac_ultraflat
Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
.. currentmodule:: pylabrobot.thermocycling
2+
3+
pylabrobot.thermocycling package
4+
================================
5+
6+
This package contains APIs for working with thermocyclers.
7+
8+
.. autosummary::
9+
:toctree: _autosummary
10+
:nosignatures:
11+
:recursive:
12+
13+
thermocycler.Thermocycler
14+
opentrons.OpentronsThermocyclerModuleV1
15+
opentrons.OpentronsThermocyclerModuleV2
16+
17+
18+
Backends
19+
--------
20+
21+
.. autosummary::
22+
:toctree: _autosummary
23+
:nosignatures:
24+
:recursive:
25+
26+
backend.ThermocyclerBackend
27+
chatterbox.ThermocyclerChatterboxBackend
28+
opentrons_backend.OpentronsThermocyclerBackend

0 commit comments

Comments
 (0)