We welcome any contributions from the community.
To get started, please proceed to
- Fork the atoti repository:
- Pull the
main
branch (git checkout main
andgit pull
) from the forked repository. - Run
poetry install
to be sure to work with the expected dependencies. - Create a working branch
git switch -c <PSEUDO>/<SUBJECT>
. - Start JupyterLab:
poetry run jupyter lab
. - Create the folder and notebooks. Add notebooks responsible for data pre-processing to the list of untested notebooks. The main notebook using atoti should be tested to ensure users can run it.
- If a dependency is missing run
poetry add <DEPENDENCY_NAME>
: DEPENDENCIES MUST NOT BEEN ADDED WITH CONDA OR PIP since the Github CI relies on thepoetry.lock
file to install dependencies. - Commit and push changes to the forked repository using
git push
. - Create a pull request from the forked repository.
Please monitor the pull request as each pull request is subject to automatic code testing. The atoti team will review and comment on any pull requests to ensure each submission is aligned with the API's usage.
Please make sure your PR follows the rules below:
-
folders and files name should be lowercase with hyphen.
Example:
name-of-my-folder-or-file
-
notebook example should be put inside a folder which name is the notebook's title. This folder should be located under a specific "domain" folder.
Example:
/relevant-domain/title-of-my-notebook-folder/
-
entrypoint should be named
main.ipynb
-
README TOC should be updated to link to the new notebook
-
notebook should have an H1 title, matching folder name and README TOC
-
create a README at notebook level to briefly introduce yourself and the use case.
- data files name should use snake_case
- data files should be of reasonnable size, not exceeding 50MB, unless programmatically generated
- all data files should be uploaded on data.atoti.io If you don't have access to it, data should be hosted on a public host and an owner will transfer them to data.atoti.io upon review
- variables should follow Google's naming convention
- python files should be formatted with Black
- python methods should be typed
- documentation should follow Google's docstring
This repository is tested with a Github Action.
These commands can be used while developing:
-
Reformat python files using black :
poetry run black .
-
Reformat notebooks using black-nb :
poetry run black-nb notebooks/
-
Execute all the notebooks:
poetry run python tests/execute_notebooks.py
Checkout atoti.io for more info!
By opening an issue or a pull request, you agree with atoti's terms of use and privacy policy.