Skip to main content

Spline signal processing in N-D with support for GPU computing.

Project description

SplineOps: Spline Operations

See https://splineops.github.io/ for the documentation.

splineops is a Python-based N-dimensional signal-processing library with support for GPU computing.

Installation

You need at least Python 3.10 to install splineops (ideally Python 3.12). Python 3.11 is also compatible.

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 requests

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 py310
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, notebooks_jupyterlite, 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

splineops-0.5.5.tar.gz (4.2 MB view details)

Uploaded Source

Built Distributions

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

splineops-0.5.5-cp312-cp312-win_amd64.whl (170.1 kB view details)

Uploaded CPython 3.12Windows x86-64

splineops-0.5.5-cp312-cp312-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl (284.1 kB view details)

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

splineops-0.5.5-cp312-cp312-macosx_11_0_arm64.whl (156.7 kB view details)

Uploaded CPython 3.12macOS 11.0+ ARM64

splineops-0.5.5-cp311-cp311-win_amd64.whl (168.9 kB view details)

Uploaded CPython 3.11Windows x86-64

splineops-0.5.5-cp311-cp311-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl (283.7 kB view details)

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

splineops-0.5.5-cp311-cp311-macosx_11_0_arm64.whl (156.5 kB view details)

Uploaded CPython 3.11macOS 11.0+ ARM64

splineops-0.5.5-cp310-cp310-win_amd64.whl (168.5 kB view details)

Uploaded CPython 3.10Windows x86-64

splineops-0.5.5-cp310-cp310-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl (282.5 kB view details)

Uploaded CPython 3.10manylinux: glibc 2.24+ x86-64manylinux: glibc 2.28+ x86-64

splineops-0.5.5-cp310-cp310-macosx_11_0_arm64.whl (155.3 kB view details)

Uploaded CPython 3.10macOS 11.0+ ARM64

File details

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

File metadata

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

File hashes

Hashes for splineops-0.5.5.tar.gz
Algorithm Hash digest
SHA256 948ff29f1a9935c71ae4a483e88443506f31d1c486c7fee53b3a3bba2e56faac
MD5 b2d3a9fd84488d45a5532c6eba31f818
BLAKE2b-256 f4d837ec30cc2ab701047c5d01a8a519d3ea4fbe55dcc5027dd1657cfbde769c

See more details on using hashes here.

Provenance

The following attestation bundles were made for splineops-0.5.5.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-0.5.5-cp312-cp312-win_amd64.whl.

File metadata

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

Hashes for splineops-0.5.5-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 647a8696722ce19719bd4595b2f4b990f5c5b3ccd8b37f8fcbf306ba326392e7
MD5 22cc51ff70ede459a57c03590582c890
BLAKE2b-256 7a8b716ffd7e57b4f9ad8dd4717f31f9e0c855cba2b1db623e25d06cbb27d2bb

See more details on using hashes here.

Provenance

The following attestation bundles were made for splineops-0.5.5-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-0.5.5-cp312-cp312-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for splineops-0.5.5-cp312-cp312-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 addafb62310e7df594a36c129de5d1b8872ae3fd2bac9d99f81eed1d77d20e35
MD5 a63bbf22f363260eff126e66b545c305
BLAKE2b-256 118a1636d9fdbf1e3fc85d27353ec17ae3b63c1aec768f7508d23fc6daf55d56

See more details on using hashes here.

Provenance

The following attestation bundles were made for splineops-0.5.5-cp312-cp312-manylinux_2_24_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-0.5.5-cp312-cp312-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for splineops-0.5.5-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 3c66c7907d0b5147e65f7e04b351f6b9621a3f02642b2c197d975006220322a6
MD5 9b0542ca31a87e1f8b1f2ae237443433
BLAKE2b-256 50df5672c6b2c77ddc5004576a3147d60eb9f0152f2f03e66c9fb02fcbc42fdf

See more details on using hashes here.

Provenance

The following attestation bundles were made for splineops-0.5.5-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-0.5.5-cp311-cp311-win_amd64.whl.

File metadata

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

Hashes for splineops-0.5.5-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 7c1a6194f79425d15471a94a5e7799fab9bbd3087024990e75daa8f68e12e8d4
MD5 7c2a83f19de9a66e0fc0a33fd328d4b4
BLAKE2b-256 d6bae44b13bb02fd2fc4e2406eb04fff48ad51cbc6692749fdcaf0ca7e41cc6c

See more details on using hashes here.

Provenance

The following attestation bundles were made for splineops-0.5.5-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-0.5.5-cp311-cp311-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for splineops-0.5.5-cp311-cp311-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 4cc34bb84d6675bbc993c849fbef23359fe576eab60740f3f036b9cdf0feffbd
MD5 d9981c979fd355bf48c5f9084e0a93fa
BLAKE2b-256 f901b878435c15bed25234622d0bdbac6f39a4d3106079c6296df2c824678920

See more details on using hashes here.

Provenance

The following attestation bundles were made for splineops-0.5.5-cp311-cp311-manylinux_2_24_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-0.5.5-cp311-cp311-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for splineops-0.5.5-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 564beeba125620ad711fcd7d0d61466b2a7dfa70477548bd13111fd7b57266fb
MD5 86ef30404f0c09c44d6055dbf1fd8aef
BLAKE2b-256 1b19514a3eebf06f6deb0e3b6b865d86c83a1932b7d0ec744f8f9fd387da68b1

See more details on using hashes here.

Provenance

The following attestation bundles were made for splineops-0.5.5-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-0.5.5-cp310-cp310-win_amd64.whl.

File metadata

  • Download URL: splineops-0.5.5-cp310-cp310-win_amd64.whl
  • Upload date:
  • Size: 168.5 kB
  • Tags: CPython 3.10, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for splineops-0.5.5-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 960fc5558234109f691052ff22a8c28081e4b0c8a875d32c70ecdea1f82cce07
MD5 3ce88807f2ee291597755ff050f557a2
BLAKE2b-256 fc379c2f4b5c5f6c7498dc5c41791d89f393a312414b9bcf700bcd2ada90a81a

See more details on using hashes here.

Provenance

The following attestation bundles were made for splineops-0.5.5-cp310-cp310-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-0.5.5-cp310-cp310-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for splineops-0.5.5-cp310-cp310-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 7abccc0c4cb78d190a230a87d41e00ad00928f056fc693642576497c284154ea
MD5 7609b4d36b5694c004d4eda8c4847668
BLAKE2b-256 3b40c1797976df1ac70540ec8a7d0459897587e75ea3736d034c5f9021b71ac9

See more details on using hashes here.

Provenance

The following attestation bundles were made for splineops-0.5.5-cp310-cp310-manylinux_2_24_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-0.5.5-cp310-cp310-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for splineops-0.5.5-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 904a27356584ca985be6063e756d280f92560670c8f986abab5c165496bed531
MD5 25ed2e0ba02d9fbe81492c920bfa950b
BLAKE2b-256 032203155fb62779718ad0ce273cfa57ba9438ea2c15c51d33db165a4d4adec9

See more details on using hashes here.

Provenance

The following attestation bundles were made for splineops-0.5.5-cp310-cp310-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.

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