#ml #geometry #hpc #data

bin+lib oat_rust

User-friendly tools for applied topology

2 releases

0.1.1 Oct 16, 2024
0.1.0 Oct 12, 2024

#816 in Math


Used in oat_python

Custom license

2MB
22K SLoC

Open Applied Topology

Open applied topology (OAT) is a library for fast, user-friendly algebra and topology. OAT has

This package contains the source code for oat_rust.

Caution: breaking changes

OAT is in early stages of develpoment, and it's evolving quickly. Code that you write today may not work tomorrow, due to these changes. We will do our very best to make sure that if/when this happens, you will only need to make small changes to your code to fix the problem (e.g., updating the name of a function). However, please do bear this in mind as you write your code!

These efforts notwithstanding, expect major changes to oat_rust in late 2024/early 2025.

Install and explore

Python users

If you'd like to use OAT as a Python user, you'll want our sister library, oat_python, which is available on PyPI.

Rust users

The oat_rust package is a pure Rust library. Rust libraries aren't installed in the same was as Python packages. Instead, users typically use Rust packages in one of two ways: (1) As a dependency for other Rust packages. In this case you'll have a folder containing code for another package, including a file named Cargo.toml. Add oat_rust to the list of dependencies in that file, and Rust will automatically download and use oat_rust when you compile your project. Here's an example Cargo.toml. The relevant line in that file is oat_rust = "X.Y.Z". Here X.Y.Z refers to a specific version of oat_rust. You'll want to check Crates.io to find the version number for the most recent version of oat. Rust By Example gives a great explanation of dependencies! (2) To compile executable files. This allows you to write programs which can be executed even if you don't have Rust installed! You'll need Rust to compile those programs first, though. Check out this example from Rust By Example to get started!

Documentation

There are two ways to view the documenation for this package.

Web browser

Browse the documentation on Crates.io.

Build from source

Most users won't need this option, but if you are modifying and extending oat_rust, then you can use it to access the documenation for your extension. First install Rust. If you already have Rust, make sure you have the most recent version. Next, obtain a copy of the the oat_rust git repository. Open a shell, CD into the repository, and run cargo doc --no-deps --open. The documentaiton homepage will then open in a browser.

Contributing

For information on contributing, see CONTRIBUTING.md.

License

For inforamtion on copyright and licensing, see LICENSE.

Attributions

OAT is an extension of the ExHACT library. See ATTRIBUTIONS.md for details.

Dependencies

~8–16MB
~224K SLoC