Skip to content

Commit 4cc164e

Browse files
Merge pull request #1 from timeplus-io/handover
Handover
2 parents ddaae35 + c40b6c4 commit 4cc164e

File tree

9 files changed

+70
-130
lines changed

9 files changed

+70
-130
lines changed

CODEOWNERS

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
# SPDX-License-Identifier: MIT
1+
# SPDX-License-Identifier: Apache-2.0
22

33
# Lines starting with '#' are comments.
44
# Each line is a file pattern followed by one or more owners.
@@ -14,4 +14,4 @@
1414
# This should make it easy to add new rules without breaking existing ones.
1515

1616
# Global rule:
17-
# * @ADD_CODEOWNERS_HERE
17+
* @marvin-hansen @jovezhong

CONTRIBUTING.md

Lines changed: 1 addition & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -4,16 +4,6 @@
44

55
# Contributing
66

7-
Proton is an open project, and you can contribute to it in many ways. You can help with ideas, code, or documentation. We appreciate any efforts that help us to make the project better. If you are looking for issues to work on, try looking at [the issue list](https://github.com/timeplus-io/proton/issues).
7+
Proton is an open project, and you can contribute to it in many ways. This is the Rust client for Proton. You can help with ideas, code, or documentation. We appreciate any efforts that help us to make the project better.
88

99
Thank you!
10-
11-
## Legal Info
12-
13-
When you open your first pull-request to Proton repo, a bot will invite you to accept Proton Individual CLA (Contributor License Agreement). It is a simple few click process. For subsequent pull-requests the bot will check if you have already signed it and won't bother you again.
14-
15-
## Technical Info
16-
17-
Please follow the Proton code convention (TODO) and [Clickhouse coding style](https://clickhouse.com/docs/en/development/style) and write unit test / integration testing (TODO). See [build from source](BUILD.md) for how to compile Proton in different platforms. Besides this guide, you can find [Overview of Proton Architecture](https://docs.timeplus.com/proton-architecture)
18-
19-
If you want to contribute to documentation, please submit PR to https://github.com/timeplus-io/docs.

Cargo.toml

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -6,12 +6,12 @@ rust-version = "1.65"
66
readme = "README.md"
77
license = "Apache-2.0"
88

9-
authors = ["Marvin Hansen <marvin.hansen@gmail.com>", ]
10-
description = "Client for the Proton / TimePlus SQL streaming engine"
9+
authors = ["Marvin Hansen <marvin.hansen@gmail.com>"]
10+
description = "Client for Timeplus Proton, a streaming SQL engine"
1111
documentation = "https://docs.rs/proton_client"
1212
homepage = "https://github.com/timeplus-io/proton-rust-client"
1313
repository = "https://github.com/timeplus-io/proton-rust-client"
14-
keywords = ["proton", "timeplus", "streaming", "database", "timeseries"]
14+
keywords = ["proton", "timeplus", "streaming", "sql", "database", "timeseries"]
1515

1616
[lib]
1717
name = "proton_client"
@@ -35,10 +35,10 @@ path = "examples/remove/main.rs"
3535

3636
[dependencies]
3737
clickhouse = { version = "0.11", features = ["watch"] }
38-
clickhouse-derive = { version = "0.1"}
38+
clickhouse-derive = { version = "0.1" }
3939
tokio = { version = "1", features = ["rt-multi-thread", "macros"] }
4040
serde = { version = "1.0.196", features = ["derive"] }
4141

4242

4343
[dev-dependencies]
44-
clickhouse = { version = "0.11", features = ["test-util"] }
44+
clickhouse = { version = "0.11", features = ["test-util"] }

Handover.md

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -2,11 +2,11 @@
22
[//]: # (SPDX-License-Identifier: Apache-2.0)
33
[//]: # (---)
44

5-
# Handover
5+
# Handover
66

77
Suggested steps to do after the repo transfer:
88

9-
## Add the active maintainer
9+
## Add the active maintainer
1010

1111
Add the new / active maintainer to the following files: MAINTAINERS.md, CODEOWNERS, and CONTRIBUTING.md.
1212

@@ -16,7 +16,7 @@ Add the new / active maintainer to the following files: MAINTAINERS.md, CODEOWNE
1616

1717
## Verify CI / Github actions:
1818

19-
Currently, all GH actions trigger on pull request, unless stated otherwise, assuming[ branch protection is in place](https://docs.github.com/en/repositories/configuring-branches-and-merges-in-your-repository/managing-protected-branches/about-protected-branches) (as it should).
19+
Currently, all GH actions trigger on pull request, unless stated otherwise, assuming[ branch protection is in place](https://docs.github.com/en/repositories/configuring-branches-and-merges-in-your-repository/managing-protected-branches/about-protected-branches) (as it should).
2020

2121
The following GH actions are pre-configured:
2222

@@ -37,8 +37,8 @@ Rust packages are published to the crates.io registry. To do so, the following s
3737
1) Ensure all changes are comited and pushed to origin. This is important otherwise publish will abort.
3838
2) Verify the pre-defined meta data in Cargo.toml. Repo & homepage is already set to https://github.com/timeplus-io/proton-rust-client
3939
3) Create a free account on https://crates.io/
40-
4) Create an API token in the dashboard
41-
5) Login locally, from a terminal: ```cargo login``` Then at the prompt put in the token specified.
40+
4) Create an API token on https://crates.io/settings/tokens
41+
5) Login locally, from a terminal: ```cargo login``` Then at the prompt put in the token specified.
4242
6) Conduct a dry run to see if everything is correct: ```cargo publish --dry-run```
4343
7) When the dry run completes without error, publish the first version: ```cargo publish```
4444

