langflow-nightly 1.0.17.dev1__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,21 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2024 Langflow
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
@@ -0,0 +1,175 @@
1
+ Metadata-Version: 2.1
2
+ Name: langflow-nightly
3
+ Version: 1.0.17.dev1
4
+ Summary: A Python package with a built-in web application
5
+ Home-page: https://github.com/langflow-ai/langflow
6
+ License: MIT
7
+ Keywords: nlp,langchain,openai,gpt,gui
8
+ Author: Langflow
9
+ Author-email: contact@langflow.org
10
+ Maintainer: Carlos Coelho
11
+ Maintainer-email: carlos@langflow.org
12
+ Requires-Python: >=3.10,<3.13
13
+ Classifier: License :: OSI Approved :: MIT License
14
+ Classifier: Programming Language :: Python :: 3
15
+ Classifier: Programming Language :: Python :: 3.10
16
+ Classifier: Programming Language :: Python :: 3.11
17
+ Classifier: Programming Language :: Python :: 3.12
18
+ Provides-Extra: cassio
19
+ Provides-Extra: couchbase
20
+ Provides-Extra: deploy
21
+ Provides-Extra: local
22
+ Requires-Dist: assemblyai (>=0.26.0,<0.27.0)
23
+ Requires-Dist: astra-assistants (>=2.1.0.10,<3.0.0.0)
24
+ Requires-Dist: beautifulsoup4 (>=4.12.2,<5.0.0)
25
+ Requires-Dist: boto3 (>=1.34.162,<1.35.0)
26
+ Requires-Dist: cassio[cassio] (>=0.1.7,<0.2.0) ; extra == "cassio"
27
+ Requires-Dist: celery[redis] (>=5.3.6,<6.0.0) ; extra == "deploy"
28
+ Requires-Dist: certifi (>=2023.11.17,<2025.0.0)
29
+ Requires-Dist: chromadb (>=0.4,<0.5)
30
+ Requires-Dist: cohere (>=5.5.3,<6.0.0)
31
+ Requires-Dist: composio-langchain (>=0.5.3,<0.6.0)
32
+ Requires-Dist: couchbase[couchbase] (>=4.2.1,<5.0.0) ; extra == "couchbase"
33
+ Requires-Dist: crewai[tools] (>=0.36.0,<0.37.0)
34
+ Requires-Dist: ctransformers (>=0.2.10,<0.3.0) ; extra == "local"
35
+ Requires-Dist: dspy-ai (>=2.4.0,<3.0.0)
36
+ Requires-Dist: elasticsearch (>=8.12.0,<9.0.0)
37
+ Requires-Dist: faiss-cpu (>=1.8.0,<2.0.0)
38
+ Requires-Dist: fake-useragent (>=1.5.0,<2.0.0)
39
+ Requires-Dist: fastavro (>=1.8.0,<2.0.0)
40
+ Requires-Dist: firecrawl-py (>=0.0.16,<0.0.17)
41
+ Requires-Dist: flower (>=2.0.0,<3.0.0) ; extra == "deploy"
42
+ Requires-Dist: gitpython (>=3.1.43,<4.0.0)
43
+ Requires-Dist: google-api-python-client (>=2.130.0,<3.0.0)
44
+ Requires-Dist: google-search-results (>=2.4.1,<3.0.0)
45
+ Requires-Dist: huggingface-hub[inference] (>=0.22.0,<0.23.0)
46
+ Requires-Dist: json-repair (>=0.25.2,<0.26.0)
47
+ Requires-Dist: kubernetes (>=30.1.0,<31.0.0)
48
+ Requires-Dist: langchain-anthropic (>=0.1.23,<0.2.0)
49
+ Requires-Dist: langchain-astradb (>=0.3.3,<0.4.0)
50
+ Requires-Dist: langchain-aws (>=0.1.16,<0.2.0)
51
+ Requires-Dist: langchain-chroma (>=0.1.1,<0.2.0)
52
+ Requires-Dist: langchain-cohere (>=0.1.5,<0.2.0)
53
+ Requires-Dist: langchain-google-calendar-tools (>=0.0.1,<0.0.2)
54
+ Requires-Dist: langchain-google-community (==1.0.7)
55
+ Requires-Dist: langchain-google-genai (==1.0.8)
56
+ Requires-Dist: langchain-google-vertexai (==1.0.7)
57
+ Requires-Dist: langchain-groq (==0.1.6)
58
+ Requires-Dist: langchain-milvus (>=0.1.1,<0.2.0)
59
+ Requires-Dist: langchain-mistralai (==0.1.10)
60
+ Requires-Dist: langchain-mongodb (>=0.1.6,<0.2.0)
61
+ Requires-Dist: langchain-nvidia-ai-endpoints (==0.1.6)
62
+ Requires-Dist: langchain-openai (==0.1.22)
63
+ Requires-Dist: langchain-pinecone (>=0.1.0,<0.2.0)
64
+ Requires-Dist: langflow-base-nightly (>=0.0.95.dev1,<0.0.96)
65
+ Requires-Dist: langfuse (>=2.33.0,<3.0.0)
66
+ Requires-Dist: langsmith (>=0.1.86,<0.2.0)
67
+ Requires-Dist: langwatch (>=0.1.16,<0.2.0)
68
+ Requires-Dist: litellm (>=1.44.0,<2.0.0)
69
+ Requires-Dist: llama-cpp-python (>=0.2.0,<0.3.0) ; extra == "local"
70
+ Requires-Dist: markdown (>=3.6,<4.0)
71
+ Requires-Dist: markupsafe (>=2.1.3,<3.0.0)
72
+ Requires-Dist: metal-sdk (>=2.5.0,<3.0.0)
73
+ Requires-Dist: metaphor-python (>=0.1.11,<0.2.0)
74
+ Requires-Dist: networkx (>=3.1,<4.0)
75
+ Requires-Dist: numexpr (>=2.8.6,<3.0.0)
76
+ Requires-Dist: pgvector (>=0.2.3,<0.3.0)
77
+ Requires-Dist: pinecone-client (>=3.0.3,<4.0.0)
78
+ Requires-Dist: psycopg (==3.1.9)
79
+ Requires-Dist: psycopg2-binary (>=2.9.6,<3.0.0)
80
+ Requires-Dist: pyarrow (>=14.0.0,<15.0.0)
81
+ Requires-Dist: pyautogen (>=0.2.0,<0.3.0)
82
+ Requires-Dist: pymongo (>=4.6.0,<5.0.0)
83
+ Requires-Dist: pytube (>=15.0.0,<16.0.0)
84
+ Requires-Dist: pywin32 (>=306,<307) ; sys_platform == "win32"
85
+ Requires-Dist: qdrant-client (>=1.9.0,<2.0.0)
86
+ Requires-Dist: qianfan (==0.3.5)
87
+ Requires-Dist: redis (>=5.0.1,<6.0.0) ; extra == "deploy"
88
+ Requires-Dist: sentence-transformers (>=2.3.1,<3.0.0) ; extra == "local"
89
+ Requires-Dist: spider-client (>=0.0.27,<0.0.28)
90
+ Requires-Dist: supabase (>=2.3.0,<3.0.0)
91
+ Requires-Dist: types-cachetools (>=5.3.0.5,<6.0.0.0)
92
+ Requires-Dist: unstructured[docx,md,pptx] (>=0.14.4,<0.15.0)
93
+ Requires-Dist: upstash-vector (>=0.4.0,<0.5.0)
94
+ Requires-Dist: weaviate-client
95
+ Requires-Dist: wikipedia (>=1.4.0,<2.0.0)
96
+ Requires-Dist: wolframalpha (>=5.1.3,<6.0.0)
97
+ Requires-Dist: yfinance (>=0.2.40,<0.3.0)
98
+ Requires-Dist: youtube-transcript-api (>=0.6.2,<0.7.0)
99
+ Requires-Dist: zep-python (>=2.0.0rc5,<3.0.0)
100
+ Project-URL: Documentation, https://docs.langflow.org
101
+ Project-URL: Repository, https://github.com/langflow-ai/langflow
102
+ Description-Content-Type: text/markdown
103
+
104
+ <!-- markdownlint-disable MD030 -->
105
+
106
+ # [![Langflow](./docs/static/img/hero.png)](https://www.langflow.org)
107
+
108
+ <p align="center" style="font-size: 12px;">
109
+ Langflow is a low-code app builder for RAG and multi-agent AI applications. It’s Python-based and agnostic to any model, API, or database.
110
+ </p>
111
+
112
+ <p align="center" style="font-size: 12px;">
113
+ <a href="https://docs.langflow.org" style="text-decoration: underline;">Docs</a> -
114
+ <a href="https://astra.datastax.com/signup?type=langflow" style="text-decoration: underline;">Free Cloud Service</a> -
115
+ <a href="https://docs.langflow.org/getting-started-installation" style="text-decoration: underline;">Self Managed</a>
116
+
117
+ </p>
118
+
119
+ <div align="center">
120
+ <a href="./README.md"><img alt="README in English" src="https://img.shields.io/badge/English-d9d9d9"></a>
121
+ <a href="./README.PT.md"><img alt="README in Portuguese" src="https://img.shields.io/badge/Portuguese-d9d9d9"></a>
122
+ <a href="./README.ES.md"><img alt="README in Spanish" src="https://img.shields.io/badge/Spanish-d9d9d9"></a>
123
+ <a href="./README.zh_CN.md"><img alt="README in Simplified Chinese" src="https://img.shields.io/badge/简体中文-d9d9d9"></a>
124
+ <a href="./README.ja.md"><img alt="README in Japanese" src="https://img.shields.io/badge/日本語-d9d9d9"></a>
125
+ <a href="./README.KR.md"><img alt="README in KOREAN" src="https://img.shields.io/badge/한국어-d9d9d9"></a>
126
+ </div>
127
+
128
+ ## ✨ Core features
129
+
130
+ 1. **Python-based** and agnostic to models, APIs, data sources, or databases.
131
+ 2. **Visual IDE** for drag-and-drop building and testing of workflows.
132
+ 3. **Playground** to immediately test and iterate workflows with step-by-step control.
133
+ 4. **Multi-agent** orchestration and conversation management and retrieval.
134
+ 5. **Free cloud service** to get started in minutes with no setup.
135
+ 6. **Publish as an API** or export as a Python application.
136
+ 7. **Observability** with LangSmith, LangFuse, or LangWatch integration.
137
+ 8. **Enterprise-grade** security and scalability with free DataStax Langflow cloud service.
138
+ 9. **Customize workflows** or create flows entirely just using Python.
139
+ 10. **Ecosystem integrations** as reusable components for any model, API or database.
140
+
141
+ ![Integrations](https://github.com/user-attachments/assets/e9c96dc4-47bf-48ab-ad58-e01e038f25e8)
142
+
143
+
144
+ ## 📦 Quickstart
145
+
146
+ - **Install with pip** (Python 3.10 or greater):
147
+
148
+ ```shell
149
+ pip install langflow
150
+ ```
151
+
152
+ - **Cloud:** DataStax Langflow is a hosted environment with zero setup. [Sign up for a free account.](https://astra.datastax.com/signup?type=langflow)
153
+ - **Self-managed:** Run Langflow in your environment. [Install Langflow](https://docs.langflow.org/getting-started-installation) to run a local Langflow server, and then use the [Quickstart](https://docs.langflow.org/getting-started-quickstart) guide to create and execute a flow.
154
+ - **Hugging Face:** [Clone the space using this link](https://huggingface.co/spaces/Langflow/Langflow?duplicate=true) to create a Langflow workspace.
155
+
156
+ [![Getting Started](https://github.com/user-attachments/assets/f1adfbe7-3c35-43a4-b265-661f3d4f875f)](https://www.youtube.com/watch?v=kinngWhaUKM)
157
+
158
+ ## ⭐ Stay up-to-date
159
+
160
+ Star Langflow on GitHub to be instantly notified of new releases.
161
+
162
+ ![Star Langflow](https://github.com/user-attachments/assets/03168b17-a11d-4b2a-b0f7-c1cce69e5a2c)
163
+
164
+ ## 👋 Contribute
165
+
166
+ We welcome contributions from developers of all levels. If you'd like to contribute, please check our [contributing guidelines](./CONTRIBUTING.md) and help make Langflow more accessible.
167
+
168
+ ---
169
+
170
+ [![Star History Chart](https://api.star-history.com/svg?repos=langflow-ai/langflow&type=Timeline)](https://star-history.com/#langflow-ai/langflow&Date)
171
+
172
+ ## ❤️ Contributors
173
+
174
+ [![langflow contributors](https://contrib.rocks/image?repo=langflow-ai/langflow)](https://github.com/langflow-ai/langflow/graphs/contributors)
175
+
@@ -0,0 +1,71 @@
1
+ <!-- markdownlint-disable MD030 -->
2
+
3
+ # [![Langflow](./docs/static/img/hero.png)](https://www.langflow.org)
4
+
5
+ <p align="center" style="font-size: 12px;">
6
+ Langflow is a low-code app builder for RAG and multi-agent AI applications. It’s Python-based and agnostic to any model, API, or database.
7
+ </p>
8
+
9
+ <p align="center" style="font-size: 12px;">
10
+ <a href="https://docs.langflow.org" style="text-decoration: underline;">Docs</a> -
11
+ <a href="https://astra.datastax.com/signup?type=langflow" style="text-decoration: underline;">Free Cloud Service</a> -
12
+ <a href="https://docs.langflow.org/getting-started-installation" style="text-decoration: underline;">Self Managed</a>
13
+
14
+ </p>
15
+
16
+ <div align="center">
17
+ <a href="./README.md"><img alt="README in English" src="https://img.shields.io/badge/English-d9d9d9"></a>
18
+ <a href="./README.PT.md"><img alt="README in Portuguese" src="https://img.shields.io/badge/Portuguese-d9d9d9"></a>
19
+ <a href="./README.ES.md"><img alt="README in Spanish" src="https://img.shields.io/badge/Spanish-d9d9d9"></a>
20
+ <a href="./README.zh_CN.md"><img alt="README in Simplified Chinese" src="https://img.shields.io/badge/简体中文-d9d9d9"></a>
21
+ <a href="./README.ja.md"><img alt="README in Japanese" src="https://img.shields.io/badge/日本語-d9d9d9"></a>
22
+ <a href="./README.KR.md"><img alt="README in KOREAN" src="https://img.shields.io/badge/한국어-d9d9d9"></a>
23
+ </div>
24
+
25
+ ## ✨ Core features
26
+
27
+ 1. **Python-based** and agnostic to models, APIs, data sources, or databases.
28
+ 2. **Visual IDE** for drag-and-drop building and testing of workflows.
29
+ 3. **Playground** to immediately test and iterate workflows with step-by-step control.
30
+ 4. **Multi-agent** orchestration and conversation management and retrieval.
31
+ 5. **Free cloud service** to get started in minutes with no setup.
32
+ 6. **Publish as an API** or export as a Python application.
33
+ 7. **Observability** with LangSmith, LangFuse, or LangWatch integration.
34
+ 8. **Enterprise-grade** security and scalability with free DataStax Langflow cloud service.
35
+ 9. **Customize workflows** or create flows entirely just using Python.
36
+ 10. **Ecosystem integrations** as reusable components for any model, API or database.
37
+
38
+ ![Integrations](https://github.com/user-attachments/assets/e9c96dc4-47bf-48ab-ad58-e01e038f25e8)
39
+
40
+
41
+ ## 📦 Quickstart
42
+
43
+ - **Install with pip** (Python 3.10 or greater):
44
+
45
+ ```shell
46
+ pip install langflow
47
+ ```
48
+
49
+ - **Cloud:** DataStax Langflow is a hosted environment with zero setup. [Sign up for a free account.](https://astra.datastax.com/signup?type=langflow)
50
+ - **Self-managed:** Run Langflow in your environment. [Install Langflow](https://docs.langflow.org/getting-started-installation) to run a local Langflow server, and then use the [Quickstart](https://docs.langflow.org/getting-started-quickstart) guide to create and execute a flow.
51
+ - **Hugging Face:** [Clone the space using this link](https://huggingface.co/spaces/Langflow/Langflow?duplicate=true) to create a Langflow workspace.
52
+
53
+ [![Getting Started](https://github.com/user-attachments/assets/f1adfbe7-3c35-43a4-b265-661f3d4f875f)](https://www.youtube.com/watch?v=kinngWhaUKM)
54
+
55
+ ## ⭐ Stay up-to-date
56
+
57
+ Star Langflow on GitHub to be instantly notified of new releases.
58
+
59
+ ![Star Langflow](https://github.com/user-attachments/assets/03168b17-a11d-4b2a-b0f7-c1cce69e5a2c)
60
+
61
+ ## 👋 Contribute
62
+
63
+ We welcome contributions from developers of all levels. If you'd like to contribute, please check our [contributing guidelines](./CONTRIBUTING.md) and help make Langflow more accessible.
64
+
65
+ ---
66
+
67
+ [![Star History Chart](https://api.star-history.com/svg?repos=langflow-ai/langflow&type=Timeline)](https://star-history.com/#langflow-ai/langflow&Date)
68
+
69
+ ## ❤️ Contributors
70
+
71
+ [![langflow contributors](https://contrib.rocks/image?repo=langflow-ai/langflow)](https://github.com/langflow-ai/langflow/graphs/contributors)
@@ -0,0 +1,206 @@
1
+ [tool.poetry]
2
+ name = "langflow-nightly"
3
+ version = "1.0.17.dev1"
4
+ description = "A Python package with a built-in web application"
5
+ authors = ["Langflow <contact@langflow.org>"]
6
+ maintainers = [
7
+ "Carlos Coelho <carlos@langflow.org>",
8
+ "Cristhian Zanforlin <cristhian.lousa@gmail.com>",
9
+ "Gabriel Almeida <gabriel@langflow.org>",
10
+ "Igor Carvalho <igorr.ackerman@gmail.com>",
11
+ "Lucas Eduoli <lucaseduoli@gmail.com>",
12
+ "Otávio Anovazzi <otavio2204@gmail.com>",
13
+ "Rodrigo Nader <rodrigo@langflow.org>",
14
+ "Italo dos Anjos <italojohnnydosanjos@gmail.com>",
15
+ ]
16
+ repository = "https://github.com/langflow-ai/langflow"
17
+ license = "MIT"
18
+ readme = "README.md"
19
+ keywords = ["nlp", "langchain", "openai", "gpt", "gui"]
20
+ packages = [{ include = "langflow", from = "src/backend" }]
21
+ include = ["src/backend/langflow/*", "src/backend/langflow/**/*"]
22
+ documentation = "https://docs.langflow.org"
23
+
24
+ [tool.poetry.scripts]
25
+ langflow = "langflow.__main__:main"
26
+
27
+
28
+ [tool.poetry.dependencies]
29
+ python = ">=3.10,<3.13"
30
+ langflow-base-nightly = "^0.0.95.dev1"
31
+ beautifulsoup4 = "^4.12.2"
32
+ google-search-results = "^2.4.1"
33
+ google-api-python-client = "^2.130.0"
34
+ huggingface-hub = { version = "^0.22.0", extras = ["inference"] }
35
+ llama-cpp-python = { version = "~0.2.0", optional = true }
36
+ networkx = "^3.1"
37
+ fake-useragent = "^1.5.0"
38
+ psycopg2-binary = "^2.9.6"
39
+ pyarrow = "^14.0.0"
40
+ wikipedia = "^1.4.0"
41
+ qdrant-client = "^1.9.0"
42
+ weaviate-client = "*"
43
+ sentence-transformers = { version = "^2.3.1", optional = true }
44
+ ctransformers = { version = "^0.2.10", optional = true }
45
+ cohere = "^5.5.3"
46
+ faiss-cpu = "^1.8.0"
47
+ types-cachetools = "^5.3.0.5"
48
+ pinecone-client = "^3.0.3"
49
+ pymongo = "^4.6.0"
50
+ supabase = "^2.3.0"
51
+ certifi = ">=2023.11.17,<2025.0.0"
52
+ psycopg = "3.1.9" # https://github.com/psycopg/psycopg/issues/858
53
+ fastavro = "^1.8.0"
54
+ celery = { extras = ["redis"], version = "^5.3.6", optional = true }
55
+ redis = "^5.0.1"
56
+ flower = { version = "^2.0.0", optional = true }
57
+ metaphor-python = "^0.1.11"
58
+ pywin32 = { version = "^306", markers = "sys_platform == 'win32'" }
59
+ langfuse = "^2.33.0"
60
+ metal-sdk = "^2.5.0"
61
+ markupsafe = "^2.1.3"
62
+ boto3 = "~1.34.162"
63
+ numexpr = "^2.8.6"
64
+ qianfan = "0.3.5"
65
+ pgvector = "^0.2.3"
66
+ pyautogen = "^0.2.0"
67
+ langchain-google-genai = "1.0.8"
68
+ langchain-cohere = "^0.1.5"
69
+ elasticsearch = "^8.12.0"
70
+ pytube = "^15.0.0"
71
+ dspy-ai = "^2.4.0"
72
+ assemblyai = "^0.26.0"
73
+ litellm = "^1.44.0"
74
+ chromadb = "^0.4"
75
+ langchain-anthropic = "^0.1.23"
76
+ langchain-astradb = "^0.3.3"
77
+ langchain-openai = "0.1.22"
78
+ zep-python = { version = "^2.0.0rc5", allow-prereleases = true }
79
+ langchain-google-vertexai = "1.0.7"
80
+ langchain-groq = "0.1.6"
81
+ langchain-pinecone = "^0.1.0"
82
+ langchain-mistralai = "0.1.10"
83
+ couchbase = { extras = ["couchbase"], version = "^4.2.1", optional = true }
84
+ youtube-transcript-api = "^0.6.2"
85
+ markdown = "^3.6"
86
+ langchain-chroma = "^0.1.1"
87
+ upstash-vector = "^0.4.0"
88
+ gitpython = "^3.1.43"
89
+ cassio = { extras = ["cassio"], version = "^0.1.7", optional = true }
90
+ unstructured = {extras = ["docx", "md", "pptx"], version = "^0.14.4"}
91
+ langchain-aws = "^0.1.16"
92
+ langchain-mongodb = "^0.1.6"
93
+ kubernetes = "^30.1.0"
94
+ firecrawl-py = "^0.0.16"
95
+ json-repair = "^0.25.2"
96
+ langchain-nvidia-ai-endpoints = "0.1.6"
97
+ langchain-google-calendar-tools = "^0.0.1"
98
+ langchain-milvus = "^0.1.1"
99
+ crewai = {extras = ["tools"], version = "^0.36.0"}
100
+ langwatch = "^0.1.16"
101
+ langsmith = "^0.1.86"
102
+ yfinance = "^0.2.40"
103
+ langchain-google-community = "1.0.7"
104
+ wolframalpha = "^5.1.3"
105
+ astra-assistants = "^2.1.0.10"
106
+ composio-langchain = "^0.5.3"
107
+ spider-client = "^0.0.27"
108
+
109
+
110
+ [tool.poetry.group.dev.dependencies]
111
+ types-redis = "^4.6.0.5"
112
+ ipykernel = "^6.29.0"
113
+ mypy = "^1.11.0"
114
+ ruff = "^0.6.2"
115
+ httpx = "*"
116
+ pytest = "^8.2.0"
117
+ types-requests = "^2.32.0"
118
+ requests = "^2.32.0"
119
+ pytest-cov = "^5.0.0"
120
+ pandas-stubs = "^2.1.4.231227"
121
+ types-pillow = "^10.2.0.20240213"
122
+ types-pyyaml = "^6.0.12.8"
123
+ types-python-jose = "^3.3.4.8"
124
+ types-passlib = "^1.7.7.13"
125
+ pytest-mock = "^3.14.0"
126
+ pytest-xdist = "^3.6.0"
127
+ types-pywin32 = "^306.0.0.4"
128
+ types-google-cloud-ndb = "^2.2.0.0"
129
+ pytest-sugar = "^1.0.0"
130
+ respx = "^0.21.1"
131
+ pytest-instafail = "^0.5.0"
132
+ pytest-asyncio = "^0.23.0"
133
+ pytest-profiling = "^1.7.0"
134
+ pre-commit = "^3.7.0"
135
+ vulture = "^2.11"
136
+ dictdiffer = "^0.9.0"
137
+ pytest-split = "^0.9.0"
138
+ pytest-flakefinder = "^1.1.0"
139
+ packaging = ">=23.2,<24.0"
140
+
141
+ [tool.poetry.extras]
142
+ deploy = ["celery", "redis", "flower"]
143
+ couchbase = ["couchbase"]
144
+ cassio = ["cassio"]
145
+ local = ["llama-cpp-python", "sentence-transformers", "ctransformers"]
146
+
147
+
148
+ [tool.poetry.group.spelling]
149
+ optional = true
150
+
151
+ [tool.poetry.group.spelling.dependencies]
152
+ codespell = "^2.3.0"
153
+
154
+ [tool.codespell]
155
+ skip = '.git,*.pdf,*.svg,*.pdf,*.yaml,*.ipynb,poetry.lock,*.min.js,*.css,package-lock.json,*.trig.,**/node_modules/**,./stuff/*,*.csv'
156
+ # Ignore latin etc
157
+ ignore-regex = '.*(Stati Uniti|Tense=Pres).*'
158
+
159
+
160
+ [tool.pytest.ini_options]
161
+ minversion = "6.0"
162
+ testpaths = ["tests", "integration"]
163
+ console_output_style = "progress"
164
+ filterwarnings = ["ignore::DeprecationWarning", "ignore::ResourceWarning"]
165
+ log_cli = true
166
+ log_cli_format = "%(asctime)s [%(levelname)8s] %(message)s (%(filename)s:%(lineno)s)"
167
+ log_cli_date_format = "%Y-%m-%d %H:%M:%S"
168
+ markers = ["async_test", "api_key_required"]
169
+
170
+
171
+ [tool.coverage.run]
172
+ command_line = """
173
+ -m pytest --ignore=tests/integration
174
+ --cov --cov-report=term --cov-report=html
175
+ --instafail -ra -n auto -m "not api_key_required"
176
+ """
177
+ source = ["src/backend/base/langflow/"]
178
+ omit = ["*/alembic/*", "tests/*", "*/__init__.py"]
179
+
180
+
181
+ [tool.coverage.report]
182
+ sort = "Stmts"
183
+ skip_empty = true
184
+ show_missing = false
185
+ ignore_errors = true
186
+
187
+
188
+ [tool.coverage.html]
189
+ directory = "coverage"
190
+
191
+
192
+ [tool.ruff]
193
+ exclude = ["src/backend/langflow/alembic/*"]
194
+ line-length = 120
195
+
196
+ [tool.mypy]
197
+ plugins = ["pydantic.mypy"]
198
+ follow_imports = "skip"
199
+ disable_error_code = ["type-var"]
200
+ namespace_packages = true
201
+ mypy_path = "langflow"
202
+ ignore_missing_imports = true
203
+
204
+ [build-system]
205
+ requires = ["poetry-core"]
206
+ build-backend = "poetry.core.masonry.api"
@@ -0,0 +1 @@
1
+ from .version import is_pre_release, get_version
@@ -0,0 +1,38 @@
1
+ def get_version() -> str:
2
+ """
3
+ Retrieves the version of the package from a possible list of package names.
4
+ This accounts for after package names are updated for -nightly builds.
5
+
6
+ Returns:
7
+ str: The version of the package
8
+
9
+ Raises:
10
+ ValueError: If the package is not found from the list of package names.
11
+ """
12
+ from importlib import metadata
13
+
14
+ pkg_names = [
15
+ "langflow",
16
+ "langflow-base",
17
+ "langflow-nightly",
18
+ "langflow-base-nightly",
19
+ ]
20
+ _version = None
21
+ for pkg_name in pkg_names:
22
+ try:
23
+ _version = metadata.version(pkg_name)
24
+ except (ImportError, metadata.PackageNotFoundError):
25
+ pass
26
+
27
+ if _version is None:
28
+ raise ValueError(f"Package not found from options {pkg_names}")
29
+
30
+ return _version
31
+
32
+
33
+ def is_pre_release(v: str) -> bool:
34
+ """
35
+ Returns a boolean indicating whether the version is a pre-release version,
36
+ as per the definition of a pre-release segment from PEP 440.
37
+ """
38
+ return any(label in v for label in ["a", "b", "rc"])