Thanks for your interest in contributing to finwise-python!
If you have Nix installed with flakes enabled:
git clone https://github.com/rameezk/finwise-python.git
cd finwise-python
# Enter development shell
nix develop
# Install package in editable mode
pip install -e .Available dev shells:
nix develop- Default (Python 3.11)nix develop .#python312- Python 3.12nix develop .#python313- Python 3.13nix develop .#docs- Documentation environment
-
Clone the repository:
git clone https://github.com/rameezk/finwise-python.git cd finwise-python -
Create a virtual environment:
python -m venv venv source venv/bin/activate # On Windows: venv\Scripts\activate
-
Install development dependencies:
pip install -e ".[dev]"
pytestWith coverage:
pytest --cov --cov-report=term-missingThis project uses ruff for linting and formatting, and mypy for type checking.
# Lint
ruff check .
# Format
ruff format .
# Type check
mypy src/- Fork the repository
- Create a feature branch (
git checkout -b feature/my-feature) - Make your changes
- Ensure tests pass and code quality checks succeed
- Commit your changes using conventional commits
- Push to your fork and open a pull request
This project uses semantic-release for automated versioning. Please use conventional commit messages:
feat:- New features (triggers minor version bump)fix:- Bug fixes (triggers patch version bump)docs:- Documentation changeschore:- Maintenance taskstest:- Test changesrefactor:- Code refactoring
Example:
feat: add support for bulk transactions
fix: handle pagination edge case
docs: update installation instructions
Open an issue if you have questions or run into problems.