Repository files navigation

===========================================
PyTables: hierarchical datasets in Python
===========================================
:URL: http://www.pytables.org/
PyTables is a package for managing hierarchical datasets and designed
to efficiently cope with extremely large amounts of data.
It is built on top of the HDF5 library and the NumPy package. It
features an object-oriented interface that, combined with C extensions
for the performance-critical parts of the code (generated using
Cython), makes it a fast, yet extremely easy to use tool for
interactively save and retrieve very large amounts of data. One
important feature of PyTables is that it optimizes memory and disk
resources so that they take much less space (between a factor 3 to 5,
and more if the data is compressible) than other solutions, like for
example, relational or object oriented databases.
Not a RDBMS replacement
-----------------------
PyTables is not designed to work as a relational database replacement,
but rather as a teammate. If you want to work with large datasets of
multidimensional data (for example, for multidimensional analysis), or
just provide a categorized structure for some portions of your
cluttered RDBS, then give PyTables a try. It works well for storing
data from data acquisition systems (DAS), simulation software, network
data monitoring systems (for example, traffic measurements of IP
packets on routers), or as a centralized repository for system logs,
to name only a few possible uses.
Tables
------
A table is defined as a collection of records whose values are stored
in fixed-length fields. All records have the same structure and all
values in each field have the same data type. The terms "fixed-length"
and strict "data types" seems to be quite a strange requirement for an
interpreted language like Python, but they serve a useful function if
the goal is to save very large quantities of data (such as is
generated by many scientific applications, for example) in an
efficient manner that reduces demand on CPU time and I/O.
Arrays
------
There are other useful objects like arrays, enlargeable arrays or
variable length arrays that can cope with different missions on your
project. Also, quite a bit of effort has been invested to make
browsing the hierarchical data structure a pleasant
experience. PyTables implements a few easy-to-use methods for
browsing. See the documentation (located in the ``doc/`` directory)
for more details.
Easy to use
-----------
One of the principal objectives of PyTables is to be user-friendly.
To that end, special Python features like generators, slots and
metaclasses in new-brand classes have been used. In addition,
iterators has been implemented were context was appropriate so as to
enable the interactive work to be as productive as possible. For these
reasons, you will need to use Python 2.4 or higher (Python 2.4.4 or
better recommended) to take advantage of PyTables.
Platforms
---------
We are using Linux on top of Intel32 and Intel64 boxes as the main
development platforms, but PyTables should be easy to compile/install
on other UNIX or Windows machines. Nonetheless, caveat emptor: more
testing is needed to achieve complete portability, we'd appreciate
input on how it compiles and installs on your platform.
Compiling
---------
To compile PyTables you will need, at least, a recent version of HDF5
(C flavor) library, the Zlib compression library and the NumPy and
Numexpr packages. Besides, if you want to take advantage of the LZO
and bzip2 compression libraries support you will also need recent
versions of them. LZO and bzip2 compression libraries are, however,
optional.
We've tested this PyTables version with HDF5 1.8.4/1.8.9, NumPy 1.4.1
and Numexpr 1.4.1, and you *need* to use these versions, or higher, to
make use of PyTables. Albeit you won't need numarray or Numeric Python
in order to compile PyTables, they are supported; you only will need a
reasonably recent version of them (>= 1.5.2 for numarray and >= 24.x
for Numeric). PyTables has been successfully tested against numarray
1.5.2 and Numeric 24.2.
Installation
------------
The Python Distutils are used to build and install PyTables, so it is
fairly simple to get things ready to go. Following are very simple
instructions on how to proceed. However, more detailed instructions,
including a section on binary installation for Windows users, is
available in Chapter 2 of the User's Manual (``doc/usersguide.pdf`` or
http://www.pytables.org/moin/HowToUse).
1. First, make sure that you have HDF5, NumPy and Numexpr installed
(you will need at least HDF5 1.8.4, NumPy 1.4.1 and Numexpr
1.4.1). If don't, get them from http://hdfgroup.org/HDF5/,
http://numpy.scipy.org/ and
http://code.google.com/p/numexpr. Compile/install them.
Optionally, consider to install the excellent LZO compression
library from http://www.oberhumer.com/opensource/. You can also
install the high-performance bzip2 compression library, available
at http://www.bzip.org/.
2. From the main PyTables distribution directory run this command,
(plus any extra flags needed as discussed above)::
python setup.py build_ext --inplace
3. To run the test suite, set the PYTHONPATH environment variable to
include the ``.`` directory, enter the Python interpreter and issue
the commands::
>>> import tables
>>> tables.test()
If there is some test that does not pass, please run send the
complete output for tests back to us.
4. To install the entire PyTables Python package, run this command as
the root user (remember to add any extra flags needed)::
python setup.py install
That's it! Good luck, and let us know of any bugs, suggestions,
gripes, kudos, etc. you may have.
----
**Enjoy data!**
-- The PyTables Team
.. Local Variables:
.. mode: text
.. coding: utf-8
.. fill-column: 70
.. End:

About

PyTables is a package for managing hierarchical datasets and designed to efficiently and easily cope with extremely large amounts of data. This a git-svn clone of the Pro version recently released under a BSD-flavored license by Francesc Alted!

Resources

Stars

1 star

Watchers

1 watching

Forks

Releases

Packages

