evalmc 0.0.3__tar.gz → 0.0.4__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.
- evalmc-0.0.4/PKG-INFO +136 -0
- evalmc-0.0.4/README.md +108 -0
- {evalmc-0.0.3 → evalmc-0.0.4}/evalmc/main.py +3 -3
- {evalmc-0.0.3 → evalmc-0.0.4}/evalmc/submission.py +1 -1
- {evalmc-0.0.3 → evalmc-0.0.4}/evalmc/submit_onnx.py +3 -3
- evalmc-0.0.4/evalmc.egg-info/PKG-INFO +136 -0
- {evalmc-0.0.3 → evalmc-0.0.4}/pyproject.toml +11 -6
- evalmc-0.0.3/PKG-INFO +0 -95
- evalmc-0.0.3/README.md +0 -72
- evalmc-0.0.3/evalmc.egg-info/PKG-INFO +0 -95
- {evalmc-0.0.3 → evalmc-0.0.4}/LICENSE +0 -0
- {evalmc-0.0.3 → evalmc-0.0.4}/evalmc/__init__.py +0 -0
- {evalmc-0.0.3 → evalmc-0.0.4}/evalmc/__main__.py +0 -0
- {evalmc-0.0.3 → evalmc-0.0.4}/evalmc/check_challenge.py +0 -0
- {evalmc-0.0.3 → evalmc-0.0.4}/evalmc/check_registered.py +0 -0
- {evalmc-0.0.3 → evalmc-0.0.4}/evalmc/config_paths.py +0 -0
- {evalmc-0.0.3 → evalmc-0.0.4}/evalmc/host.py +0 -0
- {evalmc-0.0.3 → evalmc-0.0.4}/evalmc/login.py +0 -0
- {evalmc-0.0.3 → evalmc-0.0.4}/evalmc/nominate.py +0 -0
- {evalmc-0.0.3 → evalmc-0.0.4}/evalmc/push_helpers.py +0 -0
- {evalmc-0.0.3 → evalmc-0.0.4}/evalmc/register.py +0 -0
- {evalmc-0.0.3 → evalmc-0.0.4}/evalmc/set_token.py +0 -0
- {evalmc-0.0.3 → evalmc-0.0.4}/evalmc/status.py +0 -0
- {evalmc-0.0.3 → evalmc-0.0.4}/evalmc/utils.py +0 -0
- {evalmc-0.0.3 → evalmc-0.0.4}/evalmc.egg-info/SOURCES.txt +0 -0
- {evalmc-0.0.3 → evalmc-0.0.4}/evalmc.egg-info/dependency_links.txt +0 -0
- {evalmc-0.0.3 → evalmc-0.0.4}/evalmc.egg-info/entry_points.txt +0 -0
- {evalmc-0.0.3 → evalmc-0.0.4}/evalmc.egg-info/requires.txt +0 -0
- {evalmc-0.0.3 → evalmc-0.0.4}/evalmc.egg-info/top_level.txt +0 -0
- {evalmc-0.0.3 → evalmc-0.0.4}/setup.cfg +0 -0
- {evalmc-0.0.3 → evalmc-0.0.4}/tests/test_cli_nominate.py +0 -0
- {evalmc-0.0.3 → evalmc-0.0.4}/tests/test_cli_smoke.py +0 -0
- {evalmc-0.0.3 → evalmc-0.0.4}/tests/test_push_helpers.py +0 -0
- {evalmc-0.0.3 → evalmc-0.0.4}/tests/test_submission_api_base.py +0 -0
evalmc-0.0.4/PKG-INFO
ADDED
|
@@ -0,0 +1,136 @@
|
|
|
1
|
+
Metadata-Version: 2.4
|
|
2
|
+
Name: evalmc
|
|
3
|
+
Version: 0.0.4
|
|
4
|
+
Summary: MyoChallenge CLI — submit ONNX and Docker policies trained with MyoSuite 3
|
|
5
|
+
Author-email: MyoChallenge Team <caggiano@gmail.com>
|
|
6
|
+
License-Expression: Apache-2.0
|
|
7
|
+
Project-URL: Homepage, https://mc26.myosuite.org
|
|
8
|
+
Project-URL: MyoSuite, https://www.myosuite.org
|
|
9
|
+
Project-URL: API, https://api.mc.myosuite.org
|
|
10
|
+
Classifier: Development Status :: 4 - Beta
|
|
11
|
+
Classifier: Intended Audience :: Science/Research
|
|
12
|
+
Classifier: Operating System :: OS Independent
|
|
13
|
+
Classifier: Programming Language :: Python :: 3
|
|
14
|
+
Classifier: Programming Language :: Python :: 3.10
|
|
15
|
+
Classifier: Programming Language :: Python :: 3.11
|
|
16
|
+
Classifier: Programming Language :: Python :: 3.12
|
|
17
|
+
Classifier: Programming Language :: Python :: 3.13
|
|
18
|
+
Classifier: Programming Language :: Python :: 3.14
|
|
19
|
+
Classifier: Topic :: Scientific/Engineering
|
|
20
|
+
Requires-Python: >=3.10
|
|
21
|
+
Description-Content-Type: text/markdown
|
|
22
|
+
License-File: LICENSE
|
|
23
|
+
Requires-Dist: click>=8.0.0
|
|
24
|
+
Requires-Dist: docker>=6.0.0
|
|
25
|
+
Requires-Dist: requests>=2.25.0
|
|
26
|
+
Requires-Dist: boto3>=1.26.0
|
|
27
|
+
Dynamic: license-file
|
|
28
|
+
|
|
29
|
+
# evalmc
|
|
30
|
+
|
|
31
|
+
Submission CLI for [MyoChallenge](https://mc26.myosuite.org). Train with
|
|
32
|
+
[MyoSuite 3](https://pypi.org/project/myosuite/) (`pip install -U myosuite`),
|
|
33
|
+
then upload an ONNX graph or a Docker agent image.
|
|
34
|
+
|
|
35
|
+
[](https://pypi.org/project/evalmc/)
|
|
36
|
+
[](https://pypi.org/project/evalmc/)
|
|
37
|
+
[](https://pypi.org/project/evalmc/)
|
|
38
|
+
|
|
39
|
+
Python **3.10–3.14**, same range as MyoSuite 3. Default API:
|
|
40
|
+
`https://api.mc.myosuite.org`.
|
|
41
|
+
|
|
42
|
+
```bash
|
|
43
|
+
pip install -U evalmc myosuite
|
|
44
|
+
```
|
|
45
|
+
|
|
46
|
+
---
|
|
47
|
+
|
|
48
|
+
## Train locally (MyoSuite 3)
|
|
49
|
+
|
|
50
|
+
2026 ChaseTag uses the steered full-body 1v1 env on the Gymnasium API:
|
|
51
|
+
|
|
52
|
+
```python
|
|
53
|
+
from myosuite import make_env
|
|
54
|
+
|
|
55
|
+
env = make_env("myoChallengeChaseTagFBVs-v0")
|
|
56
|
+
obs, info = env.reset(seed=0)
|
|
57
|
+
```
|
|
58
|
+
|
|
59
|
+
| | |
|
|
60
|
+
|---|---|
|
|
61
|
+
| **Env** | `myoChallengeChaseTagFBVs-v0` |
|
|
62
|
+
| **Task / phase** | `chasetag` / `1` |
|
|
63
|
+
| **Observation** | `(546,)` — you are `agent_0`; last 2 dims are role one-hot |
|
|
64
|
+
| **Action** | `(354,)` — muscle activations in `[0, 1]` |
|
|
65
|
+
| **Scoring** | Title cycle: mid-cycle vs a fixed champion, then single-elim finals |
|
|
66
|
+
|
|
67
|
+
CPU training (Stable-Baselines3) or GPU (`make_env(..., backend="mjlab")`) both
|
|
68
|
+
export to the same ONNX contract. See [MyoSuite 3](https://www.myosuite.org).
|
|
69
|
+
|
|
70
|
+
---
|
|
71
|
+
|
|
72
|
+
## Quick start
|
|
73
|
+
|
|
74
|
+
```bash
|
|
75
|
+
evalmc host --set-host https://api.mc.myosuite.org
|
|
76
|
+
evalmc login # email + token from the dashboard
|
|
77
|
+
evalmc status
|
|
78
|
+
evalmc submit-onnx model.onnx -t chasetag -p 1
|
|
79
|
+
```
|
|
80
|
+
|
|
81
|
+
Credentials are stored in `~/.myochallenge/`.
|
|
82
|
+
|
|
83
|
+
---
|
|
84
|
+
|
|
85
|
+
## Commands
|
|
86
|
+
|
|
87
|
+
| Command | Purpose |
|
|
88
|
+
|---|---|
|
|
89
|
+
| `evalmc host` | Show or set the API host |
|
|
90
|
+
| `evalmc login` | Save email + auth token |
|
|
91
|
+
| `evalmc set_token` | Set the token non-interactively |
|
|
92
|
+
| `evalmc status` | Confirm host and team |
|
|
93
|
+
| `evalmc submit-onnx` | Upload a standalone ONNX policy |
|
|
94
|
+
| `evalmc nominate` | Pick a scored artifact for title-cycle finals |
|
|
95
|
+
| `evalmc push` | Submit a Docker / ECR agent image |
|
|
96
|
+
|
|
97
|
+
### ONNX (recommended)
|
|
98
|
+
|
|
99
|
+
Graph is `obs → action`. No `policy.py` required.
|
|
100
|
+
|
|
101
|
+
```bash
|
|
102
|
+
evalmc submit-onnx model.onnx -t chasetag -p 1
|
|
103
|
+
```
|
|
104
|
+
|
|
105
|
+
ChaseTag tensors: input `obs` `[batch, 546]`, output `action` `[batch, 354]`.
|
|
106
|
+
|
|
107
|
+
### Title-cycle nomination
|
|
108
|
+
|
|
109
|
+
Before freeze, choose which scored in-window submission plays in finals.
|
|
110
|
+
Without a nomination the platform uses your best score.
|
|
111
|
+
|
|
112
|
+
```bash
|
|
113
|
+
evalmc nominate -t chasetag -p 1 --submission-id 123
|
|
114
|
+
```
|
|
115
|
+
|
|
116
|
+
### Docker
|
|
117
|
+
|
|
118
|
+
For custom Python around the policy. Ship `policy.py` and/or `model.onnx`
|
|
119
|
+
under `/policy` (or `/app`):
|
|
120
|
+
|
|
121
|
+
```python
|
|
122
|
+
class Policy:
|
|
123
|
+
def reset(self):
|
|
124
|
+
...
|
|
125
|
+
def get_action(self, obs):
|
|
126
|
+
... # 1-D float array, length 354 for ChaseTag
|
|
127
|
+
```
|
|
128
|
+
|
|
129
|
+
```bash
|
|
130
|
+
evalmc push my-agent:tag -t chasetag -p 1
|
|
131
|
+
```
|
|
132
|
+
|
|
133
|
+
---
|
|
134
|
+
|
|
135
|
+
ChaseTag 2026 is invitation-only. Registration and submission are rejected until
|
|
136
|
+
the team is on the whitelist. Leaderboards stay public.
|
evalmc-0.0.4/README.md
ADDED
|
@@ -0,0 +1,108 @@
|
|
|
1
|
+
# evalmc
|
|
2
|
+
|
|
3
|
+
Submission CLI for [MyoChallenge](https://mc26.myosuite.org). Train with
|
|
4
|
+
[MyoSuite 3](https://pypi.org/project/myosuite/) (`pip install -U myosuite`),
|
|
5
|
+
then upload an ONNX graph or a Docker agent image.
|
|
6
|
+
|
|
7
|
+
[](https://pypi.org/project/evalmc/)
|
|
8
|
+
[](https://pypi.org/project/evalmc/)
|
|
9
|
+
[](https://pypi.org/project/evalmc/)
|
|
10
|
+
|
|
11
|
+
Python **3.10–3.14**, same range as MyoSuite 3. Default API:
|
|
12
|
+
`https://api.mc.myosuite.org`.
|
|
13
|
+
|
|
14
|
+
```bash
|
|
15
|
+
pip install -U evalmc myosuite
|
|
16
|
+
```
|
|
17
|
+
|
|
18
|
+
---
|
|
19
|
+
|
|
20
|
+
## Train locally (MyoSuite 3)
|
|
21
|
+
|
|
22
|
+
2026 ChaseTag uses the steered full-body 1v1 env on the Gymnasium API:
|
|
23
|
+
|
|
24
|
+
```python
|
|
25
|
+
from myosuite import make_env
|
|
26
|
+
|
|
27
|
+
env = make_env("myoChallengeChaseTagFBVs-v0")
|
|
28
|
+
obs, info = env.reset(seed=0)
|
|
29
|
+
```
|
|
30
|
+
|
|
31
|
+
| | |
|
|
32
|
+
|---|---|
|
|
33
|
+
| **Env** | `myoChallengeChaseTagFBVs-v0` |
|
|
34
|
+
| **Task / phase** | `chasetag` / `1` |
|
|
35
|
+
| **Observation** | `(546,)` — you are `agent_0`; last 2 dims are role one-hot |
|
|
36
|
+
| **Action** | `(354,)` — muscle activations in `[0, 1]` |
|
|
37
|
+
| **Scoring** | Title cycle: mid-cycle vs a fixed champion, then single-elim finals |
|
|
38
|
+
|
|
39
|
+
CPU training (Stable-Baselines3) or GPU (`make_env(..., backend="mjlab")`) both
|
|
40
|
+
export to the same ONNX contract. See [MyoSuite 3](https://www.myosuite.org).
|
|
41
|
+
|
|
42
|
+
---
|
|
43
|
+
|
|
44
|
+
## Quick start
|
|
45
|
+
|
|
46
|
+
```bash
|
|
47
|
+
evalmc host --set-host https://api.mc.myosuite.org
|
|
48
|
+
evalmc login # email + token from the dashboard
|
|
49
|
+
evalmc status
|
|
50
|
+
evalmc submit-onnx model.onnx -t chasetag -p 1
|
|
51
|
+
```
|
|
52
|
+
|
|
53
|
+
Credentials are stored in `~/.myochallenge/`.
|
|
54
|
+
|
|
55
|
+
---
|
|
56
|
+
|
|
57
|
+
## Commands
|
|
58
|
+
|
|
59
|
+
| Command | Purpose |
|
|
60
|
+
|---|---|
|
|
61
|
+
| `evalmc host` | Show or set the API host |
|
|
62
|
+
| `evalmc login` | Save email + auth token |
|
|
63
|
+
| `evalmc set_token` | Set the token non-interactively |
|
|
64
|
+
| `evalmc status` | Confirm host and team |
|
|
65
|
+
| `evalmc submit-onnx` | Upload a standalone ONNX policy |
|
|
66
|
+
| `evalmc nominate` | Pick a scored artifact for title-cycle finals |
|
|
67
|
+
| `evalmc push` | Submit a Docker / ECR agent image |
|
|
68
|
+
|
|
69
|
+
### ONNX (recommended)
|
|
70
|
+
|
|
71
|
+
Graph is `obs → action`. No `policy.py` required.
|
|
72
|
+
|
|
73
|
+
```bash
|
|
74
|
+
evalmc submit-onnx model.onnx -t chasetag -p 1
|
|
75
|
+
```
|
|
76
|
+
|
|
77
|
+
ChaseTag tensors: input `obs` `[batch, 546]`, output `action` `[batch, 354]`.
|
|
78
|
+
|
|
79
|
+
### Title-cycle nomination
|
|
80
|
+
|
|
81
|
+
Before freeze, choose which scored in-window submission plays in finals.
|
|
82
|
+
Without a nomination the platform uses your best score.
|
|
83
|
+
|
|
84
|
+
```bash
|
|
85
|
+
evalmc nominate -t chasetag -p 1 --submission-id 123
|
|
86
|
+
```
|
|
87
|
+
|
|
88
|
+
### Docker
|
|
89
|
+
|
|
90
|
+
For custom Python around the policy. Ship `policy.py` and/or `model.onnx`
|
|
91
|
+
under `/policy` (or `/app`):
|
|
92
|
+
|
|
93
|
+
```python
|
|
94
|
+
class Policy:
|
|
95
|
+
def reset(self):
|
|
96
|
+
...
|
|
97
|
+
def get_action(self, obs):
|
|
98
|
+
... # 1-D float array, length 354 for ChaseTag
|
|
99
|
+
```
|
|
100
|
+
|
|
101
|
+
```bash
|
|
102
|
+
evalmc push my-agent:tag -t chasetag -p 1
|
|
103
|
+
```
|
|
104
|
+
|
|
105
|
+
---
|
|
106
|
+
|
|
107
|
+
ChaseTag 2026 is invitation-only. Registration and submission are rejected until
|
|
108
|
+
the team is on the whitelist. Leaderboards stay public.
|
|
@@ -18,13 +18,13 @@ from .nominate import nominate
|
|
|
18
18
|
@click.version_option()
|
|
19
19
|
def main():
|
|
20
20
|
"""
|
|
21
|
-
MyoChallenge submission CLI.
|
|
21
|
+
MyoChallenge submission CLI (MyoSuite 3).
|
|
22
22
|
|
|
23
23
|
Two submission paths are available:
|
|
24
24
|
|
|
25
25
|
\b
|
|
26
|
-
evalmc submit-onnx model.onnx -p 1 -t
|
|
27
|
-
evalmc push my-image:tag -p 1 -t
|
|
26
|
+
evalmc submit-onnx model.onnx -p 1 -t chasetag # ONNX (recommended)
|
|
27
|
+
evalmc push my-image:tag -p 1 -t chasetag # Docker / ECR
|
|
28
28
|
"""
|
|
29
29
|
pass
|
|
30
30
|
|
|
@@ -12,16 +12,16 @@ from .push_helpers import echo_submission_result, post_submission_file, resolve_
|
|
|
12
12
|
@click.command("submit-onnx")
|
|
13
13
|
@click.argument("onnx_path", type=click.Path(exists=True, path_type=Path))
|
|
14
14
|
@click.option("-p", "--phase", required=True, type=int, help="Challenge phase number")
|
|
15
|
-
@click.option("-t", "--task", required=True, help="Challenge task name (e.g.
|
|
15
|
+
@click.option("-t", "--task", required=True, help="Challenge task name (e.g. chasetag)")
|
|
16
16
|
@click.option("-e", "--email", default=None, help="Team email")
|
|
17
17
|
@click.option("-a", "--auth-token", default=None, help="Auth token")
|
|
18
18
|
def submit_onnx(onnx_path, phase, task, email, auth_token):
|
|
19
19
|
"""Submit a standalone ONNX model (no policy.py required).
|
|
20
20
|
|
|
21
|
-
|
|
21
|
+
ChaseTag (MyoSuite 3): obs [batch, 546] → action [batch, 354]
|
|
22
|
+
on myoChallengeChaseTagFBVs-v0.
|
|
22
23
|
|
|
23
24
|
Example:
|
|
24
|
-
evalmc submit-onnx my_model.onnx -t elbowflexion -p 1
|
|
25
25
|
evalmc submit-onnx chase.onnx -t chasetag -p 1
|
|
26
26
|
"""
|
|
27
27
|
if onnx_path.suffix.lower() != ".onnx":
|
|
@@ -0,0 +1,136 @@
|
|
|
1
|
+
Metadata-Version: 2.4
|
|
2
|
+
Name: evalmc
|
|
3
|
+
Version: 0.0.4
|
|
4
|
+
Summary: MyoChallenge CLI — submit ONNX and Docker policies trained with MyoSuite 3
|
|
5
|
+
Author-email: MyoChallenge Team <caggiano@gmail.com>
|
|
6
|
+
License-Expression: Apache-2.0
|
|
7
|
+
Project-URL: Homepage, https://mc26.myosuite.org
|
|
8
|
+
Project-URL: MyoSuite, https://www.myosuite.org
|
|
9
|
+
Project-URL: API, https://api.mc.myosuite.org
|
|
10
|
+
Classifier: Development Status :: 4 - Beta
|
|
11
|
+
Classifier: Intended Audience :: Science/Research
|
|
12
|
+
Classifier: Operating System :: OS Independent
|
|
13
|
+
Classifier: Programming Language :: Python :: 3
|
|
14
|
+
Classifier: Programming Language :: Python :: 3.10
|
|
15
|
+
Classifier: Programming Language :: Python :: 3.11
|
|
16
|
+
Classifier: Programming Language :: Python :: 3.12
|
|
17
|
+
Classifier: Programming Language :: Python :: 3.13
|
|
18
|
+
Classifier: Programming Language :: Python :: 3.14
|
|
19
|
+
Classifier: Topic :: Scientific/Engineering
|
|
20
|
+
Requires-Python: >=3.10
|
|
21
|
+
Description-Content-Type: text/markdown
|
|
22
|
+
License-File: LICENSE
|
|
23
|
+
Requires-Dist: click>=8.0.0
|
|
24
|
+
Requires-Dist: docker>=6.0.0
|
|
25
|
+
Requires-Dist: requests>=2.25.0
|
|
26
|
+
Requires-Dist: boto3>=1.26.0
|
|
27
|
+
Dynamic: license-file
|
|
28
|
+
|
|
29
|
+
# evalmc
|
|
30
|
+
|
|
31
|
+
Submission CLI for [MyoChallenge](https://mc26.myosuite.org). Train with
|
|
32
|
+
[MyoSuite 3](https://pypi.org/project/myosuite/) (`pip install -U myosuite`),
|
|
33
|
+
then upload an ONNX graph or a Docker agent image.
|
|
34
|
+
|
|
35
|
+
[](https://pypi.org/project/evalmc/)
|
|
36
|
+
[](https://pypi.org/project/evalmc/)
|
|
37
|
+
[](https://pypi.org/project/evalmc/)
|
|
38
|
+
|
|
39
|
+
Python **3.10–3.14**, same range as MyoSuite 3. Default API:
|
|
40
|
+
`https://api.mc.myosuite.org`.
|
|
41
|
+
|
|
42
|
+
```bash
|
|
43
|
+
pip install -U evalmc myosuite
|
|
44
|
+
```
|
|
45
|
+
|
|
46
|
+
---
|
|
47
|
+
|
|
48
|
+
## Train locally (MyoSuite 3)
|
|
49
|
+
|
|
50
|
+
2026 ChaseTag uses the steered full-body 1v1 env on the Gymnasium API:
|
|
51
|
+
|
|
52
|
+
```python
|
|
53
|
+
from myosuite import make_env
|
|
54
|
+
|
|
55
|
+
env = make_env("myoChallengeChaseTagFBVs-v0")
|
|
56
|
+
obs, info = env.reset(seed=0)
|
|
57
|
+
```
|
|
58
|
+
|
|
59
|
+
| | |
|
|
60
|
+
|---|---|
|
|
61
|
+
| **Env** | `myoChallengeChaseTagFBVs-v0` |
|
|
62
|
+
| **Task / phase** | `chasetag` / `1` |
|
|
63
|
+
| **Observation** | `(546,)` — you are `agent_0`; last 2 dims are role one-hot |
|
|
64
|
+
| **Action** | `(354,)` — muscle activations in `[0, 1]` |
|
|
65
|
+
| **Scoring** | Title cycle: mid-cycle vs a fixed champion, then single-elim finals |
|
|
66
|
+
|
|
67
|
+
CPU training (Stable-Baselines3) or GPU (`make_env(..., backend="mjlab")`) both
|
|
68
|
+
export to the same ONNX contract. See [MyoSuite 3](https://www.myosuite.org).
|
|
69
|
+
|
|
70
|
+
---
|
|
71
|
+
|
|
72
|
+
## Quick start
|
|
73
|
+
|
|
74
|
+
```bash
|
|
75
|
+
evalmc host --set-host https://api.mc.myosuite.org
|
|
76
|
+
evalmc login # email + token from the dashboard
|
|
77
|
+
evalmc status
|
|
78
|
+
evalmc submit-onnx model.onnx -t chasetag -p 1
|
|
79
|
+
```
|
|
80
|
+
|
|
81
|
+
Credentials are stored in `~/.myochallenge/`.
|
|
82
|
+
|
|
83
|
+
---
|
|
84
|
+
|
|
85
|
+
## Commands
|
|
86
|
+
|
|
87
|
+
| Command | Purpose |
|
|
88
|
+
|---|---|
|
|
89
|
+
| `evalmc host` | Show or set the API host |
|
|
90
|
+
| `evalmc login` | Save email + auth token |
|
|
91
|
+
| `evalmc set_token` | Set the token non-interactively |
|
|
92
|
+
| `evalmc status` | Confirm host and team |
|
|
93
|
+
| `evalmc submit-onnx` | Upload a standalone ONNX policy |
|
|
94
|
+
| `evalmc nominate` | Pick a scored artifact for title-cycle finals |
|
|
95
|
+
| `evalmc push` | Submit a Docker / ECR agent image |
|
|
96
|
+
|
|
97
|
+
### ONNX (recommended)
|
|
98
|
+
|
|
99
|
+
Graph is `obs → action`. No `policy.py` required.
|
|
100
|
+
|
|
101
|
+
```bash
|
|
102
|
+
evalmc submit-onnx model.onnx -t chasetag -p 1
|
|
103
|
+
```
|
|
104
|
+
|
|
105
|
+
ChaseTag tensors: input `obs` `[batch, 546]`, output `action` `[batch, 354]`.
|
|
106
|
+
|
|
107
|
+
### Title-cycle nomination
|
|
108
|
+
|
|
109
|
+
Before freeze, choose which scored in-window submission plays in finals.
|
|
110
|
+
Without a nomination the platform uses your best score.
|
|
111
|
+
|
|
112
|
+
```bash
|
|
113
|
+
evalmc nominate -t chasetag -p 1 --submission-id 123
|
|
114
|
+
```
|
|
115
|
+
|
|
116
|
+
### Docker
|
|
117
|
+
|
|
118
|
+
For custom Python around the policy. Ship `policy.py` and/or `model.onnx`
|
|
119
|
+
under `/policy` (or `/app`):
|
|
120
|
+
|
|
121
|
+
```python
|
|
122
|
+
class Policy:
|
|
123
|
+
def reset(self):
|
|
124
|
+
...
|
|
125
|
+
def get_action(self, obs):
|
|
126
|
+
... # 1-D float array, length 354 for ChaseTag
|
|
127
|
+
```
|
|
128
|
+
|
|
129
|
+
```bash
|
|
130
|
+
evalmc push my-agent:tag -t chasetag -p 1
|
|
131
|
+
```
|
|
132
|
+
|
|
133
|
+
---
|
|
134
|
+
|
|
135
|
+
ChaseTag 2026 is invitation-only. Registration and submission are rejected until
|
|
136
|
+
the team is on the whitelist. Leaderboards stay public.
|
|
@@ -4,22 +4,25 @@ build-backend = "setuptools.build_meta"
|
|
|
4
4
|
|
|
5
5
|
[project]
|
|
6
6
|
name = "evalmc"
|
|
7
|
-
version = "0.0.
|
|
8
|
-
description = "
|
|
7
|
+
version = "0.0.4"
|
|
8
|
+
description = "MyoChallenge CLI — submit ONNX and Docker policies trained with MyoSuite 3"
|
|
9
9
|
readme = "README.md"
|
|
10
10
|
license = "Apache-2.0"
|
|
11
|
-
requires-python = ">=3.
|
|
11
|
+
requires-python = ">=3.10"
|
|
12
12
|
authors = [
|
|
13
13
|
{ name = "MyoChallenge Team", email = "caggiano@gmail.com" },
|
|
14
14
|
]
|
|
15
15
|
classifiers = [
|
|
16
16
|
"Development Status :: 4 - Beta",
|
|
17
|
-
"Intended Audience ::
|
|
17
|
+
"Intended Audience :: Science/Research",
|
|
18
18
|
"Operating System :: OS Independent",
|
|
19
19
|
"Programming Language :: Python :: 3",
|
|
20
|
-
"Programming Language :: Python :: 3.9",
|
|
21
20
|
"Programming Language :: Python :: 3.10",
|
|
22
21
|
"Programming Language :: Python :: 3.11",
|
|
22
|
+
"Programming Language :: Python :: 3.12",
|
|
23
|
+
"Programming Language :: Python :: 3.13",
|
|
24
|
+
"Programming Language :: Python :: 3.14",
|
|
25
|
+
"Topic :: Scientific/Engineering",
|
|
23
26
|
]
|
|
24
27
|
dependencies = [
|
|
25
28
|
"click>=8.0.0",
|
|
@@ -29,7 +32,9 @@ dependencies = [
|
|
|
29
32
|
]
|
|
30
33
|
|
|
31
34
|
[project.urls]
|
|
32
|
-
Homepage = "https://
|
|
35
|
+
Homepage = "https://mc26.myosuite.org"
|
|
36
|
+
MyoSuite = "https://www.myosuite.org"
|
|
37
|
+
API = "https://api.mc.myosuite.org"
|
|
33
38
|
|
|
34
39
|
[project.scripts]
|
|
35
40
|
evalmc = "evalmc.main:main"
|
evalmc-0.0.3/PKG-INFO
DELETED
|
@@ -1,95 +0,0 @@
|
|
|
1
|
-
Metadata-Version: 2.4
|
|
2
|
-
Name: evalmc
|
|
3
|
-
Version: 0.0.3
|
|
4
|
-
Summary: Submit ONNX policies and Docker agents to MyoChallenge
|
|
5
|
-
Author-email: MyoChallenge Team <caggiano@gmail.com>
|
|
6
|
-
License-Expression: Apache-2.0
|
|
7
|
-
Project-URL: Homepage, https://github.com/MyoHub/mcEvalProd-CLI
|
|
8
|
-
Classifier: Development Status :: 4 - Beta
|
|
9
|
-
Classifier: Intended Audience :: Developers
|
|
10
|
-
Classifier: Operating System :: OS Independent
|
|
11
|
-
Classifier: Programming Language :: Python :: 3
|
|
12
|
-
Classifier: Programming Language :: Python :: 3.9
|
|
13
|
-
Classifier: Programming Language :: Python :: 3.10
|
|
14
|
-
Classifier: Programming Language :: Python :: 3.11
|
|
15
|
-
Requires-Python: >=3.9
|
|
16
|
-
Description-Content-Type: text/markdown
|
|
17
|
-
License-File: LICENSE
|
|
18
|
-
Requires-Dist: click>=8.0.0
|
|
19
|
-
Requires-Dist: docker>=6.0.0
|
|
20
|
-
Requires-Dist: requests>=2.25.0
|
|
21
|
-
Requires-Dist: boto3>=1.26.0
|
|
22
|
-
Dynamic: license-file
|
|
23
|
-
|
|
24
|
-
# evalmc
|
|
25
|
-
|
|
26
|
-
MyoChallenge submission CLI — upload ONNX policies or Docker agent images to
|
|
27
|
-
[mc26.myosuite.org](https://mc26.myosuite.org).
|
|
28
|
-
|
|
29
|
-
[](https://pypi.org/project/evalmc/)
|
|
30
|
-
[](https://pypi.org/project/evalmc/)
|
|
31
|
-
[](https://pypi.org/project/evalmc/)
|
|
32
|
-
|
|
33
|
-
```bash
|
|
34
|
-
pip install -U evalmc
|
|
35
|
-
```
|
|
36
|
-
|
|
37
|
-
Default API: `https://api.mc.myosuite.org`
|
|
38
|
-
|
|
39
|
-
---
|
|
40
|
-
|
|
41
|
-
## Quick start
|
|
42
|
-
|
|
43
|
-
```bash
|
|
44
|
-
evalmc host --set-host https://api.mc.myosuite.org
|
|
45
|
-
evalmc login
|
|
46
|
-
evalmc status
|
|
47
|
-
evalmc submit-onnx model.onnx -t chasetag -p 1
|
|
48
|
-
```
|
|
49
|
-
|
|
50
|
-
`evalmc login` stores the email and auth token from the dashboard.
|
|
51
|
-
Credentials live in `~/.myochallenge/`.
|
|
52
|
-
|
|
53
|
-
---
|
|
54
|
-
|
|
55
|
-
## Commands
|
|
56
|
-
|
|
57
|
-
| Command | Purpose |
|
|
58
|
-
|---|---|
|
|
59
|
-
| `evalmc host` | Show or set the API host |
|
|
60
|
-
| `evalmc login` | Save email + auth token |
|
|
61
|
-
| `evalmc status` | Confirm host and team |
|
|
62
|
-
| `evalmc submit-onnx` | Upload an ONNX policy |
|
|
63
|
-
| `evalmc nominate` | Pick a scored artifact for title-cycle finals |
|
|
64
|
-
| `evalmc push` | Submit a Docker / ECR agent image |
|
|
65
|
-
|
|
66
|
-
### ONNX
|
|
67
|
-
|
|
68
|
-
Recommended for ChaseTag. The graph is `obs → action`; no `policy.py` required.
|
|
69
|
-
|
|
70
|
-
```bash
|
|
71
|
-
evalmc submit-onnx model.onnx -t chasetag -p 1
|
|
72
|
-
```
|
|
73
|
-
|
|
74
|
-
### Title-cycle nomination
|
|
75
|
-
|
|
76
|
-
Before freeze, choose which scored in-window submission plays in finals.
|
|
77
|
-
If you skip this, the platform uses your best score.
|
|
78
|
-
|
|
79
|
-
```bash
|
|
80
|
-
evalmc nominate -t chasetag -p 1 --submission-id 123
|
|
81
|
-
```
|
|
82
|
-
|
|
83
|
-
### Docker
|
|
84
|
-
|
|
85
|
-
For custom Python around the policy. The image must ship `policy.py` and/or
|
|
86
|
-
`model.onnx` under `/policy` (or `/app`).
|
|
87
|
-
|
|
88
|
-
```bash
|
|
89
|
-
evalmc push my-agent:tag -t chasetag -p 1
|
|
90
|
-
```
|
|
91
|
-
|
|
92
|
-
---
|
|
93
|
-
|
|
94
|
-
Some tracks are invitation-only. Registration and submission are rejected until
|
|
95
|
-
the team is on the whitelist. Leaderboards stay public.
|
evalmc-0.0.3/README.md
DELETED
|
@@ -1,72 +0,0 @@
|
|
|
1
|
-
# evalmc
|
|
2
|
-
|
|
3
|
-
MyoChallenge submission CLI — upload ONNX policies or Docker agent images to
|
|
4
|
-
[mc26.myosuite.org](https://mc26.myosuite.org).
|
|
5
|
-
|
|
6
|
-
[](https://pypi.org/project/evalmc/)
|
|
7
|
-
[](https://pypi.org/project/evalmc/)
|
|
8
|
-
[](https://pypi.org/project/evalmc/)
|
|
9
|
-
|
|
10
|
-
```bash
|
|
11
|
-
pip install -U evalmc
|
|
12
|
-
```
|
|
13
|
-
|
|
14
|
-
Default API: `https://api.mc.myosuite.org`
|
|
15
|
-
|
|
16
|
-
---
|
|
17
|
-
|
|
18
|
-
## Quick start
|
|
19
|
-
|
|
20
|
-
```bash
|
|
21
|
-
evalmc host --set-host https://api.mc.myosuite.org
|
|
22
|
-
evalmc login
|
|
23
|
-
evalmc status
|
|
24
|
-
evalmc submit-onnx model.onnx -t chasetag -p 1
|
|
25
|
-
```
|
|
26
|
-
|
|
27
|
-
`evalmc login` stores the email and auth token from the dashboard.
|
|
28
|
-
Credentials live in `~/.myochallenge/`.
|
|
29
|
-
|
|
30
|
-
---
|
|
31
|
-
|
|
32
|
-
## Commands
|
|
33
|
-
|
|
34
|
-
| Command | Purpose |
|
|
35
|
-
|---|---|
|
|
36
|
-
| `evalmc host` | Show or set the API host |
|
|
37
|
-
| `evalmc login` | Save email + auth token |
|
|
38
|
-
| `evalmc status` | Confirm host and team |
|
|
39
|
-
| `evalmc submit-onnx` | Upload an ONNX policy |
|
|
40
|
-
| `evalmc nominate` | Pick a scored artifact for title-cycle finals |
|
|
41
|
-
| `evalmc push` | Submit a Docker / ECR agent image |
|
|
42
|
-
|
|
43
|
-
### ONNX
|
|
44
|
-
|
|
45
|
-
Recommended for ChaseTag. The graph is `obs → action`; no `policy.py` required.
|
|
46
|
-
|
|
47
|
-
```bash
|
|
48
|
-
evalmc submit-onnx model.onnx -t chasetag -p 1
|
|
49
|
-
```
|
|
50
|
-
|
|
51
|
-
### Title-cycle nomination
|
|
52
|
-
|
|
53
|
-
Before freeze, choose which scored in-window submission plays in finals.
|
|
54
|
-
If you skip this, the platform uses your best score.
|
|
55
|
-
|
|
56
|
-
```bash
|
|
57
|
-
evalmc nominate -t chasetag -p 1 --submission-id 123
|
|
58
|
-
```
|
|
59
|
-
|
|
60
|
-
### Docker
|
|
61
|
-
|
|
62
|
-
For custom Python around the policy. The image must ship `policy.py` and/or
|
|
63
|
-
`model.onnx` under `/policy` (or `/app`).
|
|
64
|
-
|
|
65
|
-
```bash
|
|
66
|
-
evalmc push my-agent:tag -t chasetag -p 1
|
|
67
|
-
```
|
|
68
|
-
|
|
69
|
-
---
|
|
70
|
-
|
|
71
|
-
Some tracks are invitation-only. Registration and submission are rejected until
|
|
72
|
-
the team is on the whitelist. Leaderboards stay public.
|
|
@@ -1,95 +0,0 @@
|
|
|
1
|
-
Metadata-Version: 2.4
|
|
2
|
-
Name: evalmc
|
|
3
|
-
Version: 0.0.3
|
|
4
|
-
Summary: Submit ONNX policies and Docker agents to MyoChallenge
|
|
5
|
-
Author-email: MyoChallenge Team <caggiano@gmail.com>
|
|
6
|
-
License-Expression: Apache-2.0
|
|
7
|
-
Project-URL: Homepage, https://github.com/MyoHub/mcEvalProd-CLI
|
|
8
|
-
Classifier: Development Status :: 4 - Beta
|
|
9
|
-
Classifier: Intended Audience :: Developers
|
|
10
|
-
Classifier: Operating System :: OS Independent
|
|
11
|
-
Classifier: Programming Language :: Python :: 3
|
|
12
|
-
Classifier: Programming Language :: Python :: 3.9
|
|
13
|
-
Classifier: Programming Language :: Python :: 3.10
|
|
14
|
-
Classifier: Programming Language :: Python :: 3.11
|
|
15
|
-
Requires-Python: >=3.9
|
|
16
|
-
Description-Content-Type: text/markdown
|
|
17
|
-
License-File: LICENSE
|
|
18
|
-
Requires-Dist: click>=8.0.0
|
|
19
|
-
Requires-Dist: docker>=6.0.0
|
|
20
|
-
Requires-Dist: requests>=2.25.0
|
|
21
|
-
Requires-Dist: boto3>=1.26.0
|
|
22
|
-
Dynamic: license-file
|
|
23
|
-
|
|
24
|
-
# evalmc
|
|
25
|
-
|
|
26
|
-
MyoChallenge submission CLI — upload ONNX policies or Docker agent images to
|
|
27
|
-
[mc26.myosuite.org](https://mc26.myosuite.org).
|
|
28
|
-
|
|
29
|
-
[](https://pypi.org/project/evalmc/)
|
|
30
|
-
[](https://pypi.org/project/evalmc/)
|
|
31
|
-
[](https://pypi.org/project/evalmc/)
|
|
32
|
-
|
|
33
|
-
```bash
|
|
34
|
-
pip install -U evalmc
|
|
35
|
-
```
|
|
36
|
-
|
|
37
|
-
Default API: `https://api.mc.myosuite.org`
|
|
38
|
-
|
|
39
|
-
---
|
|
40
|
-
|
|
41
|
-
## Quick start
|
|
42
|
-
|
|
43
|
-
```bash
|
|
44
|
-
evalmc host --set-host https://api.mc.myosuite.org
|
|
45
|
-
evalmc login
|
|
46
|
-
evalmc status
|
|
47
|
-
evalmc submit-onnx model.onnx -t chasetag -p 1
|
|
48
|
-
```
|
|
49
|
-
|
|
50
|
-
`evalmc login` stores the email and auth token from the dashboard.
|
|
51
|
-
Credentials live in `~/.myochallenge/`.
|
|
52
|
-
|
|
53
|
-
---
|
|
54
|
-
|
|
55
|
-
## Commands
|
|
56
|
-
|
|
57
|
-
| Command | Purpose |
|
|
58
|
-
|---|---|
|
|
59
|
-
| `evalmc host` | Show or set the API host |
|
|
60
|
-
| `evalmc login` | Save email + auth token |
|
|
61
|
-
| `evalmc status` | Confirm host and team |
|
|
62
|
-
| `evalmc submit-onnx` | Upload an ONNX policy |
|
|
63
|
-
| `evalmc nominate` | Pick a scored artifact for title-cycle finals |
|
|
64
|
-
| `evalmc push` | Submit a Docker / ECR agent image |
|
|
65
|
-
|
|
66
|
-
### ONNX
|
|
67
|
-
|
|
68
|
-
Recommended for ChaseTag. The graph is `obs → action`; no `policy.py` required.
|
|
69
|
-
|
|
70
|
-
```bash
|
|
71
|
-
evalmc submit-onnx model.onnx -t chasetag -p 1
|
|
72
|
-
```
|
|
73
|
-
|
|
74
|
-
### Title-cycle nomination
|
|
75
|
-
|
|
76
|
-
Before freeze, choose which scored in-window submission plays in finals.
|
|
77
|
-
If you skip this, the platform uses your best score.
|
|
78
|
-
|
|
79
|
-
```bash
|
|
80
|
-
evalmc nominate -t chasetag -p 1 --submission-id 123
|
|
81
|
-
```
|
|
82
|
-
|
|
83
|
-
### Docker
|
|
84
|
-
|
|
85
|
-
For custom Python around the policy. The image must ship `policy.py` and/or
|
|
86
|
-
`model.onnx` under `/policy` (or `/app`).
|
|
87
|
-
|
|
88
|
-
```bash
|
|
89
|
-
evalmc push my-agent:tag -t chasetag -p 1
|
|
90
|
-
```
|
|
91
|
-
|
|
92
|
-
---
|
|
93
|
-
|
|
94
|
-
Some tracks are invitation-only. Registration and submission are rejected until
|
|
95
|
-
the team is on the whitelist. Leaderboards stay public.
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|