Skip to content

Commit

Permalink
Merge pull request CrayLabs#44 from CrayLabs/develop
Browse files Browse the repository at this point in the history
This PR brings master up to date with develop for v0.0.3 release.
  • Loading branch information
AlyssaCote authored Feb 15, 2024
2 parents d139b0a + 0485705 commit b7660c1
Show file tree
Hide file tree
Showing 84 changed files with 2,496 additions and 1,592 deletions.
2 changes: 1 addition & 1 deletion .github/workflows/release.yml
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
#
# BSD 2-Clause License
#
# Copyright (c) 2021-2023, Hewlett Packard Enterprise
# Copyright (c) 2021-2024, Hewlett Packard Enterprise
# All rights reserved.
#
# Redistribution and use in source and binary forms, with or without
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/run_tests.yml
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
#
# BSD 2-Clause License
#
# Copyright (c) 2021-2023, Hewlett Packard Enterprise
# Copyright (c) 2021-2024, Hewlett Packard Enterprise
# All rights reserved.
#
# Redistribution and use in source and binary forms, with or without
Expand Down
2 changes: 1 addition & 1 deletion .gitignore
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# BSD 2-Clause License
#
# Copyright (c) 2021-2023, Hewlett Packard Enterprise
# Copyright (c) 2021-2024, Hewlett Packard Enterprise
# All rights reserved.
#
# Redistribution and use in source and binary forms, with or without
Expand Down
2 changes: 1 addition & 1 deletion .pylintrc
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# BSD 2-Clause License
#
# Copyright (c) 2021-2023 Hewlett Packard Enterprise
# Copyright (c) 2021-2024 Hewlett Packard Enterprise
# All rights reserved.
#
# Redistribution and use in source and binary forms, with or without
Expand Down
2 changes: 1 addition & 1 deletion .streamlit/config.toml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# BSD 2-Clause License
#
# Copyright (c) 2021-2023, Hewlett Packard Enterprise
# Copyright (c) 2021-2024, Hewlett Packard Enterprise
# All rights reserved.
#
# Redistribution and use in source and binary forms, with or without
Expand Down
2 changes: 1 addition & 1 deletion LICENSE.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
BSD 2-Clause License

Copyright (c) 2021-2023, Hewlett Packard Enterprise
Copyright (c) 2021-2024, Hewlett Packard Enterprise
All rights reserved.

Redistribution and use in source and binary forms, with or without
Expand Down
2 changes: 1 addition & 1 deletion MANIFEST.in
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# BSD 2-Clause License
#
# Copyright (c) 2021-2023, Hewlett Packard Enterprise
# Copyright (c) 2021-2024, Hewlett Packard Enterprise
# All rights reserved.
#
# Redistribution and use in source and binary forms, with or without
Expand Down
2 changes: 1 addition & 1 deletion Makefile
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# BSD 2-Clause License
#
# Copyright (c) 2021-2023, Hewlett Packard Enterprise
# Copyright (c) 2021-2024, Hewlett Packard Enterprise
# All rights reserved.
#
# Redistribution and use in source and binary forms, with or without
Expand Down
13 changes: 11 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,14 +2,23 @@

SmartDashboard is an add-on to SmartSim that provides a dashboard to help users understand and monitor their SmartSim experiments in a visual way. Configuration, status, and logs are available for all launched entities within an experiment for easy inspection.

A ``Telemetry Monitor`` is a background process that is launched along with the experiment
that produces the data displayed by SmartDashboard. The ``Telemetry Monitor`` can be disabled by
adding ``export SMARTSIM_TELEMETRY_ENABLE=0`` as an environment variable. When disabled, SmartDashboard
will not display any data. To re-enable, set the ``SMARTSIM_TELEMETRY_ENABLE`` environment variable to ``1``
with ``export SMARTSIM_TELEMETRY_ENABLE=1``.

Experiment metadata is also stored in the ``.smartsim`` directory, a hidden folder for internal api use and used by the dashboard.
Deletion of the experiment folder will remove all experiment metadata.

## Installation

