[package]
edition = "2024"
name = "elephantry"
version = "5.2.0"
authors = ["Sanpi <sanpi@homecomputing.fr>"]
build = false
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "Object model manager for PostgreSQL"
homepage = "https://elephantry.github.io"
readme = "README.md"
keywords = [
"database",
"postgresql",
]
categories = ["database"]
license = "MIT"
repository = "https://github.com/elephantry/elephantry"
[package.metadata.docs.rs]
features = ["pg16"]
cargo-args = [
"-Zunstable-options",
"-Zrustdoc-scrape-examples",
]
rustdoc-args = [
"--cfg",
"docsrs",
]
[features]
all-types = [
"bit",
"date",
"geo",
"json",
"ltree",
"money",
"net",
"numeric",
"time",
"uuid",
"xml",
]
bit = [
"bit-vec",
"elephantry-derive/bit",
]
chrono = [
"dep:chrono",
"elephantry-derive/chrono",
]
config = [
"dep:config",
"serde",
]
date = [
"chrono",
"elephantry-derive/date",
]
default = []
geo = [
"geo-types",
"elephantry-derive/geo",
]
inspect = []
jiff = [
"dep:jiff",
"elephantry-derive/jiff",
]
json = [
"serde_json",
"elephantry-derive/json",
]
ltree = ["elephantry-derive/ltree"]
money = [
"postgres_money",
"elephantry-derive/money",
]
multirange = [
"libpq/v14",
"elephantry-derive/multirange",
]
net = [
"ipnetwork",
"macaddr",
"elephantry-derive/net",
]
numeric = [
"bigdecimal",
"num",
"elephantry-derive/numeric",
]
pg14 = [
"libpq/v14",
"multirange",
]
pg16 = ["libpq/v16"]
pg17 = ["libpq/v17"]
pg18 = ["libpq/v18"]
rocket = [
"r2d2",
"rocket_sync_db_pools",
]
serde = [
"dep:serde",
"bigdecimal?/serde",
"bit-vec?/serde",
"chrono?/serde",
"geo-types?/serde",
"ipnetwork?/serde",
"jiff?/serde",
"macaddr?/serde",
"postgres_money?/serde",
"time?/serde",
"uuid?/serde",
]
time = [
"dep:time",
"elephantry-derive/time",
]
uuid = [
"dep:uuid",
"elephantry-derive/uuid",
]
xml = [
"xmltree",
"elephantry-derive/xml",
]
[lib]
name = "elephantry"
path = "src/lib.rs"
[[example]]
name = "00-config"
path = "examples/00-config.rs"
doc-scrape-examples = true
required-features = ["config"]
[[example]]
name = "01-execute"
path = "examples/01-execute.rs"
[[example]]
name = "02-query"
path = "examples/02-query.rs"
doc-scrape-examples = true
required-features = [
"date",
"numeric",
]
[[example]]
name = "03-read"
path = "examples/03-read.rs"
doc-scrape-examples = true
required-features = [
"date",
"numeric",
]
[[example]]
name = "04-write"
path = "examples/04-write.rs"
doc-scrape-examples = true
required-features = [
"date",
"numeric",
]
[[example]]
name = "05-extra"
path = "examples/05-extra.rs"
doc-scrape-examples = true
required-features = [
"date",
"numeric",
]
[[example]]
name = "06-complex"
path = "examples/06-complex.rs"
doc-scrape-examples = true
required-features = [
"date",
"numeric",
]
[[example]]
name = "07-relations"
path = "examples/07-relations.rs"
doc-scrape-examples = true
required-features = [
"date",
"numeric",
]
[[example]]
name = "08-composite"
path = "examples/08-composite.rs"
doc-scrape-examples = true
required-features = [
"date",
"numeric",
]
[[example]]
name = "09-async"
path = "examples/09-async.rs"
doc-scrape-examples = true
required-features = [
"date",
"numeric",
]
[[example]]
name = "10-transaction"
path = "examples/10-transaction.rs"
doc-scrape-examples = true
required-features = [
"date",
"numeric",
]
[[example]]
name = "11-notification"
path = "examples/11-notification.rs"
doc-scrape-examples = true
[[example]]
name = "12-copy"
path = "examples/12-copy.rs"
doc-scrape-examples = true
required-features = [
"date",
"numeric",
]
[[example]]
name = "13-enum"
path = "examples/13-enum.rs"
[[test]]
name = "basic"
path = "tests/basic.rs"
[[test]]
name = "entity"
path = "tests/entity.rs"
[[test]]
name = "entity_derive"
path = "tests/entity_derive.rs"
[dependencies.arbitrary]
version = "1.0"
features = ["derive"]
optional = true
[dependencies.bigdecimal]
version = "0.4"
optional = true
[dependencies.bit-vec]
version = "0.9"
optional = true
[dependencies.bitflags]
version = "2.0"
[dependencies.byteorder]
version = "1.3"
[dependencies.bytes]
version = "1.0"
[dependencies.chrono]
version = "0.4"
features = [
"clock",
"std",
]
optional = true
default-features = false
[dependencies.config]
version = "0.15"
optional = true
[dependencies.elephantry-derive]
version = "5.2"
[dependencies.geo-types]
version = "0.7.8"
optional = true
[dependencies.ipnetwork]
version = "0.21"
optional = true
[dependencies.jiff]
version = "0.2"
features = ["std"]
optional = true
default-features = false
[dependencies.libpq]
version = "6.0"
[dependencies.log]
version = "0.4"
[dependencies.macaddr]
version = "1.0.0"
optional = true
[dependencies.num]
version = "0.4"
optional = true
[dependencies.postgres_money]
version = "0.4"
optional = true
[dependencies.r2d2]
version = "0.8"
optional = true
[dependencies.regex]
version = "1.3"
[dependencies.rocket_sync_db_pools]
version = "0.1"
optional = true
[dependencies.serde]
version = "1.0"
features = ["derive"]
optional = true
[dependencies.serde_json]
version = "1.0"
optional = true
[dependencies.thiserror]
version = "2.0"
[dependencies.time]
version = "0.3"
features = [
"macros",
"parsing",
]
optional = true
[dependencies.tuple_len]
version = "3.0"
[dependencies.uuid]
version = "1.0"
optional = true
[dependencies.xmltree]
version = "0.12"
optional = true
[dev-dependencies.env_logger]
version = "0.11"
[dev-dependencies.serde_json]
version = "1.0"
[dev-dependencies.smol]
version = "2.0"
[dev-dependencies.uuid]
version = "1.0"