Releases: TexteaInc/funix
Releases · TexteaInc/funix
Funix 0.5.9
0.5.9 (2024-07-29)
Highlights
- Funix now parses the
docstring
of your function as a description of the app and its arguments. - Initial support for jupyter through a simple
iframe
. - It is now possible to use the
List[Literal[...]]
type to create dropdown menus. - The
whitelist
andexample
can be dynamically updated by functions.
Bug Fixes
- disable close on select and check value for docstring (caf8fdb, @Yazawazi)
- only legal widgets in the docstring will be processed (c740cd9, @Yazawazi)
- close pyplot (548cd1b, @Yazawazi)
- class function do not use new app (d676f30, @Yazawazi)
- use inline code for stderr (d452af2, @Yazawazi)
- multiple apps in
funix_class
(8eb139c, @Yazawazi) - keep dict order (390f1ba, @Yazawazi)
- resize in options (335f425, @Yazawazi)
- class menu and
push_counter
(9363bf5, @Yazawazi) - isolate data with Flask instances (c6b5d00, @Yazawazi)
- handle
list
(6c6f0dd, @Yazawazi) - typing issues of funix() (a0a4300, @luochen1990)
- allow wrapped function (1432113, @Yazawazi)
- remove
.env
file (2124afe, @Yazawazi) - check dataframe argument in the request (d643dbd, @Yazawazi)
- add
pagination
inDataGrid
(d2b83af, @Yazawazi)
Features
- support docstring in runtime ast (e52d3a3, @Yazawazi)
- support iframe with jupyter (53b4586, @Yazawazi)
- do not use
Autocomplete
forTextField
(73da3f8, @Yazawazi) - support
List[Literal[...]]
for dropdown menu (758374f, @Yazawazi) - support docstring for widgets (a3f8375, @Yazawazi)
- parse label in docstring (cad7546, @Yazawazi)
- direct printing is supported for tuples (cd2d72d, @Yazawazi)
- support ipywidgets Image, Video and Audio (6db1f58, @Yazawazi)
- add
encoding
and replacestderr
for ws (026e1f4, @Yazawazi) - remove pandera (24843e8, @Yazawazi)
- remove pandera in
bioinformatics
(19f0860, @Yazawazi) - add callable whitelist and example (3eba23c, @Yazawazi)
Refactors
Documents
- update chatGPT examples (1f55720, @forrestbao)
Funix 0.5.8
0.5.8 (2024-05-17)
Highlights
This release brings some fixes and documentation changes:
- Important Fixes: Form Height, CORS Requests, Secret Authentication
- Now for dependencies,
matplotlib
,mpld3
,pandera
andpandas
become mandatory.
Bug Fixes
- minHeight in datagrid (ea9b1ee, @Yazawazi)
- cors request (ba8282c, @Yazawazi)
- ai examples and path_difference (a424d1d, @Yazawazi)
- secret error (40baed3, @Yazawazi)
Documents
- add install options (482a470, @Yazawazi)
- fix install and add cn (e1a32dc, @Yazawazi)
- fix code block (5d61288, @Yazawazi)
- add more build (61d5613, @Yazawazi)
Chores
Funix 0.5.7
There are no feature updates or logic fixes compared to Funix 0.5.6. Only dependencies have been fixed.
Funix 0.5.6
0.5.6 (2024-04-21)
Highlights
- You can now dynamically fetch variable as description from session, use
session_description
argument, fill your variable name in session - Provide a new boolean parameter:
keep_last
, whose function is to keep the last inputs and outputs of the session in the function page when it is opened again - Funix app that do not have a default function will now use one of the functions used in the list as the default function
- Outdated hints will now be displayed when previewing historical functions
Bug Fixes
- asynchronous optimization for
FunixFunction
(7f1d1c7, @Yazawazi) - if
log_level
is off, do not show (756206b, @Yazawazi) call
module name (810de23, @Yazawazi)- error websocket in https (a6e65b9, @Yazawazi)
Features
- support description from session (a6017dc, @Yazawazi)
- frontend history optimization (24aea95, @Yazawazi)
- support keep last (a6259d3, @Yazawazi)
- remove
react-pdf
(cf93b5b, @Yazawazi) - auto choose default function (first function in list) (2d15e94, @Yazawazi)
- support outdated alert (c41468a, @Yazawazi)
- change webcam and microphone position (df04197, @Yazawazi)
Documentations
- update theme examples (b132c05, @forrestbao)
Funix 0.5.5
0.5.5 (2024-02-28)
Highlights
- Initial implementation of autorun allows the frontend to automatically re-run the function as parameters are changed, you can use
autorun=True
in the decorator to enable this feature - Once again, any function or class will be decorated with
funix
orfunix_class
(defaultlazy
is back again), which you can turn off with@funix(disable=True)
- Now allowed to generate static images directly from the Figure type (if mpld3 doesn't work for you) by using
figure_to_image=True
in the parameter of the decorator IPython.display.Javascript
is now supported- You can now customize widgets with
widgets
andprops
in the widgets and themetheme = { "widgets": { "YOUR_WIDGET_NAME": { "widget": "WidgetComponent, e.g. '@mui/material/TextField'", "props": { # props for the widget "type": "password" } } } }
- The privacy message can now be updated with
funix.app.privacy_policy
function
Bug Fixes
- use
getsourcefile
to check member (fac9783, @Yazawazi) - custom class error (9d7dad2, @Yazawazi)
- privacy requests too much (3c25d85, @Yazawazi)
- backend check in privacy (04126c9, @Yazawazi)
- theme custom component parser (f05b857, @Yazawazi)
- do not change width in the frontend (f05a065, @Yazawazi)
- no wrap for grid (d262755, @Yazawazi)
- circular import (9bb9a0f, @Yazawazi)
- lists use wrong app and wrong value in
process_examples_and_whitelist
(06e90eb, @Yazawazi) - cell doesn't working (bcb9986, @Yazawazi)
- raw
draw_figure
(3201ec2, @Yazawazi) - tuple args parse (1aa5f1a, @Yazawazi)
IPython.display
check (3cac765, @Yazawazi)IPython.display
check in list (a7761a0, @Yazawazi)
Features
- support both sqlite and JSON Lines for telemetry (3b816d1, @Colerar)
- support autorun (5954f35, @Yazawazi)
- remove
lazy
again (51a7342, @Yazawazi) - support figure to image (949f7cd, @Yazawazi)
- disable log by default (8d966b6, @Yazawazi)
- support
IPython.display.Javascript
(d51f019, @Yazawazi) - support update privacy message (f2649a7, @Yazawazi)
- try to support custom components (f40d8f9, @Yazawazi)
- support custom components in
widgets
(b4f4aaf, @Yazawazi) - support custom components and props in
widgets
andtheme
(1c3f17b, @Yazawazi) - user management example (bcc89da, @Colerar)
Documentation
- clean up examples and README (a9f7007, @forrestbao)
- update README with new examples (c65de88, @forrestbao)
Refactors
Funix 0.5.4
0.5.4 (2023-12-23)
Highlights
- Fixed issue where external scripts could not be loaded due to security checks in DOM updates
- For users using
@funix_class
, the AST is now used to parse the source code - docstring is now used as a function description
- HTML code now allows developers to embed JavaScript
- Improved error message when limiter limit is exceeded and class is not initialized
- Added
reactive
parameter to help update/calculate parameters in real time - For parameters such as
label
, the*
, glob or regex are now supported - Camera (picture or video) and microphone inputs are supported on the front end
Bug Fixes
- remove
get_class_source_code
, use full ast analyse (93a4d31, @Yazawazi) - external scripts load (97b60c0, @Colerar)
- docstring bug (cf97fb8, @Yazawazi)
- markdown list in toc (63eb95d, @Yazawazi)
- run script in HTML type (572afa9, @Yazawazi)
- do not update when function has no reactive (c9dbd69, @Yazawazi)
- improve class init error message (d78f20f, @Colerar)
- replace UTC with timezone (4ef833c, @Yazawazi)
Features
- support docstring as description (cf2637c, @Yazawazi)
- support label in sheet (8bc6c69, @Yazawazi)
- sort string in list (1b667b2, @Yazawazi)
- support "*" syntax sugar (6b33fac, @Colerar)
- support "*" in label (b849469, @Yazawazi)
- support glob and regex as key (e55dce7, @Colerar)
- add wordle example (dcfefbe, @Yazawazi)
- try to support reactive argument (3576712, @Yazawazi)
- better rate limit error display (c3bf872, @Yazawazi)
- add empty function list check (68391fc, @Yazawazi)
- if Literal args less than 8 use radio (304de20, @Yazawazi)
- support camera and microphone input (4fe2966, @Yazawazi)
- add a simple privacy policy and disclaimer (d01206f, @Yazawazi)
- backend telemetry (8627bb1, @Colerar)
- add SQLAlchemy (46ed592, @Colerar)
- update gitignore (4cb875c, @Colerar)
Documents
- update GenAI example (1ba6417, @Yazawazi)
- Update pandas DataFrame demo (e621bf3, @forrestbao)
- update openAI demos in compliance with new openAI API (3bffbe6, @forrestbao)
Funix 0.5.3
0.5.3 (2023-11-28)
Highlights
- Support
class
with funix, you can usefunix.funix_class
andfunix.funix_method
for class and class's method - Support
generator
function with websocket, and you can useyield
to send message to frontend - For websocket, we add
print_to_web
option in decorator for printing message to frontend directly byprint
function - Normal
pandas
type is now supported - Now funix can run offline
- The memory leak of web histories is fixed, and for any input with file, the history will be disabled
Bug Fixes
- frontend:
conditional_visible
andinput_layout
can cause conflicts (903ac3b, @Yazawazi) objArraySort
top level array check (1da9e1c, @Yazawazi)- use
abspath
in case (b0340e7, @Yazawazi) - use ast to create funix at the runtime (0718529, @Yazawazi)
- handle
funix_class_params
correctly (922560c, @Yazawazi) - support
funix.funix_method
(ecb459a, @Yazawazi) - type hint of example (e8a1780, @Colerar)
- web histories memory leak (f3d0b13, @Colerar)
Features
- frontend: support resize
TextField
(db43985, @Yazawazi) - support generator function (9bfe561, @Yazawazi)
- add new openai example (1f4172b, @Yazawazi)
- use
global
for auto session mode (3ecffd9, @Yazawazi) - support history in websocket mode (a003521, @Yazawazi)
- use
SyntaxHighlighter
inMarkdownDiv
(134875b, @Yazawazi) - remove
lazy
mode, lazy mode now be an addition to the normal mode (4473845, @Yazawazi) - update chatgpt example (c6bd389, @Yazawazi)
- try to support normal
pandas
(e57e697, @Yazawazi) - support local d3 and mpld3 (cf83083, @Yazawazi)
- support
funix_class
(693b310, @Yazawazi) - support
funix_class_params
(cec8cdb, @Yazawazi) - support
print_to_web
(efb7f7e, @Yazawazi) - support
markdown
and fix flush (39cef98, @Yazawazi) - support
disable
infunix_class
(8a1f57e, @Yazawazi) - try to support class with
__init__
(af2f56b, @Yazawazi) - bring
lazy
mode back (5ba0caa, @Yazawazi) funix_class
as decorator (da192c6, @Colerar)- invocation style funix_class, update example (50a73e8, @Colerar)
funix_class
imports (f2c57a2, @Colerar)- remove multiline prop for number type (375db47, @Yazawazi)
Documents
- update readme and command line options (83b36e6, @Yazawazi)
- [demo] partially updating examples for streaming mode and openAI 1.1.1 API (06a26c2, @forrestbao)
- partially updating examples for OpenAI API v1.0+ (6380cf4, @forrestbao)
- update the example for classes (766920b, @forrestbao)
Chores
Funix 0.5.2.1
The following changes have been made in this version relative to 0.5.2:
- rollback of code that failed to run properly due to a merge error
- automatic recursive mode
You can read here to see the changes in 0.5.2, but the release at PyPI has been removed.
Funix 0.5.2
0.5.2 (2023-10-31)
Highlights
- Recursive mode can support duplication names, and when importing themes, the relative path's theme file cannot import issue is fixed.
- Support default function , use
-D [file:name|name]
in command line or adddefault
argument in decorator. - Support rate limit, see examples for details.
Bug Fixes
- wide images not scaled, exceed the width of the page (509e3d8, @Yazawazi)
Union
parse error (780509b, @Yazawazi)- cannot use relative path when importing theme (253cd4c, @Yazawazi)
- incorrect indentation (793d7e1, @Yazawazi)
- add module name back (57c2cab, @Yazawazi)
- password wrong check, frontend dataframe and examples (47b7ea2, @Yazawazi)
- frontend: rate limit (ae7cd34, @Yazawazi)
- allow top level module (aa0c522, @Yazawazi)
- frontend: menu function order (9fab4a3, @Yazawazi)
rate_limit
args parse (b88c536, @Colerar)- wrong path difference (9b8ac8c, @Yazawazi)
- rollback
FunixFunctionList.tsx
(494bfc3, @Yazawazi)
Features
- try to support duplicate function names (08ee62c, @Yazawazi)
- try to support duplicate function names (aa6e6bd, @Yazawazi)
- use full local paths (with python file name) as URL path (7336d09, @Yazawazi)
- support resizeable function list (5edb4d1, @Yazawazi)
- add list sort, remove base dir and the module file (0994067, @Yazawazi)
- build frontend for testing (b4f0fd5, @Yazawazi)
- host check (0d2dbd9, @Colerar)
- ratelimit (1d09047, @Colerar)
- session ratelimit, flexible config (f72e546, @Colerar)
- JSON config for ratelimit (e8883b5, @Colerar)
- add
time_frame
parameter for static methods ofLimiter
(5943282, @Colerar) - ratelimit
period
JSON config (71ca3c6, @Colerar) - decorator: add
is_default
argument (82973fe, @Yazawazi) - rename
is_default
todefault
(361acbf, @Yazawazi) - support
.funixignore
in recursive mode (49167d7, @Yazawazi) .funixignore
is expected to be parsed as an ignore list on github. (cd2a8bf, @Yazawazi)- global rate limiter (f04ccd0, @Colerar)
- support
-D
(default) in command line and fix ignore bugs (7ba5f61, @Yazawazi) - add
ip_headers
for reverse proxy (d85a553, @Colerar)
Documents
- update examples for ipywidgets and pandera types (6a6fa70, @forrestbao)
- update examples for ipywidgets and pandera types (9c86d46, @forrestbao)
- update examples (042c198, @forrestbao)
- remove archive (a809092, @forrestbao)
- update and clean up examples after FEPs 11 and 13 (baba606, @forrestbao)
- minor fix in simple session demo (027d7c8, @forrestbao)
- update examples and fix a bug in rate limiter (eb606a1, @forrestbao)
- update examples (a846c13, @forrestbao)
- update examples for Ploomber review (7be3327, @forrestbao)
- minor updates in examples (0c300f9, @forrestbao)
Refactors
Code Style
Chores
- auto build frontend (32da3f2, workflow)
- build frontend for testing (d652e73, @Yazawazi)
- update
caniuse
(4b3cdb0, @Colerar)
Merges
Funix 0.5.1
0.5.1 (2023-10-14)
Released 0.5.1 for testing by Kumo.
Highlights
-
The function selection menu has been rewritten so that multiple levels can now be displayed correctly
-
You can use the keyword
menu
in the decorator to create the menu, for example:from funix import funix @funix(menu="user") def login(): pass @funix(menu="user") def register(): pass @funix(menu="instance") def create(): pass @funix(menu="instance") def delete(): pass
-
Initial support for the Kumo report function
Bug Fixes
Features
- remove CORS (87f3be2, @Yazawazi)
- recursive show multi-level menu (2495a94, @Yazawazi)
- initial support for kumo callback (d9ba404, @Yazawazi)
- add kumo timeout (83368e9, @Yazawazi)