Contributing to audiolibrarian
We welcome contributions from the community! Whether it's bug reports, feature requests, or code contributions, we appreciate your help in making audiolibrarian better.
How to Contribute
- Fork the repository on GitHub
- Clone your fork locally
- Create a branch for your changes
- Commit your changes
- Push to your fork
- Submit a Pull Request
Development Setup
Clone the repository
git clone https://github.com/toadstule/audiolibrarian.git
cd audiolibrarian
Install dependencies using the Makefile
make dep
source .venv/bin/activate
This will install all required dependencies in a virtual environment and activate that environment.
Development Workflow
Running Tests
Run the test suite:
make test
For tests with coverage report:
make test-coverage
Code Style and Linting
We use ruff for code formatting and linting. The Makefile provides these helpful commands:
make format # Format the code and sort imports
make lint # Run all linters and type checking
Building Documentation
To build and serve the documentation locally:
make docs
This will start a local server at http://127.0.0.1:8000 where you can preview the documentation.
Building the Package
To build the package:
make build
Updating Dependencies
To upgrade all dependencies:
make dep-upgrade
Before Committing
Before committing changes:
make check
This will run the linters and all the tests.
Reporting Issues
When reporting issues, please include:
- A clear description of the problem
- Steps to reproduce the issue
- Expected behavior
- Actual behavior
- Your operating system and Python version
- Any relevant error messages
Feature Requests
We welcome feature requests! Please open an issue and describe:
- The feature you'd like to see
- Why this feature would be useful
- Any suggestions for implementation
Available Make Commands
For a complete list of available commands, run:
make help