|
| 1 | +# Contributing to Scrape-ML |
| 2 | + |
| 3 | +Thank you for considering contributing to Scrape-ML! We welcome all types of contributions—bug reports, feature suggestions, documentation improvements, and code contributions. To make the process smooth, please follow the guidelines below. |
| 4 | + |
| 5 | +## Table of Contents |
| 6 | +1. [Code of Conduct](https://github.com/recodehive/Scrape-ML/blob/main/CODE_OF_CONDUCT.md) |
| 7 | +2. [How to Contribute](#how-to-contribute) |
| 8 | + - [Reporting Bugs](#reporting-bugs) |
| 9 | + - [Suggesting Enhancements](#suggesting-enhancements) |
| 10 | + - [Submitting Code Changes](#submitting-code-changes) |
| 11 | +3. [Pull Request Process](#pull-request-process) |
| 12 | +4. [Development Environment Setup](#development-environment-setup) |
| 13 | + |
| 14 | +## Code of Conduct |
| 15 | +By participating in this project, you agree to uphold our [Code of Conduct](CODE_OF_CONDUCT.md). Please ensure that your contributions are respectful and considerate of others. |
| 16 | + |
| 17 | +## How to Contribute |
| 18 | + |
| 19 | +### Reporting Bugs |
| 20 | +If you find a bug, please open an issue in our repository. When reporting a bug, provide as much detail as possible, including: |
| 21 | +- The version of Python you’re using. |
| 22 | +- Steps to reproduce the issue. |
| 23 | +- Screenshots or error logs, if available. |
| 24 | + |
| 25 | +### Suggesting Enhancements |
| 26 | +We are open to feature suggestions and improvements! If you have an idea for enhancing the project, please open an issue with: |
| 27 | +- A clear and concise description of the suggested feature. |
| 28 | +- How it would be beneficial to the project. |
| 29 | +- Any potential implementation details you have in mind. |
| 30 | + |
| 31 | +### Submitting Code Changes |
| 32 | + |
| 33 | +1. **Fork the repository:** |
| 34 | + - Click the "Fork" button in the top right corner of the repository page on GitHub. |
| 35 | + |
| 36 | +2. **Clone the forked repository locally:** |
| 37 | +```sh |
| 38 | + git clone https://github.com/your-username/Scrape-ML.git |
| 39 | + cd scrape-ml |
| 40 | +``` |
| 41 | +4. **Create a new branch for your changes:** |
| 42 | + |
| 43 | +```sh |
| 44 | +git checkout -b your-feature-branch |
| 45 | +``` |
| 46 | + |
| 47 | +5. **Make your changes:** |
| 48 | + |
| 49 | +* Ensure code quality and update documentation as necessary. |
| 50 | + |
| 51 | +6. **Test your changes thoroughly:** |
| 52 | + |
| 53 | +* Run existing tests and verify that everything works as expected. |
| 54 | + |
| 55 | +7. **Commit your changes with a descriptive message:** |
| 56 | + |
| 57 | +```sh |
| 58 | +git add . |
| 59 | +git commit -m "Add a brief description of the changes made" |
| 60 | +``` |
| 61 | + |
| 62 | +8. **Push to your fork and submit a pull request:** |
| 63 | + |
| 64 | +```sh |
| 65 | +git push origin your-feature-branch |
| 66 | +``` |
| 67 | +9. **Go to the original repository on GitHub and click on "New Pull Request."** |
| 68 | + |
| 69 | +* Select your branch from the dropdown and create the pull request. |
| 70 | + |
| 71 | +## Pull Request Process |
| 72 | +- Ensure your code follows the existing code style. |
| 73 | +- Update documentation as needed. |
| 74 | +- Verify that all existing tests pass and write new tests for new features. |
| 75 | +- Mention the issue your pull request addresses (if applicable). |
| 76 | + |
| 77 | +## Development Environment Setup |
| 78 | + |
| 79 | +To contribute to Scrape-ML, follow these steps to set up your development environment: |
| 80 | + |
| 81 | +### Prerequisites |
| 82 | +- Python 3.7 or higher |
| 83 | +- [BeautifulSoup](https://www.crummy.com/software/BeautifulSoup/bs4/doc/) |
| 84 | +- [Requests](https://docs.python-requests.org/en/latest/) |
| 85 | +- Jupyter Notebook |
| 86 | + |
| 87 | +### Setup Instructions |
| 88 | +1. Clone the repository: |
| 89 | + ```sh |
| 90 | + git clone https://github.com/your-username/scrape-ml.git |
| 91 | + ``` |
| 92 | +2. Create and activate a virtual environment: |
| 93 | + ```sh |
| 94 | + python -m venv env |
| 95 | + source env/bin/activate # For Linux/macOS |
| 96 | + .\env\Scripts\activate # For Windows |
| 97 | + ``` |
| 98 | +3. Install the dependencies: |
| 99 | + ```sh |
| 100 | + pip install -r requirements.txt |
| 101 | + ``` |
| 102 | +4. Launch Jupyter Notebook to start contributing: |
| 103 | + ```sh |
| 104 | + jupyter notebook |
| 105 | + ``` |
| 106 | + |
| 107 | +## Additional Guidelines |
| 108 | +- Make sure to follow clean coding practices. |
| 109 | +- Add comments wherever necessary for better code understanding. |
| 110 | +- If you are adding new functionality, update the documentation in the README. |
| 111 | + |
| 112 | +We are excited to see your contributions and collaborate with you! |
0 commit comments