Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Clarifying and Updating DataSet and Client API docs #416

Merged
merged 5 commits into from
Oct 19, 2023
Merged
Show file tree
Hide file tree
Changes from 3 commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions doc/advanced_topics.rst
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ Advanced Topics
This page of documentation is reserved for advanced topics
that may not be needed for all users.

.. _advanced_topics_dataset_aggregation:
.. _advanced-topics-dataset-aggregation:

Dataset Aggregation
===================
Expand Down Expand Up @@ -125,7 +125,7 @@ lead to race conditions:
// Delete an aggregation list
void delete_list(const std::string& list_name);

.. _advanced_topics_dataset_aggregation:
.. _advanced-topics-dataset-aggregation:

Multiple Database Support
=========================
Expand Down
5 changes: 5 additions & 0 deletions doc/changelog.rst
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,7 @@ To be released at some future point in time

Description

- Updated docs for Client and Dataset APIs
- Expanded list of allowed characters in the SSDB address
- Added coverage to SmartRedis Python API functions
- Added name retrieval function to the DataSet object
Expand All @@ -24,6 +25,9 @@ Description

Detailed Notes

- Updated docs to specify differences with SmartRedis APIs and data structures
- Added tests to increase Python code coverage
- Added a function to the DataSet class and added a test
- The SSDB address can now include '-' and '_' as special characters in the name. This gives users more options for naming the UDS socket file (PR415_)
- Added tests to increase Python code coverage (PR414_)
- Moved testing of examples to on-commit testing in CI/CD pipeline (PR412_)
Expand All @@ -37,6 +41,7 @@ Detailed Notes
- Create CONTRIBUTIONS.md file that points to the contribution guideline for both SmartSim and SmartRedis (PR395_)
- Migrated to ConfigOptions-based Client construction, adding multiple database support (PR353_)

.. _PR416: https://github.com/CrayLabs/SmartRedis/pull/416
.. _PR415: https://github.com/CrayLabs/SmartRedis/pull/415
.. _PR414: https://github.com/CrayLabs/SmartRedis/pull/414
.. _PR412: https://github.com/CrayLabs/SmartRedis/pull/412
Expand Down
29 changes: 26 additions & 3 deletions doc/clients/c-plus.rst
Original file line number Diff line number Diff line change
@@ -1,10 +1,26 @@
***
C++
***
********
C++ APIs
********

The following page provides a comprehensive overview of the SmartRedis C++
APIs, which include the ``Client API`` and ``Dataset API``.
Further explanation and details of each are presented below.

Client API
==========

The Client API is purpose-built for interaction with the back-end database,
which extends the capabilities of the Redis in-memory data store.
It's important to note that the SmartRedis Client API is the exclusive
means for altering, transmitting, and receiving data within the backend
database. More specifically, the Client API is responsible for both
creating and modifying data structures, which encompass :ref:`Models <data-structures-model>`,
:ref:`Scripts <data-structures-script>`, and :ref:`Tensors <data-structures-tensor:>`.
It also handles the transmission and reception of
the aforementioned data structures in addition to :ref:`Dataset <data-structures-dataset>`
data structure. Creating and modifying the ``DataSet`` object
is confined to local operation by the DataSet API.

.. doxygenclass:: SmartRedis::Client
:project: cpp_client
:members:
Expand All @@ -14,6 +30,13 @@ Client API
Dataset API
===========

The C++ DataSet API enables a user to manage a group of tensors
and associated metadata within a datastructure called a ``DataSet`` object.
The DataSet API operates independently of the database and solely
maintains the dataset object **in-memory**. The actual interaction with the Redis database,
where a snapshot of the DataSet object is sent, is handled by the Client API. For more
information on the ``DataSet`` object, click :ref:`here <data-structures-dataset>`.

.. doxygenclass:: SmartRedis::DataSet
:project: cpp_client
:members:
Expand Down
28 changes: 25 additions & 3 deletions doc/clients/c.rst
Original file line number Diff line number Diff line change
@@ -1,18 +1,40 @@
*******
C APIs
*******

***
C
***
The following page provides a comprehensive overview of the SmartRedis C
APIs, which include the ``Client API`` and ``Dataset API``.
Further explanation and details of each are presented below.

Client API
==========

