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

If you're not sure about the file name format, learn more about wheel file names.

lagrange_open-6.40.1-cp313-cp313-win_amd64.whl (19.9 MB view details)

Uploaded CPython 3.13Windows x86-64

lagrange_open-6.40.1-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (15.1 MB view details)

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

lagrange_open-6.40.1-cp313-cp313-macosx_13_0_x86_64.whl (12.4 MB view details)

Uploaded CPython 3.13macOS 13.0+ x86-64

lagrange_open-6.40.1-cp313-cp313-macosx_13_0_arm64.whl (9.6 MB view details)

Uploaded CPython 3.13macOS 13.0+ ARM64

lagrange_open-6.40.1-cp312-cp312-win_amd64.whl (19.9 MB view details)

Uploaded CPython 3.12Windows x86-64

lagrange_open-6.40.1-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (15.1 MB view details)

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

lagrange_open-6.40.1-cp312-cp312-macosx_13_0_x86_64.whl (12.4 MB view details)

Uploaded CPython 3.12macOS 13.0+ x86-64

lagrange_open-6.40.1-cp312-cp312-macosx_13_0_arm64.whl (9.6 MB view details)

Uploaded CPython 3.12macOS 13.0+ ARM64

lagrange_open-6.40.1-cp311-cp311-win_amd64.whl (19.9 MB view details)

Uploaded CPython 3.11Windows x86-64

lagrange_open-6.40.1-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (15.1 MB view details)

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

lagrange_open-6.40.1-cp311-cp311-macosx_13_0_x86_64.whl (12.4 MB view details)

Uploaded CPython 3.11macOS 13.0+ x86-64

lagrange_open-6.40.1-cp311-cp311-macosx_13_0_arm64.whl (9.6 MB view details)

Uploaded CPython 3.11macOS 13.0+ ARM64

lagrange_open-6.40.1-cp310-cp310-win_amd64.whl (19.9 MB view details)

Uploaded CPython 3.10Windows x86-64

lagrange_open-6.40.1-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (15.1 MB view details)

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

lagrange_open-6.40.1-cp310-cp310-macosx_13_0_x86_64.whl (12.4 MB view details)

Uploaded CPython 3.10macOS 13.0+ x86-64

lagrange_open-6.40.1-cp310-cp310-macosx_13_0_arm64.whl (9.6 MB view details)

Uploaded CPython 3.10macOS 13.0+ ARM64

File details

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

File metadata

File hashes

Hashes for lagrange_open-6.40.1-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 ce4a3efe9e140c11dd28392519b5255209231127f57bcb3593cb3805b0c3450c
MD5 da7f12580cc7ea91e7282ca63e1667ad
BLAKE2b-256 0f23224e8e2dfe91e0ca9d6d13d93a0acb840166511fbf7378b8f36a6cb4073b

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for lagrange_open-6.40.1-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 48ecad55799cc006354e7bddda64d4ff5f9c4cb05c0199af194c6c66cc926430
MD5 b4ffcf8cfca53c78578dbe3fd21bffbb
BLAKE2b-256 3a51112bb3d473519e1de6575a427b8431189892bf3c38c40b8148ea5278194a

See more details on using hashes here.

File details

Details for the file lagrange_open-6.40.1-cp313-cp313-macosx_13_0_x86_64.whl.

File metadata

File hashes

Hashes for lagrange_open-6.40.1-cp313-cp313-macosx_13_0_x86_64.whl
Algorithm Hash digest
SHA256 76957909124546b4da7c0eb761c8acb59de1232304fae34156ae032a5f934b37
MD5 9548d4ab695c4c1d958e625a1c929712
BLAKE2b-256 86065bc25ce1f95163a580b1ffb480fdfb8336c0d16225903a604856f59a954b

See more details on using hashes here.

File details

Details for the file lagrange_open-6.40.1-cp313-cp313-macosx_13_0_arm64.whl.

File metadata

File hashes

Hashes for lagrange_open-6.40.1-cp313-cp313-macosx_13_0_arm64.whl
Algorithm Hash digest
SHA256 54a940f52516ee24c2de081cc14c2e231007edcc158d00c283dc7bc418c2502d
MD5 395e0385c2adf64da703ee37faba1403
BLAKE2b-256 017be0bcfa0b298a7a1ac077c5af296b45fdf209182e06a47fcafc8e8c9be730

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for lagrange_open-6.40.1-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 62b9f42db17b972fc159cd2e5828ee769f9c82ccc23534b1472887c2ac7c8c1e
MD5 fdf1565fec212f82221a187c50c50980
BLAKE2b-256 92da490705fe6915dad7619ad79daba6698aef37b78b5d6c37b154d9ba6a96b2

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for lagrange_open-6.40.1-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 1551a503f5cba90878ff247e9a9f4fd83f3d0d9dd5583a926c8cafb6bd715a9f
MD5 612efd42c8887b3bbeac3c0d99fac60c
BLAKE2b-256 d24bf1d7c6417dfaf7c590d20bb213cdc9552c2eb7c435533aec9340fd87488c

See more details on using hashes here.

File details