@@ -48,9 +48,9 @@ https://doc.rust-lang.org/cargo/reference/publishing.html
4848

4949
## Enable auto-release
5050

51-
The conventional Rust release process requires a fair amount of manual steps, such as bumping up version number,
51+
The conventional Rust release process requires a fair amount of manual steps, such as bumping up version number,
5252
adding new git tags, generating changelog, publishing to crates.io etc. For full automation, the release-plz system
53-
has already been pre-configured.
53+
has already been pre-configured.
5454

5555
Release-plz automates your release process:
5656

@@ -64,15 +64,15 @@ Release-plz updates your packages with a release Pull Request based on:
6464
* API breaking changes (detected by cargo-semver-checks).
6565

6666
To enable the release-plz, edit the rust-release file in .github/workflows, uncomment the release-plz section,
67-
and add your crates.io API token as a Github secret.
67+
and add your crates.io API token as a Github secret.
6868

6969
Once the release-plz is enabled, every push to main is added to a generated release PR. When the release PR
70-
is merged, a new Github release is generated fully automatically, a new version is
70+
is merged, a new Github release is generated fully automatically, a new version is
7171
published to the cargo registry, and the documentation is uploaded to rustdocs.org.
7272

7373
For details on how to configure release-plz, consult the documentation:
7474
https://github.com/MarcoIeni/release-plz
7575

7676
For details of how to add a GH secret, see the official GH documentation:
7777

78-
https://docs.github.com/en/actions/security-guides/using-secrets-in-github-actions
78+
https://docs.github.com/en/actions/security-guides/using-secrets-in-github-actions

LICENSE

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -186,7 +186,7 @@
186186
same "printed page" as the copyright notice for easier
187187
identification within third-party archives.
188188

189-
Copyright 2016-2022 ClickHouse, Inc.
189+
Copyright 2021-2024 Timeplus, Inc.
190190

191191
Licensed under the Apache License, Version 2.0 (the "License");
192192
you may not use this file except in compliance with the License.

MAINTAINERS.md

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -10,11 +10,12 @@ Maintainers (sorted alphabetically)
1010
---------------------------------------
1111
Maintainers are actively supporting the project and have made substantial contributions to the repository. They have admin access to the repo and provide support reviewing issues and pull requests.
1212

