Releases: TexteaInc/funix
Releases · TexteaInc/funix
Funix 0.5.0
0.5.0 (2023-10-05)
Highlights
- The logic of
theme
has been changed again (yes), and the old way of importing from URLs has been added to Funix again. textarea
is now a configurable widget.- Developers with MUI Data Grid Pro can now use their own pro version by passing in a token via
.env
. - Initial support for some types of IPython, ipywidgets, pandas (pandera).
- The backend now remembers the type, and the data passed by the frontend will be transferred to the corresponding type (in the past it was only the base type), but some types without the
__init__
method will be skipped for now, it will be improved in the future. - Rewrote
new_funix_type
to better support custom types and widgets.
Breaking Changes
- Theme system and
new_funix_type
have been heavily modified, please read theexamples
and the in-doc to learn the newest usage.
Bug Fixes
- mpld3 import error (8ac9a75, @Yazawazi)
- use IPython's Markdown (c7a48f8, @Yazawazi)
- default value of sheet is sometimes invalid due to asynchrony (c2c64ba, @Yazawazi)
Features
- merge
set_theme
toimport_theme
; removeno_debug
, usedev
instead (19cf153, @Yazawazi) - support
@mui/x-data-grid-pro
(75b0644, @Yazawazi) - ignore backend build (491f826, @Yazawazi)
Literal
now useradio
widget by default (f6f1d5e, @Yazawazi)- try to support IPython's Markdown and HTML (3c1298e, @Yazawazi)
- auto replace
_
with whitespace (4900d9b, @Yazawazi) - try to support IPython's Audio, Video and Image (3e4d3ff, @Yazawazi)
- turn
textarea
to configurable widget (055de3f, @Yazawazi) - add
new_funix_type
for custom widget (6157dbc, @Yazawazi) - add simple custom type support (863b699, @Yazawazi)
- try to support ipywidgets's password (7ab5485, @Yazawazi)
- try to support pandas and pandera as input widget (7f666fe, @Yazawazi)
- try to support pandas and pandera as output widget (1d7b518, @Yazawazi)
Documents
- update usage and mui pro section (21d334c, @Yazawazi)
- add some parts (7e6c4df, @Yazawazi)
- minor change on examples (94d3772, @forrestbao)
- update bioinformatics examples (96d3159, @forrestbao)
- minor update in conditional_simple.py (6e5a4ce, @forrestbao)
- advance docs submodule (ac5d48d, @forrestbao)
- update image links in README (a79ac02, @forrestbao)
- update Readme (6d4e474, @forrestbao)
- updating bioinfo examples (0e585e4, @forrestbao)
- clean up examples (22c7e50, @forrestbao)
- updata openAI_minimal examples with POST method (830253c, @forrestbao)
- update hangman example and other minor example updates (b0f1a12, @forrestbao)
- update examples (75dd189, @forrestbao)
- add HuggingFace example (48ac9c6, @forrestbao)
- add HuggingFace example (1aac292, @forrestbao)
- fix openAI minimal demos (9085490, @forrestbao)
- update README (246ec69, @forrestbao)
- polishing README before grand opening (c5406f4, @forrestbao)
- Upload new video to README.md (55f22c4, @forrestbao)
- Create Funix_vs_them.md (b5de148, @forrestbao)
- update chatGPT multiturn example (53d2506, @forrestbao)
- update examples to use IPython.display.{HTML, Markdown} (90c452b, @forrestbao)
- update README (d5545a4, @forrestbao)
- clean up hangman example after new variable label creation method (fa57101, @forrestbao)
- update examples (47fe454, @forrestbao)
- Update README.md with new video (292d545, @forrestbao)
Chores
Funix 0.4.8
0.4.8 (2023-08-28)
Highlights
- Fixed a function returning None causing the frontend to render to the wrong string and list;
- Hidden functions will be skipped in
lazy
mode; - Fixed pre_fill not updating in time;
- The naming of some elements of the layout has changed, see
Breaking Changes
below.
Breaking Changes
dividing
is renamed todivider
;index
is renamed toreturn_index
;return_index
can accept a single index or multiple indexes in a list.
Bug Fixes
lazy
mode should skip hidden functions (29cacd3, @Yazawazi)None
type error and do not display switch in output (9d91a37, @Yazawazi)- functions with
pre_fill
update delays (bf5efd3, @Yazawazi) input_layout
divider rename (5999da4, @Yazawazi)
Features
- rename
dividing
todivider
, support listindex
(b219278, @Yazawazi) - rename
index
toreturn_index
(85e4f5a, @Yazawazi)
Chores
- auto build frontend (e8270e2, workflow)
- build frontend (99f8fe9, @Yazawazi)
- auto build frontend (bfb94a4, workflow)
- auto build frontend (d65d28a, workflow)
- auto build frontend (2570b5a, workflow)
Documents
- update examples (ae45117, @forrestbao)
- partial reorg exampls (7c95127, @forrestbao)
- update slider_table_plot example (764f93e, @forrestbao)
- update examples (c802cfe, @forrestbao)
- advance docs (4cbcbeb, @forrestbao)
Funix 0.4.7
0.4.7 (2023-08-24)
Highlights & Breaking Changes
- The conditional visible
all_if
andthen
were renamed towhen
andshow
; - Big change to the
theme
system: now uses JSON instead of Python Dict, documentation will be updated soon; - For the session feature, session variables now do not need to be labeled in the decorator and all global variables will be transformed into session variables (to use this feature, turn on the
-t
option).
Bug Fixes
ConditionalVisible
key (b2102b7, @Yazawazi)- with the
repo_dir
parameter, usechdir
(0c833c2, @Yazawazi) - theme import and hokusai prop name (219f55f, @Yazawazi)
Features
- update keywords for conditional visible to 'when' and 'show' (24599f7, @forrestbao)
- change
import_theme
arguments name (5f063e2, @Yazawazi) - support tuple widgets in theme (28ed81e, @Yazawazi)
- change
import_theme
argument name again (1b213e6, @Yazawazi) - convert global directly to session variables (84571cc, @Yazawazi)
- back to using theme styles in json format (d446eaf, @Yazawazi)
- remove tuple and list support in theme key (498df03, @Yazawazi)
Documents
- link docs to a submodule repo (2bd25b6, @forrestbao)
- Update ReadMe (a494b0a, @forrestbao)
- advance docs commit (b8f9041, @forrestbao)
- make
pre_fill
example back (591b481, @Yazawazi)
Funix 0.4.6
0.4.6 (2023-08-03)
Highlights
- Fixed an issue where history was not working because of
window.crypto.randomUUID
is not for HTTP environments; - Fixed funix not importing in directory mode due to incorrect
yield
; - Fixed an issue where the function tree could not support multi-level modules.
Bug Fixes
- replace
window.crypto.randomUUID
withuuid
module (26f1afa, @Yazawazi) - wrong
yield
(16ff56f, @Yazawazi) - function tree render (f61ccc6, @Yazawazi)
- existing function disappears after
updateTree
(b275eec, @Yazawazi)
Chores
- auto build frontend (82881fc, workflow)
Funix 0.4.5
Funix 0.4.4
0.4.4 (2023-07-04)
Just a quick fix for the kumo not deployable issue, no feature improvements/additions or fixes.
- Deployment from remote git repositories is now available as an option.
Funix 0.4.3
0.4.3 (2023-07-03)
Highlights
Just because kumo
requires the get_flask_application
method, upload version 0.4.3.
- Support pre-fill: the output of a function will be used as an input parameter to another function and bound to the session. You can read and try the
pre_fill.py
instance in the examples folder; - You can now export the Flask app for funix via
from funix import get_flask_application
, which is convenient for you to modify externally.
Bug Fixes
Features
Funix 0.4.2
0.4.2 (2023-05-27)
Highlights
- Now we use paths instead of module names, please read the first note of breaking changes;
- In the past sheet was not available because of rollback, this time it is fixed, but there may be performance issues;
- Now there is no need to build the frontend manually, commit changes to the
frontend
folder in the main branch and workflow will automatically build the frontend and commit it. For PR, workflow will automatically run unit tests for changes to the backend; - For plot support as an additional requirement, please use
pip install funix[plot]
to install the dependencies; - Now that Funix supports session, variables can no longer be shared by all users! You can simply implement this with a global statement and
session_variables
configuration, and start funix with the-t
flag (Uses AST, but still not enough, so if you find it doesn't work, try using the functions provided infunix.session
, and readglobal_hand.py
andglobal_test.py
inexamples
); - The decorator provides a new parameter:
direction
, which supportscolumn
,row
,column-reverse
androw-reverse
to indicate the input/output arrangement; - The backend code was cleaned up, added comments and several unit tests.
Breaking Changes
- You now need to start funix using the path instead of the module name. In the past, starting it like
funix test
would cause funix to importtest
(in Python) instead oftest.py
in the directory, now please start it withfunix test.py
; - The past YAML and JSON support (theme and decorator configuration) is no longer supported, and Python configuration for themes will be documented in the future.
Bug Fixes
- sheet unusable due to history rollback feature (#68) (a48dedb, @Yazawazi)
- wrong
mkstemp
, usemkdtemp
instead (b38e3d0, @Yazawazi) - add
options.extras_require
inpyproject.toml
(b2a4eaf, @Yazawazi) - wrong
matplotlib.use
and miss workflow push branches (1912959, @Yazawazi) - remove
prep/__init__.py
(ed34558, @Yazawazi)
Features
- no module name by default (dae4c44, @Yazawazi)
- new theme system with FEP4 (a70a08c, @Yazawazi)
- add
build-and-push
workflow (fd9bfa7, @Yazawazi) - add test for magic and fix type error (3f23c7e, @Yazawazi)
- add workflow to run backend test (33e49a1, @Yazawazi)
- support session (1754930, @Yazawazi)
- support
direction
argument in decorator (bac3b19, @Yazawazi)
Refactors
Documents
- update readme (b92c705, @forrestbao)
- Update Readme.md with embedded video (ab2b99b, @forrestbao)
- Update Readme.md with reorged examples (7570965, @forrestbao)
Code Style
Chores
Funix 0.4.1
0.4.1 (2023-05-05)
Highlights
- Funix now has debug mode on by default to support hot reloading, but it may break Funix's logic for handling
BytesFile
, which you can turn off with-D/--no-debug
; - Added a history function stored in the browser's IndexedDB, with all the history of this function in the right sidebar of the function, and full history in the history dialog. You can roll back history by using the View button (in the history dialog) / clicking on the history item (in the sidebar);
- When the history cannot be saved, a snack bar will pop up alerting the user;
- Added a custom Markdown render to support MUI components and KaTeX.
Breaking Changes
- For frontend users, no more than 5 files can be uploaded, and no single file can exceed 15 MB; the Web API is not affected;
- Users of 0.4.0 should upgrade to 0.4.1, which fixes a vulnerability that could bypass
secret
authentication (Funix app launched with-s
)
Bug Fixes
- treat title as markdown in appbar title and functions list (514dae8, @Yazawazi)
- cli recursive and package opt (c67a2df, @Yazawazi)
parsed_secret
isNone
(48f986c, @Yazawazi)treat_as
not injson_schema_props
(d3db671, @Yazawazi)- infinite re-rendering due to incorrect
useEffect
(3053e46, @Yazawazi) - alert box content rendering misalignment (2f3d76a, @Yazawazi)
- secret: bypass secret auth for with
-s
funix app (important) (b6b0700, @Yazawazi) - custom sheet widget roll back state (3f7fc3d, @Yazawazi)
- try to fix infinite re-rendering due to incorrect
jotai
using (3b00b73, @Yazawazi) - out of memory (3a77a90, @Yazawazi)
Features
- change footer slogan (4c67220, @Yazawazi)
- add
no_debug
argument (02d75e7, @Yazawazi) - support history in frontend (73c98f8, @Yazawazi)
- support side bar history list (fd04e70, @Yazawazi)
- add the menu to the side bar history list (e793c56, @Yazawazi)
- add
secret
argument (79861b3, @Yazawazi) - do not show
untitled
in side bar history list (a9b5411, @Yazawazi) - add custom markdown render to support MUI components (f54bed5, @Yazawazi)
- major changes in history (238bcba, @Yazawazi)
- support app secret setting in frontend (7ef49eb, @Yazawazi)
- pop-up snackbar when history cannot be saved (ae45e62, @Yazawazi)
- change the file size limit to 15 MB (4689389, @Yazawazi)
Chores
Funix 0.4.0
0.4.0 (2023-04-08)
Highlights
- Support lazy mode, with the
-l
arguments, helps to addfunix
decorators to all functions in this script, and then export them directly; - Support directory mode, with the
-d
arguments, funix will traverse all py files in the directory and export them. Similarly, package mode is supported too, with the argument:-P
, to export all the modules in the package; - The list of functions is now no longer a radio group, but a drawer list that opens by default on the left, and a tree-structured list display is supported in directory and /package modes;
- Support importing external git repo's with
-g [git repo link]
, likefunix -g https://github.com/Yazawazi/FunixTest -dl
; - Now PDF files, in the upload component can be previewed, if the return is a URL link containing a PDF extension (need
File
type), then the same can be displayed in the output panel; - In the input panel, press
Ctrl+Enter
orControl+Enter
to call the function; - All built-in components are available in
funix.hint
; - Add the
secret
parameter infunix
decorator, which you can use to generate a secret token if your function doesn't want to be called publicly.
Breaking Changes
It seems that there is no.
Bug Fixes
- delete tempdir in git mode (2f98f9e)
- no re-rendering when panel width is being adjusted (38cf02b)
divider
in theme palette (df25009)- add
radio
in__basic_widgets
(23a48c9)
Features
- add secret mode (8cc4c36)
- no
app.run
, replace withgunicorn
(37599d3) - add
Toolbar
toDataGrid
in the output panel (bd0729a) - add alias of built-in widget-types in
funix.hint
(4855325) - icon button now with text in file upload widget (1bfa954)
- add
--repo-dir
argument (8486f8d) - add banner back and shortcut run (e1f8012)
- add background color in tree viewer (bbf5402)
- support import remote git repo (25ac044)
- add basic tree viewer in dir or package mode (6256e56)
- recursive fetch module (8b770ba)
- support easy directory mode (74f604e)
- support pdf preview (34ee6aa)
- disable minimap in editor (808531f)
- use
__base__
to get type (5b5cfc1) - support lazy mode (fcecfa0)
Documents
- split the theme examples in
examples_better
to a separate file (1230768) - update AI and shipping examples (355c074)
- add EasyPost example (7aca1e9)
- update ai and general examples (773acf7)
- update examples (c26697d)
- minor update on Readme and AI examples (4b54bd8)