CMS Plots
Description
Utilities for creating plots for computational materials/molecular science (CMS)
This package provides tools for creating plotly graphs for e.g. band structure, DOS, and other specialized plots for CMS applications.
Free software: LGPL.v3 or later
Documentation: https://molssi-seamm.github.io/seamm_dashboard_client/index.html
Features
Density of states (DOS) plots
Band structure plots
Combined band structure & DOS plots
Credits
This package was created with Cookiecutter and the molssi-seamm/cookiecutter-seamm-plugin project template.
Developed by the Molecular Sciences Software Institute (MolSSI), which receives funding from the National Science Foundation under award ACI-1547580
History
- 2026.10.1 – Bugfix: job files listed, and files after a loop uploaded
Job.list_files() found no files: it tested the whole listing rather than each entry, and failed with KeyError: 'parent' on the new web UI, which lists {"path", "size"} entries. It now reads both dashboards’ listings and returns the paths relative to the job, as before.
Dashboard.submit() found the flowchart’s steps by following only the “next” edges, so it stopped at a loop: a Parameters step, or the files a step needs, inside or after a loop were missed and not uploaded. It now follows every edge.
Internal: CI now installs the package’s declared dependencies with uv rather than a conda test environment; the test and docs extras declare what the tests and docs need beyond the standard tooling.
- 2026.8.11 – Bugfix: no way to trust a self-signed dashboard TLS certificate
Dashboard gained a verify parameter (default True, matching requests’ own default – no change for any existing caller). False disables certificate verification entirely (insecure); a path to a certificate file verifies against that specific certificate instead of the system trust store – e.g. a self-signed seamm_webui certificate generated for a non-loopback bind, which requests previously had no way to trust at all, hard-failing every request with SSLCertVerificationError.
A certificate path does genuine certificate pinning, not just a custom CA: it also skips the hostname/SAN match requests normally still enforces even once a certificate’s signature is trusted, since a self-signed certificate’s SAN list (the machine’s own reported hostname) can legitimately differ from the DNS name a client actually reaches it through (confirmed for real: a seamm_webui certificate listing only its VT-campus-internal FQDN, reached instead via a separate public DNS alias). Fetching the exact certificate file out-of-band already establishes “this is the server I mean” – the same property a hostname check approximates when verifying against a general CA that could have signed a certificate for any host.
- 2026.8.10 – Multi-queue job submission, and two real seamm_webui compatibility bugs
Dashboard.list_queues(): lists the queues (clusters, or a plain local target) the dashboard’s paired JobServer can route jobs to, with each field’s override limits – empty (not an error) against a dashboard that doesn’t support this. Dashboard.submit() gained queue=/slurm_overrides= keyword arguments to request a specific queue and per-job SLURM resource overrides; omitted entirely from the submitted job’s parameters when not given, so existing callers are unaffected.
Bugfix: Dashboard.login() treated a blank username/password ("") differently from not providing one at all (None), POSTing empty credentials as if real – rejected by the dashboard, breaking login against any dashboard running with no authentication required. A blank credential now skips the login attempt entirely, the same as None already did.
Bugfix: Dashboard.list_projects() only worked against the old Flask-based dashboard’s GET /api/projects/list endpoint – seamm_webui has no such route at all and returned an error. Switched to GET /api/projects (returns full project records instead of bare names) and extracts the names client-side; this endpoint exists, with the same project-name field, on both dashboard implementations, so list_projects() now works against either without needing to know which one it’s talking to.
- 2026.8.8 – Bugfix: login() failed against dashboards with no CSRF cookie
Dashboard.login() raised DashboardLoginError if a dashboard’s login response had no CSRF cookie, even though the login itself succeeded. Some dashboards (e.g. the new seamm_webui) don’t use a CSRF cookie at all; a missing one is now treated as “nothing extra to send” rather than a failure.
- 2025.10.31 – Improved handling of timeouts
Actually increased the default timeouts to 60s.
Improved error messages to help diagnose problems with timeouts.
- 2025.4.3 – Increased timeout for HTTP requests
Increased the default timout to 5 seconds, and 60 seconds for submitting jobs to allow time to transfer files.
2024.6.27 – Added support for using local files in Jobs
- 2024.5.23 – Bugfix: crash opening a flowchart from a Dashboard
SEAMM could crash when asking the Flowchart Open dialog to get the flowchart from a previous job. This only happened if the Dashboard was known but the stored password was wrong.
- 2024.4.22 – Moving user preferences to ~/.seamm.d
Added better output when there are failures in the Dashboard.
To better support Docker, moving ~/.seammrc to ~/.seamm.d/seamrc
- 2023.11.15 – Bugfix: boolean options now work
Boolean options were not handled correctly when submitting jobs.
- 2023.10.24 – Improvement for job handling.
Added control parameters to the data stored for the job, to support filling out menus identical to how the job was submitted.
- 2023.7.29 – Bugfix: error if no required parameters
Apparently can’t use ‘–’ without subsequent parameters.
- 2023.7.10 – Corrected handling of control parameters
Now handle control parameters with multiple values.
Separate the options from required parameters with ‘–’ as required.
2023.6.28 – Improved error messages for login failures.
2022.8.13 (13 August 2022)
First release of a working version on PyPI.
Metadata
Release files for seamm-dashboard-client 2026.10.1
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| seamm_dashboard_client-2026.10.1.tar.gz | 54.3 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| seamm_dashboard_client-2026.10.1-py2.py3-none-any.whl | Python 3, Python 2 | none | any | Details |
Total release size: 71.4 kB
Release files / seamm_dashboard_client-2026.10.1.tar.gz
| Download URL | seamm_dashboard_client-2026.10.1.tar.gz |
|---|---|
| Size | 54.3 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
c7322c250e5638f17977926d3723192cbbd42de9b697993020e844c5573c5b1f
|
|
BLAKE2b-256 checksum How to use checksums |
c66bb942e0b848c8231a432eb69035c6fa4841ec85e540dd5ce2cff6e63c6d9a
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Release files / seamm_dashboard_client-2026.10.1-py2.py3-none-any.whl
| Download URL | seamm_dashboard_client-2026.10.1-py2.py3-none-any.whl |
|---|---|
| Size | 17.1 kB |
| Tags | Python 2 Python 3 |
|
SHA-256 checksum How to use checksums |
8a7591700dc8b3f392073c089a319440e6eaab04eddf59d3dc36b06cfd5cfbf3
|
|
BLAKE2b-256 checksum How to use checksums |
0002544d54ff8eece50de3f94e13257e3983c02075b3c1ac45f383d60287562b
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|