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 all 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
3 changes: 3 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 Client and Dataset documentation
- 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,7 @@ Description

Detailed Notes

- Updated the Client and Dataset API documentation to clarify which interacts with the backend db (PR416_)
- 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 +39,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++
Client and Dataset APIs.
Further explanation and details of each are presented below.

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

The Client API is purpose-built for interaction with the backend 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
Client and Dataset APIs.
Further explanation and details of each are presented below.

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

The Client API is purpose-built for interaction with the backend 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
Client and Dataset APIs.
Further explanation and details of each are presented below.

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

The Client API is purpose-built for interaction with the backend 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 Fortran 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
29 changes: 26 additions & 3 deletions doc/clients/python.rst
Original file line number Diff line number Diff line change
@@ -1,10 +1,26 @@
******
Python
******
***********
Python APIs
***********

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

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

The Client API is purpose-built for interaction with the backend 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
----------------------------

Expand Down Expand Up @@ -86,6 +102,13 @@ Client Class Method Detailed View
DataSet API
===========

The Python 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