IDS2Eval
A config-driven toolkit that audits network intrusion detection (NIDS) datasets before you trust a result on them. It runs 28 checks for duplicated rows, label conflicts, one-column shortcuts and split problems, tests whether a suspected problem actually changes the accuracy, and records every verdict in a citable scorecard.
IDS2 reads both ways: Intrusion Detection Systems and Intrusion Data Sets.
Quickstart
python3 -m venv venv && venv/bin/pip install "ids2eval[plots]"
venv/bin/ids2eval-dashboard # web UI with a pre-filled config editor
venv/bin/ids2eval run --config my_config.yaml # or the CLI, with a config like the one below
# my_config.yaml: any NIDS dataset in CSV or Parquet form
dataset:
name: my-dataset
raw_files: ["data.csv"]
schema:
label_column: Label
Windows, installing from the source code, and troubleshooting: INSTALL.md.
Documentation
| Guide | What it covers |
|---|---|
| Usage | the CLI, the dashboard, output files, caching, reproducing a run, and the Python API |
| Config fields | every config field, with its default and an example |
| Configuration notes | the reasoning behind non-obvious fields, and larger worked examples |
| Checks | what each of the 28 checks does, the research behind it, and the scorecard's verdict rule |
| Example scorecards | the real audit runs behind the paper, on seven widely used NIDS benchmarks |
| Paper results | configurations, scorecards and analysis outputs behind the accompanying paper |
| Known issues | how to add a curated known issue or extractor fingerprint |
| Install guide | platform setup, extras, tests and lint, including Windows |
| Contributing | development setup and how releases are made |
| Project site | the project's overview page |
Versions
Every release and its changes are in the changelog; each one is archived on Zenodo under the concept DOI above.
v0.2.1(10.5281/zenodo.23301210): a check with no input to test reportsnot_applicableinstead ofok, an audit in which no check produced a result isnot_evaluatedinstead of passed, scorecards list the checks a config left disabled (schema 1.4), and known-issue warnings name the release they document; no statistic or threshold changed. Also adds the validation scripts and results of the paper's revision (host-disjoint splits, workflow ablation, interval coverage, class-adjusted reuse, a comparison with Flood et al.'s released heuristics).v0.2.0(10.5281/zenodo.23217301): the code, configurations and results behind the accompanying paper on auditing NIDS benchmarks (in preparation).
IDS2Eval grew out of the dataset-auditing code of research on machine-learning-based network intrusion detection, generalized into a dataset-independent toolkit.
Citing
Cite the version you used. The concept DOI 10.5281/zenodo.23217300 always resolves to the latest version.
Relapanawa, R. (2026). IDS2Eval 0.2.1 (Version v0.2.1) [Computer software]. Zenodo. https://doi.org/10.5281/zenodo.23301210
The results, configurations and analysis scripts behind the accompanying paper are archived separately:
Relapanawa, R. (2026). IDS2Eval paper: research artifacts (results, configurations and analysis scripts) [Dataset]. Zenodo. https://doi.org/10.5281/zenodo.23301258
License
AGPL-3.0. See LICENSE.
Metadata
Release files for ids2eval 0.2.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 | |
|---|---|---|---|
| ids2eval-0.2.3.tar.gz | 205.8 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| ids2eval-0.2.3-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 395.4 kB
Release files / ids2eval-0.2.3.tar.gz
| Download URL | ids2eval-0.2.3.tar.gz |
|---|---|
| Size | 205.8 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
e1d0996f7ad348f462b81cbba84ade792b15670c55bf9e08aa7814d33c73a0ba
|
|
BLAKE2b-256 checksum How to use checksums |
36e8c1c2082eb787c8e7e43b2f5374d1e712eb6d5fea18f9c08c997d6df43fdc
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Oct 17, 2026.
Transparency logRelease files / ids2eval-0.2.3-py3-none-any.whl
| Download URL | ids2eval-0.2.3-py3-none-any.whl |
|---|---|
| Size | 189.6 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
03b39163d771c5961b70c4ddf6a5482ae651596d620fda14769a8dbf8e55c83a
|
|
BLAKE2b-256 checksum How to use checksums |
44c871cf9bc8d1c1cd1d0dd236891cb4abf6c40d349e64b81f31fb4a8ad78ee1
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Oct 17, 2026.
Transparency log