Skip to content

Commit

Permalink
Add changes for 79b7520
Browse files Browse the repository at this point in the history
  • Loading branch information
actions-user committed Apr 17, 2024
1 parent 830cae3 commit 7a1306c
Show file tree
Hide file tree
Showing 14 changed files with 86 additions and 82 deletions.
2 changes: 1 addition & 1 deletion _sources/autoapi/py_experimenter/config/index.rst.txt
Original file line number Diff line number Diff line change
Expand Up @@ -61,7 +61,7 @@ Classes



.. py:class:: DatabaseCfg(provider: str, database_name: str, table_name: str, result_timestamps: bool, keyfields: List[Keyfield], resultfields: Dict[str, str], logtables: Dict[str, Dict[str, str]], logger: logging.Logger)
.. py:class:: DatabaseCfg(provider: str, use_ssh_tunnel: bool, database_name: str, table_name: str, result_timestamps: bool, keyfields: List[Keyfield], resultfields: Dict[str, str], logtables: Dict[str, Dict[str, str]], logger: logging.Logger)
Bases: :py:obj:`Cfg`
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -17,14 +17,11 @@ Classes



.. py:class:: DatabaseConnectorMYSQL(database_configuration: omegaconf.OmegaConf, use_codecarbon: bool, credential_path: str, use_ssh_tunnel: bool, logger: logging.Logger)
.. py:class:: DatabaseConnectorMYSQL(database_configuration: py_experimenter.config.DatabaseCfg, use_codecarbon: bool, credential_path: str, logger: logging.Logger)
Bases: :py:obj:`py_experimenter.database_connector.DatabaseConnector`

Helper class that provides a standard way to create an ABC using
inheritance.

.. py:attribute:: _prepared_statement_placeholder
:value: '%s'

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@ Classes



.. py:class:: PyExperimenter(experiment_configuration_file_path: str = os.path.join('config', 'experiment_configuration.yml'), database_credential_file_path: str = os.path.join('config', 'database_credentials.yml'), use_ssh_tunnel: bool = False, table_name: str = None, database_name: str = None, use_codecarbon: bool = True, name='PyExperimenter', logger_name: str = 'py-experimenter', log_level: Union[int, str] = logging.INFO, log_file: str = './logs/py-experimenter.log')
.. py:class:: PyExperimenter(experiment_configuration_file_path: str = os.path.join('config', 'experiment_configuration.yml'), database_credential_file_path: str = os.path.join('config', 'database_credentials.yml'), use_ssh_tunnel: Optional[bool] = None, table_name: str = None, database_name: str = None, use_codecarbon: bool = True, name='PyExperimenter', logger_name: str = 'py-experimenter', log_level: Union[int, str] = logging.INFO, log_file: str = './logs/py-experimenter.log')
Module handling the initialization, execution and collection of experiments and their respective results.
Expand Down
2 changes: 1 addition & 1 deletion _sources/usage/database_credential_file.rst.txt
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@ Below is an example of a database credential file, that connects to a server wit
server: example.mysqlserver.com
However, for security reasons, databases might only be accessible from a specific IP address. In these cases, one can use an ssh jumphost. This means that ``PyExperimenter`` will first connect to the ssh server
that has access to the database and then connect to the database server from there. This is done by adding an additional ``Ssh`` section to the database credential file.
that has access to the database and then connect to the database server from there. This is done by adding an additional ``Ssh`` section to the database credential file, and can be activated either by a ``PyExperimenter`` keyword argument or in the :ref:`experimenter configuration file <_experiment_configuration_file>`.
The following example shows how to connect to a database server using an SSH server with the address ``ssh_hostname`` and the port ``optional_ssh_port``.

.. code-block:: yaml
Expand Down
2 changes: 2 additions & 0 deletions _sources/usage/experiment_configuration_file.rst.txt
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,7 @@ The experiment configuration file is primarily used to define the database backe
Database:
provider: sqlite
database: py_experimenter
use_ssh_tunnel: False
table:
name: example_general_usage
keyfields:
Expand Down Expand Up @@ -69,6 +70,7 @@ The ``Database`` section defines the database and its structure.

