Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Epic] Python client implementation for Gravitino #2113

Open
10 of 16 tasks
xunliu opened this issue Feb 6, 2024 · 4 comments
Open
10 of 16 tasks

[Epic] Python client implementation for Gravitino #2113

xunliu opened this issue Feb 6, 2024 · 4 comments
Assignees
Labels
epic Key feature

Comments

@xunliu xunliu added the epic Key feature label Feb 6, 2024
@jerryshao jerryshao changed the title [Epic] Python client implementation for Graviton [Epic] Python client implementation for Gravitino Feb 6, 2024
@xunliu
Copy link
Member Author

xunliu commented Feb 6, 2024

hi @SophieTech88 , @FrankYang0529 and @Lanznx
Can you help me refine the Proposal design document ?

@xunliu xunliu self-assigned this Feb 6, 2024
@jerryshao
Copy link
Contributor

CC @coolderli FYI

@xunliu xunliu added this to the Gravitino 0.5.0 milestone Feb 19, 2024
xunliu pushed a commit that referenced this issue Apr 2, 2024
### What changes were proposed in this pull request?

<img width="982" alt="image"
src="https://github.com/datastrato/gravitino/assets/2016594/9005bd8e-b6cb-4af3-bd35-3067f90cb81d">

The more detailed introductions for the PR has been uploaded on the
[bilibili](https://www.bilibili.com/video/BV11i42197x3/?vd_source=b1397e6194e37e70828e961f41b7b9db),
please jump in there to get a quick view.

#2113

### Follow the below command

1. Install the python-client in your local machine, notice that version
of Python should be upper than 3.8.

```shell
$ cd clients/client-python
$ pip install -e .
$ pip install ipython (optional)
$ ipython (optional)
```

2. Run the Python terminal and happy coding.

```
In [1]: from gravitino import GravitinoClient
In [2]: client = GravitinoClient("http://localhost:8090")
In [3]: client.get_metalakes()
In [4]: metalake_demo = client.get_metalakes()[1]
In [5]: metalake_demo.catalog_hive.sales.customers.info()
```

I will follow next steps to refactor/implement the initial Python
Client, also heads up @Lanznx was the initial contributor for the Python
Client.

- [x] Remove `requests` since we are using really simple HTTP client to
communicate between `Python script` and `Gravitino`, the `http.client`
in Python3 is sufficient.
- [x] Add Unit test
- [ ] Add codes linter
- [ ] Provide an approach for uploading PyPI


### Why are the changes needed?
The motivation of the PR intend to introduce an interactivity and
exploratory user-experience between Python terminal and Gravitino
Server.

### Does this PR introduce _any_ user-facing change?
N/A

### How was this patch tested?
Unit tests will cover changes.

---------

Co-authored-by: Yongjie Zhao <[email protected]>
Co-authored-by: Shaofeng Shi <[email protected]>
yuqi1129 added a commit to yuqi1129/gravitino that referenced this issue Apr 3, 2024
@jerryshao jerryshao removed this from the Gravitino 0.5.0 milestone Apr 23, 2024
@jerryshao
Copy link
Contributor

@noidname01 if you're interested in Python part, can you please continue working on the missing parts in Python to be feature consistent with Java, like table-related APIs. Thanks a lot.

@noidname01
Copy link
Collaborator

@jerryshao Sure, but after the meeting with @xunliu, we think that it's better to continue client-python feature development after Java client refactor has finished.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
epic Key feature
Projects
None yet
Development

No branches or pull requests

3 participants