[package]
edition = "2024"
rust-version = "1.95"
name = "rpo"
version = "0.1.0-beta.5"
build = false
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "Git contribution analysis: commits, file changes, and per-line authorship over time as polars DataFrames"
homepage = "https://github.com/crlane/rpo-rust"
documentation = "https://docs.rs/rpo"
readme = "README.md"
keywords = [
"git",
"analysis",
"blame",
"polars",
"bus-factor",
]
categories = ["development-tools"]
license = "MIT"
repository = "https://github.com/crlane/rpo-rust"
[package.metadata.docs.rs]
all-features = true
rustdoc-args = [
"--cfg",
"docsrs",
]
[features]
backend-git2 = ["dep:git2"]
backend-gix = [
"dep:gix",
"dep:gix-blame",
"dep:gix-mailmap",
]
default = ["backend-gix"]
sink-duckdb = ["dep:duckdb"]
[lib]
name = "rpo"
path = "src/lib.rs"
[[test]]
name = "all_populates_both_blame_frames"
path = "tests/all_populates_both_blame_frames.rs"
[[test]]
name = "blame_over_time"
path = "tests/blame_over_time.rs"
[[test]]
name = "empty_repo"
path = "tests/empty_repo.rs"
[[test]]
name = "end_to_end"
path = "tests/end_to_end.rs"
[[test]]
name = "gitattributes"
path = "tests/gitattributes.rs"
[[test]]
name = "globs"
path = "tests/globs.rs"
[[test]]
name = "large_repo"
path = "tests/large_repo.rs"
[[test]]
name = "linear_history"
path = "tests/linear_history.rs"
[[test]]
name = "mailmap"
path = "tests/mailmap.rs"
[[test]]
name = "merges"
path = "tests/merges.rs"
[[test]]
name = "renames"
path = "tests/renames.rs"
[[test]]
name = "sinks"
path = "tests/sinks.rs"
[[test]]
name = "skipped_files"
path = "tests/skipped_files.rs"
[[test]]
name = "snapshot_selectors"
path = "tests/snapshot_selectors.rs"
[[test]]
name = "tree_paths"
path = "tests/tree_paths.rs"
[[test]]
name = "unreachable_tag"
path = "tests/unreachable_tag.rs"
[dependencies.duckdb]
version = "1.1"
features = ["bundled"]
optional = true
[dependencies.git2]
version = "0.20"
optional = true
[dependencies.gix]
version = "0.87"
optional = true
default-features = true
[dependencies.gix-blame]
version = "0.17"
optional = true
[dependencies.gix-mailmap]
version = "0.34"
optional = true
[dependencies.globset]
version = "0.4"
[dependencies.jiff]
version = "0.2"
[dependencies.polars]
version = "0.55"
features = [
"dtype-datetime",
"dtype-categorical",
"parquet",
"lazy",
"strings",
]
[dependencies.rayon]
version = "1.10"
[dependencies.thiserror]
version = "2.0"
[dependencies.tracing]
version = "0.1"
[dev-dependencies.duckdb]
version = "1.1"
features = ["bundled"]
[dev-dependencies.tempfile]
version = "3"