@codnx/mlxd 1.0.0

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.
package/LICENSE ADDED
@@ -0,0 +1,40 @@
1
+ Apache License
2
+ Version 2.0, January 2004
3
+ https://www.apache.org/licenses/LICENSE-2.0
4
+
5
+ Copyright 2025 codin.io
6
+
7
+ TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
8
+
9
+ 1. Definitions.
10
+
11
+ "License" shall mean the terms and conditions for use, reproduction, and distribution as defined in this document.
12
+
13
+ "Licensor" shall mean the copyright owner or entity authorized by the copyright owner that is granting the License.
14
+
15
+ "You" (or "Your") shall mean an individual or Legal Entity exercising permissions granted by this License.
16
+
17
+ "Source" form shall mean the preferred form for making modifications, including but not limited to software source code, documentation source, and configuration files.
18
+
19
+ "Object" form shall mean any form resulting from mechanical transformation or adaptation of a Source, including but not limited to compiled object code, generated documentation, and conversions to other media types.
20
+
21
+ "Work" shall mean the work of authorship, whether in Source or Object form, made available under the License.
22
+
23
+ 2. Grant of Copyright License.
24
+ Subject to the terms and conditions of this License, the Licensor hereby grants You a worldwide, royalty-free, non-exclusive, perpetual, irrevocable copyright license to use, reproduce, prepare derivative works of, publicly display, publicly perform, sublicense, and distribute the Work and such derivative works in Source or Object form.
25
+
26
+ 3. Grant of Patent License.
27
+ Subject to the terms and conditions of this License, the Licensor hereby grants You a worldwide, royalty-free, non-exclusive, perpetual, irrevocable patent license to make, have made, use, offer to sell, sell, import, and otherwise transfer the Work.
28
+
29
+ 4. Redistribution.
30
+ You may reproduce and distribute copies of the Work or derivative works thereof in any medium, with or without modifications, and in Source or Object form, provided that You meet the following conditions:
31
+
32
+ - You must include a copy of this License in every copy or substantial portion of the Work.
33
+ - You must state any changes you made to the Work, and retain notices indicating the changes.
34
+ - You may not use the names of the Licensor or contributors without written permission.
35
+
36
+ 5. No Warranty.
37
+ The Work is provided "as is", without warranty of any kind, express or implied, including but not limited to the warranties of merchantability, fitness for a particular purpose, and noninfringement.
38
+
39
+ 6. Limitation of Liability.
40
+ In no event shall the Licensor or contributors be liable for any claim, damages, or other liability arising from the use of the Work, even if advised of the possibility of such damages.
package/README.md ADDED
@@ -0,0 +1,212 @@
1
+ # `@codnx/mlxd`
2
+
3
+ **MLXD (Machine Learning eXperiment Deployment)** is a CI/CD testing tool for machine learning workflows. This CLI simplifies testing, configuration, and encryption of ML model performance metrics in a secure and standalone manner.
4
+
5
+ ---
6
+
7
+ ## **Features**
8
+
9
+ - **Run ML Tests**: Evaluate metrics such as accuracy, precision, and recall for ML models.
10
+ - **Fully Configurable**: Easily define model paths, datasets, and test criteria using a `config.yaml` file.
11
+
12
+ ---
13
+
14
+ ## **Quick Start**
15
+
16
+ ### **1. Installation**
17
+
18
+ Install the CLI globally via npm:
19
+
20
+ ```bash
21
+ npm install -g @codnx/mlxd
22
+ ```
23
+
24
+ ---
25
+
26
+ ### **2. Initialize Configuration**
27
+
28
+ Run the following command to create a `config.yaml` file in the current directory:
29
+
30
+ ```bash
31
+ mlxd init
32
+ ```
33
+
34
+ ---
35
+
36
+ ### **3. Configure `config.yaml`**
37
+
38
+ Edit the generated `config.yaml` file to specify your model and dataset paths, along with the test criteria. Example:
39
+
40
+ ```yaml
41
+ modelPath: "./models/mymodel.h5"
42
+ dataPath: "./data/dataset.csv"
43
+ tests:
44
+ - name: "Accuracy Test"
45
+ type: "metric_threshold"
46
+ metric: "accuracy"
47
+ threshold: 0.9
48
+ ```
49
+
50
+ ---
51
+
52
+ ### **4. Run Tests**
53
+
54
+ Run the tests defined in the configuration file:
55
+
56
+ ```bash
57
+ mlxd run
58
+ ```
59
+
60
+ Results will be displayed in the console.
61
+
62
+ ---
63
+
64
+ ## **Commands**
65
+
66
+ ### **Initialization**
67
+
68
+ - **`mlxd init`**:
69
+ Creates a `config.yaml` template in the current directory.
70
+
71
+ ### **Run Tests**
72
+
73
+ - **`mlxd run`**:
74
+ Executes the tests defined in `config.yaml`.
75
+
76
+ ### **Version**
77
+
78
+ - **`mlxd --version` or `mlxd -v`**:
79
+ Displays the current version of the CLI.
80
+
81
+ ### **Uninstall**
82
+
83
+ - **`mlxd uninstall`**:
84
+ Removes the CLI from your system.
85
+
86
+ ---
87
+
88
+ ## **Example Workflow**
89
+
90
+ 1. **Install the CLI**:
91
+
92
+ ```bash
93
+ npm install -g @codnx/mlxd
94
+ ```
95
+
96
+ 2. **Create a Configuration File**:
97
+
98
+ ```bash
99
+ mlxd init
100
+ ```
101
+
102
+ 3. **Edit `config.yaml`**:
103
+
104
+ ```yaml
105
+ modelPath: "./models/mymodel.h5"
106
+ dataPath: "./data/dataset.csv"
107
+ tests:
108
+ - name: "Accuracy Test"
109
+ type: "metric_threshold"
110
+ metric: "accuracy"
111
+ threshold: 0.9
112
+ ```
113
+
114
+ 4. **Run Tests**:
115
+
116
+ ```bash
117
+ mlxd run
118
+ ```
119
+
120
+ 5. **Uninstall the CLI**:
121
+
122
+ ```bash
123
+ mlxd uninstall
124
+ ```
125
+
126
+ ---
127
+
128
+ ## **Troubleshooting**
129
+
130
+ ### **Common Issues**
131
+
132
+ - **No `config.yaml` found**:
133
+ Ensure you run `mlxd init` to generate the configuration file.
134
+
135
+ - **Model or dataset file not found**:
136
+ Verify that the paths in `config.yaml` (`modelPath` and `dataPath`) point to valid files.
137
+
138
+ ---
139
+
140
+ ### **Check CLI Version**
141
+
142
+ Confirm the installed version using:
143
+
144
+ ```bash
145
+ mlxd --version
146
+ ```
147
+
148
+ ---
149
+
150
+ ## **Contact Support**
151
+
152
+ If you encounter issues or have questions, feel free to reach out to our support team:
153
+
154
+ - **Email**: [support@codin.in](mailto:support@codin.in)
155
+
156
+ We’re here to help!
157
+
158
+ ---
159
+
160
+ ## **License**
161
+
162
+ This project is licensed under the Apache License 2.0.
163
+
164
+ ---
165
+
166
+ ## **Usage Agreement**
167
+
168
+ By installing or using the `@codin/mlxd` CLI tool, you acknowledge and agree to the following terms:
169
+
170
+ ### **1. Development Status**
171
+
172
+ - This CLI tool is under active development and may undergo significant changes in functionality, structure, and features.
173
+ - The current version provides limited functionality (Automated model performance checks) and may include experimental or unstable features.
174
+
175
+ ### **2. Usage Terms**
176
+
177
+ - You are permitted to use this CLI tool solely for its intended purpose: testing machine learning models within your projects.
178
+ - Redistribution, reverse engineering, or modification of the tool for commercial purposes without explicit permission from the authors is prohibited.
179
+ - You are responsible for any actions or consequences arising from the use of this CLI tool, including but not limited to data handling and processing.
180
+
181
+ ### **3. Data Responsibility**
182
+
183
+ - This CLI does not transmit or store any user data externally. However, you are responsible for ensuring the security and confidentiality of the datasets, models, and configuration files (`config.yaml`) used with the CLI.
184
+ - It is your responsibility to comply with applicable data privacy, security, and governance laws while using this tool.
185
+
186
+ ### **4. Disclaimer of Warranty**
187
+
188
+ - This CLI is provided on an "as-is" basis, without any guarantees or warranties, express or implied, including but not limited to fitness for a particular purpose, non-infringement, or merchantability.
189
+ - The authors make no guarantee that the tool is free of errors, bugs, or vulnerabilities.
190
+
191
+ ### **5. Limitation of Liability**
192
+
193
+ - The authors and contributors shall not be held liable for any direct, indirect, incidental, special, or consequential damages arising from the use or inability to use the CLI, even if advised of the possibility of such damages.
194
+
195
+ ### **6. Updates and Changes**
196
+
197
+ - The tool may be updated frequently during development. These updates may alter or remove features without prior notice.
198
+ - Users are encouraged to keep the CLI updated to ensure compatibility and access to the latest improvements.
199
+
200
+ ### **7. Feedback and Contributions**
201
+
202
+ - By providing feedback, suggestions, or contributions to the project, you grant the authors a non-exclusive, royalty-free, worldwide license to use, modify, and distribute your contributions as part of the project.
203
+
204
+ ### **8. Termination of Use**
205
+
206
+ - The authors reserve the right to revoke access to this CLI tool at any time if the terms of this agreement are violated.
207
+
208
+ ### **9. Governing License**
209
+
210
+ - This tool is licensed under the [ISC License](./LICENSE). The terms of the ISC License apply in addition to this Usage Agreement.
211
+
212
+ ---
@@ -0,0 +1,3 @@
1
+ prompt,expected_label
2
+ "Sample prompt 1", 1
3
+ "Sample prompt 2", 0
package/mlxd/LICENSE ADDED
@@ -0,0 +1,40 @@
1
+ Apache License
2
+ Version 2.0, January 2004
3
+ https://www.apache.org/licenses/LICENSE-2.0
4
+
5
+ Copyright 2025 codin.io
6
+
7
+ TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
8
+
9
+ 1. Definitions.
10
+
11
+ "License" shall mean the terms and conditions for use, reproduction, and distribution as defined in this document.
12
+
13
+ "Licensor" shall mean the copyright owner or entity authorized by the copyright owner that is granting the License.
14
+
15
+ "You" (or "Your") shall mean an individual or Legal Entity exercising permissions granted by this License.
16
+
17
+ "Source" form shall mean the preferred form for making modifications, including but not limited to software source code, documentation source, and configuration files.
18
+
19
+ "Object" form shall mean any form resulting from mechanical transformation or adaptation of a Source, including but not limited to compiled object code, generated documentation, and conversions to other media types.
20
+
21
+ "Work" shall mean the work of authorship, whether in Source or Object form, made available under the License.
22
+
23
+ 2. Grant of Copyright License.
24
+ Subject to the terms and conditions of this License, the Licensor hereby grants You a worldwide, royalty-free, non-exclusive, perpetual, irrevocable copyright license to use, reproduce, prepare derivative works of, publicly display, publicly perform, sublicense, and distribute the Work and such derivative works in Source or Object form.
25
+
26
+ 3. Grant of Patent License.
27
+ Subject to the terms and conditions of this License, the Licensor hereby grants You a worldwide, royalty-free, non-exclusive, perpetual, irrevocable patent license to make, have made, use, offer to sell, sell, import, and otherwise transfer the Work.
28
+
29
+ 4. Redistribution.
30
+ You may reproduce and distribute copies of the Work or derivative works thereof in any medium, with or without modifications, and in Source or Object form, provided that You meet the following conditions:
31
+
32
+ - You must include a copy of this License in every copy or substantial portion of the Work.
33
+ - You must state any changes you made to the Work, and retain notices indicating the changes.
34
+ - You may not use the names of the Licensor or contributors without written permission.
35
+
36
+ 5. No Warranty.
37
+ The Work is provided "as is", without warranty of any kind, express or implied, including but not limited to the warranties of merchantability, fitness for a particular purpose, and noninfringement.
38
+
39
+ 6. Limitation of Liability.
40
+ In no event shall the Licensor or contributors be liable for any claim, damages, or other liability arising from the use of the Work, even if advised of the possibility of such damages.
package/mlxd/README.md ADDED
@@ -0,0 +1,212 @@
1
+ # `@codnx/mlxd`
2
+
3
+ **MLXD (Machine Learning eXperiment Deployment)** is a CI/CD testing tool for machine learning workflows. This CLI simplifies testing, configuration, and encryption of ML model performance metrics in a secure and standalone manner.
4
+
5
+ ---
6
+
7
+ ## **Features**
8
+
9
+ - **Run ML Tests**: Evaluate metrics such as accuracy, precision, and recall for ML models.
10
+ - **Fully Configurable**: Easily define model paths, datasets, and test criteria using a `config.yaml` file.
11
+
12
+ ---
13
+
14
+ ## **Quick Start**
15
+
16
+ ### **1. Installation**
17
+
18
+ Install the CLI globally via npm:
19
+
20
+ ```bash
21
+ npm install -g @codnx/mlxd
22
+ ```
23
+
24
+ ---
25
+
26
+ ### **2. Initialize Configuration**
27
+
28
+ Run the following command to create a `config.yaml` file in the current directory:
29
+
30
+ ```bash
31
+ mlxd init
32
+ ```
33
+
34
+ ---
35
+
36
+ ### **3. Configure `config.yaml`**
37
+
38
+ Edit the generated `config.yaml` file to specify your model and dataset paths, along with the test criteria. Example:
39
+
40
+ ```yaml
41
+ modelPath: "./models/mymodel.h5"
42
+ dataPath: "./data/dataset.csv"
43
+ tests:
44
+ - name: "Accuracy Test"
45
+ type: "metric_threshold"
46
+ metric: "accuracy"
47
+ threshold: 0.9
48
+ ```
49
+
50
+ ---
51
+
52
+ ### **4. Run Tests**
53
+
54
+ Run the tests defined in the configuration file:
55
+
56
+ ```bash
57
+ mlxd run
58
+ ```
59
+
60
+ Results will be displayed in the console.
61
+
62
+ ---
63
+
64
+ ## **Commands**
65
+
66
+ ### **Initialization**
67
+
68
+ - **`mlxd init`**:
69
+ Creates a `config.yaml` template in the current directory.
70
+
71
+ ### **Run Tests**
72
+
73
+ - **`mlxd run`**:
74
+ Executes the tests defined in `config.yaml`.
75
+
76
+ ### **Version**
77
+
78
+ - **`mlxd --version` or `mlxd -v`**:
79
+ Displays the current version of the CLI.
80
+
81
+ ### **Uninstall**
82
+
83
+ - **`mlxd uninstall`**:
84
+ Removes the CLI from your system.
85
+
86
+ ---
87
+
88
+ ## **Example Workflow**
89
+
90
+ 1. **Install the CLI**:
91
+
92
+ ```bash
93
+ npm install -g @codnx/mlxd
94
+ ```
95
+
96
+ 2. **Create a Configuration File**:
97
+
98
+ ```bash
99
+ mlxd init
100
+ ```
101
+
102
+ 3. **Edit `config.yaml`**:
103
+
104
+ ```yaml
105
+ modelPath: "./models/mymodel.h5"
106
+ dataPath: "./data/dataset.csv"
107
+ tests:
108
+ - name: "Accuracy Test"
109
+ type: "metric_threshold"
110
+ metric: "accuracy"
111
+ threshold: 0.9
112
+ ```
113
+
114
+ 4. **Run Tests**:
115
+
116
+ ```bash
117
+ mlxd run
118
+ ```
119
+
120
+ 5. **Uninstall the CLI**:
121
+
122
+ ```bash
123
+ mlxd uninstall
124
+ ```
125
+
126
+ ---
127
+
128
+ ## **Troubleshooting**
129
+
130
+ ### **Common Issues**
131
+
132
+ - **No `config.yaml` found**:
133
+ Ensure you run `mlxd init` to generate the configuration file.
134
+
135
+ - **Model or dataset file not found**:
136
+ Verify that the paths in `config.yaml` (`modelPath` and `dataPath`) point to valid files.
137
+
138
+ ---
139
+
140
+ ### **Check CLI Version**
141
+
142
+ Confirm the installed version using:
143
+
144
+ ```bash
145
+ mlxd --version
146
+ ```
147
+
148
+ ---
149
+
150
+ ## **Contact Support**
151
+
152
+ If you encounter issues or have questions, feel free to reach out to our support team:
153
+
154
+ - **Email**: [support@codin.in](mailto:support@codin.in)
155
+
156
+ We’re here to help!
157
+
158
+ ---
159
+
160
+ ## **License**
161
+
162
+ This project is licensed under the Apache License 2.0.
163
+
164
+ ---
165
+
166
+ ## **Usage Agreement**
167
+
168
+ By installing or using the `@codin/mlxd` CLI tool, you acknowledge and agree to the following terms:
169
+
170
+ ### **1. Development Status**
171
+
172
+ - This CLI tool is under active development and may undergo significant changes in functionality, structure, and features.
173
+ - The current version provides limited functionality (Automated model performance checks) and may include experimental or unstable features.
174
+
175
+ ### **2. Usage Terms**
176
+
177
+ - You are permitted to use this CLI tool solely for its intended purpose: testing machine learning models within your projects.
178
+ - Redistribution, reverse engineering, or modification of the tool for commercial purposes without explicit permission from the authors is prohibited.
179
+ - You are responsible for any actions or consequences arising from the use of this CLI tool, including but not limited to data handling and processing.
180
+
181
+ ### **3. Data Responsibility**
182
+
183
+ - This CLI does not transmit or store any user data externally. However, you are responsible for ensuring the security and confidentiality of the datasets, models, and configuration files (`config.yaml`) used with the CLI.
184
+ - It is your responsibility to comply with applicable data privacy, security, and governance laws while using this tool.
185
+
186
+ ### **4. Disclaimer of Warranty**
187
+
188
+ - This CLI is provided on an "as-is" basis, without any guarantees or warranties, express or implied, including but not limited to fitness for a particular purpose, non-infringement, or merchantability.
189
+ - The authors make no guarantee that the tool is free of errors, bugs, or vulnerabilities.
190
+
191
+ ### **5. Limitation of Liability**
192
+
193
+ - The authors and contributors shall not be held liable for any direct, indirect, incidental, special, or consequential damages arising from the use or inability to use the CLI, even if advised of the possibility of such damages.
194
+
195
+ ### **6. Updates and Changes**
196
+
197
+ - The tool may be updated frequently during development. These updates may alter or remove features without prior notice.
198
+ - Users are encouraged to keep the CLI updated to ensure compatibility and access to the latest improvements.
199
+
200
+ ### **7. Feedback and Contributions**
201
+
202
+ - By providing feedback, suggestions, or contributions to the project, you grant the authors a non-exclusive, royalty-free, worldwide license to use, modify, and distribute your contributions as part of the project.
203
+
204
+ ### **8. Termination of Use**
205
+
206
+ - The authors reserve the right to revoke access to this CLI tool at any time if the terms of this agreement are violated.
207
+
208
+ ### **9. Governing License**
209
+
210
+ - This tool is licensed under the [ISC License](./LICENSE). The terms of the ISC License apply in addition to this Usage Agreement.
211
+
212
+ ---
@@ -0,0 +1,17 @@
1
+ tests:
2
+ - name: Model Accuracy
3
+ type: metric_threshold
4
+ metric: accuracy
5
+ threshold: 0.85
6
+ dataPath: ./data/dataset.csv
7
+ dataValidation:
8
+ requiredColumns:
9
+ - prompt
10
+ - expected_label
11
+ maxRows: 100000
12
+ checkNulls: true
13
+ checkStats: true
14
+ maxStdDev: 100
15
+ environment:
16
+ pythonVersion: "3.8"
17
+ requiredPackages: {}
@@ -0,0 +1,3 @@
1
+ prompt,expected_label
2
+ "Sample prompt 1", 1
3
+ "Sample prompt 2", 0