Skip to main content

A robust geometry processing engine

Project description

About Project Lagrange

Project Lagrange is an initiative to bring the power of robust geometry processing to Adobe products. It bridges cutting edge research works with cutting edge products. Project Lagrange is built on the following design principles:

Modular design

Large features should be decomposed into smaller single functionality modules that are as decoupled as possible from each other. Modular design enables unit testing, prevents small change from propagating widely in the code base, and makes adding new functionalities easy.

Preconditions + guarantees

Algorithmic correctness should be rigorously enforced. This is achieved by clearly documenting and checking the precise precondition and the corresponding guarantees of each module. Algorithms relying on input-dependent parameter tuning should be avoided.

Interface + compute engine

The interface of a functionality should be decoupled from the computation algorithms. This makes swapping out an algorithm with a better algorithm possible and ideally should not require change in client codes.

Large scale testing

Large scale, empirical testing on major functionalities should be carried out periodically to ensure their correctness and robustness. Let data speak for itself.

Contributing

Contributions are welcomed! Read the Contributing Guide for more information.

Licensing

This project is licensed under the Apache 2.0 License. See LICENSE for more information.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distributions

lagrange_open-6.28.0-cp313-cp313-win_amd64.whl (4.1 MB view details)

Uploaded CPython 3.13 Windows x86-64

lagrange_open-6.28.0-cp313-cp313-manylinux_2_28_x86_64.manylinux_2_27_x86_64.whl (8.6 MB view details)

Uploaded CPython 3.13 manylinux: glibc 2.27+ x86-64 manylinux: glibc 2.28+ x86-64

lagrange_open-6.28.0-cp313-cp313-macosx_11_0_x86_64.whl (8.2 MB view details)

Uploaded CPython 3.13 macOS 11.0+ x86-64

lagrange_open-6.28.0-cp313-cp313-macosx_11_0_arm64.whl (6.5 MB view details)

Uploaded CPython 3.13 macOS 11.0+ ARM64

lagrange_open-6.28.0-cp312-cp312-win_amd64.whl (4.1 MB view details)

Uploaded CPython 3.12 Windows x86-64

lagrange_open-6.28.0-cp312-cp312-manylinux_2_28_x86_64.manylinux_2_27_x86_64.whl (8.6 MB view details)

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

lagrange_open-6.28.0-cp312-cp312-macosx_11_0_x86_64.whl (8.2 MB view details)

Uploaded CPython 3.12 macOS 11.0+ x86-64

lagrange_open-6.28.0-cp312-cp312-macosx_11_0_arm64.whl (6.5 MB view details)

Uploaded CPython 3.12 macOS 11.0+ ARM64

lagrange_open-6.28.0-cp311-cp311-win_amd64.whl (4.1 MB view details)

Uploaded CPython 3.11 Windows x86-64

lagrange_open-6.28.0-cp311-cp311-manylinux_2_28_x86_64.manylinux_2_27_x86_64.whl (8.6 MB view details)

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

lagrange_open-6.28.0-cp311-cp311-macosx_11_0_x86_64.whl (8.2 MB view details)

Uploaded CPython 3.11 macOS 11.0+ x86-64

lagrange_open-6.28.0-cp311-cp311-macosx_11_0_arm64.whl (6.5 MB view details)

Uploaded CPython 3.11 macOS 11.0+ ARM64

lagrange_open-6.28.0-cp310-cp310-win_amd64.whl (4.1 MB view details)

Uploaded CPython 3.10 Windows x86-64

lagrange_open-6.28.0-cp310-cp310-manylinux_2_28_x86_64.manylinux_2_27_x86_64.whl (8.6 MB view details)

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

lagrange_open-6.28.0-cp310-cp310-macosx_11_0_x86_64.whl (8.2 MB view details)

Uploaded CPython 3.10 macOS 11.0+ x86-64

lagrange_open-6.28.0-cp310-cp310-macosx_11_0_arm64.whl (6.5 MB view details)

Uploaded CPython 3.10 macOS 11.0+ ARM64

lagrange_open-6.28.0-cp39-cp39-win_amd64.whl (4.1 MB view details)

