From 27358ae7eeed6f7499974f3d40aaa607bdcd6694 Mon Sep 17 00:00:00 2001 From: Filip Wasilewski Date: Sun, 15 Jul 2012 15:12:38 +0200 Subject: [PATCH 01/12] Removed note about docs for 0.1.6 version. --- doc/source/index.rst | 6 ------ 1 file changed, 6 deletions(-) diff --git a/doc/source/index.rst b/doc/source/index.rst index 18848201..0d86158b 100644 --- a/doc/source/index.rst +++ b/doc/source/index.rst @@ -1,12 +1,6 @@ PyWavelets - Discrete Wavelet Transform in Python ================================================= -.. note:: - - This documentation covers PyWavelets 0.2 release. - Documentation for the 0.1.6 release is still available at - http://www.pybytes.com/pywavelets/0.1.6/. - Contents: .. toctree:: From aab7f8add564c8b5eea46fb89e6ded41f7c8aad6 Mon Sep 17 00:00:00 2001 From: Filip Wasilewski Date: Sun, 15 Jul 2012 20:01:57 +0200 Subject: [PATCH 02/12] Refreshed development documentation. Provided recent information on building and installing extension on Linux and Windows. Added information on using Windows SDK C/C++ compiler and links to vendor-specific utilities. Updated commands to use pip for installing packages. Added notes on testing and continous integration. --- doc/source/dev/building_extension.rst | 47 ++++++++ doc/source/dev/building_on_linux.rst | 106 ------------------ doc/source/dev/building_on_windows.rst | 105 ----------------- doc/source/dev/index.rst | 21 ++-- .../dev/installing_build_dependencies.rst | 61 ++++++++++ .../dev/preparing_linux_build_environment.rst | 29 +++++ .../preparing_windows_build_environment.rst | 92 +++++++++++++++ doc/source/dev/testing.rst | 41 +++++++ 8 files changed, 284 insertions(+), 218 deletions(-) create mode 100644 doc/source/dev/building_extension.rst delete mode 100644 doc/source/dev/building_on_linux.rst delete mode 100644 doc/source/dev/building_on_windows.rst create mode 100644 doc/source/dev/installing_build_dependencies.rst create mode 100644 doc/source/dev/preparing_linux_build_environment.rst create mode 100644 doc/source/dev/preparing_windows_build_environment.rst create mode 100644 doc/source/dev/testing.rst diff --git a/doc/source/dev/building_extension.rst b/doc/source/dev/building_extension.rst new file mode 100644 index 00000000..3c2dd578 --- /dev/null +++ b/doc/source/dev/building_extension.rst @@ -0,0 +1,47 @@ +.. _dev-building-extension: + +Building and installing PyWavelets +================================== + +Installing from source code +--------------------------- + +Go to https://github.com/nigma/pywt GitHub project page, fork and clone the +repository or use the upstream repository to get the source code:: + + git clone https://github.com/nigma/pywt.git PyWavelets + +Activate your Python virtual environment, go to the cloned source directory +and type the following commands to build and install the package:: + + python setup.py build + python setup.py install + +To verify the installation run the following command:: + + python setup.py test + +To build docs:: + + cd doc + make html + +Installing a development version +-------------------------------- + +You can also install directly from the source repository:: + + pip install -e git+https://github.com/nigma/pywt.git#egg=PyWavelets + +or:: + + pip install PyWavelets==dev + + +Installing a regular release from PyPi +-------------------------------------- + +A regular release can be installed with pip or easy_install:: + + pip install PyWavelets + diff --git a/doc/source/dev/building_on_linux.rst b/doc/source/dev/building_on_linux.rst deleted file mode 100644 index 7e4c8e52..00000000 --- a/doc/source/dev/building_on_linux.rst +++ /dev/null @@ -1,106 +0,0 @@ -.. _dev-building-on-linux: - -.. module:: pywt -.. include:: ../substitutions.rst - -================= -Building on Linux -================= - - -Prepare build environment -~~~~~~~~~~~~~~~~~~~~~~~~~ - -There is a good chance that you already have a working build environment. -Just skip steps that you don't need to execute. - - -Install basic build tools -~~~~~~~~~~~~~~~~~~~~~~~~~ - -Note that the example below uses ``aptitude`` package manager, which is -specific to Debian and Ubuntu Linux distributions. Use your favourite package -manager to install these packages on your OS. - -:: - - aptitude install build-essential gcc python-dev git-core - - -Setup Python virtualenv -~~~~~~~~~~~~~~~~~~~~~~~ - -A good practice is to create a separate Python virtual environment for each -project. If you don't have `virtualenv `_ -yet, install and activate it using:: - - curl -O https://raw.github.com/pypa/virtualenv/master/virtualenv.py - python virtualenv.py - . /bin/activate - - -Setup build dependencies -~~~~~~~~~~~~~~~~~~~~~~~~ - -Use ``pip`` (http://pypi.python.org/pypi/pip) to install necessary Python -packages:: - - pip install Cython numpy - -Install Sphinx -~~~~~~~~~~~~~~ - -Sphinx is a documentation tool that convert reStructuredText files into -nice looking html documentation. It is only required to rebuild |pywt| -documentation, not the package itself. - -Get Sphinx from the Python Package Index (http://pypi.python.org/pypi/Sphinx), -or install it with:: - - pip install Sphinx - - -Install PyWavelets -~~~~~~~~~~~~~~~~~~ - -Installing from PyPi --------------------- - -:: - - pip install PyWavelets - - -Installing a development version --------------------------------- - -:: - - pip install -e git+https://github.com/nigma/pywt.git#egg=PyWavelets - -or:: - - pip install PyWavelets==dev - - -Installing from source code ---------------------------- - -Go to https://github.com/nigma/pywt GitHub project page, fork and clone the -repository or use the upstream repository to get the source code:: - - git clone https://github.com/nigma/pywt.git PyWavelets - -Activate your Python virtual env, go to the cloned source directory -and type the following commands to build and install the package:: - - python setup.py build - python setup.py install - -To verify the installation go to the ``tests`` directory and run the following -commands:: - - python test_regression.py - python test_doc.py - python test_perfect_reconstruction.py - diff --git a/doc/source/dev/building_on_windows.rst b/doc/source/dev/building_on_windows.rst deleted file mode 100644 index 8e9c5277..00000000 --- a/doc/source/dev/building_on_windows.rst +++ /dev/null @@ -1,105 +0,0 @@ -.. _dev-building-on-windows: - -.. module:: pywt -.. include:: ../substitutions.rst - -=================== -Building on Windows -=================== - - -Prepare build environment -~~~~~~~~~~~~~~~~~~~~~~~~~ - -To start developing |pywt| code on Windows you will have to prepare build -environment first. This will include installing a couple components like -Python, MinGW C compiler, Cython, Numpy and Sphinx. - - -Install Python -~~~~~~~~~~~~~~ - -Go to the Python download site http://python.org/download/ and get -the recent 2.x Python for Windows version (Python 2.6 recommended). -Install it. - - -Install MinGW C compiler -~~~~~~~~~~~~~~~~~~~~~~~~ - -Take a look at http://www.mingw.org/wiki/Getting_Started -and http://www.mingw.org/wiki/HOWTO_Install_the_MinGW_GCC_Compiler_Suite. -Follow the instructions there to set up the compiler. - -You can also take a look at Cython's "Installing MinGW on Windows" -page at http://docs.cython.org/src/tutorial/appendix.html. - - -Configure Distutils -~~~~~~~~~~~~~~~~~~~ - -Distutils is a standard Python build system. By default it relies -on Microsoft Visual C compiler, but it is recommended to use -MinGW GCC compiler instead (|pywt| is developed and tested using GCC). - -In order to change the settings and use MinGW as the default compiler, -edit or create a Distutils configuration file -``c:\Python26\Lib\distutils\distutils.cfg`` and place the following -entry in it:: - - [build] - compiler = mingw32 - - -Install Cython -~~~~~~~~~~~~~~ - -Instructions on installing recent Cython version are -on http://docs.cython.org/src/quickstart/install.html. - - -Install Numpy -~~~~~~~~~~~~~ - -Fetch and install a recent Numpy binary -from http://new.scipy.org/download.html. - - -Install Sphinx -~~~~~~~~~~~~~~ - -Sphinx is a documentation tool that convert reStructuredText files into -nice looking html documentation. It is only required to rebuild |pywt| -documentation, not the package itself. - -Get Sphinx from the Python Package Index (http://pypi.python.org/pypi/Sphinx), -or install it with:: - - easy_install -U Sphinx - - -Ready to go -~~~~~~~~~~~ - -At this point you should be ready to go. Open command line and go to -|pywt| source code directory. - -To build the project issue:: - - python setup.py build - -To install:: - - python setup.py install - -To build docs:: - - cd doc - doc2html.bat - -To run some tests:: - - cd tests - python test_regression.py - python test_doc.py - python test_perfect_reconstruction.py diff --git a/doc/source/dev/index.rst b/doc/source/dev/index.rst index 9ca39df6..51f63bef 100644 --- a/doc/source/dev/index.rst +++ b/doc/source/dev/index.rst @@ -6,17 +6,24 @@ Development notes ================= +This section contains information on building and installing PyWavelets +from source code as well as instructions for preparing the build environment +on Windows and Linux. + .. toctree:: :maxdepth: 2 - building_on_windows - building_on_linux - + preparing_windows_build_environment + preparing_linux_build_environment + installing_build_dependencies + building_extension + testing Something not working? -~~~~~~~~~~~~~~~~~~~~~~ +---------------------- If these instructions are not clear or you need help setting up your -development environment, ask at the |pywt| discussion -group - http://groups.google.com/group/pywavelets -or pywavelets@googlegroups.com. +development environment, go ahead and ask on the PyWavelets discussion +group at http://groups.google.com/group/pywavelets or open a ticket on GitHub_. + +.. _GitHub: https://github.com/nigma/pywt diff --git a/doc/source/dev/installing_build_dependencies.rst b/doc/source/dev/installing_build_dependencies.rst new file mode 100644 index 00000000..bb695670 --- /dev/null +++ b/doc/source/dev/installing_build_dependencies.rst @@ -0,0 +1,61 @@ +.. _dev-installing-build-dependencies: + +Installing build dependencies +============================= + +Setting up Python virtual environment +------------------------------------- + +A good practice is to create a separate Python virtual environment for each +project. If you don't have `virtualenv`_ yet, install and activate it using:: + + curl -O https://raw.github.com/pypa/virtualenv/master/virtualenv.py + python virtualenv.py + . /bin/activate + + +Installing Cython +----------------- + +Use ``pip`` (http://pypi.python.org/pypi/pip) to install Cython_:: + + + pip install Cython>=0.16 + + +Installing numpy +---------------- + +Use ``pip`` to install numpy_:: + + pip install numpy + +It takes some time to compile numpy, so it might be more convenient to install +it from a binary release. + +.. note:: + + Installing numpy in a virtual environment on Windows is not straightforward. + + It is recommended to download a suitable binary ``.exe`` release from + http://www.scipy.org/Download/ and install it using ``easy_install`` + (i.e. ``easy_install numpy-1.6.2-win32-superpack-python2.7.exe``). + +.. note:: + + You can find binaries for 64-bit Windows on http://www.lfd.uci.edu/~gohlke/pythonlibs/. + + +Installing Sphinx +----------------- + +Sphinx_ is a documentation tool that converts reStructuredText files into +nicely looking html documentation. Install it with:: + + pip install Sphinx + + +.. _virtualenv: http://pypi.python.org/pypi/virtualenv +.. _numpy: http://numpy.scipy.org/ +.. _Cython: http://cython.org/ +.. _Sphinx: http://sphinx.pocoo.org diff --git a/doc/source/dev/preparing_linux_build_environment.rst b/doc/source/dev/preparing_linux_build_environment.rst new file mode 100644 index 00000000..c37d9b35 --- /dev/null +++ b/doc/source/dev/preparing_linux_build_environment.rst @@ -0,0 +1,29 @@ +.. _dev-preparing-linux-build-environment: + +.. module:: pywt +.. include:: ../substitutions.rst + +Prepare Linux build environment +=============================== + +There is a good chance that you already have a working build environment. +Just skip steps that you don't need to execute. + + +Install basic build tools +------------------------- + +Note that the example below uses ``aptitude`` package manager, which is +specific to Debian and Ubuntu Linux distributions. Use your favourite package +manager to install these packages on your OS. + +:: + + aptitude install build-essential gcc python-dev git-core + + +Next steps +---------- + +After completing these steps continue with +:ref:`Installing build dependencies `. diff --git a/doc/source/dev/preparing_windows_build_environment.rst b/doc/source/dev/preparing_windows_build_environment.rst new file mode 100644 index 00000000..b48a44ea --- /dev/null +++ b/doc/source/dev/preparing_windows_build_environment.rst @@ -0,0 +1,92 @@ +.. _dev-building-on-windows: + +.. module:: pywt +.. include:: ../substitutions.rst + +Preparing Windows build environment +=================================== + +To start developing PyWavelets code on Windows you will have to install +a C compiler and prepare the build environment. + +Installing Windows SDK C/C++ compiler +------------------------------------- + +Download Microsoft Windows SDK for Windows 7 and .NET Framework 3.5 SP1 +from http://www.microsoft.com/downloads/en/details.aspx?familyid=71DEB800-C591-4F97-A900-BEA146E4FAE1&displaylang=en. +Download, extract and install the version that is suitable for your platform: + + - ``GRMSDK_EN_DVD.iso`` for 32-bit x86 platform + - ``GRMSDKX_EN_DVD.iso`` for 64-bit AMD64 platform + +Before compiling a Python extension you have to configure some environment +variables. + +For 32-bit build execute ``util/setenv_build32.bat`` script in the cmd window: + + .. sourcecode:: bat + + rem Configure the environment for 32-bit builds. + rem Use "vcvars32.bat" for a 32-bit build. + "C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\bin\vcvars32.bat" + rem Convince setup.py to use the SDK tools. + set MSSdk=1 + setenv /x86 /release + set DISTUTILS_USE_SDK=1 + +For 64-bit use ``util/setenv_build64.bat``: + + .. sourcecode:: bat + + rem Configure the environment for 64-bit builds. + rem Use "vcvars32.bat" for a 32-bit build. + "C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\bin\vcvars64.bat" + rem Convince setup.py to use the SDK tools. + set MSSdk=1 + setenv /x64 /release + set DISTUTILS_USE_SDK=1 + +See also http://wiki.cython.org/64BitCythonExtensionsOnWindows. + +MinGW C/C++ compiler +~~~~~~~~~~~~~~~~~~~~ + +MinGW distribution can be downloaded from http://sourceforge.net/projects/mingwbuilds/. + +In order to change the settings and use MinGW as the default compiler, +edit or create a Distutils configuration file +``c:\Python2*\Lib\distutils\distutils.cfg`` and place the following +entry in it:: + + [build] + compiler = mingw32 + +You can also take a look at Cython's "Installing MinGW on Windows" +page at http://wiki.cython.org/InstallingOnWindows for more info. + + +.. note:: + + Python 2.7/3.2 distutils package is incompatible with current version + of MinGW (4.7+) after MinGW dropped the `-mno-cygwin` flag. + + To use MinGW to compile Python extensions you have to patch the + ``distutils/cygwinccompiler.py`` library module and remove every occurrence + of ``-mno-cygwin``. + + See http://bugs.python.org/issue12641 bug report for more information + on the issue. + + +Next steps +---------- + +After completing these steps continue with +:ref:`Installing build dependencies `. + + +.. _Python: http://python.org/ +.. _numpy: http://numpy.scipy.org/ +.. _Cython: http://cython.org/ +.. _Sphinx: http://sphinx.pocoo.org/ +.. _MinGW C compiler: http://sourceforge.net/projects/mingwbuilds/ diff --git a/doc/source/dev/testing.rst b/doc/source/dev/testing.rst new file mode 100644 index 00000000..6458db69 --- /dev/null +++ b/doc/source/dev/testing.rst @@ -0,0 +1,41 @@ +.. _dev-testing: + +Testing +======= + +Continous integration with Travis-CI +------------------------------------ + +The project is using `Travis-CI `_ service +for continous integration and testing. + +Current build status is: + +.. image:: + https://secure.travis-ci.org/nigma/pywt.png?branch=develop + :alt: Build Status + :target: https://secure.travis-ci.org/nigma/pywt + + +If you are submitting a patch or pull request please make sure it +does not break the build. + + +Running tests locally +--------------------- + +Simply:: + + python setup.py test + + +Running tests with Tox +---------------------- + +There's also a config file for running tests with Tox (``pip install tox``):: + + tox + +It is not however very convenient at the moment because Tox recreates +the test environment (which is a good thing) and builds numpy from +source on every run (which takes a lot of time). From d283228b2c59efa4628d11531a9d04c4b6e3a332 Mon Sep 17 00:00:00 2001 From: Filip Wasilewski Date: Mon, 16 Jul 2012 13:09:03 +0200 Subject: [PATCH 03/12] Added edit documentation sidebar template. Added context links and instructions on editing documentation files using GitHub online editor. Inspired by Plone documentation template. --- doc/source/_templates/editdocument.html | 42 +++++++++++++++++++++++++ 1 file changed, 42 insertions(+) create mode 100644 doc/source/_templates/editdocument.html diff --git a/doc/source/_templates/editdocument.html b/doc/source/_templates/editdocument.html new file mode 100644 index 00000000..e8a06b47 --- /dev/null +++ b/doc/source/_templates/editdocument.html @@ -0,0 +1,42 @@ +{% set repo="nigma/pywt" %} +{% set branch="develop" %} + +
+

