learn-python/CONTRIBUTING.md

56 wiersze
4.4 KiB
Markdown

# Contributing Guidelines
We value your participation in this open source project. This page will give you a quick overview of how to get involved.
## Important Note
- 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.
- Do not choose an entire topic or a whole bunch of sections. Just choose a single small section for which you will be contributing when you raise a new issue.
## How can I contribute?
You can contribute to this project by adding content on a new topic or improving existing content (in the `README.md` file).
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 <Your content title> content". We will assign the issue to you and label it.
**Do not choose an entire topic or a whole bunch of sections. Just choose a single small section for which you will be contributing when you raise a new issue.**
**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 markdown format in the file (extension `.md`).
**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.
- **Web Scrapping**: beautifulsoup, requests, 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.