nimbus-bci 0.2.7__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.
Files changed (69) hide show
  1. nimbus_bci-0.2.7/LICENSE.txt +276 -0
  2. nimbus_bci-0.2.7/MANIFEST.in +57 -0
  3. nimbus_bci-0.2.7/PKG-INFO +603 -0
  4. nimbus_bci-0.2.7/README.md +285 -0
  5. nimbus_bci-0.2.7/examples/nimbus_gmm_synthetic.py +79 -0
  6. nimbus_bci-0.2.7/examples/nimbus_lda_synthetic.py +78 -0
  7. nimbus_bci-0.2.7/examples/nimbus_softmax_synthetic.py +86 -0
  8. nimbus_bci-0.2.7/nimbus_bci/__init__.py +179 -0
  9. nimbus_bci-0.2.7/nimbus_bci/compat/__init__.py +45 -0
  10. nimbus_bci-0.2.7/nimbus_bci/compat/mne_compat.py +369 -0
  11. nimbus_bci-0.2.7/nimbus_bci/compat/sklearn_compat.py +161 -0
  12. nimbus_bci-0.2.7/nimbus_bci/data/__init__.py +12 -0
  13. nimbus_bci-0.2.7/nimbus_bci/data/contracts.py +308 -0
  14. nimbus_bci-0.2.7/nimbus_bci/data/validation.py +236 -0
  15. nimbus_bci-0.2.7/nimbus_bci/inference/__init__.py +30 -0
  16. nimbus_bci-0.2.7/nimbus_bci/inference/aggregation.py +202 -0
  17. nimbus_bci-0.2.7/nimbus_bci/inference/batch.py +213 -0
  18. nimbus_bci-0.2.7/nimbus_bci/inference/dispatch.py +77 -0
  19. nimbus_bci-0.2.7/nimbus_bci/inference/streaming.py +320 -0
  20. nimbus_bci-0.2.7/nimbus_bci/metrics/__init__.py +40 -0
  21. nimbus_bci-0.2.7/nimbus_bci/metrics/calibration.py +167 -0
  22. nimbus_bci-0.2.7/nimbus_bci/metrics/diagnostics.py +175 -0
  23. nimbus_bci-0.2.7/nimbus_bci/metrics/performance.py +299 -0
  24. nimbus_bci-0.2.7/nimbus_bci/metrics/quality.py +226 -0
  25. nimbus_bci-0.2.7/nimbus_bci/models/__init__.py +44 -0
  26. nimbus_bci-0.2.7/nimbus_bci/models/base.py +144 -0
  27. nimbus_bci-0.2.7/nimbus_bci/models/nimbus_gmm/__init__.py +13 -0
  28. nimbus_bci-0.2.7/nimbus_bci/models/nimbus_gmm/classifier.py +228 -0
  29. nimbus_bci-0.2.7/nimbus_bci/models/nimbus_gmm/inference.py +78 -0
  30. nimbus_bci-0.2.7/nimbus_bci/models/nimbus_gmm/inference.pyx +78 -0
  31. nimbus_bci-0.2.7/nimbus_bci/models/nimbus_gmm/learning.py +218 -0
  32. nimbus_bci-0.2.7/nimbus_bci/models/nimbus_gmm/learning.pyx +218 -0
  33. nimbus_bci-0.2.7/nimbus_bci/models/nimbus_lda/__init__.py +13 -0
  34. nimbus_bci-0.2.7/nimbus_bci/models/nimbus_lda/classifier.py +232 -0
  35. nimbus_bci-0.2.7/nimbus_bci/models/nimbus_lda/inference.py +76 -0
  36. nimbus_bci-0.2.7/nimbus_bci/models/nimbus_lda/inference.pyx +76 -0
  37. nimbus_bci-0.2.7/nimbus_bci/models/nimbus_lda/learning.py +212 -0
  38. nimbus_bci-0.2.7/nimbus_bci/models/nimbus_lda/learning.pyx +212 -0
  39. nimbus_bci-0.2.7/nimbus_bci/models/nimbus_softmax/__init__.py +14 -0
  40. nimbus_bci-0.2.7/nimbus_bci/models/nimbus_softmax/classifier.py +267 -0
  41. nimbus_bci-0.2.7/nimbus_bci/models/nimbus_softmax/inference.py +141 -0
  42. nimbus_bci-0.2.7/nimbus_bci/models/nimbus_softmax/inference.pyx +141 -0
  43. nimbus_bci-0.2.7/nimbus_bci/models/nimbus_softmax/learning.py +343 -0
  44. nimbus_bci-0.2.7/nimbus_bci/models/nimbus_softmax/learning.pyx +343 -0
  45. nimbus_bci-0.2.7/nimbus_bci/nimbus_io.py +44 -0
  46. nimbus_bci-0.2.7/nimbus_bci/nimbus_math.py +17 -0
  47. nimbus_bci-0.2.7/nimbus_bci/utils/__init__.py +33 -0
  48. nimbus_bci-0.2.7/nimbus_bci/utils/feature_aggregation.py +199 -0
  49. nimbus_bci-0.2.7/nimbus_bci/utils/normalization.py +300 -0
  50. nimbus_bci-0.2.7/nimbus_bci/utils/preprocessing_diagnostics.py +316 -0
  51. nimbus_bci-0.2.7/nimbus_bci.egg-info/PKG-INFO +603 -0
  52. nimbus_bci-0.2.7/nimbus_bci.egg-info/SOURCES.txt +98 -0
  53. nimbus_bci-0.2.7/nimbus_bci.egg-info/dependency_links.txt +1 -0
  54. nimbus_bci-0.2.7/nimbus_bci.egg-info/not-zip-safe +1 -0
  55. nimbus_bci-0.2.7/nimbus_bci.egg-info/requires.txt +22 -0
  56. nimbus_bci-0.2.7/nimbus_bci.egg-info/top_level.txt +1 -0
  57. nimbus_bci-0.2.7/pyproject.toml +114 -0
  58. nimbus_bci-0.2.7/scripts/build_extensions.py +306 -0
  59. nimbus_bci-0.2.7/setup.cfg +4 -0
  60. nimbus_bci-0.2.7/setup.py +204 -0
  61. nimbus_bci-0.2.7/tests/test_data_contracts.py +208 -0
  62. nimbus_bci-0.2.7/tests/test_inference.py +255 -0
  63. nimbus_bci-0.2.7/tests/test_metrics.py +223 -0
  64. nimbus_bci-0.2.7/tests/test_nimbus_gmm.py +73 -0
  65. nimbus_bci-0.2.7/tests/test_nimbus_io.py +23 -0
  66. nimbus_bci-0.2.7/tests/test_nimbus_lda.py +59 -0
  67. nimbus_bci-0.2.7/tests/test_nimbus_softmax.py +194 -0
  68. nimbus_bci-0.2.7/tests/test_sklearn_compat.py +159 -0
  69. nimbus_bci-0.2.7/tests/test_utils.py +199 -0
