{ "info": { "author": "Barak Tawily", "author_email": "barak.tawily@gmail.com", "bugtrack_url": null, "classifiers": [ "Development Status :: 4 - Beta", "Intended Audience :: Developers", "License :: OSI Approved :: MIT License", "Programming Language :: Python :: 3", "Programming Language :: Python :: 3.4", "Programming Language :: Python :: 3.5", "Programming Language :: Python :: 3.6", "Programming Language :: Python :: 3.7", "Topic :: Software Development :: Build Tools" ], "description": "# pyhacks\nPython module to ease writing scripts go over big amount of data in order to perform the same actions. A simple preconfigured threads and queue management and more hacking utils\n\nWill elaborate more when it will get mature enough :)\n\n# capabilities\n##### PyHacks\nUsing all below capabilities to easily manage threads and queue to perform operations on Item objects.\n\n\n```python\nfrom pyhacks import PyHacks, Net\n\nif __name__ == \"__main__\":\n\tnet = Net()\n\t\n\tdef handle_item(item):\n\t\thost = item.get(\"host\")\n\t\turl = item.get(\"url\")\n\t\treplied_to_ping = net.reply_to_ping(host)\n\t\tip = net.resolve(host)\n\t\tif ip == None:\n\t\t\treturn False\n\t\titem.set(\"Reply To Ping\", replied_to_ping)\n\t\titem.set(\"ip\", ip)\n\t\thacks.logger.green(\"{} {} {}\".format(host, replied_to_ping, ip))\n\t\thacks.exporter.put(item)\n\t\treturn True\n\t\n\thacks = PyHacks(handle_item, 25, \"output.csv\")\n\thosts = hacks.parse.csv(\"ips.csv\")\n\t\n\tfor host in hosts:\n\t\thacks.qt.put(host)\n\t\n\thacks.finish()\n\n \n```\n\n\n##### QueueThreads\nQueueThreads class allows you to manage queue and threads easily.\n```python\nqt = QueueThreads(handle_function, num_worker_threads, logger)\nqt.put({\"counter\":1, \"key1\":\"value1\"})\nqt.finish() # waiting until job is finished\n```\n\n###### parameters\nhandle_function - a function recevies item parameter from queue, will be used in all threads defined, return value has to be bool\n```python\ndef handle_item(item):\n\t\thost = item.get(\"host\")\n\t\turl = item.get(\"url\")\n\t\treplied_to_ping = net.reply_to_ping(host)\n\t\tip = net.resolve(host)\n\t\tif ip == None:\n\t\t\treturn False\n\t\titem.set(\"Reply To Ping\", replied_to_ping)\n\t\titem.set(\"ip\", ip)\n\t\thacks.logger.green(\"{} {} {}\".format(host, replied_to_ping, ip))\n\t\thacks.exporter.put(item)\n\t\treturn True\n\n```\nnum_worker_threads - numbers of threads used to run handle_functions on queue items\nlogger - a Logger instance to be used for automatic logging\n\n##### Parser\nParse files and returns list of Item objects\n```python\nparse = Parser()\nitems = parse.csv(\"ips.csv\")\nfor item in items:\n\tqt.put(item)\n```\n\n\n##### Logger\nEasy logging mechanism + writing into files under logs directory, used by QueueThreads for autoamtic logging\n```python\nlogger = Logger(verbose=False)\nlogger.green(\"text\")\nlogger.red(\"text\")\nlogger.yellow(\"text\")\n```\n\n##### Exporter\nExporting Item objects into a csv/txt file\n\n```python\nexport = Exporter(output.csv)\nexport.put({\"counter\":1,\"key1\":\"value\"})\nexport.finish()\n```", "description_content_type": "text/markdown", "docs_url": null, "download_url": "https://github.com/Quitten/pyhacks/releases/v_01.tar.gz", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/Quitten/pyhacks", "keywords": "threads,queue", "license": "MIT", "maintainer": "", "maintainer_email": "", "name": "pyhacks", "package_url": "https://pypi.org/project/pyhacks/", "platform": "", "project_url": "https://pypi.org/project/pyhacks/", "project_urls": { "Download": "https://github.com/Quitten/pyhacks/releases/v_01.tar.gz", "Homepage": "https://github.com/Quitten/pyhacks" }, "release_url": "https://pypi.org/project/pyhacks/1.0.20/", "requires_dist": null, "requires_python": "", "summary": "Ease developers to use queue/threads functions to handle big amount of data", "version": "1.0.20", "yanked": false, "yanked_reason": null }, "last_serial": 7232364, "releases": { "1.0.0": [ { "comment_text": "", "digests": { "md5": "2a9792dfa918b5e70cb6288f47ae7a90", "sha256": "219b65bd7483b6a7061c4138228e8847f2d5b72b477ed74b9184eb51076430ed" }, "downloads": -1, "filename": "pyhacks-1.0.0.tar.gz", "has_sig": false, "md5_digest": "2a9792dfa918b5e70cb6288f47ae7a90", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 2675, "upload_time": "2019-10-27T11:56:17", "upload_time_iso_8601": "2019-10-27T11:56:17.825755Z", "url": "https://files.pythonhosted.org/packages/67/1f/714c27ef59c062e0746d84df92f5c64f04794f220fe450ece8395f23b09e/pyhacks-1.0.0.tar.gz", "yanked": false, "yanked_reason": null } ], "1.0.1": [ { "comment_text": "", "digests": { "md5": "9714a446db9ebfc5c427331cea5d999a", "sha256": "53afc2638bc7dacfa8b1e407928545fa0b654d1a89a30d1b598b4420ae03953f" }, "downloads": -1, "filename": "pyhacks-1.0.1.tar.gz", "has_sig": false, "md5_digest": "9714a446db9ebfc5c427331cea5d999a", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 2669, "upload_time": "2019-10-27T12:01:47", "upload_time_iso_8601": "2019-10-27T12:01:47.552882Z", "url": "https://files.pythonhosted.org/packages/ae/66/785dfafca08eb9fa121583f562a0e1920be3d10f12aa2ada9411c75d1bd9/pyhacks-1.0.1.tar.gz", "yanked": false, "yanked_reason": null } ], "1.0.10": [ { "comment_text": "", "digests": { "md5": "dc11dc421f7839263d4354e4e467271f", "sha256": "c82b8aebb029cc27525f669d27921ca77a9572403d6be5256270f43d9a2434da" }, "downloads": -1, "filename": "pyhacks-1.0.10.tar.gz", "has_sig": false, "md5_digest": "dc11dc421f7839263d4354e4e467271f", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5224, "upload_time": "2019-11-03T13:15:21", "upload_time_iso_8601": "2019-11-03T13:15:21.674554Z", "url": "https://files.pythonhosted.org/packages/71/31/17a8273eacbf9b6eca6164130f03fd328a276e419e14a061746dcbd2f5b8/pyhacks-1.0.10.tar.gz", "yanked": false, "yanked_reason": null } ], "1.0.11": [ { "comment_text": "", "digests": { "md5": "484b15654f3679d8109aa1df91ceb178", "sha256": "f73a7af25239ed1fb204f9f3b5d5b614735ebf3132916b6426e6867a94be6114" }, "downloads": -1, "filename": "pyhacks-1.0.11.tar.gz", "has_sig": false, "md5_digest": "484b15654f3679d8109aa1df91ceb178", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5226, "upload_time": "2019-11-05T12:15:34", "upload_time_iso_8601": "2019-11-05T12:15:34.670246Z", "url": "https://files.pythonhosted.org/packages/96/e8/58226c1288f61b51b96dea2af6117b9f8a3897e010c3b03440e932bf1800/pyhacks-1.0.11.tar.gz", "yanked": false, "yanked_reason": null } ], "1.0.12": [ { "comment_text": "", "digests": { "md5": "108453e52228d6f0385eb2f539b24e65", "sha256": "529c0f345ccb99a09a810b3997a95974688f0c84ff856bd1ce9ab01d92a4a378" }, "downloads": -1, "filename": "pyhacks-1.0.12.tar.gz", "has_sig": false, "md5_digest": "108453e52228d6f0385eb2f539b24e65", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5253, "upload_time": "2019-11-05T14:20:26", "upload_time_iso_8601": "2019-11-05T14:20:26.825736Z", "url": "https://files.pythonhosted.org/packages/f3/e2/5b495434037bc2544289edbd6fd8f6a36538206c674b3bb26f803a287a0f/pyhacks-1.0.12.tar.gz", "yanked": false, "yanked_reason": null } ], "1.0.13": [ { "comment_text": "", "digests": { "md5": "08c16dfc57cf0d70397dff72b1f8669c", "sha256": "5fc6cc07aafbd59bf6364531c1773909bb092a92d53c717b91c0f002f4c4ffe2" }, "downloads": -1, "filename": "pyhacks-1.0.13.tar.gz", "has_sig": false, "md5_digest": "08c16dfc57cf0d70397dff72b1f8669c", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5249, "upload_time": "2019-11-10T16:39:25", "upload_time_iso_8601": "2019-11-10T16:39:25.398552Z", "url": "https://files.pythonhosted.org/packages/01/ea/cea6c709eb5da95a4e9676e6d830b4a427607f8b37433307a281d1f7756a/pyhacks-1.0.13.tar.gz", "yanked": false, "yanked_reason": null } ], "1.0.14": [ { "comment_text": "", "digests": { "md5": "631bca66752c319dfb3817c61e23080e", "sha256": "64c991eef1d68eab11daf36ec0efd61a92e33d586b587142e9b05b689a0592cc" }, "downloads": -1, "filename": "pyhacks-1.0.14.tar.gz", "has_sig": false, "md5_digest": "631bca66752c319dfb3817c61e23080e", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5555, "upload_time": "2019-11-12T09:21:12", "upload_time_iso_8601": "2019-11-12T09:21:12.753174Z", "url": "https://files.pythonhosted.org/packages/bf/0b/42e35eb8a771f1e83dd38c3013a16fd8ffcc4df148c3edc9629b439ae1f3/pyhacks-1.0.14.tar.gz", "yanked": false, "yanked_reason": null } ], "1.0.15": [ { "comment_text": "", "digests": { "md5": "524a8f9602c84cb3a421d2014fd3af37", "sha256": "228cc299bad57a01f873713acf542c6cbbb98eebbd0b0f06d4a58d4c8021247b" }, "downloads": -1, "filename": "pyhacks-1.0.15.tar.gz", "has_sig": false, "md5_digest": "524a8f9602c84cb3a421d2014fd3af37", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 6216, "upload_time": "2019-11-12T13:57:21", "upload_time_iso_8601": "2019-11-12T13:57:21.776594Z", "url": "https://files.pythonhosted.org/packages/eb/5d/aa4b2cb13aa5b288b2e0d18f9fb54c53610b7bcb35d17fad6341ec5ead83/pyhacks-1.0.15.tar.gz", "yanked": false, "yanked_reason": null } ], "1.0.16": [ { "comment_text": "", "digests": { "md5": "c2af60e87afbe4ab1eedcdc6a8625809", "sha256": "7d2cf6818abf9b6fc96a125780be9b3abd63a2a32062f1e1893128e81803a0a4" }, "downloads": -1, "filename": "pyhacks-1.0.16.tar.gz", "has_sig": false, "md5_digest": "c2af60e87afbe4ab1eedcdc6a8625809", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 6211, "upload_time": "2019-11-12T14:01:06", "upload_time_iso_8601": "2019-11-12T14:01:06.498113Z", "url": "https://files.pythonhosted.org/packages/74/b6/72ef201babfeecf04db3fd4c73c1029e12373d80f33f98e97043a2daf924/pyhacks-1.0.16.tar.gz", "yanked": false, "yanked_reason": null } ], "1.0.17": [ { "comment_text": "", "digests": { "md5": "6a89e5b4ac853a5a29169a333d764c87", "sha256": "020cd04a8a186ff4d2eac329947fa8a9f92978eaddceb868b4dea6188afd0cde" }, "downloads": -1, "filename": "pyhacks-1.0.17.tar.gz", "has_sig": false, "md5_digest": "6a89e5b4ac853a5a29169a333d764c87", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 6217, "upload_time": "2019-11-13T16:16:36", "upload_time_iso_8601": "2019-11-13T16:16:36.576266Z", "url": "https://files.pythonhosted.org/packages/de/70/50338131d28f5516ee6fecee3c930689a449b05e46946f8db04b3963b48b/pyhacks-1.0.17.tar.gz", "yanked": false, "yanked_reason": null } ], "1.0.18": [ { "comment_text": "", "digests": { "md5": "ff6822d2afc4c6c4c931d0d6a5971803", "sha256": "1d7df03a25bc487a980ec249f924d6ca978736150130303c49b1fdb0c1ad534e" }, "downloads": -1, "filename": "pyhacks-1.0.18-py3.8.egg", "has_sig": false, "md5_digest": "ff6822d2afc4c6c4c931d0d6a5971803", "packagetype": "bdist_egg", "python_version": "3.8", "requires_python": null, "size": 18908, "upload_time": "2020-03-01T09:58:13", "upload_time_iso_8601": "2020-03-01T09:58:13.298669Z", "url": "https://files.pythonhosted.org/packages/54/01/21719bea4e758a7d69717a7aa6d0bbcfbe521ccb5817ad0f81b1715f464a/pyhacks-1.0.18-py3.8.egg", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "6c484235142f3c0e697a6bbab323a9bf", "sha256": "321a86e7a52ba411d8bd9a8aaf25f6282dbb29233ac5b2a3f7f982851f78bcb5" }, "downloads": -1, "filename": "pyhacks-1.0.18.tar.gz", "has_sig": false, "md5_digest": "6c484235142f3c0e697a6bbab323a9bf", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 6229, "upload_time": "2019-11-13T16:37:15", "upload_time_iso_8601": "2019-11-13T16:37:15.884546Z", "url": "https://files.pythonhosted.org/packages/8a/5b/5f92a964997b77c4f76d6e99506098e83146529f3577f50f7a2d82e19579/pyhacks-1.0.18.tar.gz", "yanked": false, "yanked_reason": null } ], "1.0.19": [ { "comment_text": "", "digests": { "md5": "1796c0b963e51ffae9e0aeeb3e1e0bf6", "sha256": "2ef553cfa786f5724b4befda7cd4308fb03a3b26525f84b4c4a9ded8d547d994" }, "downloads": -1, "filename": "pyhacks-1.0.19.tar.gz", "has_sig": false, "md5_digest": "1796c0b963e51ffae9e0aeeb3e1e0bf6", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 8017, "upload_time": "2020-03-01T09:58:15", "upload_time_iso_8601": "2020-03-01T09:58:15.214924Z", "url": "https://files.pythonhosted.org/packages/07/4c/0d0eeb2c0097dfeab95df9f9c08d1318d4c90295304adbf68089f9eb45ef/pyhacks-1.0.19.tar.gz", "yanked": false, "yanked_reason": null } ], "1.0.2": [ { "comment_text": "", "digests": { "md5": "4f0883944678fe94d4776c79e5fae8a8", "sha256": "bf9b3a9fb462bcb4cc4348e34631242ec88800086696e91b77a9b26cfa66ef24" }, "downloads": -1, "filename": "pyhacks-1.0.2.tar.gz", "has_sig": false, "md5_digest": "4f0883944678fe94d4776c79e5fae8a8", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 2669, "upload_time": "2019-10-27T12:06:22", "upload_time_iso_8601": "2019-10-27T12:06:22.379020Z", "url": "https://files.pythonhosted.org/packages/15/d9/2ee1c4a78aeed7937a2ad5f187658706adea31b3477950f5a24a594f360f/pyhacks-1.0.2.tar.gz", "yanked": false, "yanked_reason": null } ], "1.0.20": [ { "comment_text": "", "digests": { "md5": "7f399f02d5193217c1a121ee316dcaf3", "sha256": "d9e645c62c2a2054b347d3bf14a48cd2b5001a608330b41702e13a69efab2a8a" }, "downloads": -1, "filename": "pyhacks-1.0.20.tar.gz", "has_sig": false, "md5_digest": "7f399f02d5193217c1a121ee316dcaf3", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 8147, "upload_time": "2020-05-13T12:44:26", "upload_time_iso_8601": "2020-05-13T12:44:26.166835Z", "url": "https://files.pythonhosted.org/packages/9c/24/842df84f1b082d710cff146baa87fd1c3b174050e6b100180a36da05afe7/pyhacks-1.0.20.tar.gz", "yanked": false, "yanked_reason": null } ], "1.0.3": [ { "comment_text": "", "digests": { "md5": "c58b9aaebe78af0b79a14e6a6cfad9aa", "sha256": "b62030d0223619090f36db0e3adcfd8b958b86714975891c8c8d32876db62ed6" }, "downloads": -1, "filename": "pyhacks-1.0.3.tar.gz", "has_sig": false, "md5_digest": "c58b9aaebe78af0b79a14e6a6cfad9aa", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 2853, "upload_time": "2019-10-27T12:22:16", "upload_time_iso_8601": "2019-10-27T12:22:16.587826Z", "url": "https://files.pythonhosted.org/packages/96/30/f1c31b7c435d2d3662c547fdecbfa964a83ce754023d6b88b50d4a16ff1a/pyhacks-1.0.3.tar.gz", "yanked": false, "yanked_reason": null } ], "1.0.4": [ { "comment_text": "", "digests": { "md5": "6ab7007f915ca89bdd9fd5122cf571df", "sha256": "aaff2efe3efe3cab860ad1c0f4ee98c4d9c7e04569033ebb038dbeaffa963c96" }, "downloads": -1, "filename": "pyhacks-1.0.4.tar.gz", "has_sig": false, "md5_digest": "6ab7007f915ca89bdd9fd5122cf571df", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 2860, "upload_time": "2019-10-27T12:28:20", "upload_time_iso_8601": "2019-10-27T12:28:20.390820Z", "url": "https://files.pythonhosted.org/packages/a7/70/bfbf29658dd3700372e9dc2ab3a1ff6700d77e9d9d10e43d8f515107f5bf/pyhacks-1.0.4.tar.gz", "yanked": false, "yanked_reason": null } ], "1.0.5": [ { "comment_text": "", "digests": { "md5": "0b5c1f8cb221f15682055f8275336169", "sha256": "85182c9712c3b7f22f599160ce0c75195c86f70ba61f61357d46113db5fe2837" }, "downloads": -1, "filename": "pyhacks-1.0.5.tar.gz", "has_sig": false, "md5_digest": "0b5c1f8cb221f15682055f8275336169", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 2864, "upload_time": "2019-10-27T12:31:41", "upload_time_iso_8601": "2019-10-27T12:31:41.916534Z", "url": "https://files.pythonhosted.org/packages/5d/67/81d939e058bf13e89690afc44b57845554a78a4d6311075da138e1695368/pyhacks-1.0.5.tar.gz", "yanked": false, "yanked_reason": null } ], "1.0.6": [ { "comment_text": "", "digests": { "md5": "4dcd649b5ad7ba29ef5991fe929f1daa", "sha256": "cd1b765c5e493f57e86988dd1cd02be5e1e14089e62638e377dd053359c73d63" }, "downloads": -1, "filename": "pyhacks-1.0.6.tar.gz", "has_sig": false, "md5_digest": "4dcd649b5ad7ba29ef5991fe929f1daa", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3190, "upload_time": "2019-10-27T12:45:43", "upload_time_iso_8601": "2019-10-27T12:45:43.071519Z", "url": "https://files.pythonhosted.org/packages/54/c1/28379ea71f6760eec944d87e1726ff1377bd4b57e8da799a5f2f54ae8849/pyhacks-1.0.6.tar.gz", "yanked": false, "yanked_reason": null } ], "1.0.8": [ { "comment_text": "", "digests": { "md5": "75bca19b0deb4a25d8b960697554ff81", "sha256": "e751abec1415911ae91d00f3f9db44c67addba3e65753c4f0de3d8cd795d276f" }, "downloads": -1, "filename": "pyhacks-1.0.8.tar.gz", "has_sig": false, "md5_digest": "75bca19b0deb4a25d8b960697554ff81", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3625, "upload_time": "2019-10-27T13:11:13", "upload_time_iso_8601": "2019-10-27T13:11:13.295191Z", "url": "https://files.pythonhosted.org/packages/18/50/8c3ffdd2bc37918ec46163a5eab8f7a6cc1736dc574fb61e347fb2e1c66e/pyhacks-1.0.8.tar.gz", "yanked": false, "yanked_reason": null } ], "1.0.9": [ { "comment_text": "", "digests": { "md5": "5785eaa5832c7c23b657f4bb0ff7701d", "sha256": "25136b5f3bc87b0a12140802ce8a013e2a3da4283c0eaba4259f75484798b89f" }, "downloads": -1, "filename": "pyhacks-1.0.9.tar.gz", "has_sig": false, "md5_digest": "5785eaa5832c7c23b657f4bb0ff7701d", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5016, "upload_time": "2019-10-30T16:35:40", "upload_time_iso_8601": "2019-10-30T16:35:40.636985Z", "url": "https://files.pythonhosted.org/packages/8c/a1/e5e4274d456691d29e460e24e5361ac671390c1e12ef9c4f6e79a590afce/pyhacks-1.0.9.tar.gz", "yanked": false, "yanked_reason": null } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "7f399f02d5193217c1a121ee316dcaf3", "sha256": "d9e645c62c2a2054b347d3bf14a48cd2b5001a608330b41702e13a69efab2a8a" }, "downloads": -1, "filename": "pyhacks-1.0.20.tar.gz", "has_sig": false, "md5_digest": "7f399f02d5193217c1a121ee316dcaf3", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 8147, "upload_time": "2020-05-13T12:44:26", "upload_time_iso_8601": "2020-05-13T12:44:26.166835Z", "url": "https://files.pythonhosted.org/packages/9c/24/842df84f1b082d710cff146baa87fd1c3b174050e6b100180a36da05afe7/pyhacks-1.0.20.tar.gz", "yanked": false, "yanked_reason": null } ], "vulnerabilities": [] }