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.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.19

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.19
File Size Uploaded Provenance
seamm_dashboard_client-2026.10.19.tar.gz 55.2 kB Without provenance Details

Built distribution (wheel)

Table of built distributions (wheels) for seamm-dashboard-client 2026.10.19
File Interpreter ABI Platform
seamm_dashboard_client-2026.10.19-py2.py3-none-any.whl Python 2, Python 3 none any Details

Total release size: 72.4 kB

Release files / seamm_dashboard_client-2026.10.19.tar.gz

Download URL seamm_dashboard_client-2026.10.19.tar.gz
Size 55.2 kB
Tags Source
SHA-256 checksum
How to use checksums
0989e65654ea50e9a11adecfc843d30f9cee3ba54e160fbaf114fed70ea15290
BLAKE2b-256 checksum
How to use checksums
2da55554d5178de807aea86dd465334c970ca73a2692f07ff18a918f6f45571c
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.19-py2.py3-none-any.whl

Download URL seamm_dashboard_client-2026.10.19-py2.py3-none-any.whl
Size 17.2 kB
Tags Python 2 Python 3
SHA-256 checksum
How to use checksums
fbaaef5a2217e88997b400df52c68264777c0a3f582d5a92891660f0dedbc47c
BLAKE2b-256 checksum
How to use checksums
deaa300f4df48f9b8cd40b7375417f85c45016e0f91516142f7905bc6794bc15
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Security for seamm-dashboard-client 2026.10.19

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.

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