2 releases
0.1.1 | Oct 16, 2024 |
---|---|
0.1.0 | Oct 12, 2024 |
#878 in Math
487 downloads per month
Used in oat_python
2MB
22K
SLoC
Open Applied Topology
Open applied topology (OAT) is a library for fast, user-friendly algebra and topology. OAT has
- a user-friendly frontend for Python users, called oat_python
- a fast backend written in Rust, called oat_rust
- a variety of tutorials published as jupyter notebooks
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
~217K SLoC