"""Here is defined the Array class."""
@@ -207,7 +115,9 @@ Source code for tables.array
obversion = "2.4" # Numeric and numarray flavors are gone.
-[docs] class Array ( hdf5extension . Array , Leaf ):
+
+
[docs]
+
class Array ( hdf5extension . Array , Leaf ):
"""This class represents homogeneous datasets in an HDF5 file.
This class provides methods to write or read data to or from array objects
@@ -410,7 +320,9 @@
Source code for tables.array
return oid
-[docs] def get_enum ( self ):
+
+
[docs]
+
def get_enum ( self ):
"""Get the enumerated type associated with this array.
If this array is of an enumerated type, the corresponding Enum instance
@@ -425,7 +337,10 @@
Source code for tables.array
-
[docs] def iterrows ( self , start = None , stop = None , step = None ):
+
+
+
[docs]
+
def iterrows ( self , start = None , stop = None , step = None ):
"""Iterate over the rows of the array.
This method returns an iterator yielding an object of the current
@@ -460,7 +375,10 @@
Source code for tables.array
self . _init_loop ()
return self
-
[docs] def __iter__ ( self ):
+
+
+
[docs]
+
def __iter__ ( self ):
"""Iterate over the rows of the array.
This is equivalent to calling :meth:`Array.iterrows` with default
@@ -488,6 +406,7 @@
Source code for tables.array
self . _init_loop ()
return self
+
def _init_loop ( self ):
"""Initialization for the __iter__ iterator."""
@@ -497,7 +416,9 @@
Source code for tables.array
self . _init = True # Sentinel
self . nrow = SizeType ( self . _start - self . _step ) # row number
-[docs] def __next__ ( self ):
+
+
[docs]
+
def __next__ ( self ):
"""Get the next element of the array during an iteration.
The element is returned as an object of the current flavor.
@@ -534,6 +455,7 @@
Source code for tables.array
else :
return self . listarr # Scalar case
+
def _interpret_indexing ( self , keys ):
"""Internal routine used by __getitem__ and __setitem__"""
@@ -650,7 +572,7 @@
Source code for tables.array
def translate_slice ( exp , length ):
"""Given a slice object, return a 3-tuple (start, count, step)
- This is for for use with the hyperslab selection routines.
+ This is for use with the hyperslab selection routines.
"""
@@ -776,7 +698,9 @@ Source code for tables.array
mshape = tuple ( x for x in mshape if x != 0 )
return selection , reorder , mshape
-[docs] def __getitem__ ( self , key ):
+
+
[docs]
+
def __getitem__ ( self , key ):
"""Get a row, a range of rows or a slice from the array.
The set of tokens allowed for the key is the same as that for extended
@@ -824,7 +748,10 @@
Source code for tables.array
return internal_to_flavor ( arr , self . flavor )
-
[docs] def __setitem__ ( self , key , value ):
+
+
+
[docs]
+
def __setitem__ ( self , key , value ):
"""Set a row, a range of rows or a slice in the array.
It takes different actions depending on the type of the key parameter:
@@ -886,6 +813,7 @@
Source code for tables.array
selection , reorder , shape = self . _fancy_selection ( key )
self . _write_selection ( selection , reorder , shape , nparr )
+
def _check_shape ( self , nparr , slice_shape ):
"""Test that nparr shape is consistent with underlying object.
@@ -1014,7 +942,9 @@
Source code for tables.array
arr . byteswap ( True )
return arr
-[docs] def read ( self , start = None , stop = None , step = None , out = None ):
+
+
[docs]
+
def read ( self , start = None , stop = None , step = None , out = None ):
"""Get data in the array as an object of the current flavor.
The start, stop and step parameters can be used to select only a
@@ -1052,6 +982,7 @@
Source code for tables.array
arr = self . _read ( start , stop , step , out )
return internal_to_flavor ( arr , self . flavor )
+
def _g_copy_with_stats ( self , group , name , start , stop , step ,
title , filters , chunkshape , _log , ** kwargs ):
"""Private part of Leaf.copy() for each kind of leaf."""
@@ -1085,6 +1016,7 @@
Source code for tables.array
chunkshape := { self . chunkshape !r} """
+
class ImageArray ( Array ):
"""Array containing an image.
@@ -1099,46 +1031,30 @@
Source code for tables.array
-
-
-
-
-
-
-
-
-
-
-
+
\ No newline at end of file
diff --git a/_modules/tables/atom.html b/_modules/tables/atom.html
index b6773d6..975a2d0 100644
--- a/_modules/tables/atom.html
+++ b/_modules/tables/atom.html
@@ -1,47 +1,20 @@
-
-
-
-
-
tables.atom — PyTables 3.8.1.dev0 documentation
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
tables.atom — PyTables 3.9.0 documentation
+
+
+
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
@@ -58,55 +31,29 @@
-
-
-
+
-
-
-
-
-
-
+
PyTables
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
-
+
Source code for tables.atom
"""Atom classes for describing dataset contents."""
@@ -220,7 +128,9 @@ Source code for tables.atom
_type_re = re . compile ( r '^([a-z]+)([0-9]*)$' )
-[docs] def split_type ( type ):
+
+
[docs]
+
def split_type ( type ):
"""Split a PyTables type into a PyTables kind and an item size.
Returns a tuple of (kind, itemsize). If no item size is present in the type
@@ -255,6 +165,7 @@
Source code for tables.atom
+
def _invalid_itemsize_error ( kind , itemsize , itemsizes ):
isizes = sorted ( itemsizes )
return ValueError ( "invalid item size for kind `` %s ``: %r ; "
@@ -380,7 +291,9 @@
Source code for tables.atom
atom_map [ kind ][ int ( itemsize )] = cls
-[docs] class Atom ( metaclass = MetaAtom ):
+
+
[docs]
+
class Atom ( metaclass = MetaAtom ):
"""Defines the type of atomic cells stored in a dataset.
The meaning of *atomic* is that individual elements of a cell can
@@ -481,7 +394,9 @@
Source code for tables.atom
cname = cls . __name__
return cname [: cname . rfind ( 'Atom' )]
-[docs] @classmethod
+
+
[docs]
+
@classmethod
def from_sctype ( cls , sctype , shape = (), dflt = None ):
"""Create an Atom from a NumPy scalar type sctype.
@@ -508,7 +423,10 @@
Source code for tables.atom
sctype = np . sctypeDict [ sctype ]
return cls . from_dtype ( np . dtype (( sctype , shape )), dflt )
-
[docs] @classmethod
+
+
+
[docs]
+
@classmethod
def from_dtype ( cls , dtype , dflt = None ):
"""Create an Atom from a NumPy dtype.
@@ -555,7 +473,10 @@
Source code for tables.atom
# Most NumPy types have direct correspondence with PyTables types.
return cls . from_type ( basedtype . name , dtype . shape , dflt )
-
[docs] @classmethod
+
+
+
[docs]
+
@classmethod
def from_type ( cls , type , shape = (), dflt = None ):
"""Create an Atom from a PyTables type.
@@ -582,7 +503,10 @@
Source code for tables.atom
kind , itemsize = split_type ( type )
return cls . from_kind ( kind , itemsize , shape , dflt )
-
[docs] @classmethod
+
+
+
[docs]
+
@classmethod
def from_kind ( cls , kind , itemsize = None , shape = (), dflt = None ):
"""Create an Atom from a PyTables kind.
@@ -650,6 +574,7 @@
Source code for tables.atom
return atomclass ( ** kwargs )
+
@property
def size ( self ):
"""Total size in bytes of the atom."""
@@ -708,7 +633,9 @@
Source code for tables.atom
# return hash((self.__class__, self.type, self.shape, self.itemsize,
# self.dflt))
-[docs] def copy ( self , ** override ):
+
+
[docs]
+
def copy ( self , ** override ):
"""Get a copy of the atom, possibly overriding some arguments.
Constructor arguments to be overridden must be passed as
@@ -735,6 +662,7 @@
Source code for tables.atom
newargs . update ( override )
return self . __class__ ( ** newargs )
+
def _get_init_args ( self ):
"""Get a dictionary of instance constructor arguments.
@@ -757,7 +685,10 @@
Source code for tables.atom
and np . all ( self . dflt == atom . dflt ))
-
[docs] class StringAtom ( Atom ):
+
+
+
[docs]
+
class StringAtom ( Atom ):
"""Defines an atom of type string.
The item size is the *maximum* length in characters of strings.
@@ -781,7 +712,10 @@
Source code for tables.atom
Atom . __init__ ( self , 'S %d ' % itemsize , shape , dflt )
-
[docs] class BoolAtom ( Atom ):
+
+
+
[docs]
+
class BoolAtom ( Atom ):
"""Defines an atom of type bool."""
kind = 'bool'
@@ -794,7 +728,10 @@
Source code for tables.atom
Atom . __init__ ( self , self . type , shape , dflt )
-
[docs] class IntAtom ( Atom ):
+
+
+
[docs]
+
class IntAtom ( Atom ):
"""Defines an atom of a signed integral type (int kind)."""
kind = 'int'
@@ -804,7 +741,10 @@
Source code for tables.atom
__init__ = _abstract_atom_init ( _deftype , _defvalue )
-
[docs] class UIntAtom ( Atom ):
+
+
+
[docs]
+
class UIntAtom ( Atom ):
"""Defines an atom of an unsigned integral type (uint kind)."""
kind = 'uint'
@@ -814,7 +754,10 @@
Source code for tables.atom
__init__ = _abstract_atom_init ( _deftype , _defvalue )
-
[docs] class FloatAtom ( Atom ):
+
+
+
[docs]
+
class FloatAtom ( Atom ):
"""Defines an atom of a floating point type (float kind)."""
kind = 'float'
@@ -823,6 +766,7 @@
Source code for tables.atom
__init__ = _abstract_atom_init ( _deftype , _defvalue )
+
def _create_numeric_class ( baseclass , itemsize ):
"""Create a numeric atom class with the given `baseclass` and an
`itemsize`."""
@@ -857,7 +801,9 @@
Source code for tables.atom
Float128Atom = _create_numeric_class ( FloatAtom , 16 )
-[docs] class ComplexAtom ( Atom ):
+
+
[docs]
+
class ComplexAtom ( Atom ):
"""Defines an atom of kind complex.
Allowed item sizes are 8 (single precision) and 16 (double precision). This
@@ -900,6 +846,7 @@
Source code for tables.atom
Atom . __init__ ( self , self . type , shape , dflt )
+
class _ComplexErrorAtom ( ComplexAtom , metaclass = type ):
"""Reminds the user to stop using the old complex atom names."""
@@ -934,7 +881,9 @@
Source code for tables.atom
__init__ = _abstract_atom_init ( _deftype , _defvalue )
-[docs] class Time32Atom ( TimeAtom ):
+
+
[docs]
+
class Time32Atom ( TimeAtom ):
"""Defines an atom of type time32."""
itemsize = 4
@@ -945,7 +894,10 @@
Source code for tables.atom
Atom . __init__ ( self , 'int32' , shape , dflt )
-
[docs] class Time64Atom ( TimeAtom ):
+
+
+
[docs]
+
class Time64Atom ( TimeAtom ):
"""Defines an atom of type time64."""
itemsize = 8
@@ -956,7 +908,10 @@
Source code for tables.atom
Atom . __init__ ( self , 'float64' , shape , dflt )
-
[docs] class EnumAtom ( Atom ):
+
+
+
[docs]
+
class EnumAtom ( Atom ):
"""Description of an atom of an enumerated type.
Instances of this class describe the atom type used to store enumerated
@@ -1141,6 +1096,7 @@
Source code for tables.atom
__eq__ = _cmp_dispatcher ( '_is_equal_to_enumatom' )
+
# XXX: API incompatible change for PyTables 3 line
# Overriding __eq__ blocks inheritance of __hash__ in 3.x
# def __hash__(self):
@@ -1228,7 +1184,9 @@
Source code for tables.atom
raise NotImplementedError
-[docs] class VLStringAtom ( _BufferedAtom ):
+
+
[docs]
+
class VLStringAtom ( _BufferedAtom ):
"""Defines an atom of type ``vlstring``.
This class describes a *row* of the VLArray class, rather than an atom. It
@@ -1266,11 +1224,17 @@
Source code for tables.atom
raise TypeError ( f "object is not a string: { object_ !r} " )
return np . string_ ( object_ )
-[docs] def fromarray ( self , array ):
-
return array . tobytes ()
+
+
[docs]
+
def fromarray ( self , array ):
+
return array . tobytes ()
+
+
-
[docs] class VLUnicodeAtom ( _BufferedAtom ):
+
+
[docs]
+
class VLUnicodeAtom ( _BufferedAtom ):
"""Defines an atom of type vlunicode.
This class describes a *row* of the VLArray class, rather than an atom. It
@@ -1300,7 +1264,9 @@
Source code for tables.atom
# NumPy scalars inherit the UCS-2 encoding from Python (see
# NumPy ticket #525). Since ``_tobuffer()`` can't return an
# array, we must override ``toarray()`` itself.
-[docs] def toarray ( self , object_ ):
+
+
[docs]
+
def toarray ( self , object_ ):
if isinstance ( object_ , bytes ):
warnings . warn ( "Storing bytestrings in VLUnicodeAtom is "
"deprecated." , DeprecationWarning )
@@ -1311,6 +1277,7 @@
Source code for tables.atom
return np . ndarray (
buffer = uarr , dtype = self . base . dtype , shape = len ( ustr ))
+
def _tobuffer ( self , object_ ):
# This works (and is used) only with UCS-4 builds of Python,
# where the width of the internal representation of a
@@ -1322,14 +1289,20 @@
Source code for tables.atom
raise TypeError ( f "object is not a string: { object_ !r} " )
return np . unicode_ ( object_ )
-[docs] def fromarray ( self , array ):
+
+
[docs]
+
def fromarray ( self , array ):
length = len ( array )
if length == 0 :
return '' # ``array.view('U0')`` raises a `TypeError`
-
return array . view ( 'U %d ' % length ) . item ()
+ return array . view ( 'U %d ' % length ) . item ()
+
+
-
[docs] class ObjectAtom ( _BufferedAtom ):
+
+
[docs]
+
class ObjectAtom ( _BufferedAtom ):
"""Defines an atom of type object.
This class is meant to fit *any* kind of Python object in a row of a
@@ -1352,56 +1325,44 @@
Source code for tables.atom
def _tobuffer ( self , object_ ):
return pickle . dumps ( object_ , pickle . HIGHEST_PROTOCOL )
-[docs] def fromarray ( self , array ):
+
+
[docs]
+
def fromarray ( self , array ):
# We have to check for an empty array because of a possible
# bug in HDF5 which makes it claim that a dataset has one
# record when in fact it is empty.
if array . size == 0 :
return None
-
return pickle . loads ( array . tobytes ())
+ return pickle . loads ( array . tobytes ())
+
+
-
-
-
-
-
-
-
-
-
-
-
+
\ No newline at end of file
diff --git a/_modules/tables/attributeset.html b/_modules/tables/attributeset.html
index ff696b2..d687c8a 100644
--- a/_modules/tables/attributeset.html
+++ b/_modules/tables/attributeset.html
@@ -1,47 +1,20 @@
-
-
-
-
- tables.attributeset — PyTables 3.8.1.dev0 documentation
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+ tables.attributeset — PyTables 3.9.0 documentation
+
+
+
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
@@ -58,55 +31,29 @@
-
-
-
+
-
-
-
-
-
-
+
PyTables
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
-
+
Source code for tables.attributeset
"""Here is defined the AttributeSet class."""
@@ -237,7 +145,9 @@ Source code for tables.attributeset
[ name . startswith ( prefix ) for prefix in SYS_ATTRS_PREFIXES ]))
-[docs] class AttributeSet ( hdf5extension . AttributeSet ):
+
+
[docs]
+
class AttributeSet ( hdf5extension . AttributeSet ):
"""Container for the HDF5 attributes of a Node.
This class provides methods to create new HDF5 node attributes,
@@ -434,7 +344,9 @@
Source code for tables.attributeset
# hdf5extension operations:
self . _g_new ( node )
-[docs] def _f_list ( self , attrset = 'user' ):
+
+
[docs]
+
def _f_list ( self , attrset = 'user' ):
"""Get a list of attribute names.
The attrset string selects the attribute set to be used. A
@@ -451,6 +363,7 @@
Source code for tables.attributeset
elif attrset == "all" :
return self . _v_attrnames [:]
+
def __dir__ ( self ):
"""Autocomplete only children named as valid python identifiers.
@@ -750,7 +663,9 @@
Source code for tables.attributeset
"Attribute (' %s ') does not exist in node ' %s '"
% ( name , self . _v__nodepath ))
-[docs] def __contains__ ( self , name ):
+
+
[docs]
+
def __contains__ ( self , name ):
"""Is there an attribute with that name?
A true value is returned if the attribute set has an attribute
@@ -760,7 +675,10 @@
Source code for tables.attributeset
return name in self . _v_attrnames
-
[docs] def _f_rename ( self , oldattrname , newattrname ):
+
+
+
[docs]
+
def _f_rename ( self , oldattrname , newattrname ):
"""Rename an attribute from oldattrname to newattrname."""
if oldattrname == newattrname :
@@ -776,6 +694,7 @@
Source code for tables.attributeset
# Finally, remove the old attribute
delattr ( self , oldattrname )
+
def _g_copy ( self , newset , set_attr = None , copyclass = False ):
"""Copy set attributes.
@@ -820,7 +739,9 @@
Source code for tables.attributeset
if attrname in self . _v_attrnamessys :
set_attr ( attrname , getattr ( self , attrname ))
-[docs] def _f_copy ( self , where ):
+
+
[docs]
+
def _f_copy ( self , where ):
"""Copy attributes to the where node.
Copies all user and certain system attributes to the given where
@@ -836,6 +757,7 @@
Source code for tables.attributeset
raise TypeError ( f "destination object is not a node: { where !r} " )
self . _g_copy ( where . _v_attrs , where . _v_attrs . __setattr__ )
+
def _g_close ( self ):
# Nothing will be done here, as the existing instance is completely
# operative now.
@@ -864,6 +786,7 @@
Source code for tables.attributeset
+
class NotLoggedAttributeSet ( AttributeSet ):
def _g_log_add ( self , name ):
pass
@@ -873,46 +796,30 @@
Source code for tables.attributeset
-
-
-
-
-
-
-
-
-
-
-
+
\ No newline at end of file
diff --git a/_modules/tables/carray.html b/_modules/tables/carray.html
index 3acaccd..eb11c2b 100644
--- a/_modules/tables/carray.html
+++ b/_modules/tables/carray.html
@@ -1,47 +1,20 @@
-
-
-
-
-
tables.carray — PyTables 3.8.1.dev0 documentation
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
tables.carray — PyTables 3.9.0 documentation
+
+
+
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
@@ -58,55 +31,29 @@
-
-
-
+
-
-
-
-
-
-
+
PyTables
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
-
+
Source code for tables.carray
"""Here is defined the CArray class."""
@@ -200,7 +108,9 @@ Source code for tables.carray
obversion = "1.1" # Numeric and numarray flavors are gone.
-[docs] class CArray ( Array ):
+
+
[docs]
+
class CArray ( Array ):
"""This class represents homogeneous datasets in an HDF5 file.
The difference between a CArray and a normal Array (see
@@ -462,49 +372,34 @@
Source code for tables.carray
nbytes = np . prod ( self . shape , dtype = SizeType ) * self . atom . size
return ( object , nbytes )
+
-
-
-
-
-
-
-
-
-
-
-
+
\ No newline at end of file
diff --git a/_modules/tables/description.html b/_modules/tables/description.html
index a44ceae..61fcb2e 100644
--- a/_modules/tables/description.html
+++ b/_modules/tables/description.html
@@ -1,47 +1,20 @@
-
-
-
-
-
tables.description — PyTables 3.8.1.dev0 documentation
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
tables.description — PyTables 3.9.0 documentation
+
+
+
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
@@ -58,55 +31,29 @@
-
-
-
+
-
-
-
-
-
-
+
PyTables
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
-
+
Source code for tables.description
"""Classes for describing columns for ``Table`` objects."""
@@ -212,7 +120,9 @@ Source code for tables.description
return newmethod
-[docs] class Col ( atom . Atom , metaclass = type ):
+
+
[docs]
+
class Col ( atom . Atom , metaclass = type ):
"""Defines a non-nested column.
Col instances are used as a means to declare the different properties of a
@@ -250,6 +160,9 @@
Source code for tables.description
pos : int
Sets the position of column in table. If unspecified, the position
will be randomly selected.
+ attrs : dict
+ Attribute metadata stored in the column (see
+ :ref:`AttributeSetClassDescr`).
"""
@@ -263,7 +176,9 @@ Source code for tables.description
cname = cls . __name__
return cname [: cname . rfind ( 'Col' )]
-[docs] @classmethod
+
+
[docs]
+
@classmethod
def from_atom ( cls , atom , pos = None , _offset = None ):
"""Create a Col definition from a PyTables atom.
@@ -276,6 +191,7 @@
Source code for tables.description
colclass = cls . _class_from_prefix [ prefix ]
return colclass ( pos = pos , _offset = _offset , ** kwargs )
+
@classmethod
def from_sctype ( cls , sctype , shape = (), dflt = None , pos = None ):
"""Create a `Col` definition from a NumPy scalar type `sctype`.
@@ -347,12 +263,15 @@
Source code for tables.description
The constructor accepts the same arguments as the equivalent
`Atom` class, plus an additional ``pos`` argument for
position information, which is assigned to the `_v_pos`
+ attribute and an ``attrs`` argument for storing additional metadata
+ similar to `table.attrs`, which is assigned to the `_v_col_attrs`
attribute.
"""
def __init__ ( self , * args , ** kwargs ):
pos = kwargs . pop ( 'pos' , None )
+ col_attrs = kwargs . pop ( 'attrs' , {})
offset = kwargs . pop ( '_offset' , None )
class_from_prefix = self . _class_from_prefix
atombase . __init__ ( self , * args , ** kwargs )
@@ -364,6 +283,7 @@ Source code for tables.description
self . __class__ = colclass
self . _v_pos = pos
self . _v_offset = offset
+ self . _v_col_attrs = col_attrs
__eq__ = same_position ( atombase . __eq__ )
_is_equal_to_atom = same_position ( atombase . _is_equal_to_atom )
@@ -389,6 +309,9 @@ Source code for tables.description
rpar = atomrepr . rindex ( ')' )
atomargs = atomrepr [ lpar + 1 : rpar ]
classname = self . __class__ . __name__
+ if self . _v_col_attrs :
+ return ( f ' { classname } ( { atomargs } , pos= { self . _v_pos } '
+ f ', attrs= { self . _v_col_attrs } )' )
return f ' { classname } ( { atomargs } , pos= { self . _v_pos } )'
def _get_init_args ( self ):
@@ -399,6 +322,7 @@ Source code for tables.description
+
def _generate_col_classes ():
"""Generate all column classes."""
@@ -470,7 +394,9 @@ Source code for tables.description
# Table description classes
# =========================
-[docs] class Description :
+
+
[docs]
+
class Description :
"""This class represents descriptions of the structure of tables.
An instance of this class is automatically bound to Table (see
@@ -883,7 +809,9 @@
Source code for tables.description
parentCols . extend ( colPaths )
# (Nothing is pushed, we are done with this description.)
-[docs] def _f_walk ( self , type = 'All' ):
+
+
[docs]
+
def _f_walk ( self , type = 'All' ):
"""Iterate over nested columns.
If type is 'All' (the default), all column description objects (Col and
@@ -911,6 +839,7 @@
Source code for tables.description
if type in [ "All" , "Col" ]:
yield new_object # yield column
+
def __repr__ ( self ):
"""Gives a detailed Description column representation."""
@@ -925,6 +854,7 @@
Source code for tables.description
return f 'Description( { self . _v_nested_descr } )'
+
class MetaIsDescription ( type ):
"""Helper metaclass to return the class variables as a dictionary."""
@@ -947,7 +877,9 @@
Source code for tables.description
return type . __new__ ( mcs , classname , bases , newdict )
-[docs] class IsDescription ( metaclass = MetaIsDescription ):
+
+
[docs]
+
class IsDescription ( metaclass = MetaIsDescription ):
"""Description of the structure of a table or nested column.
This class is designed to be used as an easy, yet meaningful way to
@@ -992,7 +924,10 @@
Source code for tables.description
-
[docs] def descr_from_dtype ( dtype_ , ptparams = None ):
+
+
+
[docs]
+
def descr_from_dtype ( dtype_ , ptparams = None ):
"""Get a description instance and byteorder from a (nested) NumPy dtype."""
fields = {}
@@ -1027,7 +962,10 @@
Source code for tables.description
return Description ( fields , ptparams = ptparams ), fbyteorder
-
[docs] def dtype_from_descr ( descr , byteorder = None , ptparams = None ):
+
+
+
[docs]
+
def dtype_from_descr ( descr , byteorder = None , ptparams = None ):
"""Get a (nested) NumPy dtype from a description instance and byteorder.
The descr parameter can be a Description or IsDescription
@@ -1053,6 +991,7 @@
Source code for tables.description
+
if __name__ == "__main__" :
"""Test code."""
@@ -1159,46 +1098,30 @@
Source code for tables.description
-
-
-
-
-
-
-
-
-
-
-
+
\ No newline at end of file
diff --git a/_modules/tables/earray.html b/_modules/tables/earray.html
index 4bdc883..c7a95ab 100644
--- a/_modules/tables/earray.html
+++ b/_modules/tables/earray.html
@@ -1,47 +1,20 @@
-
-
-
-
-
tables.earray — PyTables 3.8.1.dev0 documentation
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
tables.earray — PyTables 3.9.0 documentation
+
+
+
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
@@ -58,55 +31,29 @@
-
-
-
+
-
-
-
-
-
-
+
PyTables
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
-
+
Source code for tables.earray
"""Here is defined the EArray class."""
@@ -200,7 +108,9 @@ Source code for tables.earray
obversion = "1.4" # Numeric and numarray flavors are gone.
-[docs] class EArray ( CArray ):
+
+
[docs]
+
class EArray ( CArray ):
"""This class represents extendable, homogeneous datasets in an HDF5 file.
The main difference between an EArray and a CArray (see
@@ -352,7 +262,7 @@
Source code for tables.earray
def _check_shape_append ( self , nparr ):
"""Test that nparr shape is consistent with underlying EArray."""
- # The arrays conforms self expandibility?
+ # Does the array conform to self expandibility?
myrank = len ( self . shape )
narank = len ( nparr . shape ) - len ( self . atom . shape )
if myrank != narank :
@@ -365,7 +275,9 @@ Source code for tables.earray
"`` %s `` EArray differ in non-enlargeable "
"dimension %d " ) % ( self . _v_pathname , i ))
-[docs] def append ( self , sequence ):
+
+
[docs]
+
def append ( self , sequence ):
"""Add a sequence of data to the end of the dataset.
The sequence must have the same type as the array; otherwise a
@@ -388,6 +300,7 @@
Source code for tables.earray
if nparr . size > 0 :
self . _append ( nparr )
+
def _g_copy_with_stats ( self , group , name , start , stop , step ,
title , filters , chunkshape , _log , ** kwargs ):
"""Private part of Leaf.copy() for each kind of leaf."""
@@ -425,49 +338,34 @@
Source code for tables.earray
nbytes = np . prod ( self . shape , dtype = SizeType ) * self . atom . itemsize
return ( object , nbytes )
+
-
-
-
-
-
-
-
-
-
-
-
+
\ No newline at end of file
diff --git a/_modules/tables/exceptions.html b/_modules/tables/exceptions.html
index 9b68d8f..1e53148 100644
--- a/_modules/tables/exceptions.html
+++ b/_modules/tables/exceptions.html
@@ -1,47 +1,20 @@
-
-
-
-
- tables.exceptions — PyTables 3.8.1.dev0 documentation
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+ tables.exceptions — PyTables 3.9.0 documentation
+
+
+
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
@@ -58,55 +31,29 @@
-
-
-
+
-
-
-
-
-
-
+
PyTables
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
-
+
Source code for tables.exceptions
"""Declare exceptions and warnings that are specific to PyTables."""
@@ -216,7 +124,9 @@ Source code for tables.exceptions
"""The format of documentation strings in this module."""
-[docs] class HDF5ExtError ( RuntimeError ):
+
+
[docs]
+
class HDF5ExtError ( RuntimeError ):
"""A low level HDF5 operation failed.
This exception is raised the low level PyTables components used for
@@ -368,7 +278,9 @@
Source code for tables.exceptions
+
# Initialize the policy for HDF5 back trace handling
@@ -391,7 +305,9 @@
Source code for tables.exceptions
# The following exceptions are concretions of the ``ValueError`` exceptions
# raised by ``file`` objects on certain operations.
-[docs] class ClosedNodeError ( ValueError ):
+
+
[docs]
+
class ClosedNodeError ( ValueError ):
"""The operation can not be completed because the node is closed.
For instance, listing the children of a closed group is not allowed.
@@ -401,7 +317,10 @@
Source code for tables.exceptions
-
[docs] class ClosedFileError ( ValueError ):
+
+
+
[docs]
+
class ClosedFileError ( ValueError ):
"""The operation can not be completed because the hosting file is closed.
For instance, getting an existing node from a closed file is not
@@ -412,7 +331,10 @@
Source code for tables.exceptions
-
[docs] class FileModeError ( ValueError ):
+
+
+
[docs]
+
class FileModeError ( ValueError ):
"""The operation can not be carried out because the mode in which the
hosting file is opened is not adequate.
@@ -424,7 +346,10 @@
Source code for tables.exceptions
-
[docs] class NodeError ( AttributeError , LookupError ):
+
+
+
[docs]
+
class NodeError ( AttributeError , LookupError ):
"""Invalid hierarchy manipulation operation requested.
This exception is raised when the user requests an operation on the
@@ -444,7 +369,10 @@
Source code for tables.exceptions
-
[docs] class NoSuchNodeError ( NodeError ):
+
+
+
[docs]
+
class NoSuchNodeError ( NodeError ):
"""An operation was requested on a node that does not exist.
This exception is raised when an operation gets a path name or a
@@ -455,7 +383,10 @@
Source code for tables.exceptions
-
[docs] class UndoRedoError ( Exception ):
+
+
+
[docs]
+
class UndoRedoError ( Exception ):
"""Problems with doing/redoing actions with Undo/Redo feature.
This exception indicates a problem related to the Undo/Redo
@@ -467,7 +398,10 @@
Source code for tables.exceptions
-
[docs] class UndoRedoWarning ( Warning ):
+
+
+
[docs]
+
class UndoRedoWarning ( Warning ):
"""Issued when an action not supporting Undo/Redo is run.
This warning is only shown when the Undo/Redo mechanism is enabled.
@@ -477,7 +411,10 @@
Source code for tables.exceptions
-
[docs] class NaturalNameWarning ( Warning ):
+
+
+
[docs]
+
class NaturalNameWarning ( Warning ):
"""Issued when a non-pythonic name is given for a node.
This is not an error and may even be very useful in certain
@@ -489,7 +426,10 @@
Source code for tables.exceptions
-