139 lines
3.8 KiB
TOML
139 lines
3.8 KiB
TOML
[build-system]
|
|
requires = ["maturin >= 1.4"]
|
|
build-backend = "maturin"
|
|
|
|
[project]
|
|
name = "pathway"
|
|
dynamic = ["version"]
|
|
requires-python = ">=3.10"
|
|
description = "Pathway is a data processing framework which takes care of streaming data updates for you."
|
|
readme = "README.md"
|
|
classifiers = [
|
|
"License :: Other/Proprietary License",
|
|
"Programming Language :: Rust",
|
|
"Programming Language :: Python :: Implementation :: CPython",
|
|
]
|
|
dependencies = [
|
|
"aiohttp >= 3.8.4",
|
|
"click >= 8.1",
|
|
"geopy >= 2.4.0",
|
|
"h3 >= 4",
|
|
"numpy >= 1.21",
|
|
"pandas >= 2.1",
|
|
"scikit-learn >= 1.0",
|
|
"shapely >= 2.0.1",
|
|
"pyarrow >= 10.0.0, < 19.0.0",
|
|
"requests >= 2.31.0",
|
|
"python-sat >= 0.1.8.dev",
|
|
"beartype >= 0.14.0, < 0.16.0",
|
|
"rich >= 12.6.0",
|
|
"diskcache >= 5.2.1",
|
|
"exceptiongroup >= 1.1.3; python_version < '3.11'",
|
|
"boto3 >= 1.26.76, < 1.36.0",
|
|
"google-api-python-client >= 2.108.0",
|
|
"typing_extensions >= 4.8.0",
|
|
"panel >= 1.3.1",
|
|
"jupyter_bokeh >= 3.0.7",
|
|
"jmespath >= 1.0.1",
|
|
"aiohttp_cors >= 0.7.0",
|
|
"opentelemetry-api >= 1.22.0",
|
|
"opentelemetry-sdk >= 1.22.0",
|
|
"opentelemetry-exporter-otlp-proto-grpc >= 1.22.0",
|
|
"fs >= 2.4.16",
|
|
"async-lru >= 2.0.4",
|
|
"networkx >= 3.2.1",
|
|
"google-cloud-pubsub >= 2.21.1",
|
|
"google-cloud-bigquery ~= 3.29.0",
|
|
"pydantic ~= 2.9",
|
|
"gitpython >= 3.1.43",
|
|
"deltalake >= 0.17.0, < 0.18.0"
|
|
]
|
|
|
|
[project.optional-dependencies]
|
|
sql = [
|
|
"sqlglot == 10.6.1", # the new versions are incompatible with the current pw.sql Implementation
|
|
]
|
|
xpack-llm = [
|
|
"openai ~= 1.60",
|
|
"litellm ~= 1.44",
|
|
"cohere ~= 5.1",
|
|
"tiktoken >= 0.5",
|
|
"langchain >= 0.2.0, < 0.4.0",
|
|
"langchain_community >= 0.2.0, < 0.4.0",
|
|
"llama-index-core >= 0.10.0, < 0.13.0",
|
|
"llama-index-readers-pathway >= 0.1.3",
|
|
"llama-index-retrievers-pathway >= 0.1.3",
|
|
"tenacity != 8.4.0", # langchain dependency, 8.4.0 wheel is broken
|
|
"instructor ~= 1.2",
|
|
"google-generativeai ~= 0.8.4",
|
|
"google-api-core ~= 2.24.1",
|
|
"fastmcp ~= 2.8",
|
|
]
|
|
xpack-llm-local = [ # requirements that allow local ML inference
|
|
"sentence_transformers",
|
|
"transformers >= 4.42.0, <= 4.49.0", # >= 4.50.2, this can be updated after docling updates
|
|
]
|
|
xpack-llm-docs = [
|
|
"docling >= 2.15, < 3.0.0",
|
|
"python-docx >= 1.1.2",
|
|
"unstructured[all-docs] ~= 0.18.1",
|
|
"pdf2image",
|
|
"pypdf",
|
|
# unstructured dependency, but unstructured doesn't force this version even though it's needed
|
|
"pdfminer.six == 20250506",
|
|
]
|
|
xpack-sharepoint = [
|
|
"Office365-REST-Python-Client >= 2.5.3",
|
|
]
|
|
all = [
|
|
"pathway[sql]",
|
|
"pathway[xpack-llm]",
|
|
"pathway[xpack-llm-local]",
|
|
"pathway[xpack-llm-docs]",
|
|
"pathway[xpack-sharepoint]",
|
|
"pathway[airbyte]",
|
|
]
|
|
tests = [
|
|
"pytest >= 8.0.0, < 9.0.0",
|
|
"pytest-xdist >= 3.3.1, < 4.0.0",
|
|
"pytest-rerunfailures >= 13.0, < 14.0",
|
|
"python-louvain",
|
|
"openapi_spec_validator",
|
|
"kafka-python >= 2.0.2",
|
|
"python-magic",
|
|
"pathway[all]",
|
|
"dill >= 0.3.8",
|
|
"cloudpickle >= 3.0.0",
|
|
"fpdf",
|
|
]
|
|
airbyte = [
|
|
"google-cloud-run",
|
|
"google-cloud-secret-manager",
|
|
"google-cloud-logging",
|
|
"pyyaml",
|
|
"jinja2",
|
|
]
|
|
|
|
[project.urls]
|
|
"Homepage" = "https://pathway.com/"
|
|
"Source code" = "https://github.com/pathwaycom/pathway/"
|
|
"Documentation" = "https://pathway.com/developers/user-guide/introduction/welcome"
|
|
"Troubleshooting" = "https://pathway.com/troubleshooting/"
|
|
|
|
[project.scripts]
|
|
pathway = "pathway.cli:main"
|
|
|
|
[tool.maturin]
|
|
python-source = "python"
|
|
module-name = "pathway.engine"
|
|
features = ["pyo3/extension-module"]
|
|
|
|
[tool.mypy]
|
|
python_version = "3.11"
|
|
exclude = ["(^|/)target/", "(^|/)examples/", '(^|/)tests(/.*)?/test_.*\.py$']
|
|
ignore_missing_imports = true
|
|
check_untyped_defs = true
|
|
warn_redundant_casts = true
|
|
warn_unused_ignores = true
|
|
strict_equality = true
|