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 @@ GitHub Issues GitHub Pull Requests -Github License +Github License

@@ -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 = [