PyArmour
Zero-configuration adversarial robustness testing for ML models using pytest.
Installation
pip install pyarmour
Quick Start
Decorator Usage
import pytest
from pyarmour import adversarial_test
@adversarial_test(model, attacks=["fgsm", "pgd"], epsilons=[0.03, 0.1])
def test_my_model(model, x, y):
assert model(x).argmax() == y
CLI Usage
pyarmour run --model-path model.pth --data-path test_data/ --output report.html
Features
- Zero-configuration adversarial testing via pytest
- Pure NumPy implementation - no framework dependencies
- Built-in attacks: FGSM, PGD, DeepFool
- Visual diagnostics for vision models
- Text diff reports for NLP models
Documentation
Full documentation available at pyarmour.readthedocs.io
Metadata
Release files for pyarmour 0.1.3
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| pyarmour-0.1.3.tar.gz | 19.4 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| pyarmour-0.1.3-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 39.5 kB
Release files / pyarmour-0.1.3.tar.gz
| Download URL | pyarmour-0.1.3.tar.gz |
|---|---|
| Size | 19.4 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
077eac457371b489515b750f15d999262d2fec9188e5a01e0bfbbae39f833395
|
|
BLAKE2b-256 checksum How to use checksums |
104d4b96428475cfd0ad4ac10cdd1c35a013a53cbd74efcd7f2fe8fbe201b4f0
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.11.5
|
Release files / pyarmour-0.1.3-py3-none-any.whl
| Download URL | pyarmour-0.1.3-py3-none-any.whl |
|---|---|
| Size | 20.1 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
c0a09bd2158fe409a317efe1dd1108f7459718152e648ae676df1d7649bc45d2
|
|
BLAKE2b-256 checksum How to use checksums |
395bb7f6a5ef6a53561df4bc8670fedbff8cc466a861a49a9120328f73780446
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.11.5
|