Spline signal processing in N-D with support for GPU computing.
Project description
SplineOps: Spline Operations
SplineOps is a Python and C++-based N-dimensional signal-processing library with support for GPU computing.
Installation
You need at least Python 3.11 to install SplineOps.
Create and activate your Python virtual environment (on Unix or MacOS)
python -m venv splineops-env
source splineops-env/bin/activate
On Windows,
python -m venv splineops-env
./splineops-env/Scripts/Activate
To deactivate the environment use
deactivate
Minimal requirement:
pip install numpy scipy matplotlib
Simply install SplineOps using pip
pip install splineops
GPU Compatibility
You can benefit of cupy to deploy the Spline Interpolation module in SplineOps. If a specific CUDA version is required, do
pip install cupy cuda-version=12.3
Install cupy development environment in editable mode
pip install -e .[dev_cupy]
Potential other CuPy libraries (CuPy from Conda-Forge)
pip install cupy cutensor cudnn nccl
Development Environment
Install development environment in editable mode
pip install -e .[dev]
Resize Native Backend
The resize module uses the native CPU _lsresize extension when it is available.
Set SPLINEOPS_ACCEL=never to force the Python fallback, or
SPLINEOPS_ACCEL=always to require the native extension during benchmarking.
Useful benchmark entry points:
python scripts/benchmark_resize_pr.py --profile oblique-pr --output-dir /tmp/splineops_resize_pr_oblique_pr
python scripts/benchmark_resize_pr.py --output-dir /tmp/splineops_resize_pr_current
python scripts/benchmark_resize_projection_methods.py --profile standard --output-csv /tmp/splineops_projection_methods.csv
python scripts/benchmark_resize_native.py --backend both --output-csv /tmp/splineops_native.csv
python scripts/benchmark_resize_libraries.py --output-csv /tmp/splineops_libraries.csv
python scripts/summarize_resize_benchmarks.py report \
--native /tmp/splineops_native.csv \
--libraries /tmp/splineops_libraries.csv \
--output /tmp/splineops_resize_report.md
For upstream PR preparation notes and interpretation guidelines, see
scripts/resize_pr_readiness.md, scripts/resize_oblique_pr_brief.md, and
scripts/resize_upstream_pr_description.md. For a close-out summary of the
resize optimization session, see scripts/resize_session_handoff.md.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distributions
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file splineops-1.3.0.tar.gz.
File metadata
- Download URL: splineops-1.3.0.tar.gz
- Upload date:
- Size: 1.9 MB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
898fc36e1fb7a26ac294accf5673845f342b9903791dc90ec37a01829ec0df34
|
|
| MD5 |
64422931fa4de40a856f1fa22bedb298
|
|
| BLAKE2b-256 |
7b2d2c78461ff347e050d578fc448415ebcd6d123d05050a670a350369d9963a
|
Provenance
The following attestation bundles were made for splineops-1.3.0.tar.gz:
Publisher:
release.yml on splineops/splineops
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
splineops-1.3.0.tar.gz -
Subject digest:
898fc36e1fb7a26ac294accf5673845f342b9903791dc90ec37a01829ec0df34 - Sigstore transparency entry: 1870580435
- Sigstore integration time:
-
Permalink:
splineops/splineops@9f24e39e85afc1d64cafc86c8361bf345695a275 -
Branch / Tag:
refs/tags/v1.3.0 - Owner: https://github.com/splineops
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@9f24e39e85afc1d64cafc86c8361bf345695a275 -
Trigger Event:
push
-
Statement type:
File details
Details for the file splineops-1.3.0-cp312-cp312-win_amd64.whl.
File metadata
- Download URL: splineops-1.3.0-cp312-cp312-win_amd64.whl
- Upload date:
- Size: 512.5 kB
- Tags: CPython 3.12, Windows x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
b7aec3087cf51959db30cbc2a77b5b85e49f8a634a62dcd9fca2c741b140844b
|
|
| MD5 |
a44c402855738c34320bfec01ef8059f
|
|
| BLAKE2b-256 |
6cdc6988a77077f24c477fb2eb3d342095034f52289145d743a0d0ede8768377
|
Provenance
The following attestation bundles were made for splineops-1.3.0-cp312-cp312-win_amd64.whl:
Publisher:
release.yml on splineops/splineops
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
splineops-1.3.0-cp312-cp312-win_amd64.whl -
Subject digest:
b7aec3087cf51959db30cbc2a77b5b85e49f8a634a62dcd9fca2c741b140844b - Sigstore transparency entry: 1870580446
- Sigstore integration time:
-
Permalink:
splineops/splineops@9f24e39e85afc1d64cafc86c8361bf345695a275 -
Branch / Tag:
refs/tags/v1.3.0 - Owner: https://github.com/splineops
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@9f24e39e85afc1d64cafc86c8361bf345695a275 -
Trigger Event:
push
-
Statement type:
File details
Details for the file splineops-1.3.0-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.
File metadata
- Download URL: splineops-1.3.0-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
- Upload date:
- Size: 405.6 kB
- Tags: CPython 3.12, manylinux: glibc 2.27+ x86-64, manylinux: glibc 2.28+ x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
207e096779dc27db572f93eb604c175587c4887dbea022510fae9700889422e1
|
|
| MD5 |
072acd347411ebe7a5773e2552ffa77a
|
|
| BLAKE2b-256 |
9dafda516a211deb0b595b3c9a497dcbdfe778f630f8d62b710a4ef2f3f2e4ba
|
Provenance
The following attestation bundles were made for splineops-1.3.0-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl:
Publisher:
release.yml on splineops/splineops
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
splineops-1.3.0-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl -
Subject digest:
207e096779dc27db572f93eb604c175587c4887dbea022510fae9700889422e1 - Sigstore transparency entry: 1870580524
- Sigstore integration time:
-
Permalink:
splineops/splineops@9f24e39e85afc1d64cafc86c8361bf345695a275 -
Branch / Tag:
refs/tags/v1.3.0 - Owner: https://github.com/splineops
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@9f24e39e85afc1d64cafc86c8361bf345695a275 -
Trigger Event:
push
-
Statement type:
File details
Details for the file splineops-1.3.0-cp312-cp312-macosx_11_0_arm64.whl.
File metadata
- Download URL: splineops-1.3.0-cp312-cp312-macosx_11_0_arm64.whl
- Upload date:
- Size: 314.9 kB
- Tags: CPython 3.12, macOS 11.0+ ARM64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
69546d11efca29c8220516785cece97d7ea3fdd6206d562dfc4b7e913382aeb7
|
|
| MD5 |
559fde76cd1f4696c08f0f641ccf846c
|
|
| BLAKE2b-256 |
599e8265f389bb0e9d2186be54cbef8b3f66c36216726a72adf8b0e85e2a7e3c
|
Provenance
The following attestation bundles were made for splineops-1.3.0-cp312-cp312-macosx_11_0_arm64.whl:
Publisher:
release.yml on splineops/splineops
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
splineops-1.3.0-cp312-cp312-macosx_11_0_arm64.whl -
Subject digest:
69546d11efca29c8220516785cece97d7ea3fdd6206d562dfc4b7e913382aeb7 - Sigstore transparency entry: 1870580458
- Sigstore integration time:
-
Permalink:
splineops/splineops@9f24e39e85afc1d64cafc86c8361bf345695a275 -
Branch / Tag:
refs/tags/v1.3.0 - Owner: https://github.com/splineops
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@9f24e39e85afc1d64cafc86c8361bf345695a275 -
Trigger Event:
push
-
Statement type:
File details
Details for the file splineops-1.3.0-cp312-cp312-macosx_10_13_x86_64.whl.
File metadata
- Download URL: splineops-1.3.0-cp312-cp312-macosx_10_13_x86_64.whl
- Upload date:
- Size: 367.8 kB
- Tags: CPython 3.12, macOS 10.13+ x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
3011a25fd4c2a13c87162f6185319df72a4f38d9857c5295609742474c15f696
|
|
| MD5 |
665f85f1fa8ed5c4e9145b51faac3681
|
|
| BLAKE2b-256 |
8e8fa5c136f8993cff78a815a014b3f57d90e7837089bfd7bb09179391dd54e7
|
Provenance
The following attestation bundles were made for splineops-1.3.0-cp312-cp312-macosx_10_13_x86_64.whl:
Publisher:
release.yml on splineops/splineops
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
splineops-1.3.0-cp312-cp312-macosx_10_13_x86_64.whl -
Subject digest:
3011a25fd4c2a13c87162f6185319df72a4f38d9857c5295609742474c15f696 - Sigstore transparency entry: 1870580531
- Sigstore integration time:
-
Permalink:
splineops/splineops@9f24e39e85afc1d64cafc86c8361bf345695a275 -
Branch / Tag:
refs/tags/v1.3.0 - Owner: https://github.com/splineops
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@9f24e39e85afc1d64cafc86c8361bf345695a275 -
Trigger Event:
push
-
Statement type:
File details
Details for the file splineops-1.3.0-cp311-cp311-win_amd64.whl.
File metadata
- Download URL: splineops-1.3.0-cp311-cp311-win_amd64.whl
- Upload date:
- Size: 510.7 kB
- Tags: CPython 3.11, Windows x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
e8dde27c081989c949a71e9732467ad359986f303bff18def6d96f01d7986b77
|
|
| MD5 |
6e65f4666e7948ef383fb917e71ffaac
|
|
| BLAKE2b-256 |
37aa5c2cf4d82c4ba8eb2fd2756b23ce5c2edf9cb8e2646b3b850c28eb244485
|
Provenance
The following attestation bundles were made for splineops-1.3.0-cp311-cp311-win_amd64.whl:
Publisher:
release.yml on splineops/splineops
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
splineops-1.3.0-cp311-cp311-win_amd64.whl -
Subject digest:
e8dde27c081989c949a71e9732467ad359986f303bff18def6d96f01d7986b77 - Sigstore transparency entry: 1870580511
- Sigstore integration time:
-
Permalink:
splineops/splineops@9f24e39e85afc1d64cafc86c8361bf345695a275 -
Branch / Tag:
refs/tags/v1.3.0 - Owner: https://github.com/splineops
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@9f24e39e85afc1d64cafc86c8361bf345695a275 -
Trigger Event:
push
-
Statement type:
File details
Details for the file splineops-1.3.0-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.
File metadata
- Download URL: splineops-1.3.0-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
- Upload date:
- Size: 405.3 kB
- Tags: CPython 3.11, manylinux: glibc 2.27+ x86-64, manylinux: glibc 2.28+ x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
9acf29c62e5f481c4cddab7262d394de6123b68187a868cfd7bee4eadc807636
|
|
| MD5 |
c9fe8f849d6946400f4e37a64bc03d7d
|
|
| BLAKE2b-256 |
7c7099733cef4acc75bf6d94b01907cca314cb1336512447d20aee2c43c29c35
|
Provenance
The following attestation bundles were made for splineops-1.3.0-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl:
Publisher:
release.yml on splineops/splineops
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
splineops-1.3.0-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl -
Subject digest:
9acf29c62e5f481c4cddab7262d394de6123b68187a868cfd7bee4eadc807636 - Sigstore transparency entry: 1870580477
- Sigstore integration time:
-
Permalink:
splineops/splineops@9f24e39e85afc1d64cafc86c8361bf345695a275 -
Branch / Tag:
refs/tags/v1.3.0 - Owner: https://github.com/splineops
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@9f24e39e85afc1d64cafc86c8361bf345695a275 -
Trigger Event:
push
-
Statement type:
File details
Details for the file splineops-1.3.0-cp311-cp311-macosx_11_0_arm64.whl.
File metadata
- Download URL: splineops-1.3.0-cp311-cp311-macosx_11_0_arm64.whl
- Upload date:
- Size: 314.2 kB
- Tags: CPython 3.11, macOS 11.0+ ARM64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
eca4af2fc229cec1e66b27eb6ada14d2342f20945f50f5bb08ce0bccc084ac7e
|
|
| MD5 |
4cce452b5527365c8ffc582c32a3d691
|
|
| BLAKE2b-256 |
c4d8eaf9588e5a9f7a9a0975be57b6681a91830c55f7737a4b74076dd2d4596c
|
Provenance
The following attestation bundles were made for splineops-1.3.0-cp311-cp311-macosx_11_0_arm64.whl:
Publisher:
release.yml on splineops/splineops
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
splineops-1.3.0-cp311-cp311-macosx_11_0_arm64.whl -
Subject digest:
eca4af2fc229cec1e66b27eb6ada14d2342f20945f50f5bb08ce0bccc084ac7e - Sigstore transparency entry: 1870580503
- Sigstore integration time:
-
Permalink:
splineops/splineops@9f24e39e85afc1d64cafc86c8361bf345695a275 -
Branch / Tag:
refs/tags/v1.3.0 - Owner: https://github.com/splineops
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@9f24e39e85afc1d64cafc86c8361bf345695a275 -
Trigger Event:
push
-
Statement type:
File details
Details for the file splineops-1.3.0-cp311-cp311-macosx_10_13_x86_64.whl.
File metadata
- Download URL: splineops-1.3.0-cp311-cp311-macosx_10_13_x86_64.whl
- Upload date:
- Size: 366.3 kB
- Tags: CPython 3.11, macOS 10.13+ x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
f3c884f4b519c656cea3ed1fc8f3a46445e8cbdc5475abaa43312ea8ebe3e045
|
|
| MD5 |
87787a85c7cb4e0deadd6cdb4cc9e903
|
|
| BLAKE2b-256 |
cb9760ef753ed17f37a467627a1962aaf405bbae12e23664952fa8369a5029a8
|
Provenance
The following attestation bundles were made for splineops-1.3.0-cp311-cp311-macosx_10_13_x86_64.whl:
Publisher:
release.yml on splineops/splineops
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
splineops-1.3.0-cp311-cp311-macosx_10_13_x86_64.whl -
Subject digest:
f3c884f4b519c656cea3ed1fc8f3a46445e8cbdc5475abaa43312ea8ebe3e045 - Sigstore transparency entry: 1870580489
- Sigstore integration time:
-
Permalink:
splineops/splineops@9f24e39e85afc1d64cafc86c8361bf345695a275 -
Branch / Tag:
refs/tags/v1.3.0 - Owner: https://github.com/splineops
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@9f24e39e85afc1d64cafc86c8361bf345695a275 -
Trigger Event:
push
-
Statement type: