Skip to main content

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

splineops-1.0.5.tar.gz (1.8 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.5-cp312-cp312-win_amd64.whl (187.2 kB view details)

Uploaded CPython 3.12Windows x86-64

splineops-1.0.5-cp312-cp312-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl (196.8 kB view details)

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

splineops-1.0.5-cp312-cp312-macosx_11_0_arm64.whl (174.3 kB view details)

Uploaded CPython 3.12macOS 11.0+ ARM64

splineops-1.0.5-cp311-cp311-win_amd64.whl (186.0 kB view details)

Uploaded CPython 3.11Windows x86-64

splineops-1.0.5-cp311-cp311-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl (195.7 kB view details)

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

splineops-1.0.5-cp311-cp311-macosx_11_0_arm64.whl (174.1 kB view details)

Uploaded CPython 3.11macOS 11.0+ ARM64

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

Hashes for splineops-1.0.5.tar.gz
Algorithm Hash digest
SHA256 6e6ce142bb693b5869788353fb82118e73aba389901b475a9c338e982bf04404
MD5 94cc69ba5f6570f37ccdb515bfa2112a
BLAKE2b-256 c75575f8438a11daeb9963dac6ea902bbcbce1b0fe50ffac714b72861a41dfa1

See more details on using hashes here.

Provenance

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

Hashes for splineops-1.0.5-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 5c02dabdbd09b4e31bdcc2b4b9d35a9f1f35e9514184e20a217d422aa29a0b99
MD5 924750362b4ec446102fbd555890e3bf
BLAKE2b-256 157581cb517d64f19218afc1d29f17c93d42e24e54f06aee707546744d68ae23

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for splineops-1.0.5-cp312-cp312-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 c5498cb248a9fd3d2c36072870730d2079ac391f48cca3f0fb26e6ee86c3e822
MD5 fa07d5cce00d93894a404398554a8acf
BLAKE2b-256 405137bdb05ad0a000b78c4924fb1545049746173e1c6597b57c81953c8b82e2

See more details on using hashes here.

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

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.5-cp312-cp312-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for splineops-1.0.5-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 6d3ba702214e3d8a410080a2b95e694c30557a34bdfd8036fff560b41e646abe
MD5 e6cb4515f898073dc8334874f51263d9
BLAKE2b-256 4540c4eccd3f9b2b8c50fba95f6c722d23643a9702d0012a85c027049fd19f17

See more details on using hashes here.

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

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.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

Hashes for splineops-1.0.5-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 c7bd33971d018ccf05076fbaa8f11b0c858fc71fbcfd65686bfbc4577dc48ea0
MD5 4304496c5c0c465ef5bab2ab6cdc2770
BLAKE2b-256 0385aa3be186b1232ce5a2595ee7b973f5ddf598dc20ffdb916890371f4b07eb

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for splineops-1.0.5-cp311-cp311-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 d87baa7fd15efbb9da6a5b8eebb5bd7933f57c6409b9a326aff0234ce0f3444b
MD5 8c133f01c30283fc1842fcd8669e6ea1
BLAKE2b-256 aeac231f60ddce0df61832c2831b4dfa0d051dddcb78461b19e631b33018b19a

See more details on using hashes here.

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

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.5-cp311-cp311-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for splineops-1.0.5-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 1f9124dccb9c46391dfa6a7d3c2918261395a97c5fffc0072068beaa26d0bb13
MD5 eeff41c671b7803800f3b1dcbf15ee7b
BLAKE2b-256 b3439981cc14ba7cedab9cd5f550829b00eabf27344785603d476c37be4de06c

See more details on using hashes here.

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

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