HNHacker News
TopNewBestAskShowJobs

pplonski86

7,520 karma · joined March 9, 2016

New generation of data science tools

https://mljar.com

https://github.com/mljar/mercury

https://github.com/mljar/mljar-supervised

https://runmercury.com

meet.hn/city/pl-Łapy

submissionscomments
pplonski86··on Python App in the Browser
The next alternative is Mercury (https://github.com/mljar/mercury) framework. It turns Jupyter notebooks into interactive web apps. You just add YAML config in the first cell and the interactive widgets (textbox, sliders) will be added to the notebook. You can share the notebook with others. Your users can tweak widgets and execute the notebook (and download result as single HTML file). What is more, you can hide notebook's code if you want. The framework is open source, but has also commercial additional features like authentication. It's website https://mljar.com/mercury/.
pplonski86··on Show HN: Convert Jupyter Notebook to interactive web app without coding
Thank you! That's fantastic idea! Need to think how it can be done.

Right now I'm working on integration with HuggingFace Spaces. So you can publish your notebook there.

It is very good for learning. I have users that are starting to learn Python and with Mercury they build amazing applications shared as web apps.

pplonski86··on Show HN: Convert Jupyter Notebook to interactive web app without coding
Thanks, I think that most of stars come from Linkedin. Few people with many connections share it. But O also share it on reddit.
pplonski86··on Show HN: Mercury – build and share web apps from Python notebooks
What problem are we solving?

It is hard to share Jupyter Notebook with non-coders. Old way for sharing:

- create PowerPoint presentation - easy to do, but not interactive,

- rewrite the notebook into web framework and make a web app - requires a lot of work, you need to be Data Scientist and Web Developer

- share notebook as static HTML - not interactive, you need to hide the code to not scare the users,

Mercury turns Jupyter Notebook into interactive web app. You can add widgets to notebook by adding YAML configuration in the first RAW cell in the notebook. You can easily deploy it to the cloud. Main features:

- it is easy - just add YAML config, no need to mix User Interface code with analytics code,

- allow end-user to tweak widgets and execute the notebook from the top to the bottom,

- end-user can download executed notebook as single HTML file,

- you can hide notebook's code,

- there is app gallery built-in, so you can share many notebooks on single server,

- it has authentication available, you can select with who share notebooks,

- it has HTTPS support (certificate from Let's Encrypt),

- you embed interactive notebooks on any website,

- it has Admin Panel (to manage notebooks, users, groups).

The Mercury is dual-licensed. The core is on AGPL_v3. The commercial license provides more features, dedicated support and white-labeling. We select such business model to have sustainability.

The frontend is in TypeScript with React+Redux. The backend is in Python with Django+Celery.

pplonski86··on Penpot: Open-source design and prototyping platform
Thanks for sharing! What is Penpot business model?
pplonski86··on Show HN: Mercury – Publish Jupyter Notebook as web app by adding YAML header
The same was as you display in Jupyter. Just exectue the cell with your data frame variable.

The alternative might be to use rich package (https://github.com/Textualize/rich) but I don't have a tutorial yet.

pplonski86··on Show HN: Mercury – Publish Jupyter Notebook as web app by adding YAML header
You can't dynamically set values in widgets. All values (choices and ranges) should be set upfront.
pplonski86··on Show HN: Mercury – Publish Jupyter Notebook as web app by adding YAML header
Right now, it works with only Python, but can be extended to any kernel.

Deployment should be easy, I wrote guides how it can be done on Heroku and AWS EC2 https://github.com/mljar/mercury/wiki

pplonski86··on Show HN: Mercury – Publish Jupyter Notebook as web app by adding YAML header
Hi, creator here. Mercury is an easy way to convert notebooks into interactive web apps, where user can tweak input parameters by widgets and click RUN button to execute notebook with new input. User can also download the executed notebook.

Mercury is open-source with AGPLv3 license. For companies looking for more features, commercial friendly license and dedicated support I'm planning to offer paid license (I hope it will give long live to the project).

In the near future I would like to add:

- notebooks scheduling (with email notifications)

- option to convert notebook to REST API (with YAML config)

I hope Mercury will be an easy tool for all notebook users and will help them to share their results with non-programmers.

pplonski86··on Show HN: Mercury – Publish Jupyter Notebook as web app by adding YAML header
Mercury was inspired by R Markdown where YAML is used. I think that YAML is quite easy way to quickly define simple User Interface.
pplonski86··on Show HN: Mercury – Publish Jupyter Notebook as web app by adding YAML header
Mercury has different architecture. Is it better? Hard to say, users will tell. When building Mercury I was inspired by R Markdown YAML.

Voila is using tornado, and for each user it is creating a python kernel. User can interact with notebook code with widgets (ipywidgets) created inside the notebook. Voila can serve one notebook at the time.

Mercury is built on Django+Celery. Widgets are defined outside the notebook with YAML. All executions are processed in the background. There can be served several different notebooks in the same time. The notebooks gallery is built-in.

In Mercury, it will be easy to add more options for notebooks execution. I'm planning to add notebook scheduling and option to convert notebook into REST API.

pplonski86··on IPython 8.0
I'm working on a solution that helps with transforming notebooks into web applications (with GUI). You just need to define YAML config (similar to R Markdown) and the framework will generate web app with interactive widgets. After change in widgets, user clicks Run button and the whole notebook is executed, converted to HTML and displayed to the user.

The framework is called Mercury and is open-source https://github.com/mljar/mercury

pplonski86··on Read Google Sheets into Python with no-code MLJAR Studio under 2 minutes
We are working on a new way to create Python notebooks. Each cell has not only a code but also a menu with available integrations and form for code generation. It can be seen as a no-code tool for creating Python programs.

Thanks to this, no-coders will be able to create simple Python scripts. For experienced developers, it will make coding much faster - you don't need to jump over the docs, just click needed step and fill the form.

The MLJAR Studio is a desktop application, so everything is on your machine. Created program is compatible with Jupyter Notebook or can be converted to plain Python - no vendor lock-in.

We wrote the article with description how Google Sheets data can be read in Python with no-code MLJAR Studio https://mljar.com/blog/read-google-sheets-in-python-with-no-...

pplonski86··on Show HN: Mljar Studio - create notebook with visual programming in Python
With my wife, we are working on visual interface for creating Python scripts in the notebook. We created desktop application MLJAR Studio. In our app, user has a list of predefined steps. Each step has a graphical interface with a form that after filling generate the Python code. The Python code is the source of the truth.

Currently we have a few steps for training Machine Learning model on tabular data. Here you have few gifs with screenshots: https://mljar.com/docs/how-does-python-notebook-work/ how it looks like, and example how to build ML model: https://mljar.com/docs/create-first-notebook/ on tabular data. The created notebook is compatible with Jupiter notebook.

In the near future, we are planning to add notebook scheduling and more steps (probably with some dynamic manager for steps loading). We see MLJAR Studio as an alternative to visual programming environments which are node based. Because the Python code is the source of truth, it offers a great flexibility to define new steps or to add custom Python code.

The app is desktop based (it is using electron framework). It automatically installs Python 3.9 with miniconda and required packages. The installation is local, without change to the environment path. You can see installation instructions here: https://mljar.com/docs/install-notebook/. The application is only for Windows. If you are interested in MacOS or Linux versions, please fill the form https://docs.google.com/forms/d/e/1FAIpQLSeB5-hA326sBg9fg-pp... and we will notify you when ready.

If you would like to try the app (currently Windows only), it can be downloaded from GitHub release page: https://github.com/mljar/studio/releases

pplonski86··on Launch HN: Evidently AI (YC S21) – Track and Debug ML Models in Production
Congratulatuions on launch! Models monitoring is really important and there is huge lack for tools to do this. How would you notify users (model owner) about potential problems? Are you going to use email notifications?

Does user need to manually set threshold when alarms should be triggered?

What to do if there is a data drift?

What is the most difficult to detect drift example that you see?

pplonski86··on Show HN: Open-source alternative to Retool, Internal.io, etc.
Same here, the website and product looks impressive. @navaneethpk how many hours a day have you been coding? Do you use some ready templates or boilerplates?
pplonski86··on Show HN: Open-source alternative to Retool, Internal.io, etc.
Congratulations on launch!

Got a question. What do you think, is it possible to create internal tools as desktop apps that doesn't need servers/internet connection? I understand that your product is web based, so doesnt have such desktop-app feature. Can you recommend any no-code tool for building desktop based apps?

pplonski86··on Launch HN: MindsDB (YC W20) – Machine Learning Inside Your Database
What type of ML algorithms do you support? Do you have benchmarks with performance?
pplonski86··on Launch HN: Datrics (YC W21) – No-Code Analytics and ML for FinTech
Congratulations on launch! ML tools/services/platforms are really hard to build. You need to juggle not only frontend/backend frameworks but also make them work with ML frameworks. There are so many corner-cases that can make the whole app crash.

How does it differ from open-source AutoML frameworks like https://github.com/mljar/mljar-supervised or drag-and-drop tools like Azure ML Studio?

Is the no-writing the code a killer feature here?

Do you have financial data enhancement feature? Do you plan such feature?

pplonski86··on Show HN: Compare AutoML frameworks on 10 Tabular Kaggle competitions
The clickable url to GitHub repo of MLJAR AutoML: https://github.com/mljar/mljar-supervised
pplonski86··on Show HN: AutoML state-of-the-art performance on tabular data

    Dataset      Auto-WEKA   auto-sklearn   TPOT    H2O AutoML   GCP-Tables   AutoGluon   MLJAR  
 -------------- ----------- -------------- ------- ------------ ------------ ----------- ------- 
  ieee-fraud         0.119          0.349                             0.119       0.322   0.172  
  value              0.114          0.319   0.325        0.377                    0.415   0.445  
  walmart                           0.390   0.379                     0.398       0.384   0.423  
  transaction        0.131          0.329   0.326                     0.404       0.406   0.463  
  porto              0.158          0.331   0.315        0.406        0.434       0.462   0.540  
  allstate           0.124          0.310   0.237        0.352         0.74       0.706   0.764  
  mercedes           0.160          0.444   0.547        0.363        0.658       0.169   0.879  
  otto               0.145          0.717   0.597        0.729        0.821       0.988   0.924  
  satisfaction       0.235          0.408   0.495        0.740        0.763       0.823   0.975  
  bnp-paribas        0.193          0.412   0.460        0.417        0.440       0.986   0.986
pplonski86··on SpaCy 3.0
Is there any framework similar to SpaCy or HugginFaces but for images?
pplonski86··on Show HN: Mljar Automated Machine Learning for Tabular Data (Explanation,AutoDoc)
There is explanation of data done with Automatic Exploratory Data Analysis.

There is explanation of ML models and predictions:

- learning curves from training

- decision tree visualization

- linear model coeffs printout

- features importance (permutation based)

- SHAP features importance

- SHAP dependence plots

- SHAP decision plots

pplonski86··on Show HN: Mljar Automated Machine Learning for Tabular Data (Explanation,AutoDoc)
Thank you! Yes, there is an automatic feature detection. Based on selected algorithm and feature type the preprocessing method is selected.
pplonski86··on Show HN: Mljar Automated Machine Learning for Tabular Data (Explanation,AutoDoc)
I'm also curious how does it compare! The package will be included in the newest comparison done by OpenML people https://github.com/openml/automlbenchmark

I have some old comparison of closed-source old system https://mljar.com/blog/automl-comparison/ but the open source version is much better and have more features.

pplonski86··on Show HN: Mljar Automated Machine Learning for Tabular Data (Explanation,AutoDoc)
The creator here. I'm working on AutoML since 2016. I think that latest release (0.7.15) of MLJAR AutoML is amazing. It has ton of fantastic features that I always want to have in AutoML:

- Operates in three modes: Explain, Perform, Compete.

- `Explain` is for data exploratory and checking the default performance (without HP tuning). It has Automatic Exploratory Data Analysis.

- `Perform` is for building production-ready models (HP tuning + ensembling).

- `Compete` is for solving ML competitions in limited time amount (HP tuning + ensembling + stacking).

- All ML experiments have automatic documentation which creates Markdown reports ready to commit to the repo (https://github.com/mljar/mljar-examples/tree/master/Income_c...).

- The package produces extensive explanations: decision tree visualization, feature importance, SHAP explanations, advanced metrics values.

- It has advanced feature engineering, like: Golden Features, Features Selection, Time and Text Transformations, Categoricals handling with target, label, or one-hot encodings.

pplonski86··on Show HN: Django and React SaaS boilerplate tutorial
I'm very biased towards Python. I'm working on AutoML tools (created MachineLearning-as-a-Service web-service and open-source AutoML Python package). That's why I'm using Django. In my opinion it is very powerfull. There are for sure many people looking for easy start in Django+React setup, that's why I started writing tutorials.
pplonski86··on Show HN: Django and React SaaS boilerplate tutorial
The tutorial is still under the development and I will update the User model logic for sure (for payments and teams features). The 'wild' overwrite of User model was minimal to set email as required field in User model.
pplonski86··on Show HN: Django and React SaaS boilerplate tutorial
I like the way redux divide the code into actions and reducer. In my opinion the application code is clear with redux.

Off the topic, I mainly write in Python. I started programming in C/C++. I very often miss header files from C/C++ during Python programming. In C++ header files you have the full interface definition and it was easy to understand the code. Somehow, the redux and C header files are for me similar (in the sense of clear code).

pplonski86··on Show HN: Django and React SaaS boilerplate tutorial
Yes, this boilerplate has two main goals: (1) it is a good starting point for developing the more advanced applications (2) it is provided for learning purposes, there are step-by-step instructions how the boilerplate was created. BTW, it is still under the development.

The boilerplate code runs with docker-compose on single server but in the future the frontend and backend can be easily divided, so separate teams can work on them.

← PreviousPage 7 of 13Next →