GSoC Student Instructions - sympy/sympy GitHub Wiki

These are the steps to follow for applying to GSoC with SymPy:

  1. Join the SymPy mailing list so that you can see any discussions about SymPy there.

  2. Go through our Introduction to Contributing page to see how to get started developing SymPy.

  3. Review our ideas page to see if you find a project that is interesting to you.

  4. You will need to create an account on GitHub and submit at least one patch to SymPy along with your application. See the instructions on the application template.

  5. Develop your application. We suggest putting your application on the SymPy wiki for reviewing. This lets people who aren't on Google's website review your application, and it also is much easier to read things in the wiki than on Google's website. However, please remember that you MUST SUBMIT YOUR APPLICATION IN GOOGLE'S WEBSITE. It is not possible to accept you if you do not do this.

  6. Please make sure your application follows the template.

  7. The application deadline is April 4 18:00 UTC. Google will not accept late applications for any reason, so get them in there. There have been issues in the past with submissions right up at the deadline, so submit your application early. You will be able to edit your application up until the deadline, so if you have a draft, submit it now, and update it as you modify it.

If you have any other questions, first check if they are answered in the FAQ. Then you can ask on the SymPy list. The Python Software Foundation has another good FAQ to read before asking questions.

You can use the mailing list to get feedback on project ideas and get help as you start working with the code base. Keep in mind that the more specific and clear your questions are on the mailing list the more likely you are to get a good answer. An open-ended or vague question is unlikely to get a useful response though.

For example, a good question could be something like

    I'm interested in project X and I've looked into it and found issues Y
    and Z and it looks like a, b, c are already implemented so I want to
    know whether it would be reasonable to pitch a project that would
    complete d, e, and f

This question is too open-ended or vague and is unlikely to get a meaningful response:

    I'm interested in project X. Please help me to begin working on this.

Read this FAQ from the PSF and Shakthi Kannan's book "i want 2 do project. tell me wat 2 do" before posting questions to the mailing list.

If posting for the first time to the mailing list please use an informative first email so that we can get to know you. Here are some example pieces of information that would be useful for you to include in your introductory email:

  • level of familiarity with python (years of programming, previous projects)
  • mathematical education level (high school / ... / PhD?)
  • particular expertise (physics? biology? ...subtopics)
  • particular algorithmic interests
  • level of familiarity with symbolic math systems "computer algebra". Perhaps even course work in (say) algebra, or books read.
  • your familiarity with SymPy (e.g. how have you used SymPy)?
  • other possibly relevant information -- geographical location? native language?

Note that the first time you post to the mailing list, your message will be moderated. Do not post the same message twice. This is an anti-spam measure. After you are moderated your posts will appear immediately. If you do not see your post after 24 hours of submitting it ask someone to moderate your post on the Gitter channel.