brief-accountant-53906
04/15/2021, 1:50 PMsalmon-salesclerk-77709
04/15/2021, 1:58 PMblue-continent-72423
04/15/2021, 2:01 PMbrief-accountant-53906
04/15/2021, 2:08 PMsalmon-actor-23953
04/15/2021, 3:32 PMsinger-infer-schema
tool which you found (same tool as referenced in my comments to @blue-continent-72423).
To your concern about version conflicts, I highly recommend installing the singer-tools using pipx instead of pip, as that will completely eliminate version conflict issues. (Rule of thumb: I recommend installing any executable python libraries with pipx, which fits the case for singer-tools pacakage.)
The reason we have not moved quicker to add singer-infer-schema into the SDK is due to the fact that the infer-schema operation requires a full dataset in order to work, and the SCHEMA declaration must be sent to the target before any record messages are sent. (Also, the detection is not perfect as I’ve noted here.) Upshot is that auto-schema detection inline is likely not a realistic possibility any time in the near future. If you wouldn’t mind logging an issue for us here in the SDK issue tracker, it’s certainly an area we can try to streamline over time.
One more point is that you can actually use any tool to generate schema as long as it generates a valid JSON Schema (Draft 4) json definition. The PropertiesList
helper we built into the SDK essentially just streamlines the process of building the JSON Schema so you don’t have to write it by hand.
What do you think? Does this help?brief-accountant-53906
04/15/2021, 3:37 PMsalmon-actor-23953
04/15/2021, 3:55 PMpipx install singer-tools
, it will at least make those helper tools easily available for any of your projects:
ajsteers@ajs-macbook-pro ~ % pipx install singer-tools
installed package singer-tools 0.4.1, Python 3.8.7
These apps are now globally available
- diff-jsonl
- singer-check-tap
- singer-infer-schema
- singer-release
done! ✨ 🌟 ✨
brief-accountant-53906
04/15/2021, 4:00 PM