Title: clarify separation between rust code and python wrappers · Issue #779 · apache/datafusion-python · GitHub
Open Graph Title: clarify separation between rust code and python wrappers · Issue #779 · apache/datafusion-python
X Title: clarify separation between rust code and python wrappers · Issue #779 · apache/datafusion-python
Description: #750 added python wrappers instead of directly exposing pyo3 generated code. We should leverage that to clean up and improve the rust codebase by: Letting python wrappers handle any aliases. Letting python wrappers handle any argument de...
Open Graph Description: #750 added python wrappers instead of directly exposing pyo3 generated code. We should leverage that to clean up and improve the rust codebase by: Letting python wrappers handle any aliases. Lettin...
X Description: #750 added python wrappers instead of directly exposing pyo3 generated code. We should leverage that to clean up and improve the rust codebase by: Letting python wrappers handle any aliases. Lettin...
Opengraph URL: https://github.com/apache/datafusion-python/issues/779
X: @github
Domain: github.com
{"@context":"https://schema.org","@type":"DiscussionForumPosting","headline":"clarify separation between rust code and python wrappers","articleBody":"#750 added `python` wrappers instead of directly exposing `pyo3` generated code.\r\n\r\nWe should leverage that to clean up and improve the rust codebase by:\r\n\r\n1) Letting `python` wrappers handle any aliases.\r\n2) Letting `python` wrappers handle any argument defaults, removing `#[pyo3(signature(...))]` annotations from the Rust codebase\r\n\r\nAdditionally, we should provide guidance so that contributors understand the separation. \r\n\r\n@timsaucer [recommends](https://github.com/apache/datafusion-python/pull/771#discussion_r1693020654) the following guidelines (and I agree):\r\n\r\n\u003e I think it's worth adding some guidance about what to put in python vs what to put in rust for this repo. In my mind the things that should go into the python side are\r\n\u003e \r\n\u003e * Trivial aliases (this is a good example)\r\n\u003e * Simple type conversion, like path -\u003e string of the path or number to lit(number)\r\n\u003e * More complex type conversion if it makes sense to do in python. For example, in the named_struct where sending in a dictionary on the python side makes a lot more sense and isn't as simple to do via pyo3.\r\n\u003e \r\n\u003e And then I'd lean towards everything else sitting on the rust side.\r\n\u003e ","author":{"url":"https://github.com/Michael-J-Ward","@type":"Person","name":"Michael-J-Ward"},"datePublished":"2024-07-26T15:52:42.000Z","interactionStatistic":{"@type":"InteractionCounter","interactionType":"https://schema.org/CommentAction","userInteractionCount":0},"url":"https://github.com/779/datafusion-python/issues/779"}
| route-pattern | /_view_fragments/issues/show/:user_id/:repository/:id/issue_layout(.:format) |
| route-controller | voltron_issues_fragments |
| route-action | issue_layout |
| fetch-nonce | v2:a8c0c617-5118-6408-13ef-435a806066c0 |
| current-catalog-service-hash | 81bb79d38c15960b92d99bca9288a9108c7a47b18f2423d0f6438c5b7bcd2114 |
| request-id | AB68:209C5F:63C6ED7:87EC15C:69784F74 |
| html-safe-nonce | 525c5a3c8153b870a044d8546038bb0591b75b898c2a0f21aa05331053446cf3 |
| visitor-payload | eyJyZWZlcnJlciI6IiIsInJlcXVlc3RfaWQiOiJBQjY4OjIwOUM1Rjo2M0M2RUQ3Ojg3RUMxNUM6Njk3ODRGNzQiLCJ2aXNpdG9yX2lkIjoiNzA5NTEwMzY3MDU3OTY0NjMyNCIsInJlZ2lvbl9lZGdlIjoiaWFkIiwicmVnaW9uX3JlbmRlciI6ImlhZCJ9 |
| visitor-hmac | 2ca6c9ce2fd6d89858e32204d097a745f8686911225f273be90e04e29a2bf8e8 |
| hovercard-subject-tag | issue:2432516369 |
| github-keyboard-shortcuts | repository,issues,copilot |
| google-site-verification | Apib7-x98H0j5cPqHWwSMm6dNU4GmODRoqxLiDzdx9I |
| octolytics-url | https://collector.github.com/github/collect |
| analytics-location | / |
| fb:app_id | 1401488693436528 |
| apple-itunes-app | app-id=1477376905, app-argument=https://github.com/_view_fragments/issues/show/apache/datafusion-python/779/issue_layout |
| twitter:image | https://opengraph.githubassets.com/1ad928e5784162b6db913b56e358598506cd63bec1feb618e4038f353bcb6d97/apache/datafusion-python/issues/779 |
| twitter:card | summary_large_image |
| og:image | https://opengraph.githubassets.com/1ad928e5784162b6db913b56e358598506cd63bec1feb618e4038f353bcb6d97/apache/datafusion-python/issues/779 |
| og:image:alt | #750 added python wrappers instead of directly exposing pyo3 generated code. We should leverage that to clean up and improve the rust codebase by: Letting python wrappers handle any aliases. Lettin... |
| og:image:width | 1200 |
| og:image:height | 600 |
| og:site_name | GitHub |
| og:type | object |
| og:author:username | Michael-J-Ward |
| hostname | github.com |
| expected-hostname | github.com |
| None | 2981c597c945c1d90ac6fa355ce7929b2f413dfe7872ca5c435ee53a24a1de50 |
| turbo-cache-control | no-preview |
| go-import | github.com/apache/datafusion-python git https://github.com/apache/datafusion-python.git |
| octolytics-dimension-user_id | 47359 |
| octolytics-dimension-user_login | apache |
| octolytics-dimension-repository_id | 515951203 |
| octolytics-dimension-repository_nwo | apache/datafusion-python |
| octolytics-dimension-repository_public | true |
| octolytics-dimension-repository_is_fork | false |
| octolytics-dimension-repository_network_root_id | 515951203 |
| octolytics-dimension-repository_network_root_nwo | apache/datafusion-python |
| turbo-body-classes | logged-out env-production page-responsive |
| disable-turbo | false |
| browser-stats-url | https://api.github.com/_private/browser/stats |
| browser-errors-url | https://api.github.com/_private/browser/errors |
| release | 520b65a872113b919c1bbdb03834a50af15859fd |
| ui-target | full |
| theme-color | #1e2327 |
| color-scheme | light dark |
Links:
Viewport: width=device-width