Skip to content

Commit bff5813

Browse files
Fix inaccuracies in Copilot instructions based on code review
Co-authored-by: saulshanabrook <1186124+saulshanabrook@users.noreply.github.com>
1 parent 8217ac9 commit bff5813

1 file changed

Lines changed: 13 additions & 9 deletions

File tree

.github/copilot-instructions.md

Lines changed: 13 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -22,15 +22,18 @@ This repository provides Python bindings for the Rust library `egglog`, enabling
2222

2323
### Prerequisites
2424
- **uv** - Package manager (https://github.com/astral-sh/uv)
25-
- **Rust toolchain** - Version 1.79.0 (specified in rust-toolchain.toml)
25+
- **Rust toolchain** - Version 1.89.0 (specified in rust-toolchain.toml)
2626
- **Python** - 3.10+ (see .python-version)
2727

2828
### Common Commands
2929

3030
```bash
31-
# Install dependencies
31+
# Install dependencies (for development)
3232
uv sync --extra dev --locked
3333

34+
# Install dependencies (for testing)
35+
uv sync --extra test --locked
36+
3437
# Run tests
3538
uv run pytest --benchmark-disable -vvv --durations=10
3639

@@ -77,16 +80,16 @@ See `pyproject.toml` for complete Ruff configuration.
7780

7881
### Testing
7982
- Tests are located in `python/tests/`
80-
- Use pytest with snapshot testing (pytest-inline-snapshot)
83+
- Use pytest with snapshot testing (syrupy)
8184
- Benchmarks use pytest-benchmark and CodSpeed
8285
- Run tests with: `uv run pytest --benchmark-disable -vvv`
8386

8487
## Rust Code Standards
8588

8689
### General Guidelines
87-
- **Edition**: Rust 2024
90+
- **Edition**: Rust 2024 (experimental)
8891
- **FFI**: Uses PyO3 for Python bindings
89-
- **Main library**: Uses egglog from git (currently saulshanabrook/egg-smol branch)
92+
- **Main library**: Uses egglog from git (saulshanabrook/egg-smol, clone-cost branch)
9093

9194
### File Organization
9295
- `src/lib.rs` - Main library entry point
@@ -123,7 +126,7 @@ Run `pre-commit install` to enable automatic checking.
123126
- **Core**: typing-extensions, black, graphviz, anywidget
124127
- **Array support**: scikit-learn, array_api_compat, numba, numpy>2
125128
- **Dev tools**: ruff, pre-commit, mypy, jupyterlab
126-
- **Testing**: pytest, pytest-benchmark, syrupy (inline snapshots)
129+
- **Testing**: pytest, pytest-benchmark, pytest-codspeed, pytest-xdist, syrupy (snapshot testing)
127130
- **Docs**: sphinx and related packages
128131

129132
### Rust Dependencies
@@ -167,9 +170,10 @@ Documentation is built with Sphinx:
167170

168171
1. **Unit tests**: Test individual functions and classes
169172
2. **Integration tests**: Test complete workflows
170-
3. **Snapshot tests**: Use inline snapshots for complex outputs
171-
4. **Benchmarks**: Performance testing with pytest-benchmark
172-
5. **Type checking**: Validate type stubs and annotations
173+
3. **Snapshot tests**: Use syrupy for snapshot testing of complex outputs
174+
4. **Benchmarks**: Performance testing with pytest-benchmark and pytest-codspeed
175+
5. **Parallel testing**: Use pytest-xdist for faster test runs
176+
6. **Type checking**: Validate type stubs and annotations
173177

174178
## Performance Considerations
175179

0 commit comments

Comments
 (0)