Fwd: Interested to participate in GSoD

80 views
Skip to first unread message

Abhijith B Vuduthala

unread,
Jun 27, 2019, 8:19:35 AM6/27/19
to Sympy, asme...@gmail.com, isu...@gmail.com, ond...@certik.us

Hello SymPy and SymEngine team,

My name is Abhijith and I love Open Source projects and would like to contribute in Documentation of SymPy and SymEngine. I have contributed one of the GSoC Organization - CloudCV as well. 

I was looking into Google Season of Docs program and found the SymPy Idea description Documentation for SymEngine interesting. I always wanted to get a chance to contribute to SymPy and GSoD could be good platform.

I have few questions in mind on these points :

The idea description is : 

"Create a webpage with documentation. The documentation should be generated from the source code, probably using Doxygen, and probably converted to Sphinx. Improve the documentation in the source code to look nice."

1. I was going through the SymEngine codebase and I found that docs folder is completely missing and it is also lacking the comments before classes and functions. So do we have to create it completely from scratch or there is some work/PR is already opened?

2. I have good knowledge of Doxygen and it is really good for C++ project documentation. But I didn't understand why do we need to convert to Sphinx.

3. I see that there are Python, Ruby, Julia wrapper for SymEngine having different github repository. So documentation for those will be done separately and it is not the part of this project right?


Please let me know your suggestions  & share any link of the discussion(if any related to this project) thread and how do you want to proceed. Your suggestions and comments will help me to understand the requirements and deliverables.

Meantime I am exploring the Doxygen tool and codebase of SymEngine to integrate it.

--
Thanks and regards,
Abhijith
MS, Computer Science and Engineering,
Purdue University, USA

Aaron Meurer

unread,
Jun 27, 2019, 2:40:56 PM6/27/19
to Abhijith B Vuduthala, Sympy, Isuru Fernando, Ondřej Čertík
You may want to post this to the SymEngine mailing list as well
https://groups.google.com/forum/#!forum/symengine

Also be aware that the deadline to apply for GSoD is July 28, which is tomorrow.

I don't know the answers to your questions. Ondrej or one of the
SymEngine developers will know for sure, but I suspect Sphinx is
desired for narrative documentation (documentation written directly in
RST, rather than pulled from the code). My guess is that since there
isn't anything existing yet, that they would be open to other tools as
well, if they are better suited. I personally would suggest using
something based on Markdown, but again, Ondrej would be the person to
decide this.

Aaron Meurer

Ondřej Čertík

unread,
Jun 27, 2019, 6:06:34 PM6/27/19
to Aaron S. Meurer, Abhijith B Vuduthala, sympy, Isuru Fernando
Yes, I would prefer something based on Markdown like mkdocs.

Abhijith B Vuduthala

unread,
Jun 28, 2019, 5:11:55 AM6/28/19
to Ondřej Čertík, Aaron S. Meurer, sympy, Isuru Fernando, syme...@googlegroups.com
Thanks Ondřej and Aaron, for letting me know these points. 

Yes! markdown files are definitely better. But if we want to go for Markdown then there are better options present. I researched about documenting in Markdown and found some really good SSG (Static Site Generator):

Jekyll


  • Simple and easy for developers to work on templates and change the UI.

  • Easy for Writer to write on Markdown page (or use HTML, CSS in .md file).

  • Free hosting with Github.


Note:

  • Need to setup Ruby environment and install gem, bunlder for Jekyll.



Hugo


  • Fast and simple for developers .

  • Uses Markdown so it is easy for writers.

  • Multilingual feature (need to explore about it).

  • Lot of theme available  officially at https://themes.gohugo.io/

  • Free hosting with Github.


Note:


  • No need to setup the Go language (Hugo is written in Go).

  • Simple installation.

