[Feature Request]: Expose pvalue.Row in core.py rather than pvalue.py
What would you like to happen?
It's semantically confusing that Row is defined in pvalue.py. pvalues are abstract representations of data while Rows are actually concretely instantiated.
It might make more sense to put it in core.py? (with a lingering alias in pvalue.py for backwards compatibility)
Issue Priority
Priority: 2 (default / most feature requests should be filed as P2)
Issue Components
- [x] Component: Python SDK
- [ ] Component: Java SDK
- [ ] Component: Go SDK
- [ ] Component: Typescript SDK
- [ ] Component: IO connector
- [ ] Component: Beam YAML
- [ ] Component: Beam examples
- [ ] Component: Beam playground
- [ ] Component: Beam katas
- [ ] Component: Website
- [ ] Component: Infrastructure
- [ ] Component: Spark Runner
- [ ] Component: Flink Runner
- [ ] Component: Samza Runner
- [ ] Component: Twister2 Runner
- [ ] Component: Hazelcast Jet Runner
- [ ] Component: Google Cloud Dataflow Runner
This issue has been marked as stale due to 150 days of inactivity. It will be closed in 30 days if no further activity occurs. If you think that’s incorrect or this issue still needs to be addressed, please simply write any comment. If closed, you can reopen the issue at any time. Thank you for your contributions.
This issue has been closed due to lack of activity. If you think that is incorrect, you can reopen the issue at any time.
Hi @hjtran ! I'd like to work on this issue as my first contribution to Apache Beam.
I read through the ticket and took a quick look at the current implementation. I agree with the reasoning here — 'pvalue.py' mostly contains abstractions around pipeline values, while Row is a concrete, user-facing structure, so its placement does feel a bit out of place. Moving it into 'core.py' with a compatibility alias in 'pvalue.py' seems like the right general direction.
At a first glance, this looks doable, but I want to spend some time going through the code layout and imports properly before making any changes, just to make sure nothing unexpected breaks.
Let me know if there’s anything specific I should keep in mind as I dive deeper into it. Thanks!
.take-issue