Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
241 changes: 241 additions & 0 deletions .github/workflows/prgate.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -59,6 +59,58 @@ jobs:
working-directory: ${{github.workspace}}/build
run: ctest -V --build-config Release --timeout 120 --output-on-failure -T Test

linux-examples-images:
runs-on: ubuntu-latest

steps:
- name: Checkout
uses: actions/checkout@v4

- name: Git config for fetching pull requests
run: |
git config --global --add remote.origin.fetch +refs/pull/*/merge:refs/remotes/pull/*

- name: CMake config
working-directory: ${{github.workspace}}/examples/images
run: cmake -B ${{github.workspace}}/examples/images/build
env:
LIBNPY_REPO: https://github.com/${{github.repository}}
LIBNPY_TAG: ${{github.sha}}

- name: CMake build
working-directory: ${{github.workspace}}/examples/images/build
run: make

- name: CMake test
working-directory: ${{github.workspace}}/examples/images/build
run: ctest -V --build-config Release --timeout 120 --output-on-failure -T Test

linux-examples-custom_tensors:
runs-on: ubuntu-latest

steps:
- name: Checkout
uses: actions/checkout@v4

- name: Git config for fetching pull requests
run: |
git config --global --add remote.origin.fetch +refs/pull/*/merge:refs/remotes/pull/*

- name: CMake config
working-directory: ${{github.workspace}}/examples/custom_tensors
run: cmake -B ${{github.workspace}}/examples/custom_tensors/build
env:
LIBNPY_REPO: https://github.com/${{github.repository}}
LIBNPY_TAG: ${{github.sha}}

- name: CMake build
working-directory: ${{github.workspace}}/examples/custom_tensors/build
run: make

- name: CMake test
working-directory: ${{github.workspace}}/examples/custom_tensors/build
run: ctest -V --build-config Release --timeout 120 --output-on-failure -T Test -L npy

linux-asan:
runs-on: ubuntu-latest

Expand Down Expand Up @@ -122,6 +174,58 @@ jobs:
working-directory: ${{github.workspace}}/build
run: ctest -V --build-config Release --timeout 120 --output-on-failure -T Test

windows-examples-images:
runs-on: windows-latest

steps:
- name: Checkout
uses: actions/checkout@v4

- name: Git config for fetching pull requests
run: |
git config --global --add remote.origin.fetch +refs/pull/*/merge:refs/remotes/pull/*

- name: CMake config
working-directory: ${{github.workspace}}/examples/images
run: cmake -B ${{github.workspace}}/examples/images/build
env:
LIBNPY_REPO: https://github.com/${{github.repository}}
LIBNPY_TAG: ${{github.sha}}

- name: CMake build
working-directory: ${{github.workspace}}/examples/images/build
run: cmake --build . --config Release

- name: CMake test
working-directory: ${{github.workspace}}/examples/images/build
run: ctest -V --build-config Release --timeout 120 --output-on-failure -T Test

windows-examples-custom_tensors:
runs-on: windows-latest

steps:
- name: Checkout
uses: actions/checkout@v4

- name: Git config for fetching pull requests
run: |
git config --global --add remote.origin.fetch +refs/pull/*/merge:refs/remotes/pull/*

- name: CMake config
working-directory: ${{github.workspace}}/examples/custom_tensors
run: cmake -B ${{github.workspace}}/examples/custom_tensors/build
env:
LIBNPY_REPO: https://github.com/${{github.repository}}
LIBNPY_TAG: ${{github.sha}}

- name: CMake build
working-directory: ${{github.workspace}}/examples/custom_tensors/build
run: cmake --build . --config Release

- name: CMake test
working-directory: ${{github.workspace}}/examples/custom_tensors/build
run: ctest -V --build-config Release --timeout 120 --output-on-failure -T Test -L npy

macos:
runs-on: macos-latest

Expand Down Expand Up @@ -154,3 +258,140 @@ jobs:
- name: CMake test
working-directory: ${{github.workspace}}/build
run: ctest -V --build-config Release --timeout 120 --output-on-failure -T Test

macos-examples-images:
runs-on: macos-latest

steps:
- name: Checkout
uses: actions/checkout@v4

- name: Git config for fetching pull requests
run: |
git config --global --add remote.origin.fetch +refs/pull/*/merge:refs/remotes/pull/*

- name: CMake config
working-directory: ${{github.workspace}}/examples/images
run: cmake -B ${{github.workspace}}/examples/images/build
env:
LIBNPY_REPO: https://github.com/${{github.repository}}
LIBNPY_TAG: ${{github.sha}}

- name: CMake build
working-directory: ${{github.workspace}}/examples/images/build
run: make

- name: CMake test
working-directory: ${{github.workspace}}/examples/images/build
run: ctest -V --build-config Release --timeout 120 --output-on-failure -T Test

macos-examples-custom_tensors:
runs-on: macos-latest

steps:
- name: Checkout
uses: actions/checkout@v4

- name: Git config for fetching pull requests
run: |
git config --global --add remote.origin.fetch +refs/pull/*/merge:refs/remotes/pull/*

- name: CMake config
working-directory: ${{github.workspace}}/examples/custom_tensors
run: cmake -B ${{github.workspace}}/examples/custom_tensors/build
env:
LIBNPY_REPO: https://github.com/${{github.repository}}
LIBNPY_TAG: ${{github.sha}}

- name: CMake build
working-directory: ${{github.workspace}}/examples/custom_tensors/build
run: make

- name: CMake test
working-directory: ${{github.workspace}}/examples/custom_tensors/build
run: ctest -V --build-config Release --timeout 120 --output-on-failure -T Test -L npy

macos-x86_64:
runs-on: macos-15-intel

steps:
- name: Checkout
uses: actions/checkout@v4

- name: Get dependencies
run: |
brew update && brew install ninja

- name: CMake config
run: cmake -B ${{github.workspace}}/build --preset release-clang

- name: CMake build
working-directory: ${{github.workspace}}/build
run: ninja

- name: Use Python 3.11
uses: actions/setup-python@v4
with:
python-version: "3.11"

- name: Generate large NPZ files
working-directory: ${{github.workspace}}/
run: |
pip install numpy
python ${{github.workspace}}/test/generate_large_test.py

- name: CMake test
working-directory: ${{github.workspace}}/build
run: ctest -V --build-config Release --timeout 120 --output-on-failure -T Test

macos-x86_64-examples-images:
runs-on: macos-15-intel

steps:
- name: Checkout
uses: actions/checkout@v4

- name: Git config for fetching pull requests
run: |
git config --global --add remote.origin.fetch +refs/pull/*/merge:refs/remotes/pull/*

- name: CMake config
working-directory: ${{github.workspace}}/examples/images
run: cmake -B ${{github.workspace}}/examples/images/build
env:
LIBNPY_REPO: https://github.com/${{github.repository}}
LIBNPY_TAG: ${{github.sha}}

- name: CMake build
working-directory: ${{github.workspace}}/examples/images/build
run: make

- name: CMake test
working-directory: ${{github.workspace}}/examples/images/build
run: ctest -V --build-config Release --timeout 120 --output-on-failure -T Test

macos-x86_64-examples-custom_tensors:
runs-on: macos-15-intel

steps:
- name: Checkout
uses: actions/checkout@v4

- name: Git config for fetching pull requests
run: |
git config --global --add remote.origin.fetch +refs/pull/*/merge:refs/remotes/pull/*

- name: CMake config
working-directory: ${{github.workspace}}/examples/custom_tensors
run: cmake -B ${{github.workspace}}/examples/custom_tensors/build
env:
LIBNPY_REPO: https://github.com/${{github.repository}}
LIBNPY_TAG: ${{github.sha}}

- name: CMake build
working-directory: ${{github.workspace}}/examples/custom_tensors/build
run: make

- name: CMake test
working-directory: ${{github.workspace}}/examples/custom_tensors/build
run: ctest -V --build-config Release --timeout 120 --output-on-failure -T Test -L npy
20 changes: 20 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,25 @@
# Changelog

## [2026-01-14 - Version 2.0.0](https://github.com/matajoh/libnpy/releases/tag/v2.0.0)

Major version with breaking changes.

**Breaking Changes**:
- `onpzstream` has been split into `npzfilewriter` and `npzstringwriter`
- `inpzstream` has been split into `npzfilereader` and `npzstringreader`
- The library interface has been merged into a single `npy.h` header

Improvements:
- Support for complex numbers has been added
- The library design has been greatly simplified
- The example projects have been broken out into self-contained projects (which fetch
the main project using `FetchContent`) and a `custom_tensors` example has been added
showing a non-trivial custom tensor implementation
- Custom tensor support is greatly improved, and is now fully featured

Bugfixes:
- Fixed an issue with broken CRC checks on Windows

## [2024-11-01 - Version 1.5.3](https://github.com/matajoh/libnpy/releases/tag/v1.5.3)

Improvements:
Expand Down
Loading
Loading