pitah1
Joined 4 years ago
Joined 4 years ago
[1] Tool for reference: https://github.com/data-catering/insta-infra
https://github.com/data-catering/insta-infra/blob/main/cmd/i...
insta-infra: https://github.com/data-catering/insta-infra
Would this be a simple lift and shift job to move to JReleaser (as it seems like it just uses jpackage behind the scenes)? With jpackage, if you want to create a Windows exe, it needs to be built on Windows. Similarly, build dmg on Mac and deb for Linux. Does Jreleaser also require this?
[1] https://docs.oracle.com/en/java/javase/22/docs/specs/man/jpa...
It also gives you the option of running other types of tests such as load/performance/stress testing via generating larger amounts of data.
Too many times I've become very frustrated when an installation doesn't work the first time or it has some dependencies that you haven't installed (or worse, you have a different version). Then you end up in some deep rabbit hole that you can't dig out from. Now for each tool I make, it must have a quick start with a single command.
As mentioned in the article, I think there is a lot of potential in this area for improvement. I've been working on a tool called Data Caterer (https://github.com/data-catering/data-caterer) which is a metadata-driven data generator that also can validate based on the generated data. Then you have full end-to-end testing using a single tool. There are also other metadata sources that can help drive these kinds of tools outside of using LLMs (i.e. data catalogs, data quality).
It felt hacky the whole time, especially when dependencies were involved. I had to create wrapper classes to work around Pydantic 2.x not being available to use. I tried to put all logic into the Python files but found some things missing that I had to put in JavaScript.
I think it could be good in use cases where you want some simple UI with custom UI logic on top of your Python code but maybe Streamlit or Gradio could be more suitable.
GitHub repo: https://github.com/data-catering/data-contract-playground
Website: https://data-catering.github.io/data-contract-playground/
./run.sh maestro
[1] https://github.com/data-catering/insta-infra