Skip to content

Commit 7636f2a

Browse files
Merge pull request #4 from AD-SDL/madsci
Upgrade to MADSci
2 parents 8097547 + 2f1441a commit 7636f2a

19 files changed

+3157
-1071
lines changed

.gitignore

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -562,4 +562,3 @@ cython_debug/
562562
# and can be added to the global gitignore or merged into this file. For a more nuclear
563563
# option (not recommended) you can uncomment the following to ignore the entire idea folder.
564564
#.idea/
565-

.pre-commit-config.yaml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
repos:
22
- repo: https://github.com/pre-commit/pre-commit-hooks
3-
rev: v4.6.0
3+
rev: v6.0.0
44
hooks:
55
- id: check-yaml
66
- id: check-json
@@ -12,12 +12,12 @@ repos:
1212
- id: end-of-file-fixer
1313
- id: trailing-whitespace
1414
- repo: https://github.com/kynan/nbstripout
15-
rev: 0.7.1
15+
rev: 0.8.1
1616
hooks:
1717
- id: nbstripout
1818
- repo: https://github.com/astral-sh/ruff-pre-commit
1919
# Ruff version.
20-
rev: v0.5.7
20+
rev: v0.14.2
2121
hooks:
2222
# Run the linter.
2323
- id: ruff

README.md

Lines changed: 0 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -1,17 +1 @@
11
# epoch2_module
2-
3-
A template module, implemented in python, for integrating a device into a WEI workcell.
4-
5-
## Using This Template
6-
7-
[Creating a Repository From a Template](https://docs.github.com/en/repositories/creating-and-managing-repositories/creating-a-repository-from-a-template)
8-
9-
## Renaming
10-
11-
To automatically replace `epoch2` with the name of your instrument, run the "Rename Module Repo" GitHub Actions Workflow in your repository: [Manually Running a Workflow](https://docs.github.com/en/actions/managing-workflow-runs-and-deployments/managing-workflow-runs/manually-running-a-workflow)
12-
13-
N.B. this assumes your repository is named using the `<instrument_name>_module` format.
14-
15-
## TODO's
16-
17-
Throughout this module template, there are a number of comments marked `TODO`. You can use search/find and replace to help ensure you're taking full advantage of the module template.

default.node.info.yaml

Lines changed: 168 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,168 @@
1+
node_name: default.node
2+
node_id: 01KC9P31V1PCZ16XJ6J78PQ4EW
3+
node_description: null
4+
node_type: device
5+
module_name: epoch2_node
6+
module_version: 0.0.1
7+
capabilities:
8+
get_info: true
9+
get_state: true
10+
get_status: true
11+
send_action: true
12+
get_action_status: true
13+
get_action_result: true
14+
get_action_history: true
15+
action_files: true
16+
send_admin_commands: true
17+
set_config: true
18+
get_resources: false
19+
get_log: true
20+
admin_commands:
21+
- cancel
22+
- lock
23+
- reset
24+
- resume
25+
- shutdown
26+
- unlock
27+
node_url: null
28+
actions:
29+
carrier_in:
30+
name: carrier_in
31+
description: '
32+
33+
Moves the carrier in
34+
35+
'
36+
args: {}
37+
locations: {}
38+
files: {}
39+
results: {}
40+
blocking: false
41+
asynchronous: true
42+
accepts_var_args: false
43+
accepts_var_kwargs: false
44+
var_args_schema: null
45+
var_kwargs_schema: null
46+
carrier_out:
47+
name: carrier_out
48+
description: '
49+
50+
Moves the carrier out
51+
52+
'
53+
args: {}
54+
locations: {}
55+
files: {}
56+
results: {}
57+
blocking: false
58+
asynchronous: true
59+
accepts_var_args: false
60+
accepts_var_kwargs: false
61+
var_args_schema: null
62+
var_kwargs_schema: null
63+
run_experiment:
64+
name: run_experiment
65+
description: '
66+
67+
Runs an experiment on the Epoch 2
68+
69+
'
70+
args:
71+
experiment_file_path:
72+
name: experiment_file_path
73+
description: ''
74+
argument_type: str
75+
required: true
76+
default: null
77+
return_file:
78+
name: return_file
79+
description: Whether to return the results of the experiment run
80+
argument_type: bool
81+
required: false
82+
default: false
83+
locations: {}
84+
files: {}
85+
results:
86+
file:
87+
result_label: file
88+
description: null
89+
result_type: file
90+
blocking: false
91+
asynchronous: true
92+
accepts_var_args: false
93+
accepts_var_kwargs: false
94+
var_args_schema: null
95+
var_kwargs_schema: null
96+
config:
97+
node_definition: default.node.yaml
98+
node_info_path: null
99+
update_node_files: true
100+
status_update_interval: 2.0
101+
state_update_interval: 2.0
102+
node_url: http://127.0.0.1:2000/
103+
uvicorn_kwargs: {}
104+
com_port: 4
105+
config_schema:
106+
description: Configuration for the Epoch2Node module
107+
properties:
108+
node_definition:
109+
anyOf:
110+
- type: string
111+
- format: path
112+
type: string
113+
- type: 'null'
114+
default: default.node.yaml
115+
description: Path to the node definition file to use. If set, the node will
116+
load the definition from this file on startup. Otherwise, a default configuration
117+
will be created.
118+
title: Node Definition File
119+
node_info_path:
120+
anyOf:
121+
- type: string
122+
- format: path
123+
type: string
124+
- type: 'null'
125+
default: null
126+
description: Path to export the generated node info file. If not set, will use
127+
the node name and the node_definition's path.
128+
title: Node Info Path
129+
update_node_files:
130+
default: true
131+
description: Whether to update the node definition and info files on startup.
132+
If set to False, the node will not update the files even if they are out of
133+
date.
134+
title: Update Node Files
135+
type: boolean
136+
status_update_interval:
137+
anyOf:
138+
- type: number
139+
- type: 'null'
140+
default: 2.0
141+
description: The interval in seconds at which the node should update its status.
142+
title: Status Update Interval
143+
state_update_interval:
144+
anyOf:
145+
- type: number
146+
- type: 'null'
147+
default: 2.0
148+
description: The interval in seconds at which the node should update its state.
149+
title: State Update Interval
150+
node_url:
151+
default: http://127.0.0.1:2000/
152+
description: The URL used to communicate with the node. This is the base URL
153+
for the REST API.
154+
format: uri
155+
minLength: 1
156+
title: Node URL
157+
type: string
158+
uvicorn_kwargs:
159+
additionalProperties: true
160+
description: Configuration for the Uvicorn server that runs the REST API.
161+
title: Uvicorn Configuration
162+
type: object
163+
com_port:
164+
default: 4
165+
title: Com Port
166+
type: integer
167+
title: Epoch2NodeConfig
168+
type: object

default.node.yaml

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
node_name: default.node
2+
node_id: 01KC9P31V1PCZ16XJ6J78PQ4EW
3+
node_description: null
4+
node_type: device
5+
module_name: epoch2_node
6+
module_version: 0.0.1
7+
capabilities: null

epoch2_module/Epoch2Actions.cs

Lines changed: 0 additions & 48 deletions
This file was deleted.

0 commit comments

Comments
 (0)