mdadash 0.0.1__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.
- mdadash-0.0.1/AUTHORS.md +23 -0
- mdadash-0.0.1/CHANGELOG.md +51 -0
- mdadash-0.0.1/CODE_OF_CONDUCT.md +89 -0
- mdadash-0.0.1/LICENSE +21 -0
- mdadash-0.0.1/MANIFEST.in +13 -0
- mdadash-0.0.1/PKG-INFO +268 -0
- mdadash-0.0.1/README.md +234 -0
- mdadash-0.0.1/mdadash/__init__.py +9 -0
- mdadash-0.0.1/mdadash/backend/__init__.py +0 -0
- mdadash-0.0.1/mdadash/backend/example_api.py +3 -0
- mdadash-0.0.1/mdadash/backend/kernel/__init__.py +0 -0
- mdadash-0.0.1/mdadash/backend/kernel/core.py +210 -0
- mdadash-0.0.1/mdadash/backend/kernel/manager.py +305 -0
- mdadash-0.0.1/mdadash/backend/main.py +177 -0
- mdadash-0.0.1/mdadash/backend/state/__init__.py +0 -0
- mdadash-0.0.1/mdadash/backend/state/manager.py +81 -0
- mdadash-0.0.1/mdadash/backend/tests/__init__.py +0 -0
- mdadash-0.0.1/mdadash/backend/tests/conftest.py +20 -0
- mdadash-0.0.1/mdadash/backend/tests/data/.gitignore +1 -0
- mdadash-0.0.1/mdadash/backend/tests/data/__init__.py +0 -0
- mdadash-0.0.1/mdadash/backend/tests/data/adk_oplsaa.tpr +0 -0
- mdadash-0.0.1/mdadash/backend/tests/data/adk_oplsaa.xtc +0 -0
- mdadash-0.0.1/mdadash/backend/tests/data/files.py +21 -0
- mdadash-0.0.1/mdadash/backend/tests/test_mdadash.py +29 -0
- mdadash-0.0.1/mdadash/backend/tests/test_server.py +177 -0
- mdadash-0.0.1/mdadash/backend/tests/utils.py +14 -0
- mdadash-0.0.1/mdadash/data/README.md +17 -0
- mdadash-0.0.1/mdadash/data/__init__.py +0 -0
- mdadash-0.0.1/mdadash/data/files.py +19 -0
- mdadash-0.0.1/mdadash/data/mda.txt +45 -0
- mdadash-0.0.1/mdadash/frontend/.editorconfig +8 -0
- mdadash-0.0.1/mdadash/frontend/.eslintcache +1 -0
- mdadash-0.0.1/mdadash/frontend/.gitattributes +1 -0
- mdadash-0.0.1/mdadash/frontend/.gitignore +39 -0
- mdadash-0.0.1/mdadash/frontend/.oxlintrc.json +10 -0
- mdadash-0.0.1/mdadash/frontend/.prettierrc.json +6 -0
- mdadash-0.0.1/mdadash/frontend/README.md +64 -0
- mdadash-0.0.1/mdadash/frontend/dist/assets/index-8hBHiXAA.js +17 -0
- mdadash-0.0.1/mdadash/frontend/dist/assets/index-Bv73Vvuu.css +1 -0
- mdadash-0.0.1/mdadash/frontend/dist/assets/materialdesignicons-webfont-B7mPwVP_.ttf +0 -0
- mdadash-0.0.1/mdadash/frontend/dist/assets/materialdesignicons-webfont-CSr8KVlo.eot +0 -0
- mdadash-0.0.1/mdadash/frontend/dist/assets/materialdesignicons-webfont-Dp5v-WZN.woff2 +0 -0
- mdadash-0.0.1/mdadash/frontend/dist/assets/materialdesignicons-webfont-PXm3-2wK.woff +0 -0
- mdadash-0.0.1/mdadash/frontend/dist/favicon.ico +0 -0
- mdadash-0.0.1/mdadash/frontend/dist/index.html +14 -0
- mdadash-0.0.1/mdadash/frontend/eslint.config.js +36 -0
- mdadash-0.0.1/mdadash/frontend/index.html +13 -0
- mdadash-0.0.1/mdadash/frontend/jsconfig.json +8 -0
- mdadash-0.0.1/mdadash/frontend/package-lock.json +6125 -0
- mdadash-0.0.1/mdadash/frontend/package.json +49 -0
- mdadash-0.0.1/mdadash/frontend/public/favicon.ico +0 -0
- mdadash-0.0.1/mdadash/frontend/src/App.vue +256 -0
- mdadash-0.0.1/mdadash/frontend/src/__tests__/App.spec.js +132 -0
- mdadash-0.0.1/mdadash/frontend/src/__tests__/views/AlertsView.spec.js +18 -0
- mdadash-0.0.1/mdadash/frontend/src/__tests__/views/DashboardView.spec.js +38 -0
- mdadash-0.0.1/mdadash/frontend/src/__tests__/views/SettingsView.spec.js +84 -0
- mdadash-0.0.1/mdadash/frontend/src/main.js +6 -0
- mdadash-0.0.1/mdadash/frontend/src/plugins/vuetify.js +10 -0
- mdadash-0.0.1/mdadash/frontend/src/router/index.js +18 -0
- mdadash-0.0.1/mdadash/frontend/src/socket.js +9 -0
- mdadash-0.0.1/mdadash/frontend/src/views/AlertsView.vue +7 -0
- mdadash-0.0.1/mdadash/frontend/src/views/DashboardView.vue +83 -0
- mdadash-0.0.1/mdadash/frontend/src/views/SettingsView.vue +208 -0
- mdadash-0.0.1/mdadash/frontend/vite.config.js +31 -0
- mdadash-0.0.1/mdadash/frontend/vitest.config.js +21 -0
- mdadash-0.0.1/mdadash/frontend/vitest.setup.js +27 -0
- mdadash-0.0.1/mdadash/mdadash.egg-info/PKG-INFO +177 -0
- mdadash-0.0.1/mdadash/mdadash.egg-info/SOURCES.txt +48 -0
- mdadash-0.0.1/mdadash/mdadash.egg-info/dependency_links.txt +1 -0
- mdadash-0.0.1/mdadash/mdadash.egg-info/entry_points.txt +2 -0
- mdadash-0.0.1/mdadash/mdadash.egg-info/requires.txt +13 -0
- mdadash-0.0.1/mdadash/mdadash.egg-info/top_level.txt +3 -0
- mdadash-0.0.1/mdadash.egg-info/PKG-INFO +268 -0
- mdadash-0.0.1/mdadash.egg-info/SOURCES.txt +79 -0
- mdadash-0.0.1/mdadash.egg-info/dependency_links.txt +1 -0
- mdadash-0.0.1/mdadash.egg-info/entry_points.txt +2 -0
- mdadash-0.0.1/mdadash.egg-info/requires.txt +21 -0
- mdadash-0.0.1/mdadash.egg-info/top_level.txt +1 -0
- mdadash-0.0.1/pyproject.toml +142 -0
- mdadash-0.0.1/setup.cfg +4 -0
- mdadash-0.0.1/setup.py +51 -0
mdadash-0.0.1/AUTHORS.md
ADDED
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
# Authors
|
|
2
|
+
|
|
3
|
+
mdadash was created by Pardhav Maradani in 2026.
|
|
4
|
+
|
|
5
|
+
All contributing authors are listed in this file below.
|
|
6
|
+
The repository history at https://github.com/MDAnalysis/mdadash
|
|
7
|
+
and the CHANGELOG show individual code contributions.
|
|
8
|
+
|
|
9
|
+
## Chronological list of authors
|
|
10
|
+
|
|
11
|
+
<!--
|
|
12
|
+
The rules for this file:
|
|
13
|
+
* Authors are sorted chronologically, earliest to latest
|
|
14
|
+
* Please format it each entry as "Preferred name <GitHub username>"
|
|
15
|
+
* Your preferred name is whatever you wish to go by --
|
|
16
|
+
it does *not* have to be your legal name!
|
|
17
|
+
* Please start a new section for each new year
|
|
18
|
+
* Don't ever delete anything
|
|
19
|
+
-->
|
|
20
|
+
|
|
21
|
+
**2026**
|
|
22
|
+
|
|
23
|
+
- Pardhav Maradani <@PardhavMaradani>
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
# Changelog
|
|
2
|
+
|
|
3
|
+
All notable changes to this project will be documented in this file.
|
|
4
|
+
|
|
5
|
+
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
|
|
6
|
+
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
|
|
7
|
+
|
|
8
|
+
<!--
|
|
9
|
+
The rules for this file:
|
|
10
|
+
* entries are sorted newest-first.
|
|
11
|
+
* summarize sets of changes - don't reproduce every git log comment here.
|
|
12
|
+
* don't ever delete anything.
|
|
13
|
+
* keep the format consistent:
|
|
14
|
+
* do not use tabs but use spaces for formatting
|
|
15
|
+
* 79 char width
|
|
16
|
+
* YYYY-MM-DD date format (following ISO 8601)
|
|
17
|
+
* accompany each entry with github issue/PR number (Issue #xyz)
|
|
18
|
+
-->
|
|
19
|
+
|
|
20
|
+
## [Unreleased]
|
|
21
|
+
|
|
22
|
+
### Authors
|
|
23
|
+
|
|
24
|
+
<!-- GitHub usernames of contributors to this release -->
|
|
25
|
+
|
|
26
|
+
PardhavMaradani
|
|
27
|
+
|
|
28
|
+
### Added
|
|
29
|
+
|
|
30
|
+
<!-- New added features -->
|
|
31
|
+
|
|
32
|
+
- Added overall project structure (PR #3)
|
|
33
|
+
- Added async jupyter kernel support (PR #4)
|
|
34
|
+
- Added more tests and enabled code coverage (PR #5)
|
|
35
|
+
- Add basic connectivity between frontend and backend (PR #6)
|
|
36
|
+
|
|
37
|
+
### Fixed
|
|
38
|
+
|
|
39
|
+
<!-- Bug fixes -->
|
|
40
|
+
|
|
41
|
+
### Changed
|
|
42
|
+
|
|
43
|
+
<!-- Changes in existing functionality -->
|
|
44
|
+
|
|
45
|
+
### Deprecated
|
|
46
|
+
|
|
47
|
+
<!-- Soon-to-be removed features -->
|
|
48
|
+
|
|
49
|
+
### Removed
|
|
50
|
+
|
|
51
|
+
<!-- Removed features -->
|
|
@@ -0,0 +1,89 @@
|
|
|
1
|
+
The MDAnalysis *Code of Conduct* sets the rules for the behavior of
|
|
2
|
+
every member in the MDAnalysis community so that everyone can
|
|
3
|
+
experience a welcoming, supportive, and productive environment that is
|
|
4
|
+
free from harassment. As a [NumFOCUS][NF] sponsored
|
|
5
|
+
project, MDAnalysis follows the [NumFOCUS Code of Conduct][NF-conduct].
|
|
6
|
+
|
|
7
|
+
**Table of Contents**
|
|
8
|
+
|
|
9
|
+
- [MDAnalysis Code of Conduct](#numfocus-code-of-conduct)
|
|
10
|
+
- [How to Report](#how-to-report)
|
|
11
|
+
- [Who Will Receive Your Report](#who-will-receive-your-report)
|
|
12
|
+
- [Diversity, Equity, and Inclusion Statement](#diversity-equity-and-inclusion-statement)
|
|
13
|
+
- [Acknowledgment](#acknowledgment)
|
|
14
|
+
|
|
15
|
+
## MDANALYSIS CODE OF CONDUCT
|
|
16
|
+
You can find the whole document here: [https://numfocus.org/code-of-conduct][NF-conduct].
|
|
17
|
+
|
|
18
|
+
### THE SHORT VERSION
|
|
19
|
+
MDAnalysis and NumFOCUS are dedicated to providing a harassment-free community for everyone,
|
|
20
|
+
regardless of gender, sexual orientation, gender identity and expression, disability,
|
|
21
|
+
physical appearance, body size, race, or religion. We do not tolerate harassment of
|
|
22
|
+
community members in any form.
|
|
23
|
+
|
|
24
|
+
Be kind to others. Do not insult or put down others. Behave professionally. Remember
|
|
25
|
+
that harassment and sexist, racist, or exclusionary jokes are not appropriate for MDAnalysis
|
|
26
|
+
or NumFOCUS.
|
|
27
|
+
|
|
28
|
+
All communication should be appropriate for a professional audience including people of
|
|
29
|
+
many different backgrounds. Sexual language and imagery is not appropriate.
|
|
30
|
+
|
|
31
|
+
Thank you for helping make this a welcoming, friendly community for all.
|
|
32
|
+
|
|
33
|
+
### THE LONG VERSION
|
|
34
|
+
You can find the long version of the Code of Conduct on the NumFOCUS website:
|
|
35
|
+
[https://numfocus.org/code-of-conduct][NF-conduct].
|
|
36
|
+
|
|
37
|
+
## HOW TO REPORT
|
|
38
|
+
If you feel that the Code of Conduct has been violated, feel free to submit a report, by
|
|
39
|
+
using the [NumFOCUS Code of Conduct Reporting Form](https://numfocus.typeform.com/to/ynjGdT?typeform-source=numfocus.org).
|
|
40
|
+
|
|
41
|
+
### REPORTING AT MDANALYSIS EVENTS AND MEETUPS
|
|
42
|
+
If you are attending an MDAnalysis event or meetup and wish to make a report that requires
|
|
43
|
+
an appropriate immediate response, you may contact the ombudspersons (who will identify
|
|
44
|
+
themselves at the event) or other event staff/meetup organizers. If you would prefer not to
|
|
45
|
+
do that, please [submit a report](#how-to-report) to NumFOCUS, but please note it may not be
|
|
46
|
+
possible for the [NumFOCUS Code of Conduct Working Group](#who-will-receive-your-report) to
|
|
47
|
+
respond immediately.
|
|
48
|
+
|
|
49
|
+
Ombudspeople and event staff/meetup organizers will be happy to help participants contact
|
|
50
|
+
venue security or local law enforcement, provide escorts, or otherwise assist those
|
|
51
|
+
experiencing harassment to feel safe for the duration of the event/meetup.
|
|
52
|
+
|
|
53
|
+
## WHO WILL RECEIVE YOUR REPORT
|
|
54
|
+
Your report will be received and handled by the NumFOCUS Code of Conduct Working Group; trained,
|
|
55
|
+
and experienced contributors with diverse backgrounds. The group is making decisions independently
|
|
56
|
+
from the MDAnalysis project, PyData, NumFOCUS or any other organization.
|
|
57
|
+
|
|
58
|
+
You can learn more about the current group members, as well as the reporting procedure [HERE][NF-conduct].
|
|
59
|
+
|
|
60
|
+
### ENFORCEMENT
|
|
61
|
+
Based on recommendations for next steps as determined by the NumFOCUS Code of Conduct Working Group,
|
|
62
|
+
the MDAnalysis project will remain responsible for making the final decision and implementing any
|
|
63
|
+
resulting actions. See the [MDAnalysis team](https://www.mdanalysis.org/pages/team/#roles) page on
|
|
64
|
+
the MDAnalysis website for a current list of the **MDAnalysis Code of Conduct Committee** members.
|
|
65
|
+
|
|
66
|
+
Once a resolution has been agreed upon, but before it is enacted, the MDAnalysis Code of Conduct
|
|
67
|
+
Committee will contact the original reporter and any other affected parties and explain the proposed
|
|
68
|
+
resolution. We will ask if this resolution is acceptable and note feedback for the record. We are,
|
|
69
|
+
however, not required to act on this feedback.
|
|
70
|
+
|
|
71
|
+
## DIVERSITY, EQUITY, AND INCLUSION STATEMENT
|
|
72
|
+
MDAnalysis strives to ensure a welcoming, inclusive space for all. As a [NumFOCUS][NF] sponsored project,
|
|
73
|
+
we fully support their [*Diversity & Inclusion in Scientific Computing*](https://numfocus.org/programs/diversity-inclusion)
|
|
74
|
+
(DISC) mission and abide by their Diversity Statement:
|
|
75
|
+
|
|
76
|
+
> *"NumFOCUS welcomes and encourages participation in our community by people of all backgrounds and identities.
|
|
77
|
+
> We are committed to promoting and sustaining a culture that values mutual respect, tolerance, and learning,
|
|
78
|
+
> and we work together as a community to help each other live out these values."*
|
|
79
|
+
|
|
80
|
+
## ACKNOWLEDGMENT
|
|
81
|
+
|
|
82
|
+
Original text courtesy of [*NumFOCUS*](https://numfocus.org/code-of-conduct), modified by MDAnalysis.
|
|
83
|
+
|
|
84
|
+
All content on this page is licensed under a [*Creative Commons Attribution*](http://creativecommons.org/licenses/by/3.0/)
|
|
85
|
+
license.
|
|
86
|
+
|
|
87
|
+
[NF]: https://numfocus.org/
|
|
88
|
+
[NF-conduct]: https://numfocus.org/code-of-conduct
|
|
89
|
+
|
mdadash-0.0.1/LICENSE
ADDED
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
MIT License
|
|
2
|
+
|
|
3
|
+
Copyright (c) 2026 MDAnalysis
|
|
4
|
+
|
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
7
|
+
in the Software without restriction, including without limitation the rights
|
|
8
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
9
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
10
|
+
furnished to do so, subject to the following conditions:
|
|
11
|
+
|
|
12
|
+
The above copyright notice and this permission notice shall be included in all
|
|
13
|
+
copies or substantial portions of the Software.
|
|
14
|
+
|
|
15
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
17
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
18
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
19
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
21
|
+
SOFTWARE.
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
include LICENSE
|
|
2
|
+
include MANIFEST.in
|
|
3
|
+
include AUTHORS.md CHANGELOG.md CODE_OF_CONDUCT.md README.md
|
|
4
|
+
|
|
5
|
+
graft mdadash
|
|
6
|
+
global-exclude *.py[cod] __pycache__ *.so
|
|
7
|
+
|
|
8
|
+
prune mdadash/frontend/node_modules
|
|
9
|
+
recursive-exclude mdadash/frontend/node_modules *
|
|
10
|
+
recursive-include mdadash/frontend/dist *
|
|
11
|
+
prune mdadash/frontend/coverage
|
|
12
|
+
recursive-exclude mdadash/frontend/coverage *
|
|
13
|
+
recursive-exclude mdadash/backend/tests *.npz
|
mdadash-0.0.1/PKG-INFO
ADDED
|
@@ -0,0 +1,268 @@
|
|
|
1
|
+
Metadata-Version: 2.4
|
|
2
|
+
Name: mdadash
|
|
3
|
+
Version: 0.0.1
|
|
4
|
+
Summary: Dashboard for tracking and analyzing live MD simulations with streaming.
|
|
5
|
+
Author-email: Pardhav Maradani <pardhav.maradani@gmail.com>
|
|
6
|
+
Maintainer-email: Pardhav Maradani <pardhav.maradani@gmail.com>
|
|
7
|
+
License-Expression: MIT
|
|
8
|
+
Project-URL: source, https://github.com/MDAnalysis/mdadash
|
|
9
|
+
Keywords: streaming monitoring mdanalysis molecular-dynamics-simulations
|
|
10
|
+
Classifier: Programming Language :: Python :: 3
|
|
11
|
+
Requires-Python: >=3.11
|
|
12
|
+
Description-Content-Type: text/markdown
|
|
13
|
+
License-File: LICENSE
|
|
14
|
+
License-File: AUTHORS.md
|
|
15
|
+
Requires-Dist: fastapi>=0.136.3
|
|
16
|
+
Requires-Dist: imdclient>=0.2.3
|
|
17
|
+
Requires-Dist: ipykernel>=7.2.0
|
|
18
|
+
Requires-Dist: MDAnalysis>=2.10.0
|
|
19
|
+
Requires-Dist: python-socketio>=5.16.2
|
|
20
|
+
Requires-Dist: uvicorn>=0.47.0
|
|
21
|
+
Provides-Extra: dev
|
|
22
|
+
Requires-Dist: nodejs; extra == "dev"
|
|
23
|
+
Requires-Dist: twine; extra == "dev"
|
|
24
|
+
Requires-Dist: ruff; extra == "dev"
|
|
25
|
+
Requires-Dist: build; extra == "dev"
|
|
26
|
+
Provides-Extra: test
|
|
27
|
+
Requires-Dist: pytest>=6.0; extra == "test"
|
|
28
|
+
Requires-Dist: pytest-xdist>=2.5; extra == "test"
|
|
29
|
+
Requires-Dist: pytest-cov>=3.0; extra == "test"
|
|
30
|
+
Provides-Extra: doc
|
|
31
|
+
Requires-Dist: sphinx; extra == "doc"
|
|
32
|
+
Requires-Dist: sphinx_rtd_theme; extra == "doc"
|
|
33
|
+
Dynamic: license-file
|
|
34
|
+
|
|
35
|
+
# mdadash
|
|
36
|
+
|
|
37
|
+
[//]: # "Badges"
|
|
38
|
+
|
|
39
|
+
| **Latest release** | [![Last release tag][badge_release]][url_latest_release] ![GitHub commits since latest release (by date) for a branch][badge_commits_since] [![Documentation Status][badge_docs]][url_docs] |
|
|
40
|
+
| :----------------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
|
|
41
|
+
| **Status** | [![GH Actions Status][badge_actions]][url_actions] [![codecov][badge_codecov]][url_codecov] |
|
|
42
|
+
| **Community** | [![License: MIT License][badge_license]][url_license] [![Powered by MDAnalysis][badge_mda]][url_mda] |
|
|
43
|
+
|
|
44
|
+
[badge_actions]: https://github.com/MDAnalysis/mdadash/actions/workflows/gh-ci.yaml/badge.svg
|
|
45
|
+
[badge_codecov]: https://codecov.io/gh/MDAnalysis/mdadash/branch/main/graph/badge.svg
|
|
46
|
+
[badge_commits_since]: https://img.shields.io/github/commits-since/MDAnalysis/mdadash/latest
|
|
47
|
+
[badge_docs]: https://readthedocs.org/projects/mdadash/badge/?version=latest
|
|
48
|
+
[badge_license]: https://img.shields.io/badge/License-MIT-yellow.svg
|
|
49
|
+
[badge_mda]: https://img.shields.io/badge/powered%20by-MDAnalysis-orange.svg?logoWidth=16&logo=data:image/x-icon;base64,AAABAAEAEBAAAAEAIAAoBAAAFgAAACgAAAAQAAAAIAAAAAEAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJD+XwCY/fEAkf3uAJf97wGT/a+HfHaoiIWE7n9/f+6Hh4fvgICAjwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACT/yYAlP//AJ///wCg//8JjvOchXly1oaGhv+Ghob/j4+P/39/f3IAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJH8aQCY/8wAkv2kfY+elJ6al/yVlZX7iIiI8H9/f7h/f38UAAAAAAAAAAAAAAAAAAAAAAAAAAB/f38egYF/noqAebF8gYaagnx3oFpUUtZpaWr/WFhY8zo6OmT///8BAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgICAn46Ojv+Hh4b/jouJ/4iGhfcAAADnAAAA/wAAAP8AAADIAAAAAwCj/zIAnf2VAJD/PAAAAAAAAAAAAAAAAICAgNGHh4f/gICA/4SEhP+Xl5f/AwMD/wAAAP8AAAD/AAAA/wAAAB8Aov9/ALr//wCS/Z0AAAAAAAAAAAAAAACBgYGOjo6O/4mJif+Pj4//iYmJ/wAAAOAAAAD+AAAA/wAAAP8AAABhAP7+FgCi/38Axf4fAAAAAAAAAAAAAAAAiIiID4GBgYKCgoKogoB+fYSEgZhgYGDZXl5e/m9vb/9ISEjpEBAQxw8AAFQAAAAAAAAANQAAADcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAjo6Mb5iYmP+cnJz/jY2N95CQkO4pKSn/AAAA7gAAAP0AAAD7AAAAhgAAAAEAAAAAAAAAAACL/gsAkv2uAJX/QQAAAAB9fX3egoKC/4CAgP+NjY3/c3Nz+wAAAP8AAAD/AAAA/wAAAPUAAAAcAAAAAAAAAAAAnP4NAJL9rgCR/0YAAAAAfX19w4ODg/98fHz/i4uL/4qKivwAAAD/AAAA/wAAAP8AAAD1AAAAGwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAALGxsVyqqqr/mpqa/6mpqf9KSUn/AAAA5QAAAPkAAAD5AAAAhQAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADkUFBSuZ2dn/3V1df8uLi7bAAAATgBGfyQAAAA2AAAAMwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB0AAADoAAAA/wAAAP8AAAD/AAAAWgC3/2AAnv3eAJ/+dgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA9AAAA/wAAAP8AAAD/AAAA/wAKDzEAnP3WAKn//wCS/OgAf/8MAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIQAAANwAAADtAAAA7QAAAMAAABUMAJn9gwCe/e0Aj/2LAP//AQAAAAAAAAAA
|
|
50
|
+
[badge_release]: https://img.shields.io/github/release-pre/MDAnalysis/mdadash.svg
|
|
51
|
+
[url_actions]: https://github.com/MDAnalysis/mdadash/actions?query=branch%3Amain+workflow%3Agh-ci
|
|
52
|
+
[url_codecov]: https://codecov.io/gh/MDAnalysis/mdadash/branch/main
|
|
53
|
+
[url_docs]: https://mdadash.readthedocs.io/en/latest/?badge=latest
|
|
54
|
+
[url_latest_release]: https://github.com/MDAnalysis/mdadash/releases
|
|
55
|
+
[url_license]: https://opensource.org/licenses/MIT
|
|
56
|
+
[url_mda]: https://www.mdanalysis.org
|
|
57
|
+
|
|
58
|
+
Dashboard for tracking and analyzing live MD simulations with streaming.
|
|
59
|
+
|
|
60
|
+
mdadash is bound by a [Code of Conduct](https://github.com/MDAnalysis/mdadash/blob/main/CODE_OF_CONDUCT.md).
|
|
61
|
+
|
|
62
|
+
### Installation
|
|
63
|
+
|
|
64
|
+
To build mdadash from source,
|
|
65
|
+
we highly recommend using virtual environments.
|
|
66
|
+
If possible, we strongly recommend that you use
|
|
67
|
+
[Anaconda](https://docs.conda.io/en/latest/) as your package manager.
|
|
68
|
+
Below we provide instructions both for `conda` and
|
|
69
|
+
for `pip`.
|
|
70
|
+
|
|
71
|
+
#### With conda
|
|
72
|
+
|
|
73
|
+
Ensure that you have [conda](https://docs.conda.io/projects/conda/en/latest/user-guide/install/index.html) installed.
|
|
74
|
+
|
|
75
|
+
Create a virtual environment and activate it:
|
|
76
|
+
|
|
77
|
+
```sh
|
|
78
|
+
conda create --name mdadash
|
|
79
|
+
conda activate mdadash
|
|
80
|
+
```
|
|
81
|
+
|
|
82
|
+
Install the development, testing and documentation dependencies:
|
|
83
|
+
|
|
84
|
+
```sh
|
|
85
|
+
conda env update --name mdadash --file devtools/conda-envs/dev_env.yaml
|
|
86
|
+
conda env update --name mdadash --file devtools/conda-envs/test_env.yaml
|
|
87
|
+
conda env update --name mdadash --file docs/requirements.yaml
|
|
88
|
+
```
|
|
89
|
+
|
|
90
|
+
Build this package from source:
|
|
91
|
+
|
|
92
|
+
```sh
|
|
93
|
+
pip install -e .
|
|
94
|
+
```
|
|
95
|
+
|
|
96
|
+
If you want to update your dependencies (which can be risky!), run:
|
|
97
|
+
|
|
98
|
+
```sh
|
|
99
|
+
conda update --all
|
|
100
|
+
```
|
|
101
|
+
|
|
102
|
+
And when you are finished, you can exit the virtual environment with:
|
|
103
|
+
|
|
104
|
+
```sh
|
|
105
|
+
conda deactivate
|
|
106
|
+
```
|
|
107
|
+
|
|
108
|
+
#### With pip
|
|
109
|
+
|
|
110
|
+
To build the package from source, run:
|
|
111
|
+
|
|
112
|
+
```sh
|
|
113
|
+
pip install .
|
|
114
|
+
```
|
|
115
|
+
|
|
116
|
+
If you want to create a development environment, install
|
|
117
|
+
the dependencies required for tests and docs with:
|
|
118
|
+
|
|
119
|
+
```sh
|
|
120
|
+
pip install ".[dev,test,doc]"
|
|
121
|
+
```
|
|
122
|
+
|
|
123
|
+
### Run
|
|
124
|
+
|
|
125
|
+
> The frontend code needs to be built before running the backend server. This can be done as follows:
|
|
126
|
+
|
|
127
|
+
```sh
|
|
128
|
+
cd mdadash/frontend
|
|
129
|
+
npm install
|
|
130
|
+
npm run build
|
|
131
|
+
```
|
|
132
|
+
|
|
133
|
+
To run the dashboard server:
|
|
134
|
+
|
|
135
|
+
```sh
|
|
136
|
+
mdadash
|
|
137
|
+
```
|
|
138
|
+
|
|
139
|
+
To see the options available:
|
|
140
|
+
|
|
141
|
+
```sh
|
|
142
|
+
mdadash --help
|
|
143
|
+
```
|
|
144
|
+
|
|
145
|
+
### Development
|
|
146
|
+
|
|
147
|
+
#### Frontend
|
|
148
|
+
|
|
149
|
+
Developer instruction for `frontend` code can be found [here](mdadash/frontend/README.md).
|
|
150
|
+
|
|
151
|
+
#### Backend
|
|
152
|
+
|
|
153
|
+
- Use the `editable` installation above (`pip install -e .`)
|
|
154
|
+
|
|
155
|
+
### Tests
|
|
156
|
+
|
|
157
|
+
#### Frontend
|
|
158
|
+
|
|
159
|
+
```sh
|
|
160
|
+
npm run test:unit --prefix mdadash/frontend -- --run
|
|
161
|
+
```
|
|
162
|
+
|
|
163
|
+
#### Backend
|
|
164
|
+
|
|
165
|
+
```sh
|
|
166
|
+
pytest -v
|
|
167
|
+
```
|
|
168
|
+
|
|
169
|
+
### Code Coverage
|
|
170
|
+
|
|
171
|
+
#### Frontend
|
|
172
|
+
|
|
173
|
+
```sh
|
|
174
|
+
cd mdadash/frontend
|
|
175
|
+
npx vitest --run --coverage
|
|
176
|
+
```
|
|
177
|
+
|
|
178
|
+
The coverage details will be shown on the console. Open `coverage/index.html` to view the interactive coverage report in the browser.
|
|
179
|
+
|
|
180
|
+
#### Backend
|
|
181
|
+
|
|
182
|
+
To see coverage output on the console:
|
|
183
|
+
|
|
184
|
+
```sh
|
|
185
|
+
pytest -v --cov=mdadash
|
|
186
|
+
```
|
|
187
|
+
|
|
188
|
+
To write coverage output to `html` file:
|
|
189
|
+
|
|
190
|
+
```sh
|
|
191
|
+
pytest -v --cov=mdadash --cov-report=html
|
|
192
|
+
```
|
|
193
|
+
|
|
194
|
+
Open `htmlcov/index.html` to view the coverage report in the browser.
|
|
195
|
+
|
|
196
|
+
### Build
|
|
197
|
+
|
|
198
|
+
To build this package:
|
|
199
|
+
|
|
200
|
+
```sh
|
|
201
|
+
rm -rf mdadash.egg-info dist && python -m build
|
|
202
|
+
```
|
|
203
|
+
|
|
204
|
+
To verify the created wheel:
|
|
205
|
+
|
|
206
|
+
```sh
|
|
207
|
+
uv run --refresh --with path.to.whl mdadash
|
|
208
|
+
```
|
|
209
|
+
|
|
210
|
+
To check the created distribution:
|
|
211
|
+
|
|
212
|
+
```sh
|
|
213
|
+
twine check dist/*
|
|
214
|
+
```
|
|
215
|
+
|
|
216
|
+
### Verify GitHub actions locally
|
|
217
|
+
|
|
218
|
+
GitHub actions can be verified locally using [act](https://github.com/nektos/act).
|
|
219
|
+
|
|
220
|
+
> Note that this requires [Docker](https://www.docker.com). Running on Mac needs an additional param `--container-architecture linux/arm64`. To bypass the repo name check, you can pass `--env GITHUB_REPOSITORY=MDAnalysis/mdadash`. Both these can be set in `~/.actrc` as well.
|
|
221
|
+
|
|
222
|
+
To list the jobs:
|
|
223
|
+
|
|
224
|
+
```sh
|
|
225
|
+
act -l
|
|
226
|
+
```
|
|
227
|
+
|
|
228
|
+
To run a job (eg: `pylint_check`):
|
|
229
|
+
|
|
230
|
+
```sh
|
|
231
|
+
act -j pylint_check
|
|
232
|
+
```
|
|
233
|
+
|
|
234
|
+
To run all jobs:
|
|
235
|
+
|
|
236
|
+
```sh
|
|
237
|
+
act
|
|
238
|
+
```
|
|
239
|
+
|
|
240
|
+
### Docs
|
|
241
|
+
|
|
242
|
+
Setting up the docs environment:
|
|
243
|
+
|
|
244
|
+
```sh
|
|
245
|
+
conda env update --name mdadash --file docs/requirements.yaml
|
|
246
|
+
```
|
|
247
|
+
|
|
248
|
+
Building docs locally:
|
|
249
|
+
|
|
250
|
+
```sh
|
|
251
|
+
cd docs
|
|
252
|
+
make clean && make html
|
|
253
|
+
```
|
|
254
|
+
|
|
255
|
+
Open `docs/_build/html/index.html` to view the docs in the browser.
|
|
256
|
+
|
|
257
|
+
### Copyright
|
|
258
|
+
|
|
259
|
+
The mdadash source code is hosted at https://github.com/MDAnalysis/mdadash
|
|
260
|
+
and is available under the [MIT License](https://opensource.org/licenses/MIT) (see the file [LICENSE](https://github.com/MDAnalysis/mdadash/blob/main/LICENSE)).
|
|
261
|
+
|
|
262
|
+
Copyright (c) 2026, MDAnalysis
|
|
263
|
+
|
|
264
|
+
#### Acknowledgements
|
|
265
|
+
|
|
266
|
+
Project based on the
|
|
267
|
+
[MDAnalysis Cookiecutter](https://github.com/MDAnalysis/cookiecutter-mda) version 0.1.
|
|
268
|
+
Please cite [MDAnalysis](https://github.com/MDAnalysis/mdanalysis#citation) when using mdadash in published work.
|