@@ -0,0 +1,276 @@
1
+ NIMBUS PYSDK SOFTWARE LICENSE AGREEMENT
2
+
3
+ Copyright (c) 2024-2025 Nimbus BCI Inc.
4
+ All rights reserved.
5
+
6
+ ================================================================================
7
+ PROPRIETARY SOFTWARE LICENSE
8
+ ================================================================================
9
+
10
+ This software and associated documentation files (the "Software") are the
11
+ proprietary and confidential property of Nimbus BCI Inc. ("Nimbus BCI").
12
+
13
+ NOTICE: This Software is protected by copyright laws and international treaty
14
+ provisions. Unauthorized reproduction, distribution, modification, public
15
+ display, or public performance of this Software is strictly prohibited and
16
+ may result in severe civil and criminal penalties.
17
+
18
+ ================================================================================
19
+ LICENSE GRANT
20
+ ================================================================================
21
+
22
+ Subject to the terms of this Agreement and payment of applicable fees, Nimbus
23
+ BCI grants you a limited, non-exclusive, non-transferable, revocable license
24
+ to use the Software solely in accordance with your purchased license tier.
25
+
26
+ ================================================================================
27
+ LICENSE TIERS
28
+ ================================================================================
29
+
30
+ 1. EVALUATION LICENSE (30 Days)
31
+ ------------------------------------------------------------------------
32
+ - Free evaluation for research and development purposes
33
+ - Limited to non-production use
34
+ - No commercial deployment permitted
35
+ - Expires 30 days from first use
36
+
37
+ 2. ACADEMIC LICENSE (Free)
38
+ ------------------------------------------------------------------------
39
+ - FREE for accredited academic institutions and non-profit research
40
+ - For non-commercial research and educational purposes only
41
+ - Requires proof of academic affiliation (.edu email or institution letter)
42
+ - May not be used for commercial products or services
43
+ - Attribution required: cite Nimbus BCI Inc. in publications
44
+
45
+ 3. STARTUP LICENSE
46
+ ------------------------------------------------------------------------
47
+ - For companies with less than $1M annual revenue
48
+ - Single product use
49
+ - Standard support via email
50
+
51
+ 4. COMMERCIAL LICENSE
52
+ ------------------------------------------------------------------------
53
+ - Full production rights for commercial applications
54
+ - Unlimited products within licensed organization
55
+ - Priority technical support
56
+ - Custom integration assistance available
57
+
58
+ 5. ENTERPRISE LICENSE
59
+ ------------------------------------------------------------------------
60
+ - Unlimited deployments across organization
61
+ - Dedicated support with SLA guarantees
62
+ - On-premise deployment options
63
+ - Custom feature development
64
+ - Training and onboarding included
65
+
66
+ 6. OEM / EMBEDDED LICENSE
67
+ ------------------------------------------------------------------------
68
+ - For medical devices and embedded systems
69
+ - FDA regulatory compliance documentation package
70
+ - White-label and redistribution rights
71
+ - Extended warranty and indemnification options
72
+ - Design review and integration support
73
+
74
+ For all licensing inquiries, contact: hello@nimbusbci.com
75
+
76
+ ================================================================================
77
+ RESTRICTIONS
78
+ ================================================================================
79
+
80
+ You may NOT:
81
+
82
+ 1. Copy, modify, adapt, translate, or create derivative works of the Software
83
+
84
+ 2. Reverse engineer, disassemble, decompile, or attempt to discover the source
85
+ code or underlying algorithms of the Software
86
+
87
+ 3. Rent, lease, loan, sublicense, distribute, or transfer the Software to any
88
+ third party
89
+
90
+ 4. Remove, alter, or obscure any proprietary notices, labels, or marks on the
91
+ Software
92
+
93
+ 5. Use the Software to develop competing products or services
94
+
95
+ 6. Use the Software in any manner that violates applicable laws or regulations
96
+
97
+ 7. Use the Software for any life-critical, safety-critical, or medical
98
+ diagnostic purposes without appropriate regulatory clearances and a valid
99
+ OEM/Embedded License
100
+
101
+ 8. Share, publish, or expose API keys, license keys, or authentication
102
+ credentials
103
+
104
+ ================================================================================
105
+ INTELLECTUAL PROPERTY
106
+ ================================================================================
107
+
108
+ The Software, including all algorithms, methods, designs, and implementations,
109
+ is and shall remain the exclusive property of Nimbus BCI Inc. This Agreement
110
+ does not transfer any ownership rights to you.
111
+
112
+ The Software contains proprietary Bayesian inference algorithms including but
113
+ not limited to:
114
+ - Bayesian Linear Discriminant Analysis (LDA) with conjugate priors
115
+ - Bayesian Gaussian Mixture Models (GMM/QDA)
116
+ - Polya-Gamma Variational Inference for Softmax Regression
117
+ - Real-time streaming inference methods
118
+ - Online learning and model adaptation techniques
119
+
120
+ These algorithms constitute valuable trade secrets of Nimbus BCI Inc.
121
+
122
+ ================================================================================
123
+ CONFIDENTIALITY
124
+ ================================================================================
125
+
126
+ You acknowledge that the Software contains confidential and proprietary
127
+ information. You agree to:
128
+
129
+ 1. Maintain the confidentiality of the Software
130
+ 2. Use at least the same degree of care to protect the Software as you use
131
+ to protect your own confidential information
132
+ 3. Not disclose the Software or any information derived from it to third
133
+ parties without prior written consent from Nimbus BCI
134
+
135
+ ================================================================================
136
+ DATA PRIVACY
137
+ ================================================================================
138
+
139
+ The Software processes all EEG and neurophysiological data locally on your
140
+ systems. Nimbus BCI does not collect, store, or have access to your research
141
+ data or subject data processed through the Software.
142
+
143
+ The Software may transmit the following to Nimbus BCI servers:
144
+ - License key validation requests
145
+ - Aggregated usage metrics (inference counts, feature usage)
146
+ - Software version and platform information for compatibility
147
+
148
+ ================================================================================
149
+ WARRANTY DISCLAIMER
150
+ ================================================================================
151
+
152
+ THE SOFTWARE IS PROVIDED "AS IS" WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
153
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
154
+ FITNESS FOR A PARTICULAR PURPOSE, AND NONINFRINGEMENT.
155
+
156
+ NIMBUS BCI DOES NOT WARRANT THAT:
157
+ - The Software will meet your specific requirements
158
+ - The Software will be uninterrupted, timely, secure, or error-free
159
+ - The results obtained from the Software will be accurate or reliable
160
+ - Any errors in the Software will be corrected
161
+
162
+ ================================================================================
163
+ MEDICAL DEVICE DISCLAIMER
164
+ ================================================================================
165
+
166
+ IMPORTANT: THE SOFTWARE IS NOT A MEDICAL DEVICE.
167
+
168
+ The Software has NOT been cleared or approved by the U.S. Food and Drug
169
+ Administration (FDA), European Medicines Agency (EMA), or any other regulatory
170
+ body for use as a medical device.
171
+
172
+ The Software is intended for RESEARCH AND DEVELOPMENT PURPOSES ONLY and must
173
+ NOT be used for:
174
+ - Clinical diagnosis or treatment of patients
175
+ - Medical decision-making or patient care
176
+ - Any application where failure could result in death or personal injury
177
+
178
+ Use of the Software for medical or clinical purposes requires:
179
+ - Appropriate regulatory clearances (510(k), CE Mark, etc.)
180
+ - A valid OEM/Embedded License with regulatory support package
181
+ - Independent validation and verification
182
+
183
+ ================================================================================
184
+ LIMITATION OF LIABILITY
185
+ ================================================================================
186
+
187
+ TO THE MAXIMUM EXTENT PERMITTED BY APPLICABLE LAW:
188
+
189
+ IN NO EVENT SHALL NIMBUS BCI INC., ITS AFFILIATES, OFFICERS, DIRECTORS,
190
+ EMPLOYEES, OR AGENTS BE LIABLE FOR ANY INDIRECT, INCIDENTAL, SPECIAL,
191
+ CONSEQUENTIAL, OR PUNITIVE DAMAGES, INCLUDING BUT NOT LIMITED TO:
192
+
193
+ - Loss of profits, revenue, or business opportunities
194
+ - Loss of data or research results
195
+ - Business interruption
196
+ - Cost of substitute goods or services
197
+
198
+ WHETHER ARISING FROM CONTRACT, TORT, NEGLIGENCE, STRICT LIABILITY, OR ANY
199
+ OTHER LEGAL THEORY, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
200
+
201
+ NIMBUS BCI'S TOTAL AGGREGATE LIABILITY SHALL NOT EXCEED THE GREATER OF:
202
+ - The fees paid by you in the 12 months preceding the claim, OR
203
+ - One Hundred U.S. Dollars ($100)
204
+
205
+ ================================================================================
206
+ TERM AND TERMINATION
207
+ ================================================================================
208
+
209
+ This license is effective until terminated. Nimbus BCI may terminate this
210
+ license immediately if you breach any term of this Agreement.
211
+
212
+ Upon termination:
213
+ 1. You must cease all use of the Software
214
+ 2. You must destroy all copies of the Software in your possession
215
+ 3. You must certify in writing that you have complied with these requirements
216
+
217
+ Sections regarding Intellectual Property, Confidentiality, Warranty Disclaimer,
218
+ Limitation of Liability, and Governing Law shall survive termination.
219
+
220
+ ================================================================================
221
+ GOVERNING LAW AND JURISDICTION
222
+ ================================================================================
223
+
224
+ This Agreement shall be governed by and construed in accordance with the laws
225
+ of the State of Delaware, United States, without regard to its conflict of
226
+ laws principles.
227
+
228
+ Any disputes arising under this Agreement shall be resolved exclusively in
229
+ the state or federal courts located in Delaware. You consent to the personal
230
+ jurisdiction of such courts.
231
+
232
+ ================================================================================
233
+ EXPORT COMPLIANCE
234
+ ================================================================================
235
+
236
+ The Software may be subject to U.S. export control laws and regulations. You
237
+ agree to comply with all applicable export laws and not to export or re-export
238
+ the Software to any prohibited countries, entities, or persons.
239
+
240
+ ================================================================================
241
+ ENTIRE AGREEMENT
242
+ ================================================================================
243
+
244
+ This Agreement constitutes the entire agreement between you and Nimbus BCI
245
+ regarding the Software and supersedes all prior agreements, understandings,
246
+ and communications.
247
+
248
+ No modification of this Agreement shall be effective unless in writing and
249
+ signed by an authorized representative of Nimbus BCI.
250
+
251
+ ================================================================================
252
+ CONTACT INFORMATION
253
+ ================================================================================
254
+
255
+ Nimbus BCI Inc.
256
+ 588 El Camino Real
257
+ Santa Clara, CA 95050
258
+ United States
259
+
260
+ Email: hello@nimbusbci.com
261
+ Website: https://nimbusbci.com
262
+ Documentation: https://docs.nimbusbci.com
263
+
264
+ ================================================================================
265
+
266
+ By using the Software, you acknowledge that you have read this Agreement,
267
+ understand it, and agree to be bound by its terms and conditions.
268
+
269
+ ================================================================================
270
+
271
+ Last Updated: December 2025
272
+ Version: 1.0
273
+
274
+ © 2024-2025 Nimbus BCI Inc. All rights reserved.
275
+
276
+
@@ -0,0 +1,57 @@
1
+ # MANIFEST.in - controls what goes into source distributions (sdist)
2
+ #
3
+ # For production releases, we distribute compiled wheels (.whl) which
4
+ # contain only the compiled .so/.pyd binaries, not the source .py files.
5
+ #
6
+ # This MANIFEST.in is for source distributions (sdist) which are typically
7
+ # only used for development or when wheels aren't available for a platform.
8
+
9
+ # Include essential files
10
+ include LICENSE.txt
11
+ include README.md
12
+ include pyproject.toml
13
+ include setup.py
14
+
15
+ # Include package source code
16
+ recursive-include nimbus_bci *.py
17
+ recursive-include nimbus_bci *.pyx
18
+ recursive-include nimbus_bci *.pxd
19
+
20
+ # Include type stubs
21
+ recursive-include nimbus_bci *.pyi
22
+ include py.typed
23
+
24
+ # Include tests (for development sdist only)
25
+ recursive-include tests *.py
26
+
27
+ # Include examples
28
+ recursive-include examples *.py
29
+
30
+ # Include build scripts
31
+ recursive-include scripts *.py
32
+
33
+ # Exclude compiled artifacts from sdist
34
+ global-exclude *.so
35
+ global-exclude *.pyd
36
+ global-exclude *.c
37
+ global-exclude *.cpp
38
+ global-exclude *.o
39
+ global-exclude *.pyc
40
+ global-exclude __pycache__
41
+ global-exclude .DS_Store
42
+ global-exclude *.egg-info
43
+
44
+ # Exclude development/CI files
45
+ exclude .gitignore
46
+ exclude .pre-commit-config.yaml
47
+ prune .github
48
+ prune .git
49
+ prune build
50
+ prune dist
51
+ prune .pytest_cache
52
+ prune .mypy_cache
53
+ prune .tox
54
+ prune .venv
55
+ prune venv
56
+
57
+