jpylyzer 2.2.1__tar.gz → 2.3.0b2__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (43) hide show
  1. {jpylyzer-2.2.1 → jpylyzer-2.3.0b2}/PKG-INFO +51 -8
  2. jpylyzer-2.2.1/jpylyzer.egg-info/PKG-INFO → jpylyzer-2.3.0b2/README.md +32 -24
  3. {jpylyzer-2.2.1 → jpylyzer-2.3.0b2}/doc/jpylyzerUserManual.html +699 -221
  4. {jpylyzer-2.2.1 → jpylyzer-2.3.0b2}/doc/userManual.html +325 -232
  5. jpylyzer-2.3.0b2/jpylyzer/boxes.py +1021 -0
  6. {jpylyzer-2.2.1 → jpylyzer-2.3.0b2}/jpylyzer/byteconv.py +33 -19
  7. jpylyzer-2.3.0b2/jpylyzer/codestream.py +531 -0
  8. jpylyzer-2.3.0b2/jpylyzer/config.py +18 -0
  9. jpylyzer-2.3.0b2/jpylyzer/csmarkers.py +1366 -0
  10. {jpylyzer-2.2.1 → jpylyzer-2.3.0b2}/jpylyzer/etpatch.py +4 -19
  11. jpylyzer-2.3.0b2/jpylyzer/icc.py +306 -0
  12. jpylyzer-2.3.0b2/jpylyzer/jp2.py +278 -0
  13. {jpylyzer-2.2.1 → jpylyzer-2.3.0b2}/jpylyzer/jpylyzer.py +23 -17
  14. {jpylyzer-2.2.1 → jpylyzer-2.3.0b2}/jpylyzer/mix.py +8 -19
  15. jpylyzer-2.3.0b2/jpylyzer/shared.py +19 -0
  16. jpylyzer-2.3.0b2/jpylyzer/tilepart.py +304 -0
  17. jpylyzer-2.3.0b2/jpylyzer/validator.py +267 -0
  18. jpylyzer-2.2.1/README.md → jpylyzer-2.3.0b2/jpylyzer.egg-info/PKG-INFO +68 -3
  19. {jpylyzer-2.2.1 → jpylyzer-2.3.0b2}/jpylyzer.egg-info/SOURCES.txt +8 -7
  20. {jpylyzer-2.2.1 → jpylyzer-2.3.0b2}/jpylyzer.egg-info/entry_points.txt +0 -1
  21. jpylyzer-2.3.0b2/jpylyzer.egg-info/requires.txt +1 -0
  22. {jpylyzer-2.2.1 → jpylyzer-2.3.0b2}/setup.py +1 -15
  23. jpylyzer-2.2.1/jpylyzer/boxvalidator.py +0 -3705
  24. jpylyzer-2.2.1/jpylyzer/config.py +0 -28
  25. jpylyzer-2.2.1/jpylyzer/shared.py +0 -46
  26. jpylyzer-2.2.1/jpylyzer.egg-info/requires.txt +0 -8
  27. jpylyzer-2.2.1/tests/__init__.py +0 -0
  28. jpylyzer-2.2.1/tests/unit/__init__.py +0 -0
  29. jpylyzer-2.2.1/tests/unit/notest_openjpeg.py +0 -102
  30. jpylyzer-2.2.1/tests/unit/test_jpylyzer.py +0 -58
  31. jpylyzer-2.2.1/tests/unit/test_testfiles.py +0 -375
  32. {jpylyzer-2.2.1 → jpylyzer-2.3.0b2}/LICENSE +0 -0
  33. {jpylyzer-2.2.1 → jpylyzer-2.3.0b2}/MANIFEST.in +0 -0
  34. {jpylyzer-2.2.1 → jpylyzer-2.3.0b2}/example_files/balloon.jp2 +0 -0
  35. {jpylyzer-2.2.1 → jpylyzer-2.3.0b2}/example_files/balloon_trunc1.jp2 +0 -0
  36. {jpylyzer-2.2.1 → jpylyzer-2.3.0b2}/example_files/balloon_trunc2.jp2 +0 -0
  37. {jpylyzer-2.2.1 → jpylyzer-2.3.0b2}/example_files/balloon_trunc3.jp2 +0 -0
  38. {jpylyzer-2.2.1 → jpylyzer-2.3.0b2}/example_files/readme.txt +0 -0
  39. {jpylyzer-2.2.1 → jpylyzer-2.3.0b2}/jpylyzer/__init__.py +0 -0
  40. {jpylyzer-2.2.1 → jpylyzer-2.3.0b2}/jpylyzer/__main__.py +0 -0
  41. {jpylyzer-2.2.1 → jpylyzer-2.3.0b2}/jpylyzer.egg-info/dependency_links.txt +0 -0
  42. {jpylyzer-2.2.1 → jpylyzer-2.3.0b2}/jpylyzer.egg-info/top_level.txt +0 -0
  43. {jpylyzer-2.2.1 → jpylyzer-2.3.0b2}/setup.cfg +0 -0
