|
1 | | -Please see [contribution-guide.org](http://www.contribution-guide.org/) for steps we expect from contributors before submitting an issue or bug report. Be as concrete as possible, include relevant logs, package versions etc. |
| 1 | +# How to submit an issue? |
2 | 2 |
|
3 | | -Please check the [Gensim FAQ](https://github.com/RaRe-Technologies/gensim/wiki/Recipes-&-FAQ) page before posting. |
| 3 | +First, please see [contribution-guide.org](http://www.contribution-guide.org/) for the steps we expect from contributors before submitting an issue or bug report. Be as concrete as possible, include relevant logs, package versions etc. |
4 | 4 |
|
5 | | -**The proper place for open-ended questions is the [gensim mailing list](https://groups.google.com/forum/#!forum/gensim).** Github is not the right place for research discussions or feature requests. |
| 5 | +Also, please check the [Gensim FAQ](https://github.com/RaRe-Technologies/gensim/wiki/Recipes-&-FAQ) page before posting. |
6 | 6 |
|
7 | | -For developers: see our [Developer Page](https://github.com/piskvorky/gensim/wiki/Developer-page#code-style) for details on code style, testing and similar. |
| 7 | +**The proper place for open-ended questions is the [Gensim mailing list](https://groups.google.com/forum/#!forum/gensim).** Github is not the right place for research discussions or feature requests. |
8 | 8 |
|
9 | | -Thanks! |
| 9 | +# How to add a new feature or create a pull request? |
| 10 | + |
| 11 | +1. <a href="https://github.com/RaRe-Technologies/gensim/fork">Fork the Gensim repository</a> |
| 12 | +2. Clone your fork: `git clone https://github.com/<YOUR_GITHUB_USERNAME>/gensim.git` |
| 13 | +3. Create a new branch based on `develop`: `git checkout -b my-feature develop` |
| 14 | +4. Setup your Python enviroment |
| 15 | + - Create a new [virtual environment](https://virtualenv.pypa.io/en/stable/): `pip install virtualenv; virtualenv gensim_env; source gensim_env/bin/activate` |
| 16 | + - Install Gensim and its test dependencies in [editable mode](https://pip.pypa.io/en/stable/reference/pip_install/#editable-installs): |
| 17 | + - For linux: `pip install -e .[test]` |
| 18 | + - For windows: `pip install -e .[test-win]` |
| 19 | +5. Implement your changes |
| 20 | +6. Check that everything's OK in your branch: |
| 21 | + - Check it for PEP8: `tox -e flake8` |
| 22 | + - Build its documentation (works only for MacOS/Linux): `tox -e docs` (documentation stored in `docs/src/_build`) |
| 23 | + - Run unit tests: `tox -e py{version}-{os}`, for example `tox -e py27-linux` or `tox -e py36-win` where |
| 24 | + - `{version}` is one of `27`, `35`, `36` |
| 25 | + - `{os}` is either `win` or `linux` |
| 26 | +7. Add files, commit and push: `git add ... ; git commit -m "my commit message"; git push origin my-feature` |
| 27 | +8. [Create a PR](https://help.github.com/articles/creating-a-pull-request/) on Github. Write a **clear description** for your PR, including all the context and relevant information, such as: |
| 28 | + - The issue that you fixed, e.g. `Fixes #123` |
| 29 | + - Motivation: why did you create this PR? What functionality did you set out to improve? What was the problem + an overview of how you fixed it? Whom does it affect and how should people use it? |
| 30 | + - Any other useful information: links to other related Github or mailing list issues and discussions, benchmark graphs, academic papers… |
| 31 | + |
| 32 | +P.S. for developers: see our [Developer Page](https://github.com/piskvorky/gensim/wiki/Developer-page#code-style) for details on the Gensim code style, CI, testing and similar. |
| 33 | + |
| 34 | +**Thanks and let's improve the open source world together!** |
0 commit comments