Skip to content

Contributing

This project aims to share the latest advancements in PIDS research and must therefore be actively maintained. We need your help for this task!

Helpful contributions could be:

  • Adding a new PIDS
  • Fix a bug
  • Adding new methods (e.g. encoders, decoders, featurization)
  • Update current PIDSs (e.g. some systems may not reflect perfectly their original implementation)
  • Optimizing pieces of code (e.g. you spot a slow operation and found a better alternative)

Pro tips

We provide some tips for those willing to contribute to PIDSMaker.

  • Use dev container in VSCode: all interactions with PIDSMaker are made via the pids container. For a nicer dev experience, we highly recommend opening your VSCode window directly into the container for debuging purposes. More details here.
  • Avoid concurrent runs from scratch: if you launch 2 runs simultaneously, each with the same build_graphs config and same dataset, the files generated by each run will write concurrently in the same folder, leading to potentially invisible conflicts. To avoid this, you should launch the first run and wait for it to complete the first tasks to not overlap with concurrent runs. Once concurrent tasks are completed, you can run as many parallel runs as long as they start from a task with different arguments. Another way is to launch each run using --restart_from_scratch to ensure no overlap.

Contribution guidelines

Before opening your PR, ensure to perform the following steps.

Format all files

pre-commit run --all-files

Run tests

See guidelines.

Build documentation

See guidelines.