Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
53 commits
Select commit Hold shift + click to select a range
ae75db4
Upgrade Fugue to version 0.3.0 with major enhancements and breaking c…
alexnodeland Aug 19, 2025
980ad9f
Enhance README and examples for Fugue library
alexnodeland Aug 19, 2025
f182b81
Update CHANGELOG and remove deprecated AdaptiveScales
alexnodeland Aug 19, 2025
07465af
format code
alexnodeland Aug 19, 2025
73cb815
Enhance type-safety in distributions
alexnodeland Aug 20, 2025
ecb6bf6
Refactor distributions for enhanced type safety and validation
alexnodeland Aug 20, 2025
2f60731
Remove unused epsilon variable from VariationalParam sampling methods…
alexnodeland Aug 22, 2025
ce931ac
Improve memory management and add memory benchmarks
alexnodeland Aug 22, 2025
16304eb
Add MCMC benchmarks and update DiminishingAdaptation structure
alexnodeland Aug 22, 2025
37d7e89
Enhance type safety and proposal strategies in MCMC implementation
alexnodeland Aug 22, 2025
e7bb7e8
Refactor MCMC benchmarks and improve code formatting
alexnodeland Aug 22, 2025
b8df4c3
Add rustfmt configuration for consistent code formatting
alexnodeland Aug 22, 2025
a8baecf
Run cargo clippy
alexnodeland Aug 22, 2025
5f15bca
Update Cargo.toml to organize dependencies and add new ones for CLI, …
alexnodeland Aug 22, 2025
131fa51
Add documentation style guide and module README template
alexnodeland Aug 23, 2025
78d9ef5
Enhance error handling system with structured error codes and context
alexnodeland Aug 23, 2025
869e0fc
Add Makefile for build automation and improve testing
alexnodeland Aug 23, 2025
a6d0695
Merge pull request #1 from alexnodeland/refactor/productionize
alexnodeland Aug 23, 2025
9f0209c
Add issue templates (#3)
alexnodeland Aug 23, 2025
cb439a6
Add comprehensive documentation and slim down main README following s…
Copilot Aug 28, 2025
8afdc53
Update README.md
alexnodeland Aug 28, 2025
d911f0f
Update API documentation links and remove outdated notes (#5)
alexnodeland Sep 1, 2025
9ea7e02
Fix/pass ci (#6)
alexnodeland Sep 1, 2025
3897a59
Docs/finalize meta docs (#7)
alexnodeland Sep 1, 2025
930ce40
Update development environment and dependencies (#8)
alexnodeland Sep 1, 2025
a916efe
Chore/update package name (#9)
alexnodeland Sep 1, 2025
3fa3494
Fix/project includes (#10)
alexnodeland Sep 1, 2025
b954a91
Enhance README.md with improved formatting and new sections (#11)
alexnodeland Sep 1, 2025
e84b1ba
Update examples/production_deployment.rs
alexnodeland Sep 1, 2025
636eb26
Update examples/trace_manipulation.rs
alexnodeland Sep 1, 2025
562d2c7
Refactor PooledPriorHandler usage across examples and documentation (…
alexnodeland Sep 1, 2025
d5c5581
Refactor code for improved readability and efficiency (#14)
alexnodeland Sep 1, 2025
a2006ca
Fix/pages deployment (#16)
alexnodeland Sep 1, 2025
86adec3
Merge branch 'main' into develop
alexnodeland Sep 1, 2025
4fd9633
Update API documentation link in `api-reference.md` to point to the c…
alexnodeland Sep 1, 2025
f33a808
Update API documentation link in README.md to point to the latest ver…
alexnodeland Sep 1, 2025
572998a
Update README.md
alexnodeland Sep 2, 2025
9f120a3
Merge branch 'main' into develop
alexnodeland Sep 2, 2025
429b41d
Update README.md to enhance documentation clarity and usability
alexnodeland Sep 2, 2025
310f54d
Add version check before publishing to crates.io in GitHub Actions wo…
alexnodeland Sep 2, 2025
bf91e42
Update GitHub Actions workflow for publishing to crates.io
alexnodeland Sep 2, 2025
5cae6f6
Enhance version check logic in GitHub Actions workflow
alexnodeland Sep 2, 2025
3789e69
Merge branch 'main' into develop
alexnodeland Sep 2, 2025
8e6b3cc
fix publish checks
alexnodeland Sep 2, 2025
600fab5
Merge branch 'main' into develop
alexnodeland Sep 2, 2025
1213e76
fix publish flow
alexnodeland Sep 2, 2025
d384933
Merge branch 'main' into develop
alexnodeland Sep 2, 2025
aa98627
Implement comprehensive AGENTS.md standard with testing-focused devel…
Copilot Sep 3, 2025
8078c3b
docs: add downloads badge to README
alexnodeland Sep 3, 2025
26e8ef1
docs: add zotero links and fix logo stray pixels
alexnodeland Sep 4, 2025
73cb98c
Merge branch 'main' into develop
alexnodeland Sep 4, 2025
167b7bf
chore: optimize docs pipeline performance
alexnodeland Sep 4, 2025
a674502
chore: fix version parsing in docs pipeline
alexnodeland Sep 4, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 8 additions & 0 deletions .github/CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,14 @@

Thank you for your interest in contributing to Fugue! This document provides guidelines for contributing to the project.

## Community

- **Discord**: Join our [Discord server](https://discord.gg/QAcF7Nwr)
- **Issues & Bugs**: Open an [issue](https://github.com/alexnodeland/fugue/issues) with the `Bug Report` template.
- **Feature Requests**: Open an [issue](https://github.com/alexnodeland/fugue/issues) with the `Feature Request` template.
- **RFCs**: Open an [issue](https://github.com/alexnodeland/fugue/issues) with the `RFC` template.
- **Zotero**: Joing our [Zotero group](https://www.zotero.org/groups/6138134/fugue)

## Quick Start

```bash
Expand Down
97 changes: 48 additions & 49 deletions .github/workflows/docs.yml
Original file line number Diff line number Diff line change
Expand Up @@ -30,27 +30,52 @@ jobs:
~/.cargo/registry/index/
~/.cargo/registry/cache/
~/.cargo/git/db/
key: ${{ runner.os }}-cargo-mdbook-${{ hashFiles('**/Cargo.lock') }}
target/
key: ${{ runner.os }}-cargo-${{ hashFiles('**/Cargo.lock') }}
restore-keys: |
${{ runner.os }}-cargo-mdbook-
${{ runner.os }}-cargo-

- name: Install mdBook and plugins
run: |
# Check if tools are installed with correct major.minor version
install_if_needed() {
local tool=$1
local major_minor=$2
local cargo_version=$3

if command -v $tool &> /dev/null; then
local current_version=$($tool --version | grep -oE 'v[0-9]+\.[0-9]+' | head -1)
if [[ "$current_version" =~ v$major_minor ]]; then
echo "$tool $current_version already installed and compatible, skipping"
return
else
echo "$tool $current_version found but incompatible, updating to $cargo_version"
fi
else
echo "Installing $tool $cargo_version"
fi

cargo install $tool --vers "$cargo_version" --locked --force
}

# Install mdBook with optimizations
cargo install mdbook \
--no-default-features \
--features search \
--vers "^0.4" \
--locked \
--force
install_if_needed mdbook "0\.4" "^0.4"

# Install plugins
cargo install mdbook-admonish --vers "^1.18" --locked --force
cargo install mdbook-mermaid --vers "^0.14" --locked --force
cargo install mdbook-toc --vers "^0.14" --locked --force
cargo install mdbook-katex --vers "^0.9" --locked --force
install_if_needed mdbook-admonish "1\." "^1.18"
install_if_needed mdbook-mermaid "0\.14" "^0.14"
install_if_needed mdbook-toc "0\.14" "^0.14"
install_if_needed mdbook-katex "0\.9" "^0.9"
# Note: linkcheck skipped due to issues with LaTeX math syntax

- name: Cache mdBook build
uses: actions/cache@v4
with:
path: docs/book
key: ${{ runner.os }}-mdbook-${{ hashFiles('docs/**/*.md', 'docs/book.toml') }}
restore-keys: |
${{ runner.os }}-mdbook-

- name: Build documentation (validates structure)
run: |
cd docs
Expand All @@ -71,6 +96,13 @@ jobs:
# Test the library's rustdoc examples
cargo test --doc

- name: Upload built documentation
uses: actions/upload-artifact@v4
with:
name: built-docs
path: docs/book
retention-days: 1

# Job to build and deploy (only on main branch)
build-deploy:
runs-on: ubuntu-latest
Expand All @@ -85,44 +117,11 @@ jobs:
url: ${{ steps.deployment.outputs.page_url }}

steps:
- name: Checkout repository
uses: actions/checkout@v4

- name: Install Rust toolchain
uses: dtolnay/rust-toolchain@stable

- name: Cache Cargo registry and target
uses: actions/cache@v4
- name: Download built documentation
uses: actions/download-artifact@v4
with:
path: |
~/.cargo/bin/
~/.cargo/registry/index/
~/.cargo/registry/cache/
~/.cargo/git/db/
key: ${{ runner.os }}-cargo-mdbook-${{ hashFiles('**/Cargo.lock') }}
restore-keys: |
${{ runner.os }}-cargo-mdbook-

- name: Install mdBook and plugins
run: |
# Install mdBook with optimizations
cargo install mdbook \
--no-default-features \
--features search \
--vers "^0.4" \
--locked \
--force

# Install plugins with version constraints
cargo install mdbook-admonish --vers "^1.18" --locked --force
cargo install mdbook-mermaid --vers "^0.14" --locked --force
cargo install mdbook-toc --vers "^0.14" --locked --force
cargo install mdbook-katex --vers "^0.9" --locked --force

- name: Build documentation
run: |
cd docs
mdbook build
name: built-docs
path: docs/book

- name: Setup Pages
uses: actions/configure-pages@v5
Expand Down
5 changes: 5 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,8 @@
[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)
[![CI](https://github.com/alexnodeland/fugue/actions/workflows/ci-develop.yml/badge.svg)](https://github.com/alexnodeland/fugue/actions/workflows/ci-develop.yml)
[![codecov](https://codecov.io/gh/alexnodeland/fugue/branch/develop/graph/badge.svg?token=BDJ5OB6GOB)](https://codecov.io/gh/alexnodeland/fugue)
[![Downloads](https://img.shields.io/crates/d/fugue-ppl?logo=rust)](https://crates.io/crates/fugue-ppl)
[![Zotero](https://img.shields.io/badge/Zotero-Fugue-red?style=flat-square&logo=zotero&logoColor=CC2936)](https://www.zotero.org/groups/6138134/fugue/library)
[![Discord](https://img.shields.io/discord/1412802057437712426?logo=discord&label=discord)](https://discord.gg/QAcF7Nwr)

**Supported Rust:** 1.70+ • **Platforms:** Linux / macOS / Windows • **Crate:** [`fugue-ppl` on crates.io](https://crates.io/crates/fugue-ppl)
Expand Down Expand Up @@ -78,6 +80,7 @@ let mu_values: Vec<f64> = samples.iter()
- **[User Guide](https://fugue.run/)** - Comprehensive tutorials and examples
- **[API Reference](https://docs.rs/fugue-ppl/latest/fugue/)** - Complete API documentation
- **Examples** - See `examples/` directory
- **[References](https://www.zotero.org/groups/6138134/fugue/library)** - Zotero library for Fugue

## 🤝 Community

Expand Down Expand Up @@ -122,3 +125,5 @@ If you use Fugue in your research, please cite:
year = {2025}
}
```

Or refer to the "Internal" collection in [Zotero](https://www.zotero.org/groups/6138134/fugue/library) to generate a bibliography.
2 changes: 1 addition & 1 deletion assets/fugue-logo.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
2 changes: 1 addition & 1 deletion docs/src/fugue-logo.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
8 changes: 6 additions & 2 deletions docs/src/home.md
Original file line number Diff line number Diff line change
Expand Up @@ -15,16 +15,19 @@
[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)
[![CI](https://github.com/alexnodeland/fugue/actions/workflows/ci-develop.yml/badge.svg)](https://github.com/alexnodeland/fugue/actions/workflows/ci-develop.yml)
[![codecov](https://codecov.io/gh/alexnodeland/fugue/branch/develop/graph/badge.svg?token=BDJ5OB6GOB)](https://codecov.io/gh/alexnodeland/fugue)
[![Downloads](https://img.shields.io/crates/d/fugue-ppl?logo=rust)](https://crates.io/crates/fugue-ppl)
[![Zotero](https://img.shields.io/badge/Zotero-Fugue-red?style=flat-square&logo=zotero&logoColor=CC2936)](https://www.zotero.org/groups/6138134/fugue/library)
[![Discord](https://img.shields.io/discord/1412802057437712426?logo=discord&label=discord)](https://discord.gg/QAcF7Nwr)

**Supported Rust:** 1.70+ • **Platforms:** Linux / macOS / Windows • **Crate:** [`fugue-ppl` on crates.io](https://crates.io/crates/fugue-ppl)

</div>

---

```admonish info title="👋 Welcome to the Fugue User Guide"
```admonish info title="👋 Welcome"

Fugue is a production-ready, monadic probabilistic programming library for Rust. Check out these resources to get started:
Check out these resources to get started:

- [Getting Started](./getting-started/README.md) - Installation and first steps
- [How-To Guides](./how-to/README.md) - Practical guides for common tasks
Expand Down Expand Up @@ -54,4 +57,5 @@ fugue-ppl = "0.1.0"

- [GitHub Repository](https://github.com/alexnodeland/fugue)
- [API Reference](https://docs.rs/fugue-ppl)
- [Zotero](https://www.zotero.org/groups/6138134/fugue/library)
```