{
"info": {
"author": "",
"author_email": "",
"bugtrack_url": null,
"classifiers": [
"Development Status :: 5 - Production/Stable",
"License :: OSI Approved :: Mozilla Public License 2.0 (MPL 2.0)",
"Programming Language :: Python :: 3 :: Only",
"Programming Language :: Python :: 3.7",
"Programming Language :: Python :: 3.8",
"Programming Language :: Python :: 3.9",
"Programming Language :: Python :: 3.10",
"Programming Language :: Python :: Implementation :: CPython",
"Topic :: Software Development :: Libraries :: Python Modules"
],
"description": "================\ncrashstats-tools\n================\n\nCommand line tools and library for interacting with Crash Stats\n(``_).\n\n:Code: https://github.com/willkg/crashstats-tools\n:Documentation: Check the ``README.rst`` file\n:Changelog: Check the ``HISTORY.rst`` file\n:Issue tracker: https://github.com/willkg/crashstats-tools/issues\n:License: MPLv2\n:Slack: ``#breakpad`` on Mozilla Slack\n:Community Participation Guidelines: ``_\n\n\nInstalling\n==========\n\ncrashstats-tools is available on `PyPI `_. You can install\nit with::\n\n $ pip install --user crashstats-tools\n\nSince it has commands that you want to use, you probably want to\ninstall it with `pipx `_::\n\n $ pipx install crashstats-tools\n\n\nSupport\n=======\n\nThis is a project that I spent some time on because it seemed helpful to me\nand others. I use it regularly for Crash Stats investigations and reprocessing.\nHowever, I'm not you! If you have any problems, please write up an issue in the\nissue tracker and I'll get to it when I'm able.\n\nIf you use this, like it, appreciate it, or have any positive feeling, please\ngive it a GitHub star. That helps me:\n\n1. have a proxy for knowing whether it's being used\n2. prioritize my time working on this project\n3. have a hand-wavey list of users in case I have questions and need to ask\n for advice\n\n\nTools\n=====\n\nsupersearch\n-----------\n\nPerform Super Search queries on Crash Stats.\n\nFetch 10 crash ids for Firefox::\n\n $ supersearch --num=10 --product=Firefox\n\nFetch all crash reports that have ``libc2.30.so/E22A1E7AEF7C58504AF2C60A5AD3A7AE0``\nin the ``modules_in_stack`` field::\n\n $ supersearch --modules_in_stack=libc2.30.so/E22A1E7AEF6C58504AF2C60A5AD3A7AE0\n\nThis is helpful when you need to reprocess crash reports after uploading symbols\nfor a module that we didn't have symbols for.\n\nFetch all crash reports that have ``libfenix.so`` in the ``modules_in_stack``\nfield::\n\n $ supersearch --verbose --modules_in_stack='^libfenix.so'\n\nFetch 57 crash ids that match a Super Search query::\n\n $ supersearch --num=57 --supersearch-url='https://crash-stats.mozilla.org/search/?release_channel=nightly&version=70.0a1&product=Firefox&_sort=-date'\n\nUse single quotes for values so that your shell doesn't do any shell expansion.\n\nFetch uuid, product, version, and build_id for crash reports that have \"OOM\" in\nthe signature::\n\n $ supersearch --_columns=uuid --_columns=product --_columns=version \\\n --_columns=build_id --signature='~OOM'\n\nResults are formatted as tab-delimited by default. JSON output is also\navailable.\n\nNote that this doesn't support Super Search aggregations--use\n``supersearchfacet`` for that.\n\nSee Super Search API documentation for details on notation and fields:\n\n* https://crash-stats.mozilla.org/documentation/supersearch/\n* https://crash-stats.mozilla.org/documentation/supersearch/api/\n\n\nsupersearchfacet\n----------------\n\nPerforms facets and daily-facets.\n\nSee the breakdown of crash reports by product for the last 7 days::\n\n $ supersearchfacet --_facets=product\n\nSee crashes broken down by product and down by day for the last 7 days::\n\n $ supersearchfacet --daily --relative-range=7d --_facets=product\n\nSee just Firefox crashes broken down by day for the last 14 days::\n\n $ supersearchfacet --daily --relative-range=14d --_facets=product --product=Firefox\n\nResults are formatted as tab-delimited by default. Markdown and JSON output are\nalso available.\n\nGet the table in Markdown for easy cut-and-paste into Markdown things::\n\n $ supersearchfacet --daily --format=markdown --relative-range=14d --_facets=product --product=Firefox\n\nSee Super Search API documentation for details on notation and fields:\n\n* https://crash-stats.mozilla.org/documentation/supersearch/\n* https://crash-stats.mozilla.org/documentation/supersearch/api/\n\n\nfetch-data\n----------\n\nFetch data for specified crash reports.\n\nThis lets you download raw crash, dumps, and processed crash from Crash Stats.\n\nFetch processed crash data for specific crash id::\n\n $ fetch-data --no-raw --no-dumps --processed 723cacd6-1684-420e-a1c7-f04240190731\n\nFetch raw crash data using supersearch command to generate crash ids::\n\n $ supersearch --product=Firefox --num=10 | \\\n fetch-data --raw --no-dumps --no-processed crashdir\n\n\nreprocess\n---------\n\nLet's you specify crash reports for reprocessing.\n\nReprocess an individual crash report::\n\n $ reprocess 723cacd6-1684-420e-a1c7-f04240190731\n\nReprocess crash reports based on a supersearch::\n\n $ supersearch --num=5 | reprocess\n\n.. Note::\n\n The ``reprocess`` command requires that you set ``CRASHSTATS_API_TOKEN`` in\n your environment with an API token that has the \"Reprocess Crashes\"\n permission.\n\n\n.. Note::\n\n If you intend to reprocess more than 10,000 crash reports, please tell\n us first.\n\n\nAPI token\n=========\n\nFor ``supersearch`` and ``fetch-data``, you need to use a API token to:\n\n* download data containing personally identifiable information\n* download security sensitive data\n* get out from the shadow of extreme API use rate limiting\n\nYou need an API token for ``reprocess``--it doesn't work without one.\n\nIf you have access, you can generate an API token here:\n\nhttps://crash-stats.mozilla.org/api/tokens/\n\nOnce you have acquired one, set the ``CRASHSTATS_API_TOKEN`` environment\nvariable when using crashstats-tools commands.\n\nRemember to abide by the data access policy when using data from Crash Stats!\nThe policy is specified here:\n\nhttps://crash-stats.mozilla.org/documentation/memory_dump_access/\n\n\nUse cases\n=========\n\nThese tools are helpful when downloading data for analysis as well as\ndownloading data to test other tools with.\n\n\nExample 1\n---------\n\nI want to collect a bunch of crash report data to look at possible values of an\nannotation in Firefox crash reports that's not available in Super Search, yet.\n\nSince I'm looking just at annotations, all I need is the raw crash.\n\nI would do something like this::\n\n $ mkdir crashdata\n $ supersearch --product=Firefox --num=1000 | \\\n fetch-data --raw --no-dumps --no-processed crashdata\n\nThen I can use ``jq`` or whatever to look at the crash report data in\n``crashdata/raw_crash/``.\n\n\nExample 2\n---------\n\nI want to test out a new JIT analysis tool that works on minidump files.\n\nI would write a script like this::\n\n #!/bin/bash\n \n CRASHSTATS_API_TOKEN=foo\n DATADIR=./crashdata\n CRASHIDS=$(supersearch --product=Firefox --num=1000)\n \n mkdir -p \"${DATADIR}\"\n \n for crashid in ${CRASHIDS}\n do\n echo \"crashid ${crashid}\"\n fetch-data --raw --dumps --no-processed \"${DATADIR}\" \"${crashid}\"\n \n # Not all crash reports have dumps--we only want to run analysis\n # on the ones that do.\n if [[ -e \"crashdata/dump/${crashid}\" ]]\n then\n echo \"analyze dump ${crashid}...\"\n # run my tool on the dump\n fi\n done\n \n\nExample 3\n---------\n\nI want to get a list of crash ids for today (2019-07-30) where\n``DOMFissionEnabled`` exists in the crash report.\n\nI would do this::\n\n $ supersearch --date=\">=2019-07-30\" --date='<2019-07-31' --dom_fission_enabled='!__null__'\n\n\nExample 4\n---------\n\nI want to see number of crash reports for the last 14 days broken down by day\nand by product where ``DOMFissionEnabled`` exists in the crash report.\n\nI would do this::\n\n $ supersearchfacet --daily --format=markdown --relative-range=14d --dom_fission_enabled='!__null__' --_facets=product\n\n\nPrior art and related projects\n==============================\n\nhttps://github.com/mozilla/libmozdata\n Python library which has a ``Supersearch`` class for performing queries and\n a ``ProcessedCrash`` class for fetching processed crash data.\n\nhttps://github.com/mozilla-services/socorro\n Socorro (the code base for Crash Stats) has a Docker-based local dev\n environment which includes a series of commands for manipulating data.\n\n https://socorro.readthedocs.io/en/latest/service/processor.html#processing-crashes\n\n\nRelease process\n===============\n\n1. Create branch\n2. Update version and release date in ``src/crashstats_tools/__init__.py``\n3. Update ``HISTORY.rst``\n4. Push the branch, create a PR, review it, merge it\n5. Create a signed tag, push to github::\n\n git tag -s v0.1.0\n git push --tags REMOTE TAGNAME\n\n6. Build::\n\n python setup.py sdist bdist_wheel\n\n Make sure to use Python 3 with dev requirements installed.\n\n7. Upload to PyPI::\n\n twine upload dist/*\n\n\n",
"description_content_type": "",
"docs_url": null,
"download_url": "",
"downloads": {
"last_day": -1,
"last_month": -1,
"last_week": -1
},
"home_page": "https://github.com/willkg/crashstats-tools",
"keywords": "",
"license": "Mozilla Public License v2",
"maintainer": "Will Kahn-Greene",
"maintainer_email": "willkg@mozilla.com",
"name": "crashstats-tools",
"package_url": "https://pypi.org/project/crashstats-tools/",
"platform": "",
"project_url": "https://pypi.org/project/crashstats-tools/",
"project_urls": {
"Homepage": "https://github.com/willkg/crashstats-tools"
},
"release_url": "https://pypi.org/project/crashstats-tools/1.2.0/",
"requires_dist": [
"click",
"requests",
"more-itertools",
"black (==19.10b0) ; extra == 'dev'",
"check-manifest (==0.47) ; extra == 'dev'",
"flake8 (==4.0.1) ; extra == 'dev'",
"pytest (==6.2.5) ; extra == 'dev'",
"tox (==3.24.4) ; extra == 'dev'",
"tox-gh-actions (==2.8.1) ; extra == 'dev'",
"twine (==3.4.2) ; extra == 'dev'",
"wheel (==0.37.0) ; extra == 'dev'"
],
"requires_python": ">=3.7",
"summary": "Tools for working with Crash Stats (https://crash-stats.mozilla.org/)",
"version": "1.2.0",
"yanked": false,
"yanked_reason": null
},
"last_serial": 11836671,
"releases": {
"1.0.0": [
{
"comment_text": "",
"digests": {
"md5": "d1d165dc86ea23b76a973c079ac39fec",
"sha256": "356d8d95a74d9cec87daf18c7e40fcfb02e046d38ec66478062afdfcd54d1c14"
},
"downloads": -1,
"filename": "crashstats_tools-1.0.0-py3-none-any.whl",
"has_sig": false,
"md5_digest": "d1d165dc86ea23b76a973c079ac39fec",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.6",
"size": 18786,
"upload_time": "2019-07-31T20:43:50",
"upload_time_iso_8601": "2019-07-31T20:43:50.461451Z",
"url": "https://files.pythonhosted.org/packages/66/4f/b756ff91439797f6e1abdd4aa3fbf62491e84e8942610e2e1a6207021a41/crashstats_tools-1.0.0-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"md5": "43b1164c094505533b9c2bfff3c4a10e",
"sha256": "3b64137c177e413bccbf1992f8584ed0f19e8a74a029c6115cc752f101384610"
},
"downloads": -1,
"filename": "crashstats-tools-1.0.0.tar.gz",
"has_sig": false,
"md5_digest": "43b1164c094505533b9c2bfff3c4a10e",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.6",
"size": 19265,
"upload_time": "2019-07-31T20:43:52",
"upload_time_iso_8601": "2019-07-31T20:43:52.987841Z",
"url": "https://files.pythonhosted.org/packages/0d/be/069b0c3a47ebf754ea22d3cf5edf957b170b976c6d8520caa824d14eda7b/crashstats-tools-1.0.0.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"1.0.1": [
{
"comment_text": "",
"digests": {
"md5": "c8250b21d80727355bbffddbf94f44e0",
"sha256": "b63656c5870f0683c697b4197db5a070f72da165e69369ec191091e0b127d973"
},
"downloads": -1,
"filename": "crashstats_tools-1.0.1-py3-none-any.whl",
"has_sig": false,
"md5_digest": "c8250b21d80727355bbffddbf94f44e0",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.6",
"size": 18790,
"upload_time": "2019-07-31T21:06:17",
"upload_time_iso_8601": "2019-07-31T21:06:17.772240Z",
"url": "https://files.pythonhosted.org/packages/78/e6/35652d28b35d260ca5128449a2bf4e86b893ad9a32451be498f3e15c6df5/crashstats_tools-1.0.1-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"md5": "6a95ebf48845a49daf47c174b1d58f50",
"sha256": "935a51908315e97c37f3b5f7b1ba842017287da685e0fbd9ba21906538b53984"
},
"downloads": -1,
"filename": "crashstats-tools-1.0.1.tar.gz",
"has_sig": false,
"md5_digest": "6a95ebf48845a49daf47c174b1d58f50",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.6",
"size": 19298,
"upload_time": "2019-07-31T21:06:19",
"upload_time_iso_8601": "2019-07-31T21:06:19.389361Z",
"url": "https://files.pythonhosted.org/packages/3f/09/4009cd03c2a154a2c86edba7665b1f88f11ac01fca08ebf48d8796d04323/crashstats-tools-1.0.1.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"1.0.2": [
{
"comment_text": "",
"digests": {
"md5": "548cb7d04b490150d2c140ec311fb03c",
"sha256": "c623d13ab3856257b1c92c2a40c39e2902712274796ce7386c46154e923cad09"
},
"downloads": -1,
"filename": "crashstats_tools-1.0.2-py3-none-any.whl",
"has_sig": false,
"md5_digest": "548cb7d04b490150d2c140ec311fb03c",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.6",
"size": 20830,
"upload_time": "2019-08-22T23:30:59",
"upload_time_iso_8601": "2019-08-22T23:30:59.290031Z",
"url": "https://files.pythonhosted.org/packages/cd/d4/4b35936d54734289d5892b49cccb7a494fcf5740f68f625f41f816b261de/crashstats_tools-1.0.2-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"md5": "9ced4daa7d97f2b16a7d956d637aa448",
"sha256": "43c8a9a307b7574ebf1d06e9324fbf97f9ea3167a7dc142560df029812db1fb4"
},
"downloads": -1,
"filename": "crashstats-tools-1.0.2.tar.gz",
"has_sig": false,
"md5_digest": "9ced4daa7d97f2b16a7d956d637aa448",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.6",
"size": 21128,
"upload_time": "2019-08-22T23:31:00",
"upload_time_iso_8601": "2019-08-22T23:31:00.710223Z",
"url": "https://files.pythonhosted.org/packages/ea/84/40b87431f318f8fc383465a0eb303c5585e5c06ac0e8124402f560dedf6e/crashstats-tools-1.0.2.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"1.0.3": [
{
"comment_text": "",
"digests": {
"md5": "0e4525988cea224997aa965bcf4b38ec",
"sha256": "381574ce48940f344ca1c49408d7c9941faeba6e0cab1afdaa7d11abdc23cf84"
},
"downloads": -1,
"filename": "crashstats_tools-1.0.3-py3-none-any.whl",
"has_sig": false,
"md5_digest": "0e4525988cea224997aa965bcf4b38ec",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.6",
"size": 21241,
"upload_time": "2019-10-23T22:29:30",
"upload_time_iso_8601": "2019-10-23T22:29:30.266563Z",
"url": "https://files.pythonhosted.org/packages/f1/9b/a4a0319d0ac639ebd20f27aded206122c54e812e4dd7c5c86a94625048f2/crashstats_tools-1.0.3-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"md5": "1a8e3207f94b189a3238ec7e4813c724",
"sha256": "1d6d7a1ed6ecdc2c8c1d31276fc165359297bd870597a1426629e746cb4eee5c"
},
"downloads": -1,
"filename": "crashstats-tools-1.0.3.tar.gz",
"has_sig": false,
"md5_digest": "1a8e3207f94b189a3238ec7e4813c724",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.6",
"size": 22272,
"upload_time": "2019-10-23T22:29:31",
"upload_time_iso_8601": "2019-10-23T22:29:31.789788Z",
"url": "https://files.pythonhosted.org/packages/97/6c/ee447ad354757ef3117209b61d0c7617287b09bab249d3e438d0f2dfd6a9/crashstats-tools-1.0.3.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"1.0.4": [
{
"comment_text": "",
"digests": {
"md5": "ed344dfd645d844000995d6c1a866190",
"sha256": "e88144ce0c07d5fd03c1262a1c7c916ad353fff2926f44cec6a194e855484215"
},
"downloads": -1,
"filename": "crashstats_tools-1.0.4-py3-none-any.whl",
"has_sig": false,
"md5_digest": "ed344dfd645d844000995d6c1a866190",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.6",
"size": 21764,
"upload_time": "2020-01-07T16:00:19",
"upload_time_iso_8601": "2020-01-07T16:00:19.794585Z",
"url": "https://files.pythonhosted.org/packages/84/a3/89b454a32c106350c0bc888bea5b460208e92408c0d4bf08785921583b01/crashstats_tools-1.0.4-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"md5": "b29a186643e55eb027601646fd4d249c",
"sha256": "7b84afd721ed0c021b17bc4f0ba4e067b62bf08052e257e45184a89e26b3da65"
},
"downloads": -1,
"filename": "crashstats-tools-1.0.4.tar.gz",
"has_sig": false,
"md5_digest": "b29a186643e55eb027601646fd4d249c",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.6",
"size": 22982,
"upload_time": "2020-01-07T16:00:21",
"upload_time_iso_8601": "2020-01-07T16:00:21.539411Z",
"url": "https://files.pythonhosted.org/packages/fd/92/85cfc629172517a3482658e2430751853178e666283bc9a564a9ebe0f612/crashstats-tools-1.0.4.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"1.1.0": [
{
"comment_text": "",
"digests": {
"md5": "65f468d29beb089a5f8703873e36b86b",
"sha256": "c8a294ac7290c9f61fa55f9fce2be58b97daf97769f89218eb969272da215342"
},
"downloads": -1,
"filename": "crashstats_tools-1.1.0-py3-none-any.whl",
"has_sig": false,
"md5_digest": "65f468d29beb089a5f8703873e36b86b",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.6",
"size": 24485,
"upload_time": "2020-05-21T20:22:39",
"upload_time_iso_8601": "2020-05-21T20:22:39.434634Z",
"url": "https://files.pythonhosted.org/packages/71/a8/8c52dc5de3a14d26832603852a9091948355520aebb67fd63646402e666a/crashstats_tools-1.1.0-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"md5": "a4435e08cbd1cec3f4250e1e96cc08b1",
"sha256": "5e0fbaefdc79b234316d5d07ac024347188a67c2a72731d8006e68677d7bba63"
},
"downloads": -1,
"filename": "crashstats-tools-1.1.0.tar.gz",
"has_sig": false,
"md5_digest": "a4435e08cbd1cec3f4250e1e96cc08b1",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.6",
"size": 24226,
"upload_time": "2020-05-21T20:22:41",
"upload_time_iso_8601": "2020-05-21T20:22:41.008737Z",
"url": "https://files.pythonhosted.org/packages/15/23/f44a5d1bd79b02db4ad3aab082df689db71d0ede1ffa5c1dd8898bd2811e/crashstats-tools-1.1.0.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"1.1.1": [
{
"comment_text": "",
"digests": {
"md5": "07cba9ebe3b639a3f6f149bbffea3e0c",
"sha256": "7993e8ebaea430fac34f9a60bd32169e9e3280a1f6b322a26b7b6436e5c65ab4"
},
"downloads": -1,
"filename": "crashstats_tools-1.1.1-py3-none-any.whl",
"has_sig": false,
"md5_digest": "07cba9ebe3b639a3f6f149bbffea3e0c",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.6",
"size": 24497,
"upload_time": "2020-06-29T15:57:27",
"upload_time_iso_8601": "2020-06-29T15:57:27.362939Z",
"url": "https://files.pythonhosted.org/packages/38/14/8fa785f189dea7d49714db82ed2b5534b817b996c39a6bb331e4f5f014ab/crashstats_tools-1.1.1-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"md5": "7ef3733804bd1e32ea4baa3b2a404790",
"sha256": "1ddc69ee2c5e781f2f1d7e3055b5a4b7442bb1dbee643330ae33edfef61a5df3"
},
"downloads": -1,
"filename": "crashstats-tools-1.1.1.tar.gz",
"has_sig": false,
"md5_digest": "7ef3733804bd1e32ea4baa3b2a404790",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.6",
"size": 24264,
"upload_time": "2020-06-29T15:57:28",
"upload_time_iso_8601": "2020-06-29T15:57:28.976126Z",
"url": "https://files.pythonhosted.org/packages/8e/a4/b42f910d06c4e411843b076f57ccfb97f5b5b6c275fc2b90e4826ebf1c49/crashstats-tools-1.1.1.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"1.2.0": [
{
"comment_text": "",
"digests": {
"md5": "6cf77866c4ce8249f5688b3380d181b1",
"sha256": "ec0c33d8593fb2fb482ea3af21f9c5448287a080017abbc870597c66f28c46ff"
},
"downloads": -1,
"filename": "crashstats_tools-1.2.0-py3-none-any.whl",
"has_sig": false,
"md5_digest": "6cf77866c4ce8249f5688b3380d181b1",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.7",
"size": 25001,
"upload_time": "2021-10-26T14:45:42",
"upload_time_iso_8601": "2021-10-26T14:45:42.161698Z",
"url": "https://files.pythonhosted.org/packages/81/9f/2d0292b43e5664e7304d5d2cb0cf65b0ff3dd101e3c06eca465b5892d1ed/crashstats_tools-1.2.0-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"md5": "6facef9ff1c8f1fcf240776778b1f27a",
"sha256": "b01693a33dc064f9ee34409e3ff8e7904a75d6c1fa5acf4cacc7cf88f60a6ee5"
},
"downloads": -1,
"filename": "crashstats-tools-1.2.0.tar.gz",
"has_sig": false,
"md5_digest": "6facef9ff1c8f1fcf240776778b1f27a",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.7",
"size": 24856,
"upload_time": "2021-10-26T14:45:44",
"upload_time_iso_8601": "2021-10-26T14:45:44.168886Z",
"url": "https://files.pythonhosted.org/packages/28/eb/59437280477313f3b50cff953e6ea5d0de6350d4c88211f784896e848238/crashstats-tools-1.2.0.tar.gz",
"yanked": false,
"yanked_reason": null
}
]
},
"urls": [
{
"comment_text": "",
"digests": {
"md5": "6cf77866c4ce8249f5688b3380d181b1",
"sha256": "ec0c33d8593fb2fb482ea3af21f9c5448287a080017abbc870597c66f28c46ff"
},
"downloads": -1,
"filename": "crashstats_tools-1.2.0-py3-none-any.whl",
"has_sig": false,
"md5_digest": "6cf77866c4ce8249f5688b3380d181b1",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.7",
"size": 25001,
"upload_time": "2021-10-26T14:45:42",
"upload_time_iso_8601": "2021-10-26T14:45:42.161698Z",
"url": "https://files.pythonhosted.org/packages/81/9f/2d0292b43e5664e7304d5d2cb0cf65b0ff3dd101e3c06eca465b5892d1ed/crashstats_tools-1.2.0-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"md5": "6facef9ff1c8f1fcf240776778b1f27a",
"sha256": "b01693a33dc064f9ee34409e3ff8e7904a75d6c1fa5acf4cacc7cf88f60a6ee5"
},
"downloads": -1,
"filename": "crashstats-tools-1.2.0.tar.gz",
"has_sig": false,
"md5_digest": "6facef9ff1c8f1fcf240776778b1f27a",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.7",
"size": 24856,
"upload_time": "2021-10-26T14:45:44",
"upload_time_iso_8601": "2021-10-26T14:45:44.168886Z",
"url": "https://files.pythonhosted.org/packages/28/eb/59437280477313f3b50cff953e6ea5d0de6350d4c88211f784896e848238/crashstats-tools-1.2.0.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"vulnerabilities": []
}