Thank you for your interest in contributing to arXiv Explorer! This guide will help you get started.
- Python 3.11+
- uv - Fast Python package manager
- git
-
Fork the repository and clone your fork:
git clone https://github.com/<your-username>/arXiv_explorer.git cd arXiv_explorer
-
Install dependencies:
uv sync
-
Verify the installation:
uv run axp --help
This project follows gitflow:
maincontains stable releases only.devis the active development branch.- All feature branches should be created from
dev. - All pull requests should target
dev.
To start working on a change:
git checkout dev
git pull origin dev
git checkout -b feature/your-feature-nameWe use Ruff for both linting and formatting. Before submitting a pull request, make sure your code passes both checks:
uv run ruff check src/ tests/
uv run ruff format src/ tests/Run the full test suite with coverage:
uv run pytest --covTo run a specific test file:
uv run pytest tests/test_recommendation.pyAll new features should include tests. Aim to maintain or improve code coverage.
Write clear, descriptive commit messages that explain why the change was made, not just what was changed. Use the imperative mood in the subject line (e.g., "Add keyword weighting to recommendation engine" rather than "Added keyword weighting").
- Ensure all tests pass before submitting your PR.
- Ensure linting passes with
uv run ruff check src/ tests/. - Describe your changes clearly in the PR description --- what was changed, why, and how to test it.
- Target the
devbranch --- PRs tomainwill not be accepted unless they are release merges. - Keep PRs focused --- one feature or fix per pull request makes review easier.
If you find a bug or have a feature request, please open an issue using the appropriate template. Provide as much detail as possible to help us understand and reproduce the problem.
If you have questions about contributing, feel free to open a discussion or reach out to the maintainer at axect.tg@proton.me.