Skip to content

Releases: deeplime-io/onecode

1.0.0

05 Jun 17:09
Compare
Choose a tag to compare

Bug Fixes

🔗 Issue Ref 📌 Summary 📜 Description
[No Ref] Fix filename in Logger message when typechecking is on When typechecking is on, decorator filename was printed out instead of the actual filename from where the Logging originates from.

Enhancements

🔗 Issue Ref 📌 Summary 📜 Description
[No Ref] Python versions 3.11 and 3.12 now supported All Python versions ranging from 3.8 through 3.12 are now supported.
[No Ref] Slider returns integers when possible When min/max/step are integers, value is necessary an integer and returned as such.
[No Ref] Refactor all file type output elements under FileOutput No longer necessary to have one class per FileOutput type.
[No Ref] FileOutput to optionally create output path Use make_path in file_output() to automatically make the path if doesn't exists.

New Features

🔗 Issue Ref 📌 Summary 📜 Description
[No Ref] OneCode Cloud compatibility Rework and Streamlit extraction to make OneCode Apps deployable on OneCode Cloud.
[No Ref] New CLI onecode-build Extract the GUI JSON file used to build the UI on OneCode Cloud.
[No Ref] New CLI onecode-zip Archive all output data in a zip file.
[No Ref] Add element dependency Retrieve elements dependencies when attributes are dynamic.

⚠️ Breaking changes

While it has been nice to get started with, Streamlit app generation is no longer part of OneCode. See onecode-streamlit for more information on backward-compatibility.

Checkout this guide to upgrade from 0.x.

📒 Notes

  • pyarrow no longer a direct dependency of onecode. As a consequence, CsvReader element no longer read CSV through pyarrow.read_csv() but pandas.read_csv()
  • pydantic no longer a strong dependency, it was moved to the developer dependencies. Therefore using the variable ONECODE_DO_TYPECHECK=1 requires the pydantic installation.

0.4.0

12 Feb 14:58
Compare
Choose a tag to compare

Bug Fixes

Issue Ref Summary Description
[No ref] Changes in traceback API in Python 3.10 was not properly handling exceptions in Streamlit Using parameter position rather than name to allow backward compatibility with previous python versions.

Enhancements

Issue Ref Summary Description
[No ref] Doc enhancements Add more examples and info to documentation of output elements.
[No ref] Rebranding Update logo, main color and pictures.

New Features

Issue Ref Summary Description
[No ref] Adding new output element VRML file Visualize 3D scene with PyVista through VRML output.
[No ref] Adding new output element MP4 file Visualize video through an embedded video player.
[No ref] Adding new input element for Section Header Display a section header.
[No ref] Adding new output element HTML file Open HTML file through hyperlink in a new tab.

⚠️ Breaking changes

None

0.3.0

28 Jul 22:08
Compare
Choose a tag to compare

Bug Fixes

Issue Ref Summary Description
[No ref] Fix missing typing CLI function get_import_statements() was missing return type.
[No ref] Fixing links in documentation Fixed wrong reference for some documentation internal hyperlinks.
[No ref] Fix PlotlyOutput missing import import plotly was missing from the imports() statements in PlotlyOutput.

Enhancements

Issue Ref Summary Description
[No ref] Update onecode-pycg version Allow versions greater than 0.0.7.
[No ref] [CLI] add option to only generate the Streamlit app file without starting the server Use onecode-start --dump to generate app.py: useful to avoid restarting the Streamlit server every time.
[No ref] [CLI] add verbosity option when processing files Use --verbose option on onecode-start or onecode-extract to print information about functions being processed.

New Features

Issue Ref Summary Description

⚠️ Breaking changes

None

0.2.1

20 Jul 07:30
Compare
Choose a tag to compare

Patch

Bug Fixes

:octicons-issue-opened-24: Issue Ref :fontawesome-solid-thumbtack: Summary :material-message-text: Description
21 [Bug]: Streamlit error message 'setIn' cannot be called on an ElementNode when re-running application Log stream handlers were accumulated in root logging namespace at each run as Streamlit kept the Logger instance active.

0.2.0

30 May 17:52
Compare
Choose a tag to compare

Bug Fixes

Issue Ref Summary Description
9 Correct gatherUsageStats env variable onecode-start used wrong variable name to prevent sending stats.
[No ref] kind is now a property of the InputElement and OutputElement kind would have potentially been overwritten while extracting element through onecode-extract.

Enhancements

Issue Ref Summary Description
5 Improving DeepLearning example Allow initialization of NeuralNetInput custom element with different layer specs.
10 Allow for custom import and init statements in InputElement and OutputElement Streamlit app.py generated through onecode-start now has placeholders for import and init statements. See imports() and init() static methods in InputElement and OutputElement.
[No ref] Allow meta-data for elements Meta-data can now be attached to any Input/Output element through **kwargs.
[No Ref] Namespace logging Logger (info, warning, critical and debug) now uses a namespace `

New Features

Issue Ref Summary Description
1 New input element FolderInput FolderInput allows folder selection. LASConverter example showcases it.
2 New output element PlotlyOutput PlotlyOutput allows to visualize Plotly charts. ExperimentalVariography example showcases it.
[No ref] Setup Project configuration through environment variables Allow additional way to setup Project configuration options from command line.

⚠️ Breaking changes

  • 10 introduces a potential breaking change if you have custom InputElement or OutputElement where the streamlit() method relies on one of these statements being present in app.py:
import tkinter as tk
from tkinter import filedialog
import numpy as np
from pyarrow import csv as pacsv
_root = tk.Tk()

If this is the case, simply inherit import() and/or init() static methods so that they return the relevant statements.
See FileInput.imports() and FileInput.init() as examples.

  • Custom InputElement or OutputElement can no longer initialized with an argument named kind:
    it now is a reserved attribute. This change was triggered by a bug fix as kind was potentially overwritten
    when extracting element through onecode-extract. Upgrade your custom element by changing your argument name.

0.1.0

15 Feb 00:45
Compare
Choose a tag to compare

Initial release, checkout the documentation

Elements featured:

  • checkbox
  • csv_reader
  • dropdown
  • file_input
  • number_input
  • radio_button
  • slider
  • text_input
  • csv_output
  • file_output
  • image_output
  • text_output

CLI featured:

  • onecode-create
  • onecode-add
  • onecode-extract
  • onecode-start