[package]
edition = "2024"
rust-version = "1.94"
name = "faucet-stream"
version = "1.0.2"
build = false
exclude = [".trunk/"]
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "A declarative, config-driven data pipeline with pluggable source and sink connectors"
readme = "README.md"
keywords = [
"rest",
"api",
"meltano",
"bigquery",
"streaming",
]
categories = ["web-programming::http-client"]
license = "MIT OR Apache-2.0"
repository = "https://github.com/PawanSikawat/faucet-stream"
[package.metadata.docs.rs]
all-features = true
rustdoc-args = [
"--cfg",
"docsrs",
]
[features]
auth = ["dep:faucet-auth"]
compression = [
"faucet-source-csv?/compression",
"faucet-source-s3?/compression",
"faucet-source-gcs?/compression",
"faucet-sink-jsonl?/compression",
"faucet-sink-csv?/compression",
"faucet-sink-s3?/compression",
"faucet-sink-gcs?/compression",
]
default = ["source-rest"]
full = [
"source",
"sink",
"state",
"auth",
"kafka-schema-registry",
"compression",
"quality",
"quality-jsonschema",
]
kafka-schema-registry = [
"faucet-common-kafka?/schema-registry",
"faucet-source-kafka?/schema-registry",
"faucet-sink-kafka?/schema-registry",
]
quality = ["faucet-core/quality"]
quality-jsonschema = [
"quality",
"faucet-core/quality-jsonschema",
]
sink = [
"sink-bigquery",
"sink-postgres",
"sink-jsonl",
"sink-snowflake",
"sink-kafka",
"sink-mysql",
"sink-mssql",
"sink-sqlite",
"sink-s3",
"sink-mongodb",
"sink-redis",
"sink-csv",
"sink-elasticsearch",
"sink-http",
"sink-stdout",
"sink-parquet",
"sink-gcs",
]
sink-bigquery = ["dep:faucet-sink-bigquery"]
sink-csv = ["dep:faucet-sink-csv"]
sink-elasticsearch = ["dep:faucet-sink-elasticsearch"]
sink-gcs = [
"dep:faucet-sink-gcs",
"dep:faucet-common-gcs",
]
sink-http = ["dep:faucet-sink-http"]
sink-jsonl = ["dep:faucet-sink-jsonl"]
sink-kafka = [
"dep:faucet-sink-kafka",
"dep:faucet-common-kafka",
]
sink-mongodb = ["dep:faucet-sink-mongodb"]
sink-mssql = ["dep:faucet-sink-mssql"]
sink-mysql = ["dep:faucet-sink-mysql"]
sink-parquet = ["dep:faucet-sink-parquet"]
sink-postgres = ["dep:faucet-sink-postgres"]
sink-redis = ["dep:faucet-sink-redis"]
sink-s3 = ["dep:faucet-sink-s3"]
sink-snowflake = ["dep:faucet-sink-snowflake"]
sink-sqlite = ["dep:faucet-sink-sqlite"]
sink-stdout = ["dep:faucet-sink-stdout"]
source = [
"source-rest",
"source-graphql",
"source-xml",
"source-grpc",
"source-kafka",
"source-postgres",
"source-postgres-cdc",
"source-mysql",
"source-mssql",
"source-sqlite",
"source-s3",
"source-mongodb",
"source-redis",
"source-webhook",
"source-websocket",
"source-csv",
"source-elasticsearch",
"source-parquet",
"source-gcs",
"source-bigquery",
"source-snowflake",
]
source-bigquery = [
"dep:faucet-source-bigquery",
"dep:faucet-common-bigquery",
]
source-csv = ["dep:faucet-source-csv"]
source-elasticsearch = ["dep:faucet-source-elasticsearch"]
source-gcs = [
"dep:faucet-source-gcs",
"dep:faucet-common-gcs",
]
source-graphql = ["dep:faucet-source-graphql"]
source-grpc = ["dep:faucet-source-grpc"]
source-kafka = [
"dep:faucet-source-kafka",
"dep:faucet-common-kafka",
]
source-mongodb = ["dep:faucet-source-mongodb"]
source-mssql = ["dep:faucet-source-mssql"]
source-mysql = ["dep:faucet-source-mysql"]
source-parquet = ["dep:faucet-source-parquet"]
source-postgres = ["dep:faucet-source-postgres"]
source-postgres-cdc = ["dep:faucet-source-postgres-cdc"]
source-redis = ["dep:faucet-source-redis"]
source-rest = ["dep:faucet-source-rest"]
source-s3 = ["dep:faucet-source-s3"]
source-snowflake = [
"dep:faucet-source-snowflake",
"dep:faucet-common-snowflake",
]
source-sqlite = ["dep:faucet-source-sqlite"]
source-webhook = ["dep:faucet-source-webhook"]
source-websocket = ["dep:faucet-source-websocket"]
source-xml = ["dep:faucet-source-xml"]
state = [
"state-redis",
"state-postgres",
]
state-postgres = ["dep:faucet-state-postgres"]
state-redis = ["dep:faucet-state-redis"]
transform-cast = ["faucet-source-rest?/transform-cast"]
transform-drop = ["faucet-source-rest?/transform-drop"]
transform-explode = ["faucet-source-rest?/transform-explode"]
transform-filter = ["faucet-source-rest?/transform-filter"]
transform-flatten = ["faucet-source-rest?/transform-flatten"]
transform-keys-case = ["faucet-source-rest?/transform-keys-case"]
transform-redact = ["faucet-source-rest?/transform-redact"]
transform-rename-field = ["faucet-source-rest?/transform-rename-field"]
transform-rename-keys = ["faucet-source-rest?/transform-rename-keys"]
transform-select = ["faucet-source-rest?/transform-select"]
transform-set = ["faucet-source-rest?/transform-set"]
transform-spell-symbols = ["faucet-source-rest?/transform-spell-symbols"]
transform-value-case = ["faucet-source-rest?/transform-value-case"]
transforms = ["faucet-source-rest?/transforms"]
[lib]
name = "faucet_stream"
path = "src/lib.rs"
[[example]]
name = "csv_to_bigquery"
path = "examples/csv_to_bigquery.rs"
required-features = [
"source-csv",
"sink-bigquery",
]
[[example]]
name = "csv_to_mysql"
path = "examples/csv_to_mysql.rs"
required-features = [
"source-csv",
"sink-mysql",
]
[[example]]
name = "csv_to_sqlite"
path = "examples/csv_to_sqlite.rs"
required-features = [
"source-csv",
"sink-sqlite",
]
[[example]]
name = "elasticsearch_to_redis"
path = "examples/elasticsearch_to_redis.rs"
required-features = [
"source-elasticsearch",
"sink-redis",
]
[[example]]
name = "elasticsearch_to_s3"
path = "examples/elasticsearch_to_s3.rs"
required-features = [
"source-elasticsearch",
"sink-s3",
]
[[example]]
name = "graphql_to_bigquery"
path = "examples/graphql_to_bigquery.rs"
required-features = [
"source-graphql",
"sink-bigquery",
]
[[example]]
name = "graphql_to_postgres"
path = "examples/graphql_to_postgres.rs"
required-features = [
"source-graphql",
"sink-postgres",
]
[[example]]
name = "grpc_to_elasticsearch"
path = "examples/grpc_to_elasticsearch.rs"
required-features = [
"source-grpc",
"sink-elasticsearch",
]
[[example]]
name = "grpc_to_http"
path = "examples/grpc_to_http.rs"
required-features = [
"source-grpc",
"sink-http",
]
[[example]]
name = "mongodb_to_elasticsearch"
path = "examples/mongodb_to_elasticsearch.rs"
required-features = [
"source-mongodb",
"sink-elasticsearch",
]
[[example]]
name = "mongodb_to_postgres"
path = "examples/mongodb_to_postgres.rs"
required-features = [
"source-mongodb",
"sink-postgres",
]
[[example]]
name = "mongodb_to_redis"
path = "examples/mongodb_to_redis.rs"
required-features = [
"source-mongodb",
"sink-redis",
]
[[example]]
name = "mysql_to_bigquery"
path = "examples/mysql_to_bigquery.rs"
required-features = [
"source-mysql",
"sink-bigquery",
]
[[example]]
name = "mysql_to_postgres"
path = "examples/mysql_to_postgres.rs"
required-features = [
"source-mysql",
"sink-postgres",
]
[[example]]
name = "mysql_to_snowflake"
path = "examples/mysql_to_snowflake.rs"
required-features = [
"source-mysql",
"sink-snowflake",
]
[[example]]
name = "postgres_to_bigquery"
path = "examples/postgres_to_bigquery.rs"
required-features = [
"source-postgres",
"sink-bigquery",
]
[[example]]
name = "postgres_to_elasticsearch"
path = "examples/postgres_to_elasticsearch.rs"
required-features = [
"source-postgres",
"sink-elasticsearch",
]
[[example]]
name = "postgres_to_s3"
path = "examples/postgres_to_s3.rs"
required-features = [
"source-postgres",
"sink-s3",
]
[[example]]
name = "postgres_to_snowflake"
path = "examples/postgres_to_snowflake.rs"
required-features = [
"source-postgres",
"sink-snowflake",
]
[[example]]
name = "redis_to_mysql"
path = "examples/redis_to_mysql.rs"
required-features = [
"source-redis",
"sink-mysql",
]
[[example]]
name = "redis_to_sqlite"
path = "examples/redis_to_sqlite.rs"
required-features = [
"source-redis",
"sink-sqlite",
]
[[example]]
name = "rest_streaming"
path = "examples/rest_streaming.rs"
required-features = [
"source-rest",
"sink-jsonl",
]
[[example]]
name = "rest_to_bigquery"
path = "examples/rest_to_bigquery.rs"
required-features = [
"source-rest",
"sink-bigquery",
]
[[example]]
name = "rest_to_jsonl"
path = "examples/rest_to_jsonl.rs"
required-features = [
"source-rest",
"sink-jsonl",
]
[[example]]
name = "rest_to_postgres"
path = "examples/rest_to_postgres.rs"
required-features = [
"source-rest",
"sink-postgres",
]
[[example]]
name = "rest_to_s3"
path = "examples/rest_to_s3.rs"
required-features = [
"source-rest",
"sink-s3",
]
[[example]]
name = "s3_to_bigquery"
path = "examples/s3_to_bigquery.rs"
required-features = [
"source-s3",
"sink-bigquery",
]
[[example]]
name = "s3_to_mongodb"
path = "examples/s3_to_mongodb.rs"
required-features = [
"source-s3",
"sink-mongodb",
]
[[example]]
name = "s3_to_postgres"
path = "examples/s3_to_postgres.rs"
required-features = [
"source-s3",
"sink-postgres",
]
[[example]]
name = "s3_to_snowflake"
path = "examples/s3_to_snowflake.rs"
required-features = [
"source-s3",
"sink-snowflake",
]
[[example]]
name = "sqlite_to_csv"
path = "examples/sqlite_to_csv.rs"
required-features = [
"source-sqlite",
"sink-csv",
]
[[example]]
name = "sqlite_to_jsonl"
path = "examples/sqlite_to_jsonl.rs"
required-features = [
"source-sqlite",
"sink-jsonl",
]
[[example]]
name = "webhook_to_csv"
path = "examples/webhook_to_csv.rs"
required-features = [
"source-webhook",
"sink-csv",
]
[[example]]
name = "webhook_to_http"
path = "examples/webhook_to_http.rs"
required-features = [
"source-webhook",
"sink-http",
]
[[example]]
name = "webhook_to_postgres"
path = "examples/webhook_to_postgres.rs"
required-features = [
"source-webhook",
"sink-postgres",
]
[[example]]
name = "xml_to_mongodb"
path = "examples/xml_to_mongodb.rs"
required-features = [
"source-xml",
"sink-mongodb",
]
[[example]]
name = "xml_to_s3"
path = "examples/xml_to_s3.rs"
required-features = [
"source-xml",
"sink-s3",
]
[dependencies.faucet-auth]
version = "1.0.0"
optional = true
[dependencies.faucet-common-bigquery]
version = "1.0.0"
optional = true
[dependencies.faucet-common-gcs]
version = "1.0.0"
optional = true
[dependencies.faucet-common-kafka]
version = "1.0.0"
optional = true
[dependencies.faucet-common-snowflake]
version = "1.0.0"
optional = true
[dependencies.faucet-core]
version = "1.0.0"
[dependencies.faucet-sink-bigquery]
version = "1.0.0"
optional = true
[dependencies.faucet-sink-csv]
version = "1.0.0"
optional = true
[dependencies.faucet-sink-elasticsearch]
version = "1.0.1"
optional = true
[dependencies.faucet-sink-gcs]
version = "1.0.1"
optional = true
[dependencies.faucet-sink-http]
version = "1.0.0"
optional = true
[dependencies.faucet-sink-jsonl]
version = "1.0.0"
optional = true
[dependencies.faucet-sink-kafka]
version = "1.0.1"
optional = true
[dependencies.faucet-sink-mongodb]
version = "1.0.0"
optional = true
[dependencies.faucet-sink-mssql]
version = "1.0.1"
optional = true
[dependencies.faucet-sink-mysql]
version = "1.0.0"
optional = true
[dependencies.faucet-sink-parquet]
version = "1.0.0"
optional = true
[dependencies.faucet-sink-postgres]
version = "1.0.0"
optional = true
[dependencies.faucet-sink-redis]
version = "1.0.0"
optional = true
[dependencies.faucet-sink-s3]
version = "1.0.0"
optional = true
[dependencies.faucet-sink-snowflake]
version = "1.0.0"
optional = true
[dependencies.faucet-sink-sqlite]
version = "1.0.0"
optional = true
[dependencies.faucet-sink-stdout]
version = "1.0.0"
optional = true
[dependencies.faucet-source-bigquery]
version = "1.0.0"
optional = true
[dependencies.faucet-source-csv]
version = "1.0.0"
optional = true
[dependencies.faucet-source-elasticsearch]
version = "1.0.1"
optional = true
[dependencies.faucet-source-gcs]
version = "1.0.1"
optional = true
[dependencies.faucet-source-graphql]
version = "1.0.0"
optional = true
[dependencies.faucet-source-grpc]
version = "1.0.0"
optional = true
[dependencies.faucet-source-kafka]
version = "1.0.1"
optional = true
[dependencies.faucet-source-mongodb]
version = "1.0.0"
optional = true
[dependencies.faucet-source-mssql]
version = "1.0.1"
optional = true
[dependencies.faucet-source-mysql]
version = "1.0.0"
optional = true
[dependencies.faucet-source-parquet]
version = "1.0.0"
optional = true
[dependencies.faucet-source-postgres]
version = "1.0.0"
optional = true
[dependencies.faucet-source-postgres-cdc]
version = "1.0.0"
optional = true
[dependencies.faucet-source-redis]
version = "1.0.0"
optional = true
[dependencies.faucet-source-rest]
version = "1.0.0"
optional = true
[dependencies.faucet-source-s3]
version = "1.0.0"
optional = true
[dependencies.faucet-source-snowflake]
version = "1.0.0"
optional = true
[dependencies.faucet-source-sqlite]
version = "1.0.0"
optional = true
[dependencies.faucet-source-webhook]
version = "1.0.0"
optional = true
[dependencies.faucet-source-websocket]
version = "1.0.0"
optional = true
[dependencies.faucet-source-xml]
version = "1.0.0"
optional = true
[dependencies.faucet-state-postgres]
version = "1.0.0"
optional = true
[dependencies.faucet-state-redis]
version = "1.0.0"
optional = true
[dev-dependencies.reqwest]
version = "0.13"
default-features = false
[dev-dependencies.tokio]
version = "1"
features = [
"macros",
"rt-multi-thread",
]