Comments (2)
Hey @reidlai!
Nothing as concrete as a roadmap but some folks in the community and myself have done interesting PoCs for Rust-based connectors.
See for example:
In the first example, there's even a toy target published to PyPI thanks to Maturin1 so it's something you could already add to Meltano! (Taking a personal note to add an example of that to the README).
That said, the main takeaways from those PoCs are:
- IO is slightly more performant, perhaps in large part because we're deserializing into an struct. The singer-sdk is surely leaving some performance on the table in that regard. See meltano/sdk#1784.
- Rust and Python are miles apart in terms of beginner friendliness, so it's unclear how much the community could participate in creating novel connectors.
- The point above makes me think that one interesting approach would be to write the most demanded targets and mappers in Rust with CLIs published to PyPI.
I'm curious what you think of that, and whether you have expectations of what part Rust would play in Meltano plugins.
Footnotes
-
Build and publish crates with pyo3, rust-cpython, cffi and uniffi bindings as well as rust binaries as python packages with minimal configuration. https://github.com/pyo3/maturin. ↩
from meltano.
Actually python is not efficient compared with rust. I know that I can use rust to create tap and target using rust...but I can foresee if we can use rust to build custom mapping and transformation, meltano can run very fast without GC
from meltano.
Related Issues (20)
- Replace use of flakeheaven with Ruff for flake8-errmsg
- docs: 404 on `/concepts/plugins/project` HOT 1
- Replace use of flakeheaven with Ruff for flake8-print
- Replace use of flakeheaven with Ruff for flake8-return
- feature: Capture run ID HOT 7
- Ruff: Enable flake8-pie, flake8-quotes and flake8-debugger
- feature: Make `pip` an explicit dependency of Meltano HOT 1
- bug: public discovery.yml is throwing 404 HOT 12
- bug: Environment variables are not passed from `.env` to the `pip install ...` subprocess
- Missing dependency wheels tracker
- feature: Make installation progress messages use logging instead of `click.echo` HOT 2
- bug: SingerMapper sets mapping configuration provided from env to null HOT 3
- bug: mysql-tap test returns Plugin configuration is invalid HOT 3
- feature: Add a `--run-id` option to `meltano el` similar to the one in `meltano run`
- bug: `meltano config <extractor> test` fails for SDK-based taps configured to use `BATCH` messages
- bug: Output of `meltano select <extractor> --list` is **visually** inconsistent between different Python 3.8-3.10 and 3.11+
- bug: Known upstream uv issues
- bug: Partial state causes failure when using a filesystem-based state backend
- bug: documentation for configuring plug-in python version HOT 1
- bug: Docs search broken HOT 2
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from meltano.