We welcome contributions to SteadyText! This document provides guidelines for contributing to the project.
- Fork the repository
- Clone your fork:
git clone https://github.com/your-username/steadytext.git - Create a new branch:
git checkout -b feature/your-feature-name
We use UV, a modern, blazing-fast Python package manager that's 10-100x faster than pip.
# Install UV
curl -LsSf https://astral.sh/uv/install.sh | sh
# Clone and setup
git clone https://github.com/your-username/steadytext.git
cd steadytext
# Install in development mode with all dependencies
uv sync --all-extras --dev- Write your code following the existing style
- Add tests for new functionality
- Ensure all tests pass
- Update documentation as needed
- Follow the project's commit message conventions
- Push your changes to your fork
- Create a pull request with a clear description
- Wait for review and address any feedback
We use ruff for linting and formatting, and pytest for testing.
# Run all tests
uv run python -m pytest
# Run with coverage
uv run python -m pytest --cov=steadytext
# Run specific test file
uv run python -m pytest tests/test_steadytext.py
# Allow model downloads in tests
STEADYTEXT_ALLOW_MODEL_DOWNLOADS=true uv run python -m pytest# Check for linting errors
uvx ruff check .
# Format code
uvx ruff format .
uvx black .Feel free to open an issue if you have questions or need help!