Source code for neptunecontrib.api.html

#
# Copyright (c) 2020, Neptune Labs Sp. z o.o.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
#     http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
#

import neptune

__all__ = [
    'log_html',
]


[docs]def log_html(name, html, experiment=None): """Logs html to neptune. HTML is logged to Neptune as an artifact with path html/{name}.html Args: name (:obj:`str`): | Name of the chart (without extension) that will be used as a part of artifact's destination. html_body (:obj:`str`): | HTML string that is logged and rendered as HTML. experiment (:obj:`neptune.experiments.Experiment`, optional, default is ``None``): | For advanced users only. Pass Neptune `Experiment <https://docs.neptune.ai/neptune-client/docs/experiment.html#neptune.experiments.Experiment>`_ object if you want to control to which experiment data is logged. | If ``None``, log to currently active, and most recent experiment. Examples: Start an experiment:: import neptune neptune.init(api_token='ANONYMOUS', project_qualified_name='shared/showroom') neptune.create_experiment(name='experiment_with_html') Create an HTML string:: html = "<button type='button',style='background-color:#005879; width:300px; height:200px; font-size:30px'> \ <a style='color: #ccc', href='https://docs.neptune.ai'> Take me back to the docs!!<a> </button>" Log it to Neptune:: from neptunecontrib.api import log_html log_html('go_to_docs_button', html) Check out how the logged table looks in Neptune: https://ui.neptune.ai/o/shared/org/showroom/e/SHOW-988/artifacts?path=html%2F&file=button_example.html """ _exp = experiment if experiment else neptune _exp.log_artifact(export_html(html), "htmls/" + name + '.html')
def export_html(html): from io import StringIO buffer = StringIO(html) buffer.seek(0) return buffer