Discussion:
[Numpy-discussion] (no subject)
Saumyajit Dey
2016-04-26 09:35:14 UTC
Permalink
Hi,

This is Saumyajit Dey and I am looking forward to start contributing to
NumPy.

I have never contributed to any open source projects before so I would want
to know some tips and guidelines to start contributing.

Regards,
Saumyajit

Saumyajit Dey
Junior Undergraduate Student:
Department of Computer Science and Engineering
National Institute of Technology
Warangal (NITW), India
Cell: +91-8885847028
Paul Hobson
2016-04-26 16:05:29 UTC
Permalink
Saumyajit,

Numpy's source code is hosted on Github. You can find the contributing
guides there:
https://github.com/numpy/numpy/blob/master/CONTRIBUTING.md

-paul

On Tue, Apr 26, 2016 at 2:35 AM, Saumyajit Dey <
Post by Saumyajit Dey
Hi,
This is Saumyajit Dey and I am looking forward to start contributing to
NumPy.
I have never contributed to any open source projects before so I would
want to know some tips and guidelines to start contributing.
Regards,
Saumyajit
Saumyajit Dey
Department of Computer Science and Engineering
National Institute of Technology
Warangal (NITW), India
Cell: +91-8885847028
_______________________________________________
NumPy-Discussion mailing list
https://mail.scipy.org/mailman/listinfo/numpy-discussion
Saumyajit Dey
2016-04-26 16:10:59 UTC
Permalink
​Thanks a lot, Paul for the reply.

I will​ look into the contribution guidelines. Also could you please
suggest some good reading resources for getting to know more about NumPy.

Regards,
Saumyajit

Saumyajit Dey
Junior Undergraduate Student:
Department of Computer Science and Engineering
National Institute of Technology
Warangal (NITW), India
Cell: +91-8885847028
Post by Paul Hobson
Saumyajit,
Numpy's source code is hosted on Github. You can find the contributing
https://github.com/numpy/numpy/blob/master/CONTRIBUTING.md
-paul
On Tue, Apr 26, 2016 at 2:35 AM, Saumyajit Dey <
Post by Saumyajit Dey
Hi,
This is Saumyajit Dey and I am looking forward to start contributing to
NumPy.
I have never contributed to any open source projects before so I would
want to know some tips and guidelines to start contributing.
Regards,
Saumyajit
Saumyajit Dey
Department of Computer Science and Engineering
National Institute of Technology
Warangal (NITW), India
Cell: +91-8885847028
_______________________________________________
NumPy-Discussion mailing list
https://mail.scipy.org/mailman/listinfo/numpy-discussion
_______________________________________________
NumPy-Discussion mailing list
https://mail.scipy.org/mailman/listinfo/numpy-discussion
Maniteja Nandana
2016-04-27 12:35:45 UTC
Permalink
Hi,

Welcome! It would be a good exercise to look at the documentation and
tutorial for Numpy at http://docs.scipy.org/doc/

Also the lectures at the lectures at www.scipy-lectures.org might be a
interesting introduction to scientific python in numpy stack.

Hope it helps.

Happy learning !

Cheers,
Maniteja.
Saumyajit Dey
2016-04-27 16:41:11 UTC
Permalink
Hi,

Thanks a lot for the reply. I am looking into the documentation already.
Also is there any guide as to how the source code of Numpy is organised?

For example, when i write

np.power(2,3)


​what is the workflow in terms of functions in different modules being
called?​

​Regards,
Saumyajit​

Saumyajit Dey
Junior Undergraduate Student:
Department of Computer Science and Engineering
National Institute of Technology
Warangal (NITW), India
Cell: +91-8885847028

On Wed, Apr 27, 2016 at 6:05 PM, Maniteja Nandana <
Post by Maniteja Nandana
Hi,
Welcome! It would be a good exercise to look at the documentation and
tutorial for Numpy at http://docs.scipy.org/doc/
Also the lectures at the lectures at www.scipy-lectures.org might be a
interesting introduction to scientific python in numpy stack.
Hope it helps.
Happy learning !
Cheers,
Maniteja.
_______________________________________________
NumPy-Discussion mailing list
https://mail.scipy.org/mailman/listinfo/numpy-discussion
_______________________________________________
NumPy-Discussion mailing list
https://mail.scipy.org/mailman/listinfo/numpy-discussion
Sebastian Berg
2016-04-27 17:12:27 UTC
Permalink
Post by Saumyajit Dey
Hi,
Thanks a lot for the reply. I am looking into the documentation
already. Also is there any guide as to how the source code of Numpy
is organised?
For example, when i write
Post by Saumyajit Dey
np.power(2,3)
what is the workflow in terms of functions in different modules being
called?
No, there is not much. There are different paths/possibilities,
sometimes even intermingled. These are some:

1. Pure python functions, e.g. np.stack, np.delete, ...
They are not hard to find/figure out (though some details may be),
frankly, I usually just use the ?? magic in ipython.
2. Python shims for attributes, attributes usually go to the
methods.c in numpy/core/src/multiarray
3. General C-Functions (Reshape, etc.) are usually in some specialized
file in numpy/core/src/multiarray but wrapped by
multiarraymodule.c, so you can backtrace from there. The exact calls
can get pretty complex (even call back to python).
4. One important category (also tricky) are ufuncs. They form their own
building block in the code base. The whole interplay of things is
quite complex, so unless you need something specific I would be
happy to understand all the things they can do for you and that
they wrap C-functions working on a single axis in some sense.
(code in numpy/core/src/umath)

Frankly, I often just "git grep ..." to find the right place to look
for something. It is not impossible to understand the logic behind the
files and what calls what, but I would claim it is usually faster to
grep for it if you are interested in something specific. There are some
more arcane things, such as code generations, but that is easier to ask
for/figure out for a specific problem. Things such as what happens when
a ufunc is called, and how the ufunc is created in the first place are
non-trivial.

NumPy has a few rather distinct building blocks. Ufuncs, the iterator,
general C-based shape/container functions, general python functions,
linear algebra, fft, polynoms, ....

I would argue that finding something that interests you and trying to
figure that out and asking us about it explicitly is probably best.
Honestly, I think all of us devs have at least two things in the above
list we know almost nothing about. E.g. you don't need to understand
details of the FFT implementation unless you want to actually change
something there.

There are some "easy issues" marked in the git issue list, which may be
worth a shot if you like to just dive in. You could poke at one you
find interesting and then ask us (we might have tagged something as
"easy" but I would not guarantee all of them are, sometimes there are
unexpected difficulties or it is easy if you already know where to
look).

- Sebastian
Post by Saumyajit Dey
Regards,
Saumyajit
Saumyajit Dey
Department of Computer Science and Engineering
National Institute of Technology
Warangal (NITW), India
Cell: +91-8885847028
On Wed, Apr 27, 2016 at 6:05 PM, Maniteja Nandana <
Post by Saumyajit Dey
Hi,
Welcome! It would be a good exercise to look at the documentation
and tutorial for Numpy at http://docs.scipy.org/doc/
Also the lectures at the lectures at www.scipy-lectures.org might
be a interesting introduction to scientific python in numpy stack.
Hope it helps.
Happy learning !
Cheers,
Maniteja.
_______________________________________________
NumPy-Discussion mailing list
https://mail.scipy.org/mailman/listinfo/numpy-discussion
_______________________________________________
NumPy-Discussion mailing list
https://mail.scipy.org/mailman/listinfo/numpy-discussion
_______________________________________________
NumPy-Discussion mailing list
https://mail.scipy.org/mailman/listinfo/numpy-discussion
Continue reading on narkive:
Loading...