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
Hashes for spherely-0.0.1-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | a60eb24aa40bdf9b3fc491f417adf35aeae4b7a0d763623faa7fa2d16f351f34 |
|
MD5 | cbe7ab4e084d20ab296666af719173f4 |
|
BLAKE2b-256 | a90924b9f4f9f208e67024cea0bc031ede4fcf03d68655a72f318a5e2ca3b7f7 |
Hashes for spherely-0.0.1-cp313-cp313-macosx_14_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 4eb7dab77fe26d3c32376ece49edd187325f4897e0e17a7e5529303b4aae4a11 |
|
MD5 | 0ff3d78d19e4ced4d023375d5e21da60 |
|
BLAKE2b-256 | 7331291fb02b5250ca40b4ac5f8a1cff44e7d7b34e965e7feac125b53a378603 |
Hashes for spherely-0.0.1-cp313-cp313-macosx_13_0_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 0c464855551440a7b108f42952810dd84ed71049b6f541b242adc185bc77d394 |
|
MD5 | aa476f6b2e08f6b6e76776c7464e600b |
|
BLAKE2b-256 | c08b8967ed4f75b5580835d6f8cd6db756bda2af220537313da30d55b44e309e |
Hashes for spherely-0.0.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | d830d8c152fd2869b2dc406d790c2506936489873785507c6191b7eb344825cc |
|
MD5 | c111fabdd547283d58199d1a69223a49 |
|
BLAKE2b-256 | 3c3a800940f3cdb9de8184b9e4d17ad91d03b9f3e1d077e23d4db79144051051 |
Hashes for spherely-0.0.1-cp312-cp312-macosx_14_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 795dc9983b17395b1841cfc071bb2ef27e4209fc29a30272ccc9817954307aeb |
|
MD5 | d05401cdbb8b30c839bd9a7d82ffa6be |
|
BLAKE2b-256 | 460284f27f5d900f7db25bcf61b8563df03dfa593f47c542b231ad89313755fc |
Hashes for spherely-0.0.1-cp312-cp312-macosx_13_0_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | e859e1c54d60032b5c49ed44254009828f7c8bd9622eead7a19d7ecd5dcce4f2 |
|
MD5 | 3d107cbf96802491ebc353ae20a6b14b |
|
BLAKE2b-256 | 5701e21faf53118ca1b25c32c0aa2cc724106d843bec5e3acff3a5ba08663e12 |
Hashes for spherely-0.0.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 89df5824a9c9da234715de86c03b5e152d9da90f2a682200bf6af9b736edbe53 |
|
MD5 | 83cd1b716cb8d25de79a913767653e5b |
|
BLAKE2b-256 | 788b72fcd3196e784c8342da260207af5469931785c806a9f889c45a6835b9a1 |
Hashes for spherely-0.0.1-cp311-cp311-macosx_14_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 4789a306b83dbe25eb880dbdc326eede31ac4bba2b874f1cbed43c9f1d2225d9 |
|
MD5 | 2b35be3553bdb683ad339f82a682af54 |
|
BLAKE2b-256 | 6c98aaa4504bde414d41184cb2e338c7ccdaf73f43959156a3e45a46e44dcfe6 |
Hashes for spherely-0.0.1-cp311-cp311-macosx_13_0_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 06f55a0808716f71eb51afe4111bfd7cc5bab0555308a8897d00e223bcec6227 |
|
MD5 | 7bd8c2665ec8f8ea1d8d3bcf0a51c9da |
|
BLAKE2b-256 | a741465532b434180682f2e2824956faff448b6ed478e1d5ff13318e11d7db5a |
Hashes for spherely-0.0.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | d08cebb093685c47fd6c3947cc495fd2e67f73eedb37fd8f0811aa3071d6b5ab |
|
MD5 | 49108318a72447357e22ca5298aedbb2 |
|
BLAKE2b-256 | 48f20a2272997133e3796454c7f5c91f6e96df224e664b27777745a1695f4ae4 |
Hashes for spherely-0.0.1-cp310-cp310-macosx_14_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | e1432d6ea3ec4046799dd2138e19e614dd0de9b90ff9f4db5837e37c743cefdb |
|
MD5 | 7711981157d9a092204aa7f339a6d788 |
|
BLAKE2b-256 | 3a95118fc98eb8b1a52948bd1c2f59d140c683c4ae60e850587e4676350eccb6 |
Hashes for spherely-0.0.1-cp310-cp310-macosx_13_0_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 60968ff03fa61c22cdd00dd3b71cbe49f2c5c98261412162437f22e71c2adc01 |
|
MD5 | 6c13ba3d33e213377d16b80224788206 |
|
BLAKE2b-256 | c8210b51bf27ffd3a4ef9456251743703d60b384c216f2e34f21b09975c14d2b |