mirror of
https://github.com/kennethreitz/python-guide.git
synced 2026-06-05 23:00:18 +00:00
Merge remote-tracking branch 'origin/master'
This commit is contained in:
@@ -0,0 +1,50 @@
|
|||||||
|
=======================
|
||||||
|
Scientific Applications
|
||||||
|
=======================
|
||||||
|
|
||||||
|
Context
|
||||||
|
:::::::
|
||||||
|
|
||||||
|
Python is frequently used for high-performance scientific applications. Python is widely used in academia
|
||||||
|
and scientific projects because it is easy to write, and it performs really well.
|
||||||
|
|
||||||
|
Due to its high performance nature, scientific computing in python often refers to external libraries, typically
|
||||||
|
written in faster languages (like C, or FORTRAN for matrix operations). The main libraries used are NumPy and SciPy
|
||||||
|
|
||||||
|
Libraries
|
||||||
|
:::::::::
|
||||||
|
|
||||||
|
Numpy
|
||||||
|
-----
|
||||||
|
`NumPy <http://numpy.scipy.org/>`_ is a low level library written in C (and FORTRAN) for high level mathematical functions.
|
||||||
|
NumPy cleverly overcomes the problem of running slower algorithms on Python by using multidimensional arrays and functions that operate on arrays.
|
||||||
|
Any algorithm can then be expressed as a function on arrays, allowing the algorithms to be run quickly.
|
||||||
|
|
||||||
|
|
||||||
|
NumPy is part of the SciPy project, and is released as a separate library so people who only need the basic requirements can just use NumPy.
|
||||||
|
|
||||||
|
NumPy is compatible with Python versions 2.4 through to 2.7.2 and 3.1+.
|
||||||
|
|
||||||
|
SciPy
|
||||||
|
-----
|
||||||
|
`SciPy <http://scipy.org/>`_ is a library that uses Numpy for more mathematical function. SciPy uses NumPy arrays as its basic data structure.
|
||||||
|
SciPy comes with modules for various commonly used tasks in scientific programing like linear algebra, integration (calculus),
|
||||||
|
ordinary differential equation solvers and signal processing.
|
||||||
|
|
||||||
|
Enthought
|
||||||
|
---------
|
||||||
|
|
||||||
|
Installing NumPy and SciPy can be a daunting task. Which is why the `Enthought Python distribution <http://enthought.com/>`_ was created. With Enthought,
|
||||||
|
scientific python has never been easier (one click to install about 100 scientific python packages). User beware: Enthought is not free.
|
||||||
|
|
||||||
|
Matplotlib
|
||||||
|
----------
|
||||||
|
|
||||||
|
.. todo:: write about matplotlib.
|
||||||
|
|
||||||
|
Resources
|
||||||
|
:::::::::
|
||||||
|
|
||||||
|
Many people who do scientific computing are on Windows. And yet many of the scientific computing packages are notoriously difficult to build and install.
|
||||||
|
`Christoph Gohlke <http://www.lfd.uci.edu/~gohlke/pythonlibs/>`_ however, has compiled a list of Windows binaries for many useful Python packages.
|
||||||
|
The list of packages has grown from a mainly scientific python resource to a more general list. It might be a good idea to check it out if you're on Windows.
|
||||||
@@ -71,12 +71,23 @@ you may need, such as database access or form generation and validation. For
|
|||||||
many popular modules, `Extensions <http://flask.pocoo.org/extensions/>`_ may
|
many popular modules, `Extensions <http://flask.pocoo.org/extensions/>`_ may
|
||||||
already exist to suit your needs.
|
already exist to suit your needs.
|
||||||
|
|
||||||
|
**Support** for flask can best be found in its mailing list. Just shoot an email to
|
||||||
|
flask@librelist.com and reply to the confirmation email.
|
||||||
|
|
||||||
|
|
||||||
Pyramid
|
Pyramid
|
||||||
-------
|
-------
|
||||||
|
|
||||||
.. todo:: Explian Pyramid
|
.. todo:: Explian Pyramid
|
||||||
|
|
||||||
|
Web.py
|
||||||
|
------
|
||||||
|
|
||||||
|
`web.py <http://webpy.org>`_ is a minimalist web framework that is somewhere between Django and Flask.
|
||||||
|
The premise of web.py is that it is flexible - code your webapp any way you want it, in just python and python alone.
|
||||||
|
web.py comes with some nifty tools built in, like database connection tools and a mini http server.
|
||||||
|
|
||||||
|
**Support** for web.py is quite sparse, but you can look for support in the `mailing list <http://groups.google.com/group/webpy>`_ .
|
||||||
Web Servers
|
Web Servers
|
||||||
:::::::::::
|
:::::::::::
|
||||||
|
|
||||||
@@ -281,6 +292,15 @@ Shared Web Hosting
|
|||||||
WebFaction
|
WebFaction
|
||||||
~~~~~~~~~~~
|
~~~~~~~~~~~
|
||||||
|
|
||||||
|
`Webfaction <http://www.webfaction.com/>`_ started off as a dedicated python hosting company.
|
||||||
|
In fact it used to be called python-hosting.com. Webfaction supports Python versions 2.4 through to 2.7.2
|
||||||
|
as well as Python 3 versions.
|
||||||
|
|
||||||
|
Webfaction has a very extensive `user guide <http://docs.webfaction.com/user-guide/>`_
|
||||||
|
and specific stack (`Django <http://docs.webfaction.com/software/django/index.html> `_, `Pylons <http://docs.webfaction.com/software/pylons.html>`_,
|
||||||
|
`Pyramid <http://docs.webfaction.com/software/pyramid.html>`_, `TurboGears <http://docs.webfaction.com/software/turbogears.html>`_
|
||||||
|
and `vanilla python <http://docs.webfaction.com/software/python.html>`_) guides.
|
||||||
|
It also has a stack-overflow style `community <http://community.webfaction.com/>`_ that is quite useful.
|
||||||
|
|
||||||
Twisted
|
Twisted
|
||||||
:::::::
|
:::::::
|
||||||
|
|||||||
Reference in New Issue
Block a user