arraymorph 0.2.0b2__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.
- arraymorph-0.2.0b4/CHANGELOG.md +15 -0
- {arraymorph-0.2.0b2 → arraymorph-0.2.0b4}/PKG-INFO +1 -1
- {arraymorph-0.2.0b2 → arraymorph-0.2.0b4}/justfile +1 -10
- {arraymorph-0.2.0b2 → arraymorph-0.2.0b4}/lib/include/arraymorph/s3vl/initialize.h +11 -1
- {arraymorph-0.2.0b2 → arraymorph-0.2.0b4}/.actrc +0 -0
- {arraymorph-0.2.0b2 → arraymorph-0.2.0b4}/.github/ISSUE_TEMPLATE/bug_report.yaml +0 -0
- {arraymorph-0.2.0b2 → arraymorph-0.2.0b4}/.github/ISSUE_TEMPLATE/config.yaml +0 -0
- {arraymorph-0.2.0b2 → arraymorph-0.2.0b4}/.github/workflows/build.yaml +0 -0
- {arraymorph-0.2.0b2 → arraymorph-0.2.0b4}/.gitignore +0 -0
- {arraymorph-0.2.0b2 → arraymorph-0.2.0b4}/.python-version +0 -0
- {arraymorph-0.2.0b2 → arraymorph-0.2.0b4}/CONAN-INTEGRATION.md +0 -0
- {arraymorph-0.2.0b2 → arraymorph-0.2.0b4}/LICENSE +0 -0
- {arraymorph-0.2.0b2 → arraymorph-0.2.0b4}/README.md +0 -0
- {arraymorph-0.2.0b2 → arraymorph-0.2.0b4}/env-example.txt +0 -0
- {arraymorph-0.2.0b2 → arraymorph-0.2.0b4}/examples/python/read.py +0 -0
- {arraymorph-0.2.0b2 → arraymorph-0.2.0b4}/examples/python/write.py +0 -0
- {arraymorph-0.2.0b2 → arraymorph-0.2.0b4}/lib/.clangd +0 -0
- {arraymorph-0.2.0b2 → arraymorph-0.2.0b4}/lib/CMakeLists.txt +0 -0
- {arraymorph-0.2.0b2 → arraymorph-0.2.0b4}/lib/README.md +0 -0
- {arraymorph-0.2.0b2 → arraymorph-0.2.0b4}/lib/include/arraymorph/core/constants.h +0 -0
- {arraymorph-0.2.0b2 → arraymorph-0.2.0b4}/lib/include/arraymorph/core/logger.h +0 -0
- {arraymorph-0.2.0b2 → arraymorph-0.2.0b4}/lib/include/arraymorph/core/operators.h +0 -0
- {arraymorph-0.2.0b2 → arraymorph-0.2.0b4}/lib/include/arraymorph/core/utils.h +0 -0
- {arraymorph-0.2.0b2 → arraymorph-0.2.0b4}/lib/include/arraymorph/s3vl/chunk_obj.h +0 -0
- {arraymorph-0.2.0b2 → arraymorph-0.2.0b4}/lib/include/arraymorph/s3vl/dataset_callbacks.h +0 -0
- {arraymorph-0.2.0b2 → arraymorph-0.2.0b4}/lib/include/arraymorph/s3vl/dataset_obj.h +0 -0
- {arraymorph-0.2.0b2 → arraymorph-0.2.0b4}/lib/include/arraymorph/s3vl/file_callbacks.h +0 -0
- {arraymorph-0.2.0b2 → arraymorph-0.2.0b4}/lib/include/arraymorph/s3vl/group_callbacks.h +0 -0
- {arraymorph-0.2.0b2 → arraymorph-0.2.0b4}/lib/include/arraymorph/s3vl/vol_connector.h +0 -0
- {arraymorph-0.2.0b2 → arraymorph-0.2.0b4}/lib/justfile +0 -0
- {arraymorph-0.2.0b2 → arraymorph-0.2.0b4}/lib/meta.yaml +0 -0
- {arraymorph-0.2.0b2 → arraymorph-0.2.0b4}/lib/scripts/extract_perspective.py +0 -0
- {arraymorph-0.2.0b2 → arraymorph-0.2.0b4}/lib/src/CMakeLists.txt +0 -0
- {arraymorph-0.2.0b2 → arraymorph-0.2.0b4}/lib/src/core/constants.cc +0 -0
- {arraymorph-0.2.0b2 → arraymorph-0.2.0b4}/lib/src/core/operators.cc +0 -0
- {arraymorph-0.2.0b2 → arraymorph-0.2.0b4}/lib/src/core/utils.cc +0 -0
- {arraymorph-0.2.0b2 → arraymorph-0.2.0b4}/lib/src/s3vl/chunk_obj.cc +0 -0
- {arraymorph-0.2.0b2 → arraymorph-0.2.0b4}/lib/src/s3vl/dataset_callbacks.cc +0 -0
- {arraymorph-0.2.0b2 → arraymorph-0.2.0b4}/lib/src/s3vl/dataset_obj.cc +0 -0
- {arraymorph-0.2.0b2 → arraymorph-0.2.0b4}/lib/src/s3vl/file_callbacks.cc +0 -0
- {arraymorph-0.2.0b2 → arraymorph-0.2.0b4}/lib/src/s3vl/group_callbacks.cc +0 -0
- {arraymorph-0.2.0b2 → arraymorph-0.2.0b4}/lib/src/s3vl/vol_connector.cc +0 -0
- {arraymorph-0.2.0b2 → arraymorph-0.2.0b4}/lib/vcpkg.json +0 -0
- {arraymorph-0.2.0b2 → arraymorph-0.2.0b4}/main.py +0 -0
- {arraymorph-0.2.0b2 → arraymorph-0.2.0b4}/pyproject.toml +0 -0
- {arraymorph-0.2.0b2 → arraymorph-0.2.0b4}/release.yaml +0 -0
- {arraymorph-0.2.0b2 → arraymorph-0.2.0b4}/src/arraymorph/__init__.py +0 -0
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
# Changelog
|
|
2
|
+
|
|
3
|
+
All notable changes to this project will be documented in this file.
|
|
4
|
+
|
|
5
|
+
## [Unreleased]
|
|
6
|
+
|
|
7
|
+
> **⚠️ Pre-release** — API may change. Feedback welcome via [GitHub Issues](https://github.com/ICICLE-ai/ArrayMorph/issues).
|
|
8
|
+
|
|
9
|
+
### Added
|
|
10
|
+
- **Python Package & API**: ArrayMorph is now available via `pip install arraymorph`. You can now dynamically configure AWS S3, Azure Blob Storage, or any S3-compatible endpoints directly from Python (`arraymorph.configure_s3(...)` and `arraymorph.configure_azure(...)`).
|
|
11
|
+
- **Pre-built Binaries**: Pre-compiled binaries of `lib_arraymorph` are now attached to GitHub releases for Linux (x86_64, aarch64) and macOS (Apple Silicon).
|
|
12
|
+
- **Expanded Documentation**: The README has been overhauled with comprehensive How-To guides, tutorials, and a detailed explanation of ArrayMorph's chunked storage model and async I/O.
|
|
13
|
+
|
|
14
|
+
### Changed
|
|
15
|
+
- **Simplified Build System**: The build system has been revamped. It now leverages `uv` for Python environments and `vcpkg` for fetching C++ SDK dependencies, making building from source much smoother.
|
|
@@ -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
|
|
34
|
+
all: build
|
|
44
35
|
|
|
45
36
|
# Clean build artifacts
|
|
46
37
|
clean:
|
|
@@ -28,9 +28,19 @@ 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 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.
|
|
39
|
+
g_sdk_options.httpOptions.initAndCleanupCurl = false;
|
|
40
|
+
g_sdk_options.cryptoOptions.initAndCleanupOpenSSL = false;
|
|
31
41
|
std::set_terminate([]() {
|
|
32
42
|
_exit(0);
|
|
33
|
-
}); // Shutdown conflicts with Python's
|
|
43
|
+
}); // Shutdown conflicts with Python's interpreter shutdown on macOS.
|
|
34
44
|
// Terminate handler catches this and exits cleanly.
|
|
35
45
|
Aws::InitAPI(g_sdk_options);
|
|
36
46
|
Logger::log("------ Init VOL");
|
|
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
|
|
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
|
|
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
|
|
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
|