diff --git a/.gitignore b/.gitignore index 3692f39d..0d69372f 100644 --- a/.gitignore +++ b/.gitignore @@ -1,6 +1,4 @@ -build/ -_build/ -*.swp -*.pyc +public/ +resources/ *~ -*.bak +**/__pycache__ diff --git a/.gitmodules b/.gitmodules index b7d29f24..c71f97d6 100644 --- a/.gitmodules +++ b/.gitmodules @@ -1,3 +1,3 @@ -[submodule "scipy-sphinx-theme"] - path = scipy-sphinx-theme - url = https://github.com/scipy/scipy-sphinx-theme.git +[submodule "themes/scientific-python-hugo-theme"] + path = themes/scientific-python-hugo-theme + url = https://github.com/scientific-python/scientific-python-hugo-theme.git diff --git a/Makefile b/Makefile new file mode 100644 index 00000000..1e1f3538 --- /dev/null +++ b/Makefile @@ -0,0 +1,32 @@ +HTMLDIR=public +USERNAME=rgommers + +BASEURL ?= + +ifdef BASEURL + BASEURLARG=-b $(BASEURL) +endif + +.PHONY: help clean html + + +help: + @echo "Please use \`make ' where is one of" + @echo " upload USERNAME=user to upload the generated pages to scipy.org" + @echo " html to make standalone HTML files" + +clean: ## remove the build artifacts, mainly the "public" directory + rm -rf $(HTMLDIR) + +prepare: clean + git submodule update --init --recursive + +html: prepare ## build the website in ./public + hugo $(BASEURLARG) + +serve: + @hugo --i18n-warnings --buildDrafts server + + +serve-dev: + @hugo --i18n-warnings --buildDrafts server --disableFastRender diff --git a/README.md b/README.md index aec1491c..1b0358e9 100644 --- a/README.md +++ b/README.md @@ -1,30 +1,17 @@ -# Scipy.org Website Source Code - -This repository contains the Sphinx source for the [SciPy website](http://www.scipy.org/). +# scipy.org -After cloning this repository, run +## Build ``` -$ git submodule init -$ git submodule update +git submodule update --init --recursive +make hugo ``` -to get the Sphinx theme used. +The pages are in `public/`. -The source is in the `www` directory, `cd` there, then the following -commands apply: - -To make a local build of the website - -`$ cd www` -`$ make html` - -To build and upload the site (requires ssh access to www.scipy.org, -and if you're on macOS then upgrade rsync with Homebrew first): - -`$ make upload USERNAME=myusername` - -To test external links from the site - -`$ make linkcheck` +To run the development server, which hosts the site and recompiles +automatically on edits: +``` +make serve +``` diff --git a/archetypes/default.md b/archetypes/default.md new file mode 100644 index 00000000..00e77bd7 --- /dev/null +++ b/archetypes/default.md @@ -0,0 +1,6 @@ +--- +title: "{{ replace .Name "-" " " | title }}" +date: {{ .Date }} +draft: true +--- + diff --git a/config.yaml b/config.yaml new file mode 100644 index 00000000..6bed99db --- /dev/null +++ b/config.yaml @@ -0,0 +1,126 @@ +baseURL: https://scipy.scientific-python.org/ +languageCode: en-us +theme: scientific-python-hugo-theme +disableKinds: ["taxonomy", "term"] +DefaultContentLanguage: en +markup: + goldmark: + renderer: + unsafe: true + +# Uncomment this to disable the translations for the specified languages. +# This may be useful to be able to merge partial translations without deploying +# them to scipy.org immediately. +# disableLanguages: ["pt", "ja"] + +params: + images: + - /images/logo.svg + navColor: blue + font: + name: "Lato" + sizes: [400,900] + +languages: + en: + title: SciPy + weight: 1 + contentDir: content/en + + languageName: English + params: + description: Why SciPy? Fundamental algorithms. Broadly applicable. Foundational. Interoperable. Performant. Open source. + navbarlogo: + image: logo.svg + altText: A blue circle with a snake in the shape of the letter 'S'. + link: / + hero: + # Main hero title + title: SciPy + # Hero subtitle (optional) + subtitle: Fundamental algorithms for scientific computing in Python + # Button text + buttontext: Get started + # Where the main hero button links to + buttonlink: "/install" + # Hero image (from static/images/___) + image: logo.svg + # Customizable navbar. For a dropdown, add a "sublinks" list. + news: + title: SciPy 1.7.1 released + content: 2021-08-01 + url: /news + + keyfeatures: + features: + - title: Fundamental algorithms + text: SciPy provides algorithms for optimization, integration, interpolation, eigenvalue problems, algebraic equations, differential equations, statistics and many other classes of problems. + - title: Broadly applicable + text: The algorithms and data structures provided by SciPy are broadly applicable across domains. + - title: Foundational + text: Extends NumPy providing additional tools for array computing and provides specialized data structures, such as sparse matrices and k-dimensional trees. + - title: Performant + text: SciPy wraps highly-optimized implementations written in low-level languages like Fortran, C, and C++. Enjoy the flexibility of Python with the speed of compiled code. + - title: Easy to use + text: SciPy's high level syntax makes it accessible and productive for programmers from any background or experience level. + - title: Open source + text: Distributed under a liberal [BSD license](https://github.com/scipy/scipy/blob/master/LICENSE.txt), SciPy is developed and maintained [publicly on GitHub](https://github.com/scipy/scipy) by a vibrant, responsive, and diverse [community](/dev-zone). + + section5: false + + + navbar: + - title: Install + url: /install + - title: Documentation + url: https://scipy.github.io/devdocs/index.html + - title: Download + url: /download + - title: Mailing Lists + url: /mailing-lists + - title: Report bugs + url: /bug-report + footer: + logo: logo.svg + socialmediatitle: "" + socialmedia: + - link: https://github.com/scipy/scipy + icon: github + quicklinks: + column1: + title: "" + links: + - text: Install + link: /install + - text: Documentation + link: https://scipy.github.io/devdocs/index.html + - text: Citing SciPy + link: /citing-scipy + - text: Roadmap + link: https://scipy.github.io/devdocs/dev/roadmap.html + - text: Donate + link: /donations + column2: + links: + - text: About Us + link: https://scipy.github.io/devdocs/dev/governance/people.html + - text: Code of Conduct + link: http://scipy.github.io/devdocs/dev/conduct/code_of_conduct.html + - text: Developer Zone + link: /dev-zone + - text: Mailing Lists + link: /mailing-lists + - text: SciPy Conference + link: https://conference.scipy.org/ + column3: + links: + - text: FAQ + link: /faq + - text: Get Help + link: /gethelp + - text: Terms of Use + link: /terms + - text: Privacy + link: /privacy + - text: Press Kit + link: /press-kit diff --git a/content/en/bug-report.md b/content/en/bug-report.md new file mode 100644 index 00000000..5bca234f --- /dev/null +++ b/content/en/bug-report.md @@ -0,0 +1,61 @@ +--- +title: Bug reports +sidebar: false +--- + +**Please help us by reporting any problems you find.** + +SciPy uses GitHub to do project management. +There, you can see what we are currently working on (Pull Requests), as +well as file bug-reports (issues). + +1. Go to the relevant page: + - [Pull requests](https://github.com/scipy/scipy/pulls) + - [Bug reports](https://github.com/scipy/scipy/issues) +2. On GitHub, you need to register an account the first time you use + it. +3. Make sure the bug hasn\'t already been reported. Click on \"Search\" + and type in some keywords to search for. +4. File your bug-report by clicking \"New Issue\" on GitHub. For advice + on how to provide a useful bug report, see the + [guidelines for submitting bugs](#guidelines-for-submitting-bugs). +5. Note that the bug trackers are mostly for actual bugs. If you want + to propose an enhancement, then the mailing list is a better place + to get feedback. + +**Thank you for helping to make** SciPy **better!** + +# Guidelines for submitting bugs + +- Provide a good description. Tickets in the vein of \"SciPy is + BROKEN!!!\" are not useful; rather, please state the problem + clearly, e.g., \"scipy.ndimage ignores keyword \'axis\'\". + +- Include a minimal standalone code snippet to illustrate the problem. + Try to narrow it down to a few lines. + +- If you experience segfaults or memory errors, give a GDB traceback: + + $ gdb python + GNU gdb 6.3.50-20050815 (Apple version gdb-573) (Fri Oct 20 15:50:43 GMT 2006) + Copyright 2004 Free Software Foundation, Inc. + GDB is free software, covered by the GNU General Public License, and you are + welcome to change it and/or distribute copies of it under certain conditions. + Type "show copying" to see the conditions. + There is absolutely no warranty for GDB. Type "show warranty" for details. + This GDB was configured as "i386-apple-darwin"...Reading symbols for shared + libraries .. done + (gdb) run -c "import scipy; scipy.test(10,10)" + Starting program: /usr/local/bin/python -c "import scipy; scipy.test()" + Reading symbols for shared libraries . done + Program received signal SIGTRAP, Trace/breakpoint trap. + 0x8fe01010 in __dyld__dyld_start () + (gdb) c + Continuing. + Reading symbols for shared libraries . done + Reading symbols for shared libraries . done + ... + + Then use the \"bt\" command after the segfault happens to get the + backtrace. Alternatively, run the code using + [Valgrind](http://valgrind.org/). diff --git a/content/en/citing-scipy.md b/content/en/citing-scipy.md new file mode 100644 index 00000000..30ddb8cb --- /dev/null +++ b/content/en/citing-scipy.md @@ -0,0 +1,49 @@ +--- +title: Citing SciPy +sidebar: false +--- + +If SciPy has been significant in your research, and you would like to +acknowledge the project in your academic publication, we suggest citing the +following paper: + +Pauli Virtanen, Ralf Gommers, Travis E. Oliphant, Matt Haberland, Tyler +Reddy, David Cournapeau, Evgeni Burovski, Pearu Peterson, Warren +Weckesser, Jonathan Bright, Stéfan J. van der Walt, Matthew Brett, +Joshua Wilson, K. Jarrod Millman, Nikolay Mayorov, Andrew R. J. Nelson, +Eric Jones, Robert Kern, Eric Larson, CJ Carey, İlhan Polat, Yu Feng, +Eric W. Moore, Jake VanderPlas, Denis Laxalde, Josef Perktold, Robert +Cimrman, Ian Henriksen, E.A. Quintero, Charles R Harris, Anne M. +Archibald, Antônio H. Ribeiro, Fabian Pedregosa, Paul van Mulbregt, and +SciPy 1.0 Contributors. (2020) **SciPy 1.0: Fundamental Algorithms for +Scientific Computing in Python**. *Nature Methods*, 17(3), 261-272. + +Here\'s an example of a BibTeX entry: + + @ARTICLE{2020SciPy-NMeth, + author = {Virtanen, Pauli and Gommers, Ralf and Oliphant, Travis E. and + Haberland, Matt and Reddy, Tyler and Cournapeau, David and + Burovski, Evgeni and Peterson, Pearu and Weckesser, Warren and + Bright, Jonathan and {van der Walt}, St{\'e}fan J. and + Brett, Matthew and Wilson, Joshua and Millman, K. Jarrod and + Mayorov, Nikolay and Nelson, Andrew R. J. and Jones, Eric and + Kern, Robert and Larson, Eric and Carey, C J and + Polat, {\.I}lhan and Feng, Yu and Moore, Eric W. and + {VanderPlas}, Jake and Laxalde, Denis and Perktold, Josef and + Cimrman, Robert and Henriksen, Ian and Quintero, E. A. and + Harris, Charles R. and Archibald, Anne M. and + Ribeiro, Ant{\^o}nio H. and Pedregosa, Fabian and + {van Mulbregt}, Paul and {SciPy 1.0 Contributors}}, + title = {{{SciPy} 1.0: Fundamental Algorithms for Scientific + Computing in Python}}, + journal = {Nature Methods}, + year = {2020}, + volume = {17}, + pages = {261--272}, + adsurl = {https://rdcu.be/b08Wh}, + doi = {10.1038/s41592-019-0686-2}, + } + +For any specific algorithm, also consider citing the original author\'s +paper (this can often be found under the \"References\" section of the +docstring). diff --git a/content/en/dev-zone.md b/content/en/dev-zone.md new file mode 100644 index 00000000..5be0bbcc --- /dev/null +++ b/content/en/dev-zone.md @@ -0,0 +1,64 @@ +--- +title: Developer zone +sidebar: false +--- + +# We need your help! + +This is a distributed, volunteer project and we welcome additional +contributors. If you\'re keen to help out, a good start is to monitor +the [mailing lists]({{< ref "/mailing-lists" >}}) and +[SciPy library bug + reports](https://github.com/scipy/scipy/issues). +You\'ll soon begin to recognize the areas where your assistance and +expertise can make a difference. + +# Source code + +Make contributions (e.g., code patches), feature requests, and file bug +reports by submitting issues or pull requests on the GitHub pages linked +below. For any bigger changes, discussion on the mailing lists is +recommended even before starting. + +Useful information on how to contribute new features to SciPy is +contained in +[HACKING.txt](https://github.com/scipy/scipy/blob/master/HACKING.rst.txt), +please read it. Also, take a look at the [NumPy developer +guide](http://docs.scipy.org/doc/numpy/dev/) for information on +practical issues. + +If your contribution would be large, e.g., expanding functionality to a +scientific field not currently covered, it may make sense to at least at +first start it as an independent project. + +Note that NumPy contains the most basic numerical functionality, and +SciPy is layered on top of NumPy to provide a much wider range of +capabilities. You need NumPy for SciPy to work. + + ------- ----------------------- --------------------------------------- + NumPy Code repository + + SciPy Code repository + ------- ----------------------- --------------------------------------- + +# On packaging + +For the majority of users who do not want to build the code from source, +binary installers that \"just work\" are the key to using SciPy. +Producing these after the coding is finished is the Packaging Team\'s +job. + +## Making Source and Binary Releases + +A releasable tarball gets made from the sources following a +straightforward procedure (see +[core-dev\releasing.rst.inc](http://scipy.github.io/devdocs/dev/core-dev/index.html#making-a-scipy-release)). +To make an official release to the community, the release manager +typically makes a series of test releases and announces them on the +mailing lists. After getting feedback, the release manager makes a final +release, posts it, and announces it on the mailing lists. + +## Getting Releases Into Distribution + +Linux distributions and many others pick up our packages and deliver +them to users as part of larger collections. diff --git a/content/en/donations.md b/content/en/donations.md new file mode 100644 index 00000000..bebb2a28 --- /dev/null +++ b/content/en/donations.md @@ -0,0 +1,57 @@ +--- +title: Donations +sidebar: false +--- + +# Support SciPy development + +SciPy will always be 100% open source software, free for all to use and +released under the liberal terms of the modified BSD license. While we +have a large number of +[contributors](https://github.com/scipy/scipy/blob/master/THANKS.txt) +who volunteer their time to improve SciPy, financial resources are +needed to run the project and accelerate its development. If you have +found SciPy useful in your work, research, or company, please consider +making a donation to the project commensurate with your resources. Any +amount helps! + +Donations are managed by the [NumFOCUS](https://numfocus.org) +foundation, which passes 90% of your contribution to the SciPy project, +and provides the SciPy development team with basic administrative and +legal services for the other 10%. NumFOCUS is a 501(c)3 non-profit +foundation, so if you are subject to the US Tax law, your contributions +are tax-deductible. + +
+ + Donate to SciPy + +
+ +# Acknowledgements + +The SciPy development team would like to thank the following companies +and organizations for providing financial support, services, or +development infrastructure: + +- [Tidelift](https://tidelift.com/subscription/pkg/pypi-scipy?utm_source=pypi-scipy&utm_medium=referral&utm_campaign=readme): + financial support for SciPy through the Tidelift open source + subscription +- [Enthought](https://www.enthought.com): scipy.org and mailing lists + hosting, holding the SciPy trademark +- [NumFOCUS](https://numfocus.org): several small development grants, + and a hosted Mac Mini build machine +- [Google](https://google.com): support for many Google Summer of Code + students +- [Intel](https://www.intel.com): Intel + [MKL](https://software.intel.com/en-us/intel-mkl/) licenses +- [BYU](https://www.byu.edu): employed Travis Oliphant while working + on SciPy +- [Mayo Clinic](https://www.mayoclinic.org): employed Travis Oliphant + while working on SciPy + +*This list is ordered by time (most recent contributions first) and was +last updated in April 2019.* diff --git a/content/en/download.md b/content/en/download.md new file mode 100644 index 00000000..b54bee6f --- /dev/null +++ b/content/en/download.md @@ -0,0 +1,124 @@ +--- +title: Obtaining SciPy +sidebar: false +--- + +# Official source and binary releases + +For each official release of SciPy, we provide source code +(tarball), as well as binary wheels for several major platforms +(Windows, OSX, Linux). + +{{< yamlToTable >}} + +headers: + - Available Packages + - Download location + +format: + - align: left + - align: right + +rows: + + - columns: + - | + Official *source code* (all platforms) and *binaries* for
+ **Windows**, **Linux** and **Mac OS X** + - | + [SciPy release page](https://github.com/scipy/scipy/releases) (sources)
+ [PyPI page for SciPy](https://pypi.python.org/pypi/scipy) (all) + +{{< /yamlToTable >}} + + +# Source code repository access + +The most recent development versions of SciPy is available +through the official repositories hosted on +[GitHub](https://github.com/). + +To check out the latest **SciPy** sources: + + git clone https://github.com/scipy/scipy.git scipy + +# Build instructions + +Build instructions for SciPy can be found in its documentation. The +latest version can be found at: + + +# Third-party/vendor package managers + +Below is a partial list of third-party and operating system vendor +package managers containing SciPy packages. + +These packages are **not** maintained by the SciPy developers; +this list is provided only as a convenience. These packages may not +always provide the most up-to-date version of the software, and may be +unmaintained. + +**IMPORTANT:** If you experience problems with these packages +(*especially* those related to installation/build errors), **please +report the problem to the package maintainer first, rather than to the +SciPy mailing lists**. + +{{< yamlToTable >}} + +headers: + - Distribution + - SciPy Packages + +format: + - align: left + - align: left + - align: right + +rows: + - columns: + - "[Arch Linux](https://www.archlinux.org/)" + - "[python-scipy](https://www.archlinux.org/packages/?q=scipy)" + + - columns: + - "[Debian GNU/Linux](http://www.debian.org/)" + - "[python-scipy](https://packages.debian.org/search?keywords=python-scipy)" + + - columns: + - "[Ubuntu Linux](http://www.ubuntu.com/)" + - "[pythonscipy](http://packages.ubuntu.com/search?keywords=python-scipy)" + + - columns: + - "[Fedora](https://getfedora.org/)" + - "[scipy](https://apps.fedoraproject.org/packages/scipy)" + + - columns: + - "[Fink](http://www.finkproject.org/)" + - "[scipy-py38](http://pdb.finkproject.org/pdb/package.php/scipy-py38)" + + - columns: + - "[FreeBSD (Ports)](https://www.freebsd.org/ports/)" + - "[science/py-scipy](https://svnweb.freebsd.org/ports/head/science/py-scipy)" + + - columns: + - "[Gentoo Linux](https://www.gentoo.org/)" + - "[sci-libs/scipy](https://packages.gentoo.org/packages/sci-libs/scipy)" + + - columns: + - "[MacPorts](http://www.macports.org/)" + - "[py-scipy](http://trac.macports.org/browser/trunk/dports/python/py-scipy/Portfile)" + + - columns: + - "[NetBSD (pkgsrc)](http://www.pkgsrc.org/)" + - "[math/py-scipy](http://pkgsrc.se/math/py-scipy)" + + - columns: + - "[OpenSUSE](https://www.opensuse.org/)" + - | + [python-scipy](http://software.opensuse.org/search?q=python-scipy), + [python-scipy-devel](http://software.opensuse.org/search?q=python-scipy-devel) + + - columns: + - "[Slackware Linux](http://www.slackware.com/)" + - "[scipy (slackbuilds.org)](https://slackbuilds.org/result/?search=scipy)" + +{{< /yamlToTable >}} diff --git a/content/en/faq.md b/content/en/faq.md new file mode 100644 index 00000000..508935a9 --- /dev/null +++ b/content/en/faq.md @@ -0,0 +1,173 @@ +--- +title: Frequently Asked Questions +sidebar: false +--- + +## What is SciPy? + +SciPy is a set of open source (BSD licensed) scientific and numerical +tools for Python. It currently supports special functions, integration, +ordinary differential equation (ODE) solvers, gradient optimization, +parallel programming tools, an expression-to-C++ compiler for fast +execution, and others. A good rule of thumb is that if it\'s covered in +a general textbook on numerical computing (for example, the well-known +Numerical Recipes series), it\'s probably implemented in SciPy. + +## How much does it cost? + +SciPy is freely available. It is distributed as open source software, +meaning that you have complete access to the source code and can use it +in any way allowed by its liberal BSD license. + +## What are SciPy\'s licensing terms? + +SciPy\'s license is free for both commercial and non-commercial use, per +the terms of the BSD license +[here](https://github.com/scipy/scipy/blob/master/LICENSE.txt). + +## How can SciPy be fast if it is written in an interpreted language like Python? + +Actually, the time-critical loops are usually implemented in C, C++, or +Fortran. Parts of SciPy are thin layers of code on top of the scientific +routines that are freely available at . Netlib +is a huge repository of incredibly valuable and robust scientific +algorithms written in C and Fortran. It would be silly to rewrite these +algorithms and would take years to debug them. SciPy uses a variety of +methods to generate \"wrappers\" around these algorithms so that they +can be used in Python. Some wrappers were generated by hand coding them +in C. The rest were generated using either SWIG or +[f2py](http://www.f2py.com). Some of the newer contributions to SciPy +are either written entirely or wrapped with +[Cython](http://cython.org/) or [Pythran](https://pythran.readthedocs.io). + +A second answer is that for difficult problems, a better algorithm can +make a tremendous difference in the time it takes to solve a problem. +So, using SciPy\'s built-in algorithms may be much faster than a simple +algorithm coded in C. + +## I\'ve found a bug. What do I do? + +The SciPy development team works hard to make SciPy as reliable as +possible, but, as in any software product, bugs do occur. If you find +bugs that affect your software, please tell us by entering a ticket in +the [SciPy bug tracker](https://github.com/scipy/scipy/issues), or +[NumPy bug tracker](https://github.com/numpy/numpy/issues), as +appropriate. + +## How can I get involved in SciPy? + +Drop us a mail on the [mailing lists]({{< ref "/mailing-lists" >}}). +We are keen for more people to help out writing code, unit +tests, documentation (including translations into other languages), and +helping out with the website. + +## Is there commercial support available? + +Yes, commercial support is offered for SciPy by a number of companies, +for example [Anaconda](https://www.anaconda.com), +[Enthought](https://www.enthought.com), and +[Quansight](https://www.quansight.com). + +# NumPy vs. SciPy vs. other packages + +## What is the difference between NumPy and SciPy? + +In an ideal world, NumPy would contain nothing but the array data type +and the most basic operations: indexing, sorting, reshaping, basic +elementwise functions, etc. All numerical code would reside in SciPy. +However, one of NumPy\'s important goals is compatibility, so NumPy +tries to retain all features supported by either of its predecessors. +Thus, NumPy contains some linear algebra functions and Fourier +transforms, even though these more properly belong in SciPy. In any +case, SciPy contains more fully-featured versions of the linear algebra +modules, as well as many other numerical algorithms. If you are doing +scientific computing with Python, you should probably install both NumPy +and SciPy. Most new features belong in SciPy rather than NumPy. + +## How do I make plots using NumPy/SciPy? + +Plotting functionality is beyond the scope of NumPy and SciPy, which +focus on numerical objects and algorithms. Several packages exist that +integrate closely with NumPy and Pandas to produce high quality plots, +such as the immensely popular [Matplotlib](http://matplotlib.org). Other +popular options are [Bokeh](https://bokeh.pydata.org/en/latest), +[Plotly](https://plot.ly), [Altair](https://altair-viz.github.io), and +[Chaco](http://code.enthought.com/projects/chaco). + +## How do I make 3D plots/visualizations using NumPy/SciPy? + +Like 2D plotting, 3D graphics is beyond the scope of NumPy and SciPy, +but just as in the 2D case, packages exist that integrate with NumPy. +[Matplotlib](http://matplotlib.org) provides basic 3D plotting in the +`mplot3d` subpackage, whereas +[Mayavi](http://code.enthought.com/projects/mayavi/) provides a wide +range of high-quality 3D visualization features, utilizing the powerful +[VTK](http://www.vtk.org/) engine. + +## Why both `numpy.linalg` and `scipy.linalg`? What\'s the difference? + +`scipy.linalg` is a more complete wrapping +of Fortran [LAPACK](http://www.netlib.org/lapack/) using +[f2py](http://www.f2py.com). + +One of the design goals of NumPy was to make it buildable without a +Fortran compiler, and if you don\'t have LAPACK available, NumPy will +use its own implementation. SciPy requires a Fortran compiler to be +built, and heavily depends on wrapped Fortran code. + +The `linalg` modules in NumPy and SciPy +have some common functions but with different docstrings, and +`scipy.linalg` contains functions not +found in `numpy.linalg`, such as functions +related to [LU +decomposition](https://en.wikipedia.org/wiki/LU_decomposition) and the +[Schur +decomposition](https://en.wikipedia.org/wiki/Schur_decomposition), +multiple ways of calculating the pseudoinverse, and matrix +transcendentals, like the [matrix +logarithm](https://en.wikipedia.org/wiki/Logarithm_of_a_matrix). Some +functions that exist in both have augmented functionality in +`scipy.linalg`; for example, +`scipy.linalg.eig` can take a second +matrix argument for solving [generalized eigenvalue +problems](https://en.wikipedia.org/wiki/Generalized_eigenvalue_problem). + +# Python version support + +## Do NumPy and SciPy still support Python 2.7? + +The last version of NumPy to support Python 2.7 is NumPy 1.16.x. The +last SciPy version to do so is SciPy 1.2.x. The first release of NumPy +to support Python 3.x was NumPy 1.5.0. Python 3 support in SciPy was +introduced in SciPy 0.9.0. + +## Does NumPy/SciPy work with PyPy? + +In general, yes. Recent improvements in [PyPy](http://pypy.org) have +made the scientific Python stack work with PyPy. The NumPy and SciPy +projects run PyPy in continuous integration and aim to further improve +support over time. Since much of NumPy and SciPy is implemented as C +extension modules, the code may not run any faster (for most cases it\'s +significantly slower still, however, PyPy is actively working on +improving this). As always when benchmarking, your experience is the +best guide. + +## Does NumPy/SciPy work with Jython or C\#/.NET? + +No, neither is supported. Jython never worked, because it runs on top of +the Java Virtual Machine and has no way to interface with extensions +written in C for the standard Python (CPython) interpreter. + +Some years ago, there was an effort to make NumPy and SciPy compatible +with .NET. Some users at the time reported success in using NumPy with +[Ironclad](https://code.google.com/archive/p/ironclad) on 32-bit +Windows. + +# Where to get help + +You can ask questions with the [SciPy tag on +StackOverflow](http://stackoverflow.com/questions/tagged/scipy), or on +the scipy-user [mailing lists]({{< ref "/mailing-lists" >}}). +Search for an answer first, because someone may already +have found a solution to your problem, and using that will save everyone +time. diff --git a/content/en/gethelp.md b/content/en/gethelp.md new file mode 100644 index 00000000..926c7be2 --- /dev/null +++ b/content/en/gethelp.md @@ -0,0 +1,22 @@ +--- +title: Get Help +sidebar: false +--- + +**User questions:** The best way to get help is to post your question to +the [user mailing list](https://mail.python.org/archives/list/scipy-user@python.org/) +or a site +like [StackOverflow](http://stackoverflow.com/questions/tagged/scipy), with +thousands of users available to answer. We wish we could keep an eye on +these sites, or answer questions directly, but the volume is just a little +overwhelming! + +**Development issues:** For SciPy development-related matters (e.g. bug reports), please +see [Developer Zone](/dev-zone). + + + +# [StackOverflow](http://stackoverflow.com/questions/tagged/scipy) + +A forum for asking usage questions, e.g. "How do I do X in SciPy?”. Please [use the `#scipy` tag](https://stackoverflow.com/help/tagging) + diff --git a/content/en/install.md b/content/en/install.md new file mode 100644 index 00000000..3530ac4d --- /dev/null +++ b/content/en/install.md @@ -0,0 +1,118 @@ +--- +title: Installation +sidebar: false +--- + +Installations methods include: + +- [Distributions](#distributions) +- [pip](#pip-install) +- [Package Manager](#package_manager) +- [Source](#source) +- [Binaries](#binaries) + +Methods differ in ease of use, coverage, maintenance of old versions, +system-wide versus local environment use, and control. With pip or +Anaconda\'s conda, you can control the package versions for a specific +project to prevent conflicts. Conda also controls non-Python packages, +like MKL or HDF5. System package managers, like `apt-get`, install +across the entire computer, often have older versions, and don\'t have +as many available versions. Source compilation is much more difficult +but is necessary for debugging and development. If you don\'t know which +installation method you need or prefer, we recommend the Scientific +Python Distribution [Anaconda](https://www.anaconda.com/download/). + + +# Scientific Python Distributions (recommended) + +Python distributions provide the language itself, along with the most +commonly used packages and tools. These downloadable files require +little configuration, work on almost all setups, and provide all the +commonly used scientific python tools. + +[Anaconda](https://www.anaconda.com/download/) works on Windows, Mac, +and Linux, provides over 1,500 Python/R packages, and is used by over 15 +million people. Anaconda is best suited to beginning users; it provides +a large collection of libraries all in one. + +For more advanced users who will need to install or upgrade regularly, +[Miniconda](https://docs.conda.io/en/latest/miniconda.html) is a more +suitable way to install the *conda* package manager. + +Other options include: + +- [WinPython](https://winpython.github.io): Another free distribution + including scientific packages and the Spyder IDE; Windows only, but + more actively maintained and supports the latest Python 3 versions. +- [Pyzo](http://www.pyzo.org/): A free distribution based on Anaconda + and the IEP interactive development environment; Supports Linux, + Windows, and Mac. + + +# Installing via pip + +Python comes with an inbuilt package management system, +[pip](https://pip.pypa.io/en/stable). Pip can install, update, or delete +any official package. + +You can install packages via the command line by entering: + + python -m pip install --user numpy scipy matplotlib ipython jupyter pandas sympy nose + +We recommend using an *user* install, sending the `--user` flag to pip. +`pip` installs packages for the local user and does not write to the +system directories. Preferably, do not use `sudo pip`, as this +combination can cause problems. + +Pip accesses the Python Package Index, [PyPI](https://pypi.org/) , which +stores almost 200,000 projects and all previous releases of said +projects. Because the repository keeps previous versions, you can pin to +a version and not worry about updates causing conflicts. Pip can also +install packages in local *virtualenv*, or virtual environment. + + +# Install system-wide via a package manager + +System package managers can install the most common Python packages. +They install packages for the entire computer, often use older versions, +and don\'t have as many available versions. + +## Ubuntu and Debian + +using apt-get: + + sudo apt-get install python-numpy python-scipy python-matplotlib ipython ipython-notebook python-pandas python-sympy python-nose + +## Fedora 22 and later + +using dnf: + + sudo dnf install numpy scipy python-matplotlib ipython python-pandas sympy python-nose atlas-devel + +## Mac + +Mac doesn\'t have a preinstalled package manager, but there are a couple +of popular package managers you can install. + +[Homebrew](https://brew.sh/) has an incomplete coverage of the SciPy +ecosystem, but does install these packages: + + brew install numpy scipy ipython jupyter + + +# Source packages + +You can build any of the packages from source. Those involved in +development may take this route to get developmental versions or alter +source code. Refer to individual projects for more details. + +# Binaries + +Binary files can directly install the packages. These can either come +from the direct source, like [GitHub](https://github.com/) or +[PyPI](https://pypi.org/) , or third-party repositories. Linux operating +systems, like [Ubuntu](https://packages.ubuntu.com/) , have package +repositories where you can search for and download individual binaries. +For Windows, Christoph Gohlke provides [pre-built Windows +installers](http://www.lfd.uci.edu/~gohlke/pythonlibs) for many +packages. diff --git a/content/en/mailing-lists.md b/content/en/mailing-lists.md new file mode 100644 index 00000000..a1927f6f --- /dev/null +++ b/content/en/mailing-lists.md @@ -0,0 +1,121 @@ +--- +title: Mailing lists +sidebar: false +--- + +The mailing lists are our primary community forum. This is where we +organize projects, announce new releases, plan future directions, and +give and receive user support. + +To post to a list, you have to be on it. If you want to see **how much +traffic** a list gets, just go to the list archive and take a look. You +can opt to receive messages in digest form. Groups of about 10 messages +are sent in one email, with a table of contents at the top. This reduces +inbox clutter, but means you will get the messages with a delay of up to +a day. + +Please only post job ads if the work involves not only using NumPy, +SciPy, and related packages but an opportunity to contribute to these +packages as part of the role (we love to see that become more common!). +If that\'s the case, please put `[JOB]` in the subject. + +We also have read-only mailing lists setup for NumPy and SciPy that +provide notifications of all version control checkins. + +# Mailing lists + +The following table lists the core NumPy and SciPy lists. Please see +the [before you post](#before-you-post) note below to make sure that this +is the right place to ask your question. + +{{< yamlToTable >}} + + +format: + - align: left + - align: left + - align: right + +rows: + - columns: + - "**SciPy-user**" + - "[Archives](https://mail.python.org/archives/list/scipy-user@python.org/)" + - "[Subscribe](https://mail.python.org/mailman/listinfo/scipy-user)" + + - columns: + - colspan: 3 + text: Our user-support forum, for discussions of how to use SciPy. + + - columns: + - "**SciPy-dev**" + - "[Archives](https://mail.python.org/archives/list/scipy-dev@python.org/)" + - "[Subscribe](https://mail.python.org/mailman/listinfo/scipy-dev)" + + - columns: + - colspan: 3 + text: For discussions about SciPy development (code, website, docs, and more). + +{{< /yamlToTable >}} + +# StackOverflow + +[StackOverflow](http://stackoverflow.com) is a good place to ask usage +questions. Tag your question with `numpy` or `scipy`, and with `python`. + +Usage questions can, of course, also be asked on the `scipy-user` or +`numpy-discussion` lists. + +# Before you post + +- Search the appropriate archives first (one way is to use the + \"Read/Search\" links to Nabble above). Though knowing what search + terms to use is an acquired skill, it\'s often easier than you + think. Also check the [FAQ]({{< relref "/faq" >}}) to see + if your question is answered there. +- Please make sure that you\'re posting to the right list. The + **NumPy** and **SciPy** mailing lists should be used for questions + relating to those two packages in particular (general questions + about how to accomplish a scientific task in Python are okay, too). + Questions about **matplotlib** should go to one of the + [matplotlib](http://matplotlib.org/) mailing lists. Questions + specifically about using/developing the **IPython** shell should go + to one of the [IPython](http://ipython.org/) lists. Making sure your + question is going to the right list saves everyone time and makes it + far more likely the right people will see (and answer) your question + quickly. + +A few points on the mailing list etiquette: + +- **Reply to list, not to sender.** + + In general, it is not necessary to CC respondents on further replies + to your thread. Please reply to the list rather than to the list + *and* the individual respondents (note that the NumPy and SciPy + lists add Reply-To headers to facilitate this; normally, clicking + \'Reply\' in your mail client will direct replies to the list rather + than the sender). Likewise, if you expect a reply, you should either + monitor the list traffic through your mail client or through a + service like [Nabble](http://www.nabble.com); responses will + generally be sent to the list and only the list. + +- **Don\'t reply to digests.** + + Digests should only be used if you intend to read and not + participate. Replying to digests makes it impossible to follow + conversation threads; please subscribe normally if you wish to + participate in the conversation. + +- **Use bottom-posting.** + + When replying to a message, please use bottom-posting. This means + quoting the content you reply to and inserting your replies below + each quote. For more details, see [posting + style](https://en.wikipedia.org/wiki/Posting_style). + +- **Keep it friendly, folks.** + + Please keep the tone of conversations cordial and respectful, and + recognize that those responding to your questions are volunteering + their free time to do so. The [SciPy code of + conduct](http://scipy.github.io/devdocs/dev/conduct/code_of_conduct.html) + applies on SciPy lists and GitHub. diff --git a/content/en/news.md b/content/en/news.md new file mode 100644 index 00000000..3d7edc0f --- /dev/null +++ b/content/en/news.md @@ -0,0 +1,231 @@ +--- +title: News +sidebar: false +--- + +### SciPy 1.7.1 released + +_August 1, 2021_ -- SciPy 1.7.1 is a bug-fix release with no new features compared to 1.7.0. + +### NumPy survey + +_2020-07-02_ -- The first-ever NumPy community survey is LIVE! See + +### SciPy funding + +_2019-11-15_ SciPy, NumPy, Matplotlib, Pandas, scikit-learn, scikit-image, Dask, +Zarr and others received functions from the Chan Zuckerberg +Initiative! See + +### SciPy user survey results + +_2019-11-13_ See the survey results +[here](https://github.com/mkg33/GSoD/blob/master/user_survey_summary.pdf). + +### SciPy-NumFOCUS + +SciPy becomes a [NumFOCUS](http://numfocus.org/) fiscally sponsored +project _2019-04-18_ + + +### SciPy user survey + +_2019-10-04_ [Tell us](http://forms.gle/LGxx5hXzrDyChj38A) how we can improve the +documentation. + +### SciPy 2019 + +_2019-07-08_ [SciPy](https://scipy2019.scipy.org/), the 18th annual Scientific +Computing with Python conference, will be held July 8-14, 2019 in +Austin, Texas. + + +### EuroSciPy 2017 _2017-08-28_ + +The [EuroSciPy](https://www.euroscipy.org/2017/) meeting is a +cross-disciplinary gathering focused on the use and development of +the Python language in scientific research. The 2017 edition will +take place in Erlangen, Germany, Aug 28\--Sep 1. + +### SciPy 2017 _2017-07-10_ + +[SciPy](https://scipy2017.scipy.org/), the 16th annual Scientific +Computing with Python conference, will be held July 10-16, 2017 in +Austin, Texas. + + +### EuroSciPy 2014 + +[EuroSciPy](https://www.euroscipy.org/2014/) is the European +gathering for scientists using Python. The 2014 edition will take +place in Cambridge, UK, Aug. 27-31. + +### SciPy 2014 + +[SciPy](http://conference.scipy.org/scipy2014/) is an annual +conference for scientists using Python. The 2014 edition will take +place in Austin, Texas, July 6-12. + +### EuroSciPy 2013 + +[EuroSciPy](https://www.euroscipy.org/) is the European gathering +for scientists using Python. The 2013 edition will take place in +Brussels, Aug. 21-24. + +### SciPy 2013 + +[SciPy](http://conference.scipy.org/scipy2013/) is an annual +conference for scientists using Python. The 2013 edition will take +place in Austin, Texas, June 24-29. + +### SIAM CSE \'13 + +The [SIAM Conference on Computational Science and +Engineering](http://www.siam.org/meetings/cse13) will take place in +Boston, February 25-March 1, 2013, and for this version there will +be a track focused on the topic of Big Data. + +### AMS Annual Meeting + +The annual meeting of the American Meteorological Society takes +place January 6-10, 2013, and includes the Third Symposium on +Advances in Modeling and Analysis Using Python. + +### SciPy 2012 + +The eleventh annual conference on python in science, SciPy 2012, +took place July 16 - 21 in Austin, Texas. + +### EuroSciPy 2012 + +EuroSciPy is the European gathering for scientists using Python. The +2012 edition took place in Brussels, Aug. 23-27. + +### PyCon 2012 + +PyCon is the largest annual gathering for the community using and +developing the open-source Python programming language. This year +the conference took place March 7 - 15 in Santa Clara, California. + +## Releases + +Here is a list of SciPy releases, with links to release notes. Bugfix +releases (only the `z` changes in the `x.y.z` version number) have no new +features; minor releases (the `y` increases) do. + +- NumPy 1.21.2 ([release notes](https://github.com/numpy/numpy/releases/tag/v1.21.2)) -- _2021-08-15_. +- SciPy 1.7.1 ([release notes](https://github.com/scipy/scipy/releases/tag/v1.7.1)) -- _2021-08-01_. +- NumPy 1.21.1 ([release notes](https://github.com/numpy/numpy/releases/tag/v1.21.1)) -- _2021-07-18_. +- NumPy 1.21.0 ([release notes](https://github.com/numpy/numpy/releases/tag/v1.21.0)) -- _2021-06-22_. +- SciPy 1.7.0 ([release notes](https://github.com/scipy/scipy/releases/tag/v1.7.0)) -- _2021-06-20_. +- NumPy 1.21.0rc2 ([release notes](https://github.com/numpy/numpy/releases/tag/v1.21.0rc2)) -- _2021-06-08_. +- NumPy 1.21.0rc1 ([release notes](https://github.com/numpy/numpy/releases/tag/v1.21.0rc1)) -- _2021-05-24_. +- NumPy 1.20.3 ([release notes](https://github.com/numpy/numpy/releases/tag/v1.20.3)) -- _2021-05-10_. +- SciPy 1.6.3 ([release notes](https://github.com/scipy/scipy/releases/tag/v1.6.3)) -- _2021-04-25_. +- NumPy 1.20.2 ([release notes](https://github.com/numpy/numpy/releases/tag/v1.20.2)) -- _2021-03-27_. +- SciPy 1.6.2 ([release notes](https://github.com/scipy/scipy/releases/tag/v1.6.2)) -- _2021-03-24_. +- SciPy 1.6.1 ([release notes](https://github.com/scipy/scipy/releases/tag/v1.6.1)) -- _2021-02-17_. +- NumPy 1.20.1 ([release notes](https://github.com/numpy/numpy/releases/tag/v1.20.1)) -- _2021-02-07_. +- NumPy 1.20.0 ([release notes](https://github.com/numpy/numpy/releases/tag/v1.20.0)) -- _2021-01-30_. +- NumPy 1.19.5 ([release notes](https://github.com/numpy/numpy/releases/tag/v1.19.5)) -- _2021-01-05_. +- SciPy 1.6.0 ([release notes](https://github.com/scipy/scipy/releases/tag/v1.6.0)) -- _2020-12-31_. +- SciPy 1.5.0 ([release notes](https://github.com/scipy/scipy/releases/tag/v1.5.0)) -- _2020-06-21_. +- NumPy 1.19.0 ([release notes](https://github.com/numpy/numpy/releases/tag/v1.19.0)) -- _2020-06-20_. +- SciPy 1.5.4 ([release notes](https://github.com/scipy/scipy/releases/tag/v1.5.4)) -- _2020-11-04_. +- NumPy 1.19.4 ([release notes](https://github.com/numpy/numpy/releases/tag/v1.19.4)) -- _2020-11-02_. +- NumPy 1.19.3 ([release notes](https://github.com/numpy/numpy/releases/tag/v1.19.3)) -- _2020-10-28_. +- SciPy 1.5.3 ([release notes](https://github.com/scipy/scipy/releases/tag/v1.5.3)) -- _2020-10-17_. +- NumPy 1.19.2 ([release notes](https://github.com/numpy/numpy/releases/tag/v1.19.2)) -- _2020-09-10_. +- SciPy 1.5.2 ([release notes](https://github.com/scipy/scipy/releases/tag/v1.5.2)) -- _2020-07-23_. +- NumPy 1.19.1 ([release notes](https://github.com/numpy/numpy/releases/tag/v1.19.1)) -- _2020-07-21_. +- SciPy 1.5.1 ([release notes](https://github.com/scipy/scipy/releases/tag/v1.5.1)) -- _2020-07-04_. +- NumPy 1.18.5 ([release notes](https://github.com/numpy/numpy/releases/tag/v1.18.5)) -- _2020-06-03_. +- NumPy 1.18.4 ([release notes](https://github.com/numpy/numpy/releases/tag/v1.18.4)) -- _2020-05-03_. +- NumPy 1.18.3 ([release notes](https://github.com/numpy/numpy/releases/tag/v1.18.3)) -- _2020-04-19_. +- NumPy 1.18.2 ([release notes](https://github.com/numpy/numpy/releases/tag/v1.18.2)) -- _2020-03-17_. +- SciPy 1.2.3 ([release notes](https://github.com/scipy/scipy/releases/tag/v1.2.3)) -- _2020-01-21_. +- NumPy 1.18.1 ([release notes](https://github.com/numpy/numpy/releases/tag/v1.18.1)) -- _2020-01-06_. +- NumPy 1.17.5 ([release notes](https://github.com/numpy/numpy/releases/tag/v1.17.5)) -- _2020-01-01_. +- NumPy 1.16.6 ([release notes](https://github.com/numpy/numpy/releases/tag/v1.16.6)) -- _2019-12-29_. +- NumPy 1.18.0 ([release notes](https://github.com/numpy/numpy/releases/tag/v1.18.0)) -- _2019-12-22_. +- SciPy 1.4.1 ([release notes](https://github.com/scipy/scipy/releases/tag/v1.4.1)) -- _2019-12-19_. +- NumPy 1.18.0rc1 ([release notes](https://github.com/numpy/numpy/releases/tag/v1.18.0rc1)) -- _2019-12-05_. +- SciPy 1.4.0 ([release notes](https://github.com/scipy/scipy/releases/tag/v1.4.0)) -- _2019-12-16_. +- NumPy 1.17.4 ([release notes](https://github.com/numpy/numpy/releases/tag/v1.17.4)) -- _2019-11-10_. +- SciPy 1.3.2 ([release notes](https://github.com/scipy/scipy/releases/tag/v1.3.2)) -- _2019-11-09_. +- NumPy 1.17.3 ([release notes](https://github.com/numpy/numpy/releases/tag/v1.17.3)) -- _2019-10-17_. +- NumPy 1.17.2 ([release notes](https://github.com/numpy/numpy/releases/tag/v1.17.2)) -- _2019-09-06_. +- NumPy 1.16.5 ([release notes](https://github.com/numpy/numpy/releases/tag/v1.16.5)) -- _2019-08-27_. +- NumPy 1.17.1 ([release notes](https://github.com/numpy/numpy/releases/tag/v1.17.1)) -- _2019-08-26_. +- SciPy 1.3.1 ([release notes](https://github.com/scipy/scipy/releases/tag/v1.3.1)) -- _2019-08-08_. +- NumPy 1.17.0 ([release notes](https://github.com/numpy/numpy/releases/tag/v1.17.0)) -- _2019-07-26_. +- SciPy 1.3.0 ([release notes](https://github.com/scipy/scipy/releases/tag/v1.3.0)) -- _2019-05-17_. +- NumPy 1.16.4 ([release notes](https://github.com/numpy/numpy/releases/tag/v1.16.4)) -- _2019-05-28_. +- SciPy 1.2.2 ([release notes](https://github.com/scipy/scipy/releases/tag/v1.2.2)) -- _2019-06-06_. +- NumPy 1.16.3 ([release notes](https://github.com/numpy/numpy/releases/tag/v1.16.3)) -- _2019-04-21_. +- NumPy 1.16.2 ([release notes](https://github.com/numpy/numpy/releases/tag/v1.16.2)) -- _2019-02-26_. +- SciPy 1.2.1 ([release notes](https://github.com/scipy/scipy/releases/tag/v1.2.1)) -- _2019-02-08_. +- NumPy 1.16.1 ([release notes](https://github.com/numpy/numpy/releases/tag/v1.16.1)) -- _2019-01-31_. +- NumPy 1.16.0 ([release notes](https://github.com/numpy/numpy/releases/tag/v1.16.0)) -- _2019-01-13_. +- SciPy 1.2.0 ([release notes](https://github.com/scipy/scipy/releases/tag/v1.2.0)) -- _2018-12-17_. +- NumPy 1.15.4 ([release notes](https://github.com/numpy/numpy/releases/tag/v1.15.4)) -- _2018-11-04_. +- NumPy 1.15.3 ([release notes](https://github.com/numpy/numpy/releases/tag/v1.15.3)) -- _2018-10-22_. +- NumPy 1.15.2 ([release notes](https://github.com/numpy/numpy/releases/tag/v1.15.2)) -- _2018-09-23_. +- NumPy 1.14.6 ([release notes](https://github.com/numpy/numpy/releases/tag/v1.15.1)) -- _2018-09-23_. +- NumPy 1.15.1 ([release notes](https://github.com/numpy/numpy/releases/tag/v1.15.0)) -- _2018-08-21_. +- SciPy 0.19.1 ([release notes](https://github.com/scipy/scipy/releases/tag/v1.19.1)) -- _2017-06-21_. +- SciPy 0.19.0 ([release notes](https://github.com/scipy/scipy/releases/tag/v1.19.0)) -- _2017-03-09_. +- NumPy 1.15.0 ([release notes](https://github.com/numpy/numpy/releases/tag/v1.15.0)) -- _2018-07-23_. +- NumPy 1.15.0rc2 ([release notes](https://github.com/numpy/numpy/releases/tag/v1.15.0rc2)) -- _2018-07-09_. +- NumPy 1.15.0rc1 ([release notes](https://github.com/numpy/numpy/releases/tag/v1.15.0rc1)) -- _2018-06-21_. +- NumPy 1.14.5 ([release notes](https://github.com/numpy/numpy/releases/tag/v1.14.5)) -- _2018-06-12_. +- NumPy 1.14.4 ([release notes](https://github.com/numpy/numpy/releases/tag/v1.14.4)) -- _2018-06-06_. +- SciPy 1.1.0 ([release notes](https://github.com/scipy/scipy/releases/tag/v1.1.0)) -- _2018-05-05_. +- NumPy 1.14.3 ([release notes](https://github.com/numpy/numpy/releases/tag/v1.14.3)) -- _2018-04-28_. +- NumPy 1.14.2 ([release notes](https://github.com/numpy/numpy/releases/tag/v1.14.2)) -- _2018-03-12_. +- NumPy 1.14.1 ([release notes](https://github.com/numpy/numpy/releases/tag/v1.14.1)) -- _2018-02-20_. +- NumPy 1.14.0 ([release notes](https://github.com/numpy/numpy/releases/tag/v1.14.0)) -- _2018-01-06_. +- NumPy 1.14.0rc1 ([release notes](https://github.com/numpy/numpy/releases/tag/v1.14.0rc1)) -- _2017-12-13_. +- SciPy 1.0.0 ([release notes](https://github.com/scipy/scipy/releases/tag/v1.0.0)) -- _2017-10-25_. +- NumPy 1.13.3 ([release notes](https://github.com/numpy/numpy/releases/tag/v1.13.3)) -- _2017-09-29_. +- NumPy 1.13.2 ([release notes](https://github.com/numpy/numpy/releases/tag/v1.13.2)) -- _2017-09-27_. +- NumPy 1.13.1 ([release notes](https://github.com/numpy/numpy/releases/tag/v1.13.1)) -- _2017-07-06_. +- NumPy 1.13.0 ([release notes](https://github.com/numpy/numpy/releases/tag/v1.13.0)) -- _2017-06-07_. +- NumPy 1.12.1 ([release notes](https://github.com/numpy/numpy/releases/tag/v1.12.1)) -- _2017-03-18_. +- NumPy 1.12.0 ([release notes](https://github.com/numpy/numpy/releases/tag/v1.12.0)) -- _2017-01-15_. +- NumPy 1.11.3 ([release notes](https://github.com/numpy/numpy/releases/tag/v1.11.3)) -- _2016-12-18_. +- SciPy 0.18.1 ([release notes](https://github.com/scipy/scipy/releases/tag/v0.18.1)) -- _2016-09-19_. +- SciPy 0.18.0 ([release notes](https://github.com/scipy/scipy/releases/tag/v0.18.0)) -- _2016-07-25_. +- SciPy 0.17.1 ([release notes](https://github.com/scipy/scipy/releases/tag/v0.17.1)) -- _2016-05-12_. +- SciPy 0.17.0 ([release notes](https://github.com/scipy/scipy/releases/tag/v0.17.0)) -- _2016-01-23_. +- SciPy 0.16.1 ([release notes](https://github.com/scipy/scipy/releases/tag/v0.16.1)) -- _2015-10-24_. +- NumPy 1.13.0rc2 ([release notes](https://github.com/numpy/numpy/releases/tag/v1.13.0rc2)) -- _2017-05-18_. +- NumPy 1.13.0rc1 ([release notes](https://github.com/numpy/numpy/releases/tag/v1.13.0rc1)) -- _2017-05-10_. +- NumPy 1.12.1rc1 ([release notes](https://github.com/numpy/numpy/releases/tag/v1.12.1rc1)) -- _2017-03-06_. +- NumPy 1.12.0rc2 ([release notes](https://github.com/numpy/numpy/releases/tag/v1.12.0rc2)) -- _2017-01-01_. +- NumPy 1.12.0rc1 ([release notes](https://github.com/numpy/numpy/releases/tag/v1.12.0rc1)) -- _2016-12-19_. +- NumPy 1.12.0b1 ([release notes](https://github.com/numpy/numpy/releases/tag/v1.12.0b1)) -- _2016-11-16_. +- NumPy 1.11.2 ([release notes](https://github.com/numpy/numpy/releases/tag/v1.11.2)) -- _2016-10-03_. +- NumPy 1.11.1 ([release notes](https://github.com/numpy/numpy/releases/tag/v1.11.1)) -- _2016-06-26_. +- NumPy 1.11.0 ([release notes](https://github.com/numpy/numpy/releases/tag/v1.11.0)) -- _2016-03-27_. +- NumPy 1.10.4 ([release notes](https://github.com/numpy/numpy/releases/tag/v1.10.4)) -- _2016-01-07_. +- NumPy 1.10.2 ([release notes](https://github.com/numpy/numpy/releases/tag/v1.10.2)) -- _2015-12-14_. +- SciPy 0.16.0 ([release notes](https://github.com/scipy/scipy/releases/tag/v0.16.0)) -- _2015-07-23_. +- NumPy 1.9.2 ([release notes](https://github.com/numpy/numpy/releases/tag/v1.9.2)) -- _2015-03-01_. +- SciPy 0.15.1 ([release notes](https://github.com/scipy/scipy/releases/tag/v0.15.1)) -- _2015-01-18_. +- SciPy 0.15.0 ([release notes](https://github.com/scipy/scipy/releases/tag/v0.15.0)) -- _2015-01-11_. +- SciPy 0.14.1 ([release notes](https://github.com/scipy/scipy/releases/tag/v0.14.1)) -- _2014-12-30_. +- NumPy 1.9.1 ([release notes](https://github.com/numpy/numpy/releases/tag/v1.9.1)) -- _2014-11-02_. +- NumPy 1.9.0 ([release notes](https://github.com/numpy/numpy/releases/tag/v1.9.0)) -- _2014-09-07_. +- NumPy 1.8.2 ([release notes](https://github.com/numpy/numpy/releases/tag/v1.8.2)) -- _2014-08-09_. +- SciPy 0.14.0 ([release notes](https://github.com/scipy/scipy/releases/tag/v0.14.0)) -- _2014-05-03_. +- NumPy 1.8.1 ([release notes](https://github.com/numpy/numpy/releases/tag/v1.8.1)) -- _2014-03-26_. +- SciPy 0.13.3 ([release notes](https://github.com/scipy/scipy/releases/tag/v0.13.3)) -- _2014-02-04_. +- NumPy 1.7.2 ([release notes](https://github.com/numpy/numpy/releases/tag/v1.7.2)) -- _2013-12-31_. +- SciPy 0.13.2 ([release notes](https://github.com/scipy/scipy/releases/tag/v0.13.2)) -- _2013-12-08_. +- NumPy 1.7.2rc1 ([release notes](https://github.com/numpy/numpy/releases/tag/v1.7.2rc1)) -- _2013-11-03_. +- NumPy 1.8.0 ([release notes](https://github.com/numpy/numpy/releases/tag/v1.8.0)) -- _2013-10-30_. +- SciPy 0.12.0 ([release notes](https://github.com/scipy/scipy/releases/tag/v0.12.0)) -- _2013-04-07_. +- NumPy 1.7.0 ([release notes](https://github.com/numpy/numpy/releases/tag/v1.7.0)) -- _2013-02-10_. +- SciPy 0.11.0 ([release notes](https://github.com/scipy/scipy/releases/tag/v0.11.0))-- _2012-09-25_. +- NumPy 1.6.2 ([release notes](https://github.com/numpy/numpy/releases/tag/v1.6.2)) -- _2012-05-20_. diff --git a/content/en/press-kit.md b/content/en/press-kit.md new file mode 100644 index 00000000..73fa3972 --- /dev/null +++ b/content/en/press-kit.md @@ -0,0 +1,8 @@ +--- +title: Press Kit +sidebar: false +--- + +We would like to make it easy for you to include the SciPy project identity in your next academic paper, course materials, or presentation. + +You will find several high-resolution versions of the SciPy logo [here](https://github.com/scipy/scipy/tree/main/branding/logo). Note that by using the scipy.org resources, you accept the [SciPy Code of Conduct](/code-of-conduct). diff --git a/content/en/privacy.md b/content/en/privacy.md new file mode 100644 index 00000000..cfb4d57b --- /dev/null +++ b/content/en/privacy.md @@ -0,0 +1,8 @@ +--- +title: Privacy Policy +sidebar: false +--- + +**scipy.org** is operated by [NumFOCUS, Inc.](https://numfocus.org), the fiscal sponsor of the SciPy project. For the Privacy Policy of this website please refer to https://numfocus.org/privacy-policy. + +If you have any questions about the policy or NumFOCUS’s data collection, use, and disclosure practices, please contact the NumFOCUS staff at privacy@numfocus.org. diff --git a/content/en/terms.md b/content/en/terms.md new file mode 100644 index 00000000..c951ba8f --- /dev/null +++ b/content/en/terms.md @@ -0,0 +1,179 @@ +--- +title: Terms of Use +sidebar: false +--- + +*Last updated September 18, 2021* + + +# AGREEMENT TO TERMS + +These Terms of Use constitute a legally binding agreement made between you, whether personally or on behalf of an entity (“you”) and SciPy ("**Project**", “**we**”, “**us**”, or “**our**”), concerning your access to and use of the scipy.org website as well as any other media form, media channel, mobile website or mobile application related, linked, or otherwise connected thereto (collectively, the “Site”). You agree that by accessing the Site, you have read, understood, and agreed to be bound by all of these Terms of Use. IF YOU DO NOT AGREE WITH ALL OF THESE TERMS OF USE, THEN YOU ARE EXPRESSLY PROHIBITED FROM USING THE SITE AND YOU MUST DISCONTINUE USE IMMEDIATELY. + + + +Supplemental terms and conditions or documents that may be posted on the Site from time to time are hereby expressly incorporated herein by reference. We reserve the right, in our sole discretion, to make changes or modifications to these Terms of Use at any time and for any reason. We will alert you about any changes by updating the “Last updated” date of these Terms of Use, and you waive any right to receive specific notice of each such change. It is your responsibility to periodically review these Terms of Use to stay informed of updates. You will be subject to, and will be deemed to have been made aware of and to have accepted, the changes in any revised Terms of Use by your continued use of the Site after the date such revised Terms of Use are posted. + + + +The information provided on the Site is not intended for distribution to or use by any person or entity in any jurisdiction or country where such distribution or use would be contrary to law or regulation or which would subject us to any registration requirement within such jurisdiction or country. Accordingly, those persons who choose to access the Site from other locations do so on their own initiative and are solely responsible for compliance with local laws, if and to the extent local laws are applicable. + + +# USER REPRESENTATIONS + +By using the Site, you represent and warrant that: (1) you have the legal capacity and you agree to comply with these Terms of Use; (2) you will not use the Site for any illegal or unauthorized purpose; and (3) your use of the Site will not violate any applicable law or regulation. + + +If you provide any information that is untrue, inaccurate, not current, or incomplete, we have the right to refuse any and all current or future use of the Site (or any portion thereof). + + +# PROHIBITED ACTIVITIES + +You may not access or use the Site for any purpose other than that for which we make the Site available. + +As a user of the Site, you agree not to: + +1. Systematically retrieve data or other content from the Site to create or compile, directly or indirectly, a collection, compilation, database, or directory without written permission from us. + +2. Make any unauthorized use of the Site, including collecting usernames and/or email addresses of users by electronic or other means for the purpose of sending unsolicited email, or creating user accounts by automated means or under false pretenses. + +3. Use the Site to advertise or offer to sell goods and services. + +4. Circumvent, disable, or otherwise interfere with security-related features of the Site. + +5. Engage in unauthorized framing of or linking to the Site. + +6. Trick, defraud, or mislead us and other users, especially in any attempt to learn sensitive account information such as user passwords. + +7. Make improper use of our support services or submit false reports of abuse or misconduct. + +8. Engage in any automated use of the system, such as using scripts to send comments or messages, or using any data mining, robots, or similar data gathering and extraction tools. + +9. Interfere with, disrupt, or create an undue burden on the Site or the networks or services connected to the Site. + +10. Attempt to impersonate another user or person or use the username of another user. + +11. Use any information obtained from the Site in order to harass, abuse, or harm another person. + +12. Disparage, tarnish, or otherwise harm, in our opinion, us and/or the Site. + +13. Except as may be the result of standard search engine or Internet browser usage, use, launch, develop, or distribute any automated system, including without limitation, any spider, robot, cheat utility, scraper, or offline reader that accesses the Site, or using or launching any unauthorized script or other software. + +14. Upload or transmit (or attempt to upload or to transmit) any material that acts as a passive or active information collection or transmission mechanism, including without limitation, clear graphics interchange formats (“gifs”), 1×1 pixels, web bugs, cookies, or other similar devices (sometimes referred to as “spyware” or “passive collection mechanisms” or “pcms”). + +15. Upload or transmit (or attempt to upload or to transmit) viruses, Trojan horses, or other material, including excessive use of capital letters and spamming (continuous posting of repetitive text), that interferes with any party’s uninterrupted use and enjoyment of the Site or modifies, impairs, disrupts, alters, or interferes with the use, features, functions, operation, or maintenance of the Site. + +16. Harass, annoy, intimidate, or threaten any of our employees or agents engaged in providing any portion of the Site to you. + +17. Attempt to bypass any measures of the Site designed to prevent or restrict access to the Site, or any portion of the Site. + + +# SUBMISSIONS + +You acknowledge and agree that any questions, comments, suggestions, ideas, feedback, or other information regarding the Site ("Submissions") provided by you to us are non-confidential and shall become our sole property. We shall own exclusive rights, including all intellectual property rights, and shall be entitled to the unrestricted use and dissemination of these Submissions for any lawful purpose, commercial or otherwise, without acknowledgment or compensation to you. You hereby waive all moral rights to any such Submissions, and you hereby warrant that any such Submissions are original with you or that you have the right to submit such Submissions. You agree there shall be no recourse against us for any alleged or actual infringement or misappropriation of any proprietary right in your Submissions. + +# THIRD-PARTY WEBSITES AND CONTENT + +The Site may contain (or you may be sent via the Site) links to other websites ("Third-Party Websites") as well as articles, photographs, text, graphics, pictures, designs, music, sound, video, information, applications, software, and other content or items belonging to or originating from third parties ("Third-Party Content"). Such Third-Party Websites and Third-Party Content are not investigated, monitored, or checked for accuracy, appropriateness, or completeness by us, and we are not responsible for any Third-Party Websites accessed through the Site or any Third-Party Content posted on, available through, or installed from the Site, including the content, accuracy, offensiveness, opinions, reliability, privacy practices, or other policies of or contained in the Third-Party Websites or the Third-Party Content. Inclusion of, linking to, or permitting the use or installation of any Third-Party Websites or any Third-Party Content does not imply approval or endorsement thereof by us. If you decide to leave the Site and access the Third-Party Websites or to use or install any Third-Party Content, you do so at your own risk, and you should be aware these Terms of Use no longer govern. You should review the applicable terms and policies, including privacy and data gathering practices, of any website to which you navigate from the Site or relating to any applications you use or install from the Site. Any purchases you make through Third-Party Websites will be through other websites and from other companies, and we take no responsibility whatsoever in relation to such purchases which are exclusively between you and the applicable third party. You agree and acknowledge that we do not endorse the products or services offered on Third-Party Websites and you shall hold us harmless from any harm caused by your purchase of such products or services. Additionally, you shall hold us harmless from any losses sustained by you or harm caused to you relating to or resulting in any way from any Third-Party Content or any contact with Third-Party Websites. + + +# SITE MANAGEMENT + +We reserve the right, but not the obligation, to: (1) monitor the Site for violations of these Terms of Use; (2) take appropriate legal action against anyone who, in our sole discretion, violates the law or these Terms of Use, including without limitation, reporting such user to law enforcement authorities; (3) in our sole discretion and without limitation, refuse, restrict access to, limit the availability of, or disable (to the extent technologically feasible) any of your Contributions or any portion thereof; (4) in our sole discretion and without limitation, notice, or liability, to remove from the Site or otherwise disable all files and content that are excessive in size or are in any way burdensome to our systems; and (5) otherwise manage the Site in a manner designed to protect our rights and property and to facilitate the proper functioning of the Site. + + +# PRIVACY POLICY + +We care about data privacy and security. Please review our [Privacy Policy](/privacy). By using the Site, you agree to be bound by our Privacy Policy, which is incorporated into these Terms of Use. Please be advised the Site is hosted in the United States. If you access the Site from the European Union, Asia, or any other region of the world with laws or other requirements governing personal data collection, use, or disclosure that differ from applicable laws in the United States, then through your continued use of the Site, you are transferring your data to the United States, and you expressly consent to have your data transferred to and processed in the United States. Further, we do not knowingly accept, request, or solicit information from children or knowingly market to children. Therefore, in accordance with the U.S. Children’s Online Privacy Protection Act, if we receive actual knowledge that anyone under the age of 13 has provided personal information to us without the requisite and verifiable parental consent, we will delete that information from the Site as quickly as is reasonably practical. + +# TERM AND TERMINATION + +These Terms of Use shall remain in full force and effect while you use the Site. WITHOUT LIMITING ANY OTHER PROVISION OF THESE TERMS OF USE, WE RESERVE THE RIGHT TO, IN OUR SOLE DISCRETION AND WITHOUT NOTICE OR LIABILITY, DENY ACCESS TO AND USE OF THE SITE (INCLUDING BLOCKING CERTAIN IP ADDRESSES), TO ANY PERSON FOR ANY REASON OR FOR NO REASON, INCLUDING WITHOUT LIMITATION FOR BREACH OF ANY REPRESENTATION, WARRANTY, OR COVENANT CONTAINED IN THESE TERMS OF USE OR OF ANY APPLICABLE LAW OR REGULATION. WE MAY TERMINATE YOUR USE OR PARTICIPATION IN THE SITE OR DELETE ANY CONTENT OR INFORMATION THAT YOU POSTED AT ANY TIME, WITHOUT WARNING, IN OUR SOLE DISCRETION. + + +# MODIFICATIONS AND INTERRUPTIONS + +We reserve the right to change, modify, or remove the contents of the Site at any time or for any reason at our sole discretion without notice. However, we have no obligation to update any information on our Site. We also reserve the right to modify or discontinue all or part of the Site without notice at any time. We will not be liable to you or any third party for any modification, suspension, or discontinuance of the Site. + +We cannot guarantee the Site will be available at all times. We may experience hardware, software, or other problems or need to perform maintenance related to the Site, resulting in interruptions, delays, or errors. We reserve the right to change, revise, update, suspend, discontinue, or otherwise modify the Site at any time or for any reason without notice to you. You agree that we have no liability whatsoever for any loss, damage, or inconvenience caused by your inability to access or use the Site during any downtime or discontinuance of the Site. Nothing in these Terms of Use will be construed to obligate us to maintain and support the Site or to supply any corrections, updates, or releases in connection therewith. + + +# GOVERNING LAW + +These Terms of Use and your use of the Site are governed by and construed in accordance with the laws of the State of Texas applicable to agreements made and to be entirely performed within the State of Texas, without regard to its conflict of law principles. + + +# DISPUTE RESOLUTION + +## Informal Negotiations + +To expedite resolution and control the cost of any dispute, controversy, or claim related to these Terms of Use (each a "Dispute" and collectively, the “Disputes”) brought by either you or us (individually, a “Party” and collectively, the “Parties”), the Parties agree to first attempt to negotiate any Dispute (except those Disputes expressly provided below) informally for at least thirty (30) days before initiating arbitration. Such informal negotiations commence upon written notice from one Party to the other Party. + + +## Binding Arbitration + +If the Parties are unable to resolve a Dispute through informal negotiations, the Dispute (except those Disputes expressly excluded below) will be finally and exclusively resolved by binding arbitration. YOU UNDERSTAND THAT WITHOUT THIS PROVISION, YOU WOULD HAVE THE RIGHT TO SUE IN COURT AND HAVE A JURY TRIAL. The arbitration shall be commenced and conducted under the Commercial Arbitration Rules of the American Arbitration Association ("AAA") and, where appropriate, the AAA’s Supplementary Procedures for Consumer Related Disputes ("AAA Consumer Rules"), both of which are available at the AAA website www.adr.org. Your arbitration fees and your share of arbitrator compensation shall be governed by the AAA Consumer Rules and, where appropriate, limited by the AAA Consumer Rules. If such costs are determined to by the arbitrator to be excessive, we will pay all arbitration fees and expenses. The arbitration may be conducted in person, through the submission of documents, by phone, or online. The arbitrator will make a decision in writing, but need not provide a statement of reasons unless requested by either Party. The arbitrator must follow applicable law, and any award may be challenged if the arbitrator fails to do so. Except where otherwise required by the applicable AAA rules or applicable law, the arbitration will take place in Travis County, Texas. Except as otherwise provided herein, the Parties may litigate in court to compel arbitration, stay proceedings pending arbitration, or to confirm, modify, vacate, or enter judgment on the award entered by the arbitrator. + +If for any reason, a Dispute proceeds in court rather than arbitration, the Dispute shall be commenced or prosecuted in the state and federal courts located in Travis County, Texas, and the Parties hereby consent to, and waive all defenses of lack of personal jurisdiction, and forum non conveniens with respect to venue and jurisdiction in such state and federal courts. Application of the United Nations Convention on Contracts for the International Sale of Goods and the the Uniform Computer Information Transaction Act (UCITA) are excluded from these Terms of Use. + +In no event shall any Dispute brought by either Party related in any way to the Site be commenced more than one (1) years after the cause of action arose. If this provision is found to be illegal or unenforceable, then neither Party will elect to arbitrate any Dispute falling within that portion of this provision found to be illegal or unenforceable and such Dispute shall be decided by a court of competent jurisdiction within the courts listed for jurisdiction above, and the Parties agree to submit to the personal jurisdiction of that court. + + +## Restrictions + +The Parties agree that any arbitration shall be limited to the Dispute between the Parties individually. To the full extent permitted by law, (a) no arbitration shall be joined with any other proceeding; (b) there is no right or authority for any Dispute to be arbitrated on a class-action basis or to utilize class action procedures; and (c) there is no right or authority for any Dispute to be brought in a purported representative capacity on behalf of the general public or any other persons. + + +## Exceptions to Informal Negotiations and Arbitration + +The Parties agree that the following Disputes are not subject to the above provisions concerning informal negotiations and binding arbitration: (a) any Disputes seeking to enforce or protect, or concerning the validity of, any of the intellectual property rights of a Party; (b) any Dispute related to, or arising from, allegations of theft, piracy, invasion of privacy, or unauthorized use; and (c) any claim for injunctive relief. If this provision is found to be illegal or unenforceable, then neither Party will elect to arbitrate any Dispute falling within that portion of this provision found to be illegal or unenforceable and such Dispute shall be decided by a court of competent jurisdiction within the courts listed for jurisdiction above, and the Parties agree to submit to the personal jurisdiction of that court. + + +# CORRECTIONS + +There may be information on the Site that contains typographical errors, inaccuracies, or omissions. We reserve the right to correct any errors, inaccuracies, or omissions and to change or update the information on the Site at any time, without prior notice. + + +# DISCLAIMER + +THE SITE IS PROVIDED ON AN AS-IS AND AS-AVAILABLE BASIS. YOU AGREE THAT YOUR USE OF THE SITE AND OUR SERVICES WILL BE AT YOUR SOLE RISK. TO THE FULLEST EXTENT PERMITTED BY LAW, WE DISCLAIM ALL WARRANTIES, EXPRESS OR IMPLIED, IN CONNECTION WITH THE SITE AND YOUR USE THEREOF, INCLUDING, WITHOUT LIMITATION, THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, AND NON-INFRINGEMENT. WE MAKE NO WARRANTIES OR REPRESENTATIONS ABOUT THE ACCURACY OR COMPLETENESS OF THE SITE’S CONTENT OR THE CONTENT OF ANY WEBSITES LINKED TO THE SITE AND WE WILL ASSUME NO LIABILITY OR RESPONSIBILITY FOR ANY (1) ERRORS, MISTAKES, OR INACCURACIES OF CONTENT AND MATERIALS, (2) PERSONAL INJURY OR PROPERTY DAMAGE, OF ANY NATURE WHATSOEVER, RESULTING FROM YOUR ACCESS TO AND USE OF THE SITE, (3) ANY UNAUTHORIZED ACCESS TO OR USE OF OUR SECURE SERVERS AND/OR ANY AND ALL PERSONAL INFORMATION AND/OR FINANCIAL INFORMATION STORED THEREIN, (4) ANY INTERRUPTION OR CESSATION OF TRANSMISSION TO OR FROM THE SITE, (5) ANY BUGS, VIRUSES, TROJAN HORSES, OR THE LIKE WHICH MAY BE TRANSMITTED TO OR THROUGH THE SITE BY ANY THIRD PARTY, AND/OR (6) ANY ERRORS OR OMISSIONS IN ANY CONTENT AND MATERIALS OR FOR ANY LOSS OR DAMAGE OF ANY KIND INCURRED AS A RESULT OF THE USE OF ANY CONTENT POSTED, TRANSMITTED, OR OTHERWISE MADE AVAILABLE VIA THE SITE. WE DO NOT WARRANT, ENDORSE, GUARANTEE, OR ASSUME RESPONSIBILITY FOR ANY PRODUCT OR SERVICE ADVERTISED OR OFFERED BY A THIRD PARTY THROUGH THE SITE, ANY HYPERLINKED WEBSITE, OR ANY WEBSITE OR MOBILE APPLICATION FEATURED IN ANY BANNER OR OTHER ADVERTISING, AND WE WILL NOT BE A PARTY TO OR IN ANY WAY BE RESPONSIBLE FOR MONITORING ANY TRANSACTION BETWEEN YOU AND ANY THIRD-PARTY PROVIDERS OF PRODUCTS OR SERVICES. AS WITH THE PURCHASE OF A PRODUCT OR SERVICE THROUGH ANY MEDIUM OR IN ANY ENVIRONMENT, YOU SHOULD USE YOUR BEST JUDGMENT AND EXERCISE CAUTION WHERE APPROPRIATE. + + +# LIMITATIONS OF LIABILITY + +IN NO EVENT WILL WE OR OUR DIRECTORS, EMPLOYEES, OR AGENTS BE LIABLE TO YOU OR ANY THIRD PARTY FOR ANY DIRECT, INDIRECT, CONSEQUENTIAL, EXEMPLARY, INCIDENTAL, SPECIAL, OR PUNITIVE DAMAGES, INCLUDING LOST PROFIT, LOST REVENUE, LOSS OF DATA, OR OTHER DAMAGES ARISING FROM YOUR USE OF THE SITE, EVEN IF WE HAVE BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. NOTWITHSTANDING ANYTHING TO THE CONTRARY CONTAINED HEREIN, OUR LIABILITY TO YOU FOR ANY CAUSE WHATSOEVER AND REGARDLESS OF THE FORM OF THE ACTION, WILL AT ALL TIMES BE LIMITED TO THE AMOUNT PAID, IF ANY, BY YOU TO US DURING THE SIX (6) MONTH PERIOD PRIOR TO ANY CAUSE OF ACTION ARISING. CERTAIN STATE LAWS DO NOT ALLOW LIMITATIONS ON IMPLIED WARRANTIES OR THE EXCLUSION OR LIMITATION OF CERTAIN DAMAGES. IF THESE LAWS APPLY TO YOU, SOME OR ALL OF THE ABOVE DISCLAIMERS OR LIMITATIONS MAY NOT APPLY TO YOU, AND YOU MAY HAVE ADDITIONAL RIGHTS. + + +# INDEMNIFICATION + +You agree to defend, indemnify, and hold us harmless, including our subsidiaries, affiliates, and all of our respective officers, agents, partners, and employees, from and against any loss, damage, liability, claim, or demand, including reasonable attorneys’ fees and expenses, made by any third party due to or arising out of: (1) use of the Site; (2) breach of these Terms of Use; (3) any breach of your representations and warranties set forth in these Terms of Use; (4) your violation of the rights of a third party, including but not limited to intellectual property rights; or (5) any overt harmful act toward any other user of the Site with whom you connected via the Site. Notwithstanding the foregoing, we reserve the right, at your expense, to assume the exclusive defense and control of any matter for which you are required to indemnify us, and you agree to cooperate, at your expense, with our defense of such claims. We will use reasonable efforts to notify you of any such claim, action, or proceeding which is subject to this indemnification upon becoming aware of it. + + +# USER DATA + +We will maintain certain data that you transmit to the Site for the purpose of managing the performance of the Site, as well as data relating to your use of the Site. Although we perform regular routine backups of data, you are solely responsible for all data that you transmit or that relates to any activity you have undertaken using the Site. You agree that we shall have no liability to you for any loss or corruption of any such data, and you hereby waive any right of action against us arising from any such loss or corruption of such data. + + +# ELECTRONIC COMMUNICATIONS, TRANSACTIONS, AND SIGNATURES + +Visiting the Site, sending us emails, and completing online forms constitute electronic communications. You consent to receive electronic communications, and you agree that all agreements, notices, disclosures, and other communications we provide to you electronically, via email and on the Site, satisfy any legal requirement that such communication be in writing. YOU HEREBY AGREE TO THE USE OF ELECTRONIC SIGNATURES, CONTRACTS, ORDERS, AND OTHER RECORDS, AND TO ELECTRONIC DELIVERY OF NOTICES, POLICIES, AND RECORDS OF TRANSACTIONS INITIATED OR COMPLETED BY US OR VIA THE SITE. You hereby waive any rights or requirements under any statutes, regulations, rules, ordinances, or other laws in any jurisdiction which require an original signature or delivery or retention of non-electronic records, or to payments or the granting of credits by any means other than electronic means. + + +# CALIFORNIA USERS AND RESIDENTS + +If any complaint with us is not satisfactorily resolved, you can contact the Complaint Assistance Unit of the Division of Consumer Services of the California Department of Consumer Affairs in writing at 1625 North Market Blvd., Suite N 112, Sacramento, California 95834 or by telephone at (800) 952-5210 or (916) 445-1254. + + +# MISCELLANEOUS + +These Terms of Use and any policies or operating rules posted by us on the Site or in respect to the Site constitute the entire agreement and understanding between you and us. Our failure to exercise or enforce any right or provision of these Terms of Use shall not operate as a waiver of such right or provision. These Terms of Use operate to the fullest extent permissible by law. We may assign any or all of our rights and obligations to others at any time. We shall not be responsible or liable for any loss, damage, delay, or failure to act caused by any cause beyond our reasonable control. If any provision or part of a provision of these Terms of Use is determined to be unlawful, void, or unenforceable, that provision or part of the provision is deemed severable from these Terms of Use and does not affect the validity and enforceability of any remaining provisions. There is no joint venture, partnership, employment or agency relationship created between you and us as a result of these Terms of Use or use of the Site. You agree that these Terms of Use will not be construed against us by virtue of having drafted them. You hereby waive any and all defenses you may have based on the electronic form of these Terms of Use and the lack of signing by the parties hereto to execute these Terms of Use. + +# CONTACT US + +In order to resolve a complaint regarding the Site or to receive further information regarding use of the Site, please contact us at: + +NumFOCUS, Inc. +
P.O. Box 90596 +
Austin, TX, USA 78709 +
info@numfocus.org +
+1 (512) 222-5449 diff --git a/www/getting-started-example.py b/content/getting-started-example.py similarity index 100% rename from www/getting-started-example.py rename to content/getting-started-example.py diff --git a/www/getting-started-plot.png b/content/getting-started-plot.png similarity index 100% rename from www/getting-started-plot.png rename to content/getting-started-plot.png diff --git a/netlify.toml b/netlify.toml new file mode 100644 index 00000000..1493c1f7 --- /dev/null +++ b/netlify.toml @@ -0,0 +1,2 @@ +[context.production.environment] + HUGO_VERSION = "0.88.1" diff --git a/scipy-sphinx-theme b/scipy-sphinx-theme deleted file mode 160000 index 59c27fdd..00000000 --- a/scipy-sphinx-theme +++ /dev/null @@ -1 +0,0 @@ -Subproject commit 59c27fdde3ec4c78eb93b5e375d203ec5707382a diff --git a/static/images/favicon.ico b/static/images/favicon.ico new file mode 100644 index 00000000..fa4b3ed8 Binary files /dev/null and b/static/images/favicon.ico differ diff --git a/static/images/logo.svg b/static/images/logo.svg new file mode 100644 index 00000000..78df03c9 --- /dev/null +++ b/static/images/logo.svg @@ -0,0 +1,137 @@ + + + + + + + + + diff --git a/themes/scientific-python-hugo-theme b/themes/scientific-python-hugo-theme new file mode 160000 index 00000000..dbb45504 --- /dev/null +++ b/themes/scientific-python-hugo-theme @@ -0,0 +1 @@ +Subproject commit dbb45504b801292cb2cdd3fe2aff76f04bba605a diff --git a/www/.htaccess b/www/.htaccess deleted file mode 100644 index c2dc6bd0..00000000 --- a/www/.htaccess +++ /dev/null @@ -1,28 +0,0 @@ -RewriteEngine on - -# Redirects to the old site, now at wiki.scipy.org -#RewriteRule ^(EuroScipy|History_of_SciPy|License_Compatibility|MlabWrap|PerformanceTips|PyLab|Scipy200|SubmillisecondPulsar) \ -# http://wiki.scipy.org%{REQUEST_URI} [R] - -# Redirect moved pages -RewriteRule ^(scipylib/building/) https://docs.scipy.org/doc/scipy-dev/reference/building/ [R=permanent] - -# Redirect from scipy.org/doc/* -RewriteRule ^(doc/) http://docs.scipy.org/ [R=permanent] - -# Redirect URLs from the MoinMoin site to their new equivalents -RewriteRule ^(Download|Installing_SciPy) /install.html [R=permanent] -RewriteRule ^(scipy_Example_List) https://docs.scipy.org/doc/scipy/reference/ [R=permanent] -RewriteRule ^(Numpy_Example_List) https://docs.scipy.org/doc/numpy/reference/routines.html [R=permanent] -RewriteRule ^(Numpy_Functions_by_Category) https://docs.scipy.org/doc/numpy/reference/routines.html [R=permanent] -RewriteRule ^(Tentative_NumPy_Tutorial) https://docs.scipy.org/doc/numpy-dev/user/quickstart.html [R=permanent] -RewriteRule ^(Cookbook) http://scipy-cookbook.readthedocs.org/ [R=permanent] -RewriteRule ^(F2Py) https://docs.scipy.org/doc/numpy/f2py/ [R=permanent] -RewriteRule ^(ReleaseNotes) https://docs.scipy.org/ [R=permanent] -RewriteRule ^(Developer_Zone) https://scipy.org/ [R=permanent] -RewriteRule ^(NumPy_for_Matlab_Users) https://docs.scipy.org/doc/numpy-dev/user/numpy-for-matlab-users.html [R=permanent] -RewriteRule ^(Documentation|Additional_Documentation) http://docs.scipy.org/ [R=permanent] -RewriteRule ^FAQ /scipylib/faq.html [R=permanent] -RewriteRule ^Getting_Started /getting-started.html [R=permanent] -RewriteRule ^Mailing_Lists /scipylib/mailing-lists.html [R=permanent] -RewriteRule ^Topical_Software /topical-software.html [R=permanent] diff --git a/www/Makefile b/www/Makefile deleted file mode 100644 index 065a13fe..00000000 --- a/www/Makefile +++ /dev/null @@ -1,44 +0,0 @@ -# Makefile for Sphinx documentation -# - -# You can set these variables from the command line. -SPHINXOPTS = -SPHINXBUILD = sphinx-build -PAPER = - -# Internal variables. -PAPEROPT_a4 = -D latex_paper_size=a4 -PAPEROPT_letter = -D latex_paper_size=letter -ALLSPHINXOPTS = -d _build/doctrees $(PAPEROPT_$(PAPER)) $(SPHINXOPTS) . - -.PHONY: help clean html linkcheck - -USERNAME=rgommers - -help: - @echo "Please use \`make ' where is one of" - @echo " upload USERNAME=user to upload the generated pages to scipy.org" - @echo " html to make standalone HTML files" - @echo " linkcheck to check if external links work" - -clean: - -rm -rf _build/* - -upload: html - # SSH must be correctly configured for this to work. - cp .htaccess _build/html/ - chmod -R a+rX _build/html/ - rsync -og --chown=www-data:www-data --delete-after -r \ - --exclude '.git' _build/html/ \ - $(USERNAME)@scipy.org:/var/www/html - -html: - $(SPHINXBUILD) -b html $(ALLSPHINXOPTS) _build/html - @echo - @echo "Build finished. The HTML pages are in _build/html." - -linkcheck: - $(SPHINXBUILD) -b linkcheck $(ALLSPHINXOPTS) _build/linkcheck - @echo - @echo "Link check complete; look for any errors in the above output " \ - "or in _build/linkcheck/output.txt." diff --git a/www/_static/external-link.png b/www/_static/external-link.png deleted file mode 100644 index 1336004b..00000000 Binary files a/www/_static/external-link.png and /dev/null differ diff --git a/www/_static/favicon.ico b/www/_static/favicon.ico deleted file mode 100644 index d7ae6012..00000000 Binary files a/www/_static/favicon.ico and /dev/null differ diff --git a/www/_static/images/bugs.png b/www/_static/images/bugs.png deleted file mode 100644 index 68810148..00000000 Binary files a/www/_static/images/bugs.png and /dev/null differ diff --git a/www/_static/images/cython-logo.png b/www/_static/images/cython-logo.png deleted file mode 100644 index a1e1f3c4..00000000 Binary files a/www/_static/images/cython-logo.png and /dev/null differ diff --git a/www/_static/images/documentation.png b/www/_static/images/documentation.png deleted file mode 100644 index 7f9a0385..00000000 Binary files a/www/_static/images/documentation.png and /dev/null differ diff --git a/www/_static/images/download.png b/www/_static/images/download.png deleted file mode 100644 index a50baf8a..00000000 Binary files a/www/_static/images/download.png and /dev/null differ diff --git a/www/_static/images/enthought-logo.png b/www/_static/images/enthought-logo.png deleted file mode 100644 index 409db342..00000000 Binary files a/www/_static/images/enthought-logo.png and /dev/null differ diff --git a/www/_static/images/feed-icon.png b/www/_static/images/feed-icon.png deleted file mode 100644 index a1a5d7ef..00000000 Binary files a/www/_static/images/feed-icon.png and /dev/null differ diff --git a/www/_static/images/ipython.png b/www/_static/images/ipython.png deleted file mode 100644 index d47c0af4..00000000 Binary files a/www/_static/images/ipython.png and /dev/null differ diff --git a/www/_static/images/matplotlib_med.png b/www/_static/images/matplotlib_med.png deleted file mode 100644 index 2fa12d67..00000000 Binary files a/www/_static/images/matplotlib_med.png and /dev/null differ diff --git a/www/_static/images/mayavi2.png b/www/_static/images/mayavi2.png deleted file mode 100644 index 1645eca3..00000000 Binary files a/www/_static/images/mayavi2.png and /dev/null differ diff --git a/www/_static/images/numpylogoicon.png b/www/_static/images/numpylogoicon.png deleted file mode 100644 index 4d663fe0..00000000 Binary files a/www/_static/images/numpylogoicon.png and /dev/null differ diff --git a/www/_static/images/pandas_badge2.jpg b/www/_static/images/pandas_badge2.jpg deleted file mode 100644 index dbbd3004..00000000 Binary files a/www/_static/images/pandas_badge2.jpg and /dev/null differ diff --git a/www/_static/images/scipy_med.png b/www/_static/images/scipy_med.png deleted file mode 100644 index 98731075..00000000 Binary files a/www/_static/images/scipy_med.png and /dev/null differ diff --git a/www/_static/images/scipycentral.png b/www/_static/images/scipycentral.png deleted file mode 100644 index a66e5757..00000000 Binary files a/www/_static/images/scipycentral.png and /dev/null differ diff --git a/www/_static/images/sympy_logo.png b/www/_static/images/sympy_logo.png deleted file mode 100644 index 1da4fdcb..00000000 Binary files a/www/_static/images/sympy_logo.png and /dev/null differ diff --git a/www/_static/images/tutorial.png b/www/_static/images/tutorial.png deleted file mode 100644 index 23995e73..00000000 Binary files a/www/_static/images/tutorial.png and /dev/null differ diff --git a/www/_static/logo.png b/www/_static/logo.png deleted file mode 100644 index a45cbe09..00000000 Binary files a/www/_static/logo.png and /dev/null differ diff --git a/www/_static/numfocus-logo-small.png b/www/_static/numfocus-logo-small.png deleted file mode 100644 index 75006338..00000000 Binary files a/www/_static/numfocus-logo-small.png and /dev/null differ diff --git a/www/_static/scipy-org.css b/www/_static/scipy-org.css deleted file mode 100644 index 5aea48c4..00000000 --- a/www/_static/scipy-org.css +++ /dev/null @@ -1,87 +0,0 @@ - -.news { - margin-top: 20px; -} - -.news dt { - float: left; - width: 180px; - clear: left; - text-align: right; - overflow: hidden; - text-overflow: ellipsis; - white-space: nowrap; -} - -.news dd { - margin-left: 200px; - min-height: 30px; -} - -.news-date { - display: block; - font-size: 11px; - font-weight: normal; -} - -.news-date:before { - content: "("; -} - -.news-date:after { - content: ")"; -} - -ul.packageicons { - margin-left: 20px !important; - margin-top: 20px; -} - -.packageicons li { - margin-left: 0px !important; - min-width: 220px; -} - -.packageicons div.img { - display: block; - height: 80px; -} - -.packageicons div.img-label { - display: block; - margin-left: 80px; -} - -.packageicons .thumbnail { - height: 80px; - margin-right: 10px; - border: none; - box-shadow: none; -} - -.topnavicons { - margin-left: 10% !important; -} - -.topnavicons li { - margin-left: 0px !important; - min-width: 100px; - text-align: center; -} - -.topnavicons .thumbnail { - margin-right: 10px; - border: none; - box-shadow: none; - text-align: center; - font-size: 85%; - font-weight: bold; - line-height: 10px; - height: 100px; -} - -.topnavicons .thumbnail img { - display: block; - margin-left: auto; - margin-right: auto; -} diff --git a/www/_templates/layout.html b/www/_templates/layout.html deleted file mode 100644 index 27247fb3..00000000 --- a/www/_templates/layout.html +++ /dev/null @@ -1,28 +0,0 @@ -{% extends "!layout.html" %} - -{% set css_files = css_files + [pathto("_static/scipy-org.css", 1)] %} - -{% block header %} - -
-
- - SciPy -
-
-{% endblock %} - -{% block navbar %} -{% if pagename != 'index' %} -{{ super() }} -{% endif %} -{% endblock %} diff --git a/www/_templates/searchbox.html b/www/_templates/searchbox.html deleted file mode 100644 index 1a24b9b8..00000000 --- a/www/_templates/searchbox.html +++ /dev/null @@ -1,9 +0,0 @@ -

{{ _('Search') }}

- diff --git a/www/_templates/sitenav.html b/www/_templates/sitenav.html deleted file mode 100644 index a9c40091..00000000 --- a/www/_templates/sitenav.html +++ /dev/null @@ -1,93 +0,0 @@ -{% block sitenav %} - - - -{% if not pagename.startswith('scipylib/') -%} - - - -{% endif %} - -{% if pagename.startswith('scipylib/') -%} - -{% endif %} - -{% endblock %} diff --git a/www/about.rst b/www/about.rst deleted file mode 100644 index d13e99e4..00000000 --- a/www/about.rst +++ /dev/null @@ -1,99 +0,0 @@ -.. _content: - -Scientific computing tools for Python -===================================== - -.. toctree:: - :hidden: - - stackspec - -SciPy refers to several related but distinct entities: - -* The *SciPy ecosystem*, a collection of open source software for scientific - computing in Python. -* The *community* of people who use and develop this stack. -* Several *conferences* dedicated to scientific computing in Python - SciPy, - EuroSciPy, and SciPy.in. -* The :doc:`SciPy library `, one component of the SciPy stack, - providing many numerical routines. - -The SciPy ecosystem -------------------- - -Scientific computing in Python builds upon a small core of packages: - -* Python_, a general purpose programming language. It is interpreted and - dynamically typed and is very well suited for interactive work and quick - prototyping, while being powerful enough to write large applications in. -* NumPy_, the fundamental package for numerical computation. It defines the - numerical array and matrix types and basic operations on them. -* The :doc:`SciPy library `, a collection of numerical algorithms and - domain-specific toolboxes, including signal processing, optimization, - statistics, and much more. -* Matplotlib_, a mature and popular plotting package that provides - publication-quality 2-D plotting, as well as rudimentary 3-D plotting. - -On this base, the SciPy ecosystem includes general and specialised tools for -data management and computation, productive experimentation, and -high-performance computing. Below, we overview some key packages, -though there are :doc:`many more relevant packages `. - -Data and computation: - -* pandas_, providing high-performance, easy-to-use data structures. -* SymPy_, for symbolic mathematics and computer algebra. -* NetworkX_, is a collection of tools for analyzing complex networks. -* scikit-image_ is a collection of algorithms for image processing. -* scikit-learn_ is a collection of algorithms and tools for machine learning. -* h5py_ and PyTables_ can both access data stored in the HDF5 format. - -Productivity and high-performance computing: - -* IPython_, a rich interactive interface, letting you quickly process data and - test ideas. -* The Jupyter_ notebook provides IPython functionality and more in your web - browser, allowing you to document your computation in an easily reproducible form. -* Cython_ extends Python syntax so that you can conveniently build C extensions, - either to speed up critical code or to integrate with C/C++ libraries. -* Dask_, Joblib_ or IPyParallel_ for distributed processing with a focus on numeric data. - -Quality assurance: - -* nose_, a framework for testing Python code, being phased out in preference for pytest_. -* numpydoc_, a standard and library for documenting Scientific Python libraries. - -.. _NumPy: http://www.numpy.org/ -.. _Matplotlib: http://matplotlib.org/ -.. _pandas: http://pandas.pydata.org/ -.. _SymPy: http://www.sympy.org/ -.. _nose: https://nose.readthedocs.org/en/latest/ -.. _IPython: http://ipython.org/ -.. _Python: https://www.python.org/ -.. _Cython: http://cython.org/ -.. _Scikits: http://scikits.appspot.com/scikits -.. _NetworkX: https://networkx.github.io/ -.. _scikit-image: http://scikit-image.org/ -.. _scikit-learn: http://scikit-learn.org/ -.. _h5py: http://www.h5py.org -.. _PyTables: http://www.pytables.org -.. _Jupyter: http://jupyter.org/ -.. _pytest: https://docs.pytest.org/ -.. _Dask: https://dask.readthedocs.io/ -.. _Joblib: https://joblib.readthedocs.io/ -.. _IPyParallel: https://ipyparallel.readthedocs.io/ -.. _numpydoc: https://github.com/numpy/numpydoc - -.. ETS stuff -.. _Enthought Tool Suite: http://code.enthought.com/projects/index.php -.. _Chaco: http://code.enthought.com/projects/chaco/ -.. _Traits: http://code.enthought.com/projects/traits/ -.. _Mayavi: http://code.enthought.com/projects/mayavi/ -.. _VTK: http://www.vtk.org/ - -.. Indices and tables -.. ================== - -.. * :ref:`genindex` -.. * :ref:`modindex` -.. * :ref:`search` diff --git a/www/bug-report.rst b/www/bug-report.rst deleted file mode 100644 index 86d0b4e5..00000000 --- a/www/bug-report.rst +++ /dev/null @@ -1,63 +0,0 @@ -Report Bugs -=========== -**Please help us by reporting any problems you find.** - -Projects in the SciPy Stack all have their own bug trackers, on which issues -can be reported. Questions and feature requests are best sent to the mailing -list of the project it concerns. - -Please report bugs, documentation errors etc., in the following trackers: - -- `NumPy issues `_ - -- `SciPy issues `_ - -- `Matplotlib issues `_ - -- `IPython issues `_ - -- `pandas issues `_ - -- `SymPy issues `_ - -For problems with this scipy.org website, use the bug tracker -for the `scipy.org website project `_. This -*excludes* `docs.scipy.org `__: problems in docs -should be reported to the project which the document describes. - -Guidelines for submitting bugs ------------------------------- - -* Provide a good description. Tickets in the vein of "SciPy is - BROKEN!!!" are not useful; rather, please state the problem clearly, - e.g., "scipy.ndimage ignores keyword 'axis'". - -* Include a minimal standalone code snippet to illustrate the - problem. Try to narrow it down to a few lines. - -* If you experience segfaults or memory errors, give a GDB traceback: - - :: - - $ gdb python - GNU gdb 6.3.50-20050815 (Apple version gdb-573) (Fri Oct 20 15:50:43 GMT 2006) - Copyright 2004 Free Software Foundation, Inc. - GDB is free software, covered by the GNU General Public License, and you are - welcome to change it and/or distribute copies of it under certain conditions. - Type "show copying" to see the conditions. - There is absolutely no warranty for GDB. Type "show warranty" for details. - This GDB was configured as "i386-apple-darwin"...Reading symbols for shared - libraries .. done - (gdb) run -c "import scipy; scipy.test(10,10)" - Starting program: /usr/local/bin/python -c "import scipy; scipy.test()" - Reading symbols for shared libraries . done - Program received signal SIGTRAP, Trace/breakpoint trap. - 0x8fe01010 in __dyld__dyld_start () - (gdb) c - Continuing. - Reading symbols for shared libraries . done - Reading symbols for shared libraries . done - ... - - Then use the "bt" command after the segfault happens to get the backtrace. - Alternatively, run the code using `Valgrind `__. diff --git a/www/citing.rst b/www/citing.rst deleted file mode 100644 index 48ee7599..00000000 --- a/www/citing.rst +++ /dev/null @@ -1,217 +0,0 @@ -====================================== -Citing packages in the SciPy ecosystem -====================================== - -A number of articles related to scientific computing with Python have appeared; -a selection related to some of the core toolstack are listed below. See also -the `May 2007`__ and `March 2011`__ editions of the journal *Computing in -Science & Engineering*, which focuses on scientific computing with Python. - -__ http://scitation.aip.org/content/aip/journal/cise/9/3 -__ http://scitation.aip.org/content/aip/journal/cise/13/2 - -SciPy (the library) -################### - -There is now a journal article available for citing usage of SciPy: - -Pauli Virtanen, Ralf Gommers, Travis E. Oliphant, Matt Haberland, -Tyler Reddy, David Cournapeau, Evgeni Burovski, Pearu Peterson, -Warren Weckesser, Jonathan Bright, Stéfan J. van der Walt, -Matthew Brett, Joshua Wilson, K. Jarrod Millman, Nikolay Mayorov, -Andrew R. J. Nelson, Eric Jones, Robert Kern, Eric Larson, CJ Carey, -İlhan Polat, Yu Feng, Eric W. Moore, Jake VanderPlas, Denis Laxalde, -Josef Perktold, Robert Cimrman, Ian Henriksen, E.A. Quintero, Charles R Harris, -Anne M. Archibald, Antônio H. Ribeiro, Fabian Pedregosa, Paul van Mulbregt, -and SciPy 1.0 Contributors. (2020) **SciPy 1.0: Fundamental Algorithms -for Scientific Computing in Python**. *Nature Methods*, 17(3), 261-272. - -Here's an example of a BibTeX entry: - -:: - - @ARTICLE{2020SciPy-NMeth, - author = {Virtanen, Pauli and Gommers, Ralf and Oliphant, Travis E. and - Haberland, Matt and Reddy, Tyler and Cournapeau, David and - Burovski, Evgeni and Peterson, Pearu and Weckesser, Warren and - Bright, Jonathan and {van der Walt}, St{\'e}fan J. and - Brett, Matthew and Wilson, Joshua and Millman, K. Jarrod and - Mayorov, Nikolay and Nelson, Andrew R. J. and Jones, Eric and - Kern, Robert and Larson, Eric and Carey, C J and - Polat, {\.I}lhan and Feng, Yu and Moore, Eric W. and - {VanderPlas}, Jake and Laxalde, Denis and Perktold, Josef and - Cimrman, Robert and Henriksen, Ian and Quintero, E. A. and - Harris, Charles R. and Archibald, Anne M. and - Ribeiro, Ant{\^o}nio H. and Pedregosa, Fabian and - {van Mulbregt}, Paul and {SciPy 1.0 Contributors}}, - title = {{{SciPy} 1.0: Fundamental Algorithms for Scientific - Computing in Python}}, - journal = {Nature Methods}, - year = {2020}, - volume = {17}, - pages = {261--272}, - adsurl = {https://rdcu.be/b08Wh}, - doi = {10.1038/s41592-019-0686-2}, - } - -For any specific algorithm, also consider citing the original author's paper -(this can often be found under the "References" section of the docstring). - - -NumPy -##### - -There is now a journal article available for citing usage of NumPy: - -Charles R. Harris, K. Jarrod Millman, Stéfan J. van der Walt, Ralf -Gommers, Pauli Virtanen, David Cournapeau, Eric Wieser, Julian Taylor, -Sebastian Berg, Nathaniel J. Smith, Robert Kern, Matti Picus, Stephan -Hoyer, Marten H. van Kerkwijk, Matthew Brett, Allan Haldane, Jaime -Fernández del Río, Mark Wiebe, Pearu Peterson, Pierre Gérard-Marchant, -Kevin Sheppard, Tyler Reddy, Warren Weckesser, Hameer Abbasi, -Christoph Gohlke & Travis E. Oliphant. -**Array programming with NumPy**, Nature, **585**, 357–362 (2020), -`DOI:10.1038/s41586-020-2649-2`__ (`publisher link`__) - -__ https://doi.org/10.1038/s41586-020-2649-2 -__ https://www.nature.com/articles/s41586-020-2649-2 - -Here's an example of a BibTeX entry: - -:: - - @ARTICLE{2020NumPy-Array, - author = {Harris, Charles R. and Millman, K. Jarrod and - van der Walt, Stéfan J and Gommers, Ralf and - Virtanen, Pauli and Cournapeau, David and - Wieser, Eric and Taylor, Julian and Berg, Sebastian and - Smith, Nathaniel J. and Kern, Robert and Picus, Matti and - Hoyer, Stephan and van Kerkwijk, Marten H. and - Brett, Matthew and Haldane, Allan and - Fernández del Río, Jaime and Wiebe, Mark and - Peterson, Pearu and Gérard-Marchant, Pierre and - Sheppard, Kevin and Reddy, Tyler and Weckesser, Warren and - Abbasi, Hameer and Gohlke, Christoph and - Oliphant, Travis E.}, - title = {Array programming with {NumPy}}, - journal = {Nature}, - year = {2020}, - volume = {585}, - pages = {357–362}, - doi = {10.1038/s41586-020-2649-2} - } - - -IPython -####### - -* Fernando Pérez and Brian E. Granger. - **IPython: A System for Interactive Scientific Computing**, - Computing in Science & Engineering, **9**, 21-29 (2007), - `DOI:10.1109/MCSE.2007.53`__ (`publisher link`__) - -__ https://doi.org/10.1109/MCSE.2007.53 -__ http://scitation.aip.org/content/aip/journal/cise/9/3/10.1109/MCSE.2007.53 - -Matplotlib -########## - -* John D. Hunter. - **Matplotlib: A 2D Graphics Environment**, - Computing in Science & Engineering, **9**, 90-95 (2007), - `DOI:10.1109/MCSE.2007.55`__ (`publisher link`__) - -__ https://doi.org/10.1109/MCSE.2007.55 -__ http://scitation.aip.org/content/aip/journal/cise/9/3/10.1109/MCSE.2007.55 - -Cython -###### -* Stefan Behnel, Robert Bradshaw, Craig Citro, Lisandro Dalcin, Dag Sverre - Seljebotn and Kurt Smith. - **Cython: The Best of Both Worlds**, - Computing in Science and Engineering, **13**, 31-39 (2011), - `DOI:10.1109/MCSE.2010.118`__ (`publisher link`__) - -__ https://doi.org/10.1109/MCSE.2010.118 -__ http://scitation.aip.org/content/aip/journal/cise/13/2/10.1109/MCSE.2010.118 - -pandas -###### -* Wes McKinney. - **Data Structures for Statistical Computing in Python**, - Proceedings of the 9th Python in Science Conference, 51-56 (2010) - (`publisher link`__) - -__ http://conference.scipy.org/proceedings/scipy2010/mckinney.html - -scikit-learn -############ - -* Fabian Pedregosa, Gaël Varoquaux, Alexandre Gramfort, Vincent Michel, - Bertrand Thirion, Olivier Grisel, Mathieu Blondel, Peter Prettenhofer, Ron - Weiss, Vincent Dubourg, Jake Vanderplas, Alexandre Passos, David Cournapeau, - Matthieu Brucher, Matthieu Perrot, Édouard Duchesnay. - **Scikit-learn: Machine Learning in Python**, - Journal of Machine Learning Research, **12**, 2825-2830 (2011) - (`publisher link`__) - -__ http://jmlr.org/papers/v12/pedregosa11a.html - -scikit-image -############ - -* Stéfan van der Walt, Johannes L. Schönberger, Juan Nunez-Iglesias, François - Boulogne, Joshua D. Warner, Neil Yager, Emmanuelle Gouillart, Tony Yu and the - scikit-image contributors. - **scikit-image: Image processing in Python**, - PeerJ 2:e453 (2014) - (`publisher link`__) - -__ https://doi.org/10.7717/peerj.453 - -F2PY -#### - -* Pearu Peterson. - **F2PY: a tool for connecting Fortran and Python programs**, - International Journal of Computational Science and Engineering, - **4** (4), 296-305 (2009), - `DOI:10.1504/IJCSE.2009.029165`__ (`publisher link`__) (`preprint`__) - -__ https://doi.org/10.1504/IJCSE.2009.029165 -__ http://www.inderscience.com/info/inarticletoc.php?jcode=ijcse&year=2009&vol=4&issue=4 -__ http://cens.ioc.ee/~pearu/papers/IJCSE4.4_Paper_8.pdf - -SymPy -##### - -* Meurer A, Smith CP, Paprocki M, Čertík O, Kirpichev SB, Rocklin M, Kumar A, - Ivanov S, Moore JK, Singh S, Rathnayake T, Vig S, Granger BE, Muller RP, - Bonazzi F, Gupta H, Vats S, Johansson F, Pedregosa F, Curry MJ, Terrel AR, - Roučka Š, Saboo A, Fernando I, Kulal S, Cimrman R, Scopatz A. - **SymPy: symbolic computing in Python**, - PeerJ Computer Science 3:e103 (2017) - (`publisher link`__) - -__ https://doi.org/10.7717/peerj-cs.103 - - -Scientific computing in Python -############################## - -* Travis E. Oliphant. - **Python for Scientific Computing**, - Computing in Science & Engineering, **9**, 10-20 (2007), - `DOI:10.1109/MCSE.2007.58`__ (`publisher link`__) - -__ https://doi.org/10.1109/MCSE.2007.58 -__ http://scitation.aip.org/content/aip/journal/cise/9/3/10.1109/MCSE.2007.58 - - -* K. Jarrod Millman and Michael Aivazis. **Python for Scientists and Engineers**, - Computing in Science & Engineering, **13**, 9-12 (2011), - `DOI:10.1109/MCSE.2011.36`__ (`publisher link`__) - -__ https://doi.org/10.1109/MCSE.2011.36 -__ http://scitation.aip.org/content/aip/journal/cise/13/2/10.1109/MCSE.2011.36 - diff --git a/www/codes-of-conduct.rst b/www/codes-of-conduct.rst deleted file mode 100644 index fd337403..00000000 --- a/www/codes-of-conduct.rst +++ /dev/null @@ -1,11 +0,0 @@ -======================================== -Codes of Conduct for the SciPy Ecosystem -======================================== - -- `SciPy Code of Conduct `__ -- `pandas Code of Conduct `__ -- `NumPy Code of Conduct `__ -- Matplotlib Code of Conduct: Matplotlib `follows `__ the `Python Software Foundation Code of Conduct `__ -- `Sympy Code of Conduct `__ -- `Jupyter/IPython Code of Conduct - `__ diff --git a/www/conf.py b/www/conf.py deleted file mode 100644 index 4654ccad..00000000 --- a/www/conf.py +++ /dev/null @@ -1,57 +0,0 @@ -# -*- coding: utf-8 -*- - -import sys, os -from datetime import date - -import matplotlib.sphinxext - - -sys.path.append(os.path.abspath('sphinxext')) - -# -- General configuration ----------------------------------------------------- - -extensions = ['sphinx.ext.intersphinx', - 'sphinx.ext.imgmath', - 'ipython_console_highlighting', - 'sphinx.ext.ifconfig', - 'matplotlib.sphinxext.mathmpl', - 'matplotlib.sphinxext.plot_directive'] - -templates_path = ['_templates'] -source_suffix = '.rst' -master_doc = 'index' - -# General information about the project. -project = u'Scipy' -copyright = u'%s SciPy developers' % date.today().year -version = '' -release = '' -pygments_style = 'sphinx' - -# -- Options for HTML output --------------------------------------------------- - -html_theme_path = [os.path.join(os.pardir, 'scipy-sphinx-theme', '_theme')] - -html_theme = 'scipy' -html_theme_options = { - 'rootlinks': (), - 'sidebar': 'right', - 'navigation_links': False, -} -html_sidebars = { - '**': ['sitenav.html', 'localtoc.html', 'searchbox.html'], - 'index': ['sitenav.html', 'searchbox.html'], -} - -html_title = "SciPy.org" -html_static_path = ['_static'] - -html_use_modindex = False -html_use_index = False -html_show_sourcelink = False - - -intersphinx_mapping = {'http://docs.python.org/': None, - #'http://docs.scipy.org/doc/numpy/': None, - #'http://docs.scipy.org/doc/scipy/reference/': None, - } diff --git a/www/docs.rst b/www/docs.rst deleted file mode 100644 index c205e17a..00000000 --- a/www/docs.rst +++ /dev/null @@ -1,14 +0,0 @@ -Documentation -============= - -Documentation for the core SciPy Stack projects: - -* `NumPy `__ -* `SciPy `__ -* `Matplotlib `_ -* `IPython `_ -* `SymPy `_ -* `pandas `_ - -The :doc:`getting-started` page contains links to several good tutorials -dealing with the SciPy stack. diff --git a/www/getting-started.rst b/www/getting-started.rst deleted file mode 100644 index c2138d12..00000000 --- a/www/getting-started.rst +++ /dev/null @@ -1,115 +0,0 @@ -=============== -Getting started -=============== - -Got the SciPy packages installed? Wondering what to do next? - -"Scientific Python" doesn't exist without "Python". SciPy skills need to build -on a foundation of standard programming skills. While Python itself has an -`official tutorial `_ , countless -resources exist online, in hard copy, in person, or whatever format you prefer. - -Just remember to have fun, make mistakes, and persevere. - - -Where to write -============== - -`Jupyter `_ notebooks combine code, markdown, and more in -an interactive setting. They are an excellent tool for learning, collaborating, -experimenting, or documenting. Notebooks can run on your local machine, and -`MyBinder `_ also serves Jupyter notebooks to the -browser without the need for anything on the local computer. For example, -`MyBinder Elegant Scipy `_ -provides an interactive tutorial. - -Jupyter runs by calling to `IPython `_ behind the scenes, -but IPython itself also acts as a standalone tool. A *command-line* of -individual statements and returned values, IPython is useful for debugging and -experimenting. - -Code Editors and IDEs (Integrated Development Environments) facilitate the -writing of scripts, packages, and libraries. These tools handle projects, like -SciPy itself, that start to grow larger and more complicated. Separate files -can hold frequently used functions, types, variables, and analysis scripts for -simpler, more maintainable, and more reusable code. - -Code editors run from minimal, like Window's Notepad, to the fully-featured and -customizable, like `Atom `_ , `Visual Studio Code -`_ , or `PyCharm `_. -Features include syntax highlighting, the ability to execute code, debugging -tools, autocompletion, and project management. - - -Hello SciPy -=========== - -Need to test if the packages got installed? Type these lines at an IPython -prompt, or save in a ``*.py`` file to execute:: - - import numpy as np - print("I like ", np.pi) - -For testing the SciPy library and Matplotlib, here's a fun Easter egg:: - - from scipy import misc - import matplotlib.pyplot as plt - - face = misc.face() - plt.imshow(face) - plt.show() - - -Start learning -============== - -Each package has official tutorials: - -- `NumPy User Guide `_ - -- `SciPy Tutorial `_ - -- `Matplotlib beginner's guide `_ - -- `pandas tutorials `_ - -- `SymPy tutorial `_ - -Additional outside tutorials exist, such as the -`Scipy Lecture Notes `_ or -`Elegant SciPy `_ . - -But the best way to learn is to start coding. - - -Stuck? Need help? -================= - -Getting errors that you can't figure out? - -Start by looking at the error message. Yes, error messages are often -intimidating and filled with technical detail. However, they can often help -pinpoint the exact location in code where things go wrong. This is often most -of the battle. - -Unsure of how to use a particular function? In Jupyter and the IPython shell, -call up documentation with:: - - import numpy as np - np.linspace? - -or for viewing the source:: - - import numpy as np - np.linspace?? - -``?`` works on both functions and variables:: - - a = "SciPy is awesome ;)" - a? - -Try searching the Internet and sites like `StackOverflow `_ -to see if others have encountered similar problems or can help with yours. - -If you think you have truly encountered a problem with SciPy itself, read the -page on `Reporting Bugs `_. diff --git a/www/index.rst b/www/index.rst deleted file mode 100644 index 56e32277..00000000 --- a/www/index.rst +++ /dev/null @@ -1,310 +0,0 @@ -.. raw:: html - - - -SciPy.org -========= - -.. raw:: html - - - -
- -
- - - - -SciPy (pronounced “Sigh Pie”) is a Python-based ecosystem -of open-source software for mathematics, science, and engineering. In -particular, these are some of the core packages: - -.. raw:: html - -
-
    - -
  • -
    -
    - - numpy - -
    -
    -

    NumPy

    - Base N-dimensional array package -
    -
    -
  • - -
  • -
    -
    - - scipy - -
    -
    -

    SciPy library

    - Fundamental library for scientific computing -
    -
    -
  • - -
  • -
    -
    - - matplotlib - -
    -
    -

    Matplotlib

    - Comprehensive 2-D plotting -
    -
    -
  • - -
  • -
    -
    - - ipython - -
    -
    -

    IPython

    - Enhanced interactive console -
    -
    -
  • - -
  • -
    -
    - - sympy - -
    -
    -

    SymPy

    - Symbolic mathematics -
    -
    -
  • - -
  • -
    -
    - - pandas badge - -
    -
    -

    pandas

    - Data structures & analysis -
    -
    -
  • - -
  • -
    -
    - - pandas badge - -
    -
    - Large parts of the SciPy ecosystem (including all six projects above) are - fiscally sponsored by - NumFOCUS. -
    -
    -
  • - - -
-
- - - -.. raw:: html - -
- -News ----- - -.. role:: news-date - :class: news-date - -NumPy 1.21.2 released :news-date:`2021-08-15` - See :doc:`/scipylib/download`. - -SciPy 1.7.1 released :news-date:`2021-08-01` - See :doc:`/scipylib/download`. - -NumPy 1.21.1 released :news-date:`2021-07-18` - See :doc:`/scipylib/download`. - -NumPy 1.21.0 released :news-date:`2021-06-22` - See :doc:`/scipylib/download`. - -SciPy 1.7.0 released :news-date:`2021-06-20` - See :doc:`/scipylib/download`. - -NumPy 1.21.0rc2 released :news-date:`2021-06-08` - See :doc:`/scipylib/download`. - -NumPy 1.21.0rc1 released :news-date:`2021-05-24` - See :doc:`/scipylib/download`. - -NumPy 1.20.3 released :news-date:`2021-05-10` - See :doc:`/scipylib/download`. - -SciPy 1.6.3 released :news-date:`2021-04-25` - See :doc:`/scipylib/download`. - -NumPy 1.20.2 released :news-date:`2021-03-27` - See :doc:`/scipylib/download`. - -SciPy 1.6.2 released :news-date:`2021-03-24` - See :doc:`/scipylib/download`. - -SciPy 1.6.1 released :news-date:`2021-02-17` - See :doc:`/scipylib/download`. - -NumPy 1.20.1 released :news-date:`2021-02-07` - See :doc:`/scipylib/download`. - -NumPy 1.20.0 released :news-date:`2021-01-30` - See :doc:`/scipylib/download`. - -NumPy 1.19.5 released :news-date:`2021-01-05` - See :doc:`/scipylib/download`. - -SciPy 1.6.0 released :news-date:`2020-12-31` - See :doc:`/scipylib/download`. - -NumPy survey :news-date:`2020-07-02` - The first-ever NumPy community survey is LIVE! - See https://numpy.org/news/ - -SciPy 1.5.0 released :news-date:`2020-06-21` - See :doc:`/scipylib/download`. - -NumPy 1.19.0 released :news-date:`2020-06-20` - See :doc:`/scipylib/download`. - -SciPy 1.4.0 released :news-date:`2019-12-16` - See :doc:`/scipylib/download`. - -SciPy funding :news-date:`2019-11-15` - SciPy, NumPy, Matplotlib, Pandas, scikit-learn, scikit-image, Dask, Zarr - and others received functions from the Chan Zuckerberg Initiative! - See https://chanzuckerberg.com/eoss/ - -SciPy user survey results :news-date:`2019-11-13` - See the survey results `here `_. - -SciPy-NumFOCUS - SciPy becomes a `NumFOCUS `__ fiscally - sponsored project :news-date:`2019-04-18` - - -.. raw:: html - - Past news... -
- -.. toctree:: - :hidden: - - about - install - getting-started - docs - bug-report - topical-software - citing - scipylib/index - scikits - past-news - codes-of-conduct diff --git a/www/install.rst b/www/install.rst deleted file mode 100644 index 1781aa82..00000000 --- a/www/install.rst +++ /dev/null @@ -1,135 +0,0 @@ -=================== -Installation -=================== - -Installations methods include: - -* :ref:`Distributions ` -* :ref:`pip ` -* :ref:`Package Manager ` -* :ref:`Source ` -* :ref:`Binaries ` - -Methods differ in ease of use, coverage, maintenance of old versions, -system-wide versus local environment use, and control. With pip or Anaconda's -conda, you can control the package versions for a specific project to prevent -conflicts. Conda also controls non-Python packages, like MKL or HDF5. System -package managers, like ``apt-get``, install across the entire computer, often -have older versions, and don't have as many available versions. Source -compilation is much more difficult but is necessary for debugging and development. -If you don't know which installation method you need or prefer, we recommend -the Scientific Python Distribution `Anaconda `_ . - -.. _distributions: - -Scientific Python Distributions (recommended) -============================================= - -Python distributions provide the language itself, along with the most commonly -used packages and tools. These downloadable files require little configuration, -work on almost all setups, and provide all the commonly used scientific python tools. - -`Anaconda `_ works on Windows, Mac, and -Linux, provides over 1,500 Python/R packages, and is used by over 15 million -people. Anaconda is best suited to beginning users; it provides a large -collection of libraries all in one. - -For more advanced users who will need to install or upgrade regularly, -`Miniconda `_ is a more -suitable way to install the *conda* package manager. - -Other options include: - -* `WinPython `_: Another free distribution - including scientific packages and the Spyder IDE; Windows only, but more - actively maintained and supports the latest Python 3 versions. -* `Pyzo `_: A free distribution based on Anaconda and - the IEP interactive development environment; Supports Linux, Windows, and Mac. - -.. _pip-install: - -Installing via pip -================== - -Python comes with an inbuilt package management system, -`pip `_. Pip can install, update, or delete -any official package. - -You can install packages via the command line by entering:: - - python -m pip install --user numpy scipy matplotlib ipython jupyter pandas sympy nose - -We recommend using an *user* install, sending the ``--user`` flag to pip. -``pip`` installs packages for the local user and does not write to the system -directories. Preferably, do not use ``sudo pip``, as this combination can cause problems. - -Pip accesses the Python Package Index, `PyPI `_ , which -stores almost 200,000 projects and all previous releases of said projects. -Because the repository keeps previous versions, you can pin to a version and -not worry about updates causing conflicts. Pip can also install packages in -local *virtualenv*, or virtual environment. - -.. _package_manager: - -Install system-wide via a package manager -========================================= - -System package managers can install the most common Python packages. -They install packages for the entire computer, often use older versions, -and don't have as many available versions. - -.. _Ubuntu_Debian: - -Ubuntu and Debian ------------------- -using apt-get:: - - sudo apt-get install python-numpy python-scipy python-matplotlib ipython ipython-notebook python-pandas python-sympy python-nose - -.. _Fedora: - -Fedora 22 and later ---------------------- -using dnf:: - - sudo dnf install numpy scipy python-matplotlib ipython python-pandas sympy python-nose atlas-devel - - -.. _Mac: - -Mac ---- - -Mac doesn't have a preinstalled package manager, but there are a couple of -popular package managers you can install. - -For Python 3.5 with `Macports `_ , execute this -command in a terminal:: - - sudo port install py35-numpy py35-scipy py35-matplotlib py35-ipython +notebook py35-pandas py35-sympy py35-nose - -`Homebrew `_ has an incomplete coverage of the SciPy ecosystem, -but does install these packages:: - - brew install numpy scipy ipython jupyter - -.. _source: - -Source packages -=============== - -You can build any of the packages from source. Those involved in development -may take this route to get developmental versions or alter source code. -Refer to individual projects for more details. - -.. _binaries: - -Binaries -================== - -Binary files can directly install the packages. These can either come from the -direct source, like `GitHub `_ or `PyPI `_ , -or third-party repositories. Linux operating systems, like `Ubuntu `_ , -have package repositories where you can search for and download individual binaries. -For Windows, Christoph Gohlke provides `pre-built Windows installers `_ -for many packages. diff --git a/www/past-news.rst b/www/past-news.rst deleted file mode 100644 index 59ed8e5f..00000000 --- a/www/past-news.rst +++ /dev/null @@ -1,289 +0,0 @@ -.. raw:: html - -
- -Past News ---------- - -.. role:: news-date - :class: news-date - -SciPy 1.5.4 released :news-date:`2020-11-04` - See :doc:`/scipylib/download`. - -NumPy 1.19.4 released :news-date:`2020-11-02` - See :doc:`/scipylib/download`. - -NumPy 1.19.3 released :news-date:`2020-10-28` - See :doc:`/scipylib/download`. - -SciPy 1.5.3 released :news-date:`2020-10-17` - See :doc:`/scipylib/download`. - -NumPy 1.19.2 released :news-date:`2020-09-10` - See :doc:`/scipylib/download`. - -SciPy 1.5.2 released :news-date:`2020-07-23` - See :doc:`/scipylib/download`. - -NumPy 1.19.1 released :news-date:`2020-07-21` - See :doc:`/scipylib/download`. - -SciPy 1.5.1 released :news-date:`2020-07-04` - See :doc:`/scipylib/download`. - -NumPy 1.18.5 released :news-date:`2020-06-03` - See :doc:`/scipylib/download`. - -NumPy 1.18.4 released :news-date:`2020-05-03` - See :doc:`/scipylib/download`. - -NumPy 1.18.3 released :news-date:`2020-04-19` - See :doc:`/scipylib/download`. - -NumPy 1.18.2 released :news-date:`2020-03-17` - See :doc:`/scipylib/download`. - -SciPy 1.2.3 released :news-date:`2020-01-21` - See :doc:`/scipylib/download`. - -NumPy 1.18.1 released :news-date:`2020-01-06` - See :doc:`/scipylib/download`. - -NumPy 1.17.5 released :news-date:`2020-01-01` - See :doc:`/scipylib/download`. - -NumPy 1.16.6 released :news-date:`2019-12-29` - See :doc:`/scipylib/download`. - -NumPy 1.18.0 released :news-date:`2019-12-22` - See :doc:`/scipylib/download`. - -SciPy 1.4.1 released :news-date:`2019-12-19` - See :doc:`/scipylib/download`. - -NumPy 1.18.0rc1 released :news-date:`2019-12-05` - See :doc:`/scipylib/download`. - -NumPy 1.17.4 released :news-date:`2019-11-10` - See :doc:`/scipylib/download`. - -SciPy 1.3.2 released :news-date:`2019-11-09` - See :doc:`/scipylib/download`. - -NumPy 1.17.3 released :news-date:`2019-10-17` - See :doc:`/scipylib/download`. - -SciPy user survey :news-date:`2019-10-04` - `Tell us `_ - how we can improve the documentation. - -NumPy 1.17.2 released :news-date:`2019-09-06` - See :doc:`/scipylib/download`. - -NumPy 1.16.5 released :news-date:`2019-08-27` - See :doc:`/scipylib/download`. - -NumPy 1.17.1 released :news-date:`2019-08-26` - See :doc:`/scipylib/download`. - -SciPy 1.3.1 released :news-date:`2019-08-08` - See :doc:`/scipylib/download`. - -NumPy 1.17.0 released :news-date:`2019-07-26` - See :doc:`/scipylib/download`. - -SciPy 1.3.0 released :news-date:`2019-05-17` - See :doc:`/scipylib/download`. -NumPy 1.16.4 released :news-date:`2019-05-28` - See :doc:`/scipylib/download`. -SciPy 1.2.2 released :news-date:`2019-06-06` - See :doc:`/scipylib/download`. -NumPy 1.16.3 released :news-date:`2019-04-21` - See :doc:`/scipylib/download`. -SciPy 2019 :news-date:`2019-07-08` - `SciPy `__, the 18th annual Scientific - Computing with Python conference, will be held July 8-14, 2019 in - Austin, Texas. -NumPy 1.16.2 released :news-date:`2019-02-26` - See :doc:`/scipylib/download`. -SciPy 1.2.1 released :news-date:`2019-02-08` - See :doc:`/scipylib/download`. -NumPy 1.16.1 released :news-date:`2019-01-31` - See :doc:`/scipylib/download`. -NumPy 1.16.0 released :news-date:`2019-01-13` - See :doc:`/scipylib/download`. -SciPy 1.2.0 released :news-date:`2018-12-17` - See :doc:`/scipylib/download`. -NumPy 1.15.4 released :news-date:`2018-11-04` - See :doc:`/scipylib/download`. -NumPy 1.15.3 released :news-date:`2018-10-22` - See :doc:`/scipylib/download`. -NumPy 1.15.2 released :news-date:`2018-09-23` - See :doc:`/scipylib/download`. -NumPy 1.14.6 released :news-date:`2018-09-23` - See :doc:`/scipylib/download`. -NumPy 1.15.1 released :news-date:`2018-08-21` - See :doc:`/scipylib/download`. -SciPy 0.19.1 released :news-date:`2017-06-21` - See :doc:`/scipylib/download`. -SciPy 0.19.0 released :news-date:`2017-03-09` - See :doc:`/scipylib/download`. -NumPy 1.15.0 released :news-date:`2018-07-23` - See :doc:`/scipylib/download`. -NumPy 1.15.0rc2 released :news-date:`2018-07-09` - See :doc:`/scipylib/download`. -NumPy 1.15.0rc1 released :news-date:`2018-06-21` - See :doc:`/scipylib/download`. -NumPy 1.14.5 released :news-date:`2018-06-12` - See :doc:`/scipylib/download`. -NumPy 1.14.4 released :news-date:`2018-06-06` - See :doc:`/scipylib/download`. -SciPy 1.1.0 released :news-date:`2018-05-05` - See :doc:`/scipylib/download`. -NumPy 1.14.3 released :news-date:`2018-04-28` - See :doc:`/scipylib/download`. -NumPy 1.14.2 released :news-date:`2018-03-12` - See :doc:`/scipylib/download`. -NumPy 1.14.1 released :news-date:`2018-02-20` - See :doc:`/scipylib/download`. -NumPy 1.14.0 released :news-date:`2018-01-06` - See :doc:`/scipylib/download`. -NumPy 1.14.0rc1 released :news-date:`2017-12-13` - See :doc:`/scipylib/download`. -SciPy 1.0.0 released :news-date:`2017-10-25` - See :doc:`/scipylib/download`. -NumPy 1.13.3 released :news-date:`2017-09-29` - See :doc:`/scipylib/download`. -NumPy 1.13.2 released :news-date:`2017-09-27` - See :doc:`/scipylib/download`. -EuroSciPy 2017 :news-date:`2017-08-28` - The `EuroSciPy `__ meeting is a - cross-disciplinary gathering focused on the use and development - of the Python language in scientific research. - The 2017 edition will take place in - Erlangen, Germany, Aug 28--Sep 1. -SciPy 2017 :news-date:`2017-07-10` - `SciPy `__, the 16th annual Scientific - Computing with Python conference, will be held July 10-16, 2017 in - Austin, Texas. -NumPy 1.13.1 released :news-date:`2017-07-06` - See :doc:`/scipylib/download`. -NumPy 1.13.0 released :news-date:`2017-06-07` - See :doc:`/scipylib/download`. -NumPy 1.12.1 released :news-date:`2017-03-18` - See :doc:`/scipylib/download`. -NumPy 1.12.0 released :news-date:`2017-01-15` - See :doc:`/scipylib/download`. -NumPy 1.11.3 released :news-date:`2016-12-18` - See :doc:`/scipylib/download`. -SciPy 0.18.1 released :news-date:`2016-09-19` - See :doc:`/scipylib/download`. -SciPy 0.18.0 released :news-date:`2016-07-25` - See :doc:`/scipylib/download`. -SciPy 0.17.1 released :news-date:`2016-05-12` - See :doc:`/scipylib/download`. -SciPy 0.17.0 released :news-date:`2016-01-23` - See :doc:`/scipylib/download`. -SciPy 0.16.1 released :news-date:`2015-10-24` - See :doc:`/scipylib/download`. -NumPy 1.13.0rc2 released :news-date:`2017-05-18` - See :doc:`/scipylib/download`. -NumPy 1.13.0rc1 released :news-date:`2017-05-10` - See :doc:`/scipylib/download`. -NumPy 1.12.1rc1 released :news-date:`2017-03-06` - See :doc:`/scipylib/download`. -NumPy 1.12.0rc2 released :news-date:`2017-01-01` - See :doc:`/scipylib/download`. -NumPy 1.12.0rc1 released :news-date:`2016-12-19` - See :doc:`/scipylib/download`. -NumPy 1.12.0b1 released :news-date:`2016-11-16` - See :doc:`/scipylib/download`. -NumPy 1.11.2 released :news-date:`2016-10-03` - See :doc:`/scipylib/download`. -NumPy 1.11.1 released :news-date:`2016-06-26` - See :doc:`/scipylib/download`. -NumPy 1.11.0 released :news-date:`2016-03-27` - See :doc:`/scipylib/download`. -NumPy 1.10.4 released :news-date:`2016-01-07` - See :doc:`/scipylib/download`. -NumPy 1.10.2 released :news-date:`2015-12-14` - See :doc:`/scipylib/download`. -SciPy 0.16.0 released :news-date:`2015-07-23` - See :doc:`/scipylib/download`. -NumPy 1.9.2 released :news-date:`2015-03-01` - See :doc:`/scipylib/download`. -SciPy 0.15.1 released :news-date:`2015-01-18` - See :doc:`/scipylib/download`. -SciPy 0.15.0 released :news-date:`2015-01-11` - See :doc:`/scipylib/download`. -SciPy 0.14.1 released :news-date:`2014-12-30` - See :doc:`/scipylib/download`. -NumPy 1.9.1 released :news-date:`2014-11-02` - See :doc:`/scipylib/download`. -NumPy 1.9.0 released :news-date:`2014-09-07` - See :doc:`/scipylib/download`. -NumPy 1.8.2 released :news-date:`2014-08-09` - See :doc:`/scipylib/download`. -SciPy 0.14.0 released :news-date:`2014-05-03` - See :doc:`/scipylib/download`. -NumPy 1.8.1 released :news-date:`2014-03-26` - See :doc:`/scipylib/download`. -EuroSciPy 2014 - `EuroSciPy `__ is the European gathering - for scientists using Python. The 2014 edition will take place in - Cambridge, UK, Aug. 27-31. -SciPy 2014 - `SciPy `__ is an annual conference - for scientists using Python. The 2014 edition will take place in - Austin, Texas, July 6-12. -SciPy 0.13.3 released :news-date:`2014-02-04` - See :doc:`/scipylib/download`. -NumPy 1.7.2 released :news-date:`2013-12-31` - See :doc:`/scipylib/download`. -SciPy 0.13.2 released :news-date:`2013-12-08` - See :doc:`/scipylib/download`. -NumPy 1.7.2rc1 released :news-date:`2013-11-03` - See :doc:`/scipylib/download`. -NumPy 1.8.0 released :news-date:`2013-10-30` - See :doc:`/scipylib/download`. -SciPy 0.12.0 released :news-date:`2013-04-07` - See :doc:`/scipylib/download`. -NumPy 1.7.0 released :news-date:`2013-02-10` - See :doc:`/scipylib/download`. -EuroSciPy 2013 - `EuroSciPy `__ is the European gathering - for scientists using Python. The 2013 edition will take place in - Brussels, Aug. 21-24. -SciPy 2013 - `SciPy `__ is an annual conference - for scientists using Python. The 2013 edition will take place in - Austin, Texas, June 24-29. -SciPy 0.11.0 :news-date:`2012-09-25` - See :doc:`/scipylib/download`. -SIAM CSE '13 - The `SIAM Conference on Computational Science and Engineering - `__ will take place in Boston, - February 25-March 1, 2013, and for this version there will be a track - focused on the topic of Big Data. -AMS Annual Meeting - The annual meeting of the American Meteorological Society takes - place January 6-10, 2013, and includes the Third Symposium on - Advances in Modeling and Analysis Using Python. -SciPy 2012 - The eleventh annual conference on python in science, SciPy 2012, - took place July 16 - 21 in Austin, Texas. -EuroSciPy 2012 - EuroSciPy is the European gathering for scientists using - Python. The 2012 edition took place in Brussels, Aug. 23-27. -NumPy 1.6.2 released :news-date:`2012-05-20` - See :doc:`/scipylib/download`. -PyCon 2012 - PyCon is the largest annual gathering for the community using and - developing the open-source Python programming language. This year - the conference took place March 7 - 15 in Santa Clara, California. - -.. raw:: html - -
- diff --git a/www/scikits.rst b/www/scikits.rst deleted file mode 100644 index d80b4217..00000000 --- a/www/scikits.rst +++ /dev/null @@ -1,75 +0,0 @@ -======= -SciKits -======= - -SciKits (short for SciPy Toolkits) are add-on packages for SciPy, -hosted and developed separately and independently from the main SciPy -distribution. All SciKits are licensed under OSI-approved licenses. - -Packages are packaged as toolkits (instead of in the main, monolithic -SciPy distribution) when: - -- The package is deemed too specialized to live in SciPy itself or -- The package has a GPL (or similar) license which is incompatible with SciPy's BSD license or -- The package is meant to be included in SciPy, but development is still in progress. - -List of SciKits -=============== -An automatically maintained list of SciKits can be found here: - -* http://scikits.appspot.com/scikits - -Making SciKits -============== - -If you are planning to write a scientific open-source software package -for Python, aimed to supplement the existing ones, it may make sense -to brand it as a SciKit. The advantage that consistent naming brings -is that the package becomes easier to discover, rather than being one -amongst the 30000+ Python packages unrelated to research. - -The technical step to make this happen is simple: register the project -in the `Python package index `__ with a name -chosen to start with ``scikit``. Examples of existing packages: -`scikit-learn `__ (machine -learning), `scikits.sparse -`__ (additional sparse -matrix routines). - -Naturally, you are fully in charge of your own project, and can host -it wherever you like. The only requirement we ask is that the project -is under an OSI-approved open source license, and is related to -science, engineering, or research in some other topic. It can, however, -be useful to let people know about it by discussing the new project -e.g., on the :doc:`Scipy mailing lists
`. - -Whilst the recommended license for SciKits projects is the (new) `BSD -`__ license, -SciKits packages are free to choose their own open source license. The -license should be officially `OSI -`__ approved. We, the -scipy-developers, will allow packages to contain code with licenses -that, in our judgment, comply with the Open Source Definition but have -not gone through the approval process. This is to allow us to adopt -old code with permissive licenses. The package itself, though, should -use a well-known OSI-approved license. - - -SciKit project structure -======================== - -An example of a project organization can be found here: - -* https://github.com/pv/scikit-example - -The important part here is the project name passed to the build -system, and registering the package in the `Python Package Index -`__. - -The example package also shows how to use NumPy's test framework, use -`Sphinx `__ to write documentation, and link -to Fortran code using NumPy's build framework. - -Further reading: - -- `Python Packaging User Guide `__ diff --git a/www/scipylib/bug-report.rst b/www/scipylib/bug-report.rst deleted file mode 100644 index 531121e5..00000000 --- a/www/scipylib/bug-report.rst +++ /dev/null @@ -1,32 +0,0 @@ -Bug reports -=========== -**Please help us by reporting any problems you find.** - -NumPy and SciPy libraries make use of GitHub to do project management. -There, you can see what we are currently working on (Pull Requests), -as well as file bug-reports (issues). - -1. Go to the relevant page: - - - `SciPy library pull requests `_ - - - `SciPy library bug reports `_ - - - `NumPy library pull requests `_ - - - `NumPy library bug reports `_ - -#. On GitHub, you need to register an account the first time you use it. - -#. Make sure the bug hasn't already been reported. Click on "Search" - and type in some keywords to search for. - -#. File your bug-report by clicking "New Issue" on GitHub. For advice on - how to provide a useful bug report, see :doc:`../bug-report`. - -#. Note that the bug trackers are mostly for actual bugs. If you want - to propose an enhancement, then the mailing list is a better place - to get feedback. - - -**Thank you for helping to make** SciPy **better!** diff --git a/www/scipylib/dev-zone.rst b/www/scipylib/dev-zone.rst deleted file mode 100644 index 55afd487..00000000 --- a/www/scipylib/dev-zone.rst +++ /dev/null @@ -1,72 +0,0 @@ -Developer zone -============== - -We need your help! ------------------- - -This is a distributed, volunteer project and we welcome additional -contributors. If you're keen to help out, a good start is to monitor -the :doc:`mailing lists `. You'll soon begin to -recognize the areas where your assistance and expertise can make a -difference. - -Source code ------------ - -Make contributions (e.g., code patches), feature requests, and file bug -reports by submitting issues or pull requests on the GitHub pages -linked below. For any bigger changes, discussion on the mailing lists -is recommended even before starting. - -Useful information on how to contribute new features to SciPy is -contained in `HACKING.txt -`__, -please read it. Also, take a look at the `NumPy developer guide -`__ for information on practical -issues. - -If your contribution would be large, e.g., expanding functionality to a -scientific field not currently covered, it may make sense to at least -at first start it as an independent project. Check :doc:`/scikits` -about how to write independent add-on packages. - -Note that NumPy contains the most basic numerical functionality, and -SciPy is layered on top of NumPy to provide a much wider range of -capabilities. You need NumPy for SciPy to work. - -.. rst-class:: table table-bordered - -+-------+-------------------------+------------------------------------------+ -| NumPy | Code repository | https://github.com/numpy/numpy | -+-------+-------------------------+------------------------------------------+ -| SciPy | Code repository | https://github.com/scipy/scipy | -+-------+-------------------------+------------------------------------------+ - -Interested people can get repository write access as well. This usually -requires a developer "vouching" for you, which happens more easily if you -already made a number of patch contributions. - -.. _packaging: - -On packaging ------------- - -For the majority of users who do not want to build the code from source, binary -installers that "just work" are the key to using SciPy. Producing these after -the coding is finished is the Packaging Team's job. - -Making Source and Binary Releases -################################# - -A releasable tarball gets made from the sources following a straightforward -procedure (see `HOWTO_RELEASE.txt `_). To make -an official release to the community, the release manager typically -makes a series of test releases and announces them on the -mailing lists. After getting feedback, the release manager makes a final release, -posts it, and announces it on the mailing lists. - -Getting Releases Into Distribution -################################## - -Linux distributions and many others pick up our packages and deliver them to -users as part of larger collections. diff --git a/www/scipylib/donations.rst b/www/scipylib/donations.rst deleted file mode 100644 index 2578a8ff..00000000 --- a/www/scipylib/donations.rst +++ /dev/null @@ -1,69 +0,0 @@ -========= -Donations -========= - -Support SciPy development -------------------------- - -SciPy will always be 100% open source software, free for all to use and -released under the liberal terms of the modified BSD license. While we have a -large number of `contributors `_ who -volunteer their time to improve SciPy, financial resources are needed to run -the project and accelerate its development. If you have found SciPy -useful in your work, research, or company, please consider making a donation to -the project commensurate with your resources. Any amount helps! - -If you are interested in donating to the project, you can use the *PayPal* -button below or click the "Support NumFOCUS" button at the bottom our `homepage `_ -(if you use the latter, please indicate that you are donating to the SciPy -project). All donations will be used strictly to fund SciPy development, by -supporting activities such as developer sprints, documentation and maintenance -work, and paying for hosting costs of servers and build slaves. - - -Our donations are managed by the `NumFOCUS`_ foundation, which passes 90% of -your contribution to the SciPy project, and provides the SciPy development team -with basic administrative and legal services for the other 10%. NumFOCUS is a -501(c)3 non-profit foundation, so if you are subject to the US Tax law, your -contributions are tax-deductible. - -.. raw:: html - - - - -Acknowledgements ----------------- - -The SciPy development team would like to thank the following companies and -organizations for providing financial support, services, or development -infrastructure: - -- `Tidelift`_: financial support for SciPy through the Tidelift open source subscription -- `Enthought`_: scipy.org and mailing lists hosting, holding the SciPy trademark -- `NumFOCUS`_: several small development grants, and a hosted Mac Mini build machine -- `Google`_: support for many Google Summer of Code students -- `Intel`_: Intel `MKL `_ licenses -- `BYU`_: employed Travis Oliphant while working on SciPy -- `Mayo Clinic`_: employed Travis Oliphant while working on SciPy - -*This list is ordered by time (most recent contributions first) and was last -updated in April 2019.* - -.. - # end of page content; list of links below - -.. _Tidelift: https://tidelift.com/subscription/pkg/pypi-scipy?utm_source=pypi-scipy&utm_medium=referral&utm_campaign=readme -.. _Enthought: https://www.enthought.com -.. _Mayo Clinic: https://www.mayoclinic.org -.. _BYU: https://www.byu.edu -.. _Intel: https://www.intel.com -.. _NumFOCUS: https://numfocus.org -.. _Google: https://google.com diff --git a/www/scipylib/download.rst b/www/scipylib/download.rst deleted file mode 100644 index 37e44301..00000000 --- a/www/scipylib/download.rst +++ /dev/null @@ -1,175 +0,0 @@ -================================= -Obtaining NumPy & SciPy libraries -================================= - -.. seealso:: - - :doc:`/install` - -.. _download-official: - -Official source and binary releases ------------------------------------ - -For each official release of NumPy and SciPy, we provide source code (tarball), -as well as binary wheels for several major platforms (Windows, OSX, Linux). - -+--------+------------------------------+-------------------------------------+ -| Project| Available packages | Download location | -+========+==============================+=====================================+ -| | Official *source code* | | -| | (all platforms) and | `PyPI page for NumPy`_ | -| NumPy | *binaries* for **Windows**, | | -| | **Linux** and **Mac OS X** | | -| | | | -+--------+------------------------------+-------------------------------------+ -| | Official *source code* | | -| | (all platforms) and | `SciPy release page`_ (sources) | -| SciPy | *binaries* for **Windows**, | | -| | **Linux** and **Mac OS X** | `PyPI page for SciPy`_ (all) | -| | | | -| | | | -+--------+------------------------------+-------------------------------------+ - -.. _NumPy release page: https://github.com/numpy/numpy/releases -.. _SciPy release page: https://github.com/scipy/scipy/releases -.. _PyPI page for NumPy: https://pypi.python.org/pypi/numpy -.. _PyPI page for SciPy: https://pypi.python.org/pypi/scipy - -Source code repository access ------------------------------ - -The most recent development versions of NumPy and SciPy are available through -the official repositories hosted on `GitHub`_. - -.. _GitHub: https://github.com/ - -To check out the latest **NumPy** sources:: - - git clone https://github.com/numpy/numpy.git numpy - -To check out the latest **SciPy** sources:: - - git clone https://github.com/scipy/scipy.git scipy - -Build instructions ------------------- - -Build instructions for SciPy can be found in its documentation. -The latest version can be found at: -https://docs.scipy.org/doc/scipy-dev/reference/building/index.html - - -.. _download-thirdpartypackages: - -Third-party/vendor package managers ------------------------------------ - -Below is a partial list of third-party and operating system vendor package -managers containing NumPy and SciPy packages. - -These packages are **not** maintained by the NumPy and SciPy -developers; this list is provided only as a convenience. These -packages may not always provide the most up-to-date version of the -software, and may be unmaintained. - -**IMPORTANT:** If you experience problems with these packages (*especially* -those related to installation/build errors), **please report the problem to -the package maintainer first, rather than to the NumPy/SciPy mailing lists**. - -+---------------------+---------------------------+---------------------------+ -| Distribution | NumPy Packages | SciPy Packages | -+=====================+===========================+===========================+ -| `Arch Linux`_ | `python-numpy`__ | `python-scipy`__ | -| | | | -| | __ python-numpy-arch_ | __ python-scipy-arch_ | -+---------------------+---------------------------+---------------------------+ -| `Debian GNU/Linux`_ | `python-numpy`__ | `python-scipy`__ | -| | | | -| | __ python-numpy-debian_ | __ python-scipy-debian_ | -+---------------------+---------------------------+---------------------------+ -| `Ubuntu Linux`_ | `python-numpy`__ | `python-scipy`__ | -| | | | -| | __ python-numpy-ubuntu_ | __ python-scipy-ubuntu_ | -+---------------------+---------------------------+---------------------------+ -| `Fedora`_ | `numpy`__ | `scipy`__ | -| | | | -| | __ numpy-fedora_ | __ scipy-fedora_ | -+---------------------+---------------------------+---------------------------+ -| `Fink`_ | `numpy-py27`_, | `scipy-py27`_, | -| | `numpy-py35`_ | `scipy-py35`_ | -+---------------------+---------------------------+---------------------------+ -| `FreeBSD (Ports)`_ | `math/py-numpy`_ | `science/py-scipy`_ | -+---------------------+---------------------------+---------------------------+ -| `Gentoo Linux`_ | `dev-python/numpy`_ | `sci-libs/scipy`_ | -+---------------------+---------------------------+---------------------------+ -| `MacPorts`_ | `py-numpy`_, | `py-scipy`_, | -+---------------------+---------------------------+---------------------------+ -| `NetBSD (pkgsrc)`_ | `math/py-numpy`__ | `math/py-scipy`__ | -| | | | -| | __ py-numpy-pkgsrc_ | __ py-scipy-pkgsrc_ | -+---------------------+---------------------------+---------------------------+ -| `OpenSUSE`_ | `python-numpy`_, | `python-scipy`_, | -| | `python-numpy-devel`_ | `python-scipy-devel`_ | -+---------------------+---------------------------+---------------------------+ -| `Slackware Linux`_ | `numpy (slackbuilds.org)`_| `scipy (slackbuilds.org)`_| -+---------------------+---------------------------+---------------------------+ - -.. MacPorts links -.. _MacPorts: http://www.macports.org/ -.. _py-numpy: http://trac.macports.org/browser/trunk/dports/python/py-numpy/Portfile -.. _py-scipy: http://trac.macports.org/browser/trunk/dports/python/py-scipy/Portfile - -.. Fink links -.. _Fink: http://www.finkproject.org/ -.. _numpy-py27: http://pdb.finkproject.org/pdb/package.php/numpy-py27 -.. _numpy-py35: http://pdb.finkproject.org/pdb/package.php/numpy-py35 -.. _scipy-py27: http://pdb.finkproject.org/pdb/package.php/scipy-py27 -.. _scipy-py35: http://pdb.finkproject.org/pdb/package.php/scipy-py35 - -.. Debian links -.. _Debian GNU/Linux: http://www.debian.org/ -.. _python-numpy-debian: https://packages.debian.org/search?keywords=python-numpy -.. _python-scipy-debian: https://packages.debian.org/search?keywords=python-scipy - -.. OpenSUSE links -.. _OpenSUSE: https://www.opensuse.org/ -.. _python-numpy: http://software.opensuse.org/search?q=python-numpy -.. _python-numpy-devel: http://software.opensuse.org/search?q=python-numpy-devel -.. _python-scipy: http://software.opensuse.org/search?q=python-scipy -.. _python-scipy-devel: http://software.opensuse.org/search?q=python-scipy-devel - -.. Gentoo links -.. _Gentoo Linux: https://www.gentoo.org/ -.. _sci-libs/scipy: https://packages.gentoo.org/packages/sci-libs/scipy -.. _dev-python/numpy: https://packages.gentoo.org/packages/dev-python/numpy - -.. Fedora Core links -.. _Fedora: https://getfedora.org/ -.. _numpy-fedora: https://apps.fedoraproject.org/packages/numpy -.. _scipy-fedora: https://apps.fedoraproject.org/packages/scipy - -.. Arch Linux links -.. _Arch Linux: https://www.archlinux.org/ -.. _python-numpy-arch: https://www.archlinux.org/packages/?q=numpy -.. _python-scipy-arch: https://www.archlinux.org/packages/?q=scipy - -.. Slackware links -.. _Slackware Linux: http://www.slackware.com/ -.. _numpy (slackbuilds.org): https://slackbuilds.org/result/?search=numpy -.. _scipy (slackbuilds.org): https://slackbuilds.org/result/?search=scipy - -.. Ubuntu links -.. _Ubuntu Linux: http://www.ubuntu.com/ -.. _python-numpy-ubuntu: http://packages.ubuntu.com/search?keywords=python-numpy -.. _python-scipy-ubuntu: http://packages.ubuntu.com/search?keywords=python-scipy - -.. FreeBSD links -.. _FreeBSD (Ports): https://www.freebsd.org/ports/ -.. _math/py-numpy: https://svnweb.freebsd.org/ports/head/math/py-numpy -.. _science/py-scipy: https://svnweb.freebsd.org/ports/head/science/py-scipy - -.. pkgsrc links -.. _NetBSD (pkgsrc): http://www.pkgsrc.org/ -.. _py-numpy-pkgsrc: http://pkgsrc.se/math/py-numpy -.. _py-scipy-pkgsrc: http://pkgsrc.se/math/py-scipy diff --git a/www/scipylib/faq.rst b/www/scipylib/faq.rst deleted file mode 100644 index 7e58dd02..00000000 --- a/www/scipylib/faq.rst +++ /dev/null @@ -1,529 +0,0 @@ -.. _faq-top: - -========================== -Frequently Asked Questions -========================== - -.. toctree:: - :hidden: - -.. contents:: - :local: - -General questions about NumPy ------------------------------ - -What is NumPy? -############## - -NumPy is a Python extension module that provides efficient operation on arrays -of homogeneous data. It allows Python to serve as a high-level language for -manipulating numerical data, much like, for example, IDL or MATLAB. - -Why should I use NumPy rather than IDL, MATLAB, or Octave? -########################################################## - -As always, you should choose the programming tools that suit your problem -and your environment. Advantages many people cite are that it is open-source, -it doesn't cost anything, it uses a general-purpose programming language (Python), -which is very popular and has high-quality libraries for almost any task available, -and it is relatively easy to connect existing C and Fortran code to the Python interpreter. - -What is a NumPy array? -###################### - -A NumPy array is a multidimensional array of objects all of the same type. -In memory, it is an object which points to a block of memory, keeps track -of the type of data stored in that memory, keeps track of how many -dimensions there are and how large each one is, and - importantly - -the spacing between elements along each axis. - -For example, you might have a NumPy array that represents the numbers from -zero to nine, stored as 32-bit integers, one right after another, in a single -block of memory. (For comparison, each Python integer needs to have some type -information stored alongside it.) You might also have the array of even -numbers from zero to eight, stored in the same block of memory, but with a -gap of four bytes (one 32-bit integer) between elements. This is called -**striding**, and it means that you can often create a new array referring -to a subset of the elements in an array without copying any data. Such subsets -are called **views**. This is an efficiency gain, obviously, but it also -allows modification of selected elements of an array in various ways. - -An important constraint on NumPy arrays is that, for a given axis, all the -elements must be spaced by the same number of bytes in memory. NumPy cannot -use double-indirection to access array elements, so indexing modes that would -require this must produce copies. This constraint makes it possible for all -the inner loops in NumPy's internals to be written in efficient C code. - -NumPy arrays offer a number of other possibilities, including using a -memory-mapped disk file as the storage space for an array, and **record -arrays**, where each element can have a custom, compound data type. - -What advantages do NumPy arrays offer over (nested) Python lists? -################################################################# - -Python's lists are efficient general-purpose containers. They support -(fairly) efficient insertion, deletion, appending, and concatenation, -and Python's list comprehensions make them easy to construct and manipulate. -However, they have certain limitations: they don't support "vectorized" -operations, like elementwise addition and multiplication, and the fact that -they can contain objects of differing types mean that Python must store -type information for every element, and must execute type-dispatching -code when operating on each element. This also means that very few list -operations can be carried out by efficient C loops -- each iteration -would require type checks and other Python API bookkeeping. - -What's the story behind Numeric, numarray, and NumPy? -##################################################### - -The short version is that Numeric was the original package that provided -efficient homogeneous numeric arrays for Python, but some developers felt -it lacked certain essential features, so they began developing an independent -implementation called numarray. Having two incompatible implementations of -array was clearly a disaster in the making, so NumPy was designed to be an -improvement on both. - -Neither Numeric nor numarray is currently supported. NumPy has been the -standard array package for a number of years now. If you use Numeric or -numarray, you should upgrade; NumPy is explicitly designed to have all the -capabilities of both (and already boasts new features found in neither -of its predecessor packages). There are tools available to ease the upgrade -process; only C code should require much modification. - -General questions about SciPy ------------------------------ - -What is SciPy? -############## - -SciPy is a set of open source (BSD licensed) scientific and numerical tools -for Python. It currently supports special functions, integration, ordinary -differential equation (ODE) solvers, gradient optimization, parallel -programming tools, an expression-to-C++ compiler for fast execution, -and others. A good rule of thumb is that if it's covered in a general textbook -on numerical computing (for example, the well-known Numerical Recipes series), -it's probably implemented in SciPy. - -How much does it cost? -###################### - -SciPy is freely available. It is distributed as open source software, -meaning that you have complete access to the source code and can use it in -any way allowed by its liberal BSD license. - -What are SciPy's licensing terms? -################################# - -SciPy's license is free for both commercial and non-commercial use, per the terms -of the BSD license `here `__. - -How can SciPy be fast if it is written in an interpreted language like Python? -############################################################################## - -Actually, the time-critical loops are usually implemented in C, C++, or Fortran. -Parts of SciPy are thin layers of code on top of the scientific routines that -are freely available at http://www.netlib.org/. Netlib is a huge repository -of incredibly valuable and robust scientific algorithms written in C and -Fortran. It would be silly to rewrite these algorithms and would take years -to debug them. SciPy uses a variety of methods to generate "wrappers" around -these algorithms so that they can be used in Python. Some wrappers were -generated by hand coding them in C. The rest were generated using either SWIG -or f2py_. Some of the newer contributions to SciPy are either written -entirely or wrapped with Cython_. - -.. _Cython: http://cython.org/ - -A second answer is that for difficult problems, a better algorithm can make -a tremendous difference in the time it takes to solve a problem. So, using -SciPy's built-in algorithms may be much faster than a simple algorithm -coded in C. - -I've found a bug. What do I do? -################################ - -The SciPy development team works hard to make SciPy as reliable as possible, -but, as in any software product, bugs do occur. If you find bugs that affect -your software, please tell us by entering a ticket in the -`SciPy bug tracker `_, -or `NumPy bug tracker `_, -as appropriate. - -How can I get involved in SciPy? -################################ - -Drop us a mail on the :doc:`mailing lists `. We are -keen for more people to help out writing code, unit tests, -documentation (including translations into other languages), and -helping out with the website. - -Is there commercial support available? -###################################### - -Yes, commercial support is offered for SciPy by a number of companies, -for example Anaconda_, Enthought_, and Quansight_. - -NumPy vs. SciPy vs. other packages ----------------------------------- - -What is the difference between NumPy and SciPy? -############################################### - -In an ideal world, NumPy would contain nothing but the array data type and -the most basic operations: indexing, sorting, reshaping, basic elementwise -functions, etc. All numerical code would reside in SciPy. However, -one of NumPy's important goals is compatibility, so NumPy tries to retain -all features supported by either of its predecessors. Thus, NumPy contains -some linear algebra functions and Fourier transforms, even though these more -properly belong in SciPy. In any case, SciPy contains more fully-featured -versions of the linear algebra modules, as well as many other numerical -algorithms. If you are doing scientific computing with Python, you should -probably install both NumPy and SciPy. Most new features belong in SciPy -rather than NumPy. - -How do I make plots using NumPy/SciPy? -###################################### - -Plotting functionality is beyond the scope of NumPy and SciPy, which focus -on numerical objects and algorithms. Several packages exist that integrate -closely with NumPy and Pandas to produce high quality plots, such as the -immensely popular `Matplotlib`_. Other popular options are `Bokeh`_, `Plotly`_, -`Altair`_, and `Chaco`_. - -How do I make 3D plots/visualizations using NumPy/SciPy? -######################################################## - -Like 2D plotting, 3D graphics is beyond the scope of NumPy and SciPy, but -just as in the 2D case, packages exist that integrate with NumPy. -`Matplotlib`_ provides basic 3D plotting in the :mod:`mplot3d` subpackage, whereas -`Mayavi `_ provides a wide range -of high-quality 3D visualization features, utilizing the powerful -`VTK `_ engine. - -Why both :mod:`numpy.linalg` and :mod:`scipy.linalg`? What's the difference? -############################################################################ - -:mod:`scipy.linalg` is a more complete wrapping of Fortran LAPACK_ using f2py_. - -One of the design goals of NumPy was to make it buildable without a Fortran -compiler, and if you don't have LAPACK available, NumPy will use its own -implementation. SciPy requires a Fortran compiler to be built, and heavily -depends on wrapped Fortran code. - -.. _LAPACK: http://www.netlib.org/lapack/ - -.. You can check the underlying detected implementation for both of these with -.. ``show_config``: -.. -.. :: -.. -.. import numpy as np -.. import scipy -.. print(np.show_config()) -.. print(scipy.show_config()) - -The :mod:`linalg` modules in NumPy and SciPy have some common functions but -with different docstrings, and :mod:`scipy.linalg` contains functions not -found in :mod:`numpy.linalg`, such as functions related to -`LU decomposition`_ and the `Schur decomposition`_, multiple ways -of calculating the pseudoinverse, and matrix transcendentals, like the `matrix -logarithm`_. Some functions that exist in both have augmented functionality -in :mod:`scipy.linalg`; for example, :func:`scipy.linalg.eig` can take a second -matrix argument for solving `generalized eigenvalue problems`_. - -.. _LU decomposition: https://en.wikipedia.org/wiki/LU_decomposition -.. _Schur decomposition: https://en.wikipedia.org/wiki/Schur_decomposition -.. _matrix logarithm: https://en.wikipedia.org/wiki/Logarithm_of_a_matrix -.. _generalized eigenvalue problems: GEVP_ -.. _GEVP: https://en.wikipedia.org/wiki/Generalized_eigenvalue_problem - -Python version support ----------------------- - -Do NumPy and SciPytill support Python 2.7? -########################################## - -The last version of NumPy to support Python 2.7 is NumPy 1.16.x. The last SciPy version -to do so is SciPy 1.2.x. -The first release of NumPy to support Python 3.x was NumPy 1.5.0. -Python 3 support in SciPy was introduced in SciPy 0.9.0. - -Does NumPy/SciPy work with PyPy? -################################ - -In general, yes. Recent improvements in PyPy_ have made the scientific Python -stack work with PyPy. The NumPy and SciPy projects run PyPy in continuous -integration and aim to further improve support over time. -Since much of NumPy and SciPy is implemented as C extension -modules, the code may not run any faster (for most cases it's significantly -slower still, however, PyPy is actively working on improving this). As always -when benchmarking, your experience is the best guide. - -Does NumPy/SciPy work with Jython or C#/.NET? -############################################# - -No, neither is supported. Jython never worked, because it runs on top of the -Java Virtual Machine and has no way to interface with extensions written in C -for the standard Python (CPython) interpreter. - -Some years ago, there was an effort to make NumPy and SciPy compatible with .NET. -Some users at the time reported success in using NumPy with `Ironclad -`_ on 32-bit Windows. - - -Basic NumPy/SciPy usage ------------------------ - -What is the preferred way to check for an empty (zero-element) array? -##################################################################### - -If you are certain a variable is an array, then use the size attribute. -If the variable is a list or other sequence type, use :func:`len`. -The size attribute is preferable to len because: - -:: - - >>> a = numpy.zeros((1,0)) - >>> a.size - 0 - -whereas - -:: - - >>> len(a) - 1 - -I want to load data from a text file. How do I make this code more efficient? -############################################################################# - -Use :func:`numpy.loadtxt`. Even if your text file has header and footer -lines or comments, loadtxt can almost certainly read it; it is convenient and -efficient. - -If you find this still too slow, you can try pandas (it has a faster csv -reader for example). If that doesn't help, you should consider changing to a -more efficient file format than plain text. There are a large number of -alternatives, depending on your needs (and on which version of -NumPy/SciPy you are using): - -* Text files: slow, huge, portable, human-readable; built into NumPy -* pickle: somewhat slow, somewhat portable (may be incompatible with - different NumPy versions); built into NumPy -* HDF5_: high-powered kitchen-sink format; both PyTables_ and h5py_ provide - a NumPy-friendly interface on top of the core HDF5 library written in C -* FITS_: standard kitchen-sink format in astronomy; the astropy_ library - provides a convenient Python interface through its `io.fits`_ package -* `.npy`_: NumPy native binary data format, simple, efficient, portable; - built into NumPy as of 1.0.5 - -.. _HDF5: http://www.hdfgroup.org/ -.. _PyTables: http://www.pytables.org/ -.. _h5py: http://www.h5py.org/ -.. _FITS: http://fits.gsfc.nasa.gov/ -.. _astropy: http://www.astropy.org/ -.. _io.fits: http://docs.astropy.org/en/stable/io/fits/index.html -.. _.npy: http://docs.scipy.org/doc/numpy/neps/npy-format.html - -What is the difference between matrices and arrays? -################################################### - -*Note: NumPy matrices will be deprecated, do not use them for new code. The -rest of the answer below is kept for historical reasons.* - -NumPy's basic data type is the multidimensional array. These can be -1-D (that is, one index, like a list or a vector), -2-D (two indices, like an image), 3-D, or more -(0-D arrays exist and are slightly strange corner cases). -They support various operations, including addition, subtraction, -multiplication, exponentiation, and so on - but all of these are -*elementwise* operations. If you want matrix multiplication between two -2-D arrays, the function :func:`numpy.dot` or the built-in Python -operator ``@`` do this. It also works fine for getting the matrix product of -a 2-D array and a 1-D array, in either direction, or -two 1-D arrays. If you want some kind of matrix -multiplication-like operation on higher-dimensional arrays (tensor -contraction), you need to think over which indices you want to be contracting. -Some combination of :func:`tensordot` and :func:`rollaxis` should do -what you want. - -However, some users find that they are doing so many matrix multiplications -that always having to write ``dot`` as a prefix is too cumbersome, or they -really want to keep row and column vectors separate. For these users, there -is a matrix class. This is simply a transparent wrapper around arrays that -forces arrays to be at least 2-D, and that overloads the -multiplication and exponentiation operations. Multiplication becomes matrix -multiplication, and exponentiation becomes matrix exponentiation. If you want -elementwise multiplication, use :func:`numpy.multiply`. - -The function :func:`asmatrix` converts an array into a matrix (without ever -copying any data); :func:`asarray` converts matrices to arrays. -:func:`asanyarray` makes sure that the result is either a matrix or an array -(but not, say, a list). Unfortunately, a few of NumPy's many functions use -:func:`asarray` when they should use :func:`asanyarray`, so, from time to time, -you may find your matrices accidentally getting converted into arrays. Just use -:func:`asmatrix` on the output of these operations and consider filing a bug. - -Why not just have a separate operator for matrix multiplication? -################################################################ - -From Python 3.5, the ``@`` symbol will be defined as a matrix multiplication -operator, and NumPy and SciPy will make use of this. This addition was the -subject of `PEP 465 `_. The separate -matrix and array types exist to work around the lack of this operator in earlier -versions of Python. - -How do I find the indices of an array where some condition is true? -################################################################### - -The preferred idiom for doing this is to use the function :func:`numpy.nonzero`, -or the :meth:`nonzero` method of an array. Given an array ``a``, the -condition ``a > 3`` returns a boolean array, and since ``False`` is -interpreted as 0 in Python and NumPy, ``np.nonzero(a > 3)`` yields the indices -of ``a`` where the condition is true. - -:: - - >>> import numpy as np - >>> a = np.array([[1,2,3],[4,5,6],[7,8,9]]) - >>> a > 3 - array([[False, False, False], - [ True, True, True], - [ True, True, True]], dtype=bool) - >>> np.nonzero(a > 3) - (array([1, 1, 1, 2, 2, 2]), array([0, 1, 2, 0, 1, 2])) - -The :meth:`nonzero` method of the boolean array can also be called. - -:: - - >>> (a > 3).nonzero() - (array([1, 1, 1, 2, 2, 2]), array([0, 1, 2, 0, 1, 2])) - -How do I count the number of times each value appears in an array of integers? -############################################################################## - -Use :func:`numpy.bincount`. The resulting array is - -:: - - >>> arr = numpy.array([0, 5, 4, 0, 4, 4, 3, 0, 0, 5, 2, 1, 1, 9]) - >>> numpy.bincount(arr) - -The argument to :func:`bincount` must consist of positive integers or booleans. -Negative integers are not supported. - -Advanced NumPy usage --------------------- - -Does NumPy support :const:`nan`? -################################ - -:const:`nan`, short for "not a number", is a special floating-point value -defined by the IEEE-754 specification, along with :const:`inf` (infinity) -and other values and behaviours. In theory, IEEE :const:`nan` was -specifically designed to address the problem of missing values, but the -reality is that different platforms behave differently, making life more -difficult. On some platforms, the presence of :const:`nan` slows calculations -10-100 times. For integer data, no :const:`nan` value exists. - -Despite all these issues NumPy (and SciPy) endeavor to support IEEE-754 -behavior (based on NumPy's predecessor numarray). The most significant -challenge is the lack of cross-platform support within Python itself. Because -NumPy is written to take advantage of C99, which supports IEEE-754, -it can side-step such issues internally, but users may still face problems -when, for example, comparing values within the Python interpreter. - -Those wishing to avoid potential headaches will be interested in an -alternative solution, which has a long history in NumPy's predecessors --- **masked arrays**. Masked arrays are standard arrays with a second -"mask" array of the same shape to indicate whether the value is present -or missing. Masked arrays are the domain of the :mod:`numpy.ma` module, -and continue the cross-platform Numeric/numarray tradition. See -"Cookbook/Matplotlib/Plotting values with masked arrays" (*TODO*) for -example, to avoid plotting missing data in Matplotlib_. Despite their -additional memory requirement, masked arrays are faster than ``nans`` on -many floating point units. See also the `NumPy documentation on masked -arrays `_. - -Another good option is to use pandas - it uses ``nan`` in a similar way to -NumPy for floating-point data, and since pandas 0.25.0 also supports missing -integer values. - -Why doesn't A[[0, 1, 1, 2]] += 1 do what I think it should? -########################################################### - -This comes up from time to time on the :doc:`mailing list -`. See `here -`_ -for one extensive discussion. - -:: - - >>> A = numpy.zeros(3) - >>> A[[0,1,1,2]] += 1 - >>> A - array([ 1., 1., 1.]) - -One might, quite reasonably, have expected A to contain [1,2,1]. -Unfortunately, this is not what is implemented in NumPy. Moreover, the -`Python Reference Manual `_ -specifies that - -:: - - >>> x = x + y - -and - -:: - - >>> x += y - -should result in ``x`` having the same value (though not necessarily the same -identity). Moreover, even if the NumPy developers wanted to modify this behavior, -Python does not provide an overloadable :meth:`__indexed_iadd__` function; -the code acts like - -:: - - >>> tmp = A.__getitem__([0,1,1,2]) - >>> tmp.__iadd__(1) - >>> A.__setitem__([0,1,1,2],tmp) - -This leads to other peculiarities sometimes; if the indexing operation is -actually able to provide a view rather than a copy, the :meth:`__iadd__` -writes to the array, then the view is copied into the array, so that the -array is written to twice. - -However, do not despair! NumPy does contain functionality for this type of behavior, and it can be -obtained by using the ufunc :meth:`at`, which is an attribute of the addition (``np.add``), subtraction -(``np.subtract``), multiplication (``np.multiply``), and division (``np.divide``) ufuncs between a matrix -and a scalar: - -:: - - >>> A = numpy.zeros(3) - >>> numpy.add.at(A, [0, 1, 1, 2], 1) - >>> A - array([ 1., 2., 1.]) - -Where to get help ------------------ - -You can ask questions with the `SciPy tag on StackOverflow -`_, or on the scipy-user -:doc:`mailing list `. Search for an answer first, because someone -may already have found a solution to your problem, and using that will save -everyone time. - -.. Links -.. _f2py: http://www.f2py.com -.. _Enthought: https://www.enthought.com -.. _Anaconda: https://www.anaconda.com -.. _Quansight: https://www.quansight.com -.. _Matplotlib: http://matplotlib.org -.. _Bokeh: https://bokeh.pydata.org/en/latest -.. _Altair: https://altair-viz.github.io -.. _Plotly: https://plot.ly -.. _Chaco: http://code.enthought.com/projects/chaco -.. _PyPy: http://pypy.org diff --git a/www/scipylib/index.rst b/www/scipylib/index.rst deleted file mode 100644 index 746baf04..00000000 --- a/www/scipylib/index.rst +++ /dev/null @@ -1,25 +0,0 @@ -SciPy library -============= - -.. toctree:: - :hidden: - - download - mailing-lists - bug-report - dev-zone - donations - faq - license - -The SciPy library is one of the core packages that make up the SciPy stack. It -provides many user-friendly and efficient numerical routines, such as routines -for numerical integration, interpolation, optimization, linear algebra, and -statistics. - -For tutorials, reference documentation, the SciPy roadmap, and a contributor -guide, please see the `documentation `__. - -SciPy is a community-driven project. Development happens on -`GitHub `__. SciPy is fiscally sponsored by -`NumFOCUS `__. diff --git a/www/scipylib/license.rst b/www/scipylib/license.rst deleted file mode 100644 index f9ba0fd3..00000000 --- a/www/scipylib/license.rst +++ /dev/null @@ -1,33 +0,0 @@ -============= -SciPy license -============= - -| Copyright © 2001, 2002 Enthought, Inc. -| All rights reserved. -| -| Copyright © 2003-2019 SciPy Developers. -| All rights reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are met: - -* Redistributions of source code must retain the above copyright notice, - this list of conditions and the following disclaimer. -* Redistributions in binary form must reproduce the above copyright - notice, this list of conditions and the following disclaimer in the - documentation and/or other materials provided with the distribution. -* Neither the name of Enthought nor the names of the SciPy Developers - may be used to endorse or promote products derived from this software - without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" -AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE -ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE FOR -ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR -SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER -CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT -LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY -OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH -DAMAGE. diff --git a/www/scipylib/mailing-lists.rst b/www/scipylib/mailing-lists.rst deleted file mode 100644 index b430f0d8..00000000 --- a/www/scipylib/mailing-lists.rst +++ /dev/null @@ -1,126 +0,0 @@ -===================================== -SciPy and NumPy project mailing lists -===================================== - -The mailing lists are our primary community forum. This is where we -organize projects, announce new releases, plan future directions, and give and -receive user support. - -To post to a list, you have to be on it. If you want to see **how much -traffic** a list gets, just go to the list archive and take a look. You can opt -to receive messages in digest form. Groups of about 10 messages are sent in -one email, with a table of contents at the top. This reduces inbox clutter, -but means you will get the messages with a delay of up to a day. - -Please only post job ads if the work involves not only using NumPy, SciPy, and -related packages but an opportunity to contribute to these packages as part of -the role (we love to see that become more common!). If that's the case, please -put ``[JOB]`` in the subject. - -We also have read-only mailing lists setup for NumPy and SciPy that -provide notifications of all version control checkins. - -Mailing lists -------------- - -The following table lists the core NumPy and SciPy lists. Please see -:ref:`before-you-post` to make sure that this is the right place to ask -your question. - -+--------------------------------------+------------------+-----------------+ -| **SciPy-user** |`Archives`__ |`Subscribe`__ | -| | | | -| |__ scipy-u-ar_ |__ scipy-u-su_ | -+--------------------------------------+------------------+-----------------+ -| *Our user-support forum, for discussions of how to use SciPy.* | -+--------------------------------------+------------------+-----------------+ -| **SciPy-dev** |`Archives`__ |`Subscribe`__ | -| | | | -| |__ scipy-d-ar_ |__ scipy-d-su_ | -+--------------------------------------+------------------+-----------------+ -| *For discussions about SciPy development (code, website, docs, and more).*| -+--------------------------------------+------------------+-----------------+ -| **NumPy-discussion** |`Archives`__ |`Subscribe`__ | -| | | | -| |__ numpy-d-ar_ |__ numpy-d-su_ | -+--------------------------------------+------------------+-----------------+ -| *For discussion of NumPy* | -+--------------------------------------+------------------+-----------------+ - - -StackOverflow -------------- -StackOverflow_ is a good place to ask usage questions. Tag your question -with ``numpy`` or ``scipy``, and with ``python``. - -Usage questions can, of course, also be asked on the ``scipy-user`` or -``numpy-discussion`` lists. - - -.. _before-you-post: - -Before you post ---------------- - -* Search the appropriate archives first (one way is to use the - "Read/Search" links to Nabble above). Though knowing what search terms - to use is an acquired skill, it's often easier than you think. Also - check the :ref:`faq-top` to see if your question is answered there. -* Please make sure that you're posting to the right list. The **NumPy** - and **SciPy** mailing lists should be used for questions relating to - those two packages in particular (general questions about how to - accomplish a scientific task in Python are okay, too). Questions - about **matplotlib** should go to one of the matplotlib_ mailing - lists. Questions specifically about using/developing the **IPython** - shell should go to one of the IPython_ lists. Making sure your - question is going to the right list saves everyone time and makes it - far more likely the right people will see (and answer) your question - quickly. - -A few points on the mailing list etiquette: - -* **Reply to list, not to sender.** - - In general, it is not necessary to CC respondents on further replies to - your thread. Please reply to the list rather than to the list *and* the - individual respondents (note that the NumPy and SciPy lists add Reply-To - headers to facilitate this; normally, clicking 'Reply' in your mail client - will direct replies to the list rather than the sender). Likewise, - if you expect a reply, you should either monitor the list traffic - through your mail client or through a service like Nabble_; responses - will generally be sent to the list and only the list. - -* **Don't reply to digests.** - - Digests should only be used if you intend to read and not participate. - Replying to digests makes it impossible to follow conversation threads; - please subscribe normally if you wish to participate in the conversation. - -* **Use bottom-posting.** - - When replying to a message, please use bottom-posting. This means quoting - the content you reply to and inserting your replies below each quote. - For more details, see `posting style - `_. - -* **Keep it friendly, folks.** - - Please keep the tone of conversations cordial and respectful, and - recognize that those responding to your questions are volunteering - their free time to do so. The `SciPy code of conduct `__ applies on - SciPy lists and GitHub. - -.. _Nabble: http://www.nabble.com -.. _matplotlib: http://matplotlib.org/ -.. _IPython: http://ipython.org/ -.. _StackOverflow: http://stackoverflow.com -.. _scipy-coc: https://docs.scipy.org/doc/scipy-dev/reference/dev/conduct/code_of_conduct.html - -.. _numpy-d-ar: https://mail.python.org/archives/list/numpy-discussion@python.org/ -.. _scipy-u-ar: https://mail.python.org/archives/list/scipy-user@python.org/ -.. _scipy-d-ar: https://mail.python.org/archives/list/scipy-dev@python.org/ - - -.. _numpy-d-su: https://mail.python.org/mailman/listinfo/numpy-discussion -.. _scipy-u-su: https://mail.python.org/mailman/listinfo/scipy-user -.. _scipy-d-su: https://mail.python.org/mailman/listinfo/scipy-dev diff --git a/www/sphinxext/ipython_console_highlighting.py b/www/sphinxext/ipython_console_highlighting.py deleted file mode 100644 index 7de10bc0..00000000 --- a/www/sphinxext/ipython_console_highlighting.py +++ /dev/null @@ -1,30 +0,0 @@ -""" -reST directive for syntax-highlighting IPython interactive sessions. - -Original at https://github.com/ipython/ipython/blob/master/IPython/sphinxext/ipython_console_highlighting.py - -""" - -from sphinx import highlighting -from IPython.lib.lexers import IPyLexer - -def setup(app): - """Setup as a sphinx extension.""" - - # This is only a lexer, so adding it below to pygments appears sufficient. - # But if somebody knows what the right API usage should be to do that via - # sphinx, by all means fix it here. At least having this setup.py - # suppresses the sphinx warning we'd get without it. - metadata = {'parallel_read_safe': True, 'parallel_write_safe': True} - return metadata - -# Register the extension as a valid pygments lexer. -# Alternatively, we could register the lexer with pygments instead. This would -# require using setuptools entrypoints: http://pygments.org/docs/plugins - -ipy2 = IPyLexer(python3=False) -ipy3 = IPyLexer(python3=True) - -highlighting.lexers['ipython'] = ipy2 -highlighting.lexers['ipython2'] = ipy2 -highlighting.lexers['ipython3'] = ipy3 diff --git a/www/stackspec.rst b/www/stackspec.rst deleted file mode 100644 index 1a14825d..00000000 --- a/www/stackspec.rst +++ /dev/null @@ -1,54 +0,0 @@ -.. _stackspec: - -============================= -The SciPy Stack specification -============================= - -.. note:: - - The SciPy Stack specification was developed in 2012. - As of 2017, the SciPy Stack concept is obsolete given - improvements in package management and distribution. - -Python Distributions promoting themselves as providing the SciPy Stack should -meet the requirements listed below. - -This specification is versioned, so it can be updated. The current version is -SciPy Stack 1.0. - -Components ----------- - -Distributions should include these packages in the initial installation. -Second-level bullet points indicate dependencies: the versions of these should -be sufficient for the packages that require them. - -* Python (2.x >= 2.6 or 3.x >= 3.2) -* NumPy (>= 1.6) -* SciPy library (>= 0.10) -* Matplotlib (>= 1.1) - - - dateutil - - pytz - - support for at least one backend - -* IPython (>= 0.13) - - - pyzmq - - tornado - -* pandas (>= 0.8) -* SymPy (>= 0.7) -* nose (>= 1.1) - - -Other requirements ------------------- - -After installation, entering ``ipython`` in a terminal/command prompt should -start IPython, and it should be possible to import any of the packages specified -above. Distributions are welcome to also provide other shortcuts, menu entries, -and interfaces, such as IDEs. - -The user should be able to install arbitrary extra Python packages into the -distribution. diff --git a/www/topical-software.rst b/www/topical-software.rst deleted file mode 100644 index 838eb63b..00000000 --- a/www/topical-software.rst +++ /dev/null @@ -1,481 +0,0 @@ -================ -Topical software -================ - -This page indexes add-on software and other resources relevant to SciPy, -categorized by scientific discipline or computational topic. It is intended to -be exhaustive. If you know of an unlisted resource, see About this page, -below. - -Additional useful software packages can be -found on the `Python Package Index `__, -especially in its `Science/Research category -`__. - -You may also want to take a look at the `list of SciKits -`__, Python packages oriented -specifically at scientific computation tasks. - -About this page -=============== - -The listings are roughly organized by topic, with introductory -resources first, more general topics next, and discipline-specific -resources last. - -Unless otherwise indicated, all packages listed here are provided -under some form of an open-source license. - -If you distribute or know of a resource that is not listed here, -please add a listing. You can do this by creating an account on -`GitHub `__ and going to `the source of this page -`__. -There, click the "Edit" button and make the changes. Alternatively, -send mail to :doc:`scipy-dev mailing list ` -with subject "Addition to topical software page". - -Please include a description --- be as brief as you can, but make sure -you include in your text a link to the resource's home page and some -keywords that potential users might search for to find the -resource. - -If you wish to restructure the page (e.g., break out a section into its own -page, change the section headings, etc.), please propose the idea to the -SciPy-dev@scipy.org mailing list first and get community feedback. - -General Python resources -======================== - -- `Python.org `__: official website for the Python language. It includes links to the `current documentation and tutorials `__, `downloads for many platforms `__, the Python `mailing lists and newsgroups `__, and much more. -- `Python Package Index (PyPI) `__: the official Python.org package index (the Python standard distribution system, distutils, includes support for automatically registering packages with PyPI). -- `The Python cookbook `__: a community-driven collection of code snippets for many tasks. -- `The O'Reilly Python DevCenter `__: O'Reilly is widely regarded as one of the best computing book publishers, and they maintain a resource center devoted to Python. This includes both their publications and articles on Python-related topics. -- `The Python Learning Foundation `__: a large collection of Python links. - -Tutorials and texts -=================== - -Generic Python/programming tutorials: -------------------------------------- - -- `The standard Python docs `__: this contains the official documentation and tutorials which ship with the language. -- `Learn Python `__: an interactive site with Python tutorials. -- `How to think like a computer scientist `__: a free book for Python beginners. - -Scientific computing with Python tutorials: -------------------------------------------- - -- The main `NumPy and SciPy documentation `__. -- `Python scientific lecture notes `__: a comprehensive set of tutorials on the scientific Python ecosystem. -- `Software Carpentry `__: is an open-source course on basic software development skills for people with backgrounds in science, engineering, and medicine. -- `Lectures on scientific computing with Python `__ by J.R. Johansson. -- `Introduction to statistics `__: an introduction to the basic statistical concepts, combined with a complete set of application examples for the statistical data analysis with Python (by T. Haslwanter). - -Older scientific computing tutorials: -------------------------------------- - -- `Python scripting for computational science `__: not free, this is a Springer book. -- `Python/MATLAB/Octave/Scilab/R/Gnuplot/IDL/Axiom `__: cross-reference by Vidar Gundersen. -- A `tutorial focused on interactive data analysis `__: for astronomy, but of generic utility to most scientific users. Developed at the STSCI, available for free download including `all data files `__ necessary to run the examples. Do note that the ``pyfits`` library has now been subsumed into the ``astropy`` library under the ``astropy.io.fits`` package. - -Working environments -==================== - -- `Anaconda `__: a free, enterprise-ready Python distribution with hundreds of cross-platform-tested and optimized packages for Mac OS X, Windows, and Linux users. Installs into a single directory. Doesn't require root or local administrator privileges. Contains the package and environment manager tool, `conda `. -- `Python(x,y) `__: a complete distribution for Windows or Ubuntu users containing all the packages needed for full Python distribution for scientific development, including Qt based GUI design. Also includes Spyder (see below), a Python IDE suited to scientific development. Python 2 only. -- `WinPython `_: similar to Python(x, y), another comprehensive distribution including scientific packages and the Spyder IDE. Windows only, but more actively maintained and supports the latest Python 3 releases. -- `IPython `__: an interactive environment with many features geared towards efficient work in typical scientific usage. It borrows many ideas from the interactive shells of Mathematica, IDL, MATLAB and similar packages. It includes special support for the matplotlib and gnuplot plotting packages. IPython also has support for (X)Emacs, to be used as a full IDE with IPython as the interactive Python shell. -- `Jupyter Notebook `__: a web application that works off of the IPython and allows you to create and share documents containing live code and can be used in all sorts of contexts from statistical modeling to data cleaning. -- `Spyder `__: a PyQt-based IDE combining the editing, analysis, debugging and profiling functionality of a software development tool with the data exploration, interactive execution, deep inspection, and rich visualization capabilities of a scientific environment. Includes integrated IPython, SymPy, PyLab, and Cython consoles, a variable explorer with support for GUI editing and manipulation of collections, NumPy arrays, pandas DataFrames and arbitrary objects, a SciPy-based data import wizard, and built-in Matplotlib visualization. -- `Microsoft Visual Studio `__: a free, rich IDE that natively supports Python and Anaconda. It also supports CPython, IronPython, the IPython REPL, debugging, profiling, Git and GitHub. Also has a lighter version, named Visual Studio Code, which is a code editor with debugger. Both feature powerful IntelliSense, and support Windows and macOS, plus Linux, in the case of Code. -- `Enthought Canopy `__: an analysis environment that includes Enthought's Python distribution and an analysis desktop with a code-checking text editor and an IPython console. Canopy also includes a graphical package manager, online documentation browser and support for Linux, Windows, and Mac. -- `IEP `__: a cross-platform Python IDE focused on interactivity and introspection, which makes it very suitable for scientific computing. Its practical design is aimed at simplicity and efficiency. IEP consists of two main components, the editor and the shell, and uses a set of pluggable tools to help the programmer in various ways. Some example tools are source structure, project manager, interactive help, workspace, etc. -- `Pymacs `__: a tool which, once started from Emacs, allows both-way communication between Emacs Lisp and Python. -- `Python Tools for Visual Studio `__: a rich IDE plugin for Visual Studio that supports CPython, IronPython, the IPython REPL, debugging, profiling, including running debugging MPI program on HPC clusters. -- `Plotly `__: an online Python environment for data exploration and graphing. Plotly has a command line, and allows for storage and sharing of Python scripts, and has special support for `interactive Plotly graphs `__. -- `Other IDE links `__: the official Python website maintains a comprehensive lists of IDEs for Python. - -Science: basic tools -==================== - -These are links which cover basic tools generally useful for scientific work in almost any area. Many of the more specific packages listed later depend on one or more of these. - -- `SciPy `__: umbrella project which includes a variety of high level science and engineering modules together as a single package. SciPy includes modules for linear algebra (including wrappers to BLAS and LAPACK), optimization, integration, special functions, FFTs, signal and image processing, ODE solvers, and others. -- `NumPy `__: the package SciPy builds on and requires as a pre-requisite. It is a hybrid of both Numeric and Numarray incorporating features of both. If you are new to Numeric computing with Python, you should use NumPy. -- `ScientificPython `__ : another collection of Python modules for scientific computing. It includes basic geometry (vectors, tensors, transformations, vector and tensor fields), quaternions, automatic derivatives, (linear) interpolation, polynomials, elementary statistics, nonlinear least-squares fits, unit calculations, FORTRAN-compatible text formatting, 3D visualization via VRML, and two Tk widgets for simple line plots and 3D wireframe models. There are also interfaces to the netCDF library (portable structured binary files), to MPI (Message Passing Interface, message-based parallel programming), and to BSPlib (Bulk Synchronous Parallel programming). Much of this functionality has been incorporated into SciPy, but not all. -- `Numexpr `__: a package that accepts numpy array expressions as strings, rewrites them to optimize execution time and memory use, and executes them much faster than numpy usually can. -- `PyGSL `__: a Python interface for the `GNU scientific library (gsl) `__. -- `GMPY2 `__: a Python interface for the GNU Multiple Precision library (gmp). -- `PyROOT `__: a runtime-based Python binding to the `ROOT `__ framework: ROOT is a complete system for development of scientific applications, from math and graphics libraries, to efficient storage and reading of huge data sets, to distributed analysis. The Python bindings are based on runtime-type information, such that you can add your own C++ classes on the fly to the system with a one-liner and down-casting as well as pointer manipulations become unnecessary. Using RTTI keeps memory and call overhead down to a minimum, resulting in bindings that are more lightweight and faster than any of the "standard" bindings generators. -- `bvp `__: a Python wrapper for a modified version of the `COLNEW `__ boundary value problem solver. (COLNEW has a non-commercial-only type license) -- `NetworkX `__: a Python package for the creation, manipulation, and study of the structure, dynamics, and function of complex networks. -- `PyAMG `__: a library of Algebraic Multigrid (AMG) solvers for large scale linear algebra problems. -- `PyTrilinos `__: a Python interface to Trilinos, a framework for solving large-scale, complex multi-physics engineering and scientific problems. -- `PyIMSLStudio `__: a complete packaged, supported and documented development environment for Windows and Red Hat designed for prototyping mathematics and statistics models and deploying them into production applications. PyIMSL Studio includes wrappers for the IMSL Numerical Library, a Python distribution and a selection of open source Python modules useful for prototype analytical development. PyIMSL Studio is available for download at no charge for non-commercial use or for commercial evaluation. -- `Bottleneck `__: a collection of fast NumPy array functions written in Cython. -- `KryPy `__: a Krylov subspace methods package for the efficient solution of linear algebraic systems with large and sparse matrices. -- `Imageio `__: a library that provides an easy interface to read and write a wide range of image data, including animated images, video, volumetric data, and scientific formats. It is cross-platform, runs on Python 2.x and 3.x, and is easy to install. -- `mpmath `__: a free (BSD-licensed) Python library for real and complex floating-point arithmetic with arbitrary precision. -- `paramnormal `__: a wrapper around the ``scipy.stats`` module that facilitates creating, fitting, and vizualizing probability distributions with more conventional parameters. -- `MetroloPy `__: tools for dealing with physical quantities: uncertainty propagation and unit conversion - - -Running code written in other languages -======================================= - -Wrapping C, C++, and FORTRAN code ----------------------------------- - -- `SWIG `__: SWIG is a software development tool that connects programs written in C and C++ with a variety of high-level programming languages. SWIG is primarily used with common scripting languages, such as Perl, Python, Tcl/Tk, and Ruby. -- `Boost.Python `__: a C++ library which enables seamless interoperability between C++ and Python. The `PythonInfo Wiki `__ contains a good howto reference. "c++-sig": https://www.python.org/community/sigs/current/cplusplus-sig/ at python.org is devoted to Boost and you can subscribe to their mailing list. -- `F2PY `__: provides a connection between the Python and FORTRAN languages. F2PY is a Python extension tool for creating Python C/API modules from (handwritten or F2PY generated) signature files (or directly from FORTRAN sources). -- `Cython `__: allows the inclusion of C/C++ within Python code. It has facilities for automatic creation of C/C++ based Python extension modules, as well as for direct inlining of C/C++ code in Python sources. The latter combines the scripting flexibility of Python with the execution speed of compiled C/C++, while handling automatically all module generation details. -- `Pyrex `__: Pyrex lets you write code that mixes Python and C data types any way you want, and compiles it into a C extension for Python. See also `Cython `__. -- `PyCxx `__: CXX/Objects is a set of C++ facilities to make it easier to write Python extensions. The chief way in which PyCXX makes it easier to write Python extensions is that it greatly increases the probability that your program will not make a reference-counting error and will not have to continually check error returns from the Python C API. -- `ctypes `__: a package to create and manipulate C data types in Python, and to call functions in dynamic link libraries/shared dlls. It allows wrapping these libraries in pure Python. -- `railgun `__: ctypes utilities for faster and easier simulation programming in C and Python - -Wrapping MATLAB, R, and IDL codes ---------------------------------- - -- `matlab `__: the "official" Python interface to MATLAB. Interfaces with MATLAB by treating it as a computational engine. For information about how to interface with Python from MATLAB, visit this link `here `__. -- `pythoncall `__: a MATLAB-to-Python bridge. Runs a Python interpreter inside MATLAB and allows transferring data (matrices etc.) between the Python and MATLAB workspaces. -- `rpy2 `__: a very simple, yet robust, Python interface to the `R Programming Language `__. It can manage all kinds of R objects and can execute arbitrary R functions (including the graphic functions). All errors from the R language are converted to Python exceptions. Any module installed for the R system can be used from within Python. -- `mirpyidl `__: a library to call IDL (Interactive Data Language) from Python. Allows transparent wrapping of IDL routines and objects as well as arbitrary execution of IDL code. Utilizes connections to a separately running idlrpc server (distributed with IDL). - -Converting code from other array languages ------------------------------------------- - -- `IDL `__: the Interactive Data Language from ITT -- `SMOP `__: a small MATLAB and Octave to Python converter. Translates legacy MATLAB libraries to python. - -Plotting, data visualization, 3-D programming -============================================= - -Tools with a (mostly) 2-D focus -------------------------------- - -- `matplotlib `__: a Python 2-D plotting library, which produces publication-quality figures used in a variety of hardcopy formats (PNG, JPG, PS, SVG) and interactive GUI environments (WX, GTK, Tkinter, FLTK, Qt) across platforms. matplotlib can be used in Python scripts, interactively from the Python shell (à la MATLAB or Mathematica), in web application servers generating dynamic charts, or embedded in GUI applications. For interactive use, `IPython `__ provides a special mode which integrates with matplotlib. See the `matplotlib gallery `__ for recipes. -- `Bokeh `__: an interactive web visualization library for large datasets. Its goal is to provide elegant, concise construction of novel graphics in the style of Protovis/D3, while delivering high-performance interactivity over large data to thin clients. -- `Chaco `__: Chaco is a Python toolkit for producing interactive plotting applications. Chaco applications can range from simple line plotting scripts up to GUI applications for interactively exploring different aspects of interrelated data. As an open-source project being developed by Enthought, Chaco leverages other Enthought technologies, such as Kiva, Enable, and Traits to produce highly interactive plots of publication quality. -- `PyQwt `__: a set of Python bindings for the `Qwt `__ C++ class library which extends the `Qt `__ framework with widgets for scientific and engineering applications. It provides a widget to plot 2-D data and various widgets to display and control bounded or unbounded floating point values. -- `HippoDraw `__: a highly interactive data analysis environment. It is written in C++ with the `Qt `__ library from `The Qt Company `__. It includes Python bindings, and has a number of features for the kinds of data analysis typical of High Energy physics environments, as it includes native support for `ROOT `__ NTuples. It is well optimized for real-time data collection and display. -- `Biggles `__: a module for creating publication-quality 2-D scientific plots. It supports multiple output formats (postscript, x11, png, svg, gif), understands simple TeX, and sports a high-level, elegant interface. -- `Gnuplot.py `__: a Python package that interfaces to `gnuplot `__, the popular open-source plotting program. It allows you to use gnuplot from within Python to plot arrays of data from memory, data files, or mathematical functions. If you use Python to perform computations or as "glue" for numerical programs, you can use this package to plot data on the fly as they are computed. `IPython `__ includes additional enhancements to Gnuplot.py (but which require the base package) to make it more efficient in interactive usage. -- `Graceplot `__: a Python interface to the `Grace `__ 2-D plotting program. -- disipyl: an object-oriented wrapper around the `DISLIN `__ plotting library, written in the computer language Python. disipyl provides a set of classes which represent various aspects of DISLIN plots, as well as providing some easy to use classes for creating commonly used plot formats (e.g. scatter plots, histograms, 3-D surface plots). A major goal in designing the library was to facilitate interactive data exploration and plot creation. -- `OpenCV `__: mature library for image processing, structural analysis, motion analysis and object tracking, and pattern recognition that has recently added Swig-based Python bindings. Windows and Linux-RPM packages available. An open-source project originally sponsored by Intel, can be coupled with Intel Performance Primitive package (IPP) for increased performance. -- `pygame `__: though intended for writing games using Python, its general-purpose multimedia libraries definitely have other applications in visualization. -- `PyNGL `__: a Python module for creating publication-quality 2-D visualizations, with emphasis on geosciences. PyNGL can create contours, vectors, streamlines, XY plots, and overlay any one of these on several map projections. PyNGL's graphics are based on the same high-quality graphics as the NCAR Command Language and NCAR Graphics. -- `Veusz `__ : a scientific plotting package written in Python. It uses `PyQt `__ and `NumPy `__. Veusz is designed to produce publication-ready PDF, SVG, bitmap, and Postscript output. -- `Yellowbrick `_ A suite of custom matplotlib visualizers for scikit-learn estimators to support visual model selection, evaluation, and diagnostics. - -Data visualization (mostly 3-D, surfaces and volumetric rendering) ------------------------------------------------------------------- - -- `Mayavi2 `__: a free, easy-to-use scientific data visualizer in Python. It uses the amazing `Visualization Toolkit (VTK) `__ for the graphics and provides a GUI written using `Tkinter `__. MayaVi supports visualizations of scalar, vector, and tensor data in a variety of ways, including meshes, surfaces, and volumetric rendering. MayaVi can be used both as a standalone GUI program and as a Python library to be driven by other Python programs. It supports NumPy arrays transparently and provides a powerful pylab like equivalent called mlab for rapid 3-D plotting. -- `visvis `__: a pure Python library for visualization of 1-D to 4-D data in an object-oriented way. Essentially, visvis is an object-oriented layer of Python on top of OpenGl, thereby combining the power of OpenGl with the usability of Python. A MATLAB-like interface in the form of a set of functions allows easy creation of objects (e.g., plot(), imshow(), volshow(), surf()). -- `S2PLOT `__: a 3-D plotting library based on OpenGL with support for standard and enhanced display devices. The S2PLOT library was written in C and can be used with C, C++, FORTRAN, and Python programs on GNU/Linux, Apple/OSX, and GNU/Cygwin systems. The library is currently closed-source, but free for commercial and academic use. They are hoping for an open-source release towards the end of 2008. - -LaTeX, PostScript, diagram generation -------------------------------------- - -- `PyX `__: a package for the creation of encapsulated PostScript figures. It provides both an abstraction of PostScript and a TeX/LaTeX interface. Complex tasks like 2-D and 3-D plots in publication-ready quality are built out of these primitives. -- `Dot2TeX `__: Another tool in the Dot/Graphviz/LaTeX family, this is a Graphviz to LaTeX converter. The purpose of dot2tex is to give graphs generated by Graphviz a more LaTeX friendly look and feel. This is accomplished by converting xdot output from Graphviz to a series of PSTricks or PGF/TikZ commands. -- `pyreport `__: runs a script and captures the output (pylab graphics included). Generates a LaTeX or pdf report out of it, including literal comments and pretty printed code. - -Other 3-D programming tools ---------------------------- - -- `VPython `__: a Python module that offers real-time 3-D output, and is easily usable by novice programmers. -- `OpenRM Scene Graph: `__: a developers toolkit that implements a scene graph API, and which uses OpenGL for hardware accelerated rendering. OpenRM is intended to be used to construct high performance, portable graphics and scientific visualization applications on Unix/Linux/Windows platforms. -- `Panda3D `__: an open-source game and simulation engine. -- `Python Computer Graphics Kit: `__: a collection of Python modules that contain the basic types and functions required for creating 3-D computer graphics images. -- `Python 3-D software collection `__: a small collection of pointers to Python software for working in three dimensions. -- `pythonOCC `__: Python bindings for `OpenCascade `__, a 3-D modeling and numerical simulation library. (`related `__ projects) -- `PyGTS `__: a Python package used to construct, manipulate, and perform computations on 3-D triangulated surfaces. It is a hand-crafted and pythonic binding for the `GNU Triangulated Surface (GTS) Library `__. -- `pyFormex `__: a program for generating, transforming, and manipulating large geometrical models of 3-D structures by sequences of mathematical operations. - -Any-dimensional tools ---------------------- - -- `SpaceFuncs `__: a tool for 2-D, 3-D, N-D geometric modeling with possibilities of parametrized calculations, numerical optimization, and solving systems of geometrical equations with automatic differentiation. -- `pyqtgraph `__: pure Python plotting, 3-D graphics (including volumetric and isosurface rendering), and GUI library based on PyQt, python-opengl, and NumPy/SciPy. Includes tools for display and manipulation of multidimensional image data. Intended for use in scientific/engineering applications; fast enough for realtime data/video display. - -Optimization -============ - -- `CMA `__: Covariance Matrix Adaptation Evolution Strategy for non-linear numerical optimization in Python. - -- `CVXOPT `__: (license: GPL3), a tool for convex optimization, which defines its own matrix-like object and interfaces to FFTW, BLAS, and LAPACK. - -- `CVXPY `__: a Python-embedded modeling language for convex optimization problems. - -- `DEAP `__: Distributed Evolutionary Algorithms in Python. - -- `ECsPy `__: Evolutionary Computations in Python. - -- `Mystic `__: an optimization framework focused on continuous optimization. - -- `NLPy `__: a Python optimization framework that leverages AMPL to create problem instances, which can then be processed in Python. - -- `OpenOpt `__: (license: BSD), a numerical optimization framework with some own solvers and connections to lots of other. It allows connection of '''any'''-licensed software, while scipy.optimize allows only a copyleft-free one (like BSD, MIT). Other features are convenient standard interface for all solvers, graphical output, categorical variables, disjunctive and other logical constraints, automatic 1st derivatives check, multi-factor analysis tool for experiment planning, and much more. You can optimize FuncDesigner models with automatic differentiation. OpenOpt also has a commercial add-on (free for small-scale research/educational problems) for stochastic programming. - -- `PuLP `__: a Python package that can be used to describe linear programming and mixed-integer linear programming optimization problems. - -- `PyEvolve `__: Genetic Algorithms in Python. - -- `Pyiopt `__: a Python interface to the COIN-OR Ipopt solver. - -- `Pyomo `__: Pyomo is a collection of Python optimization-related packages that supports a diverse set of optimization capabilities for formulating and analyzing optimization models. - -- `python-zibopt `__: a Python interface to SCIP. - -- `scikits.optimization `__: a generic optimization framework entirely written in Python. - -- `lmfit-py `__: a wrapper around scipy.optimize.leastsq that uses named fitting parameters, which may be varied, fixed, or constrained with simple mathematical expressions. - -- `noisyopt `__: provides algorithms for the optimization of noisy functions including pattern search with adaptive sampling and simultaneous perturbation stochastic approximation. - -- `scipydirect `__: a wrapper about the DIRECT algorithm for global optimization. - -Systems of nonlinear equations -============================== - -- `fsolve `__ from scipy.optimize. -- `sympy `__ and its `solvers `__ module, which can be used to solve both linear and nonlinear equations. - -Automatic differentiation -========================= - -(not to be confused with numerical differentiation via finite-differences derivatives approximation and symbolic differentiation provided by Maxima, SymPy etc., see wikipedia.org `entry `__) - -- `FuncDesigner `__: also can solve ODE and use OpenOpt for numerical optimization, perform uncertainty and interval analysis. -- `ScientificPython `__: see modules Scientific.Functions.FirstDerivatives and Scientific.Functions.Derivatives. -- `pycppad `__: a wrapper for CppAD, second order forward/reverse. -- `pyadolc `__: a wrapper for ADOL-C, arbitrary order forward/reverse. -- `algopy `__: evaluation of higher-order derivatives in the forward and reverse mode of algorithmic differentiation, with a particular focus on numerical linear algebra. -- `CasADi `__: a symbolic framework for algorithmic (a.k.a. automatic) differentiation and numeric optimization. -- `autograd `__: efficient automatic differentiation with good support for code using NumPy. - -Finite differences derivatives approximation -============================================ - -- `check_grad `__: from scipy.optimize. -- `DerApproximator `__: several stencils, trying to avoid NaNs, is used by `FuncDesigner `__. -- `numdifftools `__: tools to solve numerical differentiation problems in one or more variables, based on extrapolation of finite differences. - -Data storage / database -======================= - -- `PyTables `__: PyTables is a hierarchical database package designed to efficiently manage very large amounts of data. It is built on top of the `HDF5 library `__ and the `NumPy `__ package. -- `python-hdf4 `__: python-hdf4 is a Python interface to the `HDF4 `__ library. Among the numerous components offered by HDF4, the following are currently supported by pyhdf: SD (Scientific Dataset), VS (Vdata), V (Vgroup), and HDF (common declarations). -- `h5py `__: h5py is a Python interface to the `HDF5 `__ library. It provides a more direct wrapper for HDF5 than PyTables. - -Parallel and distributed programming -==================================== - -For a brief discussion of parallel programming within NumPy/SciPy, see Parallel Programming. - -- `PyMPI `__: distributed parallel programming for Python. This package builds on traditional Python by enabling users to write distributed, parallel programs based on `MPI `__ message passing primitives. General Python objects can be messaged between processors. -- `Pypar `__: parallel programming in the spirit of Python Pypar is an efficient but easy-to-use module that allows programs/scripts written in the Python programming language to run in parallel on multiple processors and communicate using message passing. Pypar provides bindings to an important subset of the message passing interface standard MPI. -- `Joblib `__: a tool set for lightweight pipelining in Python for easy parallel computing. -- `jug `__: a task-based parallel framework. It is especially useful for embarrassingly parallel problems such as parameter sweeps. It can take advantage of a multi-core machine or a set of machines on a computing cluster. -- `MPI for Python `__: object-oriented Python bindings for the Message Passing Interface. This module provides MPI support to run Python scripts in parallel. It is constructed on top of the MPI-1 specification, but provides an object-oriented interface, which closely follows standard MPI-2 C++ bindings. Any ''picklable'' Python object can be communicated. There is support for point-to-point (sends, receives) and collective (broadcasts, scatters, gathers) communications as well as group and communicator (inter, intra, and topologies) management. -- Module Scientific: BSP in Konrad Hinsen's `ScientificPython `__ provides an experimental interface to the Bulk Synchronous Parallel (BSP) model of parallel programming (note the link to the BSP tutorial on the ScientificPython page). Module Scientific.MPI provides an MPI interface. The `BSP `__ model is an alternative to MPI and PVM message passing model. It is said to be easier to use than the message passing model, and is guaranteed to be deadlock-free. -- `Pyro `__: Python Remote Objects (Pyro) provides an object-oriented form of RPC. It is a Distributed Object Technology system written entirely in Python, designed to be very easy to use. Never worry about writing network communication code again, when using Pyro you just write your Python objects like you would normally. With only a few lines of extra code, Pyro takes care of the network communication between your objects once you split them over different machines on the network. All the gory socket programming details are taken care of, you just call a method on a remote object as if it were a local object. -- `PyXG `__: object-oriented Python interface to Apple's Xgrid. PyXG makes it possible to submit and manage Xgrid jobs and tasks from within interactive Python sessions or standalone scripts. It provides an extremely lightweight method for performing independent parallel tasks on a cluster of Macintosh computers. -- `Pyslice `__: Pyslice is a specialized templating system that replaces variables in a template data set with numbers taken from all combinations of variables. It creates a dataset from input template files for each combination of variables in the series and can optionally run a simulation or submit a simulation run to a queue against each created data set. For example: create all possible combination of datasets that represent the 'flow' variable with numbers from 10 to 20 by 2 and the 'level' variable with 24 values taken from a normal distribution with a mean of 104 and standard deviation of 5. -- `PyOpenCL `__: OpenCL is a standard for parallel programming on heterogeneous devices including CPUs, GPUs, and other processors. It provides a common C-like language for executing code on those devices, as well as APIs to setup the computations. PyOpenCL aims at being an easy-to-use Python wrapper around the OpenCL library. -- `PyCUDA `__: PyCUDA is a Python interface to Nvidia's `CUDA `__ parallel computation API. This library can be used safely within a multi-processor or multi-thread environment. -- `PyCSP `__: Communicating Sequential Processes for Python. PyCSP may be used to structure scientific software into concurrent tasks. Dependencies are handled through explicit communication and allow for better understanding of the structure. A PyCSP application can be executed using co-routines, threads, or processes. - -Partial differential equation (PDE) solvers -=========================================== - -- `FiPy `__: see entry in '''Miscellaneous'''. -- `SfePy `__: see entry in '''Miscellaneous'''. -- `Hermes `__: hp-FEM solver, see entry in '''Miscellaneous'''. - -Topic guides, organized by scientific field -=========================================== - -Astronomy ---------- - -- `AstroPy `__: central repository of information about Python and Astronomy. -- `AstroPython `__: knowledge base for research in astronomy using Python. -- `Astropy `__ and its `fits `__ package: interface to `FITS `__ formatted files under the `Python `__ scripting language and `PyRAF `__, the Python-based interface to IRAF. -- `PyRAF `__: a new command language for running IRAF tasks that is based on the Python scripting language. -- `BOTEC `__: a simple astrophysical and orbital mechanics calculator, including a database of all named Solar System objects. -- AstroLib: an open-source effort to develop general astronomical utilities akin to those available in the IDL ASTRON package. -- `APLpy `__: a Python module aimed at producing publication-quality plots of astronomical imaging data in FITS format. -- `Tutorial `__: using Python for interactive data analysis in astronomy. -- `Casa `__: a suite of C++ application libraries for the reduction and analysis of radioastronomical data (derived from the former AIPS++ package) with a Python scripting interface. -- `Healpy `__: Python package for using and plotting HEALpix data (e.g., spherical surface maps such as WMAP data). -- `Pysolar `__: Collection of Python libraries for simulating the irradiation of any point on earth by the sun. Pysolar includes code for extremely precise ephemeris calculations, and more. Could be also grouped under engineering tools. -- `pywcsgrid2 `__: display astronomical fits images with matplotlib. -- `pyregion `__: Python module to parse ds9 region files (also supports ciao regions files). -- `SpacePy `__: provides tools for the exploration and analysis of data in the space sciences. Features include a Pythonic interface to NASA CDF, time and coordinate conversions, a datamodel for manipulation of data and metadata, empirical models widely used in space science, and tools for everything from statistical analysis to multithreading. - -Artificial intelligence and machine learning --------------------------------------------- - -- See also the '''Bayesian Statistics''' section below. -- `scikit learn `__: general-purpose efficient machine learning and data mining library in Python for SciPy. -- `ffnet `__: feed-forward neural network for Python, uses NumPy arrays and SciPy optimizers. -- `pyem `__: a tool for Gaussian Mixture Models. It implements the EM algorithm for Gaussian mixtures (including full matrix covariances) and the BIC criterion for clustering. It is included in the `scikit-learn `__ toolbox. -- `PyBrain `__: machine learning library with focus on reinforcement learning, (recurrent) neural networks and black-box optimization. -- `Orange `__: component-based data mining software. -- `pymorph Morphology Toolbox `__: the pymorph Morphology Toolbox for Python is a powerful collection of the latest state-of-the-art gray-scale morphological tools that can be applied to image segmentation, non-linear filtering, pattern recognition, and image analysis. `Pymorph `__ was originally written by Roberto A. Lutofu and Rubens C. Machado but is now maintained by Luis Pedro Coelho. -- `pycplex `__: a Python interface to the ILOG CPLEX Callable Library. -- `ELEFANT `__: we aim at developing an open-source machine learning platform which will become the platform of choice for prototyping and deploying machine learning algorithms. -- `Bayes Blocks `__: the library is a C++/Python implementation of the variational building block framework using variational Bayesian learning. -- `Monte Python `__: a machine learning library written in pure Python. The focus is on gradient-based learning. Monte includes neural networks, conditional random fields, logistic regression, and more. -- `hcluster `__: a hierarchical clustering library for SciPy with base implementation written in C for efficiency. Clusters data, computes cluster statistics, and plots dendrograms. -- `PyPR `__: a collection of machine learning methods written in Python: Artificial Neural Networks, Gaussian Processes, Gaussian mixture models, and K-means. -- `Theano `__: A CPU and GPU Math Expression Compiler, Theano is a Python library that allows you to define, optimize, and evaluate mathematical expressions involving multi-dimensional arrays efficiently. -- `NeuroLab `__: Neurolab is a simple and powerful neural networks library for Python. -- `scikit network `__: Python library for the analysis of large graphs, represented as sparse matrices in the CSR format of SciPy. - -Bayesian statistics -------------------- - -- `PyMC2 `__: PyMC2 is a Python module that provides a Markov Chain Monte Carlo (MCMC) toolkit, making Bayesian simulation models relatively easy to implement. PyMC relieves users of the need for re-implementing MCMC algorithms and associated utilities, such as plotting and statistical summary. This allows the modelers to concentrate on important aspects of the problem at hand, rather than on the mundane details of Bayesian statistical simulation. -- `PyBayes `__: PyBayes is an object-oriented Python library for recursive Bayesian estimation (Bayesian filtering) that is convenient to use. Already implemented are Kalman filter, particle filter and marginalized particle filter, all built atop of a light framework of probability density functions. PyBayes can optionally use Cython for large speed gains (Cython build is several times faster). -- `NIFTY `__: Numerical Information Field Theory offers a toolkit designed to enable the coding of signal inference algorithms that operate regardless of the underlying spatial grid and its resolution. - -Biology (including neuroscience) --------------------------------- - -- `Brian `__: a simulator for spiking neural networks in Python. -- `BioPython `__: an international association of developers of freely available Python tools for computational molecular biology. -- `PyCogent `__: a software library for genomic biology. -- `Python For Structural BioInformatics Tutorial `__: this tutorial demonstrates the utility of the interpreted programming language Python for the rapid development of component-based applications for structural bioinformatics. We introduce the language itself, along with some of its most important extension modules. Bio-informatics specific extensions will also be described and we demonstrate how these components have been assembled to create custom applications. -- `PySAT: Python Sequence Analysis Tools (Version 1.0) `__: PySAT is a collection of bioinformatics tools written entirely in Python. A `paper `__ describing these tools. -- `PySCeS: the Python Simulator for Cellular Systems `__: PySCes includes tools for the simulation and analysis of cellular systems (GPL). -- `SloppyCell `__: SloppyCell is a software environment for simulation and analysis of biomolecular networks developed by the groups of Jim Sethna and Chris Myers at Cornell University. -- `PyDSTool `__: PyDSTool is an integrated simulation, modeling, and analysis package for dynamical systems used in scientific computing, and includes special toolboxes for computational neuroscience, biomechanics, and systems biology applications. -- `NIPY `__: the neuroimaging in Python project is an environment for the analysis of structural and functional neuroimaging data. It currently has a full system for general linear modeling of functional magnetic resonance imaging (FMRI). -- `ACQ4 `__: data acquisition and analysis system for electrophysiology, photostimulation, and fluorescence imaging. -- `Vision Egg `__: produce stimuli for vision research experiments. -- `PsychoPy `__: create psychology stimuli in Python. -- `pyQPCR `__: a GUI application that allows to compute quantitative PCR (QPCR) raw data. Using quantification cycle values extracted from QPCR instruments, it uses a proven and universally applicable model (Delta-delta ct method) to give finalized quantification results. -- `VeSPA `__: the VeSPA suite contains three magnetic resonance (MR) spectroscopy applications: RFPulse (for RF pulse design), Simulation (for spectral simulation), and Analysis (for spectral data processing and analysis). -- `Neo `__: a package for representing electrophysiology data in Python, together with support for reading a wide range of neurophysiology file formats. -- `Myokit `__: a programming toolkit for working with ODE models of cardiac myocytes (and other excitable tissues). -- `MNE-Python `__: a package for magnetoencephalography (MEG) and electroencephalography (EEG) data analysis. - -Dynamical systems ------------------ - -- `PyDSTool `__: PyDSTool is an integrated simulation, modeling, and analysis package for dynamical systems (ODEs, DDEs, DAEs, maps, time-series, hybrid systems). Continuation and bifurcation analysis tools are built-in, via PyCont. It also contains a library of general classes useful for scientific computing, including an enhanced array class and wrappers for SciPy algorithms. Application-specific utilities are also provided for systems biology, computational neuroscience, and biomechanics. Development of complex systems models is simplified using symbolic math capabilities and compositional model-building classes. These can be "compiled" automatically into dynamically-linked C code or Python simulators. -- `SimPy `__: SimPy (= Simulation in Python) is an object-oriented, process-based discrete-event simulation language based on standard Python. It is released under the GNU Lesser GPL (LGPL). SimPy provides the modeler with components of a simulation model including processes, for active components like customers, messages, vehicles, and resources, for passive components that form limited capacity congestion points like servers, checkout counters, and tunnels. It also provides monitor variables to aid in gathering statistics. Random variates are provided by the standard Python random module. SimPy comes with data collection capabilities, GUI, and plotting packages. It can be easily interfaced to other packages, such as plotting, statistics, GUI, spreadsheets, and databases. -- `Model-Builder `__: Model-Builder is a GUI-based application for building and simulation of ODE (Ordinary Differential Equations) models. Models are defined in mathematical notation, with no coding required from the user. Results can be exported in csv format. Graphical output based on matplotlib includes time-series plots, state-space plots, spectrograms, and continuous wavelet transforms of time series. It also includes a sensitivity and uncertainty analysis module. Ideal for classroom use. -- `VFGEN `__: VFGEN is a source code generator for differential equations and delay differential equations. The equations are defined once in an XML format, and then VFGEN is used to generate the functions that implement the equations in a wide variety of formats. Python users will be interested in the SciPy, PyGSL, and PyDSTool commands provided by VFGEN. -- `DAE Tools `__: DAE Tools is a cross-platform equation-oriented process modeling and optimization software. Various types of processes (lumped or distributed, steady-state or dynamic) can be modelled and optimized. Equations can be ordinary or discontinuous, where discontinuities are automatically handled by the framework. The simulation/optimization results can be plotted and/or exported into various formats. Currently, Sundials IDAS solver is used to solve DAE systems and calculate sensitivities, BONMIN, IPOPT, and NLOPT solvers are used to solve NLP/MINLP problems, while various direct/iterative sparse matrix linear solvers are interfaced: SuperLU and SuperLU_MT, Intel Pardiso, AMD ACML, Trilinos Amesos (KLU, Umfpack, SuperLU, Lapack), and Trilinos AztecOO (with built-in, Ifpack or ML preconditioners). Linear solvers that exploit GPGPUs are also available (SuperLU_CUDA, CUSP; still in an early development stage). -- `ODES `__: ODES offers python bindings to the SUNDIALS ode/dae solvers (CVODE and IDA), which are state-of-the-art BDF linear multistep methods for stiff problems and Adams-Moulton linear multistep method for nonstiff problems with wide industrial use. The package has a low learning curve, with great flexibility to the user. -- `Mousai `__: Mousai can solve sets of first-order and second-order ordinary differential equations written in state-space form (solved for acceleration for second-order form) subject to a harmonic excitation. All you need to provide is the name of a Python function, which may simply be a wrapper to an external code. - -Economics and econometrics --------------------------- - -- `pyTrix `__: a small set of utilities for economics and econometrics, including pyGAUSS (GAUSS command analogues for use in SciPy). -- `pandas `__: data structures and tools for cross-sectional and time series data sets. - -Electromagnetics and electrical engineering -------------------------------------------- - -- `FiPy `__: see entry in ```Miscellaneous```. -- `FEval `__: see entry in ```Miscellaneous```. -- `EMPy `__ (Electromagnetic Python): various common algorithms for electromagnetic problems and optics, including the transfer matrix algorithm and rigorous coupled wave analysis. -- `Optics of multilayer films `__: including the transfer-matrix method, coherent and incoherent propagation, and depth-dependent absorption profiles. -- `openTMM `__: an electrodynamic S-matrix (transfer matrix) code with modern applications. -- `pyLuminous `__: optical modeling of dielectric interfaces and a transfer-matrix solver (including a useful case of uniaxial layers). Includes pyQW for modelling of very simple quantum well structures and their intersubband transitions. -- `pyofss `__: analyzes optical fibre telecommunication systems, including numerically integrating the appropriate appropriate Schrödinger-type equation to calculate fibre dispersion. -- `ThunderStorm `__: a library for ElectroStatic-Discharge (ESD) Transmission Line Pulse (TLP) measurement data analysis. -- `electrode `__: a toolkit to develop and analyze rf surface ion traps. -- `scikit-rf `__: compilation of functions for microwave/RF engineering. Useful for tasks such as calibration, data analysis, data acquisition, and plotting functions. -- `netana `__: electronic Network Analyzer, solves electronic AC & DC Mash and Node network equations using matrix algebra. - -Geosciences ------------ - -- `CDAT `__: (Climate Data Analysis Tools) is a suite of tools for analysis of climate models. -- `Jeff Whitaker `__: has made a number of useful tools for atmospheric modelers, including the `basemap `__ toolkit for `matplotlib `__, and a NumPy-compatible `netCDF4 `__ interface. -- `seawater `__: a package for computing properties of seawater (UNESCO 1981 and UNESCO 1983). -- `atmqty `__: computes atmospheric quantities on the Earth. -- `TAPPy - Tidal Analysis Program in Python `__: decomposes an hourly time series of water levels into tidal components. It uses SciPy's least squares optimization. -- `ClimPy `__: a hydrology-oriented library. -- `GIS Python `__: Python programs and libraries for geodata processing. -- `SimPEG `__: simulation and parameter estimation in geophysics (including 3D forward modeling and inversion routines for electromagnetics, magnetotellurics, direct-current resistivity, magnetics, and gravity). - -Molecular modeling ------------------- - -- `Biskit `__: an object-oriented platform for structural bioinformatics research. Structure and trajectory objects tightly integrate with `NumPy `__ allowing, for example, for fast take and compress operations on molecules or trajectory frames. Biskit integrates many external programs (e.g., XPlor, Modeller, Amber, DSSP, T-Coffee, Hmmer, etc.) into workflows and supports parallelization. -- `PyMOL `__: a molecular graphics system with an embedded Python interpreter designed for real-time visualization and rapid generation of high-quality molecular graphics and animations. -- `UCSF Chimera `__: UCSF Chimera is a highly extensible, interactive molecular graphics program. It is the successor to `UCSF Midas and MidasPlus `__; however, it has been completely `redesigned `__ to maximize extensibility and leverage advances in hardware. UCSF Chimera can be downloaded free of charge for academic, government, non-profit, and personal use. -- `The Python Macromolecular Library (mmLib) `__: a software toolkit and library of routines for the analysis and manipulation of macromolecular structural models. It provides a range of useful software components for parsing mmCIF, PDB, and MTZ files, a library of atomic elements and monomers, an object-oriented data structure describing biological macromolecules, and an OpenGL molecular viewer. -- `MDTools for Python `__: MDTools is a Python module which provides a set of classes useful for the analysis and modification of protein structures. Current capabilities include reading psf files, reading and writing (X-PLOR style) pdb and dcd files, calculating phi-psi angles and other properties for arbitrary selections of residues, and parsing output from `NAMD `__ into an easy-to-manipulate data object. -- `BALL - Biochemical Algorithms Library `__: a set of libraries and applications for molecular modeling and visualization. OpenGL and Qt are the underlying C++ layers; some components are LGPL-licensed, others GPL. -- `SloppyCell `__: SloppyCell is a software environment for simulation and analysis of biomolecular networks developed by the groups of Jim Sethna and Chris Myers at Cornell University. -- `PyVib2 `__: a program for analyzing vibrational motion and vibrational spectra. The program is supposed to be an open-source "all-in-one" solution for scientists working in the field of vibrational spectroscopy (Raman and IR) and vibrational optical activity (ROA and VCD). It is based on NumPy, matplotlib, VTK, and Pmw. -- `ASE `__: an atomistic simulation environment written in Python with the aim of setting up, stearing, and analyzing atomistic simulations. It can use a number of backend calculation engines (e.g., Abinit, Siesta, Vasp, Dacapo, GPAW, etc.) to perform ab-initio calculations within Density Functional Theory. It can do total energy calculations, molecular dynamics, geometry optimization, and much more. There is also a GUI and visualization tools for interactive work. -- `PyEMMA `__: (EMMA = Emma's Markov Model Algorithms) is an open source Python/C package for analysis of extensive molecular dynamics simulations. In particular, it includes algorithms for estimation, validation, and analysis of Markov state models, a popular toolset to gain insight on the kinetics of the simulation. It provides collective variables calculation, clustering methods, time lagged independent component analysis (TICA), and model estimation for Markov state models, hidden Markov models, and multi ensemble simulation like umbrella sampling. In addition, transition path theory can be applied to these models, which allows for kinetic pathway extraction and flux computations via transition networks. - -Signal processing ------------------ - -- `GNU Radio `__: a free software development toolkit that provides the signal processing runtime and processing blocks to implement software radios using readily-available, low-cost external RF hardware and commodity processors. GNU Radio applications are primarily written using the Python programming language, while the supplied, performance-critical signal processing path is implemented in C++ using processor floating point extensions, where available. Thus, the developer is able to implement real-time, high-throughput radio systems in a simple-to-use, rapid-application-development environment. While not primarily a simulation tool, GNU Radio does support development of signal processing algorithms using pre-recorded or generated data, avoiding the need for actual RF hardware. -- `pysamplerate `__: a small wrapper for Source Rabbit Code (http://www.mega-nerd.com/SRC/), still incomplete, but can be used now for high-quality resampling of audio signals, even for a non-rational ratio. -- `audiolab `__: a small library to import data from audio files to NumPy arrays and export NumPy arrays to audio files. It uses libsndfile for the IO (http://www.mega-nerd.com/libsndfile/), which means many formats are available, including wav, aiff, HTK format, and FLAC, an open-source lossless compressed format. Previously known as pyaudio (not to confuse with `pyaudio `__), now part of `scikits `__. -- `PyWavelets `__: a user-friendly Python package to compute various kinds of Discrete Wavelet Transform. -- `PyAudiere `__: a very flexible and easy-to-use audio library for Python users. Available methods allow you to read sound files of various formats into memory and play or stream them (if they are large). You can pass sound buffers as NumPy arrays of float32's to play (non-blocking). You can also create pure tones, square waves, or 'on-line' white or pink noise. All of these functions can be utilized concurrently. -- `CMU Sphinx `__: a free automatic speech recognition system. The SphinxTrain package for training acoustic models includes Python modules for reading and writing Sphinx-format acoustic feature and HMM parameter files to/from NumPy arrays. - -Symbolic math, number theory, etc. ----------------------------------- - -- `NZMATH `__: NZMATH is a Python-based number-theory-oriented calculation system developed at Tokyo Metropolitan University. It contains routines for factorization, gcd, lattice reduction, factorial, finite fields, and other such goodies. Unfortunately, it is short on documentation, but contains a lot of useful stuff if you can find it. -- `SAGE `__: a comprehensive environment with support for research in algebra, geometry, and number theory. It wraps existing libraries and provides new ones for elliptic curves, modular forms, linear and non-commutative algebra, and a lot more. -- `SymPy `__: SymPy is a Python library for symbolic mathematics. It aims to become a full-featured computer algebra system (CAS), while keeping the code as simple as possible in order to be comprehensible and easily extensible. SymPy is written entirely in Python and does not require any external libraries, except optionally for plotting support. -- `Python bindings for CLNUM `__: a library which provides exact rationals and arbitrary precision floating point, orders of magnitude faster (and more full-featured) than the Decimal.py module from Python's standard library. From the same site, the ratfun module provides rational function approximations, and rpncalc is a full RPN interactive Python-based calculator. -- `Kayali `__: a Qt-based Computer Algebra System (CAS) written in Python. It is essentially a frontend GUI for Maxima and Gnuplot. - -Quantum mechanics ------------------ - -- `QuTiP `__: a numerical framework for simulating the dynamics of open and closed quantum systems. -- `QNET `__: a package to aid in the design and analysis of photonic circuit models. -- `PyQuante `__: a suite of programs for developing quantum chemistry methods. -- `QmeQ `__: a package for calculations of transport through quantum dot devices. - -Miscellaneous -============= - -- These are just other links which may be very useful to scientists, but which I don't quite know how to categorize, or for which I didn't want to make a single-link category. -- `IDL to Numeric/numarray Mapping `__: a summary mapping between IDL and numarray. Most of the mapping also applies to Numeric. -- `Pybliographer `__: a tool for managing bibliographic databases. It can be used for searching, editing, reformatting, etc. In fact, it's a simple framework that provides easy-to-use `Python `__ classes and functions, and therefore can be extended to many uses (generating HTML pages according to bibliographic searches, etc). In addition to the scripting environment, a graphical `Gnome `__ interface is available. It provides powerful editing capabilities, a nice hierarchical search mechanism, direct insertion of references into `LyX `__ and `Kile `__, direct queries on Medline, and more. It currently supports the following file formats: BibTeX, ISI, Medline, Ovid, Refer. -- `Vision Egg `__: a powerful, flexible, and free way to produce stimuli for vision research experiments. -- `Easyleed `__: a tool for the automated extraction of intensity-energy spectra from low-energy electron diffraction experiments commonly performed in condensed matter physics. -- `PsychoPy `__: a freeware library for vision research experiments (and data analysis) with an emphasis on psychophysics. -- `PyEPL `__: the Python Experiment Programing Library. A free library to create experiments ranging from simple display of stimuli and recording of responses (including audio) to the creation of interactive virtual reality environments. -- `Module dependency graph `__: a few scripts to glue modulefinder.py into `graphviz `__, producing import dependency pictures pretty enough for use as a poster, and containing enough information to be a core part of the process for understanding physical dependencies. -- `Modular toolkit for Data Processing (MDP) `__: a library to implement data processing elements (nodes) and to combine them into data processing sequences (flows). Already implemented nodes include Principal Component Analysis (PCA), Independent Component Analysis (ICA), Slow Feature Analysis (SFA), and Growing Neural Gas. -- `FiPy `__: FiPy is an object-oriented, partial differential equation (PDE) solver, written in Python, based on a standard finite volume (FV) approach. The framework has been developed in the Metallurgy Division and Center for Theoretical and Computational Materials Science (`CTCMS `__), in the Material Measurement Laboratory (`MML `__) at the National Institute of Standards and Technology (`NIST `__). -- `SfePy `__: SfePy is a software for solving systems of coupled partial differential equations (PDEs) by the finite element method in 2D and 3D. It can be viewed both as a black-box PDE solver, and as a Python package which can be used for building custom applications. The time-demanding parts are implemented in C/Cython. -- `Hermes `__: Hermes is a free C++/Python library for rapid prototyping of adaptive FEM and hp-FEM solvers developed by an open-source community around the hp-FEM group at the University of Nevada, Reno. -- `FEval `__: FEval is useful for conversion between many finite element file formats. The main functionality is extraction of model data in the physical domain, for example to calculate flow lines. -- `peak-o-mat `__: peak-o-mat is a curve-fitting program for the spectroscopist. It is especially designed for batch cleaning, conversion ,and fitting of spectra from visible optics experiments if you're facing a large number of similar spectra. -- SciPyAmazonAmi: add software you would like installed on a publicly available Amazon EC2 image here. -- `xarray `__: a library that allows for the labeling of any dimension in a multidimensional array. -- `PyCVF `__: a computer vision and video mining Framework. - -- `CNEMLIB `__ : proposes an implementation of CNEM in 2D and 3D. The CNEM is a generalisation for non-convex domain of the Natural Element Method. It's a FEM-like approach. The main functionalities of CNEMLIB are: i) interpolation of scattered data spread on convex or non convex domains with the Natural Neighbour interpolant (Sibson) in 2D, and the Natural Neighbor interpolant (Sibson or Laplace) or the linear finite element interpolant over the Delaunay tessellation in 3D. ii) a gradient matrix operator which allows to calculate nodal gradients for scattered data (the approach used is based on the stabilized nodal integration, SCNI). iii) a general assembling tools to construct assembled matrix associated with a weak formulation (heat problem, mechanic problem, hydrodynamic problem, general purpose problem) as such used with the Finite Element Method (FEM). -- `aestimo `__: models quantum well semiconductor heterostructure using a 1-D self-consistent Schrödinger-Poisson solver. Contains a shooting method solver and a finite element k.p solver. -- `plotexplorer_gui `__: a wxpython/matplotlib script for plotting and contrasting a collection of graphs via a sortable checkbox list. -- `VibrationTesting `__: tools for signal processing, model solution, model manipulation, and system and modal identification of linear vibratory systems. -- `Vibration_Toolbox `__: educational set of tools intended primarily for the demonstration of vibration analysis and phenomenon. You may find them useful for application, but that isn't the intent of this module. -- `Colour `__: a package implementing a comprehensive number of color theory transformations and algorithms. -- `PyBaMM `__: fast and flexible physics-based battery models.