A collection of toolkit lib for distributed system development in python
Project description
Table of Content
Name
pykit: A collection of python libs those are used in project s2: Storage-Service at baishancloud.com
Status
This library is in beta phase.
It has been used heavily in our object storage service, as a foundamental library of our devops platform.
Description
Module List
There is a README.md for each module.
| name | description |
|---|---|
| argchecker | Validates arguments against the schema |
| aws | AWS error codes and so on |
| awssign | Sign a request by using aws signature version 4 |
| cacheable | Cache data which access frequently |
| cachepool | Reusable object cache in process |
| cgrouparch | Build cgroup directory tree, add set cgroup pid |
| cluster | Some helper function for the server in a cluster |
| csvutil | Utility functions for CSV file loading and conversion |
| daemonize | Start, stop or restart a daemon process |
| dictutil | Dictionary helper utility |
| ectypes | Utility functions for the server |
| etcd | etcd client |
| fsutil | File-system Utilities |
| heap | Min heap |
| http | HTTP/1.1 client |
| humannum | Convert number to human readable number string |
| jobq | Process serial of input elements with several functions concurrently and sequentially |
| jobscheduler | Run jobs at certain time |
| logcollector | Collect logs of interest locally |
| logutil | Utility functions to create logger or make log message |
| mime | Utility functions to handle mime type |
| modutil | Submodule Utilities |
| mysqlconnpool | Mysql connection pool with MySQLdb in python |
| mysqlutil | Mysql related datatype, operations |
| net | Network utility |
| portlock | cross process lock |
| priorityqueue | Priority queue |
| proc | Utility to create sub process |
| rangeset | Segmented range. |
| ratelimiter | rate limiter |
| redisutil | For using redis more easily. |
| shell | Set different command arguments to execute different functions |
| strutil | A collection of helper functions used to manipulate string |
| threadutil | Utility functions for better management of threads |
| timeutil | Support specify time format output and get current ts, ms, us api etc |
| utfjson | Force json.dump and json.load in utf-8 encoding |
| utfyaml | Force yaml.dump and yaml.load in utf-8 encoding |
| wsjobd | Job daemon based on websocket protocol |
| zktx | Transaction implementation on Zookeeper |
| zkutil | Utility functions for zookeeper |
Module dependency
Install
Just clone it and copy it into your project source folder.
cd your_project_folder
git clone https://github.com/baishancloud/pykit.git
Usage
from pykit import jobq
def add1(args):
return args + 1
def printarg(args):
print args
jobq.run([0, 1, 2], [add1, printarg])
# > 1
# > 2
# > 3
Configuration
See config.md
Test
Run one of following to test all, a module, a TestCase or a function.
./script/t
./script/t zkutil
./script/t zkutil.test
./script/t zkutil.test.test_zkutil
./script/t zkutil.test.test_zkutil.TestZKUtil
./script/t zkutil.test.test_zkutil.TestZKUtil.test_lock_id
See Details
For developer
There are several scripts for developers. See script.
Author
Zhang Yanpo (张炎泼) drdr.xp@gmail.com
Copyright and License
The MIT License (MIT)
Copyright (c) 2015 Zhang Yanpo (张炎泼) drdr.xp@gmail.com
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file pykit-bsc-s2-1.0.1.tar.gz.
File metadata
- Download URL: pykit-bsc-s2-1.0.1.tar.gz
- Upload date:
- Size: 226.6 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
e1f0fe3a886a2ea7cdd97cf7d2e99ab86f927ab0be99eff1343de285b85035ec
|
|
| MD5 |
005dc5ceecaf8622a6ce8a3dc79feab0
|
|
| BLAKE2b-256 |
b53b1f265f14dd9f43ed73910129d7c39a26826ee64354cb90524aa7dfb048a6
|
File details
Details for the file pykit_bsc_s2-1.0.1-py2-none-any.whl.
File metadata
- Download URL: pykit_bsc_s2-1.0.1-py2-none-any.whl
- Upload date:
- Size: 309.6 kB
- Tags: Python 2
- Uploaded using Trusted Publishing? No
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
3cb5b38e1e0788229ecc709b760d29c40aa047e57322908956e1224830281859
|
|
| MD5 |
17a4eefa0c4dbce9458b26382bb4c50b
|
|
| BLAKE2b-256 |
d4e2aeb762148e75200c361caf086bfc58b1e783ea225d37a583ef699afdd958
|