# Contribution Guidelines Thanks for your interest in contributing to our project. This page will give you a quick overview of how things are organized and, most importantly, how to get involved. Everyone is welcome to contribute, and we value everybody's contribution. ## Table of contents 1. [Add a project](#add-a-project) 2. [Update a project](#update-a-project) 3. [Improve metadata collection](#improve-metadata-collection) 4. [Improve markdown generation](#improve-markdown-generation) 5. [Create your own best-of list](#improve-markdown-generation) 6. [Code of conduct](#code-of-conduct) ## Add a project If you like to suggest or add a project, choose one of the following ways: - Suggest a project by opening an issue: Please use the suggest project template from the [issue page](https://github.com/ml-tooling/best-of-python-dev/issues/new/choose) and fill in the requested information. - Add a project by modifying the [projects.yaml](https://github.com/ml-tooling/best-of-python-dev/blob/main/projects.yaml) and submitting a pull request with your addition. This can also be done directly via the [Github UI](https://github.com/ml-tooling/best-of-python-dev/edit/main/projects.yaml). Before opening an issue or pull request, please ensure that you adhere to the following guidelines: - Please make sure that the project was not already added or suggested to this best-of list. You can ensure this by searching the projects.yaml, the Readme, and the issue list. - Add the project to the `projects.yaml` and never to the `README.md` file directly. Use the yaml format and the properties documented in the [project properties](#project-properties) section below to add a new project, for example: ```yaml - name: Tensorflow github_id: tensorflow/tensorflow pypi_id: tensorflow conda_id: tensorflow labels: ["tensorflow"] category: ml-frameworks ``` - Please create an individual issue or pull request for each project. - Please use the following title format for the issue or pull request: `Add project: project-name`. - If a project doesn't fit into any of the pre-existing categories, it should go under the `Others` category by not assigning any category. You can also suggest a new category via the add or update category template on the [issue page](https://github.com/ml-tooling/best-of-python-dev/issues/new/choose). ## Update a project If you like to suggest or contribute a project update, choose one of the following ways: - Suggest a project update by opening an issue: Please use the update project template from the [issue page](https://github.com/ml-tooling/best-of-python-dev/issues/new/choose) and fill in the requested information. - Update a project by modifying the [projects.yaml](https://github.com/ml-tooling/best-of-python-dev/blob/main/projects.yaml) and submitting a pull request with your changes. This can also be done directly via the [Github UI](https://github.com/ml-tooling/best-of-python-dev/edit/main/projects.yaml). Before opening an issue or pull request, please ensure that you adhere to the following guidelines: - Only update the project in the `projects.yaml` and never to the `README.md` file directly. Use the yaml format and the properties documented in the [project properties](#project-properties) section below to update a new project. - Please create an individual issue or pull request for each project. - Please use the following title format for the issue or pull request: `Update project: project-name`. ## Project properties
Property | Description |
---|---|
name |
Name of the project. This name is required to be unique on the best-of list. |
github_id |
Github ID of the project based on user or organization and the repository name, e.g. best-of-lists/best-of-generator . |
Optional Properties: | |
category |
Category that this project is most related to. You can find all available category IDs in the projects.yaml file. The project will be sorted into the Others category if no category is provided. |
labels |
List of labels that this project is related to. You can find all available label IDs in the projects.yaml file. |
Supported Package Managers: | |
pypi_id |
Project ID on the python package index (PyPi). |
conda_id |
Project ID on the conda package manager. If the main package is provided on a different channel, prefix the ID with the given channel: e.g. conda-forge/tensorflow |
npm_id |
Project ID on the Node package manager (npm). |
dockerhub_id |
Project ID on the Docker Hub container registry. |
maven_id |
Artifact ID on Maven central, e.g. org.apache.flink:flink-core . |