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.41.0-cp313-cp313-win_amd64.whl (26.1 MB view details)

Uploaded CPython 3.13Windows x86-64

lagrange_open-6.41.0-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (22.2 MB view details)

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

lagrange_open-6.41.0-cp313-cp313-macosx_13_0_x86_64.whl (19.0 MB view details)

Uploaded CPython 3.13macOS 13.0+ x86-64

lagrange_open-6.41.0-cp313-cp313-macosx_13_0_arm64.whl (14.6 MB view details)

Uploaded CPython 3.13macOS 13.0+ ARM64

lagrange_open-6.41.0-cp312-cp312-win_amd64.whl (26.1 MB view details)

Uploaded CPython 3.12Windows x86-64

lagrange_open-6.41.0-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (22.2 MB view details)

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

lagrange_open-6.41.0-cp312-cp312-macosx_13_0_x86_64.whl (19.0 MB view details)

Uploaded CPython 3.12macOS 13.0+ x86-64

lagrange_open-6.41.0-cp312-cp312-macosx_13_0_arm64.whl (14.6 MB view details)

Uploaded CPython 3.12macOS 13.0+ ARM64

lagrange_open-6.41.0-cp311-cp311-win_amd64.whl (26.1 MB view details)

Uploaded CPython 3.11Windows x86-64

lagrange_open-6.41.0-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (22.2 MB view details)

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

lagrange_open-6.41.0-cp311-cp311-macosx_13_0_x86_64.whl (19.0 MB view details)

Uploaded CPython 3.11macOS 13.0+ x86-64

lagrange_open-6.41.0-cp311-cp311-macosx_13_0_arm64.whl (14.6 MB view details)

Uploaded CPython 3.11macOS 13.0+ ARM64

lagrange_open-6.41.0-cp310-cp310-win_amd64.whl (26.1 MB view details)

Uploaded CPython 3.10Windows x86-64

lagrange_open-6.41.0-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (22.2 MB view details)

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

lagrange_open-6.41.0-cp310-cp310-macosx_13_0_x86_64.whl (19.0 MB view details)

Uploaded CPython 3.10macOS 13.0+ x86-64

lagrange_open-6.41.0-cp310-cp310-macosx_13_0_arm64.whl (14.6 MB view details)

Uploaded CPython 3.10macOS 13.0+ ARM64

File details

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

File metadata

File hashes

