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.30 – Bugfix: lists of values lost their backslashes (Z double bonds in SMILES)
A list of values typed for a parameter with one or more values was split with shlex.split, which treats a backslash as an escape and drops it. A list of SMILES such as C/C=C/C C/C=C\C gave C/C=CC for the Z isomer, so the job built it as E or with the stereo unspecified, unless each value was quoted. The values are now split keeping backslashes; quotes work as before. Lists of file names are split as before.
- 2026.10.19 – Bugfix: a value starting with ‘-’ stopped the job
A flowchart’s parameter whose value started with ‘-’, such as the range -20:20:20, was taken by the job for an option, and the job stopped before starting. Single values are now passed as –name=value.
- 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.30
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | Actions |
|---|---|---|---|---|
| seamm_dashboard_client-2026.10.30.tar.gz | 56.4 kB | Without provenance | Details for seamm_dashboard_client-2026.10.30.tar.gz |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| seamm_dashboard_client-2026.10.30-py2.py3-none-any.whl | Python 2, Python 3 | none | any | Details for seamm_dashboard_client-2026.10.30-py2.py3-none-any.whl |
Total release size: 74.1 kB
Release files / seamm_dashboard_client-2026.10.30.tar.gz
| Download URL | seamm_dashboard_client-2026.10.30.tar.gz |
|---|---|
| Size | 56.4 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
37dfa39d25933283193fb0a509269c27b58bea9c117e7bc20911b7176709fb35
|
|
BLAKE2b-256 checksum How to use checksums |
235cb5144b4eb2bfc549a2a08c597ed08906a3bd2299e097eaaa65f156d37546
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.16
|
Release files / seamm_dashboard_client-2026.10.30-py2.py3-none-any.whl
| Download URL | seamm_dashboard_client-2026.10.30-py2.py3-none-any.whl |
|---|---|
| Size | 17.8 kB |
| Tags | Python 2 Python 3 |
|
SHA-256 checksum How to use checksums |
4fedcfdf96493f07208569f944517d398926153b48aed39a92dc715c520c9814
|
|
BLAKE2b-256 checksum How to use checksums |
f277b3ebf77eada0fb6c8ddc6dff8e35a98c7211b36a3b188f19b9d64043f702
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.16
|
Security for seamm-dashboard-client 2026.10.30
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.