Outputs Interface

  • Browsers:
    • CodePen

    • Stackblitz

    • JsFiddle

    • w3CTryIt

  • Files:
    • Jupyter

    • JupyterLab

    • HTML page

    • HTML, JavaScript and CSS files

  • Web:

class epyk.core.py.PyOuts.OutBrowsers(context)
codepen(path: Optional[str] = None, target: str = '_blank', open_browser: bool = True)

Update the Html launcher and send the data to Codepen. URL used: https://codepen.io/pen/define/

Usage:

page = Report()
page.ui.text("This is a text")
page.outs.browser.codepen()

Related Pages:

Parameters:
  • path – Optional. Output path in which the static files will be generated.

  • target – Optional. Load the data in a new tab in the browser.

  • open_browser – Optional. Flag to open the browser automatically.

Returns:

The output launcher full file name.

stackblitz(path: Optional[str] = None, target: str = '_blank', open_browser: bool = True)

Create an output to be compatible with stackblitz.

Usage:

page = Report()
page.ui.text("This is a text")
page.outs.codepen()

Related Pages:

Parameters:
  • path – Optional. Output path in which the static files will be generated.

  • target – Optional. Not used. Load the data in a new tab in the browser.

  • open_browser – Optional. Flag to open the browser automatically.

class epyk.core.py.PyOuts.PyOuts(page: Optional[PageModel] = None, options: Optional[dict] = None)
property browser

This module will require the package web browser. It will allow outputs to be created directly in the web pages (without using intermediary text files.

codepen(path: Optional[str] = None, name: Optional[str] = None)

Produce files which will be compatible with codepen.

Usage:

page = Report()
page.ui.text("This is a text")
page.outs.codepen()

Related Pages:

Parameters:
  • path – Optional. The path in which the output files will be created.

  • name – Optional. The filename without the extension.

TODO Try to add the prefill https://blog.codepen.io/documentation/api/prefill/

Returns:

The file path

html()

Function to get the result HTML page fragments from all the HTML components.

Usage:

page = Report()
page.ui.text("This is a text")
page.outs.html()
html_file(path: Optional[str] = None, name: Optional[str] = None, options: Optional[dict] = None, print_paths: bool = False)

Function used to generate a static HTML page for the report.

Usage:

page = Report()
page.ui.text("This is a text")
page.outs.html_file()

# To generate multiple files using local packages
page.imports.static_url = "C:\epyks\statics"
page.outs.html_file(name="test.html", options={"split": True, "minify": True, "static_path": page.imports.static_url})
Parameters:
  • path – Optional. The path in which the output files will be created

  • name – Optional. The filename without the extension

  • print_paths – Optional. Print the page for the created file

  • options – Optional.

Returns:

The file full path.

jsfiddle(path: Optional[str] = None, name: Optional[str] = None, framework: str = 'jsfiddle')

Produce files which can be copied directly to https://jsfiddle.net in order to test the results and perform changes.

The output is always in a sub-directory jsfiddle.

Usage:

page = Report()
page.ui.text("This is a text")
page.outs.codepen()

Related Pages:

Parameters:
  • path – Optional. The path in which the output files will be created.

  • name – Optional. The filename without the extension.

  • framework – optional. The framework in which the result page will be used.

Returns:

The file path

jupyter(verbose: bool = False, requireJs: Optional[dict] = None, closure: bool = True, requirejs_path: Optional[dict] = None, requirejs_func: Optional[dict] = None)

For a display of the report in Jupyter. Thanks to this function some packages will not be imported to not conflict with the existing ones.

Usage:

page = Report()
page.ui.text("This is a text")
page.outs.jupyter()

Related Pages:

Parameters:
  • verbose – Optional. Get the excluded packages.

  • requireJs – Optional. The requirements overrides from the apps property.

  • closure – Optional.

  • requirejs_path – Optional.

  • requirejs_func – Optional.

Returns:

The output object with the function _repr_html_

jupyterlab()

For a display of the report in JupyterLab. Thanks to this function some packages will not be imported to not conflict with the existing ones.

Usage:

page = Report()
page.ui.text("This is a text")
page.outs.jupyterlab()

Related Pages:

markdown_file(path: Optional[str] = None, name: Optional[str] = None)

Writes a Markdown file from the report object.

Parameters:
  • path – The path in which the output files will be created.

  • name – The filename without the extension.

Returns:

The file path

publish(server: str, app_path: str, selector: str, name: Optional[str] = None, module: Optional[str] = None, target_folder: str = 'apps', auto_route: bool = False)

Publish the HTML page to a distant web server.

Usage:

page = Report()
page.ui.text("This is a text")
Parameters:
  • server – The webserver type (angular, react, vue, node, deno).

  • app_path – The webserver path.

  • selector

  • name – Optional. The application name in the webserver.

  • module

  • target_folder

  • auto_route

w3cTryIt(path: Optional[str] = None, name: Optional[str] = None)

This will produce everything in a single page which can be directly copied to the try editor in w3C website.

Usage:

page = Report()
page.ui.text("This is a text")
page.outs.w3cTryIt()

Related Pages:

Parameters:
  • path – Optional. The path in which the output files will be created.

  • name – Optional. The filename without the extension.

web()

Return the complete page structure to allow the various web framework to split the code accordingly. Fragments will then be used by the various framework to create the corresponding pages.