-
Notifications
You must be signed in to change notification settings - Fork 1
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
feat: Restructure packages to streamline the addition of new algorithms
- Loading branch information
1 parent
8352db1
commit 8217711
Showing
30 changed files
with
4,244 additions
and
763 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,50 @@ | ||
Contributing to bdi-kit | ||
======================= | ||
|
||
There are many ways to contribute to bdi-kit, such as improving the codebase, reporting | ||
issues or bugs, enhancing the documentation, reviewing pull requests from other developers, | ||
adding new matching methods, or expanding support for additional standards. | ||
See the instructions below to get started! | ||
|
||
|
||
Formatting the Code | ||
------------------- | ||
|
||
We format code using the [black](https://black.readthedocs.io/en/stable/) code formatter. | ||
The CI runs for every pull request and will fail if code is not properly formatted. | ||
To make sure formatting is correct, you can do the following steps. | ||
|
||
Make sure you have black installed: | ||
``` | ||
pip install black | ||
``` | ||
|
||
To format the code, anyone can use the command before committing your changes: | ||
``` | ||
make format | ||
``` | ||
|
||
Or you can use the black command directly: | ||
``` | ||
black ./bdikit/ | ||
``` | ||
|
||
|
||
Adding New Matching Methods | ||
--------------------------- | ||
|
||
Contributors can add new methods for schema and value matching by following these steps: | ||
|
||
1. Create a Python module inside the "task folder" folder (e.g., `bdikit/value_matching`). | ||
|
||
2. Define a class in the module that implements either `BaseValueMatcher` (for value matching) or `BaseSchemaMatcher` (for schema matching). | ||
|
||
3. Add a new entry in `matcher_factory.py` (e.g., `bdikit/value_matching/matcher_factory.py`). Make sure to add the correct import path for your | ||
module to ensure it can be accessed without errors. | ||
|
||
|
||
Code of Conduct | ||
--------------- | ||
|
||
We abide by the principles of openness, respect, and consideration of others | ||
of the Python Software Foundation: https://www.python.org/psf/codeofconduct/. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.