- ``provider``: The provider of the database connection. Currently, ``sqlite`` and ``mysql`` are supported. In the case of ``mysql`` an additional :ref:`database credential file <database_credential_file>` has to be created.
- ``database``: The name of the database to create or connect to.
- ``use_ssh_tunnel``: Flag to decide if the database is connected via ssh as defined in the :ref:`database credential file <database_credential_file>`. This is ignored if ``sqlite`` is chosen as provider. Optional Parameter, default is False.
- ``table``: Defines the structure and predefined values for the experiment table.

- ``name``: The name of the experiment table to create or connect to.
Expand Down
2 changes: 1 addition & 1 deletion autoapi/py_experimenter/config/index.html
Original file line number Diff line number Diff line change
Expand Up @@ -184,7 +184,7 @@ <h3>Classes<a class="headerlink" href="#classes" title="Permalink to this headin

<dl class="py class">
<dt class="sig sig-object py" id="py_experimenter.config.DatabaseCfg">
<em class="property"><span class="pre">class</span><span class="w"> </span></em><span class="sig-prename descclassname"><span class="pre">py_experimenter.config.</span></span><span class="sig-name descname"><span class="pre">DatabaseCfg</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">provider</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">str</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">database_name</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">str</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">table_name</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">str</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">result_timestamps</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">bool</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">keyfields</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">List</span><span class="p"><span class="pre">[</span></span><a class="reference internal" href="#py_experimenter.config.Keyfield" title="py_experimenter.config.Keyfield"><span class="pre">Keyfield</span></a><span class="p"><span class="pre">]</span></span></span></em>, <em class="sig-param"><span class="n"><span class="pre">resultfields</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">Dict</span><span class="p"><span class="pre">[</span></span><span class="pre">str</span><span class="p"><span class="pre">,</span></span><span class="w"> </span><span class="pre">str</span><span class="p"><span class="pre">]</span></span></span></em>, <em class="sig-param"><span class="n"><span class="pre">logtables</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">Dict</span><span class="p"><span class="pre">[</span></span><span class="pre">str</span><span class="p"><span class="pre">,</span></span><span class="w"> </span><span class="pre">Dict</span><span class="p"><span class="pre">[</span></span><span class="pre">str</span><span class="p"><span class="pre">,</span></span><span class="w"> </span><span class="pre">str</span><span class="p"><span class="pre">]</span></span><span class="p"><span class="pre">]</span></span></span></em>, <em class="sig-param"><span class="n"><span class="pre">logger</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">logging.Logger</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#py_experimenter.config.DatabaseCfg" title="Permalink to this definition"></a></dt>
<em class="property"><span class="pre">class</span><span class="w"> </span></em><span class="sig-prename descclassname"><span class="pre">py_experimenter.config.</span></span><span class="sig-name descname"><span class="pre">DatabaseCfg</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">provider</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">str</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">use_ssh_tunnel</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">bool</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">database_name</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">str</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">table_name</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">str</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">result_timestamps</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">bool</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">keyfields</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">List</span><span class="p"><span class="pre">[</span></span><a class="reference internal" href="#py_experimenter.config.Keyfield" title="py_experimenter.config.Keyfield"><span class="pre">Keyfield</span></a><span class="p"><span class="pre">]</span></span></span></em>, <em class="sig-param"><span class="n"><span class="pre">resultfields</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">Dict</span><span class="p"><span class="pre">[</span></span><span class="pre">str</span><span class="p"><span class="pre">,</span></span><span class="w"> </span><span class="pre">str</span><span class="p"><span class="pre">]</span></span></span></em>, <em class="sig-param"><span class="n"><span class="pre">logtables</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">Dict</span><span class="p"><span class="pre">[</span></span><span class="pre">str</span><span class="p"><span class="pre">,</span></span><span class="w"> </span><span class="pre">Dict</span><span class="p"><span class="pre">[</span></span><span class="pre">str</span><span class="p"><span class="pre">,</span></span><span class="w"> </span><span class="pre">str</span><span class="p"><span class="pre">]</span></span><span class="p"><span class="pre">]</span></span></span></em>, <em class="sig-param"><span class="n"><span class="pre">logger</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">logging.Logger</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#py_experimenter.config.DatabaseCfg" title="Permalink to this definition"></a></dt>
<dd><p>Bases: <a class="reference internal" href="#py_experimenter.config.Cfg" title="py_experimenter.config.Cfg"><code class="xref py py-obj docutils literal notranslate"><span class="pre">Cfg</span></code></a></p>
<p>Class for the configuration of the database connection. In addition to <cite>provider</cite>, <cite>database_name</cite>, and <cite>table_name</cite>, the class also defined the structure
of tables in the <cite>keyfields</cite>, <cite>resultfields</cite>, and <cite>logtables</cite> attributes.</p>
Expand Down
6 changes: 2 additions & 4 deletions autoapi/py_experimenter/database_connector_mysql/index.html
Original file line number Diff line number Diff line change
Expand Up @@ -123,16 +123,14 @@ <h3>Classes<a class="headerlink" href="#classes" title="Permalink to this headin
<table class="autosummary longtable docutils align-default">
<tbody>
<tr class="row-odd"><td><p><a class="reference internal" href="#py_experimenter.database_connector_mysql.DatabaseConnectorMYSQL" title="py_experimenter.database_connector_mysql.DatabaseConnectorMYSQL"><code class="xref py py-obj docutils literal notranslate"><span class="pre">DatabaseConnectorMYSQL</span></code></a></p></td>
<td><p>Helper class that provides a standard way to create an ABC using</p></td>
<td><p></p></td>
</tr>
</tbody>
</table>
<dl class="py class">
<dt class="sig sig-object py" id="py_experimenter.database_connector_mysql.DatabaseConnectorMYSQL">
<em class="property"><span class="pre">class</span><span class="w"> </span></em><span class="sig-prename descclassname"><span class="pre">py_experimenter.database_connector_mysql.</span></span><span class="sig-name descname"><span class="pre">DatabaseConnectorMYSQL</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">database_configuration</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">omegaconf.OmegaConf</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">use_codecarbon</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">bool</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">credential_path</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">str</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">use_ssh_tunnel</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">bool</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">logger</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">logging.Logger</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#py_experimenter.database_connector_mysql.DatabaseConnectorMYSQL" title="Permalink to this definition"></a></dt>
<em class="property"><span class="pre">class</span><span class="w"> </span></em><span class="sig-prename descclassname"><span class="pre">py_experimenter.database_connector_mysql.</span></span><span class="sig-name descname"><span class="pre">DatabaseConnectorMYSQL</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">database_configuration</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><a class="reference internal" href="../config/index.html#py_experimenter.config.DatabaseCfg" title="py_experimenter.config.DatabaseCfg"><span class="pre">py_experimenter.config.DatabaseCfg</span></a></span></em>, <em class="sig-param"><span class="n"><span class="pre">use_codecarbon</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">bool</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">credential_path</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">str</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">logger</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">logging.Logger</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#py_experimenter.database_connector_mysql.DatabaseConnectorMYSQL" title="Permalink to this definition"></a></dt>
<dd><p>Bases: <a class="reference internal" href="../database_connector/index.html#py_experimenter.database_connector.DatabaseConnector" title="py_experimenter.database_connector.DatabaseConnector"><code class="xref py py-obj docutils literal notranslate"><span class="pre">py_experimenter.database_connector.DatabaseConnector</span></code></a></p>
<p>Helper class that provides a standard way to create an ABC using
inheritance.</p>
<dl class="py attribute">
<dt class="sig sig-object py" id="py_experimenter.database_connector_mysql.DatabaseConnectorMYSQL._prepared_statement_placeholder">
<span class="sig-name descname"><span class="pre">_prepared_statement_placeholder</span></span><em class="property"><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><span class="pre">'%s'</span></em><a class="headerlink" href="#py_experimenter.database_connector_mysql.DatabaseConnectorMYSQL._prepared_statement_placeholder" title="Permalink to this definition"></a></dt>
Expand Down
Loading

0 comments on commit 7a1306c

Please sign in to comment.