arraymorph 0.2.0b3__tar.gz → 0.2.0b4__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 (47) hide show
  1. {arraymorph-0.2.0b3 → arraymorph-0.2.0b4}/PKG-INFO +1 -1
  2. {arraymorph-0.2.0b3 → arraymorph-0.2.0b4}/justfile +1 -10
  3. {arraymorph-0.2.0b3 → arraymorph-0.2.0b4}/lib/include/arraymorph/s3vl/initialize.h +9 -6
  4. {arraymorph-0.2.0b3 → arraymorph-0.2.0b4}/.actrc +0 -0
  5. {arraymorph-0.2.0b3 → arraymorph-0.2.0b4}/.github/ISSUE_TEMPLATE/bug_report.yaml +0 -0
  6. {arraymorph-0.2.0b3 → arraymorph-0.2.0b4}/.github/ISSUE_TEMPLATE/config.yaml +0 -0
  7. {arraymorph-0.2.0b3 → arraymorph-0.2.0b4}/.github/workflows/build.yaml +0 -0
  8. {arraymorph-0.2.0b3 → arraymorph-0.2.0b4}/.gitignore +0 -0
  9. {arraymorph-0.2.0b3 → arraymorph-0.2.0b4}/.python-version +0 -0
  10. {arraymorph-0.2.0b3 → arraymorph-0.2.0b4}/CHANGELOG.md +0 -0
  11. {arraymorph-0.2.0b3 → arraymorph-0.2.0b4}/CONAN-INTEGRATION.md +0 -0
  12. {arraymorph-0.2.0b3 → arraymorph-0.2.0b4}/LICENSE +0 -0
  13. {arraymorph-0.2.0b3 → arraymorph-0.2.0b4}/README.md +0 -0
  14. {arraymorph-0.2.0b3 → arraymorph-0.2.0b4}/env-example.txt +0 -0
  15. {arraymorph-0.2.0b3 → arraymorph-0.2.0b4}/examples/python/read.py +0 -0
  16. {arraymorph-0.2.0b3 → arraymorph-0.2.0b4}/examples/python/write.py +0 -0
  17. {arraymorph-0.2.0b3 → arraymorph-0.2.0b4}/lib/.clangd +0 -0
  18. {arraymorph-0.2.0b3 → arraymorph-0.2.0b4}/lib/CMakeLists.txt +0 -0
  19. {arraymorph-0.2.0b3 → arraymorph-0.2.0b4}/lib/README.md +0 -0
  20. {arraymorph-0.2.0b3 → arraymorph-0.2.0b4}/lib/include/arraymorph/core/constants.h +0 -0
  21. {arraymorph-0.2.0b3 → arraymorph-0.2.0b4}/lib/include/arraymorph/core/logger.h +0 -0
  22. {arraymorph-0.2.0b3 → arraymorph-0.2.0b4}/lib/include/arraymorph/core/operators.h +0 -0
  23. {arraymorph-0.2.0b3 → arraymorph-0.2.0b4}/lib/include/arraymorph/core/utils.h +0 -0
  24. {arraymorph-0.2.0b3 → arraymorph-0.2.0b4}/lib/include/arraymorph/s3vl/chunk_obj.h +0 -0
  25. {arraymorph-0.2.0b3 → arraymorph-0.2.0b4}/lib/include/arraymorph/s3vl/dataset_callbacks.h +0 -0
  26. {arraymorph-0.2.0b3 → arraymorph-0.2.0b4}/lib/include/arraymorph/s3vl/dataset_obj.h +0 -0
  27. {arraymorph-0.2.0b3 → arraymorph-0.2.0b4}/lib/include/arraymorph/s3vl/file_callbacks.h +0 -0
  28. {arraymorph-0.2.0b3 → arraymorph-0.2.0b4}/lib/include/arraymorph/s3vl/group_callbacks.h +0 -0
  29. {arraymorph-0.2.0b3 → arraymorph-0.2.0b4}/lib/include/arraymorph/s3vl/vol_connector.h +0 -0
  30. {arraymorph-0.2.0b3 → arraymorph-0.2.0b4}/lib/justfile +0 -0
  31. {arraymorph-0.2.0b3 → arraymorph-0.2.0b4}/lib/meta.yaml +0 -0
  32. {arraymorph-0.2.0b3 → arraymorph-0.2.0b4}/lib/scripts/extract_perspective.py +0 -0
  33. {arraymorph-0.2.0b3 → arraymorph-0.2.0b4}/lib/src/CMakeLists.txt +0 -0
  34. {arraymorph-0.2.0b3 → arraymorph-0.2.0b4}/lib/src/core/constants.cc +0 -0
  35. {arraymorph-0.2.0b3 → arraymorph-0.2.0b4}/lib/src/core/operators.cc +0 -0
  36. {arraymorph-0.2.0b3 → arraymorph-0.2.0b4}/lib/src/core/utils.cc +0 -0
  37. {arraymorph-0.2.0b3 → arraymorph-0.2.0b4}/lib/src/s3vl/chunk_obj.cc +0 -0
  38. {arraymorph-0.2.0b3 → arraymorph-0.2.0b4}/lib/src/s3vl/dataset_callbacks.cc +0 -0
  39. {arraymorph-0.2.0b3 → arraymorph-0.2.0b4}/lib/src/s3vl/dataset_obj.cc +0 -0
  40. {arraymorph-0.2.0b3 → arraymorph-0.2.0b4}/lib/src/s3vl/file_callbacks.cc +0 -0
  41. {arraymorph-0.2.0b3 → arraymorph-0.2.0b4}/lib/src/s3vl/group_callbacks.cc +0 -0
  42. {arraymorph-0.2.0b3 → arraymorph-0.2.0b4}/lib/src/s3vl/vol_connector.cc +0 -0
  43. {arraymorph-0.2.0b3 → arraymorph-0.2.0b4}/lib/vcpkg.json +0 -0
  44. {arraymorph-0.2.0b3 → arraymorph-0.2.0b4}/main.py +0 -0
  45. {arraymorph-0.2.0b3 → arraymorph-0.2.0b4}/pyproject.toml +0 -0
  46. {arraymorph-0.2.0b3 → arraymorph-0.2.0b4}/release.yaml +0 -0
  47. {arraymorph-0.2.0b3 → arraymorph-0.2.0b4}/src/arraymorph/__init__.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.2