Hashes for lagrange_open-6.41.0-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 dacbb80b895b702c6ccfe7000a1cdf2386620b02144bf86429cf0749d9ace649
MD5 e1c694ad52b542f500d9883a13416cfa
BLAKE2b-256 0521e32ef347c75378322916f4261ee52d0070dfb14661349543aa47446c8325

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for lagrange_open-6.41.0-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 e78e5e5b7dbb512f3cbed2ffd9d3f322b1bc049c13c151da56d6bcfbbca83647
MD5 8f73fe5294226edb475d02e6121c772c
BLAKE2b-256 406a308c1649322e07203c65419b610a988f8b215025a404a361cd9a9f668f83

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for lagrange_open-6.41.0-cp313-cp313-macosx_13_0_x86_64.whl
Algorithm Hash digest
SHA256 ca44615241953c93a5492a3d8799fd1fb4ec800813637e7d7259520c46a5c3d4
MD5 4bc71bbde801925422e9a697b43b1c7b
BLAKE2b-256 3eb66d64762251c83ff425127e355f111660feb6e56dec782afbd3d8aaf5a78e

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for lagrange_open-6.41.0-cp313-cp313-macosx_13_0_arm64.whl
Algorithm Hash digest
SHA256 7b64a4fa7ef3250d70f4ba821e6ce2cf8d28303e7c49a7b90f98e4cf96ba7a65
MD5 3aba65a9282b690b1d7847c5366f4a80
BLAKE2b-256 974cab8ef42812f29824e5431c71fb80f6c92369258ad23f0b9d2caa3e96e3ff

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for lagrange_open-6.41.0-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 e3ae1beecb5951bad87114c63b7c90dabb8ce50832579d79b6b62002bd14fca0
MD5 798cd53cc8105e2d828491b9e49569b7
BLAKE2b-256 d27eced8918f237cc265f6ac85d5830523e7820837be97aec2ae1f1de7b5a69e

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for lagrange_open-6.41.0-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 0996e6effb2833d0c3c80213b1f3b6f897d02941f0a167a8d89efe352ada946e
MD5 f03db795acb525bc2083ab139b2547d7
BLAKE2b-256 2eb7076bd1ca8e49fe9da942ebf270a5131c29a51734b631cc1b19d8fec45b0c

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for lagrange_open-6.41.0-cp312-cp312-macosx_13_0_x86_64.whl
Algorithm Hash digest
SHA256 b9816d9e577f936b7866aa54d5819a42772f5bfe879c8c3bccd7f86178f955dc
MD5 a6bc2b313e4f5030d72def4518d8eb59
BLAKE2b-256 6defe752ea79492ed5b610012cd49ea37626fa06004f7be0ab3910236659bd3c

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for lagrange_open-6.41.0-cp312-cp312-macosx_13_0_arm64.whl
Algorithm Hash digest
SHA256 6a3328cae87e88d4a6442624820d65c0921487e8f1814b873c2fde16aca144e9
MD5 6ccb98e4409104c02be98ba7d8149e1f
BLAKE2b-256 06725d3c795d3aefeeea8b8b387db7d1d7c7941a3e07fb348f319ef06f6dc6eb

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for lagrange_open-6.41.0-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 83eb0deedb9fb50b67fc6ca1e64b5096f98162f0b790ad98b1073329902925c4
MD5 ea293f8f83573d62dee2de26b0df2959
BLAKE2b-256 ce575f8da478671970cf8cceefc62484aca5fb66522282de675b76e4548cbb96

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for lagrange_open-6.41.0-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 6b99a5290565ee6cbf5c402b82f7ce07a29df89b40e126274b46067284c16490
MD5 1421a2d106d42ca0ec88e5ed0ce57313
BLAKE2b-256 d72badf256c7d3632911fff9b7e216dedb98841f01d8ad06b45d54f2702cdf43

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for lagrange_open-6.41.0-cp311-cp311-macosx_13_0_x86_64.whl
Algorithm Hash digest
SHA256 6c5d4000c14f308342f54d0544a8b72e931a1c411aeb8f1e73bcc8f29a58a6a8
MD5 9e665924097ad86bc7d958218f254876
BLAKE2b-256 d100f915339bd0ef0dbbc6416228983e522bd2bf10d42f5647da0b46276d65a5

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for lagrange_open-6.41.0-cp311-cp311-macosx_13_0_arm64.whl
Algorithm Hash digest
SHA256 d342458dcfbde7c9f5643675b5c05ba0e2899e2b58ecf952142746281fcf670a
MD5 fd3ed2a3b57fd0ee2383c2bec67dff14
BLAKE2b-256 20f75bfd2647678fda1c20bb58eaabc5b7fbe6f6194a14c40e1e722924969a72

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for lagrange_open-6.41.0-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 e1075afe922ff1c5a8e4f4486ae6fa9850cc7d6256e27a04c2fb46f922bd7264
MD5 8ae413651fcd44993e951b311f12b66c
BLAKE2b-256 16e89cf869c380d84893469e11e816ed7c1654e33a8f27f7683d63270eef74e4

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for lagrange_open-6.41.0-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 8defb520ff737d40918ed602964aa45424a00420dbfb5b135800f124c40f692f
MD5 6e9fc8092feff67209ff1f6e36e212b0
BLAKE2b-256 3f1e9a4ef547c85624b39584defce66d200ee0c6bbf3d953fd0ba6f8312ea956

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for lagrange_open-6.41.0-cp310-cp310-macosx_13_0_x86_64.whl
Algorithm Hash digest
SHA256 da15cce775228b3d20c746684588d531875d981672291ba88205269f2323a389
MD5 b48aa29016b93fc3a5036175e20d86a6
BLAKE2b-256 66d24ace7aee09507c7eae0cdd2c64a4a88e0b46b9c611e4a38f8dac846bcb2d

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for lagrange_open-6.41.0-cp310-cp310-macosx_13_0_arm64.whl
Algorithm Hash digest
SHA256 db064251685048bff181eef17ca5b76a1c9c5fd94d38900f4974bf9b9e7aa9ec
MD5 f93d8f2386784ea5bb9bbad9f02d1d00
BLAKE2b-256 523322f99e57c0ac9d2f5312fa77789e505dfca4ffd7591678af780d6982c7c7

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