airbytehq / airbytehq/PyAirbyte

Extract pytest slow marker tuner into dedicated package

Đang mở
#837 0 bình luận 0 reaction 0 người được giao Xem trên GitHub
enhancement
Ngôn ngữ chính
Python
Star
344
Fork
77
Merge trung bình
1 ngày 11 giờ
Pull request đã merge (30 ngày)
35

Mô tả

## 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)

Hướng dẫn đóng góp

Mở hướng dẫn đóng góp

Đánh giá

Issue này chưa được đánh giá.

Nhận issue mới trong hộp thư của bạn

Bản tóm tắt ngắn những issue GitHub phù hợp với người mới.