Skip to content

Latest commit

 

History

History
36 lines (29 loc) · 2.7 KB

CONTRIBUTING.md

File metadata and controls

36 lines (29 loc) · 2.7 KB

How to submit an issue?

First, please see 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.

Also, please check the Gensim FAQ page before posting.

The proper place for open-ended questions is the Gensim mailing list. Github is not the right place for research discussions or feature requests.

How to add a new feature or create a pull request?

  1. Fork the Gensim repository
  2. Clone your fork: git clone https://github.com/<YOUR_GITHUB_USERNAME>/gensim.git
  3. Create a new branch based on develop: git checkout -b my-feature develop
  4. Setup your Python enviroment
    • Create a new virtual environment: pip install virtualenv; virtualenv gensim_env and activate it:
      • For linux: source gensim_env/bin/activate
      • For windows: gensim_env\Scripts\activate
    • Install Gensim and its test dependencies in editable mode:
      • For linux: pip install -e .[test]
      • For windows: pip install -e .[test-win]
  5. Implement your changes
  6. Check that everything's OK in your branch:
    • Check it for PEP8: tox -e flake8
    • Build its documentation (works only for MacOS/Linux): tox -e docs (documentation stored in docs/src/_build)
    • Run unit tests: tox -e py{version}-{os}, for example tox -e py35-linux or tox -e py36-win where
      • {version} is one of 35, 36
      • {os} is either win or linux
  7. Add files, commit and push: git add ... ; git commit -m "my commit message"; git push origin my-feature
  8. Create a PR on Github. Write a clear description for your PR, including all the context and relevant information, such as:
    • The issue that you fixed, e.g. Fixes #123
    • 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?
    • Any other useful information: links to other related Github or mailing list issues and discussions, benchmark graphs, academic papers…

P.S. for developers: see our Developer Page for details on the Gensim code style, CI, testing and similar.

Thanks and let's improve the open source world together!