@@ -1,22 +1,37 @@
1
- Metadata-Version: 2.1
1
+ Metadata-Version: 2.4
2
2
  Name: jpylyzer
3
- Version: 2.2.1
3
+ Version: 2.3.0b2
4
4
  Summary: JP2 (JPEG 2000 Part 1) image validator and properties extractor
5
5
  Home-page: http://jpylyzer.openpreservation.org/
6
+ Download-URL: https://github.com/openpreserve/jpylyzer/archive/2.3.0b2.tar.gz
6
7
  Author: Johan van der Knijff
7
8
  Author-email: johan.vanderknijff@kb.nl
8
9
  Maintainer: Johan van der Knijff
9
10
  Maintainer-email: johan.vanderknijff@kb.nl
10
11
  License: LGPL
11
- Download-URL: https://github.com/openpreserve/jpylyzer/archive/2.2.1.tar.gz
12
12
  Platform: POSIX
13
13
  Platform: Windows
14
14
  Classifier: Environment :: Console
15
15
  Classifier: Programming Language :: Python :: 3
16
16
  Requires-Python: >=3.2, <4
17
17
  Description-Content-Type: text/markdown
18
- Provides-Extra: testing
19
18
  License-File: LICENSE
19
+ Requires-Dist: setuptools
20
+ Dynamic: author
21
+ Dynamic: author-email
22
+ Dynamic: classifier
23
+ Dynamic: description
24
+ Dynamic: description-content-type
25
+ Dynamic: download-url
26
+ Dynamic: home-page
27
+ Dynamic: license
28
+ Dynamic: license-file
29
+ Dynamic: maintainer
30
+ Dynamic: maintainer-email
31
+ Dynamic: platform
32
+ Dynamic: requires-dist
33
+ Dynamic: requires-python
34
+ Dynamic: summary
20
35
 
21
36
  # jpylyzer
22
37
 