Details for the file lagrange_open-6.40.1-cp312-cp312-macosx_13_0_x86_64.whl.

File metadata

File hashes

Hashes for lagrange_open-6.40.1-cp312-cp312-macosx_13_0_x86_64.whl
Algorithm Hash digest
SHA256 c926117f5c84f64f76b7d428100ef674f7cc92ad81e4e4529414d4634846005b
MD5 5a45362a5e216b7dec128031abe6f1ae
BLAKE2b-256 2f69491a70d9af0154212c11a0860f6a1c5d9b026ec493a229fe5273406a4160

See more details on using hashes here.

File details

Details for the file lagrange_open-6.40.1-cp312-cp312-macosx_13_0_arm64.whl.

File metadata

File hashes

Hashes for lagrange_open-6.40.1-cp312-cp312-macosx_13_0_arm64.whl
Algorithm Hash digest
SHA256 5cf5ce779a13d71b72a58669076df3f7b73dba917f2e8ab7db152fb706b36dd2
MD5 631c795ffe07c985294e792f7d98cbb3
BLAKE2b-256 0a8efff7cc981f378768bb73f8cc52809a376213c5373dc508e3adbcd9814fb6

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for lagrange_open-6.40.1-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 2d373920d5c5735d1811a4b12ca517a0f77d33c2cdc2726f26b65eea6135351a
MD5 f93c712b4dd70eb2ce03b19021a3f5b4
BLAKE2b-256 c54cd7bcd6d150441fcf0191f5093398700bd1c484f11a4c0ce59d6c923fa3a8

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for lagrange_open-6.40.1-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 797275b9a1187beac29c89bfc1b6ac1c4eba7a91f6b1e0bef96ecd3ce86099a1
MD5 9b61ea69848c20362d9b2dd3efad0564
BLAKE2b-256 f2cec7e3f9f6fa36c4acfe1b6aca8f1d3915f3c235ae316865d2a6e6e33711d0

See more details on using hashes here.

File details

Details for the file lagrange_open-6.40.1-cp311-cp311-macosx_13_0_x86_64.whl.

File metadata

File hashes

Hashes for lagrange_open-6.40.1-cp311-cp311-macosx_13_0_x86_64.whl
Algorithm Hash digest
SHA256 7c2ca612eb9820c91c4b8c6a2e41b3efe8debc110c4446b8230c1ee30acedc2c
MD5 6d296c6f2344876df9e6bd86081052da
BLAKE2b-256 2b0278bc82d21c4cf4911d65e70c3486879e9104aa0cdb059a1c8fc343495e9b

See more details on using hashes here.

File details

Details for the file lagrange_open-6.40.1-cp311-cp311-macosx_13_0_arm64.whl.

File metadata

File hashes

Hashes for lagrange_open-6.40.1-cp311-cp311-macosx_13_0_arm64.whl
Algorithm Hash digest
SHA256 49a9bf0117862436e47a8270c4128f5c5c446f62f56346c20f26b271ce93e981
MD5 ed4c9589da226b85e88f4fb3275d454d
BLAKE2b-256 9ef517a2f2dd1ddc056d84ce845138cd67636b8f6a39638ac97a2b7dbce5176c

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for lagrange_open-6.40.1-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 e2579bc0c4ffab86538d97d8b913b06d28b0338e153901b65f6b5070a015acc1
MD5 135a2bf8c42e4b90aeff95c834da7381
BLAKE2b-256 c8a4498be49f7bb80dd8ee208b26053418d603f92e81c1463ef3e5db2c8fde21

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for lagrange_open-6.40.1-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 8fd814d51f4db027cb063e4493c059bc90f39d7303d38a37c4a8217293057fa1
MD5 a2bbc5a12c208aad4dbd535dd4ae04c3
BLAKE2b-256 f1e45100b772742c17046a651af9c2a5e5d2201effa42ba6ab2bdd672b4a0dc5

See more details on using hashes here.

File details

Details for the file lagrange_open-6.40.1-cp310-cp310-macosx_13_0_x86_64.whl.

File metadata

File hashes

Hashes for lagrange_open-6.40.1-cp310-cp310-macosx_13_0_x86_64.whl
Algorithm Hash digest
SHA256 0df7a8c01afa87e1fa618aa7f3633b4cadd5acb2a7f153662eba7c7f6f8d752a
MD5 8bf317dd04544b51ce6a07ef54c4d64e
BLAKE2b-256 4831d11c0a73b95d691cf23f5893e338d9f1173197bc0de734413f9c1cea813a

See more details on using hashes here.

File details

Details for the file lagrange_open-6.40.1-cp310-cp310-macosx_13_0_arm64.whl.

File metadata

File hashes

Hashes for lagrange_open-6.40.1-cp310-cp310-macosx_13_0_arm64.whl
Algorithm Hash digest
SHA256 93776ccde83eab2fff2a46c8971b41507673e3a3ab5522e1a95b508876cd0c5f
MD5 3b1450acfc55054a3d23102ddb30c663
BLAKE2b-256 1a174f035e04658dd74d2261ca4dfa79de83396ecb4c35968fe2fc76ed947743

See more details on using hashes here.

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