[workspace] members = ["apb"] [package] name = "upub" version = "0.1.0" edition = "2021" authors = [ "alemi " ] description = "Traits and types to handle ActivityPub objects" license = "AGPL-3.0" keywords = ["activitypub", "activitystreams", "json"] repository = "https://git.alemi.dev/upub.git" readme = "README.md" # See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html [dependencies] thiserror = "1" rand = "0.8" sha256 = "1.5" openssl = "0.10" # TODO handle pubkeys with a smaller crate base64 = "0.22" chrono = { version = "0.4", features = ["serde"] } uuid = { version = "1.8", features = ["v4"] } serde = { version = "1", features = ["derive"] } serde_json = "1" jrd = "0.1" tracing = "0.1" tracing-subscriber = "0.3" clap = { version = "4.5", features = ["derive"] } tokio = { version = "1.35", features = ["full"] } # TODO slim this down sea-orm = { version = "0.12", features = ["macros", "sqlx-sqlite", "runtime-tokio-rustls"] } reqwest = { version = "0.12", features = ["json"] } axum = "0.7" apb = { path = "apb", features = ["unstructured", "orm"] } # nodeinfo = "0.0.2" # the version on crates.io doesn't re-export necessary types to build the struct!!! nodeinfo = { git = "https://codeberg.org/thefederationinfo/nodeinfo-rs", rev = "e865094804" } # migrations sea-orm-migration = { version = "0.12", optional = true } # mastodon mastodon-async-entities = { version = "1.1.0", optional = true } time = { version = "0.3", features = ["serde"], optional = true } [features] default = ["faker", "migrations", "mastodon"] faker = [] migrations = ["dep:sea-orm-migration"] mastodon = ["dep:mastodon-async-entities", "dep:time"]