diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index d307781..48329a3 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -1,14 +1,52 @@ # Contributing Guidelines -Contributions welcome! +We value your participation in this open source project. This page will give you a quick overview of how to get involved. -**Before spending lots of time on something, ask for feedback on your idea first!** +## Important Note -Please search issues and pull requests before adding something new to avoid duplicating efforts and conversations. +- Do not raise issues or send PRs for changing issue template, adding header-footer, badges or any buttons. +- Do not raise issues or send PRs for for any website changes. -This project welcomes following types of contributions: +## How can I contribute? -- **Ideas**: participate in an issue thread or start your own to have your voice heard. -- **Writing**: contribute your expertise in an area by helping expand the included content. -- **Copy editing**: fix typos, clarify language, and generally improve the quality of the content. -- **Formatting**: help keep content easy to read with consistent formatting. +You can contribute to this project by adding content on a new topic or improving existing content. + +The list of topics for which we are looking for content are provided below along with the location where the content has to be added: + +- Advanced Python - [Link](https://github.com/animator/learn-python/tree/main/contrib/advanced-python) +- Pandas - [Link](https://github.com/animator/learn-python/tree/main/contrib/pandas) +- NumPy - [Link](https://github.com/animator/learn-python/tree/main/contrib/numpy) +- SciPy - [Link](https://github.com/animator/learn-python/tree/main/contrib/scipy) +- Data Science & Machine Learning - [Link](https://github.com/animator/learn-python/tree/main/contrib/machine-learning) +- Plotting & Visualization - [Link](https://github.com/animator/learn-python/tree/main/contrib/plotting-visualization) +- Interacting with Databases - [Link](https://github.com/animator/learn-python/tree/main/contrib/database) +- Web Scrapping - [Link](https://github.com/animator/learn-python/tree/main/contrib/web-scrapping) +- API Development - [Link](https://github.com/animator/learn-python/tree/main/contrib/api-development) +- Data Structures & Algorithms - [Link](https://github.com/animator/learn-python/tree/main/contrib/ds-algorithms) +- Python Mini Projects - [Link](https://github.com/animator/learn-python/tree/main/contrib/mini-projects) +- Python Question Bank - [Link](https://github.com/animator/learn-python/tree/main/contrib/question-bank) + +You can check out some content ideas below. + +## Process + +**Step 1**: Raise a **new issue** that you want to "Add content". We will assign the issue to you and label it. +**Step 2**: Star and fork THIS repository. +**Step 3**: Now in your fork, go the correct topic folder as provided in the links above. +**Step 4**: Edit `index.md` file to add the title of the content and the corresponding file name where the content will be available in this folder. +**Step 5**: Add the content in the file. +**Step 6**: Raise a PR with your changes. Accept the pledge that the content is original and not stolen from any other source. +**Step 7**: Wait for review and PR merge. + +### Some Content Ideas + +- **NumPy**: Introduction, Arrays, Indexing and Slicing, Operations on Arrays, Concatenating Arrays, Reshaping Arrays, Splitting Arrays, Statistical Operations on Arrays, Loading Arrays from Files, Saving NumPy Arrays in Files, etc. +- **Pandas**: Introduction, Importing and Exporting Data, DataFrames, Pandas Series Vs NumPy ndarray, Descriptive Statistics, Data Aggregations, Sorting a DataFrame, Group by Functions, Altering the Index, Other DataFrame Operations, Handling Missing Values, Import and Export of Data between Pandas and MySQL, Pandas plotting, etc. +- **Plotting & Visualization**: Matplotlib, Seaborn, Customisation of Plots (Marker, colour, Line width and Line Style), Line chart, Bar Chart, Histogram, Scatter Chart, Plotting Quartiles and Box plot, Pie Chart, etc. +- **Data Science & Machine Learning**: Scikit-learn, TensorFlow, PyTorch, regression, classification, clustering, ensemble model, deep learning, etc. +- **API Development**: Building APIs using FastAPI, CRUD API Development, etc. +- **Advanced Python**: OOP In Python, Generators, List Comprehensions, Lambda functions, In-depth Function Arguments, Regular Expressions, Exception Handling, Partial functions, Code Introspection, Closures, Decorators, Map, Filter, Reduce, etc. + +### Any doubt? + +In case you are new to the open source ecosystem, we would be more than happy to guide you through the entire process. Just join our [Discord server](https://bit.ly/heyfoss) and drop a message in relevant channel.