Manipulation and analysis of geometric objects on the sphere
Project description
Python library for manipulation and analysis of geometric objects on the sphere.
Spherely is the counterpart of Shapely (2.0+) for manipulation and analysis of spherical geometric objects. It is using the widely deployed open-source geometry library s2geometry via the library s2geography which provides a GEOS compatibility layer on top of s2geometry.
This library is at an early stage of development.
Requirements
- Python
- Numpy
- s2geography
- s2geometry
Additional requirements when building spherely from source:
- C++ compiler supporting C++17 standard
- CMake
- scikit-build-core
(Note: C++11 or C++14 should work too but we have no plan to maintain compatibility with those older standards)
Installation
There is no pre-compiled package available at the moment. See the section below for instructions on how to setup a development environment and build / install spherely from source.
Setting up a development environment using conda
After cloning this repo, create a conda environment using the ci/environment.yml
file with the required dependencies:
$ conda env create -f spherely/ci/environment.yml
$ conda activate spherely-dev
Build and install s2spherely
:
$ cd spherely
$ python -m pip install . -v --no-build-isolation
Note that you can specify a build directory in order to avoid rebuilding the whole library from scratch each time after editing the code (requires scikit-build-core v0.2.0+):
$ python -m pip install . -v --no-build-isolation --config-settings build-dir=build/skbuild
Run the tests:
$ pytest . -v
Spherely also uses pre-commit for code auto-formatting and linting at every commit. After installing it, you can enable pre-commit hooks with the following command:
$ pre-commit install
(Note: you can skip the pre-commit checks with git commit --no-verify
)
Using the latest s2geography version
If you want to compile spherely against the latest version of s2geography, use:
$ git clone https://github.com/paleolimbot/s2geography
$ cmake -S s2geography -B s2geography/build -DCMAKE_CXX_STANDARD=17 -DCMAKE_INSTALL_PREFIX=$CONDA_PREFIX
$ cmake --build s2geography/build
$ cmake --install s2geography/build
Project details
Release history Release notifications | RSS feed
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
File details
Details for the file spherely-0.0.1.tar.gz
.
File metadata
- Download URL: spherely-0.0.1.tar.gz
- Upload date:
- Size: 230.8 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/5.1.0 CPython/3.12.5
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | a7804321d93b1deec4ccc0be6e1312d590c2946eb1bbcc1a93cff62ca02644fc |
|
MD5 | 537ee9228fafc43d7228a0034d6defc1 |
|
BLAKE2b-256 | 01307e7e51f57f6a069b33ec4d31e9d27a5f80665d859a61461a6f82ee9364ad |
File details
Details for the file spherely-0.0.1-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
.
File metadata
- Download URL: spherely-0.0.1-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
- Upload date:
- Size: 3.7 MB
- Tags: CPython 3.13, manylinux: glibc 2.17+ x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/5.1.0 CPython/3.12.5
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | a60eb24aa40bdf9b3fc491f417adf35aeae4b7a0d763623faa7fa2d16f351f34 |
|
MD5 | cbe7ab4e084d20ab296666af719173f4 |
|
BLAKE2b-256 | a90924b9f4f9f208e67024cea0bc031ede4fcf03d68655a72f318a5e2ca3b7f7 |
File details
Details for the file spherely-0.0.1-cp313-cp313-macosx_14_0_arm64.whl
.
File metadata
- Download URL: spherely-0.0.1-cp313-cp313-macosx_14_0_arm64.whl
- Upload date:
- Size: 3.6 MB
- Tags: CPython 3.13, macOS 14.0+ ARM64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/5.1.0 CPython/3.12.5
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 4eb7dab77fe26d3c32376ece49edd187325f4897e0e17a7e5529303b4aae4a11 |
|
MD5 | 0ff3d78d19e4ced4d023375d5e21da60 |
|
BLAKE2b-256 | 7331291fb02b5250ca40b4ac5f8a1cff44e7d7b34e965e7feac125b53a378603 |
File details
Details for the file spherely-0.0.1-cp313-cp313-macosx_13_0_x86_64.whl
.
File metadata
- Download URL: spherely-0.0.1-cp313-cp313-macosx_13_0_x86_64.whl
- Upload date:
- Size: 3.5 MB
- Tags: CPython 3.13, macOS 13.0+ x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/5.1.0 CPython/3.12.5
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 0c464855551440a7b108f42952810dd84ed71049b6f541b242adc185bc77d394 |
|
MD5 | aa476f6b2e08f6b6e76776c7464e600b |
|
BLAKE2b-256 | c08b8967ed4f75b5580835d6f8cd6db756bda2af220537313da30d55b44e309e |
File details
Details for the file spherely-0.0.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
.
File metadata
- Download URL: spherely-0.0.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
- Upload date:
- Size: 3.7 MB
- Tags: CPython 3.12, manylinux: glibc 2.17+ x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/5.1.0 CPython/3.12.5
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | d830d8c152fd2869b2dc406d790c2506936489873785507c6191b7eb344825cc |
|
MD5 | c111fabdd547283d58199d1a69223a49 |
|
BLAKE2b-256 | 3c3a800940f3cdb9de8184b9e4d17ad91d03b9f3e1d077e23d4db79144051051 |
File details
Details for the file spherely-0.0.1-cp312-cp312-macosx_14_0_arm64.whl
.
File metadata
- Download URL: spherely-0.0.1-cp312-cp312-macosx_14_0_arm64.whl
- Upload date:
- Size: 3.6 MB
- Tags: CPython 3.12, macOS 14.0+ ARM64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/5.1.0 CPython/3.12.5
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 795dc9983b17395b1841cfc071bb2ef27e4209fc29a30272ccc9817954307aeb |
|
MD5 | d05401cdbb8b30c839bd9a7d82ffa6be |
|
BLAKE2b-256 | 460284f27f5d900f7db25bcf61b8563df03dfa593f47c542b231ad89313755fc |
File details
Details for the file spherely-0.0.1-cp312-cp312-macosx_13_0_x86_64.whl
.
File metadata
- Download URL: spherely-0.0.1-cp312-cp312-macosx_13_0_x86_64.whl
- Upload date:
- Size: 3.5 MB
- Tags: CPython 3.12, macOS 13.0+ x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/5.1.0 CPython/3.12.5
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | e859e1c54d60032b5c49ed44254009828f7c8bd9622eead7a19d7ecd5dcce4f2 |
|
MD5 | 3d107cbf96802491ebc353ae20a6b14b |
|
BLAKE2b-256 | 5701e21faf53118ca1b25c32c0aa2cc724106d843bec5e3acff3a5ba08663e12 |
File details
Details for the file spherely-0.0.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
.
File metadata
- Download URL: spherely-0.0.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
- Upload date:
- Size: 3.7 MB
- Tags: CPython 3.11, manylinux: glibc 2.17+ x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/5.1.0 CPython/3.12.5
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 89df5824a9c9da234715de86c03b5e152d9da90f2a682200bf6af9b736edbe53 |
|
MD5 | 83cd1b716cb8d25de79a913767653e5b |
|
BLAKE2b-256 | 788b72fcd3196e784c8342da260207af5469931785c806a9f889c45a6835b9a1 |
File details
Details for the file spherely-0.0.1-cp311-cp311-macosx_14_0_arm64.whl
.
File metadata
- Download URL: spherely-0.0.1-cp311-cp311-macosx_14_0_arm64.whl
- Upload date:
- Size: 3.6 MB
- Tags: CPython 3.11, macOS 14.0+ ARM64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/5.1.0 CPython/3.12.5
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 4789a306b83dbe25eb880dbdc326eede31ac4bba2b874f1cbed43c9f1d2225d9 |
|
MD5 | 2b35be3553bdb683ad339f82a682af54 |
|
BLAKE2b-256 | 6c98aaa4504bde414d41184cb2e338c7ccdaf73f43959156a3e45a46e44dcfe6 |
File details
Details for the file spherely-0.0.1-cp311-cp311-macosx_13_0_x86_64.whl
.
File metadata
- Download URL: spherely-0.0.1-cp311-cp311-macosx_13_0_x86_64.whl
- Upload date:
- Size: 3.5 MB
- Tags: CPython 3.11, macOS 13.0+ x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/5.1.0 CPython/3.12.5
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 06f55a0808716f71eb51afe4111bfd7cc5bab0555308a8897d00e223bcec6227 |
|
MD5 | 7bd8c2665ec8f8ea1d8d3bcf0a51c9da |
|
BLAKE2b-256 | a741465532b434180682f2e2824956faff448b6ed478e1d5ff13318e11d7db5a |
File details
Details for the file spherely-0.0.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
.
File metadata
- Download URL: spherely-0.0.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
- Upload date:
- Size: 3.7 MB
- Tags: CPython 3.10, manylinux: glibc 2.17+ x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/5.1.0 CPython/3.12.5
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | d08cebb093685c47fd6c3947cc495fd2e67f73eedb37fd8f0811aa3071d6b5ab |
|
MD5 | 49108318a72447357e22ca5298aedbb2 |
|
BLAKE2b-256 | 48f20a2272997133e3796454c7f5c91f6e96df224e664b27777745a1695f4ae4 |
File details
Details for the file spherely-0.0.1-cp310-cp310-macosx_14_0_arm64.whl
.
File metadata
- Download URL: spherely-0.0.1-cp310-cp310-macosx_14_0_arm64.whl
- Upload date:
- Size: 3.6 MB
- Tags: CPython 3.10, macOS 14.0+ ARM64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/5.1.0 CPython/3.12.5
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | e1432d6ea3ec4046799dd2138e19e614dd0de9b90ff9f4db5837e37c743cefdb |
|
MD5 | 7711981157d9a092204aa7f339a6d788 |
|
BLAKE2b-256 | 3a95118fc98eb8b1a52948bd1c2f59d140c683c4ae60e850587e4676350eccb6 |
File details
Details for the file spherely-0.0.1-cp310-cp310-macosx_13_0_x86_64.whl
.
File metadata
- Download URL: spherely-0.0.1-cp310-cp310-macosx_13_0_x86_64.whl
- Upload date:
- Size: 3.5 MB
- Tags: CPython 3.10, macOS 13.0+ x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/5.1.0 CPython/3.12.5
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 60968ff03fa61c22cdd00dd3b71cbe49f2c5c98261412162437f22e71c2adc01 |
|
MD5 | 6c13ba3d33e213377d16b80224788206 |
|
BLAKE2b-256 | c8210b51bf27ffd3a4ef9456251743703d60b384c216f2e34f21b09975c14d2b |