Skip to main content

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

Project description

SplineOps: Spline Operations

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

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, 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-1.0.0.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-1.0.0-cp312-cp312-win_amd64.whl (183.0 kB view details)

Uploaded CPython 3.12Windows x86-64

splineops-1.0.0-cp312-cp312-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl (299.0 kB view details)

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

splineops-1.0.0-cp312-cp312-macosx_11_0_arm64.whl (168.0 kB view details)

Uploaded CPython 3.12macOS 11.0+ ARM64

splineops-1.0.0-cp311-cp311-win_amd64.whl (181.8 kB view details)

Uploaded CPython 3.11Windows x86-64

splineops-1.0.0-cp311-cp311-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl (298.7 kB view details)

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

splineops-1.0.0-cp311-cp311-macosx_11_0_arm64.whl (167.9 kB view details)

Uploaded CPython 3.11macOS 11.0+ ARM64

splineops-1.0.0-cp310-cp310-win_amd64.whl (181.3 kB view details)

Uploaded CPython 3.10Windows x86-64

splineops-1.0.0-cp310-cp310-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl (297.5 kB view details)

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

splineops-1.0.0-cp310-cp310-macosx_11_0_arm64.whl (166.5 kB view details)

Uploaded CPython 3.10macOS 11.0+ ARM64

File details

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

File metadata

  • Download URL: splineops-1.0.0.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-1.0.0.tar.gz
Algorithm Hash digest
SHA256 48ebf5db065dc52547b7f9aa6b93066f9c5b6882a8c9280825a75b63f5c24547
MD5 ac26359b790322bcc1795d0138acb46d
BLAKE2b-256 690b1fe7bbb210c61a95bee02b5833024ee0c044700ff95e4fd367a8d2dfd86c

See more details on using hashes here.

Provenance

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

File metadata

  • Download URL: splineops-1.0.0-cp312-cp312-win_amd64.whl
  • Upload date:
  • Size: 183.0 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-1.0.0-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 0158d4edeeeeba1a68dcd813ff5f1daabe68821823501c3b0c80304c7cc73534
MD5 8ccfda418ffd78d995353be8536a529d
BLAKE2b-256 737ede4a21ada01cfcd20bcdda40a19f786c7b8b1af02398aa263dc4be0b0269

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for splineops-1.0.0-cp312-cp312-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 8076f11c0eb1f2bbc9705bf2f94e62012c982e7800e2fad649dc6fadca35b866
MD5 4966af492c89b398482fa16d7cfbcda2
BLAKE2b-256 f2d1a7a5c4152b6fe3b1fd8b913379d0f2f399ac457b6432330495f267c6a2ec

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for splineops-1.0.0-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 6dcb34b20d138ad69276e43196e96fa28d5ce9c18703f384261e6d1129453a61
MD5 ac928556c0b0c88fb9d7a8689d82adfc
BLAKE2b-256 254ea8bebad764e61205701b5379a8e9052ab2cc88d6bf8eb7b215131c260ad4

See more details on using hashes here.

Provenance

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

File metadata

  • Download URL: splineops-1.0.0-cp311-cp311-win_amd64.whl
  • Upload date:
  • Size: 181.8 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-1.0.0-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 7e3e34c8baaa40ef1d8dac532360c3ef9f7c82e70e1bc5812856bdcaab262555
MD5 ef77be2c8b8641137e351dacc1d588c9
BLAKE2b-256 e658fbdc7fba2cbbf4564261a8b3d58c54926de8dea3daf041f3779bff44f77d

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for splineops-1.0.0-cp311-cp311-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 fedbe913c32e03c254680f494ef685c16a5739046ed8c7f8cc77db55307c49e7
MD5 c9393db51b127f9df564bc2c8be31f9d
BLAKE2b-256 90f74703420c5591f6f1041ffea6eced842e1b5109099083fa398148beeb9777

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for splineops-1.0.0-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 a1a0a6e50acaf46819d747de40d8930d9f01870c975cadc70b74f2305e8f96dc
MD5 d2e8cf479ec9333e7a50da7163097538
BLAKE2b-256 549084063f825e1638d79220ae9b50fa69b5e27b1ad5b17edc8658c88b492499

See more details on using hashes here.

Provenance

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

File metadata

  • Download URL: splineops-1.0.0-cp310-cp310-win_amd64.whl
  • Upload date:
  • Size: 181.3 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-1.0.0-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 1710ab373be3c4e85b2421080e64a8a92e76fe360bcbc9877e5bcd36c8be2443
MD5 4b3f9e610b0843f91340a62320c1d732
BLAKE2b-256 7a96f146c7d0ee2ec0b304ca78372b93bf3837b2bc7617f6b2efd0c9f959049d

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for splineops-1.0.0-cp310-cp310-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 34c582169d01feff38bbc9e1977ad6a5df626fa72af2c3811ff9c76fc7c20126
MD5 59fdf7ee5f2bf4a821f51094ea6c8e19
BLAKE2b-256 26c8c92e38425fff912967c1ccd0732974bf8569ff26e5901bed15a1e5c80558

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for splineops-1.0.0-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 b97fdabe022467243ee4bbe35ee5f320e529e03a522fa12ea239b8df4676585d
MD5 cd1bfe4bc9298f4cdeb30eef6c18d226
BLAKE2b-256 69dd65984a613a55eae62889630b1433ff7758be3ea003ea56ae8542daf94de7

See more details on using hashes here.

Provenance

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