Uploaded CPython 3.9 Windows x86-64

lagrange_open-6.28.0-cp39-cp39-manylinux_2_28_x86_64.manylinux_2_27_x86_64.whl (8.6 MB view details)

Uploaded CPython 3.9 manylinux: glibc 2.27+ x86-64 manylinux: glibc 2.28+ x86-64

lagrange_open-6.28.0-cp39-cp39-macosx_11_0_x86_64.whl (8.2 MB view details)

Uploaded CPython 3.9 macOS 11.0+ x86-64

lagrange_open-6.28.0-cp39-cp39-macosx_11_0_arm64.whl (6.5 MB view details)

Uploaded CPython 3.9 macOS 11.0+ ARM64

File details

Details for the file lagrange_open-6.28.0-cp313-cp313-win_amd64.whl.

File metadata

File hashes

Hashes for lagrange_open-6.28.0-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 763f8bf1d8ac4f41267564537ab77921e12ff057dd9605907e77b05ed72b7f4f
MD5 f4c282f693bd36627060e90a6c205c7c
BLAKE2b-256 8527504b27a461b59cfe7e939b0c7f32361bc3a6aa47cfbdf6ee2bfdba62ecfb

See more details on using hashes here.

File details

Details for the file lagrange_open-6.28.0-cp313-cp313-manylinux_2_28_x86_64.manylinux_2_27_x86_64.whl.

File metadata

File hashes

Hashes for lagrange_open-6.28.0-cp313-cp313-manylinux_2_28_x86_64.manylinux_2_27_x86_64.whl
Algorithm Hash digest
SHA256 eb3a6e8443bd2321ef882821d37c7bf8187bd6eceaeb9a349d091d9b2717d305
MD5 083cef3317ddeaf3d6ed6e1894f8a947
BLAKE2b-256 28d5ba57024ff58d2e5503d16faa220e2d12b92c9d3e0991a5de2653868b93d8

See more details on using hashes here.

File details

Details for the file lagrange_open-6.28.0-cp313-cp313-macosx_11_0_x86_64.whl.

File metadata

File hashes

Hashes for lagrange_open-6.28.0-cp313-cp313-macosx_11_0_x86_64.whl
Algorithm Hash digest
SHA256 e99d4f03e452eff0645092285297bc2e8d6a77e8b58abcf12c8759fe5c5dda4f
MD5 f70eb95f96c9b8d2edcf71514c55b1e7
BLAKE2b-256 906ec383331a4f11f45bf2948a4d56f149763bc51a5f738feac1ba226072ce16

See more details on using hashes here.

File details

Details for the file lagrange_open-6.28.0-cp313-cp313-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for lagrange_open-6.28.0-cp313-cp313-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 bbea74ff5bbba412bcc767aa2d115d99ba8f1b52b7004c60f6dc813dc498d286
MD5 cfda8a8e7dd75d0453b51bde555f8f09
BLAKE2b-256 12d5bb2b51a98e6b043bf00cc8f0896a4b37e48affda99560cf077739f14355a

See more details on using hashes here.

File details

Details for the file lagrange_open-6.28.0-cp312-cp312-win_amd64.whl.

File metadata

File hashes

Hashes for lagrange_open-6.28.0-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 d975c8ebff49dfdd18d9121feb4738957445e8ea8c7f796996e63247e4f88691
MD5 0c8837dd5717b5ace16d918f123b4999
BLAKE2b-256 ab2d81bcca758608cd6c0480ee47d722a7a89df7d55c07acd8ece1419e94b12b

See more details on using hashes here.

File details

Details for the file lagrange_open-6.28.0-cp312-cp312-manylinux_2_28_x86_64.manylinux_2_27_x86_64.whl.

File metadata

File hashes

Hashes for lagrange_open-6.28.0-cp312-cp312-manylinux_2_28_x86_64.manylinux_2_27_x86_64.whl
Algorithm Hash digest
SHA256 6274b18c20a68535cd80634dfd3e73790a0e29df6b69930d58ac65ed6e3b8da2
MD5 1235d75307249990a31eba2e800d3eb6
BLAKE2b-256 df1418f1d8291b2a5bb2efafcbe188026e55cb866dd23a6dec3512727bf1f8ed