2
2
  Name: arraymorph
3
- Version: 0.2.0b3
3
+ Version: 0.2.0b4
4
4
  Summary: HDF5 VOL connector for cloud object storage (AWS S3, Azure Blob)
5
5
  Author: ruochenj123, wangtg2013
6
6
  License: MIT
@@ -30,17 +30,8 @@ dev:
30
30
  # Full build from scratch: deps → wheel
31
31
  build: wheel
32
32
 
33
- # Test the built wheel in an isolated venv
34
- test:
35
- rm -rf .test-venv
36
- uv venv .test-venv
37
- source .test-venv/bin/activate.fish
38
- uv pip install dist/arraymorph-0.2.0-*.whl
39
- python3 -c "import arraymorph; print('Plugin:', arraymorph.get_plugin_path()); arraymorph.enable(); print('VOL enabled')"
40
- rm -rf .test-venv
41
-
42
33
  # Full build + test
43
- all: build test
34
+ all: build
44
35
 
45
36
  # Clean build artifacts
46
37
  clean:
@@ -28,13 +28,16 @@ inline herr_t S3VLINITIALIZE::s3VL_initialize_init(hid_t vipl_id) {
28
28
  // Aws::SDKOptions options; // Changed to use global sdk options for proper
29
29
  // shutdown
30
30
  g_sdk_options.loggingOptions.logLevel = Aws::Utils::Logging::LogLevel::Off;
31
- // curl_global_init/cleanup is not re-entrant and must be called exactly once
32
- // per process. Python (or another loaded library) may already own that
33
- // lifecycle. Delegating HTTP init/cleanup to the SDK causes a double-free /
34
- // use-after-free inside Aws::Http::CleanupHttp() at process exit, resulting
35
- // in a SIGSEGV from the HDF5 VOL terminate callback. Disabling SDK-managed
36
- // HTTP init/cleanup avoids the crash while leaving curl usable for the SDK.
31
+ // curl and OpenSSL global init/cleanup must be called exactly once per
32
+ // process and are not re-entrant. Python (or another loaded library such as
33
+ // h5py) may already own those lifecycles. Delegating init/cleanup to the SDK
34
+ // causes double-free / use-after-free crashes inside CleanupHttp() and
35
+ // CleanupCrypto() when the HDF5 VOL terminate callback fires at process exit,
36
+ // after the host process has already torn down those subsystems. Disabling
37
+ // SDK-managed init/cleanup for both avoids the crashes while leaving curl and
38
+ // OpenSSL usable for the SDK.
37
39
  g_sdk_options.httpOptions.initAndCleanupCurl = false;
40
+ g_sdk_options.cryptoOptions.initAndCleanupOpenSSL = false;
38
41
  std::set_terminate([]() {
39
42
  _exit(0);
40
43
  }); // Shutdown conflicts with Python's interpreter shutdown on macOS.
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes