Skip to main content

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

Current resize behavior and numerical policy are documented in the resize API guide and resize user guide. Breaking changes and migration guidance are recorded in the changelog.

The dated PR preparation notes in scripts/resize_pr_readiness.md, scripts/resize_oblique_pr_brief.md, and scripts/resize_upstream_pr_description.md, together with the close-out scripts/resize_session_handoff.md, are historical records. They describe the implementation and benchmark evidence available at the time, not the current resize contract.

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

splineops-2.0.0.tar.gz (2.0 MB view details)

Uploaded Source

Built Distributions

If you're not sure about the file name format, learn more about wheel file names.

splineops-2.0.0-cp312-cp312-win_amd64.whl (564.5 kB view details)

Uploaded CPython 3.12Windows x86-64

splineops-2.0.0-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (489.4 kB view details)

Uploaded CPython 3.12manylinux: glibc 2.27+ x86-64manylinux: glibc 2.28+ x86-64

splineops-2.0.0-cp312-cp312-macosx_11_0_arm64.whl (368.5 kB view details)

Uploaded CPython 3.12macOS 11.0+ ARM64

splineops-2.0.0-cp312-cp312-macosx_10_13_x86_64.whl (428.1 kB view details)

Uploaded CPython 3.12macOS 10.13+ x86-64

splineops-2.0.0-cp311-cp311-win_amd64.whl (560.7 kB view details)

Uploaded CPython 3.11Windows x86-64

splineops-2.0.0-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (488.4 kB view details)

Uploaded CPython 3.11manylinux: glibc 2.27+ x86-64manylinux: glibc 2.28+ x86-64

splineops-2.0.0-cp311-cp311-macosx_11_0_arm64.whl (367.2 kB view details)

Uploaded CPython 3.11macOS 11.0+ ARM64

splineops-2.0.0-cp311-cp311-macosx_10_13_x86_64.whl (426.7 kB view details)

Uploaded CPython 3.11macOS 10.13+ x86-64

File details

Details for the file splineops-2.0.0.tar.gz.

File metadata

  • Download URL: splineops-2.0.0.tar.gz
  • Upload date:
  • Size: 2.0 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for splineops-2.0.0.tar.gz
Algorithm Hash digest
SHA256 71aa749ecea0accc3112f6c23628facad539f5f36203f85f1335562778a7f744
MD5 0b879efd3d25d7953eb7289ef97ad4c9
BLAKE2b-256 b26ea042bd87d1440b56162a0991503417e275d67f06a90db7c06ecbfb5863c3

See more details on using hashes here.

Provenance

The following attestation bundles were made for splineops-2.0.0.tar.gz:

Publisher: release.yml on splineops/splineops

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file splineops-2.0.0-cp312-cp312-win_amd64.whl.

File metadata

  • Download URL: splineops-2.0.0-cp312-cp312-win_amd64.whl
  • Upload date:
  • Size: 564.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

Hashes for splineops-2.0.0-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 c264ee969f319c804a1ba554dcee22f279b35a8dc860b552e9556465840b8827
MD5 50a11176719e2a9c5a4c84af44a45cc5
BLAKE2b-256 d1489d94b46cfdb4540193638a6e9a36bef891e3cbc9f65a958c29dd8c5c1af8

See more details on using hashes here.

Provenance

The following attestation bundles were made for splineops-2.0.0-cp312-cp312-win_amd64.whl:

Publisher: release.yml on splineops/splineops

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file splineops-2.0.0-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for splineops-2.0.0-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 e377fe2bc05e38213dca05747248d493cb1a7ce47051d77accb31a0fbb596cb5
MD5 a3d91c9cb646f0e10ef767ddd73c67ec
BLAKE2b-256 7999474d65e6eaeb345b3bf2f10baeca64562c86e14cf83f26cb7462696ef0d0

See more details on using hashes here.

Provenance

The following attestation bundles were made for splineops-2.0.0-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl:

