-
Notifications
You must be signed in to change notification settings - Fork 258
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
The contributor guide #1597
The contributor guide #1597
Conversation
Create the issue template and include it in the docs. |
Benchmarks stability still under review, we will hold until we find a way of documenting how to run them. We will chat with sateja |
This PR is ready for review. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This all is great! 😄 Thank you for all your hard work! I have made a few comments and suggestions.
docs/contributing/index.rst
Outdated
Code is not the only way to help the project: | ||
The instrcutions in this section detail the step-by-step | ||
process on setting up your development environment before | ||
contribution. One can also us it as a development checklist |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
line 17: us -> use
docs/contributing/index.rst
Outdated
6. At this point you should have the Geomstats code on your macine ready for development. | ||
To continue development, create a new development branch: | ||
|
||
$ git checkout -b feature-branch |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This comment isn't very important, but if we are making this tutorial for people who are very new to git, it might be helpful to change feature_branch
to your-branch-name
or something like that. When i am reading through tutorials, i find it helpful when people make it super obvious where i am supposed to add my own "name" or something like that. But again, this is not very important.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
We have a different section for git intro, check dev setup where I use your-branch-name
, this is about working on a new feature. Please look with this context and advise if we should still make this change.
docs/contributing/index.rst
Outdated
|
||
1. Using your browser, go to https://github.com and create an account if you dont have one. | ||
2. While there, navigate to https://github.com/geomstats/geomstats. | ||
3. [Fork](https://docs.github.com/en/get-started/quickstart/fork-a-repo) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
It might be better to split up this sentence to make it clearer: "Fork the repository so that you will have your own copy. You can do this by clicking a button in the top righthand corner of the git webpage..."
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The new commit has this change
docs/contributing/index.rst
Outdated
|
||
$ git checkout -b feature-branch | ||
|
||
7. Verify tat you are on the new branch: |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
line 67 typo: tat -> that
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Done
docs/contributing/index.rst
Outdated
--------------------------------------- | ||
|
||
We recommend using the conda virtual environment to create separation between your development environment | ||
from aany other Geomstats versions installed on your system. Create a virtual environment with conda using: |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
line 86 typo: aany -> any
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Done
docs/contributing/index.rst
Outdated
|
||
use the syntax:: | ||
|
||
my_function_with_a_very_long_name( |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
haha I laughed at "my_function_with_a_very_long_name" 🤣 .
of the function is changed. | ||
|
||
These guidelines can be revised and modified at any time, the only constraint | ||
is that they should remain consistent through the codebase. To change geomstats |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
geomstats -> Geomstats' (with apostrophe at the end)
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This looks super helpful! Thank you, I have left some comments (mostly unimportant typos I think)
docs/contributing/index.rst
Outdated
- working on the website and improving the documentation, | ||
- reference the project in your articles, | ||
- or simply star it to say "I use it", | ||
The instrcutions in this section detail the step-by-step |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
instructions
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Done
docs/contributing/index.rst
Outdated
|
||
.. _filing_bugs: | ||
#. Using your browser, go to `github.com <https://github.com>`_ and create an account if you dont have one. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
don't
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Done
docs/contributing/index.rst
Outdated
|
||
.. code-block:: bash | ||
|
||
$ pip install geomstats[<backend_name>] |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
maybe add an example (just so people do not literally write <backend_name> (I know I could have several years ago)) but this is really unimportant
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think its common convention to use fillers like these especially if we have many option. Inclined to keep as is.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I agree with @nanjekyejoannah.
docs/contributing/index.rst
Outdated
|
||
$ numpy tests | ||
|
||
Run a test file: |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
There are some test files that you can run with pytest checking whether or not the associated scripts do not raise any error. For example if you run test_hypersphere
with pytest it will test that hypersphere
runs properly (that everything works if the test file is well-written) I hope this makes sense. This is explained later on I think but maybe it would make sense to put it before?
docs/contributing/index.rst
Outdated
|
||
In the first few steps, we explain how to locally install geomstats, and | ||
how to set up your git repository: | ||
Use an `asert` statement to check that the function under test returns |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
assert I assume?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Done
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks @nanjekyejoannah!
Very nice contribution. Looking forward for the continuation of this work.
docs/contributing/index.rst
Outdated
.. note:: | ||
For more basic information about the `git` command line client, refer to | ||
this `detailed tutorial <https://docs.github.com/en/get-started/using-git/about-git>`_. | ||
You can also checkout other GUI options like `tortoise git <https://tortoisegit.org/>`_ |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
What about providing a list of guis instead of specifying? e.g. https://git-scm.com/downloads/guis
docs/contributing/index.rst
Outdated
|
||
How to Write a Good Bug Report | ||
============================== | ||
#. | Fork the repository, obtaining your own copy. You can do this using a button at the top right corner on github, under your username: |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
"[...] under you username. The following link will become available then:"
Something like this? otherwise I think there's lack of continuity in the sentence.
docs/contributing/index.rst
Outdated
|
||
Contributing: Adding a new geometry or manifold | ||
----------------------------------------------- | ||
$ git checkout -b feature-branch |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
maybe: <branch-name>
?
docs/contributing/index.rst
Outdated
9. Use double quotes " and not single quotes ' for strings. | ||
|
||
10. If you need several lines for a function call, |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
this guidelines may have became outdated with the use of black
.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I suggest we handle this in another PR, to avoid scope creep.
docs/contributing/index.rst
Outdated
|
||
We are glad to accept any sort of documentation: function docstrings, | ||
reStructuredText documents (like this one), tutorials, etc. reStructuredText | ||
documents live in the source code repository under the ``docs/`` directory. | ||
|
||
Building the Documentation | ||
========================== | ||
documentation | ||
|
||
Building the documentation requires installing sphinx:: | ||
|
||
pip3 install sphinx |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
as above.
To build the documentation, you need to be in the main ``geomstats`` folder. You can do this with:: | ||
|
||
sphinx-build docs/ docs/html | ||
To build the documentation, follow the steps discussed in `build the docs`_ to install other dependecies |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
dependencies
docs/contributing/index.rst
Outdated
================== | ||
------------------- | ||
|
||
**Intro to Docstrings** |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Add the rendering of a meaningful example, as we've discussed.
Reporting bugs and features | ||
=========================== | ||
|
||
Sharing bugs and potential new features for the geomstats project is an equally significant conteibution. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
contribution
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
How do we differentiate the other section of workflow of a contribution? I am inclined to name this something similar to bugs/features etc
I have addressed the requested changes from @LPereira95 , for what I havent handled, i left a comment. |
Thanks @nanjekyejoannah! I've made small changes to your PR. I'll merge it now. We can proceed this part by splitting the contributing guide in sections, as discussed, and then going deeper in the important sections (read tests, backends and docstrings). |
This is the first draft for the contribution guide, whose issue is tracked here #1574
Dont review until we have had our meeting with @LPereira95 tommorrow.
I want to clarify about: