{ "info": { "author": "WinKaR", "author_email": "winkar@163.com", "bugtrack_url": null, "classifiers": [], "description": "Install\n=======\n\n.. code:: shell\n\n pip install winkar_utils\n\nUtils for python\n================\n\nchaining\n~~~~~~~~\n\nAdd chaining enumerate supports for iterables\n\n.. code:: python\n\n import utils\n range(10).map(lambda x: x**2) \\\n .filter(lambda x: x>10) \\\n .take(5) \\\n .reduce(lambda x,y: x+y)\n\nEncodings\n~~~~~~~~~\n\nAdd additional encodings for str\n\n.. code:: python\n\n import utils\n print \"asd\".encode(\"bin\") # => 011000010111001101100100\n print \"011000010111001101100100\".decode(\"bin\") # => asd\n\nConcurrent\n~~~~~~~~~~\n\nUtils for coding concurrently\n\n.. code:: python\n\n\n from utils.concurrent import multiThread\n\n @multiThread(10) # the param indicate how many threads to start\n def ox(x):\n return x\n\n ox(range(10)) # this will run concurrently\n # param should be a collection of orgin param type\n\nLog\n~~~\n\nUtils for log\n\n.. code:: python\n\n import logging\n from utils.log import stream_handler, formatter, logger\n\n logger.warn(\"test\") # the logger has been set level to warn\n # use formatter as its default output format\n # and will only print to stdout\n logger.setLevel(logging.INFO)\n # change log level\n logger.name = \"test\" # change logger name\n\nFactor\n~~~~~~\n\n.. code:: python\n\n from utils.factor import factor\n factor(130) # => [2,5,13]\n factor(131) # => [1,131]\n\nWhich will also add a factor command like linux to PATH\n\nUseful third-party libraries\n============================\n\nPwntools\n~~~~~~~~\n\nA very useful integrated pwn library.\n\n`Pwntools github repo `__\n\nCan just install through pip.\n\n.. code:: python\n\n from pwn import *\n context(arch = 'i386', os = 'linux')\n\n r = remote('exploitme.example.com', 31337)\n # EXPLOIT CODE GOES HERE\n r.send(asm(shellcraft.sh()))\n r.interactive()\n\nlibformatstr\n~~~~~~~~~~~~\n\nLibrary specially for format string exploit.\n\nInstall with pip.\n\n.. code:: python\n\n import sys\n from libformatstr import FormatStr\n\n addr = 0x08049580\n system_addr = 0x080489a3\n\n p = FormatStr()\n p[addr] = system_addr\n\n # buf is 14th argument, 4 bytes are already printed\n sys.stdout.write( p.payload(14, start_len=4) )\n\nfnmatch\n~~~~~~~\n\nLibrary that supports bash-style wildcard.\n\nInstall with pip\n\n.. code:: python\n\n from fnmatch import fnmatch\n fnmatch(\"target\", \"tar*\") # => true\n fnmatch(\"target\", \"TARG.T\") # => false", "description_content_type": null, "docs_url": null, "download_url": "UNKNOWN", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "UNKNOWN", "keywords": null, "license": "BSD", "maintainer": null, "maintainer_email": null, "name": "winkar_utils", "package_url": "https://pypi.org/project/winkar_utils/", "platform": "UNKNOWN", "project_url": "https://pypi.org/project/winkar_utils/", "project_urls": { "Download": "UNKNOWN", "Homepage": "UNKNOWN" }, "release_url": "https://pypi.org/project/winkar_utils/0.0.7/", "requires_dist": null, "requires_python": null, "summary": "Util functions for python", "version": "0.0.7" }, "last_serial": 1864624, "releases": { "0.0.2": [ { "comment_text": "", "digests": { "md5": "d697692f09eaf67cbff4048d433ff39d", "sha256": "53aa2ce5dafb51e93d68c0faad5cb7e77e52e9c8622380c23fe2175b60003a08" }, "downloads": -1, "filename": "winkar_utils-0.0.2.tar.gz", "has_sig": false, "md5_digest": "d697692f09eaf67cbff4048d433ff39d", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 2281, "upload_time": "2015-11-24T15:54:12", "url": "https://files.pythonhosted.org/packages/e6/3d/20cd46873457bb8194175f862383145e1ef4bcc30250c04f105de9d32492/winkar_utils-0.0.2.tar.gz" } ], "0.0.3": [ { "comment_text": "", "digests": { "md5": "ec911ac74ad1ec2c5f8353e447684d30", "sha256": "56aa15c4ec45b66a3f91083dd67fa6f4721eae209b34255e5a725bcbc0e6503e" }, "downloads": -1, "filename": "winkar_utils-0.0.3.tar.gz", "has_sig": false, "md5_digest": "ec911ac74ad1ec2c5f8353e447684d30", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 2267, "upload_time": "2015-11-24T15:55:54", "url": "https://files.pythonhosted.org/packages/43/f7/4cf11787e0a0897be94fbedefb5019e6578fddf855de9821dcce4e7d0fc9/winkar_utils-0.0.3.tar.gz" } ], "0.0.4": [ { "comment_text": "", "digests": { "md5": "7afbdcac4686e0a0ffc44d0844e367bc", "sha256": "1a229dd9f60dfe5947a2d07333c55209493f11204e68eb7ceaa00fb88d481bd6" }, "downloads": -1, "filename": "winkar_utils-0.0.4.tar.gz", "has_sig": false, "md5_digest": "7afbdcac4686e0a0ffc44d0844e367bc", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 2799, "upload_time": "2015-11-25T10:19:02", "url": "https://files.pythonhosted.org/packages/19/b6/abbfec66ba71c74039985dc58304610c16759e69f304398ee97a32442fe6/winkar_utils-0.0.4.tar.gz" } ], "0.0.5": [ { "comment_text": "", "digests": { "md5": "3ddf2a7e69a610b4b768d005a6b11b16", "sha256": "8b1e1a212a9dcc85cf516458377bb10ba7f5ab82e6924c0b87df42e8f41e9efc" }, "downloads": -1, "filename": "winkar_utils-0.0.5.tar.gz", "has_sig": false, "md5_digest": "3ddf2a7e69a610b4b768d005a6b11b16", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3046, "upload_time": "2015-11-29T13:03:37", "url": "https://files.pythonhosted.org/packages/39/39/cc8a69744de7ec50877aa1aea45e68bef6846e1ac2c62ff212a16f5f2632/winkar_utils-0.0.5.tar.gz" } ], "0.0.6": [ { "comment_text": "", "digests": { "md5": "34de2bf6a298f737e77e0cfa6cc978df", "sha256": "09a0bb46d423e4fb8f7dbb9ffdf895ddc8343146717c72cf957b91a85838ec7c" }, "downloads": -1, "filename": "winkar_utils-0.0.6.tar.gz", "has_sig": false, "md5_digest": "34de2bf6a298f737e77e0cfa6cc978df", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 2963, "upload_time": "2015-12-03T12:36:00", "url": "https://files.pythonhosted.org/packages/9d/3e/b7e0918e343b60d16315cfb63dbe9345bbe511f2bcf505ee7f2568138578/winkar_utils-0.0.6.tar.gz" } ], "0.0.7": [ { "comment_text": "", "digests": { "md5": "b9663f506dc01589fe106b315bd72499", "sha256": "bf60149c30e618778a8729c34783f98d2cbe78923f8bddffb31a4fbc49e39daa" }, "downloads": -1, "filename": "winkar_utils-0.0.7.tar.gz", "has_sig": false, "md5_digest": "b9663f506dc01589fe106b315bd72499", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4121, "upload_time": "2015-12-16T08:00:23", "url": "https://files.pythonhosted.org/packages/b9/c0/f89aca8ec629b512edbdb255cec10860e2a2510936a049f3e8ae311ca0cb/winkar_utils-0.0.7.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "b9663f506dc01589fe106b315bd72499", "sha256": "bf60149c30e618778a8729c34783f98d2cbe78923f8bddffb31a4fbc49e39daa" }, "downloads": -1, "filename": "winkar_utils-0.0.7.tar.gz", "has_sig": false, "md5_digest": "b9663f506dc01589fe106b315bd72499", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4121, "upload_time": "2015-12-16T08:00:23", "url": "https://files.pythonhosted.org/packages/b9/c0/f89aca8ec629b512edbdb255cec10860e2a2510936a049f3e8ae311ca0cb/winkar_utils-0.0.7.tar.gz" } ] }