0

a few years ago I wrote a python script for reading CSV, handling the headers, filtering data, renaming stuff via RegEx...bascially to do various ETL stuff. This was done using a exhaustive configuration file that defined all the sources and all the targets. It worked quite fine - but the configuration was everything but intuitively.

I was now wondering what would be the best approach to get the same down using some kind of "visual configuration". First step would be to visualize the mapping between source and target columns and use a drag and drop approach with a visual representing of the mappings between two listboxes with mapping arrows.

I was thinking about using tkinter for that, but as far as I understand tkinter is not supported by web browsers and that would be another goal: Having an easy to deploy webapp.

So I thought about just HTML5 - but I have no idea if that would be the best approach and if it is possible to recycle the already existing python material and how to connect both parts (python logic + displaying in HTML5).

What would be your suggestion how to deal with that kind of situation - do you know of any projects where something similar was done?

Thanks a lot!

  • @gnat Thanks for your comment. Actually I asked if anyone knows any project where something similar was achieved to get an idea of a framework that could be used here. My question was not if it is possible to achieve this in general. Could you give me a hint what you want me to change in my question? – and0r Jan 14 at 19:01
  • That's tough because you start heading off into opinionated territory. Perhaps you should consider the WebApp frameworks, some of them do support drag-and-drop style functionality either directly or with plugins. – Kain0_0 Jan 15 at 5:23
  • While you could do almost everything using HTML5/CSS, an ETL is essentially a native application in every sense, including validation of files, reading files, etc. – NoChance Jun 16 at 23:05
0

According to your phrasing, the configuration itself is complex, so I can't see how you can transfer it "easily" to a GUI configuration management tool without effort. Especially, where this is a configuration for an automated tool, and it's probably being extended continuously.

My suggestion for you is to put your effort on your current configuration management tool, refactor it and transform your configuration file to a better format which then can be (maybe) visualized. (You didn't provide details about your configuration file itself, which is unfortunate)

As Kain0_0 said, it's an opinionated territory, and working your way from your python script to an HTML page result is cumbersome. You should use web frameworks (for Python), or you can use Jupyter Notebook and convert it to your preferred output. It really depends on your system's requirements.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.