{ "info": { "author": "Brian Wylie", "author_email": "briford@supercowpowers.com", "bugtrack_url": null, "classifiers": [ "Development Status :: 2 - Pre-Alpha", "Intended Audience :: Developers", "License :: OSI Approved :: Apache Software License", "Natural Language :: English", "Programming Language :: Python :: 2.7", "Programming Language :: Python :: 3.6", "Programming Language :: Python :: 3.7", "Programming Language :: Python :: Implementation :: CPython", "Programming Language :: Python :: Implementation :: PyPy" ], "description": "## Bro Analysis Tools (BAT) [![travis](https://travis-ci.org/SuperCowPowers/bat.svg?branch=master)](https://travis-ci.org/SuperCowPowers/bat) [![codecov.io](http://codecov.io/github/SuperCowPowers/bat/coverage.svg?branch=master)](http://codecov.io/github/SuperCowPowers/bat?branch=master) [![supported-versions](https://img.shields.io/pypi/pyversions/bat.svg)](https://pypi.python.org/pypi/bat) [![license](https://img.shields.io/badge/License-Apache%202.0-green.svg)](https://choosealicense.com/licenses/apache-2.0) \n\nThe BAT Python package supports the processing and analysis of Bro data\nwith Pandas, scikit-learn, and Spark\n\n### Recent Improvements (Fall 2019):\n- Better Docs ()\n- Faster/Smaller Pandas Dataframes for large log files: [Large Dataframes](https://supercowpowers.github.io/bat/large_dataframes.html)\n- Better Panda Dataframe to Matrix (ndarray) support: [Dataframe To Matrix](https://supercowpowers.github.io/bat/dataframe_to_matrix.html)\n- Vastly improved Spark Dataframe Class:\n - [Bro to Spark](https://nbviewer.jupyter.org/github/SuperCowPowers/bat/blob/master/notebooks/Bro_to_Spark.ipynb)\n - [Bro to Parquet](https://nbviewer.jupyter.org/github/SuperCowPowers/bat/blob/master/notebooks/Bro_to_Spark.ipynb)\n\n## BroCon 2017 Presentation\n\nData Analysis, Machine Learning, Bro, and You!\n([Video](https://www.youtube.com/watch?v=pG5lU9CLnIU))\n\n## Why BAT?\n\nBro already has a flexible, powerful scripting language why should I use\nBAT?\n\n**Offloading:** Running complex tasks like statistics, state machines,\nmachine learning, etc.. should be offloaded from Bro so that Bro can\nfocus on the efficient processing of high volume network traffic.\n\n**Data Analysis:** We have a large set of support classes that help\nbridge from raw Bro data to packages like Pandas, scikit-learn, and\nSpark. We also have example notebooks that show step-by-step how to get\nfrom here to there.\n\n\n### Getting Started\n- [Examples of Using BAT](https://supercowpowers.github.io/bat/examples.html)\n\n### How-To Analysis Notebooks\n\n- [Bro to Scikit-Learn](https://nbviewer.jupyter.org/github/SuperCowPowers/bat/blob/master/notebooks/Bro_to_Scikit_Learn.ipynb)\n- [Bro to Matplotlib](https://nbviewer.jupyter.org/github/SuperCowPowers/bat/blob/master/notebooks/Bro_to_Plot.ipynb)\n- [Bro to Spark](https://nbviewer.jupyter.org/github/SuperCowPowers/bat/blob/master/notebooks/Bro_to_Spark.ipynb)\n- [Bro to Parquet](https://nbviewer.jupyter.org/github/SuperCowPowers/bat/blob/master/notebooks/Bro_to_Spark.ipynb)\n- [Bro to Kafka to Spark](https://nbviewer.jupyter.org/github/SuperCowPowers/bat/blob/master/notebooks/Bro_to_Kafka_to_Spark.ipynb)\n- [Clustering: Picking K (or not)](https://nbviewer.jupyter.org/github/SuperCowPowers/bat/blob/master/notebooks/Clustering_Picking_K.ipynb)\n- [Anomaly Detection Exploration](https://nbviewer.jupyter.org/github/SuperCowPowers/bat/blob/master/notebooks/Anomaly_Detection.ipynb)\n- [Risky Domains Stats and Deployment](https://nbviewer.jupyter.org/github/SuperCowPowers/bat/blob/master/notebooks/Risky_Domains.ipynb)\n\nInstall\n-------\n\n $ pip install bat\n\nDocumentation\n-------------\n\n\n\nThanks\n------\n\n- The DummyEncoder is inspired by Tom Augspurger's great PyData Chicago\n 2016 [Talk](https://youtu.be/KLPtEBokqQ0)\n\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/SuperCowPowers/bat", "keywords": "Bro,Python,Networking,Security,Scikit-Learn,Spark,Kafka,Parquet", "license": "Apache", "maintainer": "", "maintainer_email": "", "name": "bat", "package_url": "https://pypi.org/project/bat/", "platform": "", "project_url": "https://pypi.org/project/bat/", "project_urls": { "Homepage": "https://github.com/SuperCowPowers/bat" }, "release_url": "https://pypi.org/project/bat/0.3.7/", "requires_dist": [ "requests", "watchdog", "numpy", "scipy", "pandas", "scikit-learn", "pyspark", "yara-python ; extra == 'all'", "tldextract ; extra == 'all'" ], "requires_python": "", "summary": "Bro Analysis Tools", "version": "0.3.7" }, "last_serial": 5897959, "releases": { "0.1": [ { "comment_text": "", "digests": { "md5": "0b69d60e29b9179b446e3bfe2fc4a2b5", "sha256": "ab396c98f2c3ca4d816a6f5d306188c307561f66edd731fa949c531073d12203" }, "downloads": -1, "filename": "bat-0.1-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "0b69d60e29b9179b446e3bfe2fc4a2b5", "packagetype": "bdist_wheel", "python_version": "2.7", "requires_python": null, "size": 169562, "upload_time": "2017-08-31T18:53:12", "url": "https://files.pythonhosted.org/packages/3d/d3/a5141d8b6e03ce735aa2e85662e9d1665ee9b1a481b7454bf8220d470e1b/bat-0.1-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "b7466479e28edde8b6280ffe9756bd7d", "sha256": "f99af523198f74d485078b7006dfd9d55920e07a386b314d0eb4f14ff792a3d9" }, "downloads": -1, "filename": "bat-0.1.tar.gz", "has_sig": false, "md5_digest": "b7466479e28edde8b6280ffe9756bd7d", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 144175, "upload_time": "2017-08-31T18:53:09", "url": "https://files.pythonhosted.org/packages/8a/a7/e1048b84470fbffacdf4d83a15c2b35f6b9be843f5ee316d4cf70f7e07f6/bat-0.1.tar.gz" } ], "0.2.6": [ { "comment_text": "", "digests": { "md5": "e6798f24c571da6508e736f1a0c39a13", "sha256": "51ef62d3cb4654615047f2846044c373d0c7b261835731ee392e1f066959beb9" }, "downloads": -1, "filename": "bat-0.2.6-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "e6798f24c571da6508e736f1a0c39a13", "packagetype": "bdist_wheel", "python_version": "3.6", "requires_python": null, "size": 105089, "upload_time": "2017-09-07T01:09:00", "url": "https://files.pythonhosted.org/packages/9e/63/1b3d0da47f0b1caa41c29785a9c21e3c4628ff81c1fecf42c66deb099074/bat-0.2.6-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "1f9bb24b82c18df8cb631cca6cc08050", "sha256": "a25cda17179ebe4e12db27d17d0ef2e7c126a759dd6206f51d11893b134b52db" }, "downloads": -1, "filename": "bat-0.2.6.tar.gz", "has_sig": false, "md5_digest": "1f9bb24b82c18df8cb631cca6cc08050", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 88472, "upload_time": "2017-09-07T01:08:56", "url": "https://files.pythonhosted.org/packages/1b/96/27b1352f938495e40fc73c471c40a21fc131b2166b32e0dd68ccd402d303/bat-0.2.6.tar.gz" } ], "0.2.7": [ { "comment_text": "", "digests": { "md5": "4f351c4ba30ec2443484ef1b822450f3", "sha256": "74c238154ab97d14b92a345229d1280c6c9cdcc5b11e2afe4553806d8ccc075c" }, "downloads": -1, "filename": "bat-0.2.7-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "4f351c4ba30ec2443484ef1b822450f3", "packagetype": "bdist_wheel", "python_version": "3.6", "requires_python": null, "size": 105265, "upload_time": "2017-09-07T19:00:15", "url": "https://files.pythonhosted.org/packages/92/e1/d5980c84a3a4956857374c2463cc73735483ac5282d8d8137644137ce5e2/bat-0.2.7-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "8ff2c14b3689a7d2e12a0d2014fee9d8", "sha256": "0663b22dff7eb66043fcf0faf0a87164bd945353d1c608bfb3f135bbbe789b80" }, "downloads": -1, "filename": "bat-0.2.7.tar.gz", "has_sig": false, "md5_digest": "8ff2c14b3689a7d2e12a0d2014fee9d8", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 88629, "upload_time": "2017-09-07T19:00:11", "url": "https://files.pythonhosted.org/packages/6f/2d/86553ff093cefd066a5d6ae2ea9e8d1ef6e52251b9f44238b1a93e95c8e3/bat-0.2.7.tar.gz" } ], "0.2.9": [ { "comment_text": "", "digests": { "md5": "6fb3986910537aaa28c99a4d14ed45b9", "sha256": "e4bc9eba8f51466b6a435961ca9d8b89448d2a02924c50e94db8949f4da642b2" }, "downloads": -1, "filename": "bat-0.2.9-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "6fb3986910537aaa28c99a4d14ed45b9", "packagetype": "bdist_wheel", "python_version": "3.6", "requires_python": null, "size": 111473, "upload_time": "2017-09-10T20:18:11", "url": "https://files.pythonhosted.org/packages/ee/3b/f269f0df9d9a250a1aa4413955e5df7299cc3cfed360edfc85451afb1b55/bat-0.2.9-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "d57869a1a1e7d62beae3cc2e41eff458", "sha256": "810652471f98575f4a80de7ef4e933293fac44d5f8533f259d2880ecf47c746f" }, "downloads": -1, "filename": "bat-0.2.9.tar.gz", "has_sig": false, "md5_digest": "d57869a1a1e7d62beae3cc2e41eff458", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 20635, "upload_time": "2017-09-10T20:18:09", "url": "https://files.pythonhosted.org/packages/e0/ef/ffb764466d7288797ae2c8b6b123b966ccdf04ba8b3faf60f2dc4b77e3e2/bat-0.2.9.tar.gz" } ], "0.3.0": [ { "comment_text": "", "digests": { "md5": "961b2789f11425f74b02237f281f0d97", "sha256": "41ed654fee3103ddc2b25266aef0420776dd1010c71cb4e3186e705c3cb9e8c3" }, "downloads": -1, "filename": "bat-0.3.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "961b2789f11425f74b02237f281f0d97", "packagetype": "bdist_wheel", "python_version": "2.7", "requires_python": null, "size": 111258, "upload_time": "2017-09-11T17:32:18", "url": "https://files.pythonhosted.org/packages/5e/70/5a711f5f9b2a6795c8d034650975da47c617c33fab663b351bfcd0d4aebf/bat-0.3.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "6ca2473a46d7c6a37f849d85c6530547", "sha256": "1ecd6b99f64f26b899eaba2c8080b317b3391f30a4fc2d640b6bdb19108d9226" }, "downloads": -1, "filename": "bat-0.3.0.tar.gz", "has_sig": false, "md5_digest": "6ca2473a46d7c6a37f849d85c6530547", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 92190, "upload_time": "2017-09-11T17:32:16", "url": "https://files.pythonhosted.org/packages/74/ba/5cbd1b73ac092211f08a22cddeb841761e264603dc2392840d26d23cdb2e/bat-0.3.0.tar.gz" } ], "0.3.1": [ { "comment_text": "", "digests": { "md5": "5a657e266a00266b03d09f8672ca48a7", "sha256": "2992963dd0cafee074b23263d3c1da4ba45cd15f6b59f159d23a47d7f31f518b" }, "downloads": -1, "filename": "bat-0.3.1.tar.gz", "has_sig": false, "md5_digest": "5a657e266a00266b03d09f8672ca48a7", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 20719, "upload_time": "2017-09-27T20:35:21", "url": "https://files.pythonhosted.org/packages/b1/f4/814316453011cbf9b1d90c2d826b946455a046f3fbd619ea183c81baac55/bat-0.3.1.tar.gz" } ], "0.3.2": [ { "comment_text": "", "digests": { "md5": "c0ad487bc2c6a9959cade21149e7f6ab", "sha256": "9ef39e086553c94dab984790ffe929d4564f1b6c420f8198d48478c47517ea6f" }, "downloads": -1, "filename": "bat-0.3.2.tar.gz", "has_sig": false, "md5_digest": "c0ad487bc2c6a9959cade21149e7f6ab", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 22163, "upload_time": "2017-10-05T20:25:49", "url": "https://files.pythonhosted.org/packages/27/3a/b1e4c3a6373d3fc8000a7e7083c99a54bdfb58beff215ad8097b5e435d01/bat-0.3.2.tar.gz" } ], "0.3.3": [ { "comment_text": "", "digests": { "md5": "9dc5b460d92a73b487bde4e09aec959d", "sha256": "7cabeae71c8fb90e1c1cf8d867dc1644aaccedf60477d7b32ef60dca3eab5384" }, "downloads": -1, "filename": "bat-0.3.3-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "9dc5b460d92a73b487bde4e09aec959d", "packagetype": "bdist_wheel", "python_version": "2.7", "requires_python": null, "size": 116868, "upload_time": "2017-10-18T22:40:59", "url": "https://files.pythonhosted.org/packages/1a/f8/f8b816f0f538519ecfb30d996545fc845cd93f105e9c6d52b73d9f1d4602/bat-0.3.3-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "269e23510c2c5b918c8169c23e905fd8", "sha256": "ebc012826c23b25a890d88eb355467940c77ac50ef85fbd891a6e8ddb2620d44" }, "downloads": -1, "filename": "bat-0.3.3.tar.gz", "has_sig": false, "md5_digest": "269e23510c2c5b918c8169c23e905fd8", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 96151, "upload_time": "2017-10-18T22:40:55", "url": "https://files.pythonhosted.org/packages/8a/d8/f5e6ea5505a4c2516a6c93b38dc5fca6c515a9b435fb22f76afa51293e4d/bat-0.3.3.tar.gz" } ], "0.3.4": [ { "comment_text": "", "digests": { "md5": "30b324f796d57632fdd973a8fef3547b", "sha256": "50c88e783b91fcd007a3940a0a20ce85e32a5d4d8cf876d4b0cd709dd506de91" }, "downloads": -1, "filename": "bat-0.3.4-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "30b324f796d57632fdd973a8fef3547b", "packagetype": "bdist_wheel", "python_version": "2.7", "requires_python": null, "size": 164451, "upload_time": "2017-11-30T20:08:02", "url": "https://files.pythonhosted.org/packages/d4/0a/d99a6de79541e3cb8196ed89b64312a4c406326e90717b0e1cb292230f5b/bat-0.3.4-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "8483f0a28a64dc38fb9d93fc448f05b7", "sha256": "ec61c7cca31d1545b5038fff0f1e461454570286dc5bdc4ec15e5e84e50ff77e" }, "downloads": -1, "filename": "bat-0.3.4.tar.gz", "has_sig": false, "md5_digest": "8483f0a28a64dc38fb9d93fc448f05b7", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 24494, "upload_time": "2017-11-30T20:07:58", "url": "https://files.pythonhosted.org/packages/08/3b/6c42f2a4be531e3da40ddb3200248582acabf3045592fd296878ea5d0b08/bat-0.3.4.tar.gz" } ], "0.3.5": [ { "comment_text": "", "digests": { "md5": "5bc851996715ee6af80914f4edb31ea0", "sha256": "70980b3e624b5f19864b95625a9421234273d9bcb16a6704e6c0574ffe8fc7d0" }, "downloads": -1, "filename": "bat-0.3.5-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "5bc851996715ee6af80914f4edb31ea0", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 166557, "upload_time": "2019-09-07T23:57:52", "url": "https://files.pythonhosted.org/packages/75/40/43d5794cd5fb30997e0d7d9940d59c163a1b7b9b1eba180283ff2d314019/bat-0.3.5-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "2c7b94f20b618d98319254ae14b5ed06", "sha256": "81a3634c65972a7d36656867e43d6637eec35470411fa89f6fc6eb2804435489" }, "downloads": -1, "filename": "bat-0.3.5.tar.gz", "has_sig": false, "md5_digest": "2c7b94f20b618d98319254ae14b5ed06", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 142418, "upload_time": "2019-09-07T23:57:55", "url": "https://files.pythonhosted.org/packages/7b/b9/21bbd7f2f78b26aeb7184ea3f72de697cfcd6d1299195c8b3e46f2eb14c1/bat-0.3.5.tar.gz" } ], "0.3.6": [ { "comment_text": "", "digests": { "md5": "fb5a89ca06baed5f769dd42bb25480b9", "sha256": "1d3a90fa9dc1f88941fa16991042d10e9d47716fcc42dbe89112b8e0585e2334" }, "downloads": -1, "filename": "bat-0.3.6-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "fb5a89ca06baed5f769dd42bb25480b9", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 166579, "upload_time": "2019-09-08T00:22:57", "url": "https://files.pythonhosted.org/packages/84/49/2fe1e64a0a3987a64575a276f0a56454d0d45cab48f778585a90eb8292e9/bat-0.3.6-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "dccda818b119ec814120f585a3b344f3", "sha256": "ede0ce27611e37536a68991874766ce5c4fefea67a322a4a1be67e121eae278e" }, "downloads": -1, "filename": "bat-0.3.6.tar.gz", "has_sig": false, "md5_digest": "dccda818b119ec814120f585a3b344f3", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 142474, "upload_time": "2019-09-08T00:22:59", "url": "https://files.pythonhosted.org/packages/b3/21/1542230e50d193e14e9b5b71c159b6f4d38e42e57403acf08fabc1497e9c/bat-0.3.6.tar.gz" } ], "0.3.7": [ { "comment_text": "", "digests": { "md5": "3337d5bb51b424966e71cd02d518afe8", "sha256": "04d51c59865f42d89554efdab51fc304d5dc02c699edebc9e9af4693ea74e649" }, "downloads": -1, "filename": "bat-0.3.7-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "3337d5bb51b424966e71cd02d518afe8", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 164915, "upload_time": "2019-09-27T20:29:56", "url": "https://files.pythonhosted.org/packages/8b/6b/2fd93684ff1777b9a15d5dee966f9a361bbef6a2495738a50a7ae3bee2f2/bat-0.3.7-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "8982fa720f0d51e3c091553fb32a33d4", "sha256": "ac84db8d6dbd50919c6738487e18427c0f023551a8fc6e097cdb7251d5710b15" }, "downloads": -1, "filename": "bat-0.3.7.tar.gz", "has_sig": false, "md5_digest": "8982fa720f0d51e3c091553fb32a33d4", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 141849, "upload_time": "2019-09-27T20:29:58", "url": "https://files.pythonhosted.org/packages/22/a7/dbc5dc6a223974b264a6b4cad11bd9ba9381c0ff4db5b7ff763c4c807429/bat-0.3.7.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "3337d5bb51b424966e71cd02d518afe8", "sha256": "04d51c59865f42d89554efdab51fc304d5dc02c699edebc9e9af4693ea74e649" }, "downloads": -1, "filename": "bat-0.3.7-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "3337d5bb51b424966e71cd02d518afe8", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 164915, "upload_time": "2019-09-27T20:29:56", "url": "https://files.pythonhosted.org/packages/8b/6b/2fd93684ff1777b9a15d5dee966f9a361bbef6a2495738a50a7ae3bee2f2/bat-0.3.7-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "8982fa720f0d51e3c091553fb32a33d4", "sha256": "ac84db8d6dbd50919c6738487e18427c0f023551a8fc6e097cdb7251d5710b15" }, "downloads": -1, "filename": "bat-0.3.7.tar.gz", "has_sig": false, "md5_digest": "8982fa720f0d51e3c091553fb32a33d4", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 141849, "upload_time": "2019-09-27T20:29:58", "url": "https://files.pythonhosted.org/packages/22/a7/dbc5dc6a223974b264a6b4cad11bd9ba9381c0ff4db5b7ff763c4c807429/bat-0.3.7.tar.gz" } ] }