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.27.0-cp313-cp313-win_amd64.whl (4.0 MB view hashes)

Uploaded CPython 3.13 Windows x86-64

lagrange_open-6.27.0-cp313-cp313-manylinux_2_28_x86_64.manylinux_2_27_x86_64.whl (8.4 MB view hashes)

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

lagrange_open-6.27.0-cp313-cp313-macosx_11_0_x86_64.whl (7.8 MB view hashes)

Uploaded CPython 3.13 macOS 11.0+ x86-64

lagrange_open-6.27.0-cp313-cp313-macosx_11_0_arm64.whl (6.3 MB view hashes)

Uploaded CPython 3.13 macOS 11.0+ ARM64

lagrange_open-6.27.0-cp312-cp312-win_amd64.whl (4.0 MB view hashes)

Uploaded CPython 3.12 Windows x86-64

lagrange_open-6.27.0-cp312-cp312-manylinux_2_28_x86_64.manylinux_2_27_x86_64.whl (8.4 MB view hashes)

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

lagrange_open-6.27.0-cp312-cp312-macosx_11_0_x86_64.whl (7.8 MB view hashes)

Uploaded CPython 3.12 macOS 11.0+ x86-64

lagrange_open-6.27.0-cp312-cp312-macosx_11_0_arm64.whl (6.3 MB view hashes)

Uploaded CPython 3.12 macOS 11.0+ ARM64

lagrange_open-6.27.0-cp311-cp311-win_amd64.whl (4.0 MB view hashes)

Uploaded CPython 3.11 Windows x86-64

lagrange_open-6.27.0-cp311-cp311-manylinux_2_28_x86_64.manylinux_2_27_x86_64.whl (8.4 MB view hashes)

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

lagrange_open-6.27.0-cp311-cp311-macosx_11_0_x86_64.whl (7.8 MB view hashes)

Uploaded CPython 3.11 macOS 11.0+ x86-64

lagrange_open-6.27.0-cp311-cp311-macosx_11_0_arm64.whl (6.3 MB view hashes)

Uploaded CPython 3.11 macOS 11.0+ ARM64

lagrange_open-6.27.0-cp310-cp310-win_amd64.whl (4.0 MB view hashes)

Uploaded CPython 3.10 Windows x86-64

lagrange_open-6.27.0-cp310-cp310-manylinux_2_28_x86_64.manylinux_2_27_x86_64.whl (8.4 MB view hashes)

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

lagrange_open-6.27.0-cp310-cp310-macosx_11_0_x86_64.whl (7.8 MB view hashes)

Uploaded CPython 3.10 macOS 11.0+ x86-64

lagrange_open-6.27.0-cp310-cp310-macosx_11_0_arm64.whl (6.3 MB view hashes)

Uploaded CPython 3.10 macOS 11.0+ ARM64

lagrange_open-6.27.0-cp39-cp39-win_amd64.whl (4.0 MB view hashes)

Uploaded CPython 3.9 Windows x86-64

lagrange_open-6.27.0-cp39-cp39-manylinux_2_28_x86_64.manylinux_2_27_x86_64.whl (8.4 MB view hashes)

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

lagrange_open-6.27.0-cp39-cp39-macosx_11_0_x86_64.whl (7.8 MB view hashes)

Uploaded CPython 3.9 macOS 11.0+ x86-64

lagrange_open-6.27.0-cp39-cp39-macosx_11_0_arm64.whl (6.3 MB view hashes)

Uploaded CPython 3.9 macOS 11.0+ ARM64

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