{ "info": { "author": "Zhang Yanpo", "author_email": "drdr.xp@gmail.com", "bugtrack_url": null, "classifiers": [ "License :: OSI Approved :: MIT License", "Operating System :: OS Independent", "Programming Language :: Python :: 2.7" ], "description": "\n\n# Table of Content\n\n- [Name](#name)\n- [Status](#status)\n- [Description](#description)\n - [Module List](#module-list)\n- [Install](#install)\n- [Usage](#usage)\n- [Configuration](#configuration)\n - [Supported config](#supported-config)\n- [Test](#test)\n- [For developer](#for-developer)\n - [Config](#config)\n - [How it works](#how-it-works)\n - [How to use](#how-to-use)\n- [Author](#author)\n- [Copyright and License](#copyright-and-license)\n\n\n\n\n\n# Name\n\npykit:\nA collection of python libs those are used in project s2: Storage-Service at\nbaishancloud.com\n\n# Status\n\nThis library is in beta phase.\n\nIt has been used heavily in our object storage service, as a foundamental\nlibrary of our devops platform.\n\n# Description\n\n## Module List\n\nThere is a `README.md` for each module.\n\n| name | description |\n| :-- | :-- |\n| [argchecker](argchecker) | Validates arguments against the schema |\n| [aws](aws) | AWS error codes and so on |\n| [awssign](awssign) | Sign a request by using aws signature version 4 |\n| [cacheable](cacheable) | Cache data which access frequently |\n| [cachepool](cachepool) | Reusable object cache in process |\n| [cgrouparch](cgrouparch) | Build cgroup directory tree, add set cgroup pid |\n| [cluster](cluster) | Some helper function for the server in a cluster |\n| [csvutil](csvutil) | Utility functions for CSV file loading and conversion |\n| [daemonize](daemonize) | Start, stop or restart a daemon process |\n| [dictutil](dictutil) | Dictionary helper utility |\n| [ectypes](ectypes) | Utility functions for the server |\n| [etcd](etcd) | etcd client |\n| [fsutil](fsutil) | File-system Utilities |\n| [heap](heap) | Min heap |\n| [http](http) | HTTP/1.1 client |\n| [humannum](humannum) | Convert number to human readable number string |\n| [jobq](jobq) | Process serial of input elements with several functions concurrently and sequentially |\n| [jobscheduler](jobscheduler) | Run jobs at certain time |\n| [logcollector](logcollector) | Collect logs of interest locally |\n| [logutil](logutil) | Utility functions to create logger or make log message |\n| [mime](mime) | Utility functions to handle mime type |\n| [modutil](modutil) | Submodule Utilities |\n| [mysqlconnpool](mysqlconnpool) | Mysql connection pool with MySQLdb in python |\n| [mysqlutil](mysqlutil) | Mysql related datatype, operations |\n| [net](net) | Network utility |\n| [portlock](portlock) | cross process lock |\n| [priorityqueue](priorityqueue) | Priority queue |\n| [proc](proc) | Utility to create sub process |\n| [rangeset](rangeset) | Segmented range. |\n| [ratelimiter](ratelimiter) | rate limiter |\n| [redisutil](redisutil) | For using redis more easily. |\n| [shell](shell) | Set different command arguments to execute different functions |\n| [strutil](strutil) | A collection of helper functions used to manipulate string |\n| [threadutil](threadutil) | Utility functions for better management of threads |\n| [timeutil](timeutil) | Support specify time format output and get current ts, ms, us api etc |\n| [utfjson](utfjson) | Force `json.dump` and `json.load` in `utf-8` encoding |\n| [utfyaml](utfyaml) | Force `yaml.dump` and `yaml.load` in `utf-8` encoding |\n| [wsjobd](wsjobd) | Job daemon based on websocket protocol |\n| [zktx](zktx) | Transaction implementation on Zookeeper |\n| [zkutil](zkutil) | Utility functions for zookeeper |\n\n\n## Module dependency\n\n![](dep-graph.jpg)\n\n# Install\n\nJust clone it and copy it into your project source folder.\n\n```\ncd your_project_folder\ngit clone https://github.com/baishancloud/pykit.git\n```\n\n# Usage\n\n```\nfrom pykit import jobq\n\ndef add1(args):\n return args + 1\n\ndef printarg(args):\n print args\n\njobq.run([0, 1, 2], [add1, printarg])\n# > 1\n# > 2\n# > 3\n```\n\n\n# Configuration\n\nSee [config.md](config.md)\n\n\n# Test\n\nRun one of following to test all, a module, a TestCase or a function.\n\n```\n./script/t\n./script/t zkutil\n./script/t zkutil.test\n./script/t zkutil.test.test_zkutil\n./script/t zkutil.test.test_zkutil.TestZKUtil\n./script/t zkutil.test.test_zkutil.TestZKUtil.test_lock_id\n```\n\nSee [Details](script/README.md)\n\n# For developer\n\nThere are several scripts for developers.\nSee [script](script).\n\n\n\n\n# Author\n\nZhang Yanpo (\u5f20\u708e\u6cfc) \n\n# Copyright and License\n\nThe MIT License (MIT)\n\nCopyright (c) 2015 Zhang Yanpo (\u5f20\u708e\u6cfc) \n\n\n", "description_content_type": "text/markdown", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/bsc-s2/pykit", "keywords": "", "license": "MIT", "maintainer": "", "maintainer_email": "", "name": "pykit-bsc-s2", "package_url": "https://pypi.org/project/pykit-bsc-s2/", "platform": "", "project_url": "https://pypi.org/project/pykit-bsc-s2/", "project_urls": { "Homepage": "https://github.com/bsc-s2/pykit" }, "release_url": "https://pypi.org/project/pykit-bsc-s2/1.0.1/", "requires_dist": [ "PyYAML (==3.11)" ], "requires_python": ">=2.7,!=3.0.*,!=3.1.*", "summary": "A collection of toolkit lib for distributed system development in python", "version": "1.0.1" }, "last_serial": 4053059, "releases": { "1.0.0": [ { "comment_text": "", "digests": { "md5": "d421c5a62be95d19e8ff1ea0751aca86", "sha256": "92cc60f87506831a21991ba3957f917ffc9b98a3f1df61afff43f3793692bff4" }, "downloads": -1, "filename": "pykit_bsc_s2-1.0.0-py2-none-any.whl", "has_sig": false, "md5_digest": "d421c5a62be95d19e8ff1ea0751aca86", "packagetype": "bdist_wheel", "python_version": "py2", "requires_python": ">=2.7,!=3.0.*,!=3.1.*", "size": 309635, "upload_time": "2018-07-12T05:00:26", "url": "https://files.pythonhosted.org/packages/0c/07/a463f4aad5ac6ecdc54da366479921c4fe0b8efd7f0d5f2f393fd6bfa5e2/pykit_bsc_s2-1.0.0-py2-none-any.whl" }, { "comment_text": "", "digests": { "md5": "5ebe3ecf6cad9815a7af53828edd1fc3", "sha256": "7ff83173a698b5f84ee6aa6b435870e7520ebd3690a7e895cfec4dc322eaf257" }, "downloads": -1, "filename": "pykit-bsc-s2-1.0.0.tar.gz", "has_sig": false, "md5_digest": "5ebe3ecf6cad9815a7af53828edd1fc3", "packagetype": "sdist", "python_version": "source", "requires_python": ">=2.7,!=3.0.*,!=3.1.*", "size": 226553, "upload_time": "2018-07-12T05:00:34", "url": "https://files.pythonhosted.org/packages/fa/f1/df8709088e9d19d1eea93b678e25f9ea508cc5231592565c9bea19cc9891/pykit-bsc-s2-1.0.0.tar.gz" } ], "1.0.1": [ { "comment_text": "", "digests": { "md5": "17a4eefa0c4dbce9458b26382bb4c50b", "sha256": "3cb5b38e1e0788229ecc709b760d29c40aa047e57322908956e1224830281859" }, "downloads": -1, "filename": "pykit_bsc_s2-1.0.1-py2-none-any.whl", "has_sig": false, "md5_digest": "17a4eefa0c4dbce9458b26382bb4c50b", "packagetype": "bdist_wheel", "python_version": "py2", "requires_python": ">=2.7,!=3.0.*,!=3.1.*", "size": 309635, "upload_time": "2018-07-12T05:00:30", "url": "https://files.pythonhosted.org/packages/d4/e2/aeb762148e75200c361caf086bfc58b1e783ea225d37a583ef699afdd958/pykit_bsc_s2-1.0.1-py2-none-any.whl" }, { "comment_text": "", "digests": { "md5": "005dc5ceecaf8622a6ce8a3dc79feab0", "sha256": "e1f0fe3a886a2ea7cdd97cf7d2e99ab86f927ab0be99eff1343de285b85035ec" }, "downloads": -1, "filename": "pykit-bsc-s2-1.0.1.tar.gz", "has_sig": false, "md5_digest": "005dc5ceecaf8622a6ce8a3dc79feab0", "packagetype": "sdist", "python_version": "source", "requires_python": ">=2.7,!=3.0.*,!=3.1.*", "size": 226559, "upload_time": "2018-07-12T05:00:37", "url": "https://files.pythonhosted.org/packages/b5/3b/1f265f14dd9f43ed73910129d7c39a26826ee64354cb90524aa7dfb048a6/pykit-bsc-s2-1.0.1.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "17a4eefa0c4dbce9458b26382bb4c50b", "sha256": "3cb5b38e1e0788229ecc709b760d29c40aa047e57322908956e1224830281859" }, "downloads": -1, "filename": "pykit_bsc_s2-1.0.1-py2-none-any.whl", "has_sig": false, "md5_digest": "17a4eefa0c4dbce9458b26382bb4c50b", "packagetype": "bdist_wheel", "python_version": "py2", "requires_python": ">=2.7,!=3.0.*,!=3.1.*", "size": 309635, "upload_time": "2018-07-12T05:00:30", "url": "https://files.pythonhosted.org/packages/d4/e2/aeb762148e75200c361caf086bfc58b1e783ea225d37a583ef699afdd958/pykit_bsc_s2-1.0.1-py2-none-any.whl" }, { "comment_text": "", "digests": { "md5": "005dc5ceecaf8622a6ce8a3dc79feab0", "sha256": "e1f0fe3a886a2ea7cdd97cf7d2e99ab86f927ab0be99eff1343de285b85035ec" }, "downloads": -1, "filename": "pykit-bsc-s2-1.0.1.tar.gz", "has_sig": false, "md5_digest": "005dc5ceecaf8622a6ce8a3dc79feab0", "packagetype": "sdist", "python_version": "source", "requires_python": ">=2.7,!=3.0.*,!=3.1.*", "size": 226559, "upload_time": "2018-07-12T05:00:37", "url": "https://files.pythonhosted.org/packages/b5/3b/1f265f14dd9f43ed73910129d7c39a26826ee64354cb90524aa7dfb048a6/pykit-bsc-s2-1.0.1.tar.gz" } ] }