pyisyntax 0.1.5__tar.gz → 0.1.7__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.
- {pyisyntax-0.1.5/pyisyntax.egg-info → pyisyntax-0.1.7}/PKG-INFO +19 -1
- {pyisyntax-0.1.5 → pyisyntax-0.1.7}/README.md +18 -0
- pyisyntax-0.1.7/isyntax/_pyisyntax.pyi +4 -0
- {pyisyntax-0.1.5 → pyisyntax-0.1.7}/isyntax_build/builder.py +15 -1
- {pyisyntax-0.1.5 → pyisyntax-0.1.7}/isyntax_build/vendor/libisyntax/src/examples/isyntax_dirwalk.c +3 -2
- {pyisyntax-0.1.5 → pyisyntax-0.1.7}/isyntax_build/vendor/libisyntax/src/examples/isyntax_example.c +22 -0
- {pyisyntax-0.1.5 → pyisyntax-0.1.7}/isyntax_build/vendor/libisyntax/src/examples/isyntax_to_tiff.c +1 -1
- {pyisyntax-0.1.5 → pyisyntax-0.1.7}/isyntax_build/vendor/libisyntax/src/isyntax/isyntax.c +254 -106
- {pyisyntax-0.1.5 → pyisyntax-0.1.7}/isyntax_build/vendor/libisyntax/src/isyntax/isyntax.h +21 -3
- {pyisyntax-0.1.5 → pyisyntax-0.1.7}/isyntax_build/vendor/libisyntax/src/isyntax/isyntax_reader.c +9 -4
- {pyisyntax-0.1.5 → pyisyntax-0.1.7}/isyntax_build/vendor/libisyntax/src/isyntax/isyntax_reader.h +2 -2
- {pyisyntax-0.1.5 → pyisyntax-0.1.7}/isyntax_build/vendor/libisyntax/src/isyntax/isyntax_streamer.c +34 -26
- {pyisyntax-0.1.5 → pyisyntax-0.1.7}/isyntax_build/vendor/libisyntax/src/isyntax/isyntax_streamer.h +3 -3
- {pyisyntax-0.1.5 → pyisyntax-0.1.7}/isyntax_build/vendor/libisyntax/src/libisyntax.c +128 -164
- {pyisyntax-0.1.5 → pyisyntax-0.1.7}/isyntax_build/vendor/libisyntax/src/libisyntax.h +30 -2
- {pyisyntax-0.1.5 → pyisyntax-0.1.7}/isyntax_build/vendor/libisyntax/src/platform/common.h +40 -19
- {pyisyntax-0.1.5 → pyisyntax-0.1.7}/isyntax_build/vendor/libisyntax/src/platform/intrinsics.h +90 -10
- {pyisyntax-0.1.5 → pyisyntax-0.1.7}/isyntax_build/vendor/libisyntax/src/platform/linux_platform.c +11 -4
- {pyisyntax-0.1.5 → pyisyntax-0.1.7}/isyntax_build/vendor/libisyntax/src/platform/platform.c +92 -9
- {pyisyntax-0.1.5 → pyisyntax-0.1.7}/isyntax_build/vendor/libisyntax/src/platform/platform.h +25 -14
- pyisyntax-0.1.7/isyntax_build/vendor/libisyntax/src/platform/platform_mutex.c +63 -0
- pyisyntax-0.1.5/isyntax_build/vendor/libisyntax/src/utils/benaphore.h → pyisyntax-0.1.7/isyntax_build/vendor/libisyntax/src/platform/platform_mutex.h +16 -11
- {pyisyntax-0.1.5 → pyisyntax-0.1.7}/isyntax_build/vendor/libisyntax/src/platform/win32_utils.c +16 -3
- pyisyntax-0.1.7/isyntax_build/vendor/libisyntax/src/platform/work_queue.c +750 -0
- pyisyntax-0.1.7/isyntax_build/vendor/libisyntax/src/platform/work_queue.h +182 -0
- {pyisyntax-0.1.5 → pyisyntax-0.1.7}/isyntax_build/vendor/libisyntax/src/third_party/ltalloc.cc +1 -1
- {pyisyntax-0.1.5 → pyisyntax-0.1.7}/isyntax_build/vendor/libisyntax/src/utils/block_allocator.c +19 -20
- {pyisyntax-0.1.5 → pyisyntax-0.1.7}/isyntax_build/vendor/libisyntax/src/utils/block_allocator.h +4 -4
- {pyisyntax-0.1.5 → pyisyntax-0.1.7}/isyntax_build/vendor/libisyntax/src/utils/mathutils.c +9 -0
- {pyisyntax-0.1.5 → pyisyntax-0.1.7}/isyntax_build/vendor/libisyntax/src/utils/mathutils.h +1 -0
- {pyisyntax-0.1.5 → pyisyntax-0.1.7}/isyntax_build/vendor/libisyntax/src/utils/memrw.c +21 -0
- {pyisyntax-0.1.5 → pyisyntax-0.1.7}/isyntax_build/vendor/libisyntax/src/utils/memrw.h +3 -1
- {pyisyntax-0.1.5 → pyisyntax-0.1.7}/isyntax_build/vendor/libisyntax/src/utils/stringutils.c +80 -4
- {pyisyntax-0.1.5 → pyisyntax-0.1.7}/isyntax_build/vendor/libisyntax/src/utils/stringutils.h +6 -3
- {pyisyntax-0.1.5 → pyisyntax-0.1.7}/isyntax_build/vendor/libisyntax/src/utils/timerutils.c +8 -3
- {pyisyntax-0.1.5 → pyisyntax-0.1.7}/isyntax_build/vendor/libisyntax/src/utils/timerutils.h +1 -3
- {pyisyntax-0.1.5 → pyisyntax-0.1.7/pyisyntax.egg-info}/PKG-INFO +19 -1
- {pyisyntax-0.1.5 → pyisyntax-0.1.7}/pyisyntax.egg-info/SOURCES.txt +4 -2
- {pyisyntax-0.1.5 → pyisyntax-0.1.7}/pyproject.toml +15 -8
- pyisyntax-0.1.7/tests/__init__.py +0 -0
- pyisyntax-0.1.5/isyntax_build/vendor/libisyntax/src/platform/work_queue.c +0 -238
- pyisyntax-0.1.5/isyntax_build/vendor/libisyntax/src/platform/work_queue.h +0 -102
- pyisyntax-0.1.5/isyntax_build/vendor/libisyntax/src/utils/benaphore.c +0 -76
- {pyisyntax-0.1.5 → pyisyntax-0.1.7}/CHANGELOG.md +0 -0
- {pyisyntax-0.1.5 → pyisyntax-0.1.7}/LICENSE +0 -0
- {pyisyntax-0.1.5 → pyisyntax-0.1.7}/MANIFEST.in +0 -0
- {pyisyntax-0.1.5 → pyisyntax-0.1.7}/isyntax/__init__.py +0 -0
- {pyisyntax-0.1.5 → pyisyntax-0.1.7}/isyntax/lowlevel/__init__.py +0 -0
- {pyisyntax-0.1.5 → pyisyntax-0.1.7}/isyntax/lowlevel/io_management.py +0 -0
- {pyisyntax-0.1.5 → pyisyntax-0.1.7}/isyntax/lowlevel/libisyntax.py +0 -0
- /pyisyntax-0.1.5/isyntax_build/__init__.py → /pyisyntax-0.1.7/isyntax/py.typed +0 -0
- {pyisyntax-0.1.5 → pyisyntax-0.1.7}/isyntax/wrapper.py +0 -0
- {pyisyntax-0.1.5/tests → pyisyntax-0.1.7/isyntax_build}/__init__.py +0 -0
- {pyisyntax-0.1.5 → pyisyntax-0.1.7}/isyntax_build/pyisyntax.c +0 -0
- {pyisyntax-0.1.5 → pyisyntax-0.1.7}/isyntax_build/src/python_platform_utils.c +0 -0
- {pyisyntax-0.1.5 → pyisyntax-0.1.7}/isyntax_build/src/python_platform_utils.h +0 -0
- {pyisyntax-0.1.5 → pyisyntax-0.1.7}/isyntax_build/src/win32_utils.c +0 -0
- {pyisyntax-0.1.5 → pyisyntax-0.1.7}/isyntax_build/vendor/libisyntax/LICENSE.txt +0 -0
- {pyisyntax-0.1.5 → pyisyntax-0.1.7}/isyntax_build/vendor/libisyntax/README.md +0 -0
- {pyisyntax-0.1.5 → pyisyntax-0.1.7}/isyntax_build/vendor/libisyntax/src/isyntax/isyntax_dwt.c +0 -0
- {pyisyntax-0.1.5 → pyisyntax-0.1.7}/isyntax_build/vendor/libisyntax/src/platform/arena.h +0 -0
- {pyisyntax-0.1.5 → pyisyntax-0.1.7}/isyntax_build/vendor/libisyntax/src/platform/linux_utils.c +0 -0
- {pyisyntax-0.1.5 → pyisyntax-0.1.7}/isyntax_build/vendor/libisyntax/src/platform/win32_utils.h +0 -0
- {pyisyntax-0.1.5 → pyisyntax-0.1.7}/isyntax_build/vendor/libisyntax/src/third_party/ltalloc.h +0 -0
- {pyisyntax-0.1.5 → pyisyntax-0.1.7}/isyntax_build/vendor/libisyntax/src/third_party/stb_ds.h +0 -0
- {pyisyntax-0.1.5 → pyisyntax-0.1.7}/isyntax_build/vendor/libisyntax/src/third_party/stb_image.h +0 -0
- {pyisyntax-0.1.5 → pyisyntax-0.1.7}/isyntax_build/vendor/libisyntax/src/third_party/stb_image_write.h +0 -0
- {pyisyntax-0.1.5 → pyisyntax-0.1.7}/isyntax_build/vendor/libisyntax/src/third_party/stb_sprintf.h +0 -0
- {pyisyntax-0.1.5 → pyisyntax-0.1.7}/isyntax_build/vendor/libisyntax/src/third_party/yxml.c +0 -0
- {pyisyntax-0.1.5 → pyisyntax-0.1.7}/isyntax_build/vendor/libisyntax/src/third_party/yxml.h +0 -0
- {pyisyntax-0.1.5 → pyisyntax-0.1.7}/isyntax_build/vendor/libisyntax/src/utils/libtiff_api.h +0 -0
- {pyisyntax-0.1.5 → pyisyntax-0.1.7}/pyisyntax.egg-info/dependency_links.txt +0 -0
- {pyisyntax-0.1.5 → pyisyntax-0.1.7}/pyisyntax.egg-info/not-zip-safe +0 -0
- {pyisyntax-0.1.5 → pyisyntax-0.1.7}/pyisyntax.egg-info/requires.txt +0 -0
- {pyisyntax-0.1.5 → pyisyntax-0.1.7}/pyisyntax.egg-info/top_level.txt +0 -0
- {pyisyntax-0.1.5 → pyisyntax-0.1.7}/setup.cfg +0 -0
- {pyisyntax-0.1.5 → pyisyntax-0.1.7}/setup.py +0 -0
- {pyisyntax-0.1.5 → pyisyntax-0.1.7}/tests/conftest.py +0 -0
- {pyisyntax-0.1.5 → pyisyntax-0.1.7}/tests/data/DOWNLOAD.txt +0 -0
- {pyisyntax-0.1.5 → pyisyntax-0.1.7}/tests/test_lowlevel.py +0 -0
- {pyisyntax-0.1.5 → pyisyntax-0.1.7}/tests/test_wrapper.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: pyisyntax
|
|
3
|
-
Version: 0.1.
|
|
3
|
+
Version: 0.1.7
|
|
4
4
|
Summary: Python bindings for libisyntax
|
|
5
5
|
Author-email: Aiden Nibali <dismaldenizen@gmail.com>
|
|
6
6
|
License-Expression: MIT
|
|
@@ -79,3 +79,21 @@ To modify pyisyntax project dependencies:
|
|
|
79
79
|
```console
|
|
80
80
|
$ uv lock
|
|
81
81
|
```
|
|
82
|
+
|
|
83
|
+
### Cutting a new release
|
|
84
|
+
|
|
85
|
+
1. Ensure that tests are passing and everything is ready for release.
|
|
86
|
+
2. Create and push a Git tag:
|
|
87
|
+
```console
|
|
88
|
+
$ git tag v0.1.6
|
|
89
|
+
$ git push --tags
|
|
90
|
+
```
|
|
91
|
+
3. Download the artifacts from GitHub Actions, which will include the source distribution tarball and binary wheels.
|
|
92
|
+
4. Create a new release on GitHub from the tagged commit and upload the packages as attachments to the release.
|
|
93
|
+
5. Also upload the packages to PyPI using Twine:
|
|
94
|
+
```console
|
|
95
|
+
$ uv run twine upload pyisyntax-*.tar.gz pyisyntax-*.whl
|
|
96
|
+
```
|
|
97
|
+
6. Bump the version number in `pyproject.toml` and create a commit, signalling the start of development on the next version.
|
|
98
|
+
|
|
99
|
+
These files should also be added to a GitHub release.
|
|
@@ -61,3 +61,21 @@ To modify pyisyntax project dependencies:
|
|
|
61
61
|
```console
|
|
62
62
|
$ uv lock
|
|
63
63
|
```
|
|
64
|
+
|
|
65
|
+
### Cutting a new release
|
|
66
|
+
|
|
67
|
+
1. Ensure that tests are passing and everything is ready for release.
|
|
68
|
+
2. Create and push a Git tag:
|
|
69
|
+
```console
|
|
70
|
+
$ git tag v0.1.6
|
|
71
|
+
$ git push --tags
|
|
72
|
+
```
|
|
73
|
+
3. Download the artifacts from GitHub Actions, which will include the source distribution tarball and binary wheels.
|
|
74
|
+
4. Create a new release on GitHub from the tagged commit and upload the packages as attachments to the release.
|
|
75
|
+
5. Also upload the packages to PyPI using Twine:
|
|
76
|
+
```console
|
|
77
|
+
$ uv run twine upload pyisyntax-*.tar.gz pyisyntax-*.whl
|
|
78
|
+
```
|
|
79
|
+
6. Bump the version number in `pyproject.toml` and create a commit, signalling the start of development on the next version.
|
|
80
|
+
|
|
81
|
+
These files should also be added to a GitHub release.
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import os
|
|
2
|
+
import platform
|
|
2
3
|
from importlib import resources
|
|
3
4
|
from pathlib import Path
|
|
4
5
|
|
|
@@ -41,6 +42,19 @@ def create_ffibuilder() -> FFI:
|
|
|
41
42
|
platform_sources = []
|
|
42
43
|
extra_compile_args = []
|
|
43
44
|
libraries = []
|
|
45
|
+
# The vendored libisyntax guards its SIMD/atomics on x86-centric macros
|
|
46
|
+
# that GCC does not define on aarch64 Linux, so the arm build otherwise
|
|
47
|
+
# fails to compile / links x86-only intrinsics. Select the correct paths:
|
|
48
|
+
# __ARM_NEON__ -> intrinsics.h includes <arm_neon.h> for the NEON code
|
|
49
|
+
# __arm64 -> ltalloc spin-wait uses sched_yield, not x86 `pause`
|
|
50
|
+
# the last two map x86-only bit intrinsics onto portable GCC builtins
|
|
51
|
+
if platform.machine() in ("aarch64", "arm64"):
|
|
52
|
+
extra_compile_args += [
|
|
53
|
+
"-D__ARM_NEON__=1",
|
|
54
|
+
"-D__arm64=1",
|
|
55
|
+
"-D_bit_scan_forward=__builtin_ctz",
|
|
56
|
+
"-D_popcnt32=__builtin_popcount",
|
|
57
|
+
]
|
|
44
58
|
|
|
45
59
|
ffibuilder.set_source(
|
|
46
60
|
"isyntax._pyisyntax",
|
|
@@ -51,7 +65,7 @@ def create_ffibuilder() -> FFI:
|
|
|
51
65
|
libisyntax_src / "isyntax" / "isyntax_reader.c",
|
|
52
66
|
libisyntax_src / "utils" / "timerutils.c",
|
|
53
67
|
libisyntax_src / "utils" / "block_allocator.c",
|
|
54
|
-
libisyntax_src / "
|
|
68
|
+
libisyntax_src / "platform" / "platform_mutex.c",
|
|
55
69
|
libisyntax_src / "platform" / "platform.c",
|
|
56
70
|
libisyntax_src / "platform" / "work_queue.c",
|
|
57
71
|
libisyntax_src / "third_party" / "yxml.c",
|
{pyisyntax-0.1.5 → pyisyntax-0.1.7}/isyntax_build/vendor/libisyntax/src/examples/isyntax_dirwalk.c
RENAMED
|
@@ -5,7 +5,8 @@
|
|
|
5
5
|
#include <dirent.h>
|
|
6
6
|
#include <sys/stat.h>
|
|
7
7
|
#include <sys/types.h>
|
|
8
|
-
#include <
|
|
8
|
+
#include <stdlib.h>
|
|
9
|
+
#include <string.h>
|
|
9
10
|
|
|
10
11
|
|
|
11
12
|
#define CHECK_LIBISYNTAX_OK(_libisyntax_call) do { \
|
|
@@ -19,7 +20,7 @@
|
|
|
19
20
|
#ifdef _WIN32
|
|
20
21
|
#define PATH_SEP "\\"
|
|
21
22
|
#else
|
|
22
|
-
#define PATH_SEP "/"
|
|
23
|
+
#define PATH_SEP "/"
|
|
23
24
|
#endif
|
|
24
25
|
|
|
25
26
|
// This program loops through all the .isyntax files in a folder (including subfolders),
|
{pyisyntax-0.1.5 → pyisyntax-0.1.7}/isyntax_build/vendor/libisyntax/src/examples/isyntax_example.c
RENAMED
|
@@ -16,14 +16,36 @@
|
|
|
16
16
|
|
|
17
17
|
void print_isyntax_levels(isyntax_t* isyntax) {
|
|
18
18
|
const isyntax_image_t* wsi_image = libisyntax_get_wsi_image(isyntax);
|
|
19
|
+
LOG_VAR("%s", libisyntax_get_acquisition_datetime(isyntax));
|
|
20
|
+
LOG_VAR("%s", libisyntax_get_manufacturer(isyntax));
|
|
21
|
+
LOG_VAR("%s", libisyntax_get_manufacturers_model_name(isyntax));
|
|
22
|
+
LOG_VAR("%s", libisyntax_get_derivation_description(isyntax));
|
|
23
|
+
LOG_VAR("%s", libisyntax_get_device_serial_number(isyntax));
|
|
24
|
+
for (int i = 0; i < libisyntax_get_software_versions_count(isyntax); ++i) {
|
|
25
|
+
LOG_VAR("%d", i);
|
|
26
|
+
LOG_VAR("%s", libisyntax_get_software_versions(isyntax, i));
|
|
27
|
+
}
|
|
28
|
+
for (int i = 0; i < libisyntax_get_date_of_last_calibration_count(isyntax); ++i) {
|
|
29
|
+
LOG_VAR("%d", i);
|
|
30
|
+
LOG_VAR("%s", libisyntax_get_date_of_last_calibration(isyntax, i));
|
|
31
|
+
}
|
|
32
|
+
for (int i = 0; i < libisyntax_get_time_of_last_calibration_count(isyntax); ++i) {
|
|
33
|
+
LOG_VAR("%d", i);
|
|
34
|
+
LOG_VAR("%s", libisyntax_get_time_of_last_calibration(isyntax, i));
|
|
35
|
+
}
|
|
19
36
|
|
|
37
|
+
LOG_VAR("%d", libisyntax_is_lossy_image_compression(isyntax));
|
|
38
|
+
LOG_VAR("%f", libisyntax_get_lossy_image_compression_ratio(isyntax));
|
|
39
|
+
LOG_VAR("%s", libisyntax_get_lossy_image_compression_method(isyntax));
|
|
20
40
|
for (int i = 0; i < libisyntax_image_get_level_count(wsi_image); ++i) {
|
|
21
41
|
const isyntax_level_t* level = libisyntax_image_get_level(wsi_image, i);
|
|
22
42
|
LOG_VAR("%d", i);
|
|
23
43
|
LOG_VAR("%d", libisyntax_level_get_scale(level));
|
|
24
44
|
LOG_VAR("%d", libisyntax_level_get_width_in_tiles(level));
|
|
25
45
|
LOG_VAR("%d", libisyntax_level_get_height_in_tiles(level));
|
|
46
|
+
LOG_VAR("%f", libisyntax_level_get_mpp_x(level));
|
|
26
47
|
}
|
|
48
|
+
LOG_VAR("%s", libisyntax_scale_unit(isyntax));
|
|
27
49
|
}
|
|
28
50
|
|
|
29
51
|
int main(int argc, char** argv) {
|
{pyisyntax-0.1.5 → pyisyntax-0.1.7}/isyntax_build/vendor/libisyntax/src/examples/isyntax_to_tiff.c
RENAMED
|
@@ -51,7 +51,7 @@
|
|
|
51
51
|
#elif defined(__GNUC__) && (defined(__x86_64__) || defined(__i386__))
|
|
52
52
|
/* GCC-compatible compiler, targeting x86/x86-64 */
|
|
53
53
|
#include <x86intrin.h>
|
|
54
|
-
#elif defined(__GNUC__) && defined(__ARM_NEON__)
|
|
54
|
+
#elif defined(__GNUC__) && (defined(__ARM_NEON__) || defined(__ARM_NEON))
|
|
55
55
|
/* GCC-compatible compiler, targeting ARM with NEON */
|
|
56
56
|
#include <arm_neon.h>
|
|
57
57
|
#elif defined(__GNUC__) && defined(__IWMMXT__)
|