Python implementation of CeresDB client.

Overview

CeresDB Python Client

License CI OpenIssue PyPI Slack

Introduction

The python client for CeresDB.

CeresDB is a high-performance, distributed, schema-less, cloud native time-series database that can handle both time-series and analytics workloads.

Support features

  • Query
  • Write

An example is provided to show how to access CeresDB.

Installation

pip install ceresdb-client

Contributing

Any contribution is welcome!

Read our Contributing Guide and make your first contribution!

License

Under Apache License 2.0.

Community and support

  • Join the user group on Slack
  • Join the user group on WeChat WeChat QR code
  • Join the user group on DingTalk: 44602802
Comments
  • arm64 macOS wheel is broken

    arm64 macOS wheel is broken

    In [1]: from ceresdb_client import Client
    ---------------------------------------------------------------------------
    ImportError                               Traceback (most recent call last)
    Input In [1], in <cell line: 1>()
    ----> 1 from ceresdb_client import Client
    
    File ~/.pyenv/versions/3.10.4/envs/brm-api/lib/python3.10/site-packages/ceresdb_client/__init__.py:1, in <module>
    ----> 1 from .ceresdb_client import *
          3 __doc__ = ceresdb_client.__doc__
          4 if hasattr(ceresdb_client, "__all__"):
    
    ImportError: dlopen(/Users/messense/.pyenv/versions/3.10.4/envs/test/lib/python3.10/site-packages/ceresdb_client/ceresdb_client.abi3.so, 0x0002): symbol not found in flat namespace (_aes_hw_cbc_encrypt)
    

    symbol not found in flat namespace (_aes_hw_cbc_encrypt) looks like the same kind of issue as https://github.com/ray-project/ray/issues/14697, I think it might be caused by misconfiguration of grpc or boringssl when cross compiling from x86_64 macOS to arm64 macOS.

    bug 
    opened by messense 9
  • Support uploading package to pypi

    Support uploading package to pypi

    To deliver the sdk to users, We have to upload the package to pypi. What we should do:

    • Do the necessary application to pypi.
    • Build an automatic upload procedure.

    Maybe we should refer to some other famous python project.

    opened by ShiKaiWi 9
  • Support CI

    Support CI

    Thie project needs CI based on Github Actions to ensure the quality of development. And now about the CI what I can come up with is these jobs:

    And as for unit tests, now no unit test in this project has been provided and the test framework of the python project has not been decided yet so I suggest skipping the UT part in the CI for now.

    enhancement help wanted 
    opened by ShiKaiWi 4
  • Support python3.6

    Support python3.6

    Some users only have a python3.6 environment to run their application, but currently our client doesn't support python3.6 yet.

    Let's support python3.6 on a specific branch.

    opened by ShiKaiWi 1
  • build: fix building with protobuf

    build: fix building with protobuf

    Currently, the installation of protoc has blocked the compiling the python client on windows. After https://github.com/CeresDB/ceresdbproto/pull/32, the installation has been made automatically, that is to say, we don't need to do manual installation of protoc for windows.

    opened by ShiKaiWi 0
  • chore: fix release building with protobuf

    chore: fix release building with protobuf

    After #28, a new version of ceresdbproto has been adopted. However, a new dependency called protobuf has been introduced, leading to the failure of release. Let this pr fix it.

    opened by ShiKaiWi 0
  • chore: bump to 0.1.3

    chore: bump to 0.1.3

    Rationale for this change

    Bump to 0.1.3, mainly update the rust-client dependency.

    What changes are included in this PR?

    • update rust-client dependency.
    • bump version to 0.1.3.

    Are there any user-facing changes?

    None.

    How does this change test

    CI itself.

    opened by Rachelint 0
  • adapt to new version rust client.

    adapt to new version rust client.

    Rationale for this change

    Now, the rust client can only be used for ceresdb of standalone mode. We should modify it for serving ceresdb of cluster mode.

    What changes are included in this PR?

    • Update rust client dependency.
    • Update python client's correspoding part.

    Are there any user-facing changes?

    Users can now use client to access ceresdb of cluster mode.

    How does this change test

    CI itself.

    opened by Rachelint 0
  • chore: bump toolchain.

    chore: bump toolchain.

    Rationale for this change

    The toolchain's version is too old.

    What changes are included in this PR?

    update toolchain version.

    Are there any user-facing changes?

    None.

    How does this change test

    None.

    opened by Rachelint 0
  • docs: use absolute path for example link in README.md

    docs: use absolute path for example link in README.md

    The example link now is a relative path which leads to confuse when it is rendered on the pypi ceresdb-client page.

    And this PR change the link of it to absolute path so that the example file can be opened everywhere.

    opened by ShiKaiWi 0
