🎉👍 First off, thanks for taking the time to contribute! 🎉👍
The following is a set of guidelines for contributing to Ozon3. These are mostly guidelines, not rules. Use your best judgment, and feel free to propose changes to this document in a pull request.
Note: One very important thing is to make sure you only make PR's to the
dev
branch and not themain
branch. The main branch is stable, and dev branch changes will be merged into it periodically once it's confirmed that they don't have any breaking changes.
I don't want to read this whole thing, I just have a question!!!
What should I know before I get started?
Note: Please don't file an issue to ask a question. Search for your question in issues and see if it's already been answered. Also check out the discussions tab to see if we've chatted about it before. Post it there if it's an idea, or in issues if there's a change to be made.
Ozon3 is currently an extremely simple package.
- The package itself is in the
src/ozone
directory. - ozone.py contains the Ozone class that does most of the fetching of the data.
- urls.py contains a URLs class with the API endpoints and base urls.
Before creating bug reports, please check this list as you might find out that you don't need to create one. When you are creating a bug report, please include as many details as possible.
Note: If you find a Closed issue that seems like it is the same thing that you're experiencing, open a new issue and include a link to the original issue in the body of your new one.
- Perform a cursory search to see if the problem has already been reported. If it has and the issue is still open, add a comment to the existing issue instead of opening a new one.
Bugs are tracked as GitHub issues.
- Use a clear and descriptive title for the issue to identify the problem.
- Describe the steps which reproduce the problem in as many details as possible.
- Provide specific examples to demonstrate the steps. Include links to files or GitHub projects, or copy/pasteable snippets. If you're providing snippets in the issue, use Markdown code blocks.
- Describe the behavior you observed after following the steps and point out the problem with that behavior. Explain which behavior you expected to see instead and why.
- Feel free to include screenshots / animated GIFs to clearly demonstrate the problem.
- If the problem wasn't triggered by a specific action, describe what you were doing before the problem happened and share more information using the guidelines below.
Consider providing additional context by answering these questions:
- Did the problem start happening recently (e.g. after updating to a new version of Ozon3) or was this always a problem?
- Can you reliably reproduce the issue? If not, provide details about how often the problem happens and under which conditions it normally happens.
- Which version of Ozon3 are you using?
This section guides you through submitting an enhancement/feature suggestion for Ozon3.
Please check the issues list, as you may find that it's already been suggested. When you are creating an enhancement suggestion.
Enhancement/feature suggestions are tracked as GitHub issues.
- Use a clear and descriptive title for the issue to identify the suggestion/feature. Explain the idea well in the description.
- Describe the current behavior and which behavior you expected to see instead.
- Explain why this enhancement would be useful to most Ozon3 users.
Unsure where to begin contributing to Atom? You can start by looking through these first-contribution
, beginner
, help-wanted
issues:
first-contribution
should only require a few lines of code. Or are improvements are documentation.beginner
issues are a step up, and may involve a couple of methods/tests.help-wanted
issues are slightly trickier and require more code and logic.
Here's how you can get started:
Note: One very important thing is to make sure you only make PR's to the
dev
branch and not themain
branch. The main branch is stable, and dev branch changes will be merged into it periodically once it's confirmed that they don't have any breaking changes.
SETUP
- Assign yourself an issue from the issues section of the repository. This makes sure that two people don't end up working on the same code concurrently.
- Switch to the dev branch of the Github repository. This is where all pre-release changes and additions are made.
- Fork the dev branch. This creates your own personal copy of the project, which you access through your Github profile.
- Clone your forked project. This creates a copy on your computer where you can make all your changes.
- Set your fork as the 'origin' remote with
git remote add origin URL_OF_YOUR_FORK
. - Set the original project url as the 'upstream' remote with
git remote add upstream https://github.com/Milind220/Ozone.git
. - Pull from the original project's dev branch to make sure you're synced up before you make your own changes.
git pull upstream dev
. Then switch to the dev branch on your computer withgit checkout dev
. - Whoohoo! You can now make changes to the code!
- Make sure to commit logical changes only. Don't commit things that you're trying out and haven't tested.
- When you're done, test out the changes that you've made to the package. Proceed if all's good.
- Push the changes to your forked repository.
- Return to your forked repo on Github and click on
compare and pull request
to begin the PR. - Describe your PR, Submit it and wait for it to be merged!
- Follow the styleguides
- Write a detailed pull request (PR)
You may have to complete additional work, tests, or other changes before your pull request is accepted.
- Use the present tense ("Add feature" not "Added feature")
- Limit the first line to 72 characters or less
- When only changing documentation, include
[Doc]
in the commit title - When making a bugfix, include [BugFix] in commit title.
- Try and add descriptions where needed.
- Follow the pep8 styleguide
- Format with flake8 and black
- Add docstrings as shown in existing code