Commit Graph

291 Commits

Author SHA1 Message Date
Robert Smallshire f89de23b82 Adds persistent cacheing of SegYReader objects.
SegYReader objects are now cached by default in a persistent
store of pickles. Cached readers are located on the basis of
content hashes of the SEG Y files to which they relate combined
with the other arguments used to create the orginal reader. This
can lead to significant speed-ups since all indexes owned by the
reader instance are also cached.
2015-06-07 22:00:25 +02:00
Robert Smallshire d06c2918d3 Add a function for computing the SHA1 hash of file contents. 2015-06-07 21:50:38 +02:00
Robert Smallshire 28046a19e2 Make HeaderPacker pickleable.
HeaderPacker requires special pickling support because the
standard library Struct object is not pickleable. Instead we
pickle the format string extracted from the Struct object when
pickling and use it to recreate the Struct object when
unpickling.
2015-06-07 20:12:05 +02:00
Robert Smallshire 3ff9308d02 Make Header and subclasses pickleable. 2015-06-07 20:09:16 +02:00
Robert Smallshire 986bae3da9 Fix mistake in LinearRegularCatalog.__repr__() 2015-06-07 20:02:23 +02:00
Robert Smallshire 60c66a249e Fix mistake in DictionaryCatalog2D.__repr__() 2015-06-07 19:45:13 +02:00
Robert Smallshire df312035e9 Merge branch 'ext-rework' 2015-06-04 22:27:49 +02:00
Robert Smallshire 3b740888bd Prevent the step argument to test_regular_constant_mapping being zero 2015-06-04 17:16:20 +02:00
Robert Smallshire 39988a2ca0 Removes the segpy_numpy/numpy directory. 2015-06-04 17:11:43 +02:00
Robert Smallshire 506ce10581 Removes segpy_numpy.__init__.py 2015-06-04 15:22:21 +02:00
Robert Smallshire 2049e89819 Remove the ext subpackage.
import segpy.ext.numpy will no longer be supported. It just doesn't play nice with a lot of Python tooling.  In future it will be
import segpy_numpy
2015-06-04 15:21:22 +02:00
Robert Smallshire 80966a18fb Add a small program for checking whether SEG Y files roundtrip through the data structure flawlessly. 2015-06-04 15:18:20 +02:00
Robert Smallshire db997625e3 Merge pull request #20 from rth/master
Replaced a call to HeaderPacker by make_header_packer
2015-06-04 11:56:38 +02:00
Robert Smallshire af1f6de5d9 Fixes a missed Markdown to reStructuredText conversion in CONTRIBUTING.rst 2015-06-04 10:40:38 +02:00
Robert Smallshire b8cd3f696d Fix links to the CLA in CONTRIBUTING.rst 2015-06-04 10:39:00 +02:00
Robert Smallshire 61de7cd172 Change the author in setup.py to Sixty North AS 2015-06-04 10:23:27 +02:00
Robert Smallshire e657342126 Update the contributing link in README.rst 2015-06-04 10:22:17 +02:00
Robert Smallshire eaf79b0e68 Converts CONTRIBUTING.rst to actual reStructuredText rather than Markdown. 2015-06-04 10:21:57 +02:00
Robert Smallshire 6158cf3279 Add contributors license agreements and instructions on how to contribute. 2015-06-04 10:08:20 +02:00
Roman Yurchak 40bfb76f29 Replaced a call to HeaderPacker by make_header_packer 2015-06-03 23:06:09 +02:00
Robert Smallshire d257ced760 Updates the license argument to setup() 2015-05-17 13:18:59 +02:00
Robert Smallshire 9c880b6715 Updates author contact information 2015-05-17 13:18:23 +02:00
Robert Smallshire 5e33d2731c Updates trove classifier for license. 2015-05-17 13:13:17 +02:00
Robert Smallshire 9f090c2381 Adds Python 3 shebangs to command-line scripts. 2015-05-14 10:04:19 +02:00
Robert Smallshire ce08d5b99a Adds tests for textual reel header with arbitrary content. Removes seek() calls from write_textual_reel_header() and write_binary_reel_header(). 2015-05-12 10:59:09 +02:00
Robert Smallshire d0a1eb5a47 Test round-tripping of binary reel headers to and from a byte stream. 2015-05-12 10:01:42 +02:00
Robert Smallshire 5bfba47daf A Hypothesis strategy for producing headers of a particular class. 2015-05-11 22:19:57 +02:00
Robert Smallshire a4e4e78ee8 SegyReader3D now uses updates 2D catalogs for traces. 2015-05-08 19:18:48 +02:00
Robert Smallshire c1b2dfed86 More flexible and robust 2D catalog types which independently store i and j indexes. 2015-05-08 18:41:04 +02:00
Robert Smallshire 917e0a1ebe Additional Hypothesis-based tests for the catalog builder and catalog implementations. 2015-05-07 22:24:23 +02:00
Robert Smallshire 9ebb5c7477 Improved formatting (indentation). 2015-05-07 22:23:50 +02:00
Robert Smallshire d57dcef777 Fixes a missing condition in CatalogBuilder which caused a failure on mappings with arbitrary keys and values with a regular stride. (Found by Hypothesis, of course). 2015-05-07 21:58:33 +02:00
Robert Smallshire c713475e07 Removes Catalog base class and fixes defects in CatalogBuilder and RegularCatalog detected by Hypothesis. 2015-05-07 21:15:19 +02:00
Robert Smallshire 4c222b96a6 Removes unnecessary code from CatalogBuilder. 2015-05-07 20:34:56 +02:00
Robert Smallshire f491fe80b1 And here's the test with did the good work leading to the previous commit. 2015-05-07 20:34:13 +02:00
Robert Smallshire 8c484a1ffa Fix defects in the CatalogBuilder and LinearRegularCatalog detected by a Hypothesis test. 2015-05-07 20:33:29 +02:00
Robert Smallshire 2a22e8588f Improves documentation and formatting. 2015-05-07 15:57:42 +02:00
Robert Smallshire 1ba97f75ce Improves and corrects documentation. 2015-05-07 15:57:11 +02:00
Robert Smallshire b042133f55 Adds to and fixes documentation. Removes Python 2 cruft. 2015-05-07 15:56:31 +02:00
Robert Smallshire 71ad80b016 Merge branch 'master' of https://github.com/sixty-north/segpy 2015-05-07 14:35:25 +02:00
Robert Smallshire 0c0096f314 Adds basic support for decimal version representation. 2015-05-07 14:34:57 +02:00
Robert Smallshire b4e98a562f Corrects the official values for SEGY_REVISION_0 and SEGY_REVISION_1 constants. Tidies up the version canonicalization code. 2015-05-07 14:04:48 +02:00
Robert Smallshire fa5371349d The SEG Y Revision 1 specification. 2015-05-07 13:54:50 +02:00
Robert Smallshire 32eeb6e2f3 PEP 8 compliance. 2015-05-07 13:53:13 +02:00
Robert Smallshire c839a49531 Removes unnecessary print statement. 2015-05-07 13:52:46 +02:00
Robert Smallshire 68c5289a91 Renames arguments for correctness and clarity, to avoid name clashes. 2015-05-07 13:52:10 +02:00
Robert Smallshire 9dbc9d15dc Improves API documentation for reader.py. 2015-05-07 13:51:01 +02:00
Robert Smallshire 89a8b2420f Improves readability and formatting in datatypes.py. 2015-05-07 13:50:12 +02:00
Robert Smallshire b52ea4cff6 Simplifies comparison statements in encoding.py 2015-05-07 13:49:38 +02:00
Robert Smallshire 2e9064432c Update DESCRIPTION.rst 2015-05-07 12:59:54 +02:00