{ "info": { "author": "Ian Hellen", "author_email": "ianhelle@microsoft.com", "bugtrack_url": null, "classifiers": [ "Development Status :: 4 - Beta", "License :: OSI Approved :: MIT License", "Operating System :: OS Independent", "Programming Language :: Python :: 3.6" ], "description": "# MSTIC Jupyter and Python Security Tools\n\nMicrosoft Threat Intelligence Python Security Tools.\n\nThe **msticpy** package was initially developed to support [Jupyter Notebook](https://jupyter-notebook.readthedocs.io/en/stable/examples/Notebook/What%20is%20the%20Jupyter%20Notebook.html)\nauthoring for [Azure Sentinel](https://azure.microsoft.com/en-us/services/azure-sentinel/).\nMany of the included tools can be used in other security scenarios for threat hunting\nand threat investigation. There are three main sub-packages:\n\n- sectools - python security tools to help with data analysis or investigation\n- nbtools - Jupyter-specific UI tools such as widgets and data display\n- data - data interfaces specific to Sentinel/Log Analytics\n\nThe package is in an early preview mode so there are likely to be bugs and there are several\nareas that are not yet optimized for performance.\n\nWe welcome feedback, bug reports, suggestions for new features and contributions.\n\n## Installing\n\n`pip install msticpy`\n\nor for the latest dev build\n\n`pip install git+https://github.com/microsoft/msticpy`\n\n## Documentation\n\nFull documentation is at [ReadTheDocs](https://msticpy.readthedocs.io/en/latest/overview.html)\n\nSample notebooks for many of the modules are in the [docs/notebooks](./docs/notebooks) folder and accompanying notebooks.\n\nYou can also browse through the sample notebooks referenced at the end of this document\n(especially the *Windows Alert Investigation* notebook) to see some of the functionality used in context.\n\n---\n\n## Security Tools Sub-package - `sectools`\n\nThis subpackage contains several modules helpful for working on security investigations and hunting:\n\n### base64unpack\n\nBase64 and archive (gz, zip, tar) extractor. Input can either be a single string\nor a specified column of a pandas dataframe. It will try to identify any base64 encoded\nstrings and decode them. If the result looks like one of the supported archive types it\nwill unpack the contents. The results of each decode/unpack are rechecked for further\nbase64 content and will recurse down up to 20 levels (default can be overridden).\nOutput is to a decoded string (for single string input) or a DataFrame (for dataframe input).\n\n[Base64Unpack Notebook](./docs/notebooks/Base64Unpack.ipynb)\n\n### iocextract\n\nUses a set of builtin regular expressions to look for Indicator of Compromise (IoC) patterns.\nInput can be a single string or a pandas dataframe with one or more columns specified as input.\n\nThe following types are built-in:\n\n- IPv4 and IPv6\n- URL\n- DNS domain\n- Hashes (MD5, SHA1, SHA256)\n- Windows file paths\n- Linux file paths (this is kind of noisy because a legal linux file path can have almost any character)\n\nYou can modify or add to the regular expressions used at runtime.\n\nOutput is a dictionary of matches (for single string input) or a DataFrame (for dataframe input).\n\n[Base64Unpack Notebook](./docs/notebooks/IoCExtract.ipynb)\n\n### tiproviders\n\nThe TILookup class can lookup IoCs across multiple TI providers. builtin\nproviders include AlienVault OTX, IBM XForce, VirusTotal and Azure Sentinel.\n\nThe input can be a single IoC observable or a pandas DataFrame containing\nmultiple observables. Depending on the provider, you may require an account\nand an API key. Some providers also enforce throttling (especially for free\ntiers), which might affect performing bulk lookups.\n\nFor more details see :doc:`TIProviders` and\n[TILookup Usage Notebook](./docs/notebooks/TIProviders.ipynb)\n\n### vtlookup\n\nWrapper class around [Virus Total API](https://www.virustotal.com/en/documentation/public-api/).\nInput can be a single IoC observable or a pandas DataFrame containing multiple observables.\nProcessing requires a Virus Total account and API key and processing performance is limited to\nthe number of requests per minute for the account type that you have.\nSupport IoC Types:\n\n- Filehash\n- URL\n- DNS Domain\n- IPv4 Address\n\n[VTLookup Notebook](./docs/notebooks/VirusTotalLookup.ipynb)\n\n### geoip\n\nGeographic location lookup for IP addresses.\nThis module has two classes for different services:\n\n- GeoLiteLookup - Maxmind Geolite (see )\n- IPStackLookup - IPStack (see )\n\nBoth services offer a free tier for non-commercial use. However,\na paid tier will normally get you more accuracy, more detail and\na higher throughput rate. Maxmind geolite uses a downloadable database,\nwhile IPStack is an online lookup (API key required).\n\n[GeoIP Lookup Notebook](./docs/notebooks/GeoIPLookups.ipynb)\n\n### eventcluster\n\nThis module is intended to be used to summarize large numbers of\nevents into clusters of different patterns. High volume repeating\nevents can often make it difficult to see unique and interesting items.\n\nThis is an unsupervised learning module implemented using SciKit Learn DBScan.\n\nThe module contains functions to generate clusterable features from\nstring data. For example, an administration command that\ndoes some maintenance on thousands of servers with a commandline like the following\n```bash\ninstall-update -hostname {host.fqdn} -tmp:/tmp/{GUID}/rollback\n```\ncan be collapsed into a single cluster pattern by ignoring the character \nvalues of the host and guids in the string and using delimiters or tokens to\ngroup the values. This allows you to more easily see distinct patterns of \nactivity.\n\n[Event Clustering Notebook](./docs/notebooks/EventClustering.ipynb)\n\n\n### outliers\n\nSimilar to the eventcluster module, but a little bit more experimental (read 'less tested').\nIt uses SkLearn Isolation Forest to identify outlier events in a single data set or using\none data set as training data and another on which to predict outliers.\n\n### auditdextract\n\nModule to load and decode Linux audit logs. It collapses messages sharing the same\nmessage ID into single events, decodes hex-encoded data fields and performs some\nevent-specific formatting and normalization (e.g. for process start events it will\nre-assemble the process command line arguments into a single string).\n\nThis is still a work-in-progress.\n\n## Notebook tools sub-package - `nbtools`\n\nThis is a collection of display and utility modules designed to make working\nwith security data in Jupyter notebooks quicker and easier.\n\n- nbwidgets - groups common functionality such as list pickers, time boundary settings, saving and retrieving environment variables into a single line callable command.\n- nbdisplay - functions that implement common display of things like alerts, events in a slightly more consumable way than print()\n- entityschema - implements entity classes (e.g. Host, Account, IPAddress) used in Log Analytics alerts and in many of these modules. Each entity encaspulates one or more properties related to the entity.\n\n[Notebook Tools Notebook](./docs/notebooks/NotebookWidgets.ipynb)\n\n## Data sub-package - `data`\n\nThese components are currently still part of the nbtools sub-package but will be\nrefactored to separate them into their own package.\n\n- query manager - collection of modules that implement common kql/Log Analytics queries using KqlMagic\n- security_alert and security_event - encapsulation classes for alerts and events.\n\nEach has a standard 'entities' property reflecting the entities found in the alert or event.\nThese can also be used as meta-parameters for many of the queries.\nFor example, the following query will extract the value for the `hostname` query parameter\nfrom the alert:\n\n`qry.list_host_logons(provs==[query_times, alert])`\n\n---\n\n## Clone the notebooks in this repo to Azure Notebooks\n\nRequires sign-in to Azure Notebooks\n\n\n\n\n## More Notebook Examples\n\nSee the following notebooks for more examples of the use of this package in practice:\n\n- Windows Alert Investigation in [github](https://github.com/Azure/Azure-Sentinel/blob/master/Notebooks/Sample-Notebooks/Example%20-%20Guided%20Investigation%20-%20Process-Alerts.ipynb) or [NbViewer](https://nbviewer.jupyter.org/github/Azure/Azure-Sentinel/blob/master/Notebooks/Sample-Notebooks/Example%20-%20Guided%20Investigation%20-%20Process-Alerts.ipynb)\n- Windows Host Explorer in [github](https://github.com/Azure/Azure-Sentinel/blob/master/Notebooks/Sample-Notebooks/Example%20-%20Guided%20Hunting%20-%20Windows-Host-Explorer.ipynb) or [NbViewer](https://nbviewer.jupyter.org/github/Azure/Azure-Sentinel/blob/master/Notebooks/Sample-Notebooks/Example%20-%20Guided%20Hunting%20-%20Windows-Host-Explorer.ipynb)\n- Office 365 Exploration in [github](https://github.com/Azure/Azure-Sentinel/blob/master/Notebooks/Sample-Notebooks/Example%20-%20Guided%20Hunting%20-%20Office365-Exploring.ipynb) or [NbViewer](https://nbviewer.jupyter.org/github.com/Azure/Azure-Sentinel/blob/master/Notebooks/Sample-Notebooks/Example%20-%20Guided%20Hunting%20-%20Office365-Exploring.ipynb)\n- Cross-Network Hunting in [github](https://github.com/Azure/Azure-Sentinel/blob/master/Notebooks/Sample-Notebooks/Example%20-%20Guided%20Hunting%20-%20Linux-Windows-Office.ipynb) or [NbViewer](https://nbviewer.jupyter.org/github/Azure/Azure-Sentinel/blob/master/Notebooks/Sample-Notebooks/Example%20-%20Guided%20Hunting%20-%20Linux-Windows-Office.ipynb)\n\n## To-Do Items\n\n- Refactor data modules into separate sub-package(s).\n- Add additional notebooks to document use of the tools.\n\n## Supported Platforms and Packages\n\n- msticpy is OS-independent\n- Requires [Python 3.6 or later](https://www.python.org/dev/peps/pep-0494/)\n- Requires the following python packages: pandas, bokeh, matplotlib, seaborn, setuptools, urllib3, ipywidgets, numpy, attrs, requests, networkx, ipython, scikit_learn, typing\n- The following packages are recommended and needed for some specific functionality: Kqlmagic, maxminddb_geolite2, folium, dnspython, ipwhois\n\nSee [requirements.txt](requirements.txt) for more details and version requirements.\n\n---\n\n## Contributing\n\nThis project welcomes contributions and suggestions. Most contributions require you to agree to a\nContributor License Agreement (CLA) declaring that you have the right to, and actually do, grant us\nthe rights to use your contribution. For details, visit .\n\nWhen you submit a pull request, a CLA-bot will automatically determine whether you need to provide\na CLA and decorate the PR appropriately (e.g., label, comment). Simply follow the instructions\nprovided by the bot. You will only need to do this once across all repos using our CLA.\n\nThis project has adopted the [Microsoft Open Source Code of Conduct](https://opensource.microsoft.com/codeofconduct/).\nFor more information see the [Code of Conduct FAQ](https://opensource.microsoft.com/codeofconduct/faq/) or\ncontact [opencode@microsoft.com](mailto:opencode@microsoft.com) with any additional questions or comments.\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/microsoft/msticpy", "keywords": "security,azure,sentinel", "license": "MIT License", "maintainer": "", "maintainer_email": "", "name": "msticpy", "package_url": "https://pypi.org/project/msticpy/", "platform": "", "project_url": "https://pypi.org/project/msticpy/", "project_urls": { "Code": "https://github.com/microsoft/msticpy", "Documentation": "https://msticpy.readthedocs.io", "Homepage": "https://github.com/microsoft/msticpy" }, "release_url": "https://pypi.org/project/msticpy/0.2.6/", "requires_dist": [ "attrs (>=18.2.0)", "bokeh (>=1.0.2)", "deprecated (>=1.2.4)", "folium (>=0.9.0)", "ipython (>=7.1.1)", "ipywidgets (>=7.4.2)", "Kqlmagic (>=0.1.94)", "matplotlib (>=3.0.0)", "geoip2 (>=2.9.0)", "networkx (>=2.2)", "numpy (>=1.12.0)", "pandas (>=0.23.0)", "requests (>=2.20.1)", "scikit-learn (>=0.20.2)", "setuptools (>=40.6.2)", "typing (>=3.6.6)", "urllib3 (>=1.24.0)" ], "requires_python": ">=3.6", "summary": "MSTIC Security Tools", "version": "0.2.6" }, "last_serial": 5858528, "releases": { "0.1.3": [ { "comment_text": "", "digests": { "md5": "ed39ed8a1745c21fbc79cd18cc70b957", "sha256": "af9c59e7474de6f74cbcb9f19ba45e061d81405480de374ce352cc54283d8e5a" }, "downloads": -1, "filename": "msticpy-0.1.3-py3-none-any.whl", "has_sig": false, "md5_digest": "ed39ed8a1745c21fbc79cd18cc70b957", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6", "size": 89977, "upload_time": "2019-03-07T13:38:47", "url": "https://files.pythonhosted.org/packages/08/dd/22763b433728b29c267837b4d9990c5f18ed3b1da21b01621343aa607f57/msticpy-0.1.3-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "6d44380945dc9b20e50effbae3b24776", "sha256": "22478e2206e95a91c4d2045e8a565a62455c359d1e446f6f80b5b7272776b5e8" }, "downloads": -1, "filename": "msticpy-0.1.3.tar.gz", "has_sig": false, "md5_digest": "6d44380945dc9b20e50effbae3b24776", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6", "size": 74363, "upload_time": "2019-03-07T13:38:49", "url": "https://files.pythonhosted.org/packages/bf/1d/cceaa625f3c3a97d3cd7df807d26b9bf2e3675b6235ce20b24e172d93de3/msticpy-0.1.3.tar.gz" } ], "0.1.4": [ { "comment_text": "", "digests": { "md5": "a704ef06a3f94ecad4bbadfc11188870", "sha256": "4e0b2a359cfa5539e45b1dcd0c120e99275b31f649058a5c1705951fc3b2a5d6" }, "downloads": -1, "filename": "msticpy-0.1.4-py3-none-any.whl", "has_sig": false, "md5_digest": "a704ef06a3f94ecad4bbadfc11188870", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6", "size": 95178, "upload_time": "2019-04-03T10:48:47", "url": "https://files.pythonhosted.org/packages/14/b3/98c7340f7d2d1d3e0e2b28b7298cf34b2b575cbda0fb8653d9dbbf9e73d2/msticpy-0.1.4-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "927c86a43cbc913af4fb2f5065848099", "sha256": "465e1b11c6699fbe5e497b40cca4afec010d4ee6b783953f7c9b4bfd6f49ce23" }, "downloads": -1, "filename": "msticpy-0.1.4.tar.gz", "has_sig": false, "md5_digest": "927c86a43cbc913af4fb2f5065848099", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6", "size": 81058, "upload_time": "2019-04-03T10:48:48", "url": "https://files.pythonhosted.org/packages/45/f9/a609449c7b2a1b29d13b5d065256df6be5a1944c71350519cc2da36c4854/msticpy-0.1.4.tar.gz" } ], "0.1.5": [ { "comment_text": "", "digests": { "md5": "c676fe63d83621eaea263d111e42036c", "sha256": "3db619dd730035e9df9a3bbc9d44c9ffe1d9eac38a9259c402de687eb480f83e" }, "downloads": -1, "filename": "msticpy-0.1.5-py3-none-any.whl", "has_sig": false, "md5_digest": "c676fe63d83621eaea263d111e42036c", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 105362, "upload_time": "2019-04-08T10:56:17", "url": "https://files.pythonhosted.org/packages/00/15/9ae4832ef963d2100eba8a638cdbb82949c6fa424231bd82bc0a62d835d9/msticpy-0.1.5-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "c69bde953616ddc6a9732e27625eff86", "sha256": "20a1a72aaea4eeeacb59083aab27381355fb56ccec10e2b20dba15d43700585c" }, "downloads": -1, "filename": "msticpy-0.1.5.tar.gz", "has_sig": false, "md5_digest": "c69bde953616ddc6a9732e27625eff86", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 89002, "upload_time": "2019-04-08T10:56:18", "url": "https://files.pythonhosted.org/packages/5f/78/2bdd8ae3fec900fc8828b7d73c419536c6b816ae23fc3a3377359f8976c1/msticpy-0.1.5.tar.gz" } ], "0.1.6": [ { "comment_text": "", "digests": { "md5": "642721d1e791c5a08e83c58935265fbb", "sha256": "a741d6727833c4c6a3ee67c3f68aa0f8b4abd0aff1912d2ea6e1b54e842da9b7" }, "downloads": -1, "filename": "msticpy-0.1.6-py3-none-any.whl", "has_sig": false, "md5_digest": "642721d1e791c5a08e83c58935265fbb", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6", "size": 110468, "upload_time": "2019-04-15T10:52:48", "url": "https://files.pythonhosted.org/packages/14/35/fc4af958c9f863571613b76649955a5ead9fac6f3209bd90bb16b2309cce/msticpy-0.1.6-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "214e091e837fd6dbe2263d99f3d70b3f", "sha256": "38dd1e770d4b7cb146e969f3f13492f1efabe4df622c73ca0d19a2d667de355e" }, "downloads": -1, "filename": "msticpy-0.1.6.tar.gz", "has_sig": false, "md5_digest": "214e091e837fd6dbe2263d99f3d70b3f", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6", "size": 92824, "upload_time": "2019-04-15T10:52:50", "url": "https://files.pythonhosted.org/packages/13/fb/acee8a0c7560b59fe5f2247c348963db7cb23bc337dc9af20f525f9eca15/msticpy-0.1.6.tar.gz" } ], "0.1.7": [ { "comment_text": "", "digests": { "md5": "9d03bc4c8048475ca76e70fc20f1423b", "sha256": "d9218fd1b93484e6b1008c07824ad95ac45082a1d1f8e80ecd04f553ec4902c7" }, "downloads": -1, "filename": "msticpy-0.1.7-py3-none-any.whl", "has_sig": false, "md5_digest": "9d03bc4c8048475ca76e70fc20f1423b", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6", "size": 110473, "upload_time": "2019-04-15T16:10:10", "url": "https://files.pythonhosted.org/packages/9e/94/b16baaf97a0877fbee1c5be91d2d83258bb4adc7395b7b37b1a79bc21314/msticpy-0.1.7-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "4516e23b6f3a2f54a04a938e9b06646c", "sha256": "f3841d91e3853d06ba15c7d3bea4441fa4076b7f8fbcfc73d5ddac302ed4623d" }, "downloads": -1, "filename": "msticpy-0.1.7.tar.gz", "has_sig": false, "md5_digest": "4516e23b6f3a2f54a04a938e9b06646c", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6", "size": 92885, "upload_time": "2019-04-15T16:10:12", "url": "https://files.pythonhosted.org/packages/5c/c3/488cf49464680180802a50fb68adc7ce7d46d6c9c2516d4b8bc74a0182e6/msticpy-0.1.7.tar.gz" } ], "0.1.8": [ { "comment_text": "", "digests": { "md5": "59781892fad8c980646c6b86646a5ece", "sha256": "4be14e05ede6a8fcdda30c4af5eeb1f1f24bbec9604ce573899e72e2b168a1c2" }, "downloads": -1, "filename": "msticpy-0.1.8-py3-none-any.whl", "has_sig": false, "md5_digest": "59781892fad8c980646c6b86646a5ece", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6", "size": 126709, "upload_time": "2019-05-30T12:35:36", "url": "https://files.pythonhosted.org/packages/3f/45/453bc4caed9b51072f6b9c5afe6edcd6c1b9342ab3250c44968cc873db5a/msticpy-0.1.8-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "d077dcb7048ea972009b4be918868973", "sha256": "f59d25fdd10b208f153a55ba519abdeb117adc11aba3b0a9e412cc735a7171e4" }, "downloads": -1, "filename": "msticpy-0.1.8.tar.gz", "has_sig": false, "md5_digest": "d077dcb7048ea972009b4be918868973", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6", "size": 103540, "upload_time": "2019-05-30T12:35:37", "url": "https://files.pythonhosted.org/packages/5f/25/3f9cb1d3911b7fd5326345b9866c443d860b8ddf93c2b8c9e8638f17843b/msticpy-0.1.8.tar.gz" } ], "0.1.9": [ { "comment_text": "", "digests": { "md5": "61a5427ddcbddb85170a02bc90e872fe", "sha256": "643e9d5df46cd55e1d3215e298e1e25d9e92eb64a68832a3cb710d9aa0b764ce" }, "downloads": -1, "filename": "msticpy-0.1.9-py3-none-any.whl", "has_sig": false, "md5_digest": "61a5427ddcbddb85170a02bc90e872fe", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6", "size": 126719, "upload_time": "2019-06-06T16:12:29", "url": "https://files.pythonhosted.org/packages/a6/e5/b81a259750fe11c4696dc71c2b10016db4eef83a16e13e3a254a60c0e6e4/msticpy-0.1.9-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "879d787968c3cc410940b12c75b0939f", "sha256": "9939390adf3ac51ec9789c526cfbc478cb045d97075ea30a24ee7f9358b9267a" }, "downloads": -1, "filename": "msticpy-0.1.9.tar.gz", "has_sig": false, "md5_digest": "879d787968c3cc410940b12c75b0939f", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6", "size": 103535, "upload_time": "2019-06-06T16:12:30", "url": "https://files.pythonhosted.org/packages/56/08/eef85c861f769b03a938719d9a3bb16b958f6ad76a7b39c4c97e39777a4e/msticpy-0.1.9.tar.gz" } ], "0.2.1": [ { "comment_text": "", "digests": { "md5": "ddb809d2314a676dae4e6d1c4f5424bf", "sha256": "2ea2374619cf98b825c90c0978c7b441f68b387ee99da49a2476392e8fdf4155" }, "downloads": -1, "filename": "msticpy-0.2.1-py3-none-any.whl", "has_sig": false, "md5_digest": "ddb809d2314a676dae4e6d1c4f5424bf", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 161012, "upload_time": "2019-08-01T17:18:37", "url": "https://files.pythonhosted.org/packages/1a/88/e4273e824fb8d60f49235b0183a2491e612282fac94116cdccd88339d1bf/msticpy-0.2.1-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "927201cdd30bac0760d284ebfaaf3fca", "sha256": "cef125338ef19c1f2175472d595b9008030753efcbe5d7ccdebf23f82358644c" }, "downloads": -1, "filename": "msticpy-0.2.1.tar.gz", "has_sig": false, "md5_digest": "927201cdd30bac0760d284ebfaaf3fca", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 128613, "upload_time": "2019-08-01T17:18:39", "url": "https://files.pythonhosted.org/packages/8f/9b/230371e32d2d54dce97747c9d3dda574ed7d747cd3642e875af8418af1ec/msticpy-0.2.1.tar.gz" } ], "0.2.3": [ { "comment_text": "", "digests": { "md5": "b53f5f84f9e75d062a19b874feb94208", "sha256": "1792332341af835431e9d5d03d2cb0c42e1fb9fe02485460bcf907a98e424308" }, "downloads": -1, "filename": "msticpy-0.2.3-py3-none-any.whl", "has_sig": false, "md5_digest": "b53f5f84f9e75d062a19b874feb94208", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 168711, "upload_time": "2019-08-03T18:53:58", "url": "https://files.pythonhosted.org/packages/c2/c4/d9250044957261f8e2b06b16c3cb618a79268a5b4e34183162a3094a1a2b/msticpy-0.2.3-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "75d972cce9b0271545af23764039e0a0", "sha256": "9a2a5a12a932e68fe3683d2310d434c78e3f175265373456ff940c1fe97c3aa2" }, "downloads": -1, "filename": "msticpy-0.2.3.tar.gz", "has_sig": false, "md5_digest": "75d972cce9b0271545af23764039e0a0", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 133635, "upload_time": "2019-08-03T18:53:59", "url": "https://files.pythonhosted.org/packages/24/d6/66f8c24ff0ff17e6cc9de5c140febd6b0c1883a6968db3a7cd61b768561f/msticpy-0.2.3.tar.gz" } ], "0.2.4": [ { "comment_text": "", "digests": { "md5": "b0f09413a4a46af28ff564f8eb79c7e3", "sha256": "8aa0460700da489e9287a020c8eb1177eb3172833f1994da0e27fcf595ba071d" }, "downloads": -1, "filename": "msticpy-0.2.4-py3-none-any.whl", "has_sig": false, "md5_digest": "b0f09413a4a46af28ff564f8eb79c7e3", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6", "size": 167976, "upload_time": "2019-08-06T20:42:51", "url": "https://files.pythonhosted.org/packages/d0/6b/b967a93e332ecadc873f859c84dd0481e6723434c6195329a9f592f57143/msticpy-0.2.4-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "9c1deba5cdeb1dfc93886ca7f9fdb796", "sha256": "a0a666006380b2350a3bd8baf568b7335f9e85be7545ef0e786c44e0a429c6e4" }, "downloads": -1, "filename": "msticpy-0.2.4.tar.gz", "has_sig": false, "md5_digest": "9c1deba5cdeb1dfc93886ca7f9fdb796", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6", "size": 132356, "upload_time": "2019-08-06T20:42:53", "url": "https://files.pythonhosted.org/packages/b0/01/95b90034a60d41b18a2c88a92490968108042a61b23169343c4c95105d6d/msticpy-0.2.4.tar.gz" } ], "0.2.5": [ { "comment_text": "", "digests": { "md5": "ca7da3b0f2e02dc110ed48e0e954bcec", "sha256": "1814ffed028c54fb674ac6f0cdf3b4f7c040f76ff61a72fe7f173c315f2993f6" }, "downloads": -1, "filename": "msticpy-0.2.5-py3-none-any.whl", "has_sig": false, "md5_digest": "ca7da3b0f2e02dc110ed48e0e954bcec", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6", "size": 179270, "upload_time": "2019-08-23T04:57:46", "url": "https://files.pythonhosted.org/packages/07/d5/11f26832e84ce0b2eb85e7386d47ff6042ba1977a04f28a1923aa5de8d4f/msticpy-0.2.5-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "3cf0943217e219c62b98370a7d770df1", "sha256": "572a199643dd8876053a7e0829ab30ad0b2abe81c24f91ed8deb1885a0071884" }, "downloads": -1, "filename": "msticpy-0.2.5.tar.gz", "has_sig": false, "md5_digest": "3cf0943217e219c62b98370a7d770df1", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6", "size": 139788, "upload_time": "2019-08-23T04:57:48", "url": "https://files.pythonhosted.org/packages/26/94/313bfb511012d6613ea48fd594bf08caaaa0d8f43c84d264170a24bd0955/msticpy-0.2.5.tar.gz" } ], "0.2.6": [ { "comment_text": "", "digests": { "md5": "12e58981acde0d9ea2775547568222b0", "sha256": "dd298185a3ff37c29f6fd3c009ac2c564a9e7cf6b264942d91d1b4c07da0aade" }, "downloads": -1, "filename": "msticpy-0.2.6-py3-none-any.whl", "has_sig": false, "md5_digest": "12e58981acde0d9ea2775547568222b0", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6", "size": 201380, "upload_time": "2019-09-19T20:17:57", "url": "https://files.pythonhosted.org/packages/13/83/45fe9cee77e1e3c07909af62f4ef8e8a09d4dbf1d6a1193f3ad19a1729e0/msticpy-0.2.6-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "2a48510be4e15a3a941bd632067babdd", "sha256": "8ea77e3d01af3afe4db0170bd6a6fb319c1970cd127c009e41f8c497c9f71a22" }, "downloads": -1, "filename": "msticpy-0.2.6.tar.gz", "has_sig": false, "md5_digest": "2a48510be4e15a3a941bd632067babdd", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6", "size": 160001, "upload_time": "2019-09-19T20:17:59", "url": "https://files.pythonhosted.org/packages/e5/ff/35b691be2fdaf2846d12aeba749a7cd7522efafae15a0165306a472086b5/msticpy-0.2.6.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "12e58981acde0d9ea2775547568222b0", "sha256": "dd298185a3ff37c29f6fd3c009ac2c564a9e7cf6b264942d91d1b4c07da0aade" }, "downloads": -1, "filename": "msticpy-0.2.6-py3-none-any.whl", "has_sig": false, "md5_digest": "12e58981acde0d9ea2775547568222b0", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6", "size": 201380, "upload_time": "2019-09-19T20:17:57", "url": "https://files.pythonhosted.org/packages/13/83/45fe9cee77e1e3c07909af62f4ef8e8a09d4dbf1d6a1193f3ad19a1729e0/msticpy-0.2.6-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "2a48510be4e15a3a941bd632067babdd", "sha256": "8ea77e3d01af3afe4db0170bd6a6fb319c1970cd127c009e41f8c497c9f71a22" }, "downloads": -1, "filename": "msticpy-0.2.6.tar.gz", "has_sig": false, "md5_digest": "2a48510be4e15a3a941bd632067babdd", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6", "size": 160001, "upload_time": "2019-09-19T20:17:59", "url": "https://files.pythonhosted.org/packages/e5/ff/35b691be2fdaf2846d12aeba749a7cd7522efafae15a0165306a472086b5/msticpy-0.2.6.tar.gz" } ] }