Edit this document

+

+ + + The source code of this file is hosted on GitHub. Everyone can + update and fix errors in this document with few clicks - + no downloads needed. + +

+ +
\ No newline at end of file From 68582141fc7674a2646c14e989fe64bdad273802 Mon Sep 17 00:00:00 2001 From: Filip Wasilewski Date: Mon, 16 Jul 2012 13:09:59 +0200 Subject: [PATCH 04/12] Added quick links sidebar template. Cleaned up icon assets. --- doc/source/_static/cog.png | Bin 512 -> 0 bytes doc/source/_static/delicious.png | Bin 123 -> 0 bytes doc/source/_static/github.png | Bin 0 -> 453 bytes doc/source/_templates/quicklinks.html | 12 ++++++++++++ 4 files changed, 12 insertions(+) delete mode 100644 doc/source/_static/cog.png delete mode 100644 doc/source/_static/delicious.png create mode 100644 doc/source/_static/github.png create mode 100644 doc/source/_templates/quicklinks.html diff --git a/doc/source/_static/cog.png b/doc/source/_static/cog.png deleted file mode 100644 index 67de2c6ccbeac17742f56cf7391e72b2bf5033ba..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 512 zcmV+b0{{JqP)CQDsH?WF>AIFt zQuJ}i;w2$ZUU#3SZ6RY0Gw;kZ&ol1~2ky^QZ(fom$=jNJZt!z7w_pH~wdQ;R)Gh%BbQFCx+Nm!4SuS-vkr`vhhrX zM*>w%e+v~?m@q~ImPAgtLkR_3U<2F8LP3W5=LJ*ZN|S5p#sf4YFr$p~Q~Z*0Ngxf2 zjk#J#<7EAlhzlrV53~GF&pIzcCN_lz9@05UeoUXiK%N z#x+4o*i_c|6_Uu1+&TIho?3@y4k-#b8Y_o94zW*B3a1ne2-Y5s0uke$$|@=}OP-i= zNYZQA=>PrZu0MfSL=b8UhD_={W4IY1{b{)U)*gc45xtL%IYLY&hF;d`@GzI&7H&D# zh;z_BX$#hqh@q?AY3sJTod2%*Yd)_>YM0#q&ixGuh+PQsneK)F0000;o+&ceDJCF^o-X{U=fDLwwzox&Cd*h Px*0rO{an^LB{Ts5Pz@tI diff --git a/doc/source/_static/github.png b/doc/source/_static/github.png new file mode 100644 index 0000000000000000000000000000000000000000..2633fceaa9d026d2267f2172cec70709bcb90e8f GIT binary patch literal 453 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!60wlNoGJgf6n3BBRT^Rm-==h@v2>S z4={E+nQaFWEGuwK2hw1@3^B*n9tLtgdAc};Xq<1oxIf)FP~zA}|4T3Z7N+c)BH(r1 zZ)x`bhCD$%#o*;@Vt@OmycO}{h}<3L#W~%3n_g$$LZ>#5t$yu)c5U~%UvBl>=G^zn zd)pU9q`!)o@q6(tql1@%CS*>RS9aF6eZF92da8yMms`;GS*%xjue|v2bN4KF$1Ejt zL7Npb-#X6JV{=-_{^FFvHo=v@wK$u&C-&}Gm6)en_DTEd%B?%yO3Q0L|MV`Haa7DP zsOig1C57u3r+3`tZc@L#K>7ahIV&s8zG-p9Es&VJG33oD4}m8gOOI_Zz4 +

