-
Notifications
You must be signed in to change notification settings - Fork 68
Open
Labels
enhancementNew feature or requestNew feature or request
Description
Summary
The pytest slow marker tuner (bin/tune_slow_markers.py) should be extracted into its own dedicated package/repository. This tool is useful for any pytest project and could benefit the broader Python testing community.
Current Implementation
The tool currently lives in PyAirbyte's bin/ directory and provides:
- Automated detection of slow tests based on execution time
- AST-based marker addition/removal that preserves code formatting
- Configurable timeout threshold (default: 7.0s)
- Dry-run mode for preview
- Optional removal of slow markers from fast tests
- PEP 723 inline script metadata for standalone execution with
uv run
Proposed Changes
- Create a new repository (e.g.,
pytest-slow-marker-tuner) - Package structure:
- Convert to a proper Python package with
pyproject.toml - Add comprehensive tests
- Add documentation (README, usage examples)
- Set up CI/CD for testing and publishing
- Convert to a proper Python package with
- Publishing:
- Publish to PyPI for easy installation
- Support installation via
pipxoruv tool install
- Integration:
- Update PyAirbyte to use the published package
- Provide GitHub Action for easy CI integration
Benefits
- Reusability: Any pytest project can use this tool
- Maintainability: Dedicated repo with its own tests and CI
- Discoverability: PyPI listing makes it easy to find
- Community: Can accept contributions from broader community
References
- Current implementation: feat: Add automated pytest slow marker tuner #836
- Devin session: https://app.devin.ai/sessions/b2bd2fdac9314cf18270c81f81305c55
Requested by: AJ Steers (@aaronsteers)
Metadata
Metadata
Assignees
Labels
enhancementNew feature or requestNew feature or request