airbytehq / airbytehq/PyAirbyte
Extract pytest slow marker tuner into dedicated package
- Dominant language
- Python
- Stars
- 344
- Forks
- 77
- Avg merge
- 1d 11h
- Merged PRs (30d)
- 35
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
1. **Create a new repository** (e.g., `pytest-slow-marker-tuner`)
2. **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
3. **Publishing**:
- Publish to PyPI for easy installation
- Support installation via `pipx` or `uv tool install`
4. **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: https://github.com/airbytehq/PyAirbyte/pull/836
- Devin session: https://app.devin.ai/sessions/b2bd2fdac9314cf18270c81f81305c55
**Requested by:** AJ Steers (@aaronsteers)
Contributor guide
Assessment
This issue has not been assessed yet.