The Client API is purpose-built for interaction with the back-end database,
which extends the capabilities of the Redis in-memory data store.
It's important to note that the SmartRedis Client API is the exclusive
means for altering, transmitting, and receiving data within the backend
database. More specifically, the Client API is responsible for both
creating and modifying data structures, which encompass :ref:`Models <data-structures-model>`,
:ref:`Scripts <data-structures-script>`, and :ref:`Tensors <data-structures-tensor:>`.
It also handles the transmission and reception of
the aforementioned data structures in addition to :ref:`Dataset <data-structures-dataset>`
data structure. Creating and modifying the ``DataSet`` object
is confined to local operation by the DataSet API.

.. doxygenfile:: c_client.h
:project: c_client


Dataset API
===========

The C++ DataSet API enables a user to manage a group of tensors
and associated metadata within a datastructure called a ``DataSet`` object.
The DataSet API operates independently of the database and solely
maintains the dataset object **in-memory**. The actual interaction with the Redis database,
where a snapshot of the DataSet object is sent, is handled by the Client API. For more
information on the ``DataSet`` object, click :ref:`here <data-structures-dataset>`.

.. doxygenfile:: c_dataset.h
:project: c_client

28 changes: 25 additions & 3 deletions doc/clients/fortran.rst
Original file line number Diff line number Diff line change
@@ -1,11 +1,26 @@
************
Fortran APIs
************

*******
Fortran
*******
The following page provides a comprehensive overview of the SmartRedis Fortran
APIs, which include the ``Client API`` and ``Dataset API``.
Further explanation and details of each are presented below.

Client API
==========

The Client API is purpose-built for interaction with the back-end database,
which extends the capabilities of the Redis in-memory data store.
It's important to note that the SmartRedis Client API is the exclusive
means for altering, transmitting, and receiving data within the backend
database. More specifically, the Client API is responsible for both
creating and modifying data structures, which encompass :ref:`Models <data-structures-model>`,
:ref:`Scripts <data-structures-script>`, and :ref:`Tensors <data-structures-tensor:>`.
It also handles the transmission and reception of
the aforementioned data structures in addition to :ref:`Dataset <data-structures-dataset>`
data structure. Creating and modifying the ``DataSet`` object
is confined to local operation by the DataSet API.

The following are overloaded interfaces which support
32/64-bit ``real`` and 8, 16, 32, and 64-bit ``integer`` tensors

Expand All @@ -17,6 +32,13 @@ The following are overloaded interfaces which support
Dataset API
===========

The C++ DataSet API enables a user to manage a group of tensors
and associated metadata within a datastructure called a ``DataSet`` object.
The DataSet API operates independently of the database and solely
maintains the dataset object **in-memory**. The actual interaction with the Redis database,
where a snapshot of the DataSet object is sent, is handled by the Client API. For more
information on the ``DataSet`` object, click :ref:`here <data-structures-dataset>`.

The following are overloaded interfaces which support
32/64-bit ``real`` and 8, 16, 32, and 64-bit
``integer`` tensors
Expand Down
31 changes: 28 additions & 3 deletions doc/clients/python.rst
Original file line number Diff line number Diff line change
@@ -1,13 +1,31 @@
******
Python
******
***********
Python APIs
***********

The following page provides a comprehensive overview of the SmartRedis Python
APIs, which include the ``Client API``, ``Dataset API``, and ``Logging API``.
Further explanation and details of each are presented below.

Client API
==========

The Client API is purpose-built for interaction with the back-end database,
which extends the capabilities of the Redis in-memory data store.
It's important to note that the SmartRedis Client API is the exclusive
means for altering, transmitting, and receiving data within the backend
database. More specifically, the Client API is responsible for both
creating and modifying data structures, which encompass :ref:`Models <data-structures-model>`,
:ref:`Scripts <data-structures-script>`, and :ref:`Tensors <data-structures-tensor:>`.
It also handles the transmission and reception of
the aforementioned data structures in addition to :ref:`Dataset <data-structures-dataset>`
data structure. Creating and modifying the ``DataSet`` object
is confined to local operation by the DataSet API.

Client Class Method Overview
----------------------------

Below is a short

.. currentmodule:: smartredis

.. autosummary::
Expand Down Expand Up @@ -86,6 +104,13 @@ Client Class Method Detailed View
DataSet API
===========

The C++ DataSet API enables a user to manage a group of tensors
and associated metadata within a datastructure called a ``DataSet`` object.
The DataSet API operates independently of the database and solely
maintains the dataset object **in-memory**. The actual interaction with the Redis database,
where a snapshot of the DataSet object is sent, is handled by the Client API. For more
information on the ``DataSet`` object, click :ref:`here <data-structures-dataset>`.

Dataset Class Method Overview
-----------------------------

Expand Down
Loading