See more details on using hashes here.

File details

Details for the file lagrange_open-6.28.0-cp312-cp312-macosx_11_0_x86_64.whl.

File metadata

File hashes

Hashes for lagrange_open-6.28.0-cp312-cp312-macosx_11_0_x86_64.whl
Algorithm Hash digest
SHA256 b01bd647d85d5875821ceb4aa7acd1d08f05755efb22178b441b1ebba611face
MD5 213f1c8517e779365d0ce52072c8c981
BLAKE2b-256 3cbe38bfe83b8e1f89433bf7fa0aede23e9144ac7f758e68baf1944b7f899b26

See more details on using hashes here.

File details

Details for the file lagrange_open-6.28.0-cp312-cp312-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for lagrange_open-6.28.0-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 a6dd86a1a3e2388875005b784a52293fd021e0152c5dba73813f7314669c4f0d
MD5 a9bea48ad9971aaecd40d9a0c10c04a2
BLAKE2b-256 d40dd049904d8f39f7e331417c15cad5149f4ccdfee368b00d3432bfdadf4239

See more details on using hashes here.

File details

Details for the file lagrange_open-6.28.0-cp311-cp311-win_amd64.whl.

File metadata

File hashes

Hashes for lagrange_open-6.28.0-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 83d8777ccb99e0a15721762b5d618c9920c746e4815521418563219cbf6fadaa
MD5 1efea0cdd79b38d8d855bcac213eb77e
BLAKE2b-256 672f60afcc023cab5b71e4ef268dfd8bef87192197f7dded5b5e712cf4bce39f

See more details on using hashes here.

File details

Details for the file lagrange_open-6.28.0-cp311-cp311-manylinux_2_28_x86_64.manylinux_2_27_x86_64.whl.

File metadata

File hashes

Hashes for lagrange_open-6.28.0-cp311-cp311-manylinux_2_28_x86_64.manylinux_2_27_x86_64.whl
Algorithm Hash digest
SHA256 96608a1f1ad508bec1a36d883ddc8c90b5963161a6b3b6e6f45afeea34c1c831
MD5 c17b42f2f52d45bb7eaa7fca52cf0100
BLAKE2b-256 f40fffb0b6692407d1c2402a4d94be1beb7784c07bf08ab64e2edec26aa0562c

See more details on using hashes here.

File details

Details for the file lagrange_open-6.28.0-cp311-cp311-macosx_11_0_x86_64.whl.

File metadata

File hashes

Hashes for lagrange_open-6.28.0-cp311-cp311-macosx_11_0_x86_64.whl
Algorithm Hash digest
SHA256 1c9bfa61495504623e6a2fcb66dc72946fccb38a2d10b17075155a9aafc738a4
MD5 b5228670c81230091bbfa75efc547ef9
BLAKE2b-256 5f613820a0f54565f05f7cafd9d66d89e723ad61c49cb3538948b217fef085e4

See more details on using hashes here.

File details

Details for the file lagrange_open-6.28.0-cp311-cp311-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for lagrange_open-6.28.0-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 4592146884bdcc85f8f67b9519ecb9497ab7b77f9e5285cd112975d524413353
MD5 7cc096ac6cd590e4044e7c3febf45fd4
BLAKE2b-256 06bfff0c8b82704c91ce349935e7f61f0d23894b7e967a739edac93020939d83

See more details on using hashes here.

File details

Details for the file lagrange_open-6.28.0-cp310-cp310-win_amd64.whl.

File metadata

File hashes

Hashes for lagrange_open-6.28.0-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 19a756ae87f0dce28e8f3eacd6dea78cf82034e84761f608c1033dbce58c0c25
MD5 b9d41cad91e6461a7eff4e95f88eec14
BLAKE2b-256 59e9f94013d97311820984c360645b11343ab6d2dc62c73bd83d282a49253497

See more details on using hashes here.

File details

