{ "info": { "author": "", "author_email": "Sungjae Jang , Takuya Saegusa , Haozhe Wei , Terence Zhang , Yuming Zhou , Luke Chang ", "bugtrack_url": null, "classifiers": [ "Programming Language :: Python :: 3", "Programming Language :: Python :: 3.10", "Programming Language :: Python :: 3.11", "Programming Language :: Python :: 3.8", "Programming Language :: Python :: 3.9" ], "description": "

\n \n \n \n

\n\n

Adversarial Insight ML (AIML)

\n\n

\n \n \"PyPI\n \n \n \"Python\n \n \n \"License\"\n\n \n \"Code\n \n \n \"Documentation\"\n \n

\n\n> \u201cWhy does your machine lie?\u201d\n\nAdversarial Insight ML (AIML) is a python package that evaluates the robustness of image classification models against adversarial attacks. AIML provides the functionality to automatically test your models against generated adversarial examples and outputs precise, insightful and robust feedback based on the several attack methods we have carefully chosen. Furthermore, AIML aims to be straightforward and beginner-friendly to allow non-technical users to take full advantage of its functionalities.\n\nFor more information, you can also visit the [PyPI page](https://pypi.org/project/adversarial-insight-ml/) and the [documentation page](https://uoa-compsci399-s2-2023.github.io/capstone-project-team-7/).\n\n## Table of Contents\n\n- [Installation](#installation)\n- [Usage](#usage)\n- [Features](#features)\n- [Contributing](#contributing)\n- [License](#license)\n\n## Installation\n\nTo install Adversarial Insight ML, you can use pip:\n\n```bash\npip install adversarial-insight-ml\n```\n\n## Usage\n\nHere's a simple overview of the usage of our package:\n

\n \"img\n

\n\nYou can evaluate your model with the `evaluate()` function:\n\n```python\nfrom aiml.evaluation.evaluate import evaluate\n\nevaluate(model, test_dataset)\n```\n\nThe `evaluate()` function has **two required parameters**:\n- `input_model (str or model)`: A string of the name of the machine learning model or the machine learning model itself.\n- `input_test_data (str or dataset)`: A string of the name of the testing dataset or the testing dataset itself.\n\nThe `evaluate()` function has the following **optional parameters**:\n- `input_train_data (str or dataset, optional)`: A string of the name of the training dataset or the training dataset itself (default is None).\n- `input_shape (tuple, optional)`: Shape of input data (default is None).\n- `clip_values (tuple, optional)`: Range of input data values (default is None).\n- `nb_classes (int, optional)`: Number of classes in the dataset (default is None).\n- `batch_size_attack (int, optional)`: Batch size for attack testing (default is 64).\n- `num_threads_attack (int, optional)`: Number of threads for attack testing (default is 0).\n- `batch_size_train (int, optional)`: Batch size for training data (default is 64).\n- `batch_size_test (int, optional)`: Batch size for test data (default is 64).\n- `num_workers (int, optional)`: Number of workers to use for data loading (default is half of the available CPU cores).\n- `dry (bool, optional)`: When True, the code should only test one example.\n- `attack_para_list (list, optional)`: List of parameter combinations for the attack.\n\nSee the demos in `examples/` directory for usage in action:\n- [demo_basic](examples/demo_basic.ipynb)\n- [demo_huggingface](examples/demo_huggingface.ipynb)\n- [demo_robustbench](examples/demo_robustbench.ipynb)\n\n## Features\n\nAfter evaluating your model with `evaluate()` function, we provide\nthe following insights:\n\n- Summary of adversarial attacks performed, found in a text file named `attack_evaluation_result.txt` followed by date. For example:\n ![Result Example](images/evaluation_example.png)\n- Samples of the images can be found in a directory `img/` followed by date, for example:\n

\n \"img\n \"sample\n

\n\n\n\n## Contributing\n\n**Code Style** \nAlways adhere to the [PEP 8](https://www.python.org/dev/peps/pep-0008/) style guide for writing Python code, allowing upto 99 characters per line as the absolute maximum. Alternatively, just use [black](https://github.com/psf/black).\n\n**Commit Messages** \nWhen making changes to the codebase, please refer to the [Documentation/SubmittingPatches](https://git.kernel.org/pub/scm/git/git.git/tree/Documentation/SubmittingPatches?h=v2.36.1#n181) in the Git repo:\n\n- Write commit messages in present tense and imperative mood, e.g., \"Add feature\" instead of \"Added feature\" or \"Adding feature.\"\n- Craft your messages as if you're giving orders to the codebase to change its behaviour.\n\n**Branching** \nWe conform to a variation of the \"GitHub Flow'' convention, but not strictly. For example, see the following types of branches:\n\n- main: This branch is always deployable and reflects the production state.\n- bugfix/\\*: For bug fixes.\n\n## License\n\nThis project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.\n\n## Acknowledgements\n\nWe extend our sincere appreciation to the following individuals who have been instrumental in the success of this project:\n\nFirstly, our client Mr. Luke Chang. His invaluable guidance and insights guided us from the beginning through every phase, ensuring our work remained aligned with practical needs. This project would not have been possible without his efforts.\n\nWe'd also like to express our gratitude to Dr. Asma Shakil, who has coordinated and provided an opportunity for us to work together on this project.\n\nThank you for being part of this journey.\n\nWarm regards,\nTeam 7\n\n## Contacts\n\nSungjae Jang sjan260@aucklanduni.ac.nz \nTakuya Saegusa tsae032@aucklanduni.ac.nz \nHaozhe Wei hwei313@aucklanduni.ac.nz \nYuming Zhou yzho739@aucklanduni.ac.nz \nTerence Zhang tzha820@aucklanduni.ac.nz\n", "description_content_type": "text/markdown", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "", "keywords": "", "license": "MIT License Copyright (c) 2023 Team 7 Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the \"Software\"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ", "maintainer": "", "maintainer_email": "", "name": "adversarial-insight-ml", "package_url": "https://pypi.org/project/adversarial-insight-ml/", "platform": null, "project_url": "https://pypi.org/project/adversarial-insight-ml/", "project_urls": null, "release_url": "https://pypi.org/project/adversarial-insight-ml/0.2.2/", "requires_dist": [ "adversarial-robustness-toolbox", "torch", "detectors", "lightning", "torchmetrics", "datasets", "autopep8 ; extra == 'dev'", "bumpver ; extra == 'dev'", "pytest ; extra == 'dev'", "sphinx ; extra == 'dev'", "sphinx-rtd-theme ; extra == 'dev'", "scikit-learn ; extra == 'dev'", "jupyterlab ; extra == 'dev'", "pip-tools ; extra == 'dev'" ], "requires_python": ">=3.8", "summary": "", "version": "0.2.2", "yanked": false, "yanked_reason": null }, "last_serial": 20300469, "releases": { "0.0.1": [ { "comment_text": "", "digests": { "blake2b_256": "9efb3a7bd198a1fdc22007c38d680d4be7ab75e4edbd937fe9f191f8451d177d", "md5": "4f9a7412feadeb5f1f35d7c130a0e505", "sha256": "64e92e987badb75c6c1ce4fda335ea69ef096344eff76f20ad022229afe8363b" }, "downloads": -1, "filename": "adversarial_insight_ml-0.0.1-py3-none-any.whl", "has_sig": false, "md5_digest": "4f9a7412feadeb5f1f35d7c130a0e505", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.9", "size": 4069, "upload_time": "2023-08-27T08:42:35", "upload_time_iso_8601": "2023-08-27T08:42:35.071042Z", "url": "https://files.pythonhosted.org/packages/9e/fb/3a7bd198a1fdc22007c38d680d4be7ab75e4edbd937fe9f191f8451d177d/adversarial_insight_ml-0.0.1-py3-none-any.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "blake2b_256": "9f0c2857cfa35d9bc779a87c64bc255aa6cc03a018543fd6ff786d070ce04ed0", "md5": "21f5a526604b751e05789bb905271528", "sha256": "603e9704b012b2d305cb071758a10c275daed7302c5abfdb90884f8515cd23d9" }, "downloads": -1, "filename": "adversarial-insight-ml-0.0.1.tar.gz", "has_sig": false, "md5_digest": "21f5a526604b751e05789bb905271528", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.9", "size": 4484, "upload_time": "2023-08-27T08:42:36", "upload_time_iso_8601": "2023-08-27T08:42:36.642316Z", "url": "https://files.pythonhosted.org/packages/9f/0c/2857cfa35d9bc779a87c64bc255aa6cc03a018543fd6ff786d070ce04ed0/adversarial-insight-ml-0.0.1.tar.gz", "yanked": false, "yanked_reason": null } ], "0.0.2": [ { "comment_text": "", "digests": { "blake2b_256": "dea2097aa8e3cbbc0be4bb102897caa3138b47a1595a45f2d2b04ad4c8547602", "md5": "497b499e3109ee1c551f085034b10d4b", "sha256": "4dbd8304dc1686add610583e75f84e3641a4d6408fbdfef31659c0f989d10202" }, "downloads": -1, "filename": "adversarial_insight_ml-0.0.2-py3-none-any.whl", "has_sig": false, "md5_digest": "497b499e3109ee1c551f085034b10d4b", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.9", "size": 4483, "upload_time": "2023-09-14T20:00:37", "upload_time_iso_8601": "2023-09-14T20:00:37.804667Z", "url": "https://files.pythonhosted.org/packages/de/a2/097aa8e3cbbc0be4bb102897caa3138b47a1595a45f2d2b04ad4c8547602/adversarial_insight_ml-0.0.2-py3-none-any.whl", "yanked": false, "yanked_reason": null } ], "0.0.3": [ { "comment_text": "", "digests": { "blake2b_256": "ebd46101b226f2229654fa83f96c1c75aac7c815c90d264cac9de535228f5b06", "md5": "bc3a796f640b93ba3382ad19ab210fae", "sha256": "cfb3ee53c2634e017e309a2095b5b7dd251b6d0143ca444c7b7076dc7a5ca16e" }, "downloads": -1, "filename": "adversarial_insight_ml-0.0.3-py3-none-any.whl", "has_sig": false, "md5_digest": "bc3a796f640b93ba3382ad19ab210fae", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.9", "size": 5384, "upload_time": "2023-09-17T15:04:34", "upload_time_iso_8601": "2023-09-17T15:04:34.421011Z", "url": "https://files.pythonhosted.org/packages/eb/d4/6101b226f2229654fa83f96c1c75aac7c815c90d264cac9de535228f5b06/adversarial_insight_ml-0.0.3-py3-none-any.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "blake2b_256": "279f8b7caf629617c7ffca606ac4168e6318ce8c21d6c6c986feaadbe5378671", "md5": "8c3e32748723299f2bf04cea4afb3ad9", "sha256": "7a33d091daf385c62f196689cdfca7e200144b94695d9b9b7d7a868c6f078a07" }, "downloads": -1, "filename": "adversarial-insight-ml-0.0.3.tar.gz", "has_sig": false, "md5_digest": "8c3e32748723299f2bf04cea4afb3ad9", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.9", "size": 6066, "upload_time": "2023-09-17T15:04:35", "upload_time_iso_8601": "2023-09-17T15:04:35.991503Z", "url": "https://files.pythonhosted.org/packages/27/9f/8b7caf629617c7ffca606ac4168e6318ce8c21d6c6c986feaadbe5378671/adversarial-insight-ml-0.0.3.tar.gz", "yanked": false, "yanked_reason": null } ], "0.0.4": [ { "comment_text": "", "digests": { "blake2b_256": "b6005134fe0cfd8bb784aa62b41447047ca636c85b7929c0e3c8f274b586b2e6", "md5": "5fe4c4c584a0522ac14f18796119f89d", "sha256": "befb525df99cbc77d62c6a29623fc7d9d054d08efebba0b549418f44752bf42a" }, "downloads": -1, "filename": "adversarial_insight_ml-0.0.4-py3-none-any.whl", "has_sig": false, "md5_digest": "5fe4c4c584a0522ac14f18796119f89d", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.9", "size": 17720, "upload_time": "2023-09-27T14:15:44", "upload_time_iso_8601": "2023-09-27T14:15:44.566617Z", "url": "https://files.pythonhosted.org/packages/b6/00/5134fe0cfd8bb784aa62b41447047ca636c85b7929c0e3c8f274b586b2e6/adversarial_insight_ml-0.0.4-py3-none-any.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "blake2b_256": "4de939268183ddabdcbd1e49217fb45bc15412160c60ff81ec410b142aa5c12e", "md5": "355bd322947a9121a38e0a646d193eee", "sha256": "7e523a030c6ddd4f95c7ec6c8aed6aa94c457c527ccc8910f174cb75a42c6a72" }, "downloads": -1, "filename": "adversarial-insight-ml-0.0.4.tar.gz", "has_sig": false, "md5_digest": "355bd322947a9121a38e0a646d193eee", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.9", "size": 14451, "upload_time": "2023-09-27T14:15:46", "upload_time_iso_8601": "2023-09-27T14:15:46.138654Z", "url": "https://files.pythonhosted.org/packages/4d/e9/39268183ddabdcbd1e49217fb45bc15412160c60ff81ec410b142aa5c12e/adversarial-insight-ml-0.0.4.tar.gz", "yanked": false, "yanked_reason": null } ], "0.0.5": [ { "comment_text": "", "digests": { "blake2b_256": "ca40ca47d648bfa51e6081df6145b663ca90dc10f1373016f343f004ac960ac9", "md5": "767bf496f5e1d0fc329a7a6698a43508", "sha256": "2c6309233578318a9f9e9c4cb02e0b341ca500b79d5d65d49d25d7df98d6bb4f" }, "downloads": -1, "filename": "adversarial_insight_ml-0.0.5-py3-none-any.whl", "has_sig": false, "md5_digest": "767bf496f5e1d0fc329a7a6698a43508", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.9", "size": 21574, "upload_time": "2023-09-27T16:09:50", "upload_time_iso_8601": "2023-09-27T16:09:50.348770Z", "url": "https://files.pythonhosted.org/packages/ca/40/ca47d648bfa51e6081df6145b663ca90dc10f1373016f343f004ac960ac9/adversarial_insight_ml-0.0.5-py3-none-any.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "blake2b_256": "a46c45d508d6be34131df2468a8375d8348e0771e63079c5a61fc22e865c208b", "md5": "a7071e92fd9937c9fc075f50852a2b09", "sha256": "bb6b8aea2b02da4308623485a435bf4904f91b777e80703768d9f4a9e2f4a3ad" }, "downloads": -1, "filename": "adversarial-insight-ml-0.0.5.tar.gz", "has_sig": false, "md5_digest": "a7071e92fd9937c9fc075f50852a2b09", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.9", "size": 14516, "upload_time": "2023-09-27T16:09:51", "upload_time_iso_8601": "2023-09-27T16:09:51.987992Z", "url": "https://files.pythonhosted.org/packages/a4/6c/45d508d6be34131df2468a8375d8348e0771e63079c5a61fc22e865c208b/adversarial-insight-ml-0.0.5.tar.gz", "yanked": false, "yanked_reason": null } ], "0.0.6": [ { "comment_text": "", "digests": { "blake2b_256": "41d045d344c690012b0bf311f9e4b312cbc3354e3ab2b5a66ae759967253b0a1", "md5": "3497fbde8c83f8a30e6f85504b7a2849", "sha256": "b3b4fac3878f8c66114204cd3717111f4b3a8482784316a80f2830ecbcfbc241" }, "downloads": -1, "filename": "adversarial_insight_ml-0.0.6-py3-none-any.whl", "has_sig": false, "md5_digest": "3497fbde8c83f8a30e6f85504b7a2849", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.9", "size": 21207, "upload_time": "2023-09-27T17:17:18", "upload_time_iso_8601": "2023-09-27T17:17:18.349908Z", "url": "https://files.pythonhosted.org/packages/41/d0/45d344c690012b0bf311f9e4b312cbc3354e3ab2b5a66ae759967253b0a1/adversarial_insight_ml-0.0.6-py3-none-any.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "blake2b_256": "c47ee384c36623c17d3fc421061c31493a6ea14be97f06a0695ca73bafc72bc3", "md5": "f7a69d20209057d907f167c3548286cb", "sha256": "6249a4926bf6bbdc41aa4de9a9d23ea1e12c82b1b5cbfb5a7e173f10c1131baf" }, "downloads": -1, "filename": "adversarial-insight-ml-0.0.6.tar.gz", "has_sig": false, "md5_digest": "f7a69d20209057d907f167c3548286cb", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.9", "size": 14412, "upload_time": "2023-09-27T17:17:20", "upload_time_iso_8601": "2023-09-27T17:17:20.983638Z", "url": "https://files.pythonhosted.org/packages/c4/7e/e384c36623c17d3fc421061c31493a6ea14be97f06a0695ca73bafc72bc3/adversarial-insight-ml-0.0.6.tar.gz", "yanked": false, "yanked_reason": null } ], "0.1.0": [ { "comment_text": "", "digests": { "blake2b_256": "b987e2d63d6c62cbb8f404187b611d0182789affef34e71d82b2e23353d70099", "md5": "7d24a990211d5ed48578fd0b38999858", "sha256": "ce77de5ee8e1114e399092ca1aa7e8c5948455af8f296ff9b21f56eea32e569f" }, "downloads": -1, "filename": "adversarial_insight_ml-0.1.0-py3-none-any.whl", "has_sig": false, "md5_digest": "7d24a990211d5ed48578fd0b38999858", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.9", "size": 17610, "upload_time": "2023-09-28T08:44:09", "upload_time_iso_8601": "2023-09-28T08:44:09.198068Z", "url": "https://files.pythonhosted.org/packages/b9/87/e2d63d6c62cbb8f404187b611d0182789affef34e71d82b2e23353d70099/adversarial_insight_ml-0.1.0-py3-none-any.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "blake2b_256": "314494aae335c15e8c7e8b086fc1a1c7c0b5a6fa876f649b4a0544bb3953c2d5", "md5": "151817f60111321dbe26d1e28f73b3ca", "sha256": "4ea71d6fa9ddf6c5cdc62a314fe053717b93c63ae29166c21a58306f2a0c55d3" }, "downloads": -1, "filename": "adversarial-insight-ml-0.1.0.tar.gz", "has_sig": false, "md5_digest": "151817f60111321dbe26d1e28f73b3ca", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.9", "size": 13859, "upload_time": "2023-09-28T08:44:10", "upload_time_iso_8601": "2023-09-28T08:44:10.896245Z", "url": "https://files.pythonhosted.org/packages/31/44/94aae335c15e8c7e8b086fc1a1c7c0b5a6fa876f649b4a0544bb3953c2d5/adversarial-insight-ml-0.1.0.tar.gz", "yanked": false, "yanked_reason": null } ], "0.1.1": [ { "comment_text": "", "digests": { "blake2b_256": "e78db6b417fcd30ae44b316f6dff70fb2f072138ef93aba5a2eed3bf9f74cb92", "md5": "1af8c27b45ed0407c5a5f4b0845ae765", "sha256": "6fbad370c44224bd75568ee17b591da1282c9f43ddcf8f2201ab9fbc3d8ab289" }, "downloads": -1, "filename": "adversarial_insight_ml-0.1.1-py3-none-any.whl", "has_sig": false, "md5_digest": "1af8c27b45ed0407c5a5f4b0845ae765", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.9", "size": 18137, "upload_time": "2023-09-28T10:26:51", "upload_time_iso_8601": "2023-09-28T10:26:51.457625Z", "url": "https://files.pythonhosted.org/packages/e7/8d/b6b417fcd30ae44b316f6dff70fb2f072138ef93aba5a2eed3bf9f74cb92/adversarial_insight_ml-0.1.1-py3-none-any.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "blake2b_256": "d6a67e14651fdee13d6d5f299a5dd60b2f02a9b8b97468a4b1e1006ece948fdc", "md5": "632cbce1610212ee6c4957620f764ffb", "sha256": "4e847f5f6b13e129677a61696e01e1636b56cc31736576ea510d6bbe78feeec7" }, "downloads": -1, "filename": "adversarial-insight-ml-0.1.1.tar.gz", "has_sig": false, "md5_digest": "632cbce1610212ee6c4957620f764ffb", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.9", "size": 14388, "upload_time": "2023-09-28T10:26:53", "upload_time_iso_8601": "2023-09-28T10:26:53.047723Z", "url": "https://files.pythonhosted.org/packages/d6/a6/7e14651fdee13d6d5f299a5dd60b2f02a9b8b97468a4b1e1006ece948fdc/adversarial-insight-ml-0.1.1.tar.gz", "yanked": false, "yanked_reason": null } ], "0.2.0": [ { "comment_text": "", "digests": { "blake2b_256": "49f44ffa8a540b0392fc5c41fa246450edf4a9c29185ba95ab82cb5a644b48f7", "md5": "af12823f0514f3540d634d7484333744", "sha256": "d1443c0a78a4ccd7d6dd0d2806e354b33e1ab424ccb515af308b22d35b74d346" }, "downloads": -1, "filename": "adversarial_insight_ml-0.2.0-py3-none-any.whl", "has_sig": false, "md5_digest": "af12823f0514f3540d634d7484333744", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.8", "size": 23980, "upload_time": "2023-10-12T10:47:05", "upload_time_iso_8601": "2023-10-12T10:47:05.805331Z", "url": "https://files.pythonhosted.org/packages/49/f4/4ffa8a540b0392fc5c41fa246450edf4a9c29185ba95ab82cb5a644b48f7/adversarial_insight_ml-0.2.0-py3-none-any.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "blake2b_256": "87bf30dc282e6572b5c8e7fba10a62a3b5d7870bb3186e10e352400c3ab1cdfe", "md5": "63dd9a60848746f6609fdff7718a26dd", "sha256": "3c6cc01b96cf48181b2e01e34ef2e83bbc44ea21996f8f4d5926e7f339f22735" }, "downloads": -1, "filename": "adversarial-insight-ml-0.2.0.tar.gz", "has_sig": false, "md5_digest": "63dd9a60848746f6609fdff7718a26dd", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.8", "size": 5936744, "upload_time": "2023-10-12T10:47:09", "upload_time_iso_8601": "2023-10-12T10:47:09.174506Z", "url": "https://files.pythonhosted.org/packages/87/bf/30dc282e6572b5c8e7fba10a62a3b5d7870bb3186e10e352400c3ab1cdfe/adversarial-insight-ml-0.2.0.tar.gz", "yanked": false, "yanked_reason": null } ], "0.2.1": [ { "comment_text": "", "digests": { "blake2b_256": "3e12e8843c24dc50f7c487d7e2c655cb77956ef0016f24ea4f7d861e5230f25a", "md5": "787cc50b94cf0abd10e398c681a49758", "sha256": "be9d2f06771956b350707066f676c38485acee1b8c129ac7e1b25f6dd4d229cd" }, "downloads": -1, "filename": "adversarial_insight_ml-0.2.1-py3-none-any.whl", "has_sig": false, "md5_digest": "787cc50b94cf0abd10e398c681a49758", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.8", "size": 24607, "upload_time": "2023-10-14T18:14:25", "upload_time_iso_8601": "2023-10-14T18:14:25.925057Z", "url": "https://files.pythonhosted.org/packages/3e/12/e8843c24dc50f7c487d7e2c655cb77956ef0016f24ea4f7d861e5230f25a/adversarial_insight_ml-0.2.1-py3-none-any.whl", "yanked": true, "yanked_reason": "Broken" }, { "comment_text": "", "digests": { "blake2b_256": "8988f8ab889798cc2b1fdb29ac1d2720a34172c8bf72f3731fe864ecd40db1d7", "md5": "65a8c0a2e4c157ebdd09a9905503da94", "sha256": "4c196eb531a223589132632027867a5236dd029c1083d4dcdd9c243fd111d701" }, "downloads": -1, "filename": "adversarial-insight-ml-0.2.1.tar.gz", "has_sig": false, "md5_digest": "65a8c0a2e4c157ebdd09a9905503da94", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.8", "size": 5939813, "upload_time": "2023-10-14T18:14:29", "upload_time_iso_8601": "2023-10-14T18:14:29.645714Z", "url": "https://files.pythonhosted.org/packages/89/88/f8ab889798cc2b1fdb29ac1d2720a34172c8bf72f3731fe864ecd40db1d7/adversarial-insight-ml-0.2.1.tar.gz", "yanked": true, "yanked_reason": "Broken" } ], "0.2.2": [ { "comment_text": "", "digests": { "blake2b_256": "2331e67e110c61b8ff93c0a75a0012efb2679acca19502e2d7e383952ca9489f", "md5": "48f64813254876af504a1b2a75ffc40d", "sha256": "8d155ac750f5ef2867a25e1e33e068fbe70171202f052a6633ae175ab77700b7" }, "downloads": -1, "filename": "adversarial_insight_ml-0.2.2-py3-none-any.whl", "has_sig": false, "md5_digest": "48f64813254876af504a1b2a75ffc40d", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.8", "size": 24640, "upload_time": "2023-10-15T09:35:28", "upload_time_iso_8601": "2023-10-15T09:35:28.804774Z", "url": "https://files.pythonhosted.org/packages/23/31/e67e110c61b8ff93c0a75a0012efb2679acca19502e2d7e383952ca9489f/adversarial_insight_ml-0.2.2-py3-none-any.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "blake2b_256": "0faa0bc30b851e8b2c9fc245614abc8bdd0a49a5f031439f54146af797ab14f8", "md5": "6f2a988bdd2780e956e5a64e35e69f79", "sha256": "3b6cfd1c74983ffaeebb3f00ffb5f062e16eb918022cf1f95e20cc1ddb288e83" }, "downloads": -1, "filename": "adversarial-insight-ml-0.2.2.tar.gz", "has_sig": false, "md5_digest": "6f2a988bdd2780e956e5a64e35e69f79", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.8", "size": 5230123, "upload_time": "2023-10-15T09:35:32", "upload_time_iso_8601": "2023-10-15T09:35:32.263503Z", "url": "https://files.pythonhosted.org/packages/0f/aa/0bc30b851e8b2c9fc245614abc8bdd0a49a5f031439f54146af797ab14f8/adversarial-insight-ml-0.2.2.tar.gz", "yanked": false, "yanked_reason": null } ] }, "urls": [ { "comment_text": "", "digests": { "blake2b_256": "2331e67e110c61b8ff93c0a75a0012efb2679acca19502e2d7e383952ca9489f", "md5": "48f64813254876af504a1b2a75ffc40d", "sha256": "8d155ac750f5ef2867a25e1e33e068fbe70171202f052a6633ae175ab77700b7" }, "downloads": -1, "filename": "adversarial_insight_ml-0.2.2-py3-none-any.whl", "has_sig": false, "md5_digest": "48f64813254876af504a1b2a75ffc40d", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.8", "size": 24640, "upload_time": "2023-10-15T09:35:28", "upload_time_iso_8601": "2023-10-15T09:35:28.804774Z", "url": "https://files.pythonhosted.org/packages/23/31/e67e110c61b8ff93c0a75a0012efb2679acca19502e2d7e383952ca9489f/adversarial_insight_ml-0.2.2-py3-none-any.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "blake2b_256": "0faa0bc30b851e8b2c9fc245614abc8bdd0a49a5f031439f54146af797ab14f8", "md5": "6f2a988bdd2780e956e5a64e35e69f79", "sha256": "3b6cfd1c74983ffaeebb3f00ffb5f062e16eb918022cf1f95e20cc1ddb288e83" }, "downloads": -1, "filename": "adversarial-insight-ml-0.2.2.tar.gz", "has_sig": false, "md5_digest": "6f2a988bdd2780e956e5a64e35e69f79", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.8", "size": 5230123, "upload_time": "2023-10-15T09:35:32", "upload_time_iso_8601": "2023-10-15T09:35:32.263503Z", "url": "https://files.pythonhosted.org/packages/0f/aa/0bc30b851e8b2c9fc245614abc8bdd0a49a5f031439f54146af797ab14f8/adversarial-insight-ml-0.2.2.tar.gz", "yanked": false, "yanked_reason": null } ], "vulnerabilities": [] }