Releases(v1.0.0)
  • v1.0.0(Mar 1, 2023)

    Overview

    • Adapted to the latest service protocol (the service protocol has been re-designed and will be stable in the future).
    • Support iterate over rows and columns.

    What's Changed

    • feat: adapt to latest rust client and bump version to 0.1.4 by @ShiKaiWi in https://github.com/CeresDB/ceresdb-client-py/pull/28
    • build: fix building with protobuf by @ShiKaiWi in https://github.com/CeresDB/ceresdb-client-py/pull/30
    • chore: add timeout in RpcContext by @ShiKaiWi in https://github.com/CeresDB/ceresdb-client-py/pull/31
    • feat: upgrade the rust client to latest by @ShiKaiWi in https://github.com/CeresDB/ceresdb-client-py/pull/32
    • build: remove unused cmake-rs patch by @messense in https://github.com/CeresDB/ceresdb-client-py/pull/34
    • feat: upgrade rust client for 1.0.0 release by @ShiKaiWi in https://github.com/CeresDB/ceresdb-client-py/pull/33

    Full Changelog: https://github.com/CeresDB/ceresdb-client-py/compare/v0.1.3...v1.0.0

    Source code(tar.gz)
    Source code(zip)
  • v0.1.3(Oct 20, 2022)

    Overview

    Some bugs are fixed:

    • Avoid throwing error while queried rows are empty. https://github.com/CeresDB/ceresdb-client-rs/pull/17

    What's Changed

    • chore: bump to 0.1.3 by @Rachelint in https://github.com/CeresDB/ceresdb-client-py/pull/25

    Full Changelog: https://github.com/CeresDB/ceresdb-client-py/compare/v0.1.2...v0.1.3

    Source code(tar.gz)
    Source code(zip)
  • v0.1.2(Sep 20, 2022)

    Overview

    Some new features are added by this version:

    • Support cross compiling for arm64 macOS #21
    • Update the rust core and support access to CeresDB cluster CeresDB/ceresdb-client-rs#14

    Thanks

    @messense

    What's Changed

    • docs: add PyPI badge and installation guide to readme by @messense in https://github.com/CeresDB/ceresdb-client-py/pull/19
    • fix: cmake cross compiling fix for arm64 macOS by @messense in https://github.com/CeresDB/ceresdb-client-py/pull/21
    • chore: bump toolchain. by @Rachelint in https://github.com/CeresDB/ceresdb-client-py/pull/22
    • adapt to new version rust client. by @Rachelint in https://github.com/CeresDB/ceresdb-client-py/pull/23

    Full Changelog: https://github.com/CeresDB/ceresdb-client-py/compare/v0.1.1...v0.1.2

    Source code(tar.gz)
    Source code(zip)
  • v0.1.1(Jul 25, 2022)

    Overview

    This is the first release version of the CeresDB python client providing basic features including Write/Query.

    Features

    Some important features in this version are:

    • Support query #1
    • Support write #5
    • Remove the large dependency common_types #6
    • Support affected rows in query response #7
    • Add python type stub #8
    • Provide query/write example #10

    Thanks

    @messense

    Source code(tar.gz)
    Source code(zip)
rinflux is Rust based influx client implementation that have been inspired from influx other language implementation, developed with 💖

Unofficial InfluxDB Driver for Rust This library is a work in progress. This means a feature you might need is not implemented yet or could be handled

Workfoxes 1 Apr 7, 2022
Affine-client is a client for AFFINE based on Tauri

Affine Client affine-client is a client for AFFINE based on Tauri Supported Platforms Windows Linux MacOS Download https://github.com/m1911star/affine