Docusaurus

  • Simple and made for documentation only.

  • Maintained by Facebook and built using React.

  • Markdown for writing.

  • Translations using Crowdin

  • Document Versioning feature in built. User can see all versions of your project.

  • Document Search feature is inbuilt using Algolia. 

  • Free hosting with Github using npm.

  • Generate Docker related files while creating a project.


Note:


  • Need to setup node and NPM for installation. 

  • I personally feel Javascript frameworks have more features because npm have very useful packages.


So if we go for writing documentation with Static site then I think one of the above framework will be good.

But I think we need a Documentation processing tool (like for Python we have Sphinx) for SymEngine (so we need a documentation processing tool for Cpp like Doxygen).

Please let me know your thoughts on this.

P.S.: I see that today is deadline. I just filled the the GSoD form for this project.

Thanks and regards,
Abhijith
MS, Computer Science and Engineering,
Purdue University, USA

Ondřej Čertík

unread,
Jun 28, 2019, 10:52:25 AM6/28/19
to sympy
Of these I prefer Hugo, I use it for other projects and it works great. Another option is MkDocs. We just need some tool that extracts the documentation from C++ files and converts to Markdown.

On Fri, Jun 28, 2019, at 11:12 AM, Abhijith B Vuduthala wrote:
Thanks Ondřej and Aaron, for letting me know these points. 

Yes! markdown files are definitely better. But if we want to go for Markdown then there are better options present. I researched about documenting in Markdown and found some really good SSG (Static Site Generator):


* Simple and easy for developers to work on templates and change the UI.

* Easy for Writer to write on Markdown page (or use HTML, CSS in .md file).

* Free hosting with Github.


Note:

* Need to setup Ruby environment and install gem, bunlder for Jekyll.





* Fast and simple for developers .

* Uses Markdown so it is easy for writers.

* Multilingual feature (need to explore about it).

* Lot of theme available officially at https://themes.gohugo.io/

* Free hosting with Github.


Note:


* No need to setup the Go language (Hugo is written in Go).

* Simple installation.


* Simple and made for documentation only.

* Maintained by Facebook and built using React.

* Markdown for writing.

* Translations using Crowdin <https://crowdin.com/>

* Document Versioning feature in built. User can see all versions of your project.

* Document Search feature is inbuilt using Algolia. 

* Free hosting with Github using npm.

* Generate Docker related files while creating a project.


Note:


* Need to setup node and NPM for installation. 

* I personally feel Javascript frameworks have more features because npm have very useful packages.


So if we go for writing documentation with Static site then I think one of the above framework will be good.

But I think we need a Documentation processing tool (like for Python we have Sphinx) for SymEngine (so we need a documentation processing tool for Cpp like Doxygen). 

Please let me know your thoughts on this.

P.S.: I see that today is deadline. I just filled the the GSoD form for this project.

Thanks and regards,
Abhijith
MS, Computer Science and Engineering,
Purdue University, USA

On Fri, 28 Jun 2019 at 03:36, Ondřej Čertík <ond...@certik.us> wrote:
> __
-- 
You received this message because you are subscribed to the Google Groups "sympy" group.
To unsubscribe from this group and stop receiving emails from it, send an email to sympy+un...@googlegroups.com.
To post to this group, send email to sy...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Abhijith B Vuduthala

unread,
Jun 28, 2019, 11:01:17 AM6/28/19
to Sympy, Ondřej Čertík
Thanks Ondrej, for suggestion. Yes Hugo is fast and provide Markdown feature. I need to explore about Multilingual feature and how we can use Cpp documentation tool for Markdown format.

I have summarized my thoughts on this project in this google doc. Please have a look and suggest/comment on it. I have filled the GSoD form as well.

-- 
Thanks and regards,
Abhijith
MS, Computer Science and Engineering,
Purdue University, USA

For more options, visit https://groups.google.com/d/optout.

Ondřej Čertík

unread,
Jun 28, 2019, 11:27:30 AM6/28/19
to sympy
Thanks! Can you also please submit a pull request to either sympy or symengine with some simple improvements to the documentation to show how you would work? We can help if you get stuck with git or github.

