Skip to main content

CMS Plots

GitHub pull requests Build Status Code Coverage Code Quality Documentation Status PyPi VERSION

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.

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)

Source distribution for seamm-dashboard-client 2026.10.1
File Size Uploaded
seamm_dashboard_client-2026.10.1.tar.gz 54.3 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for seamm-dashboard-client 2026.10.1
File Interpreter ABI Platform
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
Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page