It's important to note that SmartDashboard only works while using SmartSim, so SmartSim will need to be installed as well.
SmartSim installation docs can be found [here](https://www.craylabs.org/docs/installation_instructions/basic.html).

### User Install

Run `pip install git+https://github.com/CrayLabs/SmartDashboard.git` to install SmartDashboard without cloning the repository.
Run `pip install smartdashboard` to install SmartDashboard without cloning the repository.

### Developer Install

Expand Down Expand Up @@ -88,6 +97,6 @@ The dashboard is also persistent, meaning that a user can still launch and use t
Once the dashboard is launched, a browser will open to `http://localhost:<port>`. SmartDashboard currently has two tabs on the left hand side.
`Experiment Overview:` This tab is where configuration information, statuses, and logs are located for each launched entity of the experiment. The `Experiment` section displays configuaration information for the overall experiment. In the `Applications` section, also known as SmartSim `Models`, select a launched application to see its status, what it was configured with, and its logs. The `Orchestrators` section also provides configuration and status information, as well as logs per shard for a selected orchestrator. Finally, in the `Ensembles` section, select an ensemble to see its status and configuration. Then select any of its members to see its status, configuration, and logs.
`Experiment Overview:` This tab is where configuration information, statuses, and logs are located for each launched entity of the experiment. The `Experiment` section displays configuration information for the overall experiment and its logs. In the `Applications` section, also known as SmartSim `Models`, select a launched application to see its status, what it was configured with, and its logs. The `Orchestrators` section also provides configuration and status information, as well as logs per shard for a selected orchestrator. Finally, in the `Ensembles` section, select an ensemble to see its status and configuration. Then select any of its members to see its status, configuration, and logs.
`Help:` This tab links to SmartSim documentation and provides a SmartSim contact for support.
2 changes: 1 addition & 1 deletion codecov.yml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# BSD 2-Clause License
#
# Copyright (c) 2021-2023, Hewlett Packard Enterprise
# Copyright (c) 2021-2024, Hewlett Packard Enterprise
# All rights reserved.
#
# Redistribution and use in source and binary forms, with or without
Expand Down
21 changes: 10 additions & 11 deletions doc/changelog.rst
Original file line number Diff line number Diff line change
@@ -1,28 +1,27 @@
Changelog
=========

Development branch
------------------
0.0.3
-----

Work in progress
Released on 15 February 2024

Description

- n / a


Detailed Notes
- Added defined schemas for entity objects. (SmartDashboard-PR31_)
- Added experiment level logs to the dashboard. (SmartDashboard-PR37_)

- n / a
.. _SmartDashboard-PR31: https://github.com/CrayLabs/SmartDashboard/pull/31
.. _SmartDashboard-PR37: https://github.com/CrayLabs/SmartDashboard/pull/37

.. _PRXXX: https://github.com/CrayLabs/SmartDashboard/pull/XXX


0.0.2
-----

Released on *TBD*, 2023
Released on 14 December 2023

Description

- Initial release of SmartDashboard
- The initial release of SmartDashboard includes capabilities for viewing
experiment entity properties and statuses.
4 changes: 2 additions & 2 deletions doc/conf.py
Original file line number Diff line number Diff line change
Expand Up @@ -18,11 +18,11 @@
# -- Project information -----------------------------------------------------

project = 'SmartDashboard'
copyright = '2021-2023, Hewlett Packard Enterprise'
copyright = '2021-2024, Hewlett Packard Enterprise'
author = 'Hewlett Packard Enterprise'

# The full version, including alpha/beta/rc tags
version = "0.0.2"
version = "0.0.3"

# The full version, including alpha/beta/rc tags
release = version
Expand Down
14 changes: 9 additions & 5 deletions doc/overview.rst
Original file line number Diff line number Diff line change
Expand Up @@ -7,9 +7,13 @@ SmartDashboard
and monitor their SmartSim experiments in a visual way. Configuration, status, and logs
are available for all launched entities within an experiment for easy inspection.

A ``Telemetry Monitor`` is a new background process that is launched along with the experiment
that helps ``SmartDashboard`` properly display data. Experiment metadata is also stored in
the ``.smartsim`` directory, a hidden folder for internal api use and used by the dashboard.
A ``Telemetry Monitor`` is a background process that is launched along with the experiment
that produces the data displayed by SmartDashboard. The ``Telemetry Monitor`` can be disabled by
adding ``export SMARTSIM_TELEMETRY_ENABLE=0`` as an environment variable. When disabled, SmartDashboard
will not display any data. To re-enable, set the ``SMARTSIM_TELEMETRY_ENABLE`` environment variable to ``1``
with ``export SMARTSIM_TELEMETRY_ENABLE=1``.

Experiment metadata is also stored in the ``.smartsim`` directory, a hidden folder for internal api use and used by the dashboard.
Deletion of the experiment folder will remove all experiment metadata.


Expand All @@ -24,7 +28,7 @@ found `here <https://www.craylabs.org/docs/installation_instructions/basic.html>

User Install:

Run ``pip install git+https://github.com/CrayLabs/SmartDashboard.git`` to install
Run ``pip install smartdashboard`` to install
SmartDashboard without cloning the repository.

Developer Install:
Expand Down Expand Up @@ -124,7 +128,7 @@ Once displayed in the browser, SmartDashboard currently has two tabs on the left

``Experiment Overview:`` This tab is where configuration information, statuses, and
logs are located for each launched entity of the experiment. The ``Experiment``
section displays configuaration information for the overall experiment. In the ``Applications``
section displays configuration information for the overall experiment and its logs. In the ``Applications``
section, also known as SmartSim ``Models``, select a launched application to see its status,
what it was configured with, and its logs. The ``Orchestrators`` section also provides
configuration and status information, as well as logs per shard for a selected orchestrator.
Expand Down
7 changes: 4 additions & 3 deletions pyproject.toml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# BSD 2-Clause License
#
# Copyright (c) 2021-2023, Hewlett Packard Enterprise
# Copyright (c) 2021-2024, Hewlett Packard Enterprise
# All rights reserved.
#
# Redistribution and use in source and binary forms, with or without
Expand Down Expand Up @@ -32,7 +32,7 @@ build-backend = "setuptools.build_meta"

[project]
name = "smartdashboard"
version = "0.0.2"
version = "0.0.3"
requires-python = ">=3.8,<3.11"
authors = [
{name = "CrayLabs: a Hewlett Packard Enterprise OSS Organization", email = "[email protected]"},
Expand All @@ -51,7 +51,8 @@ classifiers = [
readme = "README.md"
dependencies = [
"pandas>=2.0.0",
"streamlit>=1.27.1",
"pydantic>=2.5.2",
"streamlit>=1.28.0",
"watchdog>=3.0.0",
]

Expand Down
11 changes: 9 additions & 2 deletions smartdashboard/Experiment_Overview.py
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# BSD 2-Clause License
#
# Copyright (c) 2021-2023, Hewlett Packard Enterprise
# Copyright (c) 2021-2024, Hewlett Packard Enterprise
# All rights reserved.
#
# Redistribution and use in source and binary forms, with or without
Expand Down Expand Up @@ -36,6 +36,7 @@
from smartdashboard.utils.ManifestReader import load_manifest
from smartdashboard.utils.pageSetup import local_css, set_streamlit_page_config
from smartdashboard.view_builders import error_builder, overview_builder
from smartdashboard.views import EntityView


def build_app(manifest_path: str) -> None:
Expand All @@ -55,9 +56,15 @@ def build_app(manifest_path: str) -> None:
error_builder(ex)
else:
views = overview_builder(manifest)
to_update: t.Iterable[EntityView[t.Any]] = (
views.exp_view,
views.app_view,
views.orc_view,
views.ens_view,
)

while True:
for v in [views.exp_view, views.app_view, views.orc_view, views.ens_view]:
for v in to_update:
v.update()

time.sleep(1)
Expand Down
2 changes: 1 addition & 1 deletion smartdashboard/__init__.py
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# BSD 2-Clause License
#
# Copyright (c) 2021-2023, Hewlett Packard Enterprise
# Copyright (c) 2021-2024, Hewlett Packard Enterprise
# All rights reserved.
#
# Redistribution and use in source and binary forms, with or without
Expand Down
2 changes: 1 addition & 1 deletion smartdashboard/__main__.py
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# BSD 2-Clause License
#
# Copyright (c) 2021-2023, Hewlett Packard Enterprise
# Copyright (c) 2021-2024, Hewlett Packard Enterprise
# All rights reserved.
#
# Redistribution and use in source and binary forms, with or without
Expand Down
32 changes: 11 additions & 21 deletions smartdashboard/pages/3_Help.py
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# BSD 2-Clause License
#
# Copyright (c) 2021-2023, Hewlett Packard Enterprise
# Copyright (c) 2021-2024, Hewlett Packard Enterprise
# All rights reserved.
#
# Redistribution and use in source and binary forms, with or without
Expand Down Expand Up @@ -38,44 +38,34 @@

st.header("Welcome to the SmartSim Dashboard Help Page")
st.write("")
st.markdown(
"""We're here to guide you through the features and functionalities
st.markdown("""We're here to guide you through the features and functionalities
of the SmartSim Dashboard,
designed to enhance your experience with simulation
experiments. This guide will help
you navigate through the dashboard, understand its capabilities,
and make the most of its powerful features."""
)
and make the most of its powerful features.""")
st.write("")

with st.expander(label="Experiment Overview"):
st.markdown(
"""Discover comprehensive insights about your experiment's
st.markdown("""Discover comprehensive insights about your experiment's
entities within the Experiment Overview section.
Get access to configuration details, comprehensive logs,
real-time statuses, and relevant information regarding any
colocated databases, if applicable.
"""
)
st.markdown(
"""
""")
st.markdown("""
To access detailed information about experiments, models, orchestrators,
and ensembles, please refer to their respective documentation pages below:
- [Experiments](https://www.craylabs.org/docs/experiment.html#)
- [Models](https://www.craylabs.org/docs/experiment.html#model)
- [Orchestrators](https://www.craylabs.org/docs/orchestrator.html)
- [Ensembles](https://www.craylabs.org/docs/experiment.html#ensemble)"""
)
- [Ensembles](https://www.craylabs.org/docs/experiment.html#ensemble)""")

st.write("")

with st.expander(label="Support"):
st.markdown(
"""Should you encounter any issues or require assistance while
using the SmartSim Dashboard, we're here to help!"""
)
st.markdown(
"""The complete SmartSim documentation can be found
st.markdown("""Should you encounter any issues or require assistance while
using the SmartSim Dashboard, we're here to help!""")
st.markdown("""The complete SmartSim documentation can be found
[here](https://www.craylabs.org/docs/overview.html).
You can also contact us at [email protected]."""
)
You can also contact us at [email protected].""")
2 changes: 1 addition & 1 deletion smartdashboard/pages/__init__.py
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# BSD 2-Clause License
#
# Copyright (c) 2021-2023, Hewlett Packard Enterprise
# Copyright (c) 2021-2024, Hewlett Packard Enterprise
# All rights reserved.
#
# Redistribution and use in source and binary forms, with or without
Expand Down
25 changes: 25 additions & 0 deletions smartdashboard/schemas/__init__.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
# BSD 2-Clause License
#
# Copyright (c) 2021-2024, Hewlett Packard Enterprise
# All rights reserved.
#
# Redistribution and use in source and binary forms, with or without
# modification, are permitted provided that the following conditions are met:
#
# 1. Redistributions of source code must retain the above copyright notice, this
# list of conditions and the following disclaimer.
#
# 2. Redistributions in binary form must reproduce the above copyright notice,
# this list of conditions and the following disclaimer in the documentation
# and/or other materials provided with the distribution.
#
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
# AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
# DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
# FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
# SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
# CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
# OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
Loading

0 comments on commit b7660c1

Please sign in to comment.