Freymaurer/Fable.Pyxpecto
68.5
Adequate · 3 October 2026
938
lines of production code
F#
primary language
2
measurements over time
What this system is
Fable.Pyxpecto is a multi-platform unit testing framework that allows developers to write test suites in F\# and compile them to Python, JavaScript, TypeScript, and .NET. It provides a unified DSL for defining synchronous and asynchronous tests with features like focused execution and detailed assertion diffs. The system ensures cross-runtime consistency by validating behavior across these distinct environments using a FAKE-based build pipeline.
Features
Initial project structure and multi-language test runner foundation
Establishes the Fable.Pyxpecto library, a F\#-based unit test runner that transpiles to Python, JavaScript, TypeScript, and .NET. The diff introduces the core solution structure, including the main F\# project, a FAKE build system, and a unified test DSL supporting Expecto-style primitives (testList, testCase, async tests) with features like focused and pending tests. It adds a Python entry point (main.py) and configures the Python environment to use the fable-library 5.0.0a20 prerelease, enabling the runner to execute tests across multiple target languages from a single F\# codebase.
(repo-wide) · high confidence
Initial release of Fable.Pyxpecto multi-platform testing framework
Introduces the core source files for Fable.Pyxpecto, a testing library supporting .NET, JavaScript, TypeScript, and Python runtimes. The package provides a DSL for defining synchronous and asynchronous tests with focused and pending states, an assertion module with detailed diff output for strings, and a runner that handles test execution, reporting, and command-line configuration (such as --fail-on-focused-tests and --silent).
src · high confidence
Behavioural changes
Introduce FAKE-based build system with native Python and multi-target test support
The build process has been restructured using the FAKE build tool (BlackFox.Fake), replacing the previous setup with a new project structure in the \build/\ directory. This change introduces native Python testing capabilities via the \uv\ tool, allowing F\# code to be compiled to Python and executed directly. Additionally, the test suite now supports multi-target compilation, enabling tests to be generated and run for JavaScript (via Node.js/Mocha), TypeScript (via tsx), and .NET, alongside the new Python targets. The build also includes parallel execution helpers for improved performance during test runs.
build · high confidence
Introduction of core test model definitions
The Fable.Pyxpecto library now includes a new Model.fs file that defines the fundamental data structures for the testing framework. This introduces types for managing test execution state (Stopwatch), defining test cases (SyncTest, AsyncTest, TestList, TestListSequential) with focus states, and handling test sequencing (Sequential vs Parallel). It also provides the FlatTest record for representing individual test units, an AssertException for error handling, and helper modules for accuracy comparisons (low, medium, high, veryHigh precision) and test failure reporting.
Fable.Pyxpecto · high confidence
Test coverage
Added F\# test suite for validating Fable multitarget support; Added Mocha integration tests for cross-platform compatibility.
Dependencies
Initial project setup with Fable 5 and Python integration dependencies
This change introduces the foundational project structure and dependency configuration for the Fable.Pyxpecto library, enabling F\# code to be compiled to Python for unit testing. The setup establishes central package management via Directory.Packages.props, defining core dependencies including Fable.Core (5.0.0-beta.4), Fable.Python (5.0.0-alpha.20.1), and FSharp.Core (8.0.403). The main library project targets netstandard2.0 and explicitly depends on the fable-library Python package (version \>= 5.0.0a17). Additionally, the configuration includes test infrastructure dependencies such as Expecto (9.0.4), Fable.Mocha (2.17.0), and Mocha (10.2.0) for JavaScript/Node.js test execution, alongside build tooling like Fake (5.23.1) and YoloDev.Expecto.TestSdk (0.13.2).
(dependencies) · high confidence
Written by watchdog.canine.dev from the codebase's own history, inside the signed delivery this page is composed from.
How this codebase got here
Score
- CAI 68 → 68 (+0.9)
- Rubric changed (rubric-2026.09.15 → rubric-2026.10.1) — scores are not directly comparable.
Lenses
- Code Health 95 → 95 (+0.0)
- Architecture 96 → 98 (+1.4)
- Maturity 61 → 61 (+0.0)
- Readiness 59 → 62 (+2.9)
- Security 83 → 82 (-1.3)
Resolved (3)
- Documentation: no architecture or design documentation (README.md)
- Documentation: no installation or build instructions (README.md)
- Documentation: no usage examples (README.md)
New (1)
- High CVE: [GHSA redacted] (package-lock.json)
Architecture
- Unchanged — 0 containers · 1 contexts · 0 edges
Written by watchdog.canine.dev from the codebase's own history, inside the signed delivery this page is composed from.
Survey your own repository
Freymaurer/Fable.Pyxpecto was measured the same way every project in this corpus was: the same rubric, at a pinned commit, with the result published in full. Point a surveyor at a repository you know and see whether you agree with it.
About this page
- The score is its most recent published measurement, taken on 3 October 2026 at a pinned commit. It is not a live figure and does not change until the project is measured again.
- Measured at commit da9b60fa11fdbdbe9a54e431eeec28db1ace0a0b — the exact code this score is about.
- Scored under rubric-2026.10.1 — the same rubric and the same method as every other entry in this index.
- Measured by watchdog.canine.dev using codehealth-analyzer preprod-4f4226d619ea.