Horus 216 Dec 25, 2022
A firebase HTTP v1 client implementation in Rust using google-authz

firebase-client A firebase HTTP v1 client implementation in Rust using the google_authz library. Example There are two ways to send notifications, one

Mobiltracker 2 Dec 14, 2022
Incomplete Redis client and server implementation using Tokio - for learning purposes only

mini-redis mini-redis is an incomplete, idiomatic implementation of a Redis client and server built with Tokio. The intent of this project is to provi

Tokio 2.3k Jan 4, 2023
HTTP 2.0 client & server implementation for Rust.

H2 A Tokio aware, HTTP/2 client & server implementation for Rust. More information about this crate can be found in the crate documentation. Features

null 1.1k Dec 30, 2022
🦀 REST API client implementation for freee, auto-generated from OpenAPI specification.

freee-rs REST API client implementation for freee, auto-generated from OpenAPI specification. Getting Started Add to your Cargo.toml as follows: [depe

Naoki Ikeguchi 3 Jul 14, 2022
PickleDB-rs is a lightweight and simple key-value store. It is a Rust version for Python's PickleDB

PickleDB PickleDB is a lightweight and simple key-value store written in Rust, heavily inspired by Python's PickleDB PickleDB is fun and easy to use u

null 155 Jan 5, 2023
Cassandra DB native client written in Rust language. Find 1.x versions on https://github.com/AlexPikalov/cdrs/tree/v.1.x Looking for an async version? - Check WIP https://github.com/AlexPikalov/cdrs-async

CDRS CDRS is looking for maintainers CDRS is Apache Cassandra driver written in pure Rust. ?? Looking for an async version? async-std https://github.c

Alex Pikalov 338 Jan 1, 2023
CouchDB client-side library for the Rust programming language

Chill Chill is a client-side CouchDB library for the Rust programming language, available on crates.io. It targets Rust Stable. Chill's three chief de

null 35 Jun 26, 2022
A Rust client for the ElasticSearch REST API

rs-es Introduction An ElasticSearch client for Rust via the REST API. Targetting ElasticSearch 2.0 and higher. Other clients For later versions of Ela

Ben Ashford 218 Dec 27, 2022
An Elasticsearch REST API client for Rust

elastic elastic is an efficient, modular API client for Elasticsearch written in Rust. The API is targeting the Elastic Stack 7.x. elastic provides st

null 249 Oct 18, 2022
An etcd client library for Rust.

etcd An etcd client library for Rust. etcd on crates.io Documentation for the latest crates.io release Running the tests Install Docker and Docker Com

Jimmy Cuadra 138 Dec 27, 2022
A easy-use client to influxdb

InfluxDBClient-rs A easy-use client to influxdb Overview This is an InfluxDB driver for Rust. Status This project has been able to run properly, PR is

漂流 75 Jul 22, 2022
Mysql client library implemented in rust.

mysql This crate offers: MySql database driver in pure rust; connection pool. Features: macOS, Windows and Linux support; TLS support via nativetls cr

Anatoly I 548 Dec 31, 2022
Telegram bot API client for Rust

Frankenstein Telegram bot API client for Rust. It's a complete wrapper for Telegram bot API and it's up to date with version 5.2 of the API. Frankenst

Ayrat Badykov 136 Jan 1, 2023
Streaming STOMP client for Rust

tokio-stomp An async STOMP client (and maybe eventually, server) for Rust, using the Tokio stack. It aims to be fast and fully-featured with a simple

null 7 Jun 15, 2022
Official Skytable client driver for Rust

Skytable client Introduction This library is the official client for the free and open-source NoSQL database Skytable. First, go ahead and install Sky

Skytable 29 Nov 24, 2022
Official Rust client for Central Dogma

centraldogma-rs Official Rust Client for Central Dogma. Full documentation is available at https://docs.rs/centraldogma Getting started Installing Add

LINE 44 Oct 13, 2022
A minecraft-like multi version client implemented in Rust.

Leafish Multi-version Minecraft-compatible client written in Rust, forked from Stevenarella. Chat Chat takes place on Matrix and Discord. The channels

null 617 Dec 27, 2022