Skip to content

Contributing

Thank you for considering contributing to fileup! This guide will help you get started.

Development Setup

  1. Clone the repository:

    git clone https://github.com/basnijholt/fileup.git
    cd fileup
    

  2. Install development dependencies with uv:

    uv sync --group test --group docs
    

  3. Install pre-commit hooks:

    pre-commit install
    

Running Tests

Run the test suite with:

pytest

For coverage report:

pytest --cov=fileup --cov-report=html

Code Style

This project uses:

  • Ruff for linting and formatting
  • mypy for type checking
  • pre-commit for automated checks

Run checks manually:

ruff check .
ruff format .
mypy fileup.py

Building Documentation

Generate and build the documentation locally:

uv run python docs/generate.py
uv run zensical build

Preview the docs:

uv run zensical serve

Submitting Changes

  1. Fork the repository
  2. Create a feature branch: git checkout -b feature/my-feature
  3. Make your changes
  4. Run tests and linting
  5. Commit with a descriptive message
  6. Push to your fork
  7. Open a Pull Request

Reporting Issues

When reporting issues, please include:

  • Your Python version
  • Your operating system
  • Steps to reproduce the issue
  • Expected vs actual behavior
  • Any error messages

License

By contributing, you agree that your contributions will be licensed under the same license as the project.