Details for the file lagrange_open-6.28.0-cp310-cp310-manylinux_2_28_x86_64.manylinux_2_27_x86_64.whl.

File metadata

File hashes

Hashes for lagrange_open-6.28.0-cp310-cp310-manylinux_2_28_x86_64.manylinux_2_27_x86_64.whl
Algorithm Hash digest
SHA256 894414dd58f84d828ab065a12d072246fcaba9d75cae764c98c0840dbeef7408
MD5 0d3c327a888b2ed31ee58acab966fda4
BLAKE2b-256 62721384c90cc5c4a311c5734149defb979ad48ca00b5d86f03b97570852753e

See more details on using hashes here.

File details

Details for the file lagrange_open-6.28.0-cp310-cp310-macosx_11_0_x86_64.whl.

File metadata

File hashes

Hashes for lagrange_open-6.28.0-cp310-cp310-macosx_11_0_x86_64.whl
Algorithm Hash digest
SHA256 0c4fef7eda12982e616804ea900e70cf196972c056df0bcc87ff54a1f0c681bb
MD5 ef0fefbb121ad0f6720a24ac7db10235
BLAKE2b-256 579545a3baef9689408b3fca2bd54aa04c9ef0d45dae76e07d6f4a6eecb39b2d

See more details on using hashes here.

File details

Details for the file lagrange_open-6.28.0-cp310-cp310-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for lagrange_open-6.28.0-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 7ac2c8fd25f103929a8b768e17a39f7efca3c73e76b58e9df937643b73ee73f7
MD5 4ae8447d32207886830dce2b6f1f854f
BLAKE2b-256 d884501628fde38e8763a568fa83fdb65bce9b89d62c6fd6ad64dc9418038d1a

See more details on using hashes here.

File details

Details for the file lagrange_open-6.28.0-cp39-cp39-win_amd64.whl.

File metadata

File hashes

Hashes for lagrange_open-6.28.0-cp39-cp39-win_amd64.whl
Algorithm Hash digest
SHA256 f4019f2a9d8561cdf33e1d8d7d1f7a3c1e1e5ccb0d4ce8aaa9c142dec1afdf82
MD5 ae71ea3d1caa138e9b8985b5feb213ae
BLAKE2b-256 c6db5ffe3d14eb818e6406ee659aaa87f82e369f9525f7f4ac67fdebc7f52113

See more details on using hashes here.

File details

Details for the file lagrange_open-6.28.0-cp39-cp39-manylinux_2_28_x86_64.manylinux_2_27_x86_64.whl.

File metadata

File hashes

Hashes for lagrange_open-6.28.0-cp39-cp39-manylinux_2_28_x86_64.manylinux_2_27_x86_64.whl
Algorithm Hash digest
SHA256 8f3852da28f0db5f3f60e5f385de0cf6332e6cb64257d84e9a1095ee2391d86d
MD5 797db1fb88355f85037a49c78487e7e6
BLAKE2b-256 14761d947dded7b855fc38aea3759675d3b59180ccbe90cf976e9681a83d1ac4

See more details on using hashes here.

File details

Details for the file lagrange_open-6.28.0-cp39-cp39-macosx_11_0_x86_64.whl.

File metadata

File hashes

Hashes for lagrange_open-6.28.0-cp39-cp39-macosx_11_0_x86_64.whl
Algorithm Hash digest
SHA256 c1af186dc871ddcc18bd869a87327e1c603b1177ec5a99838405dcb89fd5227c
MD5 aaf75c6966809079c13bd00307ea577f
BLAKE2b-256 833f8c415d9c13600dcf9611c8d2e41e520340fd53e5b71f4e9c0ec040074419

See more details on using hashes here.

File details

Details for the file lagrange_open-6.28.0-cp39-cp39-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for lagrange_open-6.28.0-cp39-cp39-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 f594c0237313410bac3517813e4befdc5792db8b8e99c4cf3afb3200faf70256
MD5 e666af1be81a02c0dc22cb521fd2368d
BLAKE2b-256 221bdc37a6e2f763fa17876ed1a8d0d68c65e46c42c9a8efcf70574cd1c2442e

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page