Commit graph

154 commits

Author SHA1 Message Date
Jordan Frazier
ca660cf8df
test: add astra integration test (#2189)
* add first astra integ test framework

* use fixtures

* remove old tests from merge

* Add correct sender type

* chore: Update unit test command in GitHub workflow

---------

Co-authored-by: ogabrielluiz <gabriel@langflow.org>
2024-06-15 19:50:38 -07:00
ogabrielluiz
5a04adfa1f chore: Comment out unused Docker build and container run steps 2024-06-15 11:53:13 -03:00
ogabrielluiz
7b89ff5cfb 🔧 (docker-build.yml): add TEST_TAG environment variable to specify the test tag for the Docker image
🔧 (docker-build.yml): update tags value to use the TEST_TAG environment variable for Docker image tagging
2024-06-15 11:51:04 -03:00
ogabrielluiz
a0ce61ccca chore: Update pip installation commands in pre-release workflow 2024-06-15 11:14:13 -03:00
ogabrielluiz
40cebd1bcf chore: Update package versions to latest in pyproject.toml files 2024-06-15 11:09:16 -03:00
Gabriel Luiz Freitas Almeida
dfc008b383
Update dependencies and fix docs (#2186)
* chore: Update chardet package to version 5.2.0

* chore: Update Docker build workflow to support multiple platforms and add container testing

* chore: Update pre-release workflow to include CLI testing

* chore: Update npm install command in lint-js.yml workflow

* chore: Update eslint and prettier versions in package.json

* fix: remove .mdx from link in docs

* Merge remote-tracking branch 'origin/dev' into update
2024-06-15 06:37:34 -07:00
Gabriel Luiz Freitas Almeida
5191638f8e
Update dependencies and workflows (#2185) 2024-06-15 06:02:08 -07:00
ogabrielluiz
b35efc458d chore: Update Dockerfile and Tags setup in docker-build.yml workflow 2024-06-14 17:14:52 -03:00
ogabrielluiz
3c430ff397 chore: Update Dockerfile and Tags setup in docker-build.yml workflow 2024-06-14 14:29:51 -03:00
ogabrielluiz
49962aeb57 chore: Update Dockerfile and Tags setup in docker-build.yml workflow 2024-06-14 14:19:06 -03:00
ogabrielluiz
52e472798a chore: Update lint-action to v2 in lint-js.yml and lint-py.yml workflows 2024-06-14 13:53:27 -03:00
ogabrielluiz
2443069611 chore: Update mypy command prefix to use "poetry run" 2024-06-14 12:33:18 -03:00
Gabriel Luiz Freitas Almeida
a9cb7b0f5e
Update linting workflows for frontend and Python code (#2171)
* chore: Update pre-commit hooks and dependencies

* chore: Add linting workflow for frontend code

* chore: Update linting workflow for Python code and include tests in pull requests

* chore: Add Ruff style check workflow for Python code
2024-06-14 06:27:48 -07:00
ogabrielluiz
3738a32b92 chore: Update Docker build workflow to include LANGFLOW_IMAGE build argument 2024-06-14 08:36:28 -03:00
ogabrielluiz
5f87e10127 🔧 (docker-build.yml): update setting output variables to use a file for better readability and maintainability 2024-06-14 08:19:38 -03:00
ogabrielluiz
05ceb29dec chore: Update Docker build workflow to include base and component images 2024-06-13 18:48:43 -03:00
ogabrielluiz
c818c47594 chore: Update Docker build workflow to include base and component images 2024-06-13 18:47:37 -03:00
Nicolò Boschi
968ec28fbc
docker: force python version to 3.12.3 (#2148)
* docker: force python version to 3.12.3

* also fixes pydantic

* remove ci build - too slow

* use lock file for deps

* use poetry.lock

* use poetry.lock
2024-06-12 06:09:46 -07:00
Nicolò Boschi
1110494615
feat: multi arch docker images (#2123) 2024-06-11 10:12:31 +02:00
ogabrielluiz
c3a0e3d598 chore: Upgrade langflow-base package version from 0.0.58 to 0.0.59 2024-06-06 18:57:40 -03:00
ogabrielluiz
311393a411 chore: Restart HuggingFace Spaces and update import paths for GenericNode and getFieldTitle 2024-06-06 18:40:07 -03:00
ogabrielluiz
cfd4f2a732 chore: Update import paths for GenericNode and getFieldTitle 2024-06-06 17:55:52 -03:00
ogabrielluiz
bcdc329d1d Refactor restart_space script to accept space and token as command line arguments 2024-06-05 15:40:30 -03:00
Gabriel Luiz Freitas Almeida
491e3698f6
chore: Update poetry installation to use environment variable for version (#2074) 2024-06-05 10:40:58 -07:00
ogabrielluiz
374f1fbde3 chore: Update Poetry version to 1.8.2 2024-06-05 09:45:10 -03:00
Nicolò Boschi
ba59a9f449
docker: improve image layout and backend-only/frontend-only images (#2071)
* docker: improve image layout and backend-only image

* add tests

* add tests

* add frontend

* add frontend

* label

* fix
2024-06-05 04:46:14 -07:00
ogabrielluiz
5fe568cc6c refactor: Update factory_restart_space.py to use environment variable for Hugging Face API token 2024-06-03 09:54:47 -03:00
Gabriel Luiz Freitas Almeida
fce2ca3a9c
Update docker-build.yml 2024-05-31 13:43:16 -07:00
ogabrielluiz
764fcfcfd1 feat: Add Docker Hub propagation wait and HuggingFace Spaces build restart
The code changes include adding a new step in the `.github/workflows/docker-build.yml` file to wait for Docker Hub to propagate. Additionally, a new script `factory_restart_space.py` is added in the `scripts` directory to restart the HuggingFace Spaces build. This script uses the `HfApi` and `rich` libraries to interact with the HuggingFace Hub API and print the space runtime.

Note: The commit message has been generated based on the provided code changes and recent commits.
2024-05-30 16:00:01 -03:00
Gabriel Luiz Freitas Almeida
94e8bf1e2b
Add support for running flows by endpoint name (#2012)
* feat: Add support for running flows by endpoint name

This commit modifies the `simplified_run_flow` endpoint in `endpoints.py` to allow running flows using the endpoint name instead of the flow ID. It introduces a new route parameter `flow_id_or_name` which can accept either a UUID or a string representing the endpoint name. The code first attempts to parse the parameter as a UUID, and if that fails, it queries the database to find a flow with the matching endpoint name. This change improves the usability of the API by providing an alternative way to identify flows for execution.

* feat: Add endpoint_name field to FlowType

This commit adds the `endpoint_name` field to the `FlowType` interface in the `index.ts` file. The `endpoint_name` field is an optional string that represents the name of the endpoint associated with the flow. This change allows for more flexibility in identifying flows by endpoint name instead of just the flow ID. It improves the usability of the codebase by providing an alternative way to reference flows.

* 🐛 (endpoints.py): change type of flow_id_or_name parameter from Union[str, UUID] to str to simplify the API and improve readability

* feat: Add migration utility functions for table, column, foreign key, and constraint existence checks

This commit adds utility functions to the `migration.py` module in the `langflow.utils` package. These functions provide convenient ways to check the existence of tables, columns, foreign keys, and constraints in a database using SQLAlchemy. The functions `table_exists`, `column_exists`, `foreign_key_exists`, and `constraint_exists` take the table name, column name, foreign key name, and constraint name respectively, along with the SQLAlchemy engine or connection object. They use the `Inspector` class from `sqlalchemy.engine.reflection` to retrieve the necessary information and return a boolean value indicating whether the specified element exists in the database. These utility functions improve the readability and maintainability of the codebase by encapsulating the common existence checks in a reusable and modular way.

* feat: Add unique constraints for per-user folders and flows

This commit adds unique constraints for per-user folders and flows in the database. It introduces the `unique_folder_name` constraint for the `folder` table, ensuring that each user can have only one folder with a specific name. Similarly, it adds the `unique_flow_endpoint_name` and `unique_flow_name` constraints for the `flow` table, enforcing uniqueness of endpoint names and flow names per user. These constraints improve data integrity and prevent duplicate entries in the database, providing a more robust and reliable system.

* feat: Add poetry installation and caching steps to GitHub Actions workflow

This commit updates the GitHub Actions workflow file `action.yml` to include additional steps for installing poetry and caching its dependencies. The `run` step now installs poetry using the specified version and ensures that the poetry binary is available in the PATH. Additionally, the workflow now includes a step to restore pip and poetry cached dependencies using the `actions/cache` action. These changes improve the workflow by providing a more efficient and reliable way to manage poetry dependencies and caching.

* refactor: Improve error handling in update_flow function

This commit improves the error handling in the `update_flow` function in `flows.py`. It adds a new `elif` condition to check if the exception is an instance of `HTTPException` and re-raises it. This ensures that any `HTTPException` raised during the update process is properly handled and returned as a response. Additionally, it removes the unnecessary `else` block and simplifies the code logic. This refactor enhances the reliability and maintainability of the `update_flow` function.
2024-05-30 07:46:28 -07:00
ogabrielluiz
f9026ba8f6 build(pre-release.yml): dynamically set artifact name based on release type input to ensure correct artifact is downloaded 2024-05-28 22:08:49 -03:00
ogabrielluiz
8bc241267d chore(create-release.yml): remove unnecessary version check step to simplify workflow and improve readability 2024-05-28 19:47:46 -03:00
ogabrielluiz
969ac6eb49 chore(create-release.yml): Update Poetry version to 1.8.2 2024-05-28 19:44:50 -03:00
ogabrielluiz
9df2dc72ac chore(create-release.yml): add 'needs: release' to ensure the 'create_release' job runs after the 'release' job 2024-05-28 19:43:07 -03:00
ogabrielluiz
546dd3dbdf feat(create-release.yml): add support for building and uploading different project versions based on release type (base or main) to streamline release process 2024-05-28 19:40:03 -03:00
ogabrielluiz
ce797dbfa0 chore(create-release.yml): update workflow name to 'pre-release.yml' for consistency and clarity 2024-05-28 19:32:54 -03:00
ogabrielluiz
4f684c851c chore(create-release.yml): update action to download artifact to dawidd6/action-download-artifact@v3 for compatibility with workflow Langflow Pre-release (Unified) and add github_token and workflow inputs for authentication and artifact retrieval. 2024-05-28 19:28:42 -03:00
ogabrielluiz
8902b6d09e chore(create-release.yml): rename job name to 'Create Release Job' for clarity
chore(create-release.yml): rename step name to 'Download Artifact' for better readability
chore(create-release.yml): rename step name to 'Create Release Notes' for better understanding of the action's purpose
2024-05-28 19:24:52 -03:00
ogabrielluiz
6e9e67d5c6 chore(pre-release.yml): remove unnecessary dependency on 'call_docker_build' job for 'create_release' job when release_type is 'main' to simplify workflow logic 2024-05-28 19:00:26 -03:00
ogabrielluiz
8d1295b5a1 fix(pre-release.yml): update artifact path based on release type to correctly upload artifacts for different release types 2024-05-28 18:53:19 -03:00
ogabrielluiz
9965f9a31a feat: Add release_type input to create-release workflow 2024-05-28 18:44:01 -03:00
ogabrielluiz
6070bbb8fc feat(create-release.yml): add GitHub Actions workflow to create a release with version input and release notes generation 2024-05-28 18:38:58 -03:00
Gabriel Luiz Freitas Almeida
6d849b449e
update call_docker_build job (#2001)
* refactor: Update SplitTextComponent to store parent and text data in Record object

* chore(pre-release.yml): update call_docker_build job to use langflow-ai/langflow/.github/workflows/docker-build.yml@dev for better workflow organization and consistency

* merge dev
2024-05-28 13:24:12 -07:00
ogabrielluiz
8abab3a930 chore: Set Dockerfile and Tags dynamically in Docker Build and Push workflow 2024-05-28 08:40:40 -03:00
ogabrielluiz
26c85f191e chore: Set Dockerfile and Tags dynamically in Docker Build and Push workflow 2024-05-28 08:02:01 -03:00
ogabrielluiz
11c874cd96 chore: Update pre-release workflow to include actions/checkout step 2024-05-27 18:27:10 -03:00
ogabrielluiz
02b7491f2c chore: Update Langflow Pre-release workflow to include release type in run name 2024-05-27 17:10:25 -03:00
Gabriel Luiz Freitas Almeida
9b2fe24abe
Update pyproject.toml versions and add Docker Build and Push workflow (#1985)
* chore: Update pyproject.toml versions for langflow and langflow-base

* feat(workflows): add Docker Build and Push workflow to automate building and pushing Docker images based on release type and version
feat(workflows): add Pre-release workflow to automate releasing Langflow packages based on release type and version
feat(workflows): create workflow to call Docker Build workflow and handle release creation based on release type
2024-05-27 13:08:28 -07:00
Gabriel Luiz Freitas Almeida
56f13c918b
Reorganize repo (#1971)
* chore: Update dockerfile paths and branch name in render.yaml and release.yml

* chore(readthedocs.yaml): remove .readthedocs.yaml file as it is no longer needed
chore(base.Dockerfile): remove base.Dockerfile as it is no longer used in the project
feat(cdk-docker-compose.yml): add cdk-docker-compose.yml file to set up docker-compose for backend and frontend services

* move dockerignore

* chore: Remove test-results/.last-run.json file

* chore: Cache Node.js dependencies during workflow execution

* chore: Remove npm cache from workflow and cache Node.js dependencies

* chore: Update shardIndex and shardTotal values in typescript_test.yml workflow

* chore: Update Playwright test command with shard and worker options
2024-05-27 06:55:32 -07:00
Gabriel Luiz Freitas Almeida
5ca1c22893
Add support for Python 3.12 (#1873)
* Add support for Python 3.12

* chore: Update Python version to 3.11 and DuckDB dependency to 0.10.2

* chore: fix mistral components lint

* Update SQLAgent and SQLExecutor imports to use langchain_community utilities

* Update langchain import to langchain_community

* Update langchain import to langchain_community

* 📝 (langflow/__main__.py): Import warnings module to suppress warnings during app execution
📝 (langflow/api/v1/schemas.py): Update timestamp field default value to use datetime.now with timezone.utc
📝 (auth/utils.py): Ignore warnings related to datetime.utcnow when decoding JWT tokens and creating refresh tokens
📝 (models/flow/model.py): Update updated_at field default value to use lambda function with timezone.utc
📝 (models/user/model.py): Update create_at and updated_at field default values to use lambda function with timezone.utc
2024-05-10 12:25:34 -03:00