On Fri, Jun 28, 2019, at 5:01 PM, Abhijith B Vuduthala wrote:
Thanks Ondrej, for suggestion. Yes Hugo is fast and provide Markdown feature. I need to explore about Multilingual feature and how we can use Cpp documentation tool for Markdown format.

I have summarized my thoughts on this project in this google doc <https://docs.google.com/document/d/1QIw9Gz_nKCp5I_GV6uYLnQmOW6MftbvW-yljUHzGY08/edit?usp=sharing>. Please have a look and suggest/comment on it. I have filled the GSoD form as well.

-- 
Thanks and regards,
Abhijith
MS, Computer Science and Engineering,
Purdue University, USA

On Fri, 28 Jun 2019 at 20:22, Ondřej Čertík <ond...@certik.us> wrote:
> __
>> To unsubscribe from this group and stop receiving emails from it, send an email to sympy+un...@googlegroups.com <mailto:sympy%2Bunsu...@googlegroups.com>.
>> To post to this group, send email to sy...@googlegroups.com.
>> For more options, visit https://groups.google.com/d/optout.


>  -- 
>  You received this message because you are subscribed to the Google Groups "sympy" group.
>  To unsubscribe from this group and stop receiving emails from it, send an email to sympy+un...@googlegroups.com.
>  To post to this group, send email to sy...@googlegroups.com.
>  Visit this group at https://groups.google.com/group/sympy.
>  For more options, visit https://groups.google.com/d/optout.


-- 
Thanks and regards,
Abhijith
MS, Computer Science and Engineering,
Purdue University, USA

-- 
You received this message because you are subscribed to the Google Groups "sympy" group.
To unsubscribe from this group and stop receiving emails from it, send an email to sympy+un...@googlegroups.com.
To post to this group, send email to sy...@googlegroups.com.

Alan Bromborsky

unread,
Jun 28, 2019, 11:39:52 AM6/28/19
to sy...@googlegroups.com
I hope you pick a doc system that you can launch python notebooks/lab from.

Abhijith B Vuduthala

unread,
Jun 30, 2019, 3:58:10 AM6/30/19
to Sympy
Yes! Currently, I am looking into some Documentation labelled issues of SymPy repository. I will add contribution section in the proposal once I open PR.

-- 
Thanks and regards,
Abhijith
MS, Computer Science and Engineering,
Purdue University, USA


For more options, visit https://groups.google.com/d/optout.

Abhijith B Vuduthala

unread,
Jul 14, 2019, 1:16:16 PM7/14/19
to Sympy, Ondřej Čertík, Aaron S. Meurer
Hello team,

Sorry for delay update. I was bit busy with college work and because of traveling. I have understood the Sphinx documentation and worked on some issues as well:


and discussions are going on in few other issues.

I also tried out Hugo and how it works. Few sample work is here:


Please let me know if you have any plan or suggestion for the project.

Thanks and regards,
Abhijith
MS, Computer Science and Engineering,
Purdue University, USA

Abhijith B Vuduthala

unread,
Jul 18, 2019, 4:33:31 AM7/18/19
to Sympy, Ondřej Čertík, Aaron S. Meurer
Hello all,

I think we should first go for Static Site for SymEngine and should have common statics pages about:

- SymPy and SymEngine
- SymEngine Projects
- Getting Started with SymEngine
- Tutorials
- SymEngine and It's wrapper
- Blogs - which will navigate to GSoC Student blogs about implementation in planet sympy

So we can have landing page having these information and then later we can think of document processing tool like Sphinx or DOxygen.

Please let me know if you are going to take this project in GSoD, so that I can explore it further and update you about it.

Thanks and regards,
Abhijith
MS, Computer Science and Engineering,
Purdue University, USA

Reply all
Reply to author
Forward
0 new messages