13-
-
13+
- [marvin-hansen](https://github.com/marvin-hansen) Marvin Hansen: Wrote the initial version of the client up to version 0.1.0.
14+
- [jovezhong](https://github.com/jovezhong) Jove Zhong: Work with Marvin to maintain this client under [Timeplus GitHub Org](https://github.com/timeplus-io).
1415

1516
Contributors (sorted alphabetically)
1617
-------------------------------------
1718

18-
- [marvin-hansen](https://github.com/marvin-hansen) Marvin Hansen: Wrote the initial version of the client up to version 0.1.0.
19+
-
1920

20-
To contributors: please add your name to the list when you submit a patch to the project.
21+
To contributors: please add your name to the list when you submit a patch to the project.

README.md

Lines changed: 28 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -2,30 +2,38 @@
22
[//]: # (SPDX-License-Identifier: Apache-2.0)
33
[//]: # (---)
44

5-
# Rust Client for Proton SQL Streaming Engine
6-
7-
Rust client for [Proton / TimePlus]([url](https://www.timeplus.com/)https://www.timeplus.com/).
5+
# Rust Client for Proton
6+
7+
Rust client for [Timeplus Proton](https://github.com/timeplus-io/proton).
88

99
Proton is a streaming SQL engine, a fast and lightweight alternative to Apache Flink, 🚀 powered by ClickHouse. It enables developers to solve streaming data processing, routing and analytics challenges from Apache Kafka, Redpanda and more sources, and send aggregated data to the downstream systems. Proton is the core engine of [Timeplus](https://timeplus.com), which is a cloud native streaming analytics platform.
1010

11+
The initial version(0.1.0) of the client was written by [Marvin Hansen](https://github.com/marvin-hansen). Thanks for the contribution.
1112

12-
## Install proton
13+
This client uses https://crates.io/crates/clickhouse as a dependency.
1314

14-
```
15-
brew install proton
16-
```
15+
## Install Proton
16+
17+
### As a single binary
1718

18-
1. Start the Proton server:
19-
$ proton server start
19+
On Linux or Mac, you can install it via `curl https://install.timeplus.com | sh`
2020

21-
2. In a separate terminal, connect to the server:
22-
$ proton client
23-
(Note: If you encounter a 'connection refused' error, use: proton client --host 127.0.0.1)
21+
On Mac, you can also install it via `brew install proton`
2422

25-
3. To terminate the server, press ctrl+c in the server terminal.
23+
After you get the `proton` binary, you can start the Proton server via `proton server start`
2624

27-
For detailed usage and more information, check out the Timeplus documentation:
28-
https://docs.timeplus.com/
25+
In a separate terminal, connect to the server via `proton client` (Note: If you encounter a 'connection refused' error, use: proton client --host 127.0.0.1)
26+
27+
### As a Docker container
28+
29+
```bash
30+
docker run -d --pull always --name proton ghcr.io/timeplus-io/proton:latest
31+
```
32+
33+
Proton is automatically started. Open the terminal of the container, and run `proton client`
34+
35+
36+
For detailed usage and more information, check out the documentation: https://docs.timeplus.com/proton
2937

3038

3139
## Install ProtonClient
@@ -34,7 +42,7 @@ Add the following to your Cargo.toml:
3442

3543
```
3644
[dependencies]
37-
proton_client = { git = "https://github.com/marvin-hansen/proton-rust-client.git" }
45+
proton_client = { git = "https://github.com/timeplus-io/proton-rust-client.git" }
3846
```
3947

4048
[//]: # (AFTER the release of the package on crates.io)
@@ -87,29 +95,25 @@ async fn main() -> Result<()> {
8795

8896
## What's next?
8997

90-
To see more examples of using Proton, check out the [examples](examples) folder.
98+
To see more examples of using Proton, check out the [examples](https://github.com/timeplus-io/proton/tree/develop/examples) folder in Proton repo.
9199

92-
Check out the proton [documentation on the SQL Query syntax](https://docs.timeplus.com/query-syntax).
100+
Please note, by default the SQL queries are in streaming mode. Learn more about SQL syntax at [Proton Documentation](https://docs.timeplus.com/query-syntax).
93101

94102

95103
## Documentation
96104

97105
You find the full documentation for Proton at [docs.timeplus.com](https://docs.timeplus.com/proton) alongside documentation for the Timeplus (Cloud and BYOC) platform.
98106

99-
We also have a [FAQ](https://docs.timeplus.com/proton-faq/) for detailing how we chose Apache License 2.0, how Proton is related to ClickHouse, what features are available in Proton versus Timeplus, and more.
100-
101-
102107
## Contributing
103108

104-
We welcome your contributions! If you are looking for issues to work on, try looking at [the issue list](FIXLINK).
109+
We welcome your contributions!
105110

106111
## Need help?
107112

108113
Join our [Timeplus Community Slack](https://timeplus.com/slack) to connect with Timeplus engineers and other Proton users.
109114

110-
For filing bugs, suggesting improvements, or requesting new features, see the [open issues](FIXLINK) here on GitHub.
115+
For filing bugs, suggesting improvements, or requesting new features, see the [open issues](https://github.com/timeplus-io/proton-rust-client/issues) here on GitHub.
111116

112117
## Licensing
113118

114119
Proton Rust Client uses Apache License 2.0. See details in the [LICENSE](LICENSE).
115-

SECURITY.md

Lines changed: 0 additions & 59 deletions
This file was deleted.

examples/README_EXAMPLES.md

Lines changed: 19 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -1,25 +1,30 @@
11

22

3-
# Examples for Rust Client for Proton
4-
3+
# Examples for Rust Client for Proton
54

6-
## Install proton
75

8-
```
9-
brew install proton
10-
```
6+
## Install Proton
7+
8+
### As a single binary
9+
10+
On Linux or Mac, you can install it via `curl https://install.timeplus.com | sh`
11+
12+
On Mac, you can also install it via `brew install proton`
1113

12-
1. Start the Proton server:
13-
$ proton server start
14+
After you get the `proton` binary, you can start the Proton server via `proton server start`
1415

15-
2. In a separate terminal, connect to the server:
16-
$ proton client
17-
(Note: If you encounter a 'connection refused' error, use: proton client --host 127.0.0.1)
16+
In a separate terminal, connect to the server via `proton client` (Note: If you encounter a 'connection refused' error, use: proton client --host 127.0.0.1)
1817

19-
3. To terminate the server, press ctrl+c in the server terminal.
18+
### As a Docker container
19+
20+
```bash
21+
docker run -d --pull always --name proton ghcr.io/timeplus-io/proton:latest
22+
```
23+
24+
Proton is automatically started. Open the terminal of the container, and run `proton client`
2025

21-
For detailed usage and more information, check out the Timeplus documentation:
22-
https://docs.timeplus.com/
26+
27+
For detailed usage and more information, check out the documentation: https://docs.timeplus.com/proton
2328

2429

2530
## Install ProtonClient
@@ -123,4 +128,3 @@ Expected output
123128
[prepare]: Delete Stream
124129
[prepare]: Stop
125130
```
126-

0 commit comments

Comments
 (0)