Metadata-Version: 2.4
Name: seamm_dashboard_client
Version: 2026.8.10
Summary: A Python client for the SEAMM Dashboard RESTful API.
Home-page: https://github.com/molssi-seamm/seamm_dashboard_client
Author: Paul Saxe
Author-email: psaxe@molssi.org
License: BSD-3-Clause
Keywords: SEAMM,SEAMMDashboard,RESTful,client
Platform: Linux
Platform: Mac OS-X
Platform: Unix
Platform: Windows
Classifier: Development Status :: 5 - Production/Stable
Classifier: Intended Audience :: Science/Research
Classifier: Topic :: Scientific/Engineering :: Chemistry
Classifier: Topic :: Scientific/Engineering :: Physics
Classifier: License :: OSI Approved :: BSD License
Classifier: Natural Language :: English
Classifier: Programming Language :: Python :: 3 :: Only
Classifier: Programming Language :: Python :: 3.8
Classifier: Programming Language :: Python :: 3.9
Description-Content-Type: text/x-rst
License-File: LICENSE
License-File: AUTHORS.rst
Requires-Dist: requests
Requires-Dist: requests-toolbelt
Dynamic: author
Dynamic: author-email
Dynamic: classifier
Dynamic: description
Dynamic: description-content-type
Dynamic: home-page
Dynamic: keywords
Dynamic: license
Dynamic: license-file
Dynamic: platform
Dynamic: requires-dist
Dynamic: summary

=========
CMS Plots
=========

.. image:: https://img.shields.io/github/issues-pr-raw/molssi-seamm/seamm_dashboard_client
   :target: https://github.com/molssi-seamm/seamm_dashboard_client/pulls
   :alt: GitHub pull requests

.. image:: https://github.com/molssi-seamm/seamm_dashboard_client/workflows/CI/badge.svg
   :target: https://github.com/molssi-seamm/seamm_dashboard_client/actions
   :alt: Build Status

.. image:: https://codecov.io/gh/molssi-seamm/seamm_dashboard_client/branch/master/graph/badge.svg
   :target: https://codecov.io/gh/molssi-seamm/seamm_dashboard_client
   :alt: Code Coverage

.. image:: https://img.shields.io/lgtm/grade/python/g/molssi-seamm/seamm_dashboard_client.svg?logo=lgtm&logoWidth=18
   :target: https://lgtm.com/projects/g/molssi-seamm/seamm_dashboard_client/context:python
   :alt: Code Quality

.. image:: https://github.com/molssi-seamm/seamm_dashboard_client/workflows/Documentation/badge.svg
   :target: https://molssi-seamm.github.io/seamm_dashboard_client/index.html
   :alt: Documentation Status

.. image:: https://img.shields.io/pypi/v/seamm_dashboard_client.svg
   :target: https://pypi.python.org/pypi/seamm_dashboard_client
   :alt: 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.

* 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

.. _Cookiecutter: https://github.com/audreyr/cookiecutter
.. _`molssi-seamm/cookiecutter-seamm-plugin`: https://github.com/molssi-seamm/cookiecutter-seamm-plugin
.. _MolSSI: https://molssi.org


=======
History
=======
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.
