Skip to content

v0.1.0 — first packaged release

Choose a tag to compare

@SafeerAhmad211 SafeerAhmad211 released this 05 Aug 11:12
· 3 commits to main since this release

First packaged release of the AVS Framework — the open-source statistical engine for the Audit and Security pillars.

Install:

pip install avs-framework

Added

  • AVSAdverseImpactAudit — adverse impact analysis implementing the four-fifths rule (29 C.F.R. 1607.4D), the pooled two-proportion Z-test, and Fisher's exact test, with four-level severity classification separating practical from statistical significance.
  • AVSNameSwapTest — black-box name-swap bias test for resume scoring models, using fully synthetic resumes.
  • AVSDriftDetector — chi-square demographic composition drift, Kolmogorov-Smirnov score distribution drift, and per-group selection-rate drift.
  • min_expected_cell_count — public helper exposing the gate that selects between the normal approximation and Fisher's exact test.
  • CITATION.cff for machine-readable citation metadata.
  • Test suite at 100% statement coverage, run against Python 3.10–3.13 in CI.

Fixed

  • Fisher's exact test selection gate. Previously evaluated expected cell counts using the reference group's own selection rate, examining only the comparison group's two cells. Now uses the pooled selection proportion across all four cells of the 2×2 table. Small reference groups are no longer masked by large comparison groups, so some small-sample analyses will correctly report Fisher's exact p-values where they previously reported normal-approximation values.
  • NumPy scalars leaked through the public API. AuditFinding fields and AVSDriftDetector return values held numpy.bool_ and numpy.float64 rather than Python natives, so results failed to serialize with json.dumps and identity comparisons such as result is True returned False. All public return values are now Python scalars.
  • Division by zero in demographic drift detection. A category present in the current period but absent from the baseline produced an expected count of zero and a RuntimeWarning. A newly appearing category is now reported directly as significant drift.

Changed

  • Restructured to an installable src/avs_framework/ layout. Imports change from from src.avs_audit import ... to from avs_framework import ...; modules renamed avs_auditaudit, avs_securitysecurity, avs_driftdrift.
  • Minimum supported Python raised to 3.10.

Full detail in CHANGELOG.md.