{"id":17570623,"url":"https://github.com/Protryon/klickhouse","last_synced_at":"2025-03-07T21:30:44.942Z","repository":{"id":44655892,"uuid":"371813600","full_name":"Protryon/klickhouse","owner":"Protryon","description":"Rust crate for accessing Clickhouse","archived":false,"fork":false,"pushed_at":"2025-02-25T09:53:54.000Z","size":498,"stargazers_count":103,"open_issues_count":15,"forks_count":24,"subscribers_count":6,"default_branch":"master","last_synced_at":"2025-03-03T11:27:04.954Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Rust","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Protryon.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE-APACHE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2021-05-28T20:38:59.000Z","updated_at":"2025-02-25T09:22:37.000Z","dependencies_parsed_at":"2023-02-10T06:25:16.327Z","dependency_job_id":"4bb44736-7ae5-4d2a-91d5-7acf5ee8ba0c","html_url":"https://github.com/Protryon/klickhouse","commit_stats":{"total_commits":65,"total_committers":3,"mean_commits":"21.666666666666668","dds":0.03076923076923077,"last_synced_commit":"2eb248646a9d6389628b8aac5d61ad4c92b3d1ec"},"previous_names":[],"tags_count":18,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Protryon%2Fklickhouse","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Protryon%2Fklickhouse/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Protryon%2Fklickhouse/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Protryon%2Fklickhouse/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Protryon","download_url":"https://codeload.github.com/Protryon/klickhouse/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":242467161,"owners_count":20133105,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-10-21T18:01:15.657Z","updated_at":"2025-03-07T21:30:44.612Z","avatar_url":"https://github.com/Protryon.png","language":"Rust","funding_links":[],"categories":["Language bindings"],"sub_categories":["Rust"],"readme":"# Klickhouse\n\nKlickhouse is a pure Rust SDK for working with [Clickhouse](https://clickhouse.tech/docs/en/) with the native protocol in async environments with minimal boilerplate and maximal performance.\n\n## Example Usage\n\nSee [example usage](https://github.com/Protryon/klickhouse/blob/master/klickhouse/examples/basic.rs).\n\n## Unsupported Features\n\n- Clickhouse `Enum8` and `Enum16` types -- use `LowCardinality` instead.\n\n## Running the tests\n\nA Clickhouse server is required to run the integration tests. One can be started easily in a Docker container:\n\n```sh\n$ docker run  --rm --name clickhouse -p 19000:9000 --ulimit nofile=262144:262144 clickhouse\n$ export KLICKHOUSE_TEST_ADDR=127.0.0.1:19000\n$ # export KLICKHOUSE_TEST_USER=default\n$ # export KLICKHOUSE_TEST_PASSWORD=default\n$ # export KLICKHOUSE_TEST_DATABASE=default\n$ cargo nextest run\n```\n\n(running the tests simultaneously with `cargo test` is currently not suported, due to loggers initializations.)\n\n## Feature flags\n\n- `derive`: Enable [klickhouse_derive], providing a derive macro for the [Row] trait. Default.\n- `compression`: `lz4` compression for client/server communication. Default.\n- `serde`: Derivation of [serde::Serialize] and [serde::Deserialize] on various objects, and JSON support. Default.\n- `tls`: TLS support via [tokio-rustls](https://crates.io/crates/tokio-rustls).\n- `refinery`: Migrations via [refinery](https://crates.io/crates/refinery).\n- `geo-types`: Conversion of geo types to/from the [geo-types](https://crates.io/crates/geo-types) crate.\n- `bb8`: Enables a `ConnectionManager` managed by bb8\n\n## Credit\n\n`klickhouse_derive` was made by copy/paste/simplify of `serde_derive` to get maximal functionality and performance at lowest time-cost. In a prototype, `serde` was directly used, but this was abandoned due to lock-in of `serde`'s data model.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FProtryon%2Fklickhouse","html_url":"https://awesome.ecosyste.ms/projects/github.com%2FProtryon%2Fklickhouse","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FProtryon%2Fklickhouse/lists"}