| Crates.io | veils |
| lib.rs | veils |
| version | 0.1.2 |
| created_at | 2025-09-27 15:53:51.185629+00 |
| updated_at | 2025-09-29 20:31:42.294279+00 |
| description | A high-performance Short-Time Fourier Transform (STFT) library with scipy.signal.ShortTimeFFT compatibility |
| homepage | https://github.com/ultrasaw/veils |
| repository | https://github.com/ultrasaw/veils |
| max_upload_size | |
| id | 1857441 |
| size | 76,020 |
This repository contains an implementation of the stripped-down scipy.signal.ShortTimeFFT class in Python and Rust, with verification of ~1:1 accuracy between the implementations.
python/standalone_stft.py - Python STFT reference implementationsrc/lib.rs - Rust STFT implementationsrc/bin/shared_data_test.rs - Rust test binary for pipeline verificationscripts/run_code_quality_checks.sh - Fast quality checks (formatting + clippy) → matches CI code-quality jobscripts/run_comprehensive_tests.sh - Full test suite (build + tests + docs + unified STFT tests) → matches CI comprehensive-test jobscripts/run_crate_tests.sh - Publishing readiness (clean env + publish dry-run) → matches CI publish-check jobscripts/run_final_comparison.sh - Python-Rust compatibility (1:1 STFT coefficient and reconstruction verification)docker/code_quality.Dockerfile - Base Rust environment with fmt/clippy for quality checksdocker/unified_test.Dockerfile - Unified comprehensive STFT testing containerdocker/python_rust_comparison.Dockerfile - Python-Rust compatibility testing containerdocker/create_test.Dockerfile - Clean environment for crate publishing testspython/final_comparison.py - Python script for comprehensive Python-Rust comparison| Local Script | CI Job | Purpose |
|---|---|---|
scripts/run_code_quality_checks.sh |
code-quality |
Format + lint checks |
scripts/run_comprehensive_tests.sh |
comprehensive-test |
Build + all tests + docs + unified STFT tests |
scripts/run_crate_tests.sh |
publish-check |
Clean env + publish dry-run |
scripts/run_final_comparison.sh |
python-rust-comparison |
Python-Rust 1:1 compatibility verification |
Use docker and do small incremental changes; run test scripts to pinpoint and fix issues, or when working on new features.
# Quick quality check (matches CI code-quality job)
bash scripts/run_code_quality_checks.sh
# Full test suite (matches CI comprehensive testing)
bash scripts/run_comprehensive_tests.sh
# Publishing readiness (matches CI publish check)
bash scripts/run_crate_tests.sh
# Python-Rust compatibility verification (matches CI python-rust-comparison job)
bash scripts/run_final_comparison.sh
The scripts/run_final_comparison.sh script:
final_comparison_results.json# 1. Build and run Python-Rust comparison
docker build -f docker/python_rust_comparison.Dockerfile -t veils-comparison .
docker run --rm -v $(pwd):/workspace -w /workspace veils-comparison
# 2. Build and run comprehensive tests
docker build -f docker/unified_test.Dockerfile -t veils-unified-test .
docker run --rm -v $(pwd)/comparison_results:/workspace/comparison_results veils-unified-test
# 3. Build and run crate tests
docker build -f docker/create_test.Dockerfile -t veils-crate-test .
docker run --rm veils-crate-test