Roberto De Almeida avatar Roberto De Almeida committed d43bfbd

Working on documentation.

Comments (0)

Files changed (5)

+syntax: glob
+.cache
+*.orig
+*.swp
+*.pyc
+*egg-info
+docs/_build/
+pupynere.org/
+build/
+dist/
+setup.py
+paver-minilib.zip

docs/Changelog.rst

+Changelog
+=========
+
+1.1
+---
+
+1.1.0
+~~~~~
+
+- Incorporated modifications from scipy.io.netcdf.
+- Added int64 to int32 conversion.
+- Fixed cursor position under Windows.
+- Works with mal-formed unicode.
+- Improved type conversion between Numpy and Netcdf.
+- Added optional automatic masking and conversion of data.
+- Added paging for improved mmap().
+
+1.0
+---
+
+1.0.15
+~~~~~~
+- Added fix for empty attributes.
+
+1.0.14
+~~~~~~
+- Added support for Unicode attributes.
+
+1.0.13
+~~~~~~
+- Fixed bug when reading character variables without mmap.
+
+1.0.12
+~~~~~~
+- Fixed bug.
+
+1.0.11
+~~~~~~
+- Fixed bug.
+
+1.0.10
+~~~~~~
+- Fixed bug when packing integer attributes in 64-bit systems.
+
+1.0.9
+~~~~~
+- Should work with Python 2.3.
+- Accepts file objects instead of only filenames.
+
+1.0.8
+~~~~~
+- Allow writing version 2 files (Large Files).
+
+1.0.7
+~~~~~
+- Removed reads from asserts to allow PYTHONOPTIMIZE.
+
+1.0.6
+~~~~~
+- Allows zero-length record variables.
+
+1.0.5
+~~~~~
+- Added the option to open files without using mmap, since mmap can't handle huge files on Windows.
+
+1.0.4
+~~~~~
+- Fixed packing of dimensions when writing a file. The order was being read from a dictionary (essentially unordered), instead of from the list with the proper order.
+
+1.0.3
+~~~~~
+- Fixed bug so that it can write scalar variables.
+
+1.0.2
+~~~~~
+- Fixed broken 1.0.1, ``var.shape`` was returning the current number of records in the first dimension, breaking the detection of record variables.
+
+1.0.1
+~~~~~
+- Changed the code to read the variable shape from the underlying data object.
+
+1.0.0
+~~~~~
+- Initial stable release. Handles record arrays properly (using a single mmap for all record variables) and writes files.
+License
+=======
+
+Copyright (c) 2005--2012 Roberto De Almeida
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in
+all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+THE SOFTWARE.
+
+import string
+
+from paver.easy import *
+from paver.setuputils import setup, find_packages, find_package_data
+import paver.doctools
+import paver.virtual
+from paver.release import setup_meta
+
+options = environment.options
+setup(**setup_meta)
+
+options(
+    setup=Bunch(
+        name='Pupynere',
+        version='1.1.0',
+        description='Pure Python NetCDF reader and writer.',
+        long_description='''
+Pupynere is an implementation of the NetCDF library, written from scratch
+in Python. It uses ``mmap()`` in order to read the data lazily, without
+needing to load everything into memory. It depends only on Numpy, so you
+don't need to install the NetCDF library from Unidata.
+        ''',
+        keywords='netcdf data science climate oceanography meteorology',
+        classifiers=filter(None, map(string.strip, '''
+            Development Status :: 5 - Production/Stable
+            Environment :: Console
+            Intended Audience :: Developers
+            Intended Audience :: Science/Research
+            License :: OSI Approved :: MIT License
+            Operating System :: OS Independent
+            Programming Language :: Python
+            Topic :: Scientific/Engineering
+            Topic :: Software Development :: Libraries :: Python Modules
+        '''.split('\n'))),
+        author='Roberto De Almeida',
+        author_email='roberto@dealmeida.net',
+        url='http://pupynere.org/',
+        license='MIT',
+
+        py_modules=['pupynere'],
+        include_package_data=True,
+        zip_safe=True,
+
+        test_suite='nose.collector',
+
+        dependency_links=[],
+        install_requires=[
+            'numpy',
+        ],
+        extras_require={
+            'test': ['nose'],
+            'docs': ['Paver', 'Sphinx', 'Pygments'],
+        },
+    ),
+    minilib=Bunch(
+        extra_files=['doctools', 'virtual']
+    ), 
+    virtualenv=Bunch(
+        packages_to_install=['Pupynere'],
+        script_name='bootstrap.py',
+        paver_command_line=None,
+        install_paver=True
+    ),
+    sphinx=Bunch(
+        builddir='_build',
+    ),
+    cog=Bunch(
+        includedir='.',
+    ),
+    deploy=Bunch(
+        htmldir = path('pupynere.org'),
+        bucket = 'pupynere.org',
+    ),
+)
+
+
+if paver.doctools.has_sphinx:
+    @task
+    @needs(['cog', 'paver.doctools.html'])
+    def html():
+        """Build the docs and put them into our package."""
+        destdir = path('pupynere.org')
+        destdir.rmtree()
+        builtdocs = path("docs") / options.builddir / "html"
+        builtdocs.move(destdir)
+
+    @task
+    @needs(['cog', 'paver.doctools.doctest'])
+    def doctest():
+        pass
+
+
+if paver.virtual.has_virtualenv:
+    @task
+    def bootstrap():
+        """Build a virtualenv bootstrap for developing paver."""
+        paver.virtual._create_bootstrap(options.script_name,
+                options.packages_to_install,
+                options.paver_command_line,
+                options.install_paver)
+
+
+@task
+@needs(['generate_setup', 'minilib', 'setuptools.command.sdist'])
+def sdist():
+    """Overrides sdist to make sure that our setup.py is generated."""
+    pass
+
+
+@task
+def deploy():
+    """Deploy the HTML to the server."""
+    import os
+    from boto.s3.connection import S3Connection
+    from boto.s3.key import Key
+
+    conn = S3Connection()
+    bucket = conn.create_bucket(options.bucket)
+    bucket.set_acl('public-read')
+
+    for root, dirs, files in os.walk(options.htmldir):
+        for file in files:
+            path = os.path.join(root, file)
+            k = Key(bucket)
+            k.key = path[len(options.htmldir)+1:]  # strip pupynere.org/
+            k.set_contents_from_filename(path)
+            k.set_acl('public-read')
+[nosetests]
+verbosity=2
+with-doctest=1
+doctest-extension=txt
Tip: Filter by directory path e.g. /media app.js to search for public/media/app.js.
Tip: Use camelCasing e.g. ProjME to search for ProjectModifiedEvent.java.
Tip: Filter by extension type e.g. /repo .js to search for all .js files in the /repo directory.
Tip: Separate your search with spaces e.g. /ssh pom.xml to search for src/ssh/pom.xml.
Tip: Use ↑ and ↓ arrow keys to navigate and return to view the file.
Tip: You can also navigate files with Ctrl+j (next) and Ctrl+k (previous) and view the file with Ctrl+o.
Tip: You can also navigate files with Alt+j (next) and Alt+k (previous) and view the file with Alt+o.