{ "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| [cacheable](cacheable) | Cache data which access frequently |\n| [cachepool](cachepool) | Reusable object cache in process |\n| [cluster](cluster) | Some helper function for the server in a cluster |\n| [daemonize](daemonize) | Start, stop or restart a daemon process |\n| [dictutil](dictutil) | Dictionary helper utility |\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| [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| [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", "package_url": "https://pypi.org/project/pykit-bsc/", "platform": "", "project_url": "https://pypi.org/project/pykit-bsc/", "project_urls": { "Homepage": "https://github.com/bsc-s2/pykit" }, "release_url": "https://pypi.org/project/pykit-bsc/0.0.5/", "requires_dist": [ "pyflakes", "autopep8", "autoflake", "isort", "psutil (==4.3.1)", "netifaces (==0.10.6)", "tzlocal (==1.5.1)", "pytz (==2018.4)", "docker-py (==1.10.6)", "subprocess32 (==3.2.7)", "kazoo (==2.2.1)", "snakefood", "gevent (==1.3.0)", "redis (==2.10.6)", "PyYAML (==3.12)" ], "requires_python": ">=2.7", "summary": "A collection of toolkit lib for distributed system development in python", "version": "0.0.5" }, "last_serial": 4004386, "releases": { "0.0.1": [ { "comment_text": "", "digests": { "md5": "48f8a703ab4346dbe61699af32e96973", "sha256": "37cbad941c34161516a6f95a8530cb7f744695611c327249fe5427223d35ef1c" }, "downloads": -1, "filename": "pykit_bsc-0.0.1-py2-none-any.whl", "has_sig": false, "md5_digest": "48f8a703ab4346dbe61699af32e96973", "packagetype": "bdist_wheel", "python_version": "py2", "requires_python": null, "size": 302015, "upload_time": "2018-06-26T14:28:41", "url": "https://files.pythonhosted.org/packages/f9/56/a653cd85afba793526a3527db592604cb2d2f3331cb1263d362e0d726a96/pykit_bsc-0.0.1-py2-none-any.whl" }, { "comment_text": "", "digests": { "md5": "54167b6f6add9f156dbd96cb782fe2e6", "sha256": "7a933486338b8b71d26b4bcadb1a498d761c35222ff1fe584fad54db2d1bff6f" }, "downloads": -1, "filename": "pykit-bsc-0.0.1.tar.gz", "has_sig": false, "md5_digest": "54167b6f6add9f156dbd96cb782fe2e6", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 219566, "upload_time": "2018-06-26T14:28:43", "url": "https://files.pythonhosted.org/packages/cb/85/4f4cf779a508dd39f49352795f208c8c34456d36c22e5b0fc9964c7ee8e0/pykit-bsc-0.0.1.tar.gz" } ], "0.0.2": [ { "comment_text": "", "digests": { "md5": "736d079ab2630b94fe9bcfcba4b2644b", "sha256": "60bc0e5844cacf24b1309e455764f81145f444ef0805f0b942d6c5f72fb511bc" }, "downloads": -1, "filename": "pykit_bsc-0.0.2-py2-none-any.whl", "has_sig": false, "md5_digest": "736d079ab2630b94fe9bcfcba4b2644b", "packagetype": "bdist_wheel", "python_version": "py2", "requires_python": ">=2.7", "size": 300072, "upload_time": "2018-06-26T15:42:40", "url": "https://files.pythonhosted.org/packages/aa/c7/0a220e80ae0f683f5c66010ac5fd21d317b8813263ced003a292acf9d88d/pykit_bsc-0.0.2-py2-none-any.whl" }, { "comment_text": "", "digests": { "md5": "d479d8efc6f576682d941237df4c3f0c", "sha256": "da5d347969f013eb0c31217cea0e7db79dfcf01243c952a0f3020565ea120383" }, "downloads": -1, "filename": "pykit-bsc-0.0.2.tar.gz", "has_sig": false, "md5_digest": "d479d8efc6f576682d941237df4c3f0c", "packagetype": "sdist", "python_version": "source", "requires_python": ">=2.7", "size": 219841, "upload_time": "2018-06-26T15:42:42", "url": "https://files.pythonhosted.org/packages/78/a6/087e8ebff03f2acc8e677b87671e089d162c5056bf06b640c888d4b2f1a0/pykit-bsc-0.0.2.tar.gz" } ], "0.0.3": [ { "comment_text": "", "digests": { "md5": "0c998e89d3befb4672cffc24c931ba8c", "sha256": "4841c66cb957c90b4bb9397a0f092c25a10254ee46237e84e298d75a13424aab" }, "downloads": -1, "filename": "pykit_bsc-0.0.3-py2-none-any.whl", "has_sig": false, "md5_digest": "0c998e89d3befb4672cffc24c931ba8c", "packagetype": "bdist_wheel", "python_version": "py2", "requires_python": ">=2.7", "size": 11627, "upload_time": "2018-06-26T16:11:41", "url": "https://files.pythonhosted.org/packages/a3/c8/889ad0f5bccc31b0cca9f84d9cf4ccc892d031bea50a805b85f0326ac545/pykit_bsc-0.0.3-py2-none-any.whl" }, { "comment_text": "", "digests": { "md5": "8a66431ebf897c04489ec438ab2fd211", "sha256": "23f72d97381e57fd193dbd3c313560d924cfa329e6c90207bb6fdc210e8be05b" }, "downloads": -1, "filename": "pykit-bsc-0.0.3.tar.gz", "has_sig": false, "md5_digest": "8a66431ebf897c04489ec438ab2fd211", "packagetype": "sdist", "python_version": "source", "requires_python": ">=2.7", "size": 10914, "upload_time": "2018-06-26T16:11:43", "url": "https://files.pythonhosted.org/packages/ef/3e/b7715df411a9baa79b2a3059c80881ffc553914000872b463850297b2120/pykit-bsc-0.0.3.tar.gz" } ], "0.0.4": [ { "comment_text": "", "digests": { "md5": "e13408d65e751775e51ed8b0053460c2", "sha256": "b1c82d0b2c0935269ec82db4aec0a9a675701772acda09cf2588050c573a9a1b" }, "downloads": -1, "filename": "pykit_bsc-0.0.4-py2-none-any.whl", "has_sig": false, "md5_digest": "e13408d65e751775e51ed8b0053460c2", "packagetype": "bdist_wheel", "python_version": "py2", "requires_python": ">=2.7", "size": 300126, "upload_time": "2018-06-26T16:34:26", "url": "https://files.pythonhosted.org/packages/55/d5/58c2df5ca9c1e64acd8096130cadaf85e029d6064b16ebe13692f6dafe09/pykit_bsc-0.0.4-py2-none-any.whl" }, { "comment_text": "", "digests": { "md5": "69afed1630c5b3894b328d934e587f87", "sha256": "cba3bc81c2bf56f27997b7c8289054391507167db5e12d988b05e6a6a814cfe5" }, "downloads": -1, "filename": "pykit-bsc-0.0.4.tar.gz", "has_sig": false, "md5_digest": "69afed1630c5b3894b328d934e587f87", "packagetype": "sdist", "python_version": "source", "requires_python": ">=2.7", "size": 219942, "upload_time": "2018-06-26T16:34:28", "url": "https://files.pythonhosted.org/packages/45/c5/4882d855bc9c69833fb38a0d6e671efea28202e308bcbdc64e3fe54a9dc1/pykit-bsc-0.0.4.tar.gz" } ], "0.0.5": [ { "comment_text": "", "digests": { "md5": "4deb464a104b1b32457b960d7e4e2d95", "sha256": "cf4bd25beb4fa130be3c76eca89f3b4cb6c78965808b7b4ae9e7064195deaf3f" }, "downloads": -1, "filename": "pykit_bsc-0.0.5-py2-none-any.whl", "has_sig": false, "md5_digest": "4deb464a104b1b32457b960d7e4e2d95", "packagetype": "bdist_wheel", "python_version": "py2", "requires_python": ">=2.7", "size": 300128, "upload_time": "2018-06-26T16:45:41", "url": "https://files.pythonhosted.org/packages/a4/a6/345a432fc5a971157b03a4a03dce3a98c43501ebfb6e167f17d404cece4d/pykit_bsc-0.0.5-py2-none-any.whl" }, { "comment_text": "", "digests": { "md5": "7df9abf53c5fa4b3c3f7491153ecc7eb", "sha256": "99a12b88f4c8c573e8eddd4702fc49277e4349bebd44cfe67ece98235a3d3776" }, "downloads": -1, "filename": "pykit-bsc-0.0.5.tar.gz", "has_sig": false, "md5_digest": "7df9abf53c5fa4b3c3f7491153ecc7eb", "packagetype": "sdist", "python_version": "source", "requires_python": ">=2.7", "size": 219933, "upload_time": "2018-06-26T16:45:43", "url": "https://files.pythonhosted.org/packages/26/be/4f9e402bfa3bbf44440f0a7ccac2c1b915ce3bd6364929e78e286479c61f/pykit-bsc-0.0.5.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "4deb464a104b1b32457b960d7e4e2d95", "sha256": "cf4bd25beb4fa130be3c76eca89f3b4cb6c78965808b7b4ae9e7064195deaf3f" }, "downloads": -1, "filename": "pykit_bsc-0.0.5-py2-none-any.whl", "has_sig": false, "md5_digest": "4deb464a104b1b32457b960d7e4e2d95", "packagetype": "bdist_wheel", "python_version": "py2", "requires_python": ">=2.7", "size": 300128, "upload_time": "2018-06-26T16:45:41", "url": "https://files.pythonhosted.org/packages/a4/a6/345a432fc5a971157b03a4a03dce3a98c43501ebfb6e167f17d404cece4d/pykit_bsc-0.0.5-py2-none-any.whl" }, { "comment_text": "", "digests": { "md5": "7df9abf53c5fa4b3c3f7491153ecc7eb", "sha256": "99a12b88f4c8c573e8eddd4702fc49277e4349bebd44cfe67ece98235a3d3776" }, "downloads": -1, "filename": "pykit-bsc-0.0.5.tar.gz", "has_sig": false, "md5_digest": "7df9abf53c5fa4b3c3f7491153ecc7eb", "packagetype": "sdist", "python_version": "source", "requires_python": ">=2.7", "size": 219933, "upload_time": "2018-06-26T16:45:43", "url": "https://files.pythonhosted.org/packages/26/be/4f9e402bfa3bbf44440f0a7ccac2c1b915ce3bd6364929e78e286479c61f/pykit-bsc-0.0.5.tar.gz" } ] }