Topic: Whether pyproject.toml, pytest.ini, or conftest.py exists at the repo root (topics.json:1283 flags this as unresolved) — their absence would confirm pytest is per-directory, reinforcing why standalone testers exist

Date: 2026-05-29

Time: 11:32

No Root-Level Pytest Configuration Exists

The repo root at /Users/ben/git/ddia-implementations/ contains zero configuration files — no pyproject.toml, no pytest.ini, no conftest.py, no setup.cfg. The root is exclusively 37 directories, one per DDIA concept, plus a .gitignore. A grep for [pytest] or [tool.pytest across the entire repo returned zero matches, confirming there's no pytest configuration hiding in any file at any level.

This is architecturally significant. It means:

1. Each module is a standalone island. There is no unified test runner, no shared fixtures, no common conftest. You cd bloom-filter && pytest — you don't run pytest from the root and expect it to discover everything.

2. The tester*.py naming convention makes sense. Look at bloom-filter/testertestbloomfilter.py — it imports directly from bloom_filter (line 6) with no package prefix, no src. path, no installed package. This only works when pytest's working directory is the module directory itself.

3. The .gitignore confirms this pattern. It ignores _pycache/, *.pyc, and .pytestcache/ — artifacts that appear wherever pytest runs. Each module directory will grow its own .pytest_cache/ independently.

4. No shared test infrastructure exists. There are no common fixtures, no shared test utilities, no base test classes. Each module defines its own test setup inline. The bloom filter tester, for example, constructs its own BloomFilter instances directly in each test function (lines 11-16, 22-27, etc.).

This design is intentional: each directory is a self-contained reference implementation that a reader can clone or copy in isolation. A root-level pyproject.toml would create coupling where the pedagogical goal is independence.

Topics to Explore

Beliefs