From 978bbd107163cf107d683b58784a66f446ac1eba Mon Sep 17 00:00:00 2001
From: Gabriel Luiz Freitas Almeida
Date: Wed, 15 Mar 2023 13:05:37 +0000
Subject: [PATCH 1/9] update docker files
---
dev.Dockerfile | 21 +++++++++++----------
docker-compose.yml | 5 +++--
langflow/frontend/Dockerfile | 6 +++++-
3 files changed, 19 insertions(+), 13 deletions(-)
diff --git a/dev.Dockerfile b/dev.Dockerfile
index dbe066f37..508a4bafd 100644
--- a/dev.Dockerfile
+++ b/dev.Dockerfile
@@ -3,18 +3,19 @@ FROM tiangolo/uvicorn-gunicorn-fastapi:python3.10
WORKDIR /app
# Install Poetry
-RUN apt-get update && apt-get install -y curl
-RUN curl -sSL https://install.python-poetry.org | python3 -
-# Add Poetry to PATH
-ENV PATH="${PATH}:/root/.local/bin"
-# Copy the pyproject.toml and poetry.lock files
-COPY poetry.lock pyproject.toml ./
+# RUN apt-get update && apt-get install -y curl
+# RUN curl -sSL https://install.python-poetry.org | python3 -
+# # Add Poetry to PATH
+# ENV PATH="${PATH}:/root/.local/bin"
+# # Copy the pyproject.toml and poetry.lock files
+# COPY poetry.lock pyproject.toml ./
# Copy the rest of the application codes
COPY ./ ./
-
-# install dependencies
-RUN poetry config virtualenvs.create false && poetry install --no-interaction --no-ansi
+# Install dependencies
+RUN pip install -e .
-CMD ["uvicorn", "langflow.cli:app", "--host", "0.0.0.0", "--port", "5003"]
+WORKDIR /app/langflow/backend
+
+CMD ["uvicorn", "langflow_backend.main:app", "--host", "127.0.0.1", "--port", "5003", "--reload"]
\ No newline at end of file
diff --git a/docker-compose.yml b/docker-compose.yml
index c01f16c26..62905c475 100644
--- a/docker-compose.yml
+++ b/docker-compose.yml
@@ -9,8 +9,6 @@ services:
- "5003:5003"
volumes:
- ./:/app
- environment:
- - PYTHONPATH=/langflow # add this line to set PYTHONPATH
frontend:
build: ./langflow/frontend
@@ -18,3 +16,6 @@ services:
- "3000:3000"
volumes:
- ./langflow/frontend:/app
+ # Set process.env.BACKEND to the backend service
+ environment:
+ - BACKEND=http://backend:5003
diff --git a/langflow/frontend/Dockerfile b/langflow/frontend/Dockerfile
index c20d3f0f4..5caca7fb0 100644
--- a/langflow/frontend/Dockerfile
+++ b/langflow/frontend/Dockerfile
@@ -1,4 +1,8 @@
-FROM logspace/frontend_build as frontend_build
+FROM node:14-alpine as frontend_build
+WORKDIR /app
+COPY . /app
+RUN npm install
+RUN npm run build
FROM nginx
COPY --from=frontend_build /app/build/ /usr/share/nginx/html
From 03430c7944f2579496240e1384a45d7935bc2ce2 Mon Sep 17 00:00:00 2001
From: Gabriel Almeida
Date: Wed, 15 Mar 2023 14:40:07 -0300
Subject: [PATCH 2/9] fix: docker-compose now creates a working dev environment
#21
---
dev.Dockerfile | 17 +++++++----------
docker-compose.yml | 8 ++++++--
langflow/frontend/dev.Dockerfile | 6 ++++++
3 files changed, 19 insertions(+), 12 deletions(-)
create mode 100644 langflow/frontend/dev.Dockerfile
diff --git a/dev.Dockerfile b/dev.Dockerfile
index 508a4bafd..cd5c52306 100644
--- a/dev.Dockerfile
+++ b/dev.Dockerfile
@@ -1,21 +1,18 @@
-FROM tiangolo/uvicorn-gunicorn-fastapi:python3.10
+FROM python:3.10-slim
WORKDIR /app
# Install Poetry
-# RUN apt-get update && apt-get install -y curl
-# RUN curl -sSL https://install.python-poetry.org | python3 -
+RUN apt-get update && apt-get install -y curl
+RUN curl -sSL https://install.python-poetry.org | python3 -
# # Add Poetry to PATH
-# ENV PATH="${PATH}:/root/.local/bin"
+ENV PATH="${PATH}:/root/.local/bin"
# # Copy the pyproject.toml and poetry.lock files
-# COPY poetry.lock pyproject.toml ./
+COPY poetry.lock pyproject.toml ./
# Copy the rest of the application codes
COPY ./ ./
# Install dependencies
-RUN pip install -e .
+RUN poetry config virtualenvs.create false && poetry install --no-interaction --no-ansi
-
-WORKDIR /app/langflow/backend
-
-CMD ["uvicorn", "langflow_backend.main:app", "--host", "127.0.0.1", "--port", "5003", "--reload"]
\ No newline at end of file
+CMD ["uvicorn", "langflow_backend.main:app", "--host", "0.0.0.0", "--port", "5003", "--reload"]
\ No newline at end of file
diff --git a/docker-compose.yml b/docker-compose.yml
index 62905c475..45c43e56e 100644
--- a/docker-compose.yml
+++ b/docker-compose.yml
@@ -9,13 +9,17 @@ services:
- "5003:5003"
volumes:
- ./:/app
+ platform: linux/amd64
+ command: bash -c "uvicorn langflow_backend.main:app --host 0.0.0.0 --port 5003 --reload"
frontend:
- build: ./langflow/frontend
+ build:
+ context: ./langflow/frontend
+ dockerfile: ./dev.Dockerfile
ports:
- "3000:3000"
volumes:
- ./langflow/frontend:/app
# Set process.env.BACKEND to the backend service
environment:
- - BACKEND=http://backend:5003
+ - BACKEND="http://backend:5003"
diff --git a/langflow/frontend/dev.Dockerfile b/langflow/frontend/dev.Dockerfile
new file mode 100644
index 000000000..fc519be74
--- /dev/null
+++ b/langflow/frontend/dev.Dockerfile
@@ -0,0 +1,6 @@
+FROM node:14-alpine as frontend_build
+ARG BACKEND
+WORKDIR /app
+COPY . /app
+RUN npm install
+CMD ["npm", "start"]
\ No newline at end of file
From f798b7db19838543bec6491ecf91023c4fb33a23 Mon Sep 17 00:00:00 2001
From: Gabriel Almeida
Date: Wed, 15 Mar 2023 16:09:34 -0300
Subject: [PATCH 3/9] feat: adding host param and docker example for deployment
---
docker_example/Dockerfile | 8 ++++++++
docker_example/docker-compose.yml | 11 +++++++++++
langflow/backend/langflow_backend/__main__.py | 3 +--
3 files changed, 20 insertions(+), 2 deletions(-)
create mode 100644 docker_example/Dockerfile
create mode 100644 docker_example/docker-compose.yml
diff --git a/docker_example/Dockerfile b/docker_example/Dockerfile
new file mode 100644
index 000000000..e748fb5e7
--- /dev/null
+++ b/docker_example/Dockerfile
@@ -0,0 +1,8 @@
+FROM python:3.11-slim
+
+WORKDIR /app
+COPY ./ /app
+RUN pip install langflow
+
+EXPOSE 5003
+CMD ["langflow", "--host", "0.0.0.0"]
\ No newline at end of file
diff --git a/docker_example/docker-compose.yml b/docker_example/docker-compose.yml
new file mode 100644
index 000000000..e7a83c89e
--- /dev/null
+++ b/docker_example/docker-compose.yml
@@ -0,0 +1,11 @@
+version: '3'
+
+services:
+ langflow:
+ build:
+ context: ./
+ dockerfile: Dockerfile
+ ports:
+ - "5003:5003"
+ command: langflow --host 0.0.0.0
+ platform: linux/amd64
\ No newline at end of file
diff --git a/langflow/backend/langflow_backend/__main__.py b/langflow/backend/langflow_backend/__main__.py
index 544a5b8e5..8683b565f 100644
--- a/langflow/backend/langflow_backend/__main__.py
+++ b/langflow/backend/langflow_backend/__main__.py
@@ -15,6 +15,7 @@ def get_number_of_workers(workers=None):
def serve(
+ host: str = "127.0.0.1",
workers: int = 1,
timeout: int = 60,
):
@@ -27,8 +28,6 @@ def serve(
StaticFiles(directory=static_files_dir, html=True),
name="static",
)
-
- host = "127.0.0.1"
port = 5003
options = {
"bind": f"{host}:{port}",
From 386e74a97c3543f67d61400b4c5e6474e26271ae Mon Sep 17 00:00:00 2001
From: Gabriel Almeida
Date: Wed, 15 Mar 2023 18:06:08 -0300
Subject: [PATCH 4/9] feat: added dockerfile example
#21
---
docker_example/Dockerfile | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/docker_example/Dockerfile b/docker_example/Dockerfile
index e748fb5e7..4ac64dd4a 100644
--- a/docker_example/Dockerfile
+++ b/docker_example/Dockerfile
@@ -2,7 +2,7 @@ FROM python:3.11-slim
WORKDIR /app
COPY ./ /app
-RUN pip install langflow
+RUN pip install langflow>=0.0.33
EXPOSE 5003
CMD ["langflow", "--host", "0.0.0.0"]
\ No newline at end of file
From 224e522374e54d918f263d3d3d3f9551efc866cd Mon Sep 17 00:00:00 2001
From: Gabriel Almeida
Date: Wed, 15 Mar 2023 21:35:08 -0300
Subject: [PATCH 5/9] docs: :art: improvements on the contribution docs
Added steps to run the project locally
---
CONTRIBUTING.md | 35 +++++++++++++++++++++++++++++++++--
1 file changed, 33 insertions(+), 2 deletions(-)
diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md
index 2d5fb0d4a..7b09626b1 100644
--- a/CONTRIBUTING.md
+++ b/CONTRIBUTING.md
@@ -27,13 +27,44 @@ so that more people can benefit from it.
remember to include the code you ran and if possible, extract only the relevant
parts and don't just dump your entire script. This will make it easier for us to
reproduce the error.
-
+
- **Sharing long blocks of code or logs:** If you need to include long code,
logs or tracebacks, you can wrap them in `` and ` `. This
[collapses the content](https://developer.mozilla.org/en/docs/Web/HTML/Element/details)
so it only becomes visible on click, making the issue easier to read and follow.
-
+
### Issue labels
[See this page](https://github.com/logspace-ai/langflow/labels) for an overview of
the system we use to tag our issues and pull requests.
+
+
+### Local development
+You can develop LangFlow using docker compose, or locally.
+
+#### **Docker compose**
+This will run the backend and frontend in separate containers. The frontend will be available at `localhost:3000` and the backend at `localhost:5003`.
+```bash
+docker compose up --build
+```
+
+#### **Locally**
+Run locally by cloning the repository and installing the dependencies. We recommend using a virtual environment to isolate the dependencies from your system.
+
+Before you start, make sure you have the following installed:
+ - Poetry
+ - Node.js
+
+For the backend, you will need to install the dependencies and start the development server.
+```bash
+poetry install
+# Port 5003 is required for the backend to work with the frontend
+make run_backend
+```
+For the frontend, you will need to install the dependencies and start the development server.
+```bash
+cd langflow/frontend
+npm install
+npm start
+```
+
From aa901d93d83310a95a05af44a909213dc3422912 Mon Sep 17 00:00:00 2001
From: Gabriel Almeida
Date: Wed, 15 Mar 2023 21:35:28 -0300
Subject: [PATCH 6/9] feat: added run commands to makefile
---
Makefile | 6 ++++++
1 file changed, 6 insertions(+)
diff --git a/Makefile b/Makefile
index 9c6f289bc..fa488a1f0 100644
--- a/Makefile
+++ b/Makefile
@@ -23,6 +23,12 @@ lint:
install_frontend:
cd langflow/frontend && npm install
+run_frontend:
+ cd langflow/frontend && npm start
+
+run_backend:
+ poetry run uvicorn langflow_backend.main:app --port 5003 --reload
+
build_frontend:
cd langflow/frontend && CI='' npm run build
From 27cf367ffd4303758b42cd32029ac94978624f23 Mon Sep 17 00:00:00 2001
From: Gabriel Almeida
Date: Wed, 15 Mar 2023 21:38:30 -0300
Subject: [PATCH 7/9] fix: added mention to BACKEND var
---
langflow/frontend/Dockerfile | 1 +
1 file changed, 1 insertion(+)
diff --git a/langflow/frontend/Dockerfile b/langflow/frontend/Dockerfile
index 5caca7fb0..010811e7b 100644
--- a/langflow/frontend/Dockerfile
+++ b/langflow/frontend/Dockerfile
@@ -1,4 +1,5 @@
FROM node:14-alpine as frontend_build
+ARG BACKEND
WORKDIR /app
COPY . /app
RUN npm install
From b9cad16f1a95c6a710b93ac0df8ac85c78bbb410 Mon Sep 17 00:00:00 2001
From: Gabriel Almeida
Date: Wed, 15 Mar 2023 21:42:10 -0300
Subject: [PATCH 8/9] fix: remove outdated instruction in README.md
---
README.md | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/README.md b/README.md
index 85e4ed3da..56b01a1a0 100644
--- a/README.md
+++ b/README.md
@@ -10,7 +10,7 @@
-
+
@@ -26,7 +26,7 @@ You can install LangFlow from pip:
Next, run:
-`python -m langflow` or just `langflow`
+`langflow`
## 🎨 Creating Flows
From e06565e17939e9617fd061eb8b43bb60fcc0c2da Mon Sep 17 00:00:00 2001
From: Gabriel Almeida
Date: Wed, 15 Mar 2023 21:42:19 -0300
Subject: [PATCH 9/9] bump version to 0.0.33
---
poetry.lock | 192 ++++++++++++++++++++++++++++++++++++++++---------
pyproject.toml | 2 +-
2 files changed, 161 insertions(+), 33 deletions(-)
diff --git a/poetry.lock b/poetry.lock
index e13cde0ed..b39af6f3a 100644
--- a/poetry.lock
+++ b/poetry.lock
@@ -1,5 +1,47 @@
# This file is automatically @generated by Poetry 1.4.0 and should not be changed by hand.
+[[package]]
+name = "aioboto3"
+version = "10.4.0"
+description = "Async boto3 wrapper"
+category = "main"
+optional = false
+python-versions = ">=3.7,<4.0"
+files = [
+ {file = "aioboto3-10.4.0-py3-none-any.whl", hash = "sha256:6d0f0bf6af0168c27828e108f1a24182669a6ea6939437c27638caf06a693403"},
+ {file = "aioboto3-10.4.0.tar.gz", hash = "sha256:e52b5f96b67031ddcbabcc55015bad3f851d3d4e6d5bfc7a1d1518d90e0c1fd8"},
+]
+
+[package.dependencies]
+aiobotocore = {version = "2.4.2", extras = ["boto3"]}
+
+[package.extras]
+chalice = ["chalice (>=1.24.0)"]
+s3cse = ["cryptography (>=2.3.1)"]
+
+[[package]]
+name = "aiobotocore"
+version = "2.4.2"
+description = "Async client for aws services using botocore and aiohttp"
+category = "main"
+optional = false
+python-versions = ">=3.7"
+files = [
+ {file = "aiobotocore-2.4.2-py3-none-any.whl", hash = "sha256:4acd1ebe2e44be4b100aa553910bda899f6dc090b3da2bc1cf3d5de2146ed208"},
+ {file = "aiobotocore-2.4.2.tar.gz", hash = "sha256:0603b74a582dffa7511ce7548d07dc9b10ec87bc5fb657eb0b34f9bd490958bf"},
+]
+
+[package.dependencies]
+aiohttp = ">=3.3.1"
+aioitertools = ">=0.5.1"
+boto3 = {version = ">=1.24.59,<1.24.60", optional = true, markers = "extra == \"boto3\""}
+botocore = ">=1.27.59,<1.27.60"
+wrapt = ">=1.10.10"
+
+[package.extras]
+awscli = ["awscli (>=1.25.60,<1.25.61)"]
+boto3 = ["boto3 (>=1.24.59,<1.24.60)"]
+
[[package]]
name = "aiodns"
version = "3.0.0"
@@ -139,6 +181,21 @@ files = [
[package.dependencies]
aiohttp = "*"
+[[package]]
+name = "aioitertools"
+version = "0.11.0"
+description = "itertools and builtins for AsyncIO and mixed iterables"
+category = "main"
+optional = false
+python-versions = ">=3.6"
+files = [
+ {file = "aioitertools-0.11.0-py3-none-any.whl", hash = "sha256:04b95e3dab25b449def24d7df809411c10e62aab0cbe31a50ca4e68748c43394"},
+ {file = "aioitertools-0.11.0.tar.gz", hash = "sha256:42c68b8dd3a69c2bf7f2233bf7df4bb58b557bca5252ac02ed5187bbc67d6831"},
+]
+
+[package.dependencies]
+typing_extensions = {version = ">=4.0", markers = "python_version < \"3.10\""}
+
[[package]]
name = "aiosignal"
version = "1.3.1"
@@ -345,18 +402,18 @@ uvloop = ["uvloop (>=0.15.2)"]
[[package]]
name = "boto3"
-version = "1.26.90"
+version = "1.24.59"
description = "The AWS SDK for Python"
category = "main"
optional = false
python-versions = ">= 3.7"
files = [
- {file = "boto3-1.26.90-py3-none-any.whl", hash = "sha256:f1123076445f93fa85bf7ee956ae33041f2e077a6824e31929cc56ad31aeffc1"},
- {file = "boto3-1.26.90.tar.gz", hash = "sha256:1d33abca60643d14f90a9e77d94085ebfd8f8bf8f157f582466f6b3a141bab8c"},
+ {file = "boto3-1.24.59-py3-none-any.whl", hash = "sha256:34ab44146a2c4e7f4e72737f4b27e6eb5e0a7855c2f4599e3d9199b6a0a2d575"},
+ {file = "boto3-1.24.59.tar.gz", hash = "sha256:a50b4323f9579cfe22fcf5531fbd40b567d4d74c1adce06aeb5c95fce2a6fb40"},
]
[package.dependencies]
-botocore = ">=1.29.90,<1.30.0"
+botocore = ">=1.27.59,<1.28.0"
jmespath = ">=0.7.1,<2.0.0"
s3transfer = ">=0.6.0,<0.7.0"
@@ -365,14 +422,14 @@ crt = ["botocore[crt] (>=1.21.0,<2.0a0)"]
[[package]]
name = "botocore"
-version = "1.29.90"
+version = "1.27.59"
description = "Low-level, data-driven core of boto 3."
category = "main"
optional = false
python-versions = ">= 3.7"
files = [
- {file = "botocore-1.29.90-py3-none-any.whl", hash = "sha256:1b8c1b8c366875e65d39237a296842b9c0ea33af2ba4a2771db2ba6aefa663ef"},
- {file = "botocore-1.29.90.tar.gz", hash = "sha256:2dbbc2c7d93ddefcf9896268597212d446e5d416fbceb1b12c793660fa9f83f3"},
+ {file = "botocore-1.27.59-py3-none-any.whl", hash = "sha256:69d756791fc024bda54f6c53f71ae34e695ee41bbbc1743d9179c4837a4929da"},
+ {file = "botocore-1.27.59.tar.gz", hash = "sha256:eda4aed6ee719a745d1288eaf1beb12f6f6448ad1fa12f159405db14ba9c92cf"},
]
[package.dependencies]
@@ -381,7 +438,7 @@ python-dateutil = ">=2.1,<3.0.0"
urllib3 = ">=1.25.4,<1.27"
[package.extras]
-crt = ["awscrt (==0.16.9)"]
+crt = ["awscrt (==0.14.0)"]
[[package]]
name = "cachetools"
@@ -675,20 +732,21 @@ files = [
[[package]]
name = "deeplake"
-version = "3.2.15"
+version = "3.2.16"
description = "Activeloop Deep Lake"
category = "main"
optional = false
python-versions = "*"
files = [
- {file = "deeplake-3.2.15.tar.gz", hash = "sha256:c9a72fa059ee106a90592a6bab411f88f6efcfaa32ed4d4298def59ce737c762"},
+ {file = "deeplake-3.2.16.tar.gz", hash = "sha256:e7ab944b88cc25396f4e1df482352567de57920597280e6edb0b0cba33d3b8f9"},
]
[package.dependencies]
+aioboto3 = {version = "10.4.0", markers = "python_version >= \"3.7\" and sys_platform != \"win32\""}
boto3 = "*"
click = "*"
-hub = ">=2.8.7"
humbug = ">=0.2.6"
+nest_asyncio = {version = "*", markers = "python_version >= \"3.7\" and sys_platform != \"win32\""}
numcodecs = "*"
numpy = "*"
pathos = "*"
@@ -697,11 +755,11 @@ pyjwt = "*"
tqdm = "*"
[package.extras]
-all = ["IPython", "av (>=8.1.0)", "flask", "google-api-python-client (>=2.31.0,<2.32.0)", "google-auth (>=2.0.1,<2.1.0)", "google-auth-oauthlib (>=0.4.5,<0.5.0)", "google-cloud-storage (>=1.42.0,<1.43.0)", "laspy", "libdeeplake (==0.0.40)", "nibabel", "oauth2client (>=4.1.3,<4.2.0)", "pydicom"]
+all = ["IPython", "av (>=8.1.0)", "flask", "google-api-python-client (>=2.31.0,<2.32.0)", "google-auth (>=2.0.1,<2.1.0)", "google-auth-oauthlib (>=0.4.5,<0.5.0)", "google-cloud-storage (>=1.42.0,<1.43.0)", "laspy", "libdeeplake (==0.0.41)", "nibabel", "oauth2client (>=4.1.3,<4.2.0)", "pydicom"]
audio = ["av (>=8.1.0)"]
av = ["av (>=8.1.0)"]
dicom = ["nibabel", "pydicom"]
-enterprise = ["libdeeplake (==0.0.40)", "pyjwt"]
+enterprise = ["libdeeplake (==0.0.41)", "pyjwt"]
gcp = ["google-auth (>=2.0.1,<2.1.0)", "google-auth-oauthlib (>=0.4.5,<0.5.0)", "google-cloud-storage (>=1.42.0,<1.43.0)"]
gdrive = ["google-api-python-client (>=2.31.0,<2.32.0)", "google-auth (>=2.0.1,<2.1.0)", "google-auth-oauthlib (>=0.4.5,<0.5.0)", "oauth2client (>=4.1.3,<4.2.0)"]
medical = ["nibabel", "pydicom"]
@@ -1095,21 +1153,6 @@ files = [
[package.dependencies]
pyparsing = {version = ">=2.4.2,<3.0.0 || >3.0.0,<3.0.1 || >3.0.1,<3.0.2 || >3.0.2,<3.0.3 || >3.0.3,<4", markers = "python_version > \"3.0\""}
-[[package]]
-name = "hub"
-version = "3.0.1"
-description = "Activeloop Deep Lake"
-category = "main"
-optional = false
-python-versions = "*"
-files = [
- {file = "hub-3.0.1-py3-none-any.whl", hash = "sha256:16d20fbf44700b438dc372d697ee683f0d7c58b178ad01d2daf81efe88bc692d"},
- {file = "hub-3.0.1.tar.gz", hash = "sha256:3866425914ed522090f0634887f06ff77517e8e6d7b9370e42009d774b725514"},
-]
-
-[package.dependencies]
-deeplake = "*"
-
[[package]]
name = "humbug"
version = "0.2.8"
@@ -1564,7 +1607,7 @@ files = [
name = "nest-asyncio"
version = "1.5.6"
description = "Patch asyncio to allow nested event loops"
-category = "dev"
+category = "main"
optional = false
python-versions = ">=3.5"
files = [
@@ -1713,14 +1756,14 @@ ppft = ">=1.7.6.6"
[[package]]
name = "pathspec"
-version = "0.11.0"
+version = "0.11.1"
description = "Utility library for gitignore style pattern matching of file paths."
category = "dev"
optional = false
python-versions = ">=3.7"
files = [
- {file = "pathspec-0.11.0-py3-none-any.whl", hash = "sha256:3a66eb970cbac598f9e5ccb5b2cf58930cd8e3ed86d393d541eaf2d8b1705229"},
- {file = "pathspec-0.11.0.tar.gz", hash = "sha256:64d338d4e0914e91c1792321e6907b5a593f1ab1851de7fc269557a21b30ebbc"},
+ {file = "pathspec-0.11.1-py3-none-any.whl", hash = "sha256:d8af70af76652554bd134c22b3e8a1cc46ed7d91edcdd721ef1a0c51a84a5293"},
+ {file = "pathspec-0.11.1.tar.gz", hash = "sha256:2798de800fa92780e33acca925945e9a19a133b715067cf165b8866c15a31687"},
]
[[package]]
@@ -2861,6 +2904,91 @@ files = [
{file = "wcwidth-0.2.6.tar.gz", hash = "sha256:a5220780a404dbe3353789870978e472cfe477761f06ee55077256e509b156d0"},
]
+[[package]]
+name = "wrapt"
+version = "1.15.0"
+description = "Module for decorators, wrappers and monkey patching."
+category = "main"
+optional = false
+python-versions = "!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,!=3.4.*,>=2.7"
+files = [
+ {file = "wrapt-1.15.0-cp27-cp27m-macosx_10_9_x86_64.whl", hash = "sha256:ca1cccf838cd28d5a0883b342474c630ac48cac5df0ee6eacc9c7290f76b11c1"},
+ {file = "wrapt-1.15.0-cp27-cp27m-manylinux1_i686.whl", hash = "sha256:e826aadda3cae59295b95343db8f3d965fb31059da7de01ee8d1c40a60398b29"},
+ {file = "wrapt-1.15.0-cp27-cp27m-manylinux1_x86_64.whl", hash = "sha256:5fc8e02f5984a55d2c653f5fea93531e9836abbd84342c1d1e17abc4a15084c2"},
+ {file = "wrapt-1.15.0-cp27-cp27m-manylinux2010_i686.whl", hash = "sha256:96e25c8603a155559231c19c0349245eeb4ac0096fe3c1d0be5c47e075bd4f46"},
+ {file = "wrapt-1.15.0-cp27-cp27m-manylinux2010_x86_64.whl", hash = "sha256:40737a081d7497efea35ab9304b829b857f21558acfc7b3272f908d33b0d9d4c"},
+ {file = "wrapt-1.15.0-cp27-cp27mu-manylinux1_i686.whl", hash = "sha256:f87ec75864c37c4c6cb908d282e1969e79763e0d9becdfe9fe5473b7bb1e5f09"},
+ {file = "wrapt-1.15.0-cp27-cp27mu-manylinux1_x86_64.whl", hash = "sha256:1286eb30261894e4c70d124d44b7fd07825340869945c79d05bda53a40caa079"},
+ {file = "wrapt-1.15.0-cp27-cp27mu-manylinux2010_i686.whl", hash = "sha256:493d389a2b63c88ad56cdc35d0fa5752daac56ca755805b1b0c530f785767d5e"},
+ {file = "wrapt-1.15.0-cp27-cp27mu-manylinux2010_x86_64.whl", hash = "sha256:58d7a75d731e8c63614222bcb21dd992b4ab01a399f1f09dd82af17bbfc2368a"},
+ {file = "wrapt-1.15.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:21f6d9a0d5b3a207cdf7acf8e58d7d13d463e639f0c7e01d82cdb671e6cb7923"},
+ {file = "wrapt-1.15.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:ce42618f67741d4697684e501ef02f29e758a123aa2d669e2d964ff734ee00ee"},
+ {file = "wrapt-1.15.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:41d07d029dd4157ae27beab04d22b8e261eddfc6ecd64ff7000b10dc8b3a5727"},
+ {file = "wrapt-1.15.0-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:54accd4b8bc202966bafafd16e69da9d5640ff92389d33d28555c5fd4f25ccb7"},
+ {file = "wrapt-1.15.0-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:2fbfbca668dd15b744418265a9607baa970c347eefd0db6a518aaf0cfbd153c0"},
+ {file = "wrapt-1.15.0-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:76e9c727a874b4856d11a32fb0b389afc61ce8aaf281ada613713ddeadd1cfec"},
+ {file = "wrapt-1.15.0-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:e20076a211cd6f9b44a6be58f7eeafa7ab5720eb796975d0c03f05b47d89eb90"},
+ {file = "wrapt-1.15.0-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:a74d56552ddbde46c246b5b89199cb3fd182f9c346c784e1a93e4dc3f5ec9975"},
+ {file = "wrapt-1.15.0-cp310-cp310-win32.whl", hash = "sha256:26458da5653aa5b3d8dc8b24192f574a58984c749401f98fff994d41d3f08da1"},
+ {file = "wrapt-1.15.0-cp310-cp310-win_amd64.whl", hash = "sha256:75760a47c06b5974aa5e01949bf7e66d2af4d08cb8c1d6516af5e39595397f5e"},
+ {file = "wrapt-1.15.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:ba1711cda2d30634a7e452fc79eabcadaffedf241ff206db2ee93dd2c89a60e7"},
+ {file = "wrapt-1.15.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:56374914b132c702aa9aa9959c550004b8847148f95e1b824772d453ac204a72"},
+ {file = "wrapt-1.15.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a89ce3fd220ff144bd9d54da333ec0de0399b52c9ac3d2ce34b569cf1a5748fb"},
+ {file = "wrapt-1.15.0-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:3bbe623731d03b186b3d6b0d6f51865bf598587c38d6f7b0be2e27414f7f214e"},
+ {file = "wrapt-1.15.0-cp311-cp311-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3abbe948c3cbde2689370a262a8d04e32ec2dd4f27103669a45c6929bcdbfe7c"},
+ {file = "wrapt-1.15.0-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:b67b819628e3b748fd3c2192c15fb951f549d0f47c0449af0764d7647302fda3"},
+ {file = "wrapt-1.15.0-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:7eebcdbe3677e58dd4c0e03b4f2cfa346ed4049687d839adad68cc38bb559c92"},
+ {file = "wrapt-1.15.0-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:74934ebd71950e3db69960a7da29204f89624dde411afbfb3b4858c1409b1e98"},
+ {file = "wrapt-1.15.0-cp311-cp311-win32.whl", hash = "sha256:bd84395aab8e4d36263cd1b9308cd504f6cf713b7d6d3ce25ea55670baec5416"},
+ {file = "wrapt-1.15.0-cp311-cp311-win_amd64.whl", hash = "sha256:a487f72a25904e2b4bbc0817ce7a8de94363bd7e79890510174da9d901c38705"},
+ {file = "wrapt-1.15.0-cp35-cp35m-manylinux1_i686.whl", hash = "sha256:4ff0d20f2e670800d3ed2b220d40984162089a6e2c9646fdb09b85e6f9a8fc29"},
+ {file = "wrapt-1.15.0-cp35-cp35m-manylinux1_x86_64.whl", hash = "sha256:9ed6aa0726b9b60911f4aed8ec5b8dd7bf3491476015819f56473ffaef8959bd"},
+ {file = "wrapt-1.15.0-cp35-cp35m-manylinux2010_i686.whl", hash = "sha256:896689fddba4f23ef7c718279e42f8834041a21342d95e56922e1c10c0cc7afb"},
+ {file = "wrapt-1.15.0-cp35-cp35m-manylinux2010_x86_64.whl", hash = "sha256:75669d77bb2c071333417617a235324a1618dba66f82a750362eccbe5b61d248"},
+ {file = "wrapt-1.15.0-cp35-cp35m-win32.whl", hash = "sha256:fbec11614dba0424ca72f4e8ba3c420dba07b4a7c206c8c8e4e73f2e98f4c559"},
+ {file = "wrapt-1.15.0-cp35-cp35m-win_amd64.whl", hash = "sha256:fd69666217b62fa5d7c6aa88e507493a34dec4fa20c5bd925e4bc12fce586639"},
+ {file = "wrapt-1.15.0-cp36-cp36m-macosx_10_9_x86_64.whl", hash = "sha256:b0724f05c396b0a4c36a3226c31648385deb6a65d8992644c12a4963c70326ba"},
+ {file = "wrapt-1.15.0-cp36-cp36m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:bbeccb1aa40ab88cd29e6c7d8585582c99548f55f9b2581dfc5ba68c59a85752"},
+ {file = "wrapt-1.15.0-cp36-cp36m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:38adf7198f8f154502883242f9fe7333ab05a5b02de7d83aa2d88ea621f13364"},
+ {file = "wrapt-1.15.0-cp36-cp36m-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:578383d740457fa790fdf85e6d346fda1416a40549fe8db08e5e9bd281c6a475"},
+ {file = "wrapt-1.15.0-cp36-cp36m-musllinux_1_1_aarch64.whl", hash = "sha256:a4cbb9ff5795cd66f0066bdf5947f170f5d63a9274f99bdbca02fd973adcf2a8"},
+ {file = "wrapt-1.15.0-cp36-cp36m-musllinux_1_1_i686.whl", hash = "sha256:af5bd9ccb188f6a5fdda9f1f09d9f4c86cc8a539bd48a0bfdc97723970348418"},
+ {file = "wrapt-1.15.0-cp36-cp36m-musllinux_1_1_x86_64.whl", hash = "sha256:b56d5519e470d3f2fe4aa7585f0632b060d532d0696c5bdfb5e8319e1d0f69a2"},
+ {file = "wrapt-1.15.0-cp36-cp36m-win32.whl", hash = "sha256:77d4c1b881076c3ba173484dfa53d3582c1c8ff1f914c6461ab70c8428b796c1"},
+ {file = "wrapt-1.15.0-cp36-cp36m-win_amd64.whl", hash = "sha256:077ff0d1f9d9e4ce6476c1a924a3332452c1406e59d90a2cf24aeb29eeac9420"},
+ {file = "wrapt-1.15.0-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:5c5aa28df055697d7c37d2099a7bc09f559d5053c3349b1ad0c39000e611d317"},
+ {file = "wrapt-1.15.0-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:3a8564f283394634a7a7054b7983e47dbf39c07712d7b177b37e03f2467a024e"},
+ {file = "wrapt-1.15.0-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:780c82a41dc493b62fc5884fb1d3a3b81106642c5c5c78d6a0d4cbe96d62ba7e"},
+ {file = "wrapt-1.15.0-cp37-cp37m-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:e169e957c33576f47e21864cf3fc9ff47c223a4ebca8960079b8bd36cb014fd0"},
+ {file = "wrapt-1.15.0-cp37-cp37m-musllinux_1_1_aarch64.whl", hash = "sha256:b02f21c1e2074943312d03d243ac4388319f2456576b2c6023041c4d57cd7019"},
+ {file = "wrapt-1.15.0-cp37-cp37m-musllinux_1_1_i686.whl", hash = "sha256:f2e69b3ed24544b0d3dbe2c5c0ba5153ce50dcebb576fdc4696d52aa22db6034"},
+ {file = "wrapt-1.15.0-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:d787272ed958a05b2c86311d3a4135d3c2aeea4fc655705f074130aa57d71653"},
+ {file = "wrapt-1.15.0-cp37-cp37m-win32.whl", hash = "sha256:02fce1852f755f44f95af51f69d22e45080102e9d00258053b79367d07af39c0"},
+ {file = "wrapt-1.15.0-cp37-cp37m-win_amd64.whl", hash = "sha256:abd52a09d03adf9c763d706df707c343293d5d106aea53483e0ec8d9e310ad5e"},
+ {file = "wrapt-1.15.0-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:cdb4f085756c96a3af04e6eca7f08b1345e94b53af8921b25c72f096e704e145"},
+ {file = "wrapt-1.15.0-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:230ae493696a371f1dbffaad3dafbb742a4d27a0afd2b1aecebe52b740167e7f"},
+ {file = "wrapt-1.15.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:63424c681923b9f3bfbc5e3205aafe790904053d42ddcc08542181a30a7a51bd"},
+ {file = "wrapt-1.15.0-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:d6bcbfc99f55655c3d93feb7ef3800bd5bbe963a755687cbf1f490a71fb7794b"},
+ {file = "wrapt-1.15.0-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:c99f4309f5145b93eca6e35ac1a988f0dc0a7ccf9ccdcd78d3c0adf57224e62f"},
+ {file = "wrapt-1.15.0-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:b130fe77361d6771ecf5a219d8e0817d61b236b7d8b37cc045172e574ed219e6"},
+ {file = "wrapt-1.15.0-cp38-cp38-musllinux_1_1_i686.whl", hash = "sha256:96177eb5645b1c6985f5c11d03fc2dbda9ad24ec0f3a46dcce91445747e15094"},
+ {file = "wrapt-1.15.0-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:d5fe3e099cf07d0fb5a1e23d399e5d4d1ca3e6dfcbe5c8570ccff3e9208274f7"},
+ {file = "wrapt-1.15.0-cp38-cp38-win32.whl", hash = "sha256:abd8f36c99512755b8456047b7be10372fca271bf1467a1caa88db991e7c421b"},
+ {file = "wrapt-1.15.0-cp38-cp38-win_amd64.whl", hash = "sha256:b06fa97478a5f478fb05e1980980a7cdf2712015493b44d0c87606c1513ed5b1"},
+ {file = "wrapt-1.15.0-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:2e51de54d4fb8fb50d6ee8327f9828306a959ae394d3e01a1ba8b2f937747d86"},
+ {file = "wrapt-1.15.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:0970ddb69bba00670e58955f8019bec4a42d1785db3faa043c33d81de2bf843c"},
+ {file = "wrapt-1.15.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:76407ab327158c510f44ded207e2f76b657303e17cb7a572ffe2f5a8a48aa04d"},
+ {file = "wrapt-1.15.0-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:cd525e0e52a5ff16653a3fc9e3dd827981917d34996600bbc34c05d048ca35cc"},
+ {file = "wrapt-1.15.0-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9d37ac69edc5614b90516807de32d08cb8e7b12260a285ee330955604ed9dd29"},
+ {file = "wrapt-1.15.0-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:078e2a1a86544e644a68422f881c48b84fef6d18f8c7a957ffd3f2e0a74a0d4a"},
+ {file = "wrapt-1.15.0-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:2cf56d0e237280baed46f0b5316661da892565ff58309d4d2ed7dba763d984b8"},
+ {file = "wrapt-1.15.0-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:7dc0713bf81287a00516ef43137273b23ee414fe41a3c14be10dd95ed98a2df9"},
+ {file = "wrapt-1.15.0-cp39-cp39-win32.whl", hash = "sha256:46ed616d5fb42f98630ed70c3529541408166c22cdfd4540b88d5f21006b0eff"},
+ {file = "wrapt-1.15.0-cp39-cp39-win_amd64.whl", hash = "sha256:eef4d64c650f33347c1f9266fa5ae001440b232ad9b98f1f43dfe7a79435c0a6"},
+ {file = "wrapt-1.15.0-py3-none-any.whl", hash = "sha256:64b1df0f83706b4ef4cfb4fb0e4c2669100fd7ecacfb59e091fad300d4e04640"},
+ {file = "wrapt-1.15.0.tar.gz", hash = "sha256:d06730c6aed78cee4126234cf2d071e01b44b915e725a6cb439a879ec9754a3a"},
+]
+
[[package]]
name = "yarl"
version = "1.8.2"
diff --git a/pyproject.toml b/pyproject.toml
index 2e0605cd5..8bb1c9b17 100644
--- a/pyproject.toml
+++ b/pyproject.toml
@@ -1,6 +1,6 @@
[tool.poetry]
name = "langflow"
-version = "0.0.32"
+version = "0.0.33"
description = "A Python package with a built-in web application"
authors = ["Logspace "]
packages = [