Python Development

+

Django web development for startups and businesses.

+

Quality Python development and scientific applications.

+

Quick links

+ + \ No newline at end of file From 3fdf87ef94df44c8d71b5be810d2151fe49c500a Mon Sep 17 00:00:00 2001 From: Filip Wasilewski Date: Mon, 16 Jul 2012 13:11:28 +0200 Subject: [PATCH 05/12] Replaced layout template with page template for Sphinx docs. Removed quick links section that is moved to sidebar template. --- doc/source/_templates/layout.html | 38 ---------------------------- doc/source/_templates/page.html | 42 +++++++++++++++++++++++++++++++ 2 files changed, 42 insertions(+), 38 deletions(-) delete mode 100644 doc/source/_templates/layout.html create mode 100644 doc/source/_templates/page.html diff --git a/doc/source/_templates/layout.html b/doc/source/_templates/layout.html deleted file mode 100644 index 538ccdc3..00000000 --- a/doc/source/_templates/layout.html +++ /dev/null @@ -1,38 +0,0 @@ -{% extends "!layout.html" %} - -{% block extrahead %} - {{ super() }} - - - - - -{% endblock %} - -{% block footer %} - {{ super() }} - - -{% endblock %} - - -{% block sidebarsearch %}{{ super() }} - -{% endblock %} \ No newline at end of file diff --git a/doc/source/_templates/page.html b/doc/source/_templates/page.html new file mode 100644 index 00000000..10b8f582 --- /dev/null +++ b/doc/source/_templates/page.html @@ -0,0 +1,42 @@ +{# Drop version number from the HTML documentation title #} +{%- set docstitle = "PyWavelets Documentation" %} + +{% extends "!page.html" %} + +{% block extrahead %} +{{ super() }} + + + + + + + + +{% endblock %} + +{# Remove version number from the top and bottom path bars #} +{%- block rootrellink %} +
  • Home{{ reldelim1 }}
  • +{%- endblock %} From 331f32b338e1f24e344c04b2f9cbc96241fad99e Mon Sep 17 00:00:00 2001 From: Filip Wasilewski Date: Mon, 16 Jul 2012 13:17:20 +0200 Subject: [PATCH 06/12] Updated Sphinx config file. Changed base theme, defined sidebar mapping and updated links. --- doc/source/conf.py | 25 ++++++++++++++----------- 1 file changed, 14 insertions(+), 11 deletions(-) diff --git a/doc/source/conf.py b/doc/source/conf.py index 4d08d949..ae3a17bf 100644 --- a/doc/source/conf.py +++ b/doc/source/conf.py @@ -24,7 +24,7 @@ # Add any Sphinx extension module names here, as strings. They can be extensions # coming with Sphinx (named 'sphinx.ext.*') or your custom ones. -extensions = ['sphinx.ext.doctest', 'sphinx.ext.autodoc', 'sphinx.ext.todo', 'sphinx.ext.coverage', 'sphinx.ext.pngmath'] +extensions = ['sphinx.ext.doctest', 'sphinx.ext.autodoc', 'sphinx.ext.todo', 'sphinx.ext.extlinks'] # Add any paths that contain templates here, relative to this directory. templates_path = ['_templates'] @@ -39,8 +39,8 @@ master_doc = 'index' # General information about the project. -project = u'PyWavelets' -copyright = jinja2.filters.do_mark_safe(u'2006-%s, Filip Wasilewski' % datetime.date.today().year) +project = 'PyWavelets' +copyright = jinja2.filters.do_mark_safe('2006-%s, Filip Wasilewski' % datetime.date.today().year) # The version info for the project you're documenting, acts as replacement for # |version| and |release|, also used in various other places throughout the @@ -62,11 +62,11 @@ #today_fmt = '%B %d, %Y' # List of documents that shouldn't be included in the build. -unused_docs = ['substitutions'] +unused_docs = ['substitutions', 'overview'] # List of directories, relative to source directory, that shouldn't be searched # for source files. -exclude_trees = ['_build', '0.1.6'] +exclude_trees = ['_build'] # The reST default role (used for this markup: `text`) to use for all documents. #default_role = None @@ -86,14 +86,14 @@ pygments_style = 'sphinx' # A list of ignored prefixes for module index sorting. -#modindex_common_prefix = [] +modindex_common_prefix = ['pywt.'] # -- Options for HTML output --------------------------------------------------- # The theme to use for HTML and HTML Help pages. Major themes that come with # Sphinx are currently 'default' and 'sphinxdoc'. -html_theme = 'default' +html_theme = 'nature' # Theme options are theme-specific and customize the look and feel of a theme # further. For a list of options available for each theme, see the @@ -134,6 +134,9 @@ # Custom sidebar templates, maps document names to template names. #html_sidebars = {} +html_sidebars = { + '**': ['localtoc.html', "relations.html", 'quicklinks.html', 'searchbox.html', 'editdocument.html'], +} # Additional templates that should be rendered to pages, maps page names to # template names. @@ -149,12 +152,12 @@ #html_split_index = False # If true, links to the reST sources are added to the pages. -#html_show_sourcelink = True +html_show_sourcelink = False # If true, an OpenSearch description file will be output, and all pages will # contain a tag referring to it. The value of this option must be the # base URL from which the finished HTML is served. -#html_use_opensearch = '' +html_use_opensearch = 'http://pybytes.com/pywavelets' # If nonempty, this is the file name suffix for HTML files (e.g. ".xhtml"). #html_file_suffix = '' @@ -174,8 +177,8 @@ # Grouping the document tree into LaTeX files. List of tuples # (source start file, target name, title, author, documentclass [howto/manual]). latex_documents = [ - ('index', 'PyWavelets.tex', u'PyWavelets Documentation', - u'Filip Wasilewski', 'manual'), + ('index', 'PyWavelets.tex', 'PyWavelets Documentation', + 'Filip Wasilewski', 'manual'), ] # The name of an image file (relative to this directory) to place at the top of From bd9cee2aa614efa866172a997f03011a8fbb0568 Mon Sep 17 00:00:00 2001 From: Filip Wasilewski Date: Mon, 16 Jul 2012 13:30:40 +0200 Subject: [PATCH 07/12] Changed wording and header levels in dev docs. Removed references to substitutions file. --- doc/source/dev/index.rst | 2 -- doc/source/dev/preparing_linux_build_environment.rst | 10 ++++------ doc/source/dev/preparing_windows_build_environment.rst | 4 +--- 3 files changed, 5 insertions(+), 11 deletions(-) diff --git a/doc/source/dev/index.rst b/doc/source/dev/index.rst index 51f63bef..a1e27ff2 100644 --- a/doc/source/dev/index.rst +++ b/doc/source/dev/index.rst @@ -1,7 +1,5 @@ .. _dev-index: -.. module:: pywt -.. include:: ../substitutions.rst Development notes ================= diff --git a/doc/source/dev/preparing_linux_build_environment.rst b/doc/source/dev/preparing_linux_build_environment.rst index c37d9b35..720d6ee8 100644 --- a/doc/source/dev/preparing_linux_build_environment.rst +++ b/doc/source/dev/preparing_linux_build_environment.rst @@ -1,17 +1,15 @@ .. _dev-preparing-linux-build-environment: -.. module:: pywt -.. include:: ../substitutions.rst -Prepare Linux build environment -=============================== +Preparing Linux build environment +================================= There is a good chance that you already have a working build environment. Just skip steps that you don't need to execute. -Install basic build tools -------------------------- +Installing basic build tools +---------------------------- Note that the example below uses ``aptitude`` package manager, which is specific to Debian and Ubuntu Linux distributions. Use your favourite package diff --git a/doc/source/dev/preparing_windows_build_environment.rst b/doc/source/dev/preparing_windows_build_environment.rst index b48a44ea..5c3172a3 100644 --- a/doc/source/dev/preparing_windows_build_environment.rst +++ b/doc/source/dev/preparing_windows_build_environment.rst @@ -1,7 +1,5 @@ .. _dev-building-on-windows: -.. module:: pywt -.. include:: ../substitutions.rst Preparing Windows build environment =================================== @@ -49,7 +47,7 @@ For 64-bit use ``util/setenv_build64.bat``: See also http://wiki.cython.org/64BitCythonExtensionsOnWindows. MinGW C/C++ compiler -~~~~~~~~~~~~~~~~~~~~ +-------------------- MinGW distribution can be downloaded from http://sourceforge.net/projects/mingwbuilds/. From 8e7577ab08350ee47adaea8621038860f0d27699 Mon Sep 17 00:00:00 2001 From: Filip Wasilewski Date: Mon, 16 Jul 2012 13:36:38 +0200 Subject: [PATCH 08/12] Removed notes on deprecated Wavelet methods. --- doc/source/ref/wavelets.rst | 13 +------------ 1 file changed, 1 insertion(+), 12 deletions(-) diff --git a/doc/source/ref/wavelets.rst b/doc/source/ref/wavelets.rst index 36c877d8..5bf88a10 100644 --- a/doc/source/ref/wavelets.rst +++ b/doc/source/ref/wavelets.rst @@ -1,7 +1,6 @@ .. _ref-wavelets: .. currentmodule:: pywt -.. include:: ../substitutions.rst ======== Wavelets @@ -77,12 +76,6 @@ Built-in wavelets - ``wavelist()`` [dec_lo, dec_hi, rec_lo, rec_hi] - .. note:: - - The :meth:`~Wavelet.get_filters_coeffs` method is kept for compatibility - with the previous versions of |pywt|, but may be removed in a future version - of the package. - Wavelet objects can also be used as a base filter banks. See section on :ref:`using custom wavelets ` for more information. @@ -131,8 +124,6 @@ Built-in wavelets - ``wavelist()`` [dec_lo, dec_hi, rec_lo, rec_hi] - The :meth:`~Wavelet.get_filters_coeffs` method is deprecated. - .. attribute:: inverse_filter_bank Returns list of reverse wavelet filters coefficients. The mapping from the @@ -140,8 +131,6 @@ Built-in wavelets - ``wavelist()`` [rec_lo[::-1], rec_hi[::-1], dec_lo[::-1], dec_hi[::-1]] - The :meth:`~Wavelet.get_reverse_filters_coeffs` method is deprecated. - .. attribute:: short_family_name Wavelet short family name @@ -250,7 +239,7 @@ Approximating wavelet and scaling functions - ``Wavelet.wavefun()`` Using custom wavelets --------------------- -|pywt| comes with a :func:`long list ` of the most popular +PyWavelets comes with a :func:`long list ` of the most popular wavelets built-in and ready to use. If you need to use a specific wavelet which is not included in the list it is very easy to do so. Just pass a list of four filters or an object with a :attr:`~Wavelet.filter_bank` attribute as a From 51978dc20dd038a5fc9fb8d2faa698732edb9f43 Mon Sep 17 00:00:00 2001 From: Filip Wasilewski Date: Mon, 16 Jul 2012 13:46:10 +0200 Subject: [PATCH 09/12] Expanded and updated reST substitutions. --- doc/source/ref/2d-dwt-and-idwt.rst | 10 +++++----- doc/source/ref/dwt-discrete-wavelet-transform.rst | 6 +++--- .../idwt-inverse-discrete-wavelet-transform.rst | 6 +++--- doc/source/ref/other-functions.rst | 4 ++-- doc/source/ref/signal-extension-modes.rst | 5 ++--- .../ref/swt-stationary-wavelet-transform.rst | 4 ++-- doc/source/ref/thresholding-functions.rst | 3 --- doc/source/ref/wavelet-packets.rst | 8 +++----- doc/source/regression/index.rst | 7 +++---- doc/source/substitutions.rst | 15 +++------------ 10 files changed, 26 insertions(+), 42 deletions(-) diff --git a/doc/source/ref/2d-dwt-and-idwt.rst b/doc/source/ref/2d-dwt-and-idwt.rst index 66ca424f..e0e8aa74 100644 --- a/doc/source/ref/2d-dwt-and-idwt.rst +++ b/doc/source/ref/2d-dwt-and-idwt.rst @@ -17,7 +17,7 @@ Single level ``dwt2`` :param data: 2D input data. - :param wavelet: |wavelet_arg| + :param wavelet: |wavelet| :param mode: |mode| This is only important when DWT was performed in :ref:`periodization ` mode. @@ -49,7 +49,7 @@ details coefficients are stored in one big 2D array is as follows: | | | ------------------- -|pywt| does not follow this pattern because of pure practical reasons of simple +PyWavelets does not follow this pattern because of pure practical reasons of simple access to particular type of the output coefficients. **Example:** @@ -81,7 +81,7 @@ Single level ``idwt2`` (cA, (cH, cV, cD)) - :param wavelet: |wavelet_arg| + :param wavelet: |wavelet| :param mode: |mode| This is only important when the :func:`dwt` was performed in the :ref:`periodization ` mode. @@ -116,7 +116,7 @@ Single level ``idwt2`` :param data: |data| - :param wavelet: |wavelet_arg| + :param wavelet: |wavelet| :param mode: |mode| @@ -148,7 +148,7 @@ Single level ``idwt2`` [cAn, (cHn, cVn, cDn), ..., (cH1, cV1, cD1)] - :param wavelet: |wavelet_arg| + :param wavelet: |wavelet| :param mode: |mode| diff --git a/doc/source/ref/dwt-discrete-wavelet-transform.rst b/doc/source/ref/dwt-discrete-wavelet-transform.rst index 5681b723..b030d0fc 100644 --- a/doc/source/ref/dwt-discrete-wavelet-transform.rst +++ b/doc/source/ref/dwt-discrete-wavelet-transform.rst @@ -26,7 +26,7 @@ Single level ``dwt`` :param data: |data| - :param wavelet: |wavelet_arg| + :param wavelet: |wavelet| :param mode: |mode| @@ -78,7 +78,7 @@ Multilevel decomposition using ``wavedec`` :param data: |data| - :param wavelet: |wavelet_arg| + :param wavelet: |wavelet| :param mode: |mode| @@ -115,7 +115,7 @@ Partial Discrete Wavelet Transform data decomposition ``downcoef`` :param data: |data| - :param wavelet: |wavelet_arg| + :param wavelet: |wavelet| :param mode: |mode| diff --git a/doc/source/ref/idwt-inverse-discrete-wavelet-transform.rst b/doc/source/ref/idwt-inverse-discrete-wavelet-transform.rst index b2044f58..7ab64043 100644 --- a/doc/source/ref/idwt-inverse-discrete-wavelet-transform.rst +++ b/doc/source/ref/idwt-inverse-discrete-wavelet-transform.rst @@ -20,7 +20,7 @@ Single level ``idwt`` :param cD: Detail coefficients. - :param wavelet: |wavelet_arg| + :param wavelet: |wavelet| :param mode: |mode| This is only important when DWT was performed in :ref:`periodization ` mode. @@ -74,7 +74,7 @@ Multilevel reconstruction using ``waverec`` [cAn, cDn, cDn-1, ..., cD2, cD1] - :param wavelet: |wavelet_arg| + :param wavelet: |wavelet| :param mode: |mode| @@ -102,7 +102,7 @@ Direct reconstruction with ``upcoef`` :param coeffs: Coefficients array to reconstruct. - :param wavelet: |wavelet_arg| + :param wavelet: |wavelet| :param level: If *level* value is specified then a multilevel reconstruction is performed (first reconstruction is of type specified by *part* diff --git a/doc/source/ref/other-functions.rst b/doc/source/ref/other-functions.rst index 660dc9e1..10f8c5d1 100644 --- a/doc/source/ref/other-functions.rst +++ b/doc/source/ref/other-functions.rst @@ -16,8 +16,8 @@ Single-level n-dimensional Discrete Wavelet Transform. Performs single-level n-dimensional Discrete Wavelet Transform. :param data: n-dimensional array - :param wavelet: wavelet to use (Wavelet object or name string) - :param mode: signal extension mode, see MODES + :param wavelet: |wavelet| + :param mode: |mode| Results are arranged in a dictionary, where key specifies the transform type on each dimension and value is a n-dimensional diff --git a/doc/source/ref/signal-extension-modes.rst b/doc/source/ref/signal-extension-modes.rst index 68273ff7..38d11796 100644 --- a/doc/source/ref/signal-extension-modes.rst +++ b/doc/source/ref/signal-extension-modes.rst @@ -1,7 +1,6 @@ .. _ref-modes: .. currentmodule:: pywt -.. include:: ../substitutions.rst ====================== @@ -20,7 +19,7 @@ Depending on the extrapolation method, significant artifacts at the signal's borders can be introduced during that process, which in turn may lead to inaccurate computations of the :ref:`DWT ` at the signal's ends. -|pywt| provides several methods of signal extrapolation that can be used to +PyWavelets provides several methods of signal extrapolation that can be used to minimize this negative effect: .. _`MODES.zpd`: @@ -84,7 +83,7 @@ parameters: >>> (a, d) = pywt.dwt([1,2,3,4,5,6], pywt.Wavelet('db2'), pywt.MODES.sp1) .. note:: - Extending data in context of |pywt| does not mean reallocation of the data + Extending data in context of PyWavelets does not mean reallocation of the data in computer's physical memory and copying values, but rather computing the extra values only when they are needed. This feature saves extra memory and CPU resources and helps to avoid page diff --git a/doc/source/ref/swt-stationary-wavelet-transform.rst b/doc/source/ref/swt-stationary-wavelet-transform.rst index 8729d913..528d6807 100644 --- a/doc/source/ref/swt-stationary-wavelet-transform.rst +++ b/doc/source/ref/swt-stationary-wavelet-transform.rst @@ -21,7 +21,7 @@ Multilevel ``swt`` :param data: |data| - :param wavelet: |wavelet_arg| + :param wavelet: |wavelet| :param level: Required transform level. See the :func:`swt_max_level` function. @@ -43,7 +43,7 @@ Multilevel ``swt2`` :param data: 2D array with input data. - :param wavelet: |wavelet_arg| + :param wavelet: |wavelet| :param level: Number of decomposition steps to perform. diff --git a/doc/source/ref/thresholding-functions.rst b/doc/source/ref/thresholding-functions.rst index 720768f2..cc19309b 100644 --- a/doc/source/ref/thresholding-functions.rst +++ b/doc/source/ref/thresholding-functions.rst @@ -1,8 +1,5 @@ .. _ref-thresholding: -.. module:: pywt.thresholding -.. include:: ../substitutions.rst - Thresholding functions ====================== diff --git a/doc/source/ref/wavelet-packets.rst b/doc/source/ref/wavelet-packets.rst index 0a39ad1a..99986360 100644 --- a/doc/source/ref/wavelet-packets.rst +++ b/doc/source/ref/wavelet-packets.rst @@ -9,7 +9,7 @@ Wavelet Packets .. versionadded:: 0.2 -Version `0.2` of |pywt| includes many new features and improvements. One of such +Version `0.2` of PyWavelets includes many new features and improvements. One of such new feature is a two-dimensional wavelet packet transform structure that is almost completely sharing programming interface with the one-dimensional tree structure. @@ -246,8 +246,7 @@ WaveletPacket and WaveletPacket tree Node :param data: data associated with the node. 1D numeric array. - :param wavelet: :class:`~pywt.Wavelet` to use for decomposition and - reconstruction. + :param wavelet: |wavelet| :param mode: Signal extension :ref:`mode ` for the :func:`dwt` and :func:`idwt` decomposition and reconstruction functions. @@ -302,8 +301,7 @@ WaveletPacket2D and WaveletPacket2D tree Node2D :param data: data associated with the node. 2D numeric array. - :param wavelet: :class:`~pywt.Wavelet` to use for decomposition and - reconstruction. + :param wavelet: |wavelet| :param mode: Signal extension :ref:`mode ` for the :func:`dwt` and :func:`idwt` decomposition and reconstruction functions. diff --git a/doc/source/regression/index.rst b/doc/source/regression/index.rst index 094dca38..42f775da 100644 --- a/doc/source/regression/index.rst +++ b/doc/source/regression/index.rst @@ -1,14 +1,13 @@ .. _reg-index: .. currentmodule:: pywt -.. include:: ../substitutions.rst Usage examples ============== -The following examples are used as doc-tests regression tests written using reST markup. -They are included in the documentation since they contain various useful examples -illustrating how to use and how to not use |pywt|. +The following examples are used as doctest regression tests written using reST +markup. They are included in the documentation since they contain various useful +examples illustrating how to use and how not to use PyWavelets. .. toctree:: :maxdepth: 1 diff --git a/doc/source/substitutions.rst b/doc/source/substitutions.rst index a973f32d..2f6e2d96 100644 --- a/doc/source/substitutions.rst +++ b/doc/source/substitutions.rst @@ -1,16 +1,7 @@ -.. |mode| replace:: Signal extension mode to deal with the border distortion problem. See `MODES` for details. +.. |mode| replace:: Signal extension mode to deal with the border distortion problem. See :ref:`MODES ` for details. .. |data| replace:: Input signal can be NumPy array, Python list or other iterable object. Both *single* and *double* precision floating-point data types are supported and the output type depends on the input type. If the input data is not in one of these types it will be converted to the default *double* precision data format before performing computations. -.. |wavelet_arg| replace:: - Wavelet to use in the transform. This can be a name of the wavelet from the `pywt.wavelist` list or a `Wavelet` object instance. - -.. |pywt| replace:: `PyWavelets` - -.. |Wavelet| replace:: ``Wavelet`` - -.. |tm| unicode:: U+2122 .. trademark sign - :ltrim: - -.. |copy| unicode:: 0xA9 .. copyright sign +.. |wavelet| replace:: + Wavelet to use in the transform. This can be a name of the wavelet from the :func:`wavelist` list or a :class:`Wavelet` object instance. From 307410e07a6e3650f71512446fb021fca3a63749 Mon Sep 17 00:00:00 2001 From: Filip Wasilewski Date: Mon, 16 Jul 2012 13:58:34 +0200 Subject: [PATCH 10/12] Merged index and overview page. Moved overview description to the index page so the landing page is more informative. Added and updated sections on installing, documentation and contributing. Added small contents section and moved full ToC to contents.rst. Updated links to the main code repository. --- doc/source/contents.rst | 18 ++++++ doc/source/index.rst | 132 +++++++++++++++++++++++++++++++++++++--- doc/source/overview.rst | 100 +----------------------------- 3 files changed, 143 insertions(+), 107 deletions(-) create mode 100644 doc/source/contents.rst diff --git a/doc/source/contents.rst b/doc/source/contents.rst new file mode 100644 index 00000000..2a57eed0 --- /dev/null +++ b/doc/source/contents.rst @@ -0,0 +1,18 @@ +.. _contents: + +PyWavelets +========== + +.. toctree:: + :maxdepth: 2 + + ref/index + regression/index + dev/index + resources + +Indices and tables +================== + +* :ref:`genindex` +* :ref:`search` diff --git a/doc/source/index.rst b/doc/source/index.rst index 0d86158b..a843b4b7 100644 --- a/doc/source/index.rst +++ b/doc/source/index.rst @@ -1,20 +1,136 @@ PyWavelets - Discrete Wavelet Transform in Python ================================================= -Contents: +PyWavelets is a free Open Source wavelet transform software for Python_ +programming language. It is written in Python, Cython and C for a mix of easy +and powerful high-level interface and the best performance. + +PyWavelets is very easy to start with and use. Just install the package, open +the Python interactive shell and type: + + .. sourcecode:: python + + >>> import pywt + >>> cA, cD = pywt.dwt([1, 2, 3, 4], 'db1') + +VoilĂ ! Computing wavelet transforms never before has been so simple :) + +Main features +------------- + +The main features of PyWavelets are: + + * 1D and 2D Forward and Inverse Discrete Wavelet Transform (DWT and IDWT) + * 1D and 2D Stationary Wavelet Transform (Undecimated Wavelet Transform) + * 1D and 2D Wavelet Packet decomposition and reconstruction + * Approximating wavelet and scaling functions + * Over seventy `built-in wavelet filters`_ + and custom wavelets supported + * Single and double precision calculations + * Results compatibility with Matlab Wavelet Toolbox |tm| + +Requirements +------------ + +PyWavelets is a package for the Python programming language. It requires: + + - Python_ 2.6 or 2.7 + - numpy_ numeric array module + +Download +-------- + +The most recent *development* version can be found on GitHub at +https://github.com/nigma/pywt. + +Latest release, including source and binary package for Windows, is available +for download from the `Python Package Index`_. + +Install +------- + +In order to build PyWavelets from source, a working C compiler (GCC or MSVC) +and a recent version of Cython_ is required. + + - To install PyWavelets open shell prompt and type ``pip install PyWavelets`` + or ``easy_install PyWavelets``. + + - To build and install from source, navigate to downloaded PyWavelets source + code directory and type ``python setup.py install``. + + - The `in-development version`_ of PyWavelets can be installed with + ``pip install PyWavelets==dev`` or ``easy_install PyWavelets==dev``. + +Prebuilt Windows binaries and source code packages are also +available from `Python Package Index`_. + +Binary packages for several Linux distributors are maintained by Open Source +community contributors. Query your Linux package manager tool +for `python-wavelets`, `python-pywt` or similar package name. + +.. seealso:: :ref:`Development notes ` section contains more + information on building and installing from source code. + +Documentation +------------- + +Documentation with detailed examples and links to more resources is available +online at http://www.pybytes.com/pywavelets/. + +For more usage examples see the `demo`_ directory in the source package. + +Contributing +------------ + +PyWavelets started in 2006 as an academic project for a master thesis +on `Analysis and Classification of Medical Signals using Wavelet Transforms` +and is maintained by its `original developer`_. + +All contributions including bug reports, bug fixes, new feature implementations +and documentation improvements are welcome. + +Go and fork on `GitHub`_ today! + +Contact +------- + +Use `GitHub Issues`_ or `PyWavelets discussions group`_ to post your +comments or questions. + +To contact me directly email me at en@ig.ma. + +License +------- + +PyWavelets is a free Open Source software released under the MIT license. + + +.. |tm| unicode:: U+2122 .. trademark sign + :ltrim: + + +Contents +-------- .. toctree:: - :maxdepth: 2 + :maxdepth: 1 - overview ref/index regression/index dev/index resources + contents + -Indices and tables -================== +.. _built-in wavelet filters: http://wavelets.pybytes.com/ +.. _Cython: http://cython.org/ +.. _demo: https://github.com/nigma/pywt/tree/master/demo +.. _GitHub: https://github.com/nigma/pywt +.. _GitHub Issues: https://github.com/nigma/pywt/issues +.. _in-development version: https://github.com/nigma/pywt/tarball/develop#egg=PyWavelets-dev +.. _numpy: http://numpy.scipy.org/ +.. _original developer: http://en.ig.ma +.. _Python: http://python.org/ +.. _Python Package Index: http://pypi.python.org/pypi/PyWavelets/ +.. _PyWavelets discussions group: http://groups.google.com/group/pywavelets -* :ref:`genindex` -* :ref:`modindex` -* :ref:`search` diff --git a/doc/source/overview.rst b/doc/source/overview.rst index 29a17082..dfd6f0e6 100644 --- a/doc/source/overview.rst +++ b/doc/source/overview.rst @@ -1,99 +1 @@ -.. _ref-overview: - -.. module:: pywt -.. include:: substitutions.rst - -======== -Overview -======== - -|pywt| is a free Open Source wavelet transform software for Python_ -programming language. It is written in Python, Pyrex/Cython and C for a mix -of easy and powerful high-level interface and the best performance. - -|pywt| is very easy to start with and use. Just install the package, open -the Python interactive shell and type: - - .. sourcecode:: python - - >>> import pywt - >>> cA, cD = pywt.dwt([1, 2, 3, 4], 'db1') - -VoilĂ ! Computing wavelet transforms never before has been so simple :) - -Main features -------------- - -The main features of |pywt| are: - - * 1D and 2D Forward and Inverse Discrete Wavelet Transform (DWT and IDWT) - * 1D and 2D Stationary Wavelet Transform (Undecimated Wavelet Transform) - * 1D and 2D Wavelet Packet decomposition and reconstruction - * Approximating wavelet and scaling functions - * Over seventy built-in wavelet filters and custom wavelets supported - * Single and double precision calculations supported - * Results compatibility with Matlab Wavelet Toolbox |tm| - -Requirements ------------- - -|pywt| is a Python programming language package and requires `Python `_ -2.5-2.7 installed. The only external requirement is a recent version of -`NumPy `_ numeric array module. - -Download --------- - -The most recent *development* version can be found in Git and Hg repositories at: - - * Github - https://github.com/nigma/pywt - * Bitbucket - https://bitbucket.org/nigma/pywt - -Latest release (not always up-to-date), including source and binary package for Windows, -is available for download from the Python Package Index at http://pypi.python.org/pypi/PyWavelets/. - -Install -------- - -In order to build |pywt| from source, a working C compiler and a recent version -of `Cython `_ and `Numpy `_ is required. - -After completing the build environment, open the shell prompt, go to the -|pywt| source code directory and type:: - - python setup.py install - -.. seealso:: :ref:`Development notes ` section contains more - information on building from source code. - -For Windows users there is a standard binary installer available for -download from the `Python Package Index `_. -Just execute it to install the package on your computer. - -Binary packages for several Linux distributors are -`maintained `_ by -Open Source community contributors. Query your favourite package -manager tool for `python-wavelets`, `python-pywt` or similar package name. - -To verify the installation process try running tests and examples from the -`tests `_ -and `demo `_ -directories included in the source distribution. -Note that most of the examples relies on the -`matplotlib `_ plotting package. - -License -------- - -|pywt| is a free Open Source software available under the -:download:`MIT license terms `. - -Contact -------- - -Post your suggestions and questions to `PyWavelets discussions -group `_ (pywavelets@googlegroups.com). - -Comments, bug reports and fixes are welcome through `Github `_ and `Bitbucket `_ project sites. - -You can try to reach me directly at en@ig.ma but I can't promise I will get back to you in a reasonable time. +Moved to :ref:`index `. \ No newline at end of file From c04f370d45d3e242cead9c1bc36945363314e58a Mon Sep 17 00:00:00 2001 From: Filip Wasilewski Date: Mon, 16 Jul 2012 13:59:21 +0200 Subject: [PATCH 11/12] Updated resource page links. --- doc/source/resources.rst | 29 +++++++++++++++++------------ 1 file changed, 17 insertions(+), 12 deletions(-) diff --git a/doc/source/resources.rst b/doc/source/resources.rst index 20188be2..208262ff 100644 --- a/doc/source/resources.rst +++ b/doc/source/resources.rst @@ -1,7 +1,5 @@ .. _ref-resources: -.. include:: substitutions.rst - ========= Resources ========= @@ -9,28 +7,35 @@ Resources Code ---- -The `GitHub repository ` is now the main +The `GitHub repository`_ is now the main code repository. -The `Mercurial repository ` is going to be -phased out. Please follow GitHub for development updates. +If you are using the Mercurial repository at Bitbucket, please switch +to Git/GitHub and follow for development updates. -Discussion group ----------------- +Questions and bug reports +------------------------- -`PyWavelets discussions group `_ -(pywavelets@googlegroups.com) +Use `GitHub Issues`_ or `PyWavelets discussions group`_ to post questions +and open tickets. Wavelet Properties Browser -------------------------- -`wavelets.pybytes.com `_ +Browse properties and graphs of wavelets included in PyWavelets on +`wavelets.pybytes.com`_. Articles -------- - - `Denoising: wavelet thresholding ` - - `Wavelet Regression in Python ` + - `Denoising: wavelet thresholding `_ + - `Wavelet Regression in Python `_ + + +.. _GitHub repository: https://github.com/nigma/pywt +.. _GitHub Issues: https://github.com/nigma/pywt/issues +.. _PyWavelets discussions group: http://groups.google.com/group/pywavelets +.. _wavelets.pybytes.com: http://wavelets.pybytes.com/ From a5867a15e4c5b673fbe11aa55c01503a31f0188e Mon Sep 17 00:00:00 2001 From: Filip Wasilewski Date: Mon, 16 Jul 2012 14:07:04 +0200 Subject: [PATCH 12/12] Updated readme to be inline with the documentation index page. --- README.rst | 83 ++++++++++++++++++++++++++++++++++++++++++------------ 1 file changed, 65 insertions(+), 18 deletions(-) diff --git a/README.rst b/README.rst index 872c4256..d6863511 100644 --- a/README.rst +++ b/README.rst @@ -1,13 +1,17 @@ -PyWavelets Intro ----------------- +PyWavelets - Discrete Wavelet Transform in Python +================================================= -PyWavelets is a Python wavelet transforms module that can do: +PyWavelets is a free Open Source wavelet transform software for Python_ +programming language. It is written in Python, Cython and C for a mix of easy +and powerful high-level interface and the best performance. + +PyWavelets is very easy to start with and use, and currently is capable of: * 1D and 2D Forward and Inverse Discrete Wavelet Transform (DWT and IDWT) * 1D and 2D Stationary Wavelet Transform (Undecimated Wavelet Transform) * 1D and 2D Wavelet Packet decomposition and reconstruction - * Computing Approximations of wavelet and scaling functions - * Over seventy built-in wavelet filters and support for custom wavelets + * Approximating wavelet and scaling functions + * Over seventy built-in wavelet filters and custom wavelets supported * Single and double precision calculations * Results compatibility with Matlab Wavelet Toolbox (tm) @@ -16,21 +20,29 @@ PyWavelets is a Python wavelet transforms module that can do: :alt: Build Status :target: https://secure.travis-ci.org/nigma/pywt + +Requirements +------------ + +PyWavelets is a package for the Python programming language. It requires: + + - Python_ 2.6 or 2.7 + - numpy_ numeric array module + Download -------- The most recent *development* version can be found on GitHub at https://github.com/nigma/pywt. -Latest release (not always up-to-date), including source and binary package for Windows, -is available for download from the -`Python Package Index `_. +Latest release, including source and binary package for Windows, is available +for download from the `Python Package Index`_. Install ------- In order to build PyWavelets from source, a working C compiler (GCC or MSVC) -and a recent version of Cython (http://cython.org/) is required. +and a recent version of Cython_ is required. - To install PyWavelets open shell prompt and type ``pip install PyWavelets`` or ``easy_install PyWavelets``. @@ -38,21 +50,35 @@ and a recent version of Cython (http://cython.org/) is required. - To build and install from source, navigate to downloaded PyWavelets source code directory and type ``python setup.py install``. - - The `in-development version `_ - of PyWavelets can be installed with ``pip install PyWavelets==dev`` - or ``easy_install PyWavelets==dev``. + - The `in-development version`_ of PyWavelets can be installed with + ``pip install PyWavelets==dev`` or ``easy_install PyWavelets==dev``. Prebuilt Windows binaries and source code packages are also -available from http://pypi.python.org/pypi/PyWavelets. +available from `Python Package Index`_. + +Binary packages for several Linux distributors are maintained by Open Source +community contributors. Query your Linux package manager tool +for `python-wavelets`, `python-pywt` or similar package name. Documentation ------------- -Documentation and links to more resources is available online -at http://www.pybytes.com/pywavelets/. +Documentation with detailed examples and links to more resources is available +online at http://www.pybytes.com/pywavelets/. + +For more usage examples see the `demo`_ directory in the source package. + +Contributing +------------ + +PyWavelets started in 2006 as an academic project for a master thesis +on `Analysis and Classification of Medical Signals using Wavelet Transforms` +and is maintained by its `original developer`_. -For more usage examples see `demo `_ -directory in the source package. +All contributions including bug reports, bug fixes, new feature implementations +and documentation improvements are welcome. + +Go and fork on `GitHub`_ today! Python 3 -------- @@ -62,7 +88,28 @@ Check out the `changelog `_ for info. Currently the code and examples are ported to work on Python 2.7 and 3.2 from the same codebase. +Contact +------- + +Use `GitHub Issues`_ or `PyWavelets discussions group`_ to post your +comments or questions. + +To contact me directly email me at en@ig.ma. + License ------- -PyWavelets is distributed under MIT license terms (see COPYING). +PyWavelets is a free Open Source software released under the MIT license. + + +.. _Cython: http://cython.org/ +.. _demo: https://github.com/nigma/pywt/tree/master/demo +.. _GitHub: https://github.com/nigma/pywt +.. _GitHub Issues: https://github.com/nigma/pywt/issues +.. _in-development version: https://github.com/nigma/pywt/tarball/develop#egg=PyWavelets-dev +.. _numpy: http://numpy.scipy.org/ +.. _original developer: http://en.ig.ma +.. _Python: http://python.org/ +.. _Python Package Index: http://pypi.python.org/pypi/PyWavelets/ +.. _PyWavelets discussions group: http://groups.google.com/group/pywavelets +