prax-orm 0.3.1

A next-generation, type-safe ORM for Rust inspired by Prisma
Documentation
[[bench]]
harness = false
name = "database_execution"
path = "benches/database_execution.rs"

[[bench]]
harness = false
name = "filter_operations"
path = "benches/filter_operations.rs"

[[bench]]
harness = false
name = "orm_comparison"
path = "benches/orm_comparison.rs"

[[bench]]
harness = false
name = "query_builder"
path = "benches/query_builder.rs"

[dependencies.dhat]
optional = true
version = "0.3"

[dependencies.memory-stats]
optional = true
version = "1.2"

[dependencies.pprof]
features = ["flamegraph", "criterion"]
optional = true
version = "0.14"

[dependencies.prax-codegen]
version = "0.3.1"

[dependencies.prax-schema]
version = "0.3.1"

[dependencies.tracing-chrome]
optional = true
version = "0.7"

[dependencies.tracing-flame]
optional = true
version = "0.2"

[dependencies.tracing-subscriber]
features = ["env-filter", "fmt", "json"]
optional = true
version = "0.3"

[dev-dependencies.cargo-husky]
default-features = false
features = ["user-hooks"]
version = "1"

[dev-dependencies.chrono]
features = ["serde"]
version = "0.4"

[dev-dependencies.criterion]
features = ["html_reports", "async_tokio"]
version = "0.5"

[dev-dependencies.diesel]
features = ["postgres", "mysql", "sqlite", "r2d2"]
version = "2.2"

[dev-dependencies.diesel-async]
features = ["postgres", "mysql", "deadpool"]
version = "0.5"

[dev-dependencies.insta]
features = ["yaml"]
version = "1.40"

[dev-dependencies.prax-mysql]
version = "0.3.1"

[dev-dependencies.prax-postgres]
version = "0.3.1"

[dev-dependencies.prax-query]
version = "0.3.1"

[dev-dependencies.prax-schema]
version = "0.3.1"

[dev-dependencies.prax-sqlite]
version = "0.3.1"

[dev-dependencies.rusqlite]
features = ["bundled"]
version = "0.32"

[dev-dependencies.sea-orm]
features = ["sqlx-postgres", "sqlx-mysql", "sqlx-sqlite", "runtime-tokio-rustls", "macros"]
version = "1.1"

[dev-dependencies.serde_json]
version = "1.0"

[dev-dependencies.sqlx]
features = ["runtime-tokio", "tls-rustls", "macros", "json", "chrono", "uuid", "postgres", "mysql", "sqlite", "runtime-tokio"]
version = "0.8"

[dev-dependencies.tokio]
features = ["full"]
version = "1.40"

[dev-dependencies.toml]
version = "0.8"

[dev-dependencies.tracing]
version = "0.1"

[dev-dependencies.tracing-subscriber]
features = ["env-filter", "fmt", "json"]
version = "0.3"

[[example]]
name = "basic_queries"
path = "examples/basic_queries.rs"

[[example]]
name = "logging_demo"
path = "examples/logging_demo.rs"

[[example]]
name = "middleware"
path = "examples/middleware.rs"

[[example]]
name = "multi_tenant"
path = "examples/multi_tenant.rs"

[[example]]
name = "profile_cache_branch"
path = "examples/profile_cache_branch.rs"

[[example]]
name = "profile_cpu"
path = "examples/profile_cpu.rs"

[[example]]
name = "profile_filter_allocations"
path = "examples/profile_filter_allocations.rs"

[[example]]
name = "profile_memory"
path = "examples/profile_memory.rs"

[[example]]
name = "profile_orm_comparison"
path = "examples/profile_orm_comparison.rs"

[[example]]
name = "profile_size_analysis"
path = "examples/profile_size_analysis.rs"

[[example]]
name = "profile_tracing"
path = "examples/profile_tracing.rs"

[[example]]
name = "raw_sql"
path = "examples/raw_sql.rs"

[[example]]
name = "relations"
path = "examples/relations.rs"

[[example]]
name = "schema_parsing"
path = "examples/schema_parsing.rs"

[[example]]
name = "seed"
path = "examples/seed.rs"

[[example]]
name = "transactions"
path = "examples/transactions.rs"

[features]
cpu-profiling = ["pprof"]
default = ["postgres"]
heap-profiling = ["dhat"]
memory-stats = ["dep:memory-stats"]
mongodb = []
mysql = []
postgres = []
profiling = ["tracing-subscriber", "tracing-flame", "tracing-chrome"]
sqlite = []

[lib]
name = "prax_orm"
path = "src/lib.rs"

[package]
authors = ["Pegasus Heavy Industries LLC <dev@pegasusheavy.com>"]
autobenches = false
autobins = false
autoexamples = false
autolib = false
autotests = false
build = false
categories = ["database", "asynchronous"]
description = "A next-generation, type-safe ORM for Rust inspired by Prisma"
documentation = "https://docs.rs/prax-orm"
edition = "2024"
exclude = [".github/*", ".cursor/*", "TODO.md"]
homepage = "https://github.com/pegasusheavy/prax"
keywords = ["orm", "database", "postgres", "async", "sql"]
license = "MIT OR Apache-2.0"
name = "prax-orm"
readme = "README.md"
repository = "https://github.com/pegasusheavy/prax"
resolver = "2"
rust-version = "1.85"
version = "0.3.1"

[package.metadata.docs.rs]
all-features = true
rustdoc-args = ["--cfg", "docsrs"]

[package.metadata.husky.hooks]
commit-msg = ".cargo-husky/hooks/commit-msg"
pre-commit = ".cargo-husky/hooks/pre-commit"
pre-push = ".cargo-husky/hooks/pre-push"

[profile.bench]
codegen-units = 1
lto = "thin"

[profile.dev]
opt-level = 0

[profile.dev-opt]
inherits = "dev"
opt-level = 2

[profile.profiling]
debug = 2
inherits = "release"
strip = false

[profile.release]
codegen-units = 1
lto = "thin"
panic = "abort"

[[test]]
name = "config_integration"
path = "tests/config_integration.rs"

[[test]]
name = "query_integration"
path = "tests/query_integration.rs"

[[test]]
name = "schema_integration"
path = "tests/schema_integration.rs"