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
Formatting, Type Checking, and Testing
Formatting and type checking is performed as
tox -e format
tox -e type
The testing requires a valid environment with a supported Python version and tox
installed. The tests are run with the following command (automatic pick of the
Python version)
tox
The tests can also be launched for a specific Python version (must match the one installed in the active environment)
tox -e py311
tox -e py312
IMPORTANT: Since CI is not implemented, make sure to run, pass, and/or fix
tox -e format, tox -e type, and tox.
Packaging
Using tox (preferred)
tox -e build
Using hatch
hatch build -t wheel
Development Environment
Install splineops development environment in editable mode
pip install -e .[dev]
GPU Compatibility
You can benefit of cupy to deploy splineops. If a specific CUDA version is required, do
pip install cupy cuda-version=12.3
Install splineops 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
Building of the Documentation
To build the Sphinx documentation, install splineops doc dependencies
pip install -e .[docs]
Navigate to the docs directory and run the make html command
cd docs
make html
Then, go to docs/_build/html and open index.html to navigate the
documentation locally.
Troubleshooting
If you want to make a "clean" build, go to docs and manually delete the folders _build, auto_examples, gen_modules, and the file sg_execution_times.rst.
Why isn't this done automatically? Because Sphinx optimizes speed and removes redundant tasks, by not re-creating the examples notebooks if they have already been created.
If you, for example, modify the name of the examples files, you will have to delete at least the folder auto_examples. Otherwise, the old examples files will not have disappeared automatically and Sphinx will raise an internal warning referring to a toctree.
Project details
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.0.5.tar.gz.
File metadata
- Download URL: splineops-1.0.5.tar.gz
- Upload date:
- Size: 1.8 MB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
6e6ce142bb693b5869788353fb82118e73aba389901b475a9c338e982bf04404
|
|
| MD5 |
94cc69ba5f6570f37ccdb515bfa2112a
|
|
| BLAKE2b-256 |
c75575f8438a11daeb9963dac6ea902bbcbce1b0fe50ffac714b72861a41dfa1
|
Provenance
The following attestation bundles were made for splineops-1.0.5.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.0.5.tar.gz -
Subject digest:
6e6ce142bb693b5869788353fb82118e73aba389901b475a9c338e982bf04404 - Sigstore transparency entry: 753079439
- Sigstore integration time:
-
Permalink:
splineops/splineops@b69f483cac2d720bbc51fa311625809df2664e17 -
Branch / Tag:
refs/tags/v1.0.5 - Owner: https://github.com/splineops
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@b69f483cac2d720bbc51fa311625809df2664e17 -
Trigger Event:
push
-
Statement type:
File details
Details for the file splineops-1.0.5-cp312-cp312-win_amd64.whl.
File metadata
- Download URL: splineops-1.0.5-cp312-cp312-win_amd64.whl
- Upload date:
- Size: 187.2 kB
- Tags: CPython 3.12, Windows x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
5c02dabdbd09b4e31bdcc2b4b9d35a9f1f35e9514184e20a217d422aa29a0b99
|
|
| MD5 |
924750362b4ec446102fbd555890e3bf
|
|
| BLAKE2b-256 |
157581cb517d64f19218afc1d29f17c93d42e24e54f06aee707546744d68ae23
|
Provenance
The following attestation bundles were made for splineops-1.0.5-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.0.5-cp312-cp312-win_amd64.whl -
Subject digest:
5c02dabdbd09b4e31bdcc2b4b9d35a9f1f35e9514184e20a217d422aa29a0b99 - Sigstore transparency entry: 753079697
- Sigstore integration time:
-
Permalink:
splineops/splineops@b69f483cac2d720bbc51fa311625809df2664e17 -
Branch / Tag:
refs/tags/v1.0.5 - Owner: https://github.com/splineops
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@b69f483cac2d720bbc51fa311625809df2664e17 -
Trigger Event:
push
-
Statement type:
File details
Details for the file splineops-1.0.5-cp312-cp312-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl.
File metadata
- Download URL: splineops-1.0.5-cp312-cp312-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
- Upload date:
- Size: 196.8 kB
- Tags: CPython 3.12, manylinux: glibc 2.24+ x86-64, manylinux: glibc 2.28+ x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
c5498cb248a9fd3d2c36072870730d2079ac391f48cca3f0fb26e6ee86c3e822
|
|
| MD5 |
fa07d5cce00d93894a404398554a8acf
|
|
| BLAKE2b-256 |
405137bdb05ad0a000b78c4924fb1545049746173e1c6597b57c81953c8b82e2
|
Provenance
The following attestation bundles were made for splineops-1.0.5-cp312-cp312-manylinux_2_24_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.0.5-cp312-cp312-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl -
Subject digest:
c5498cb248a9fd3d2c36072870730d2079ac391f48cca3f0fb26e6ee86c3e822 - Sigstore transparency entry: 753079503
- Sigstore integration time:
-
Permalink:
splineops/splineops@b69f483cac2d720bbc51fa311625809df2664e17 -
Branch / Tag:
refs/tags/v1.0.5 - Owner: https://github.com/splineops
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@b69f483cac2d720bbc51fa311625809df2664e17 -
Trigger Event:
push
-
Statement type:
File details
Details for the file splineops-1.0.5-cp312-cp312-macosx_11_0_arm64.whl.
File metadata
- Download URL: splineops-1.0.5-cp312-cp312-macosx_11_0_arm64.whl
- Upload date:
- Size: 174.3 kB
- Tags: CPython 3.12, macOS 11.0+ ARM64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
6d3ba702214e3d8a410080a2b95e694c30557a34bdfd8036fff560b41e646abe
|
|
| MD5 |
e6cb4515f898073dc8334874f51263d9
|
|
| BLAKE2b-256 |
4540c4eccd3f9b2b8c50fba95f6c722d23643a9702d0012a85c027049fd19f17
|
Provenance
The following attestation bundles were made for splineops-1.0.5-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.0.5-cp312-cp312-macosx_11_0_arm64.whl -
Subject digest:
6d3ba702214e3d8a410080a2b95e694c30557a34bdfd8036fff560b41e646abe - Sigstore transparency entry: 753079565
- Sigstore integration time:
-
Permalink:
splineops/splineops@b69f483cac2d720bbc51fa311625809df2664e17 -
Branch / Tag:
refs/tags/v1.0.5 - Owner: https://github.com/splineops
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@b69f483cac2d720bbc51fa311625809df2664e17 -
Trigger Event:
push
-
Statement type:
File details
Details for the file splineops-1.0.5-cp311-cp311-win_amd64.whl.
File metadata
- Download URL: splineops-1.0.5-cp311-cp311-win_amd64.whl
- Upload date:
- Size: 186.0 kB
- Tags: CPython 3.11, Windows x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
c7bd33971d018ccf05076fbaa8f11b0c858fc71fbcfd65686bfbc4577dc48ea0
|
|
| MD5 |
4304496c5c0c465ef5bab2ab6cdc2770
|
|
| BLAKE2b-256 |
0385aa3be186b1232ce5a2595ee7b973f5ddf598dc20ffdb916890371f4b07eb
|
Provenance
The following attestation bundles were made for splineops-1.0.5-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.0.5-cp311-cp311-win_amd64.whl -
Subject digest:
c7bd33971d018ccf05076fbaa8f11b0c858fc71fbcfd65686bfbc4577dc48ea0 - Sigstore transparency entry: 753079631
- Sigstore integration time:
-
Permalink:
splineops/splineops@b69f483cac2d720bbc51fa311625809df2664e17 -
Branch / Tag:
refs/tags/v1.0.5 - Owner: https://github.com/splineops
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@b69f483cac2d720bbc51fa311625809df2664e17 -
Trigger Event:
push
-
Statement type:
File details
Details for the file splineops-1.0.5-cp311-cp311-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl.
File metadata
- Download URL: splineops-1.0.5-cp311-cp311-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
- Upload date:
- Size: 195.7 kB
- Tags: CPython 3.11, manylinux: glibc 2.24+ x86-64, manylinux: glibc 2.28+ x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
d87baa7fd15efbb9da6a5b8eebb5bd7933f57c6409b9a326aff0234ce0f3444b
|
|
| MD5 |
8c133f01c30283fc1842fcd8669e6ea1
|
|
| BLAKE2b-256 |
aeac231f60ddce0df61832c2831b4dfa0d051dddcb78461b19e631b33018b19a
|
Provenance
The following attestation bundles were made for splineops-1.0.5-cp311-cp311-manylinux_2_24_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.0.5-cp311-cp311-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl -
Subject digest:
d87baa7fd15efbb9da6a5b8eebb5bd7933f57c6409b9a326aff0234ce0f3444b - Sigstore transparency entry: 753079747
- Sigstore integration time:
-
Permalink:
splineops/splineops@b69f483cac2d720bbc51fa311625809df2664e17 -
Branch / Tag:
refs/tags/v1.0.5 - Owner: https://github.com/splineops
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@b69f483cac2d720bbc51fa311625809df2664e17 -
Trigger Event:
push
-
Statement type:
File details
Details for the file splineops-1.0.5-cp311-cp311-macosx_11_0_arm64.whl.
File metadata
- Download URL: splineops-1.0.5-cp311-cp311-macosx_11_0_arm64.whl
- Upload date:
- Size: 174.1 kB
- Tags: CPython 3.11, macOS 11.0+ ARM64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
1f9124dccb9c46391dfa6a7d3c2918261395a97c5fffc0072068beaa26d0bb13
|
|
| MD5 |
eeff41c671b7803800f3b1dcbf15ee7b
|
|
| BLAKE2b-256 |
b3439981cc14ba7cedab9cd5f550829b00eabf27344785603d476c37be4de06c
|
Provenance
The following attestation bundles were made for splineops-1.0.5-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.0.5-cp311-cp311-macosx_11_0_arm64.whl -
Subject digest:
1f9124dccb9c46391dfa6a7d3c2918261395a97c5fffc0072068beaa26d0bb13 - Sigstore transparency entry: 753079816
- Sigstore integration time:
-
Permalink:
splineops/splineops@b69f483cac2d720bbc51fa311625809df2664e17 -
Branch / Tag:
refs/tags/v1.0.5 - Owner: https://github.com/splineops
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@b69f483cac2d720bbc51fa311625809df2664e17 -
Trigger Event:
push
-
Statement type: