uv sync --extra dev
cp scilex/api.config.yml.example scilex/api.config.yml
cp scilex/scilex.config.yml.example scilex/scilex.config.yml
uv run python -m pytest tests/- Fork the repository and clone your fork locally
- Branch off
main:git checkout -b feature/your-feature - Make changes, add tests
- Format and lint:
uvx ruff format . && uvx ruff check --fix . - Open a pull request against
mainwith a clear description of your changes
rufffor formatting and linting (configured inpyproject.toml)- Google-style docstrings
- Use
MISSING_VALUE/is_valid()fromscilex/constants.py— never hardcodeNoneor"NA" - Use
logging, notprint
Follow conventional commits:
feat(collector): add OpenAlex collector
fix(aggregate): correct dedup for IEEE papers
docs: update installation guide
Types: feat, fix, docs, refactor, test, chore
See docs/developer-guides/adding-collectors.md.
Open a GitHub issue with: steps to reproduce, expected vs actual behavior, Python version, and full traceback.