# THIS FILE IS AUTOMATICALLY GENERATED BY CARGO # # When uploading crates to the registry Cargo will automatically # "normalize" Cargo.toml files for maximal compatibility # with all versions of Cargo and also rewrite `path` dependencies # to registry (e.g., crates.io) dependencies. # # If you are reading this file be aware that the original Cargo.toml # will likely look very different (and much more reasonable). # See Cargo.toml.orig for the original contents. [package] edition = "2021" name = "tardis" version = "0.1.0-rc.17" authors = ["gudaoxuri "] build = false autobins = false autoexamples = false autotests = false autobenches = false description = "Elegant, clean Rust development framework" homepage = "https://github.com/ideal-world/tardis" documentation = "https://docs.rs/tardis/" readme = "README.md" keywords = [ "http", "database", "web", "redis", "mq", ] categories = [ "asynchronous", "web-programming", "database", "caching", ] license = "MIT/Apache-2.0" repository = "https://github.com/ideal-world/tardis" [package.metadata.docs.rs] all-features = true rustdoc-args = [ "--cfg", "docsrs", ] [lib] name = "tardis" path = "src/lib.rs" [[test]] name = "build_proto" path = "tests/build_proto.rs" [[test]] name = "macros_test_all" path = "tests/macros_test_all.rs" [[test]] name = "test_basic_dto" path = "tests/test_basic_dto.rs" [[test]] name = "test_basic_field" path = "tests/test_basic_field.rs" [[test]] name = "test_basic_json" path = "tests/test_basic_json.rs" [[test]] name = "test_basic_locale" path = "tests/test_basic_locale.rs" [[test]] name = "test_basic_logger" path = "tests/test_basic_logger.rs" [[test]] name = "test_basic_tracing" path = "tests/test_basic_tracing.rs" required-features = [ "test", "tracing", ] [[test]] name = "test_basic_uri" path = "tests/test_basic_uri.rs" [[test]] name = "test_cache_client" path = "tests/test_cache_client.rs" required-features = [ "test", "cache", ] [[test]] name = "test_config" path = "tests/test_config.rs" required-features = ["crypto"] [[test]] name = "test_config_with_remote" path = "tests/test_config_with_remote.rs" required-features = [ "test", "crypto", "web-server", "cache", "web-client", "conf-remote", "mq", ] [[test]] name = "test_crypto" path = "tests/test_crypto.rs" required-features = [ "crypto", "crypto-with-sm", ] [[test]] name = "test_mail_client" path = "tests/test_mail_client.rs" required-features = [ "test", "mail", ] [[test]] name = "test_mq_client" path = "tests/test_mq_client.rs" required-features = [ "test", "mq", ] [[test]] name = "test_os_client" path = "tests/test_os_client.rs" required-features = [ "test", "os", ] [[test]] name = "test_reldb_client" path = "tests/test_reldb_client.rs" required-features = [ "test", "reldb", ] [[test]] name = "test_search_client" path = "tests/test_search_client.rs" required-features = [ "test", "web-client", ] [[test]] name = "test_web_client" path = "tests/test_web_client.rs" required-features = [ "test", "web-client", ] [[test]] name = "test_web_server" path = "tests/test_web_server.rs" required-features = [ "test", "web-server", "cache", "web-client", "crypto", "web-server-grpc", ] [[bench]] name = "crypto_benchmark" path = "benches/crypto_benchmark.rs" harness = false required-features = [ "crypto", "crypto-with-sm", ] [[bench]] name = "field_benchmark" path = "benches/field_benchmark.rs" harness = false [[bench]] name = "json_benchmark" path = "benches/json_benchmark.rs" harness = false [dependencies.aead] version = "0.5" optional = true [dependencies.aes] version = "0.8" optional = true [dependencies.aes-gcm] version = "0.10" optional = true [dependencies.aes-gcm-siv] version = "0.11" optional = true [dependencies.aes-siv] version = "0.7" optional = true [dependencies.amq-protocol-types] version = "7.0" optional = true [dependencies.anyhow] version = "1.0" optional = true [dependencies.async-global-executor] version = "2" features = ["tokio"] optional = true [dependencies.async-stream] version = "0.3" optional = true [dependencies.async-trait] version = "0.1" optional = true [dependencies.base64] version = "0.22" [dependencies.cbc] version = "0.1" optional = true [dependencies.chrono] version = "0.4" features = ["serde"] [dependencies.cipher] version = "0.4" features = [ "block-padding", "alloc", ] optional = true [dependencies.config] version = "0.13" [dependencies.console-subscriber] version = "0.4" optional = true [dependencies.crossbeam] version = "0.8.4" [dependencies.deadpool-redis] version = "0.18" optional = true [dependencies.derive_more] version = "1" features = ["full"] [dependencies.digest] version = "0.10" optional = true [dependencies.ecb] version = "0.1" optional = true [dependencies.futures] version = "0.3" optional = true [dependencies.futures-util] version = "0.3" optional = true [dependencies.git-version] version = "0.3.9" optional = true [dependencies.hex] version = "0.4" [dependencies.hmac] version = "0.12" optional = true [dependencies.http] version = "1.1.0" [dependencies.lapin] version = "2" optional = true [dependencies.lazy_static] version = "1.4" [dependencies.lettre] version = "0.11" features = [ "smtp-transport", "tokio1", "tokio1-native-tls", "builder", ] optional = true [dependencies.libsm] version = "0.6" optional = true [dependencies.lru] version = "0.12.0" [dependencies.md-5] version = "0.10" optional = true [dependencies.nanoid] version = "0.4" [dependencies.native-tls] version = "0.2" optional = true [dependencies.num-bigint] version = "0.4" optional = true [dependencies.opentelemetry] version = "0.24" features = ["trace"] optional = true default-features = false [dependencies.opentelemetry-http] version = "0.13" optional = true [dependencies.opentelemetry-otlp] version = "0.17" features = [ "reqwest-client", "reqwest-rustls", "http-proto", "tls", ] optional = true [dependencies.opentelemetry_sdk] version = "0.24" features = [ "rt-tokio", "trace", ] optional = true default-features = false [dependencies.paste] version = "1.0" [dependencies.poem] version = "3" features = [ "csrf", "opentelemetry", "rustls", "prometheus", "websocket", "multipart", "tempfile", "session", ] optional = true [dependencies.poem-grpc] version = "0.5" optional = true [dependencies.poem-openapi] version = "5" features = [ "chrono", "websocket", ] optional = true [dependencies.poem-openapi-derive] version = "5" optional = true [dependencies.rand] version = "0.8" [dependencies.rand_core] version = "0.6" [dependencies.redis] version = "0.27" features = [ "tokio-comp", "tokio-native-tls-comp", ] optional = true [dependencies.regex] version = "1.5" [dependencies.reqwest] version = "0.12" features = [ "json", "multipart", "stream", ] optional = true [dependencies.rsa] version = "0.9" features = ["pem"] optional = true [dependencies.rust-s3] version = "0.35.1" features = ["no-verify-ssl"] optional = true [dependencies.sea-orm] version = "1" features = [ "macros", "runtime-tokio-native-tls", "with-chrono", "with-json", "debug-print", ] optional = true [dependencies.serde] version = "1" features = ["derive"] [dependencies.serde_json] version = "1" [dependencies.sha1] version = "0.10" optional = true [dependencies.sha2] version = "0.10" optional = true [dependencies.sm3] version = "0.4" optional = true [dependencies.sqlparser] version = "0" optional = true [dependencies.sqlx] version = "0.8" features = ["any"] optional = true [dependencies.tardis-macros] version = "0.1.0-rc.17" optional = true [dependencies.testcontainers] version = "0.23" optional = true [dependencies.testcontainers-modules] version = "0.11" features = [ "minio", "redis", "rabbitmq", "mysql", "postgres", "elastic_search", ] optional = true [dependencies.tokio] version = "1" features = [ "macros", "rt-multi-thread", "signal", "time", "sync", ] [dependencies.tokio-tungstenite] version = "0.24" features = ["native-tls"] optional = true [dependencies.tokio-util] version = "0.7.12" [dependencies.tracing] version = "0.1" [dependencies.tracing-appender] version = "0.2" optional = true [dependencies.tracing-opentelemetry] version = "0.25" optional = true [dependencies.tracing-subscriber] version = "0.3" features = ["env-filter"] [dependencies.typed-builder] version = "0.20" [dependencies.url] version = "2.2" features = ["serde"] [dependencies.urlencoding] version = "2" optional = true [dev-dependencies.criterion] version = "0.5" [dev-dependencies.poem-grpc-build] version = "0.5" [dev-dependencies.portpicker] version = "0.1.1" [dev-dependencies.prost] version = "0.13.3" [dev-dependencies.rust_decimal] version = "1" [dev-dependencies.serde] version = "1" features = ["derive"] [dev-dependencies.strip-ansi-escapes] version = "0.2.0" [dev-dependencies.tokio] version = "1" features = [ "time", "rt", "macros", "sync", "process", ] [dev-dependencies.trybuild] version = "1.0" [features] aead = [ "aes-gcm-siv", "aes-gcm", "aes-siv", "dep:aead", ] base64 = [] block_modes = [ "cbc", "ecb", "aes", "cipher", ] build-info = ["git-version"] cache = [ "futures-util", "redis", "deadpool-redis", ] cluster = [ "web-server", "ws-client", "cache", ] conf-remote = [ "web-client", "async-trait", "crypto", ] crypto = [ "rsa", "digest", "aead", "block_modes", ] crypto-with-sm = [ "crypto", "libsm", "num-bigint", ] default = [ "tardis-macros", "async-trait", "base64", ] digest = [ "sha1", "sha2", "hmac", "md-5", "sm3", "dep:digest", ] fs = [ "tokio/fs", "tokio/io-util", ] future = [ "futures", "async-stream", "futures-util", "async-trait", ] mail = ["lettre"] mq = [ "futures-util", "lapin", "amq-protocol-types", "async-global-executor", ] openapi-rapidoc = ["poem-openapi/rapidoc"] openapi-redoc = ["poem-openapi/redoc"] openapi-swagger = ["poem-openapi/swagger-ui"] opentelemetry-http = ["dep:opentelemetry-http"] os = [ "async-trait", "anyhow", "rust-s3", "urlencoding", ] process = ["tokio/process"] reldb = [ "reldb-core", "reldb-postgres", "reldb-mysql", "reldb-sqlite", ] reldb-core = [ "future", "sqlparser", "sea-orm", "sqlx", ] reldb-mysql = [ "reldb-core", "sea-orm/sqlx-mysql", "tardis-macros/reldb-mysql", ] reldb-postgres = [ "reldb-core", "sea-orm/json-array", "sea-orm/sqlx-postgres", "tardis-macros/reldb-postgres", ] reldb-sqlite = [ "reldb-core", "sea-orm/sqlx-sqlite", "tardis-macros/reldb-sqlite", ] test = [ "testcontainers", "testcontainers-modules", ] tls = ["native-tls"] tokio-console = ["console-subscriber"] tracing = [ "tracing-opentelemetry", "opentelemetry", "opentelemetry-otlp", "opentelemetry_sdk", "opentelemetry-http", "poem?/opentelemetry", ] tracing-appender = ["dep:tracing-appender"] web-client = ["reqwest"] web-server = [ "future", "poem", "poem-openapi", "poem-openapi-derive", ] web-server-grpc = [ "web-server", "dep:poem-grpc", ] ws-client = [ "future", "tokio-tungstenite", "tls", ]