Publisher: release.yml on splineops/splineops

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file splineops-2.0.0-cp312-cp312-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for splineops-2.0.0-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 353ef25767e6f98345d49b1c966c563d1fe4e2deba8cef97417e37291823e04e
MD5 5060614991402728b8aec3a4b23acb32
BLAKE2b-256 d8bac9c220c528bc62cd4f6ffa64963368e401d088f9e306957f78214fde4e85

See more details on using hashes here.

Provenance

The following attestation bundles were made for splineops-2.0.0-cp312-cp312-macosx_11_0_arm64.whl:

Publisher: release.yml on splineops/splineops

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file splineops-2.0.0-cp312-cp312-macosx_10_13_x86_64.whl.

File metadata

File hashes

Hashes for splineops-2.0.0-cp312-cp312-macosx_10_13_x86_64.whl
Algorithm Hash digest
SHA256 0f86b2d1fc2dc9a07f77f7ab61b84216b7c0fcdb45b726ba3a9f58b18d0ed450
MD5 ab4cc7c7e07f2a8b0e8e73f97edf1186
BLAKE2b-256 d54f720e213c76494e08342c7584ac45df8cfcad727045b883c4c1450675b267

See more details on using hashes here.

Provenance

The following attestation bundles were made for splineops-2.0.0-cp312-cp312-macosx_10_13_x86_64.whl:

Publisher: release.yml on splineops/splineops

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file splineops-2.0.0-cp311-cp311-win_amd64.whl.

File metadata

  • Download URL: splineops-2.0.0-cp311-cp311-win_amd64.whl
  • Upload date:
  • Size: 560.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

Hashes for splineops-2.0.0-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 2ca876fb9f6c339d703a6fd77a850d835609d593c10f0c28a46eef24edc71697
MD5 a6243cc6dc82e03de3b39e89a7f6cbd6
BLAKE2b-256 0d409af167da2d270031c6fd656dbacab78a5deaaf80352c45975ca96cd60b80

See more details on using hashes here.

Provenance

The following attestation bundles were made for splineops-2.0.0-cp311-cp311-win_amd64.whl:

Publisher: release.yml on splineops/splineops

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file splineops-2.0.0-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for splineops-2.0.0-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 216756b3947c4c337d559f3c033ab3555830d3b989a6b82c43a1eaee5dfcaf8b
MD5 08569f03272770aae52bbc3a0ac8abc2
BLAKE2b-256 b955cc5fb37e498ae6139a9d993db5a91b71acc856cfa34d12e5328255e53ce4

See more details on using hashes here.

Provenance

The following attestation bundles were made for splineops-2.0.0-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl:

Publisher: release.yml on splineops/splineops

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file splineops-2.0.0-cp311-cp311-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for splineops-2.0.0-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 f008123259a66341520452b69a7592b2f3e401a9dc065e2286659597e8613c83
MD5 5c01bda8428aeb3b0088cb5d4c687b6b
BLAKE2b-256 96945c47a2316852550302d723c99cea1c7673a63411fb43d482dcee81439607

See more details on using hashes here.

Provenance

The following attestation bundles were made for splineops-2.0.0-cp311-cp311-macosx_11_0_arm64.whl:

Publisher: release.yml on splineops/splineops

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file splineops-2.0.0-cp311-cp311-macosx_10_13_x86_64.whl.

File metadata

File hashes

Hashes for splineops-2.0.0-cp311-cp311-macosx_10_13_x86_64.whl
Algorithm Hash digest
SHA256 9a48e0b1753a6ddfca58b27bb5fbce3e6a5d2851ecf2c1a50b3bb3ed9ed666fc
MD5 e7e682d87b94bd3226b28a8dce53c1d1
BLAKE2b-256 0969ae14c9ebe6a6b5434b2e22eba12383bfb8d8adc870b13af9223e655f96c0

See more details on using hashes here.

Provenance

The following attestation bundles were made for splineops-2.0.0-cp311-cp311-macosx_10_13_x86_64.whl:

Publisher: release.yml on splineops/splineops

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page