Contributors

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Add copy buttons to all
 blocks\n(function() {\n function addCopyButtons() {\n document.querySelectorAll('pre code').forEach(function(codeBlock) {\n if (codeBlock.parentElement.hasAttribute('data-copy-added')) return;\n codeBlock.parentElement.setAttribute('data-copy-added', 'true');\n \n var btn = document.createElement('button');\n btn.textContent = 'Copy';\n btn.style.cssText = 'position:absolute;top:4px;right:4px;padding:2px 8px;font-size:11px;background:#4ecdc4;border:none;border-radius:4px;color:#1a1a2e;cursor:pointer;opacity:0.7;transition:opacity 0.2s;';\n btn.onmouseover = function() { this.style.opacity = '1'; };\n btn.onmouseout = function() { this.style.opacity = '0.7'; };\n btn.onclick = function() {\n navigator.clipboard.writeText(codeBlock.textContent).then(function() {\n btn.textContent = 'Copied!';\n setTimeout(function() { btn.textContent = 'Copy'; }, 1500);\n });\n };\n codeBlock.parentElement.style.position = 'relative';\n codeBlock.parentElement.appendChild(btn);\n });\n }\n \n addCopyButtons();\n \n // Re-run on dynamic content\n var observer = new MutationObserver(addCopyButtons);\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Add Copy Buttons to Code Blocks");
}
} catch(__e) { console.warn('[Userscript:Add Copy Buttons to Code Blocks]', __e); }
})();
(function(){
try {
var __m = "github.com";
var __re = new RegExp('^' + "github\\.com" + '
Skip to content

Repository files navigation

===========================================
PyTables: hierarchical datasets in Python
===========================================
:URL: http://www.pytables.org/
PyTables is a package for managing hierarchical datasets and designed
to efficiently cope with extremely large amounts of data.
It is built on top of the HDF5 library and the NumPy package. It
features an object-oriented interface that, combined with C extensions
for the performance-critical parts of the code (generated using
Cython), makes it a fast, yet extremely easy to use tool for
interactively save and retrieve very large amounts of data. One
important feature of PyTables is that it optimizes memory and disk
resources so that they take much less space (between a factor 3 to 5,
and more if the data is compressible) than other solutions, like for
example, relational or object oriented databases.
Not a RDBMS replacement
-----------------------
PyTables is not designed to work as a relational database replacement,
but rather as a teammate. If you want to work with large datasets of
multidimensional data (for example, for multidimensional analysis), or
just provide a categorized structure for some portions of your
cluttered RDBS, then give PyTables a try. It works well for storing
data from data acquisition systems (DAS), simulation software, network
data monitoring systems (for example, traffic measurements of IP
packets on routers), or as a centralized repository for system logs,
to name only a few possible uses.
Tables
------
A table is defined as a collection of records whose values are stored
in fixed-length fields. All records have the same structure and all
values in each field have the same data type. The terms "fixed-length"
and strict "data types" seems to be quite a strange requirement for an
interpreted language like Python, but they serve a useful function if
the goal is to save very large quantities of data (such as is
generated by many scientific applications, for example) in an
efficient manner that reduces demand on CPU time and I/O.
Arrays
------
There are other useful objects like arrays, enlargeable arrays or
variable length arrays that can cope with different missions on your
project. Also, quite a bit of effort has been invested to make
browsing the hierarchical data structure a pleasant
experience. PyTables implements a few easy-to-use methods for
browsing. See the documentation (located in the ``doc/`` directory)
for more details.
Easy to use
-----------
One of the principal objectives of PyTables is to be user-friendly.
To that end, special Python features like generators, slots and
metaclasses in new-brand classes have been used. In addition,
iterators has been implemented were context was appropriate so as to
enable the interactive work to be as productive as possible. For these
reasons, you will need to use Python 2.4 or higher (Python 2.4.4 or
better recommended) to take advantage of PyTables.
Platforms
---------
We are using Linux on top of Intel32 and Intel64 boxes as the main
development platforms, but PyTables should be easy to compile/install
on other UNIX or Windows machines. Nonetheless, caveat emptor: more
testing is needed to achieve complete portability, we'd appreciate
input on how it compiles and installs on your platform.
Compiling
---------
To compile PyTables you will need, at least, a recent version of HDF5
(C flavor) library, the Zlib compression library and the NumPy and
Numexpr packages. Besides, if you want to take advantage of the LZO
and bzip2 compression libraries support you will also need recent
versions of them. LZO and bzip2 compression libraries are, however,
optional.
We've tested this PyTables version with HDF5 1.8.4/1.8.9, NumPy 1.4.1
and Numexpr 1.4.1, and you *need* to use these versions, or higher, to
make use of PyTables. Albeit you won't need numarray or Numeric Python
in order to compile PyTables, they are supported; you only will need a
reasonably recent version of them (>= 1.5.2 for numarray and >= 24.x
for Numeric). PyTables has been successfully tested against numarray
1.5.2 and Numeric 24.2.
Installation
------------
The Python Distutils are used to build and install PyTables, so it is
fairly simple to get things ready to go. Following are very simple
instructions on how to proceed. However, more detailed instructions,
including a section on binary installation for Windows users, is
available in Chapter 2 of the User's Manual (``doc/usersguide.pdf`` or
http://www.pytables.org/moin/HowToUse).
1. First, make sure that you have HDF5, NumPy and Numexpr installed
(you will need at least HDF5 1.8.4, NumPy 1.4.1 and Numexpr
1.4.1). If don't, get them from http://hdfgroup.org/HDF5/,
http://numpy.scipy.org/ and
http://code.google.com/p/numexpr. Compile/install them.
Optionally, consider to install the excellent LZO compression
library from http://www.oberhumer.com/opensource/. You can also
install the high-performance bzip2 compression library, available
at http://www.bzip.org/.
2. From the main PyTables distribution directory run this command,
(plus any extra flags needed as discussed above)::
python setup.py build_ext --inplace
3. To run the test suite, set the PYTHONPATH environment variable to
include the ``.`` directory, enter the Python interpreter and issue
the commands::
>>> import tables
>>> tables.test()
If there is some test that does not pass, please run send the
complete output for tests back to us.
4. To install the entire PyTables Python package, run this command as
the root user (remember to add any extra flags needed)::
python setup.py install
That's it! Good luck, and let us know of any bugs, suggestions,
gripes, kudos, etc. you may have.
----
**Enjoy data!**
-- The PyTables Team
.. Local Variables:
.. mode: text
.. coding: utf-8
.. fill-column: 70
.. End:

About

PyTables is a package for managing hierarchical datasets and designed to efficiently and easily cope with extremely large amounts of data. This a git-svn clone of the Pro version recently released under a BSD-flavored license by Francesc Alted!

Resources

Stars

1 star

Watchers

1 watching

Forks

Releases

Packages

Contributors

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Force GitHub README to respect dark mode\n(function() {\n var style = document.createElement('style');\n style.textContent = '\n .markdown-body {\n color-scheme: dark light;\n }\n .markdown-body pre { background: #161b22 !important; }\n .markdown-body code { background: rgba(110, 118, 129, 0.4) !important; }\n .markdown-body table th, .markdown-body table td { border-color: #30363d !important; }\n .markdown-body img { background: #0d1117; }\n .markdown-body blockquote { border-left-color: #8b949e; }\n .markdown-body hr { border-color: #30363d; }\n ';\n document.head.appendChild(style);\n})();", "GitHub Dark Mode README Fix"); } } catch(__e) { console.warn('[Userscript:GitHub Dark Mode README Fix]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Repository files navigation

===========================================
PyTables: hierarchical datasets in Python
===========================================
:URL: http://www.pytables.org/
PyTables is a package for managing hierarchical datasets and designed
to efficiently cope with extremely large amounts of data.
It is built on top of the HDF5 library and the NumPy package. It
features an object-oriented interface that, combined with C extensions
for the performance-critical parts of the code (generated using
Cython), makes it a fast, yet extremely easy to use tool for
interactively save and retrieve very large amounts of data. One
important feature of PyTables is that it optimizes memory and disk
resources so that they take much less space (between a factor 3 to 5,
and more if the data is compressible) than other solutions, like for
example, relational or object oriented databases.
Not a RDBMS replacement
-----------------------
PyTables is not designed to work as a relational database replacement,
but rather as a teammate. If you want to work with large datasets of
multidimensional data (for example, for multidimensional analysis), or
just provide a categorized structure for some portions of your
cluttered RDBS, then give PyTables a try. It works well for storing
data from data acquisition systems (DAS), simulation software, network
data monitoring systems (for example, traffic measurements of IP
packets on routers), or as a centralized repository for system logs,
to name only a few possible uses.
Tables
------
A table is defined as a collection of records whose values are stored
in fixed-length fields. All records have the same structure and all
values in each field have the same data type. The terms "fixed-length"
and strict "data types" seems to be quite a strange requirement for an
interpreted language like Python, but they serve a useful function if
the goal is to save very large quantities of data (such as is
generated by many scientific applications, for example) in an
efficient manner that reduces demand on CPU time and I/O.
Arrays
------
There are other useful objects like arrays, enlargeable arrays or
variable length arrays that can cope with different missions on your
project. Also, quite a bit of effort has been invested to make
browsing the hierarchical data structure a pleasant
experience. PyTables implements a few easy-to-use methods for
browsing. See the documentation (located in the ``doc/`` directory)
for more details.
Easy to use
-----------
One of the principal objectives of PyTables is to be user-friendly.
To that end, special Python features like generators, slots and
metaclasses in new-brand classes have been used. In addition,
iterators has been implemented were context was appropriate so as to
enable the interactive work to be as productive as possible. For these
reasons, you will need to use Python 2.4 or higher (Python 2.4.4 or
better recommended) to take advantage of PyTables.
Platforms
---------
We are using Linux on top of Intel32 and Intel64 boxes as the main
development platforms, but PyTables should be easy to compile/install
on other UNIX or Windows machines. Nonetheless, caveat emptor: more
testing is needed to achieve complete portability, we'd appreciate
input on how it compiles and installs on your platform.
Compiling
---------
To compile PyTables you will need, at least, a recent version of HDF5
(C flavor) library, the Zlib compression library and the NumPy and
Numexpr packages. Besides, if you want to take advantage of the LZO
and bzip2 compression libraries support you will also need recent
versions of them. LZO and bzip2 compression libraries are, however,
optional.
We've tested this PyTables version with HDF5 1.8.4/1.8.9, NumPy 1.4.1
and Numexpr 1.4.1, and you *need* to use these versions, or higher, to
make use of PyTables. Albeit you won't need numarray or Numeric Python
in order to compile PyTables, they are supported; you only will need a
reasonably recent version of them (>= 1.5.2 for numarray and >= 24.x
for Numeric). PyTables has been successfully tested against numarray
1.5.2 and Numeric 24.2.
Installation
------------
The Python Distutils are used to build and install PyTables, so it is
fairly simple to get things ready to go. Following are very simple
instructions on how to proceed. However, more detailed instructions,
including a section on binary installation for Windows users, is
available in Chapter 2 of the User's Manual (``doc/usersguide.pdf`` or
http://www.pytables.org/moin/HowToUse).
1. First, make sure that you have HDF5, NumPy and Numexpr installed
(you will need at least HDF5 1.8.4, NumPy 1.4.1 and Numexpr
1.4.1). If don't, get them from http://hdfgroup.org/HDF5/,
http://numpy.scipy.org/ and
http://code.google.com/p/numexpr. Compile/install them.
Optionally, consider to install the excellent LZO compression
library from http://www.oberhumer.com/opensource/. You can also
install the high-performance bzip2 compression library, available
at http://www.bzip.org/.
2. From the main PyTables distribution directory run this command,
(plus any extra flags needed as discussed above)::
python setup.py build_ext --inplace
3. To run the test suite, set the PYTHONPATH environment variable to
include the ``.`` directory, enter the Python interpreter and issue
the commands::
>>> import tables
>>> tables.test()
If there is some test that does not pass, please run send the
complete output for tests back to us.
4. To install the entire PyTables Python package, run this command as
the root user (remember to add any extra flags needed)::
python setup.py install
That's it! Good luck, and let us know of any bugs, suggestions,
gripes, kudos, etc. you may have.
----
**Enjoy data!**
-- The PyTables Team
.. Local Variables:
.. mode: text
.. coding: utf-8
.. fill-column: 70
.. End:

About

PyTables is a package for managing hierarchical datasets and designed to efficiently and easily cope with extremely large amounts of data. This a git-svn clone of the Pro version recently released under a BSD-flavored license by Francesc Alted!

Resources

Stars

1 star

Watchers

1 watching

Forks

Releases

Packages

Contributors

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Highlight search terms from Google/DuckDuckGo/Bing referrer\n(function() {\n var ref = document.referrer;\n var terms = [];\n \n if (ref.includes('google.com') || ref.includes('duckduckgo.com') || ref.includes('bing.com')) {\n var url = new URL(ref);\n var q = url.searchParams.get('q') || url.searchParams.get('p');\n if (q) {\n terms = q.split(/\\s+/).filter(function(t) { return t.length > 2; });\n }\n }\n \n if (terms.length === 0) return;\n \n var style = document.createElement('style');\n style.textContent = '.userscript-highlight { background: #fbbf24; color: #1a1a2e; padding: 1px 3px; border-radius: 2px; }';\n document.head.appendChild(style);\n \n function highlight(node) {\n if (node.nodeType === 3) { // text node\n var text = node.textContent;\n var found = false;\n terms.forEach(function(term) {\n var regex = new RegExp('(' + term.replace(/[.*+?^${}()|[\\]\\\\]/g, '\\\\') + ')', 'gi');\n if (regex.test(text)) {\n found = true;\n var frag = document.createDocumentFragment();\n var parts = text.split(regex);\n parts.forEach(function(part, i) {\n if (i % 2 === 0) {\n frag.appendChild(document.createTextNode(part));\n } else {\n var span = document.createElement('span');\n span.className = 'userscript-highlight';\n span.textContent = part;\n frag.appendChild(span);\n }\n });\n node.parentNode.replaceChild(frag, node);\n }\n });\n } else if (node.nodeType === 1 && node.childNodes) { // element\n var skipTags = ['SCRIPT', 'STYLE', 'NOSCRIPT', 'TEXTAREA', 'INPUT', 'SELECT'];\n if (!skipTags.includes(node.tagName)) {\n Array.from(node.childNodes).forEach(highlight);\n }\n }\n }\n \n highlight(document.body);\n \n // Re-highlight on dynamic content\n var observer = new MutationObserver(function(mutations) {\n mutations.forEach(function(m) {\n m.addedNodes.forEach(function(node) {\n if (node.nodeType === 1 || node.nodeType === 3) highlight(node);\n });\n });\n });\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Highlight Search Terms"); } } catch(__e) { console.warn('[Userscript:Highlight Search Terms]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Repository files navigation

===========================================
PyTables: hierarchical datasets in Python
===========================================
:URL: http://www.pytables.org/
PyTables is a package for managing hierarchical datasets and designed
to efficiently cope with extremely large amounts of data.
It is built on top of the HDF5 library and the NumPy package. It
features an object-oriented interface that, combined with C extensions
for the performance-critical parts of the code (generated using
Cython), makes it a fast, yet extremely easy to use tool for
interactively save and retrieve very large amounts of data. One
important feature of PyTables is that it optimizes memory and disk
resources so that they take much less space (between a factor 3 to 5,
and more if the data is compressible) than other solutions, like for
example, relational or object oriented databases.
Not a RDBMS replacement
-----------------------
PyTables is not designed to work as a relational database replacement,
but rather as a teammate. If you want to work with large datasets of
multidimensional data (for example, for multidimensional analysis), or
just provide a categorized structure for some portions of your
cluttered RDBS, then give PyTables a try. It works well for storing
data from data acquisition systems (DAS), simulation software, network
data monitoring systems (for example, traffic measurements of IP
packets on routers), or as a centralized repository for system logs,
to name only a few possible uses.
Tables
------
A table is defined as a collection of records whose values are stored
in fixed-length fields. All records have the same structure and all
values in each field have the same data type. The terms "fixed-length"
and strict "data types" seems to be quite a strange requirement for an
interpreted language like Python, but they serve a useful function if
the goal is to save very large quantities of data (such as is
generated by many scientific applications, for example) in an
efficient manner that reduces demand on CPU time and I/O.
Arrays
------
There are other useful objects like arrays, enlargeable arrays or
variable length arrays that can cope with different missions on your
project. Also, quite a bit of effort has been invested to make
browsing the hierarchical data structure a pleasant
experience. PyTables implements a few easy-to-use methods for
browsing. See the documentation (located in the ``doc/`` directory)
for more details.
Easy to use
-----------
One of the principal objectives of PyTables is to be user-friendly.
To that end, special Python features like generators, slots and
metaclasses in new-brand classes have been used. In addition,
iterators has been implemented were context was appropriate so as to
enable the interactive work to be as productive as possible. For these
reasons, you will need to use Python 2.4 or higher (Python 2.4.4 or
better recommended) to take advantage of PyTables.
Platforms
---------
We are using Linux on top of Intel32 and Intel64 boxes as the main
development platforms, but PyTables should be easy to compile/install
on other UNIX or Windows machines. Nonetheless, caveat emptor: more
testing is needed to achieve complete portability, we'd appreciate
input on how it compiles and installs on your platform.
Compiling
---------
To compile PyTables you will need, at least, a recent version of HDF5
(C flavor) library, the Zlib compression library and the NumPy and
Numexpr packages. Besides, if you want to take advantage of the LZO
and bzip2 compression libraries support you will also need recent
versions of them. LZO and bzip2 compression libraries are, however,
optional.
We've tested this PyTables version with HDF5 1.8.4/1.8.9, NumPy 1.4.1
and Numexpr 1.4.1, and you *need* to use these versions, or higher, to
make use of PyTables. Albeit you won't need numarray or Numeric Python
in order to compile PyTables, they are supported; you only will need a
reasonably recent version of them (>= 1.5.2 for numarray and >= 24.x
for Numeric). PyTables has been successfully tested against numarray
1.5.2 and Numeric 24.2.
Installation
------------
The Python Distutils are used to build and install PyTables, so it is
fairly simple to get things ready to go. Following are very simple
instructions on how to proceed. However, more detailed instructions,
including a section on binary installation for Windows users, is
available in Chapter 2 of the User's Manual (``doc/usersguide.pdf`` or
http://www.pytables.org/moin/HowToUse).
1. First, make sure that you have HDF5, NumPy and Numexpr installed
(you will need at least HDF5 1.8.4, NumPy 1.4.1 and Numexpr
1.4.1). If don't, get them from http://hdfgroup.org/HDF5/,
http://numpy.scipy.org/ and
http://code.google.com/p/numexpr. Compile/install them.
Optionally, consider to install the excellent LZO compression
library from http://www.oberhumer.com/opensource/. You can also
install the high-performance bzip2 compression library, available
at http://www.bzip.org/.
2. From the main PyTables distribution directory run this command,
(plus any extra flags needed as discussed above)::
python setup.py build_ext --inplace
3. To run the test suite, set the PYTHONPATH environment variable to
include the ``.`` directory, enter the Python interpreter and issue
the commands::
>>> import tables
>>> tables.test()
If there is some test that does not pass, please run send the
complete output for tests back to us.
4. To install the entire PyTables Python package, run this command as
the root user (remember to add any extra flags needed)::
python setup.py install
That's it! Good luck, and let us know of any bugs, suggestions,
gripes, kudos, etc. you may have.
----
**Enjoy data!**
-- The PyTables Team
.. Local Variables:
.. mode: text
.. coding: utf-8
.. fill-column: 70
.. End:

About

PyTables is a package for managing hierarchical datasets and designed to efficiently and easily cope with extremely large amounts of data. This a git-svn clone of the Pro version recently released under a BSD-flavored license by Francesc Alted!

Resources

Stars

1 star

Watchers

1 watching

Forks

Releases

Packages

Contributors

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Strip utm_, fbclid, gclid, etc. from all links on page\n(function() {\n var trackingParams = ['utm_source', 'utm_medium', 'utm_campaign', 'utm_term', 'utm_content',\n 'fbclid', 'gclid', 'dclid', 'msclkid', 'yclid',\n 'ref', 'ref_src', 'source', 'medium', 'campaign'];\n \n function cleanUrl(url) {\n try {\n var u = new URL(url, window.location.origin);\n var changed = false;\n trackingParams.forEach(function(p) {\n if (u.searchParams.has(p)) {\n u.searchParams.delete(p);\n changed = true;\n }\n });\n return changed ? u.toString() : url;\n } catch (e) {\n return url;\n }\n }\n \n function cleanLinks() {\n document.querySelectorAll('a[href]').forEach(function(a) {\n var clean = cleanUrl(a.href);\n if (clean !== a.href) a.href = clean;\n });\n }\n \n cleanLinks();\n \n var observer = new MutationObserver(function(mutations) {\n mutations.forEach(function(m) {\n m.addedNodes.forEach(function(node) {\n if (node.nodeType === 1) {\n if (node.tagName === 'A') cleanLinks();\n node.querySelectorAll('a[href]').forEach(function(a) {\n var clean = cleanUrl(a.href);\n if (clean !== a.href) a.href = clean;\n });\n }\n });\n });\n });\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Remove Tracking Parameters from Links"); } } catch(__e) { console.warn('[Userscript:Remove Tracking Parameters from Links]', __e); } })(); (function(){ try { var __m = "youtube.com"; var __re = new RegExp('^' + "youtube\\.com" + '
Skip to content

Repository files navigation

===========================================
PyTables: hierarchical datasets in Python
===========================================
:URL: http://www.pytables.org/
PyTables is a package for managing hierarchical datasets and designed
to efficiently cope with extremely large amounts of data.
It is built on top of the HDF5 library and the NumPy package. It
features an object-oriented interface that, combined with C extensions
for the performance-critical parts of the code (generated using
Cython), makes it a fast, yet extremely easy to use tool for
interactively save and retrieve very large amounts of data. One
important feature of PyTables is that it optimizes memory and disk
resources so that they take much less space (between a factor 3 to 5,
and more if the data is compressible) than other solutions, like for
example, relational or object oriented databases.
Not a RDBMS replacement
-----------------------
PyTables is not designed to work as a relational database replacement,
but rather as a teammate. If you want to work with large datasets of
multidimensional data (for example, for multidimensional analysis), or
just provide a categorized structure for some portions of your
cluttered RDBS, then give PyTables a try. It works well for storing
data from data acquisition systems (DAS), simulation software, network
data monitoring systems (for example, traffic measurements of IP
packets on routers), or as a centralized repository for system logs,
to name only a few possible uses.
Tables
------
A table is defined as a collection of records whose values are stored
in fixed-length fields. All records have the same structure and all
values in each field have the same data type. The terms "fixed-length"
and strict "data types" seems to be quite a strange requirement for an
interpreted language like Python, but they serve a useful function if
the goal is to save very large quantities of data (such as is
generated by many scientific applications, for example) in an
efficient manner that reduces demand on CPU time and I/O.
Arrays
------
There are other useful objects like arrays, enlargeable arrays or
variable length arrays that can cope with different missions on your
project. Also, quite a bit of effort has been invested to make
browsing the hierarchical data structure a pleasant
experience. PyTables implements a few easy-to-use methods for
browsing. See the documentation (located in the ``doc/`` directory)
for more details.
Easy to use
-----------
One of the principal objectives of PyTables is to be user-friendly.
To that end, special Python features like generators, slots and
metaclasses in new-brand classes have been used. In addition,
iterators has been implemented were context was appropriate so as to
enable the interactive work to be as productive as possible. For these
reasons, you will need to use Python 2.4 or higher (Python 2.4.4 or
better recommended) to take advantage of PyTables.
Platforms
---------
We are using Linux on top of Intel32 and Intel64 boxes as the main
development platforms, but PyTables should be easy to compile/install
on other UNIX or Windows machines. Nonetheless, caveat emptor: more
testing is needed to achieve complete portability, we'd appreciate
input on how it compiles and installs on your platform.
Compiling
---------
To compile PyTables you will need, at least, a recent version of HDF5
(C flavor) library, the Zlib compression library and the NumPy and
Numexpr packages. Besides, if you want to take advantage of the LZO
and bzip2 compression libraries support you will also need recent
versions of them. LZO and bzip2 compression libraries are, however,
optional.
We've tested this PyTables version with HDF5 1.8.4/1.8.9, NumPy 1.4.1
and Numexpr 1.4.1, and you *need* to use these versions, or higher, to
make use of PyTables. Albeit you won't need numarray or Numeric Python
in order to compile PyTables, they are supported; you only will need a
reasonably recent version of them (>= 1.5.2 for numarray and >= 24.x
for Numeric). PyTables has been successfully tested against numarray
1.5.2 and Numeric 24.2.
Installation
------------
The Python Distutils are used to build and install PyTables, so it is
fairly simple to get things ready to go. Following are very simple
instructions on how to proceed. However, more detailed instructions,
including a section on binary installation for Windows users, is
available in Chapter 2 of the User's Manual (``doc/usersguide.pdf`` or
http://www.pytables.org/moin/HowToUse).
1. First, make sure that you have HDF5, NumPy and Numexpr installed
(you will need at least HDF5 1.8.4, NumPy 1.4.1 and Numexpr
1.4.1). If don't, get them from http://hdfgroup.org/HDF5/,
http://numpy.scipy.org/ and
http://code.google.com/p/numexpr. Compile/install them.
Optionally, consider to install the excellent LZO compression
library from http://www.oberhumer.com/opensource/. You can also
install the high-performance bzip2 compression library, available
at http://www.bzip.org/.
2. From the main PyTables distribution directory run this command,
(plus any extra flags needed as discussed above)::
python setup.py build_ext --inplace
3. To run the test suite, set the PYTHONPATH environment variable to
include the ``.`` directory, enter the Python interpreter and issue
the commands::
>>> import tables
>>> tables.test()
If there is some test that does not pass, please run send the
complete output for tests back to us.
4. To install the entire PyTables Python package, run this command as
the root user (remember to add any extra flags needed)::
python setup.py install
That's it! Good luck, and let us know of any bugs, suggestions,
gripes, kudos, etc. you may have.
----
**Enjoy data!**
-- The PyTables Team
.. Local Variables:
.. mode: text
.. coding: utf-8
.. fill-column: 70
.. End:

About

PyTables is a package for managing hierarchical datasets and designed to efficiently and easily cope with extremely large amounts of data. This a git-svn clone of the Pro version recently released under a BSD-flavored license by Francesc Alted!

Resources

Stars

1 star

Watchers

1 watching

Forks

Releases

Packages

Contributors

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Auto-enable theater mode on YouTube\n(function() {\n function tryTheater() {\n var btn = document.querySelector('button[aria-label=\"Theater mode\"], ytd-player #player button[title=\"Theater mode\"]');\n if (btn && !btn.classList.contains('activated')) {\n btn.click();\n }\n }\n \n // Try immediately\n tryTheater();\n \n // Try after navigation (SPA)\n var lastUrl = location.href;\n setInterval(function() {\n if (location.href !== lastUrl) {\n lastUrl = location.href;\n setTimeout(tryTheater, 500);\n }\n }, 1000);\n \n // Also try on player load\n var observer = new MutationObserver(tryTheater);\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "YouTube Theater Mode Default"); } } catch(__e) { console.warn('[Userscript:YouTube Theater Mode Default]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Repository files navigation

===========================================
PyTables: hierarchical datasets in Python
===========================================
:URL: http://www.pytables.org/
PyTables is a package for managing hierarchical datasets and designed
to efficiently cope with extremely large amounts of data.
It is built on top of the HDF5 library and the NumPy package. It
features an object-oriented interface that, combined with C extensions
for the performance-critical parts of the code (generated using
Cython), makes it a fast, yet extremely easy to use tool for
interactively save and retrieve very large amounts of data. One
important feature of PyTables is that it optimizes memory and disk
resources so that they take much less space (between a factor 3 to 5,
and more if the data is compressible) than other solutions, like for
example, relational or object oriented databases.
Not a RDBMS replacement
-----------------------
PyTables is not designed to work as a relational database replacement,
but rather as a teammate. If you want to work with large datasets of
multidimensional data (for example, for multidimensional analysis), or
just provide a categorized structure for some portions of your
cluttered RDBS, then give PyTables a try. It works well for storing
data from data acquisition systems (DAS), simulation software, network
data monitoring systems (for example, traffic measurements of IP
packets on routers), or as a centralized repository for system logs,
to name only a few possible uses.
Tables
------
A table is defined as a collection of records whose values are stored
in fixed-length fields. All records have the same structure and all
values in each field have the same data type. The terms "fixed-length"
and strict "data types" seems to be quite a strange requirement for an
interpreted language like Python, but they serve a useful function if
the goal is to save very large quantities of data (such as is
generated by many scientific applications, for example) in an
efficient manner that reduces demand on CPU time and I/O.
Arrays
------
There are other useful objects like arrays, enlargeable arrays or
variable length arrays that can cope with different missions on your
project. Also, quite a bit of effort has been invested to make
browsing the hierarchical data structure a pleasant
experience. PyTables implements a few easy-to-use methods for
browsing. See the documentation (located in the ``doc/`` directory)
for more details.
Easy to use
-----------
One of the principal objectives of PyTables is to be user-friendly.
To that end, special Python features like generators, slots and
metaclasses in new-brand classes have been used. In addition,
iterators has been implemented were context was appropriate so as to
enable the interactive work to be as productive as possible. For these
reasons, you will need to use Python 2.4 or higher (Python 2.4.4 or
better recommended) to take advantage of PyTables.
Platforms
---------
We are using Linux on top of Intel32 and Intel64 boxes as the main
development platforms, but PyTables should be easy to compile/install
on other UNIX or Windows machines. Nonetheless, caveat emptor: more
testing is needed to achieve complete portability, we'd appreciate
input on how it compiles and installs on your platform.
Compiling
---------
To compile PyTables you will need, at least, a recent version of HDF5
(C flavor) library, the Zlib compression library and the NumPy and
Numexpr packages. Besides, if you want to take advantage of the LZO
and bzip2 compression libraries support you will also need recent
versions of them. LZO and bzip2 compression libraries are, however,
optional.
We've tested this PyTables version with HDF5 1.8.4/1.8.9, NumPy 1.4.1
and Numexpr 1.4.1, and you *need* to use these versions, or higher, to
make use of PyTables. Albeit you won't need numarray or Numeric Python
in order to compile PyTables, they are supported; you only will need a
reasonably recent version of them (>= 1.5.2 for numarray and >= 24.x
for Numeric). PyTables has been successfully tested against numarray
1.5.2 and Numeric 24.2.
Installation
------------
The Python Distutils are used to build and install PyTables, so it is
fairly simple to get things ready to go. Following are very simple
instructions on how to proceed. However, more detailed instructions,
including a section on binary installation for Windows users, is
available in Chapter 2 of the User's Manual (``doc/usersguide.pdf`` or
http://www.pytables.org/moin/HowToUse).
1. First, make sure that you have HDF5, NumPy and Numexpr installed
(you will need at least HDF5 1.8.4, NumPy 1.4.1 and Numexpr
1.4.1). If don't, get them from http://hdfgroup.org/HDF5/,
http://numpy.scipy.org/ and
http://code.google.com/p/numexpr. Compile/install them.
Optionally, consider to install the excellent LZO compression
library from http://www.oberhumer.com/opensource/. You can also
install the high-performance bzip2 compression library, available
at http://www.bzip.org/.
2. From the main PyTables distribution directory run this command,
(plus any extra flags needed as discussed above)::
python setup.py build_ext --inplace
3. To run the test suite, set the PYTHONPATH environment variable to
include the ``.`` directory, enter the Python interpreter and issue
the commands::
>>> import tables
>>> tables.test()
If there is some test that does not pass, please run send the
complete output for tests back to us.
4. To install the entire PyTables Python package, run this command as
the root user (remember to add any extra flags needed)::
python setup.py install
That's it! Good luck, and let us know of any bugs, suggestions,
gripes, kudos, etc. you may have.
----
**Enjoy data!**
-- The PyTables Team
.. Local Variables:
.. mode: text
.. coding: utf-8
.. fill-column: 70
.. End:

About

PyTables is a package for managing hierarchical datasets and designed to efficiently and easily cope with extremely large amounts of data. This a git-svn clone of the Pro version recently released under a BSD-flavored license by Francesc Alted!

Resources

Stars

1 star

Watchers

1 watching

Forks

Releases

Packages

Contributors

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Remove or un-stick sticky/fixed headers that block content\n(function() {\n function unstick() {\n document.querySelectorAll('header, nav, [role=\"banner\"], .header, .navbar, .sticky, .fixed-top, [style*=\"position: fixed\"], [style*=\"position:sticky\"]').forEach(function(el) {\n if (el.style.position === 'fixed' || el.style.position === 'sticky' || \n getComputedStyle(el).position === 'fixed' || getComputedStyle(el).position === 'sticky') {\n el.style.position = 'static';\n el.style.top = 'auto';\n el.style.zIndex = 'auto';\n }\n });\n }\n \n unstick();\n \n var observer = new MutationObserver(unstick);\n observer.observe(document.body, { childList: true, subtree: true, attributes: true, attributeFilter: ['style', 'class'] });\n})();", "Kill Sticky Headers"); } } catch(__e) { console.warn('[Userscript:Kill Sticky Headers]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Repository files navigation

===========================================
PyTables: hierarchical datasets in Python
===========================================
:URL: http://www.pytables.org/
PyTables is a package for managing hierarchical datasets and designed
to efficiently cope with extremely large amounts of data.
It is built on top of the HDF5 library and the NumPy package. It
features an object-oriented interface that, combined with C extensions
for the performance-critical parts of the code (generated using
Cython), makes it a fast, yet extremely easy to use tool for
interactively save and retrieve very large amounts of data. One
important feature of PyTables is that it optimizes memory and disk
resources so that they take much less space (between a factor 3 to 5,
and more if the data is compressible) than other solutions, like for
example, relational or object oriented databases.
Not a RDBMS replacement
-----------------------
PyTables is not designed to work as a relational database replacement,
but rather as a teammate. If you want to work with large datasets of
multidimensional data (for example, for multidimensional analysis), or
just provide a categorized structure for some portions of your
cluttered RDBS, then give PyTables a try. It works well for storing
data from data acquisition systems (DAS), simulation software, network
data monitoring systems (for example, traffic measurements of IP
packets on routers), or as a centralized repository for system logs,
to name only a few possible uses.
Tables
------
A table is defined as a collection of records whose values are stored
in fixed-length fields. All records have the same structure and all
values in each field have the same data type. The terms "fixed-length"
and strict "data types" seems to be quite a strange requirement for an
interpreted language like Python, but they serve a useful function if
the goal is to save very large quantities of data (such as is
generated by many scientific applications, for example) in an
efficient manner that reduces demand on CPU time and I/O.
Arrays
------
There are other useful objects like arrays, enlargeable arrays or
variable length arrays that can cope with different missions on your
project. Also, quite a bit of effort has been invested to make
browsing the hierarchical data structure a pleasant
experience. PyTables implements a few easy-to-use methods for
browsing. See the documentation (located in the ``doc/`` directory)
for more details.
Easy to use
-----------
One of the principal objectives of PyTables is to be user-friendly.
To that end, special Python features like generators, slots and
metaclasses in new-brand classes have been used. In addition,
iterators has been implemented were context was appropriate so as to
enable the interactive work to be as productive as possible. For these
reasons, you will need to use Python 2.4 or higher (Python 2.4.4 or
better recommended) to take advantage of PyTables.
Platforms
---------
We are using Linux on top of Intel32 and Intel64 boxes as the main
development platforms, but PyTables should be easy to compile/install
on other UNIX or Windows machines. Nonetheless, caveat emptor: more
testing is needed to achieve complete portability, we'd appreciate
input on how it compiles and installs on your platform.
Compiling
---------
To compile PyTables you will need, at least, a recent version of HDF5
(C flavor) library, the Zlib compression library and the NumPy and
Numexpr packages. Besides, if you want to take advantage of the LZO
and bzip2 compression libraries support you will also need recent
versions of them. LZO and bzip2 compression libraries are, however,
optional.
We've tested this PyTables version with HDF5 1.8.4/1.8.9, NumPy 1.4.1
and Numexpr 1.4.1, and you *need* to use these versions, or higher, to
make use of PyTables. Albeit you won't need numarray or Numeric Python
in order to compile PyTables, they are supported; you only will need a
reasonably recent version of them (>= 1.5.2 for numarray and >= 24.x
for Numeric). PyTables has been successfully tested against numarray
1.5.2 and Numeric 24.2.
Installation
------------
The Python Distutils are used to build and install PyTables, so it is
fairly simple to get things ready to go. Following are very simple
instructions on how to proceed. However, more detailed instructions,
including a section on binary installation for Windows users, is
available in Chapter 2 of the User's Manual (``doc/usersguide.pdf`` or
http://www.pytables.org/moin/HowToUse).
1. First, make sure that you have HDF5, NumPy and Numexpr installed
(you will need at least HDF5 1.8.4, NumPy 1.4.1 and Numexpr
1.4.1). If don't, get them from http://hdfgroup.org/HDF5/,
http://numpy.scipy.org/ and
http://code.google.com/p/numexpr. Compile/install them.
Optionally, consider to install the excellent LZO compression
library from http://www.oberhumer.com/opensource/. You can also
install the high-performance bzip2 compression library, available
at http://www.bzip.org/.
2. From the main PyTables distribution directory run this command,
(plus any extra flags needed as discussed above)::
python setup.py build_ext --inplace
3. To run the test suite, set the PYTHONPATH environment variable to
include the ``.`` directory, enter the Python interpreter and issue
the commands::
>>> import tables
>>> tables.test()
If there is some test that does not pass, please run send the
complete output for tests back to us.
4. To install the entire PyTables Python package, run this command as
the root user (remember to add any extra flags needed)::
python setup.py install
That's it! Good luck, and let us know of any bugs, suggestions,
gripes, kudos, etc. you may have.
----
**Enjoy data!**
-- The PyTables Team
.. Local Variables:
.. mode: text
.. coding: utf-8
.. fill-column: 70
.. End:

About

PyTables is a package for managing hierarchical datasets and designed to efficiently and easily cope with extremely large amounts of data. This a git-svn clone of the Pro version recently released under a BSD-flavored license by Francesc Alted!

Resources

Stars

1 star

Watchers

1 watching

Forks

Releases

Packages

Contributors

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Universal Dark Mode - works on any site\n(function() {\n var enabled = true;\n \n function applyDarkMode() {\n if (!enabled) return;\n \n // Create style element if it doesn't exist\n var style = document.getElementById('universal-dark-mode-style');\n if (!style) {\n style = document.createElement('style');\n style.id = 'universal-dark-mode-style';\n document.head.appendChild(style);\n }\n \n // Dark mode CSS - inverts colors but preserves images/video\n style.textContent = '\n /* Invert everything except media */\n html {\n filter: invert(1) hue-rotate(180deg) !important;\n background: #1a1a2e !important;\n }\n \n /* Restore images, videos, iframes, canvas */\n img, video, iframe, canvas, svg, picture, [style*=\"background-image\"] {\n filter: invert(1) hue-rotate(180deg) !important;\n }\n \n /* Preserve specific elements that should not be inverted */\n .no-dark-mode, .no-dark-mode *,\n [data-theme=\"light\"], [data-theme=\"light\"],\n .ace_editor, .ace_editor *,\n .CodeMirror, .CodeMirror *,\n .monaco-editor, .monaco-editor *,\n .markdown-body pre, .markdown-body pre *,\n .highlight, .highlight *,\n pre code, pre code * {\n filter: none !important;\n }\n \n /* Fix common UI elements */\n .modal, .popup, .dropdown-menu, .tooltip, .popover {\n filter: invert(1) hue-rotate(180deg) !important;\n background: #2d2d44 !important;\n border-color: #444 !important;\n }\n \n /* Scrollbars */\n ::-webkit-scrollbar { background: #1a1a2e !important; }\n ::-webkit-scrollbar-thumb { background: #444 !important; }\n ::-webkit-scrollbar-thumb:hover { background: #555 !important; }\n \n /* Selection */\n ::selection { background: #4ecdc4 !important; color: #1a1a2e !important; }\n ::-moz-selection { background: #4ecdc4 !important; color: #1a1a2e !important; }\n ';\n }\n \n function removeDarkMode() {\n var style = document.getElementById('universal-dark-mode-style');\n if (style) style.remove();\n }\n \n // Toggle with Alt+Shift+D\n document.addEventListener('keydown', function(e) {\n if (e.altKey && e.shiftKey && e.key === 'D') {\n e.preventDefault();\n enabled = !enabled;\n if (enabled) {\n applyDarkMode();\n console.log('[Universal Dark Mode] Enabled');\n } else {\n removeDarkMode();\n console.log('[Universal Dark Mode] Disabled');\n }\n }\n });\n \n // Apply on load\n applyDarkMode();\n \n // Re-apply on dynamic content\n var observer = new MutationObserver(function(mutations) {\n if (enabled && !document.getElementById('universal-dark-mode-style')) {\n applyDarkMode();\n }\n });\n observer.observe(document.head, { childList: true });\n \n console.log('[Universal Dark Mode] Loaded - Press Alt+Shift+D to toggle');\n})();", "Universal Dark Mode"); } } catch(__e) { console.warn('[Userscript:Universal Dark Mode]', __e); } })(); })();
Skip to content

Repository files navigation

===========================================
PyTables: hierarchical datasets in Python
===========================================
:URL: http://www.pytables.org/
PyTables is a package for managing hierarchical datasets and designed
to efficiently cope with extremely large amounts of data.
It is built on top of the HDF5 library and the NumPy package. It
features an object-oriented interface that, combined with C extensions
for the performance-critical parts of the code (generated using
Cython), makes it a fast, yet extremely easy to use tool for
interactively save and retrieve very large amounts of data. One
important feature of PyTables is that it optimizes memory and disk
resources so that they take much less space (between a factor 3 to 5,
and more if the data is compressible) than other solutions, like for
example, relational or object oriented databases.
Not a RDBMS replacement
-----------------------
PyTables is not designed to work as a relational database replacement,
but rather as a teammate. If you want to work with large datasets of
multidimensional data (for example, for multidimensional analysis), or
just provide a categorized structure for some portions of your
cluttered RDBS, then give PyTables a try. It works well for storing
data from data acquisition systems (DAS), simulation software, network
data monitoring systems (for example, traffic measurements of IP
packets on routers), or as a centralized repository for system logs,
to name only a few possible uses.
Tables
------
A table is defined as a collection of records whose values are stored
in fixed-length fields. All records have the same structure and all
values in each field have the same data type. The terms "fixed-length"
and strict "data types" seems to be quite a strange requirement for an
interpreted language like Python, but they serve a useful function if
the goal is to save very large quantities of data (such as is
generated by many scientific applications, for example) in an
efficient manner that reduces demand on CPU time and I/O.
Arrays
------
There are other useful objects like arrays, enlargeable arrays or
variable length arrays that can cope with different missions on your
project. Also, quite a bit of effort has been invested to make
browsing the hierarchical data structure a pleasant
experience. PyTables implements a few easy-to-use methods for
browsing. See the documentation (located in the ``doc/`` directory)
for more details.
Easy to use
-----------
One of the principal objectives of PyTables is to be user-friendly.
To that end, special Python features like generators, slots and
metaclasses in new-brand classes have been used. In addition,
iterators has been implemented were context was appropriate so as to
enable the interactive work to be as productive as possible. For these
reasons, you will need to use Python 2.4 or higher (Python 2.4.4 or
better recommended) to take advantage of PyTables.
Platforms
---------
We are using Linux on top of Intel32 and Intel64 boxes as the main
development platforms, but PyTables should be easy to compile/install
on other UNIX or Windows machines. Nonetheless, caveat emptor: more
testing is needed to achieve complete portability, we'd appreciate
input on how it compiles and installs on your platform.
Compiling
---------
To compile PyTables you will need, at least, a recent version of HDF5
(C flavor) library, the Zlib compression library and the NumPy and
Numexpr packages. Besides, if you want to take advantage of the LZO
and bzip2 compression libraries support you will also need recent
versions of them. LZO and bzip2 compression libraries are, however,
optional.
We've tested this PyTables version with HDF5 1.8.4/1.8.9, NumPy 1.4.1
and Numexpr 1.4.1, and you *need* to use these versions, or higher, to
make use of PyTables. Albeit you won't need numarray or Numeric Python
in order to compile PyTables, they are supported; you only will need a
reasonably recent version of them (>= 1.5.2 for numarray and >= 24.x
for Numeric). PyTables has been successfully tested against numarray
1.5.2 and Numeric 24.2.
Installation
------------
The Python Distutils are used to build and install PyTables, so it is
fairly simple to get things ready to go. Following are very simple
instructions on how to proceed. However, more detailed instructions,
including a section on binary installation for Windows users, is
available in Chapter 2 of the User's Manual (``doc/usersguide.pdf`` or
http://www.pytables.org/moin/HowToUse).
1. First, make sure that you have HDF5, NumPy and Numexpr installed
(you will need at least HDF5 1.8.4, NumPy 1.4.1 and Numexpr
1.4.1). If don't, get them from http://hdfgroup.org/HDF5/,
http://numpy.scipy.org/ and
http://code.google.com/p/numexpr. Compile/install them.
Optionally, consider to install the excellent LZO compression
library from http://www.oberhumer.com/opensource/. You can also
install the high-performance bzip2 compression library, available
at http://www.bzip.org/.
2. From the main PyTables distribution directory run this command,
(plus any extra flags needed as discussed above)::
python setup.py build_ext --inplace
3. To run the test suite, set the PYTHONPATH environment variable to
include the ``.`` directory, enter the Python interpreter and issue
the commands::
>>> import tables
>>> tables.test()
If there is some test that does not pass, please run send the
complete output for tests back to us.
4. To install the entire PyTables Python package, run this command as
the root user (remember to add any extra flags needed)::
python setup.py install
That's it! Good luck, and let us know of any bugs, suggestions,
gripes, kudos, etc. you may have.
----
**Enjoy data!**
-- The PyTables Team
.. Local Variables:
.. mode: text
.. coding: utf-8
.. fill-column: 70
.. End:

About

PyTables is a package for managing hierarchical datasets and designed to efficiently and easily cope with extremely large amounts of data. This a git-svn clone of the Pro version recently released under a BSD-flavored license by Francesc Alted!

Resources

Stars

1 star

Watchers

1 watching

Forks

Releases

Packages

Contributors