This is an automated email from the ASF dual-hosted git repository.
laiyingchun pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/incubator-pegasus-website.git
The following commit(s) were added to refs/heads/master by this push:
new b2762de0 Remove python2 docs (#32)
b2762de0 is described below
commit b2762de0c992fb9c59be069bd8ef5aa07a334ab0
Author: Yingchun Lai <[email protected]>
AuthorDate: Thu Nov 23 22:56:54 2023 +0800
Remove python2 docs (#32)
---
_data/docs_menu.yml | 6 +-
_data/en/translate.yml | 3 +-
_data/zh/translate.yml | 3 +-
_docs/zh/clients/clients.md | 2 +-
.../{python3-client.md => python-client.md} | 6 +-
_docs/zh/clients/python2-client.md | 465 ---------------------
6 files changed, 7 insertions(+), 478 deletions(-)
diff --git a/_data/docs_menu.yml b/_data/docs_menu.yml
index adffcdde..df4b4efa 100644
--- a/_data/docs_menu.yml
+++ b/_data/docs_menu.yml
@@ -16,10 +16,8 @@
link: /clients/cpp-client
- name: title_go-client
link: https://github.com/apache/incubator-pegasus/tree/master/go-client
- - name: title_python2-client
- link: /clients/python2-client
- - name: title_python3-client
- link: /clients/python3-client
+ - name: title_python-client
+ link: /clients/python-client
- name: title_node-client
link: /clients/node-client
- name: title_scala-client
diff --git a/_data/en/translate.yml b/_data/en/translate.yml
index c66258f6..abdab8df 100644
--- a/_data/en/translate.yml
+++ b/_data/en/translate.yml
@@ -34,8 +34,7 @@ title_shell: "Pegasus Shell"
title_java-client: "Java Client"
title_cpp-client: "C++ Client"
title_go-client: "Golang Client"
-title_python2-client: "Python2 Client"
-title_python3-client: "Python3 Client"
+title_python-client: "Python Client"
title_node-client: "NodeJS Client"
title_scala-client: "Scala Client"
title_clients: "Client Libs"
diff --git a/_data/zh/translate.yml b/_data/zh/translate.yml
index b0ac5386..f2aab23b 100644
--- a/_data/zh/translate.yml
+++ b/_data/zh/translate.yml
@@ -34,8 +34,7 @@ title_shell: "Pegasus Shell 工具"
title_java-client: "Java客户端"
title_cpp-client: "C++客户端"
title_go-client: "Golang客户端"
-title_python2-client: "Python2客户端"
-title_python3-client: "Python3客户端"
+title_python-client: "Python客户端"
title_node-client: "NodeJS客户端"
title_scala-client: "Scala客户端"
title_clients: "客户端库"
diff --git a/_docs/zh/clients/clients.md b/_docs/zh/clients/clients.md
index 729082fa..910246f4 100644
--- a/_docs/zh/clients/clients.md
+++ b/_docs/zh/clients/clients.md
@@ -8,5 +8,5 @@ Pegasus目前提供以下多种客户端支持:
| Java | <https://github.com/apache/incubator-pegasus/tree/master/java-client>
|
| Scala |
<https://github.com/apache/incubator-pegasus/tree/master/scala-client> |
| Go | <https://github.com/apache/incubator-pegasus/tree/master/go-client> |
-| Python3 |
<https://github.com/apache/incubator-pegasus/tree/master/python-client> |
+| Python |
<https://github.com/apache/incubator-pegasus/tree/master/python-client> |
| NodeJs |
<https://github.com/apache/incubator-pegasus/tree/master/nodejs-client> |
diff --git a/_docs/zh/clients/python3-client.md
b/_docs/zh/clients/python-client.md
similarity index 98%
rename from _docs/zh/clients/python3-client.md
rename to _docs/zh/clients/python-client.md
index 940fcb5a..adb378aa 100755
--- a/_docs/zh/clients/python3-client.md
+++ b/_docs/zh/clients/python-client.md
@@ -1,5 +1,5 @@
---
-permalink: clients/python3-client
+permalink: clients/python-client
---
# pegasus python client
@@ -18,9 +18,7 @@ Python 3.7+
## 使用
-pegasus python3 client 从 python2-client
改动而来,对原有的接口参数做了破坏性改动,由`str`改为`bytes`,并不再支持 python2 环境。
-
-其他使用方法与 python2 客户端无差异
+pegasus python client使用了[twisted](https://github.com/twisted/twisted),
编写的代码会带有twisted的影子。
### 示例
diff --git a/_docs/zh/clients/python2-client.md
b/_docs/zh/clients/python2-client.md
deleted file mode 100755
index a5941871..00000000
--- a/_docs/zh/clients/python2-client.md
+++ /dev/null
@@ -1,465 +0,0 @@
----
-permalink: clients/python2-client
----
-
-# pegasus python client
-
-## 项目地址
-
-<https://github.com/XiaoMi/pegasus-python-client>
-
-## 版本要求
-
-Python 2.*
-
-## 安装
-
-`pip install pypegasus`
-
-## 使用
-
-pegasus python client使用了[twisted](https://github.com/twisted/twisted),
编写的代码会带有twisted的影子。
-
-### 示例
-
-完整的示例请参考[sample](https://github.com/XiaoMi/pegasus-python-client/blob/master/sample.py)。以下是简单的示例:
-
-```
-#!/usr/bin/env python
-# coding:utf-8
-
-from pypegasus.pgclient import Pegasus
-
-from twisted.internet import reactor
-from twisted.internet.defer import inlineCallbacks
-
-
-@inlineCallbacks
-def basic_test():
- # init
- c = Pegasus(['127.0.0.1:34601', '127.0.0.1:34602'], 'temp')
-
- suc = yield c.init()
- if not suc:
- reactor.stop()
- print('ERROR: connect pegasus server failed')
- return
-
- # set
- try:
- ret = yield c.set('hkey1', 'skey1', 'value', 0, 500)
- print('set ret: ', ret)
- except Exception as e:
- print(e)
-
- # get
- ret = yield c.get('hkey1', 'skey1')
- print('get ret: ', ret)
-
- reactor.stop()
-
-
-if __name__ == "__main__":
- reactor.callWhenRunning(basic_test)
- reactor.run()
-```
-
-### log配置文件
-
-pegasus python
client使用了[logging](https://docs.python.org/2/library/logging.html)日志包,默认配置如下:
-
-```
-[loggers]
-keys=root
-[logger_root]
-level=INFO
-handlers=hand01
-propagate=0
-[handlers]
-keys=hand01
-[handler_hand01]
-class=handlers.RotatingFileHandler
-formatter=form01
-args=('pegasus.log', 'a', 100*1024*1024, 10)
-[formatters]
-keys=form01
-[formatter_form01]
-format=%(asctime)s [%(thread)d] [%(levelname)s] %(filename)s:%(lineno)d
%(message)s
-datefmt=%Y-%m-%d %H:%M:%S
-```
-
-如果用户有定制需求,可以在自己的代码目录添加配置文件`logger.conf`
-
-### API说明
-
-#### 初始化
-
-初始化先构造Pegasus对象,在使用init函数完成初始化:
-
-```
-class Pegasus(object):
- """
- Pegasus client class.
- """
-
- def __init__(self, meta_addrs=None, table_name='',
- timeout=DEFAULT_TIMEOUT):
- """
- :param meta_addrs: (list) pagasus meta servers list.
- example: ['127.0.0.1:34601', '127.0.0.1:34602',
'127.0.0.1:34603']
- :param table_name: (str) table name/app name used in pegasus.
- :param timeout: (int) default timeout in milliseconds when communicate
with meta sever and replica server.
- """
-```
-
-```
- def init(self):
- """
- Initialize the client before you can use it.
-
- :return: (DeferredList) True when initialized succeed, others when
failed.
- """
-```
-
-#### ttl
-
-判断key的剩余的ttl时间
-
-```
-def ttl(self, hash_key, sort_key, timeout=0):
- """
- Get ttl(time to live) of the data.
-
- :param hash_key: (str) which hash key used for this API.
- :param sort_key: (str) which sort key used for this API.
- :param timeout: (int) how long will the operation timeout in milliseconds.
- if timeout > 0, it is a timeout value for current
operation,
- else the timeout value specified to create the instance
will be used.
- :return: (tuple<error_types.code.value, int>) (code, ttl)
- code: error_types.ERR_OK.value when data exist,
error_types.ERR_OBJECT_NOT_FOUND.value when data not found.
- ttl: in seconds, -1 means forever.
- """
-```
-
-#### exist
-
-判断key是否存在
-
-```
-def exist(self, hash_key, sort_key, timeout=0):
- """
- Check value exist.
-
- :param hash_key: (str) which hash key used for this API.
- :param sort_key: (str) which sort key used for this API.
- :param timeout: (int) how long will the operation timeout in milliseconds.
- if timeout > 0, it is a timeout value for current
operation,
- else the timeout value specified to create the instance
will be used.
- :return: (tuple<error_types.code.value, None>) (code, ign)
- code: error_types.ERR_OK.value when data exist,
error_types.ERR_OBJECT_NOT_FOUND.value when data not found.
- ign: useless, should be ignored.
- """
-```
-
-#### set
-
-插入一条数据(若已存在则会覆盖)
-
-```
-def set(self, hash_key, sort_key, value, ttl=0, timeout=0):
- """
- Set value to be stored in <hash_key, sort_key>.
-
- :param hash_key: (str) which hash key used for this API.
- :param sort_key: (str) which sort key used for this API.
- :param value: (str) value to be stored under <hash_key, sort_key>.
- :param ttl: (int) ttl(time to live) in seconds of this data.
- :param timeout: (int) how long will the operation timeout in milliseconds.
- if timeout > 0, it is a timeout value for current
operation,
- else the timeout value specified to create the instance
will be used.
- :return: (tuple<error_types.code.value, None>) (code, ign)
- code: error_types.ERR_OK.value when data stored succeed.
- ign: useless, should be ignored.
- """
-```
-
-#### multi_set
-
-同时写一条hashkey的多条sortkey数据
-
-```
-def multi_set(self, hash_key, sortkey_value_dict, ttl=0, timeout=0):
- """
- Set multiple sort_keys-values under hash_key to be stored.
-
- :param hash_key: (str) which hash key used for this API.
- :param sortkey_value_dict: (dict) <sort_key, value> pairs in dict.
- :param ttl: (int) ttl(time to live) in seconds of these data.
- :param timeout: (int) how long will the operation timeout in milliseconds.
- if timeout > 0, it is a timeout value for current
operation,
- else the timeout value specified to create the instance
will be used.
- :return: (tuple<error_types.code.value, _>) (code, ign)
- code: error_types.ERR_OK.value when data stored succeed.
- ign: useless, should be ignored.
- """
-```
-
-#### get
-
-获取一条数据
-
-```
-def get(self, hash_key, sort_key, timeout=0):
- """
- Get value stored in <hash_key, sort_key>.
-
- :param hash_key: (str) which hash key used for this API.
- :param sort_key: (str) which sort key used for this API.
- :param timeout: (int) how long will the operation timeout in milliseconds.
- if timeout > 0, it is a timeout value for current
operation,
- else the timeout value specified to create the instance
will be used.
- :return: (tuple<error_types.code.value, str>) (code, value).
- code: error_types.ERR_OK.value when data got succeed,
error_types.ERR_OBJECT_NOT_FOUND.value when data not found.
- value: data stored in this <hash_key, sort_key>
- """
-```
-
-#### multi_get
-
-同时读一条hashkey的多条sortkey数据
-
-```
-def multi_get(self, hash_key,
- sortkey_set,
- max_kv_count=100,
- max_kv_size=1000000,
- no_value=False,
- timeout=0):
- """
- Get multiple values stored in <hash_key, sortkey> pairs.
-
- :param hash_key: (str) which hash key used for this API.
- :param sortkey_set: (set) sort keys in set.
- :param max_kv_count: (int) max count of k-v pairs to be fetched.
max_fetch_count <= 0 means no limit.
- :param max_kv_size: (int) max total data size of k-v pairs to be fetched.
max_fetch_size <= 0 means no limit.
- :param no_value: (bool) whether to fetch value of these keys.
- :param timeout: (int) how long will the operation timeout in milliseconds.
- if timeout > 0, it is a timeout value for current
operation,
- else the timeout value specified to create the instance
will be used.
- :return: (tuple<error_types.code.value, dict>) (code, kvs)
- code: error_types.ERR_OK.value when data got succeed.
- kvs: <sort_key, value> pairs in dict.
- """
-```
-
-#### multi_get_opt
-
-同时读一条hashkey的多条sortkey数据, 读取的数据根据`multi_get_options`参数指定的模式确定。
-
-```
-def multi_get_opt(self, hash_key,
- start_sort_key, stop_sort_key,
- multi_get_options,
- max_kv_count=100,
- max_kv_size=1000000,
- timeout=0):
- """
- Get multiple values stored in hash_key, and sort key range in
[start_sort_key, stop_sort_key) as default.
-
- :param hash_key: (str) which hash key used for this API.
- :param start_sort_key: (str) returned k-v pairs is start from
start_sort_key.
- :param stop_sort_key: (str) returned k-v pairs is stop at stop_sort_key.
- :param multi_get_options: (MultiGetOptions) configurable multi_get options.
- :param max_kv_count: (int) max count of k-v pairs to be fetched.
max_fetch_count <= 0 means no limit.
- :param max_kv_size: (int) max total data size of k-v pairs to be fetched.
max_fetch_size <= 0 means no limit.
- :param timeout: (int) how long will the operation timeout in milliseconds.
- if timeout > 0, it is a timeout value for current
operation,
- else the timeout value specified to create the instance
will be used.
- :return: (tuple<error_types.code.value, dict>) (code, kvs)
- code: error_types.ERR_OK.value when data got succeed.
- kvs: <sort_key, value> pairs in dict.
- """
-```
-
-其中,`MultiGetOptions`可以指定sortkey的范围、是否包含边界、子串匹配、是否返回value、是否逆序等,具体定义如下:
-
-```
-class MultiGetOptions(object):
- """
- configurable options for multi_get.
- """
-
- def __init__(self):
- self.start_inclusive = True
- self.stop_inclusive = False
- self.sortkey_filter_type = filter_type.FT_NO_FILTER
- self.sortkey_filter_pattern = ""
- self.no_value = False
- self.reverse = False
-
-class filter_type:
- FT_NO_FILTER = 0
- FT_MATCH_ANYWHERE = 1
- FT_MATCH_PREFIX = 2
- FT_MATCH_POSTFIX = 3
-```
-
-#### remove
-
-删除一条数据
-
-```
-def remove(self, hash_key, sort_key, timeout=0):
- """
- Remove the entire <hash_key, sort_key>-value in pegasus.
-
- :param hash_key: (str) which hash key used for this API.
- :param sort_key: (str) which sort key used for this API.
- :param timeout: (int) how long will the operation timeout in milliseconds.
- if timeout > 0, it is a timeout value for current
operation,
- else the timeout value specified to create the instance
will be used.
- :return: (tuple<error_types.code.value, None>) (code, ign)
- code: error_types.ERR_OK.value when data stored succeed.
- ign: useless, should be ignored.
- """
-```
-
-#### multi_del
-
-批量删除一个hashkey下的多条sortkey数据
-
-```
-def multi_del(self, hash_key, sortkey_set, timeout=0):
- """
- Remove multiple entire <hash_key, sort_key>-values in pegasus.
-
- :param hash_key: (str) which hash key used for this API.
- :param sortkey_set: (set) sort keys in set.
- :param timeout: (int) how long will the operation timeout in milliseconds.
- if timeout > 0, it is a timeout value for current
operation,
- else the timeout value specified to create the instance
will be used.
- :return: (tuple<error_types.code.value, int>) (code, count).
- code: error_types.ERR_OK.value when data got succeed.
- count: count of deleted k-v pairs.
- """
-```
-
-#### sort_key_count
-
-获取一个hashkey下的sortkey数量
-
-```
-def sort_key_count(self, hash_key, timeout=0):
- """
- Get the total sort key count under the hash_key.
-
- :param hash_key: (str) which hash key used for this API.
- :param timeout: (int) how long will the operation timeout in milliseconds.
- if timeout > 0, it is a timeout value for current
operation,
- else the timeout value specified to create the instance
will be used.
- :return: (tuple<error_types.code.value, count>) (code, count)
- code: error_types.ERR_OK.value when data got succeed,
error_types.ERR_OBJECT_NOT_FOUND.value when data not found.
- value: total sort key count under the hash_key.
- """
-```
-
-#### get_sort_keys
-
-获取一个hashkey下的sortkey值
-
-```
-def get_sort_keys(self, hash_key,
- max_kv_count=100,
- max_kv_size=1000000,
- timeout=0):
- """
- Get multiple sort keys under hash_key.
-
- :param hash_key: (str) which hash key used for this API.
- :param max_kv_count: (int) max count of k-v pairs to be fetched.
max_fetch_count <= 0 means no limit.
- :param max_kv_size: (int) max total data size of k-v pairs to be fetched.
max_fetch_size <= 0 means no limit.
- :param timeout: (int) how long will the operation timeout in milliseconds.
- if timeout > 0, it is a timeout value for current
operation,
- else the timeout value specified to create the instance
will be used.
- :return: (tuple<error_types.code.value, set>) (code, ks)
- code: error_types.ERR_OK.value when data got succeed.
- ks: <sort_key, ign> pairs in dict, ign will always be empty str.
- """
-```
-
-#### get_scanner
-
-获取scanner对象,用于指定范围的数据扫描。可以通过`scan_options`参数指定扫描的模式。
-
-```
-def get_scanner(self, hash_key,
- start_sort_key, stop_sort_key,
- scan_options):
- """
- Get scanner for hash_key, start from start_sort_key, and stop at
stop_sort_key.
- Whether the scanner include the start_sort_key and stop_sort_key is
configurable by scan_options
-
- :param hash_key: (str) which hash key used for this API.
- :param start_sort_key: (str) returned scanner is start from start_sort_key.
- :param stop_sort_key: (str) returned scanner is stop at stop_sort_key.
- :param scan_options: (ScanOptions) configurable scan options.
- :return: (PegasusScanner) scanner, instance of PegasusScanner.
- """
-```
-
-其中,`ScanOptions`可以指定是否包含边界、超时时间、一次从replica server批量获取的sortkey-value数量等,具体定义如下:
-
-```
-class ScanOptions(object):
- """
- configurable options for scan.
- """
-
- def __init__(self):
- self.timeout_millis = 5000
- self.batch_size = 1000
- self.start_inclusive = True
- self.stop_inclusive = False
- self.snapshot = None # for future use
-```
-
-#### get_unordered_scanners
-
-一次性获取多个scanner,用于整个table的数据扫描。可以通过`scan_options`参数指定扫描的模式。
-
-```
-def get_unordered_scanners(self, max_split_count, scan_options):
- """
- Get scanners for the whole pegasus table.
-
- :param max_split_count: (int) max count of scanners will be returned.
- :param scan_options: (ScanOptions) configurable scan options.
- :return: (list) instance of PegasusScanner list.
- each scanner in this list can scan separate part of the whole
pegasus table.
- """
-```
-
-#### scanner对象
-
-用于数据扫描的对象,由`get_scanner`和`get_unordered_scanners`返回。使用它的`next`函数执行扫描过程。
-
-```
-class PegasusScanner(object):
- """
- Pegasus scanner class, used for scanning data in pegasus table.
- """
-```
-
-#### get_next
-
-获取扫描得到的数据,需要循环执行,直到返回`None`结束扫描。
-
-```
-def get_next(self):
- """
- scan the next k-v pair for the scanner.
-
- :return: (tuple<tuple<hash_key, sort_key>, value> or None)
- all the sort_keys returned by this API are in ascend order.
- """
-```
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]