We are actively developing PDX and accepting contributions! Any kind of PR is welcome.
These are our current priorities:
Features:
- Out-of-core execution (disk-based setting).
- Implement multi-threading capabilities.
- Add PDX to the VIBE benchmark.
Improvements:
- Regression tests on CI.
- Fork the repository on GitHub and create a feature branch:
git checkout -b my-feature- Make your changes.
- Run the test suite locally before submitting your PR.
- Open a Pull Request (PR) against the
mainbranch.
Important
Let us know in advance if you plan implementing a big feature!
All PRs must pass the full test suite in CI. Before submitting a PR, you should run tests locally:
# C++ tests
cmake . -DPDX_COMPILE_TESTS=ON
make -j$(nproc) tests
ctest .Tests are also prone to bugs. If that is the case, please open an Issue.
- Open your PR against the
mainbranch. - Make sure your branch is rebased on top of
mainbefore submission. - Verify that CI passes.
- Keep PRs focused — small, logical changes are easier to review and merge.
- Function, Class, and Struct names:
PascalCase - Variables and Class/Struct member names:
snake_case - Constants and magic variables:
UPPER_SNAKE_CASE - Avoid
newanddelete - There is a
.clang-formatin the project. Make sure to adhere to it. We have provided scripts to check and format the files within the project:
pip install clang-format==18.1.8
./scripts/format_check.sh # Checks the formatting
./scripts/format.sh # Fix the formatting- Use GitHub Issues for bug reports and feature requests.