Skip to content

Commit

Permalink
doc: update README for release
Browse files Browse the repository at this point in the history
Signed-off-by: LingKa <[email protected]>
  • Loading branch information
LingKa28 committed Jan 22, 2024
1 parent 2dedc07 commit 893659b
Show file tree
Hide file tree
Showing 3 changed files with 102 additions and 4 deletions.
102 changes: 100 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,2 +1,100 @@
# py-xline
py-xline is an official xline client sdk, written in Python.
# pyxline

[![Apache 2.0 licensed][apache-badge]][apache-url]
[![codecov][cov-badge]][cov-url]

[apache-badge]: https://img.shields.io/badge/license-Apache--2.0-brightgreen
[apache-url]: https://github.com/datenlord/Xline/blob/master/LICENSE
[cov-badge]: https://codecov.io/gh/xline-kv/xline/branch/master/graph/badge.svg
[cov-url]: https://codecov.io/gh/xline-kv/go-xline

pyxline is an official xline client sdk, written in Python.

## Features

`pyxline` runs the CURP protocol on the client side for maximal performance.

## Supported APIs

- KV
- [x] Put
- [x] Range
- [x] Delete
- [x] Txn
- [x] Compact
- Auth
- [x] AuthEnable
- [x] AuthDisable
- [x] AuthStatus
- [x] Authenticate
- [x] UserAdd
- [x] UserAddWithOptions
- [x] UserGet
- [x] UserList
- [x] UserDelete
- [x] UserChangePassword
- [x] UserGrantRole
- [x] UserRevokeRole
- [x] RoleAdd
- [x] RoleGet
- [x] RoleList
- [x] RoleGrantPermission
- [x] RoleRevokePermission
- Lease
- [x] Grant
- [x] Revoke
- [x] KeepAlive
- [x] KeepAliveOnce
- [x] TimeToLive
- [x] Leases
- Watch
- [x] Watch
- Lock
- [x] Lock
- [x] Unlock
- Cluster
- [ ] MemberAdd
- [ ] MemberAddAsLearner
- [ ] MemberRemove
- [ ] MemberUpdate
- [ ] MemberList
- [ ] MemberPromote
- Maintenance
- [ ] Alarm
- [ ] Status
- [ ] Defragment
- [ ] Hash
- [x] Snapshot
- [ ] MoveLeader

## Installation

``` bash
pip install pyxline
```

## Quickstart

``` python
from pyxline import client

async def main():
curp_members = ["172.20.0.3:2379", "172.20.0.4:2379", "172.20.0.5:2379"]
cli = await client.Client.connect(curp_members)
kv_client = cli.kv_client

await kv_client.put(b"key", b"value")

res = await kv_client.range(b"key")

kv = res.kvs[0]
print(kv.key.decode(), kv.value.decode())
```

## Compatibility

We aim to maintain compatibility with each corresponding Xline version, and update this library with each new Xline release.

| go-xline | Xline |
| --- | --- |
| v0.1.0 | v0.6.1 |
2 changes: 1 addition & 1 deletion client/__about__.py
Original file line number Diff line number Diff line change
Expand Up @@ -4,4 +4,4 @@

"""Xline clients"""

__version__ = "0.0.1"
__version__ = "0.1.0"
2 changes: 1 addition & 1 deletion pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ requires = ["hatchling"]
build-backend = "hatchling.build"

[project]
name = "py-xline"
name = "pyxline"
dynamic = ["version"]
description = 'py-xline is an official xline client sdk, written in Python.'
readme = "README.md"
Expand Down

0 comments on commit 893659b

Please sign in to comment.