I second Chris. You should start with just one submodule, or really
just one function that interests you and read the code and
documentation and try to understand how that works. I would also add
that you shouldn't try to understand how the core works as a start,
that is, the bits that describe how expressions themselves are defined
. It's one of the more complicated parts of the code, and isn't really
the thing that we recommend people start contributing to.

The best way is to pick one functionality and dig into it. For
example, say you want to understand solve(). If you look at the code
for it in sympy/solvers/solvers.py, you'll find that it is somewhat
complicated because it has a lot of sub-functions that it uses for
solving different kinds of equations. So you might then pick one of
those sub-functions, say the ones for solving linear equations, and
dig into it. Try stepping through a debugger to see how the function
works. Try importing the function in IPython and playing with
different inputs. Take a look at the tests in the test suite for the
function.

It also helps to have an understanding of how to use SymPy as a user.
Most of the code in SymPy uses SymPy expressions in much the same ways
you would use them as a user.

Aaron Meurer

On Tue, Jan 25, 2022 at 3:10 PM Chris Smith <smi...@gmail.com> wrote:
>
> What is it that you want to understand? Although I am a frequent contributor, 
> there are many fundamental design issues that I don't understand.
>
> I would recommend finding an area that you are interested in and look for 
> issues in that area and find out how SymPy works with such expressions.  I 
> think you will find people willing to help answer questions...but the scope 
> of this question is a bit broad.
>
> Starting through the tutorial is a good way to get acquainted with how 
> SymPy/Python work.
>
> /c
> On Monday, January 24, 2022 at 8:12:20 AM UTC-6 sushmita...@gmail.com wrote:
>>
>> Hi,
>> I have clone the sympy repository on my desktop but now I am trying to 
>> understand this large codebase. Could you people guide me on how should I 
>> understand the codebase?
>>
>> Regards
>> Sushmita
>
> --
> 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+unsubscr...@googlegroups.com.
> To view this discussion on the web visit 
> https://groups.google.com/d/msgid/sympy/c6dec098-bdf6-4780-add3-701bbc5bccben%40googlegroups.com.

-- 
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+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/sympy/CAKgW%3D6%2B0M-H4VmLivYvSf7O91%2B_wtynAoKcz3JP-5-fiEmnmJw%40mail.gmail.com.

Reply via email to