Metadata-Version: 2.4
Name: geodiff
Version: 0.8.0
Summary: Differentiable geometry representations for shape parameterization and optimization.
Keywords: differentiable-geometry,shape-optimization,PyTorch,machine-learning,deep-learning,geometric-deep-learning,CFD,design-optimization
Author: Atharva Aalok
Author-email: Atharva Aalok <atharvaaalok@gmail.com>
License-Expression: MIT
License-File: LICENSE
Classifier: Development Status :: 1 - Planning
Classifier: Intended Audience :: Developers
Classifier: Intended Audience :: Education
Classifier: Intended Audience :: Science/Research
Classifier: License :: OSI Approved :: MIT License
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Classifier: Topic :: Scientific/Engineering
Classifier: Topic :: Scientific/Engineering :: Artificial Intelligence
Classifier: Topic :: Scientific/Engineering :: Mathematics
Classifier: Topic :: Software Development
Classifier: Topic :: Software Development :: Libraries
Classifier: Topic :: Software Development :: Libraries :: Python Modules
Requires-Dist: matplotlib>=3.10.6
Requires-Dist: numpy>=2.3.3
Requires-Dist: torch>=2.8.0
Requires-Dist: torchdiffeq>=0.2.5
Maintainer: Atharva Aalok
Maintainer-email: Atharva Aalok <atharvaaalok@gmail.com>
Requires-Python: >=3.12.0
Project-URL: bugtracker, https://github.com/atharvaaalok/geodiff/issues
Project-URL: changelog, https://github.com/atharvaaalok/geodiff/blob/main/CHANGELOG.md
Project-URL: documentation, https://atharvaaalok.github.io/geodiff/
Project-URL: forum, https://github.com/atharvaaalok/geodiff/discussions
Project-URL: homepage, https://atharvaaalok.github.io/geodiff/
Project-URL: repository, https://github.com/atharvaaalok/geodiff
Description-Content-Type: text/markdown

Differentiable geometry representations for shape parameterization and optimization.


## Project Plan
### Stage 1: Initial Setup
- [x] Add Github Actions workflow for Github Pages.
- [x] Create first cut User Docs using Jupyter Books and MyST markdown.
    - [x] What is this package for?
    - [x] Add .gitignore for MyST markdown.
- [x] Launch Github Discussions for the project.
    - [x] Create introductory dicussion post.
- [x] Add MIT License.
- [x] Update pyproject.toml.
    - [x] Maintainers, license, license-file, keywords, classifiers, project urls.
- [x] Add Github Actions workflow for Github Release and PyPI publishing.
- [x] Add CHANGELOG.md to maintain release details.
- [x] Create first tag and push it to initiate first release and publish.

### Stage 2: Implement Geometry Representations
- [x] Install necessary dependencies
    - [x] numpy, matplotlib and pytorch.
- [x] Implement loss functions.
    - [x] Start with Chamfer loss.
- [x] Hicks-Henne bump functions.
    - [x] Implement the Hicks-Henne class.
    - [x] Add visualization method.
    - [x] Add type hints and docstrings.
    - [x] Add test script.
    - [x] Add documentation.
    - [x] Merge with main branch.
    - [x] Create a tag and push it to create a release.
- [x] CST parameterization.
    - [x] Implement the CST class.
    - [x] Add visualization method.
    - [x] Add type hints and docstrings.
    - [x] Add test script.
    - [x] Add documentation.
    - [x] Merge with main branch.
    - [x] Create a tag and push it to create a release.
- [x] NICE normalizing flow parameterization.
    - [x] Implement the NICE class.
    - [x] Add visualization method.
    - [x] Add type hints and docstrings.
    - [x] Add test script.
    - [x] Add documentation.
    - [x] Merge with main branch.
    - [x] Create a tag and push it to create a release.
- [x] RealNVP normalizing flow parameterization.
    - [x] Implement the RealNVP class.
    - [x] Add visualization method.
    - [x] Add type hints and docstrings.
    - [x] Add test script.
    - [x] Add documentation.
    - [x] Merge with main branch.
    - [x] Create a tag and push it to create a release.
- [x] NIGnet parameterization.
    - [x] Implement the NIGnet class.
    - [x] Add visualization method.
    - [x] Add type hints and docstrings.
    - [x] Add test script.
    - [x] Add documentation.
    - [x] Merge with main branch.
    - [x] Create a tag and push it to create a release.
- [x] NeuralODE parameterization.
    - [x] Implement the NeuralODE class.
    - [x] Add visualization method.
    - [x] Add type hints and docstrings.
    - [x] Add test script.
    - [x] Add documentation.
    - [x] Merge with main branch.
    - [x] Create a tag and push it to create a release.
- [ ] Make Pre-Aux net modular by defining it separately from the invertible networks.
    - [x] Make Pre-Aux net modular for NICE.
    - [x] Change test script for NICE.
    - [x] Make Pre-Aux net modular for all representations.
    - [x] Change test scripts for all representations.
    - [x] Update documentation for all representations.
        - [x] Fix random seed for replicating results.
    - [x] Merge with main branch.
    - [ ] Create a tag and push it to create a release.