@@ -35,8 +50,8 @@ Please visit the jpylyzer homepage for links to the most recent package download
35
50
  - [![Build Status](https://app.travis-ci.com/openpreserve/jpylyzer.svg?branch=master)](https://app.travis-ci.com/github/openpreserve/jpylyzer "Jpylyzer Travis-CI integration build") Travis-CI
36
51
 
37
52
  - [![Build Status](https://jenkins.openpreservation.org/buildStatus/icon?job=jpylyzer%2Fjpylyzer)](https://jenkins.openpreservation.org/job/jpylyzer/job/jpylyzer/) OPF Jenkins
38
- <!-- Start of text to be copied to usage.md of jpylyzer website -->
39
53
 
54
+ <!-- Start of text to be copied to usage.md of jpylyzer website -->
40
55
  ## Using jpylyzer from the command line
41
56
 
42
57
  Calling *jpylyzer* in a command window without any arguments results in the following helper message:
@@ -130,11 +145,18 @@ validation process (organised by box)
130
145
 
131
146
  Instead of using *jpylyzer* from the command-line, you can also import
132
147
  it as a module in your own Python programs. To do so, install jpylyzer
133
- with *pip*. Then import *jpylyzer* into your code by adding:
148
+ with *pip* in a virtual environment:
149
+
150
+ ```
151
+ pip install jpylyzer
152
+ ```
153
+
154
+ Then import *jpylyzer* into your code by adding:
134
155
 
135
156
  ```python
136
157
  from jpylyzer import jpylyzer
137
158
  ```
159
+
138
160
  Subsequently you can call any function that is defined in *jpylyzer.py*.
139
161
  In practice you will most likely only need the *checkOneFile* function.
140
162
  The following minimal script shows how this works:
@@ -171,8 +193,29 @@ myResult = jpylyzer.checkOneFile(myFile, 'j2c')
171
193
 
172
194
  <!-- End of text to be copied to usage.md of jpylyzer website -->
173
195
 
174
- ## Steps in preparing a jpylyzer release
196
+ ## Validator modules and classes
197
+
198
+ As of Jpylyzer 2.3, the validator functions are spread across 6 modules, each of which contains a validator class.
199
+ These validator classes are all child classes of the "Validator" base class that is defined in [validator.py](./jpylyzer/validator.py):
200
+
201
+ - [jp2.py](./jpylyzer/jp2.py) - Top-level JP2 / JPH validation (class *JP2Validator*)
202
+ - [boxes.py](./jpylyzer/boxes.py) - Validation of all defined boxes for JP2 and JPH (class *BoxValidator*)
203
+ - [codestream.py](./jpylyzer/codestream.py) - JPEG 2000 codestream validation (class *CSValidator*)
204
+ - [tilepart.py](./jpylyzer/tilepart.py) - Validation of one tile part of a JPEG 2000 codestream (class *TilePartValidator*)
205
+ - [csmarkers.py](./jpylyzer/csmarkers.py) - Validation of JPEG 2000 codestream marker segments (class *CSMarkerValidator*)
206
+ - [icc.py](./jpylyzer/icc.py) - Feature extraction from an ICC profile (class *IccValidator*)
175
207
 
176
- [See instructions here](./howto-prepare-release.md)
208
+ The table below shows how each higher-level classe imports all classes that are needed for validation at the underlying level:
177
209
 
210
+ |Validator class|Imported validator classes|
211
+ |:--|:--|
212
+ |JP2Validator|BoxValidator|
213
+ |BoxValidator|CSValidator, IccValidator|
214
+ |CSValidator|TilePartValidator, CSMarkerValidator|
215
+ |TilePartValidator|CSMarkerValidator|
216
+ |CSMarkerValidator|-|
217
+ |IccValidator|-|
218
+
219
+ ## Steps in preparing a jpylyzer release
178
220
 
221
+ [See instructions here](./readme-how-prepare-release.md)
@@ -1,23 +1,3 @@
1
- Metadata-Version: 2.1
2
- Name: jpylyzer
3
- Version: 2.2.1
4
- Summary: JP2 (JPEG 2000 Part 1) image validator and properties extractor
5
- Home-page: http://jpylyzer.openpreservation.org/
6
- Author: Johan van der Knijff
7
- Author-email: johan.vanderknijff@kb.nl
8
- Maintainer: Johan van der Knijff
9
- Maintainer-email: johan.vanderknijff@kb.nl
10
- License: LGPL
11
- Download-URL: https://github.com/openpreserve/jpylyzer/archive/2.2.1.tar.gz
12
- Platform: POSIX
13
- Platform: Windows
14
- Classifier: Environment :: Console
15
- Classifier: Programming Language :: Python :: 3
16
- Requires-Python: >=3.2, <4
17
- Description-Content-Type: text/markdown
18
- Provides-Extra: testing
19
- License-File: LICENSE
20
-
21
1
  # jpylyzer
22
2
 
23
3
  ## About
@@ -35,8 +15,8 @@ Please visit the jpylyzer homepage for links to the most recent package download
35
15
  - [![Build Status](https://app.travis-ci.com/openpreserve/jpylyzer.svg?branch=master)](https://app.travis-ci.com/github/openpreserve/jpylyzer "Jpylyzer Travis-CI integration build") Travis-CI
36
16
 
37
17
  - [![Build Status](https://jenkins.openpreservation.org/buildStatus/icon?job=jpylyzer%2Fjpylyzer)](https://jenkins.openpreservation.org/job/jpylyzer/job/jpylyzer/) OPF Jenkins
38
- <!-- Start of text to be copied to usage.md of jpylyzer website -->
39
18
 
19
+ <!-- Start of text to be copied to usage.md of jpylyzer website -->
40
20
  ## Using jpylyzer from the command line
41
21
 
42
22
  Calling *jpylyzer* in a command window without any arguments results in the following helper message:
@@ -130,11 +110,18 @@ validation process (organised by box)
130
110
 
131
111
  Instead of using *jpylyzer* from the command-line, you can also import
132
112
  it as a module in your own Python programs. To do so, install jpylyzer
133
- with *pip*. Then import *jpylyzer* into your code by adding:
113
+ with *pip* in a virtual environment:
114
+
115
+ ```
116
+ pip install jpylyzer
117
+ ```
118
+
119
+ Then import *jpylyzer* into your code by adding:
134
120
 
135
121
  ```python
136
122
  from jpylyzer import jpylyzer
137
123
  ```
124
+
138
125
  Subsequently you can call any function that is defined in *jpylyzer.py*.
139
126
  In practice you will most likely only need the *checkOneFile* function.
140
127
  The following minimal script shows how this works:
@@ -171,8 +158,29 @@ myResult = jpylyzer.checkOneFile(myFile, 'j2c')
171
158
 
172
159
  <!-- End of text to be copied to usage.md of jpylyzer website -->
173
160
 
174
- ## Steps in preparing a jpylyzer release
161
+ ## Validator modules and classes
162
+
163
+ As of Jpylyzer 2.3, the validator functions are spread across 6 modules, each of which contains a validator class.
164
+ These validator classes are all child classes of the "Validator" base class that is defined in [validator.py](./jpylyzer/validator.py):
165
+
166
+ - [jp2.py](./jpylyzer/jp2.py) - Top-level JP2 / JPH validation (class *JP2Validator*)
167
+ - [boxes.py](./jpylyzer/boxes.py) - Validation of all defined boxes for JP2 and JPH (class *BoxValidator*)
168
+ - [codestream.py](./jpylyzer/codestream.py) - JPEG 2000 codestream validation (class *CSValidator*)
169
+ - [tilepart.py](./jpylyzer/tilepart.py) - Validation of one tile part of a JPEG 2000 codestream (class *TilePartValidator*)
170
+ - [csmarkers.py](./jpylyzer/csmarkers.py) - Validation of JPEG 2000 codestream marker segments (class *CSMarkerValidator*)
171
+ - [icc.py](./jpylyzer/icc.py) - Feature extraction from an ICC profile (class *IccValidator*)
175
172
 
176
- [See instructions here](./howto-prepare-release.md)
173
+ The table below shows how each higher-level classe imports all classes that are needed for validation at the underlying level:
177
174
 
175
+ |Validator class|Imported validator classes|
176
+ |:--|:--|
177
+ |JP2Validator|BoxValidator|
178
+ |BoxValidator|CSValidator, IccValidator|
179
+ |CSValidator|TilePartValidator, CSMarkerValidator|
180
+ |TilePartValidator|CSMarkerValidator|
181
+ |CSMarkerValidator|-|
182
+ |IccValidator|-|
183
+
184
+ ## Steps in preparing a jpylyzer release
178
185
 
186
+ [See instructions here](./readme-how-prepare-release.md)