docs: Update CONTRIBUTING.md to mention uv (#3965)

* Remove Poetry check, update uv command, and remove dev target from Makefile

* Update CONTRIBUTING.md to reflect new development setup and remove docker-compose instructions
This commit is contained in:
Gabriel Luiz Freitas Almeida
2024-09-30 16:23:35 -03:00
committed by GitHub
parent f873309004
commit bbeaf68a26
2 changed files with 7 additions and 30 deletions

View File

@@ -6,7 +6,6 @@ to contributions, whether it be in the form of a new feature, improved infra, or
To contribute to this project, please follow the [fork and pull request](https://docs.github.com/en/get-started/quickstart/contributing-to-projects) workflow.
## Reporting bugs or suggesting improvements
Our [GitHub issues](https://github.com/langflow-ai/langflow/issues) page is kept up to date
@@ -32,10 +31,9 @@ so that more people can benefit from it.
[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.
## Contributing code and documentation
You can develop Langflow locally via Poetry + NodeJS or docker-compose.
You can develop Langflow locally via uv + NodeJS.
### Clone the Langflow Repository
@@ -50,15 +48,16 @@ git remote add fork https://github.com/<your username>/langflow.git
We also provide a .vscode/launch.json file for debugging the backend in VSCode, which is a lot faster than using docker compose.
### Prepare the environment
Setting up hooks:
```bash
make init
```
This will install the pre-commit hooks, which will run `make format` on every commit.
This will set up the development environment by installing backend and frontend dependencies, building the frontend static files, and initializing the project. It runs `make install_backend`, `make install_frontend`, `make build_frontend`, and finally `uv run langflow run` to start the application.
It is advised to run `make lint` before pushing to the repository.
It is advised to run `make lint`, `make format`, and `make unit_tests` before pushing to the repository.
### Run locally (Poetry and Node.js)
@@ -66,7 +65,7 @@ Langflow can run locally by cloning the repository and installing the dependenci
Before you start, make sure you have the following installed:
- Poetry (>=1.4)
- uv (>=0.4)
- Node.js
Then, in the root folder, install the dependencies and start the development server for the backend:
@@ -81,17 +80,6 @@ And the frontend:
make frontend
```
### Run locally (docker compose)
The following snippet will run the backend and frontend in separate containers. The frontend will be available at `localhost:3000` and the backend at `localhost:7860`.
```bash
docker compose up --build
# or
make dev build=1
```
### Run documentation
The documentation is built using [Docusaurus](https://docusaurus.io/). To run the documentation locally, run the following commands:
@@ -104,8 +92,8 @@ npm run start
The documentation will be available at `localhost:3000` and all the files are located in the `docs/docs` folder.
## Opening a pull request
Once you wrote and manually tested your change, you can start sending the patch to the main repository.
- Open a new GitHub pull request with the patch against the `main` branch.

View File

@@ -35,10 +35,8 @@ patch: ## bump the version in langflow and langflow-base
# check for required tools
check_tools:
@command -v poetry >/dev/null 2>&1 || { echo >&2 "$(RED)Poetry is not installed. Aborting.$(NC)"; exit 1; }
@command -v uv >/dev/null 2>&1 || { echo >&2 "$(RED)uv is not installed. Aborting.$(NC)"; exit 1; }
@command -v npm >/dev/null 2>&1 || { echo >&2 "$(RED)NPM is not installed. Aborting.$(NC)"; exit 1; }
@command -v docker >/dev/null 2>&1 || { echo >&2 "$(RED)Docker is not installed. Aborting.$(NC)"; exit 1; }
@command -v pipx >/dev/null 2>&1 || { echo >&2 "$(RED)pipx is not installed. Aborting.$(NC)"; exit 1; }
@$(MAKE) check_env
@echo "$(GREEN)All required tools are installed.$(NC)"
@@ -85,7 +83,7 @@ init: check_tools clean_python_cache clean_npm_cache ## initialize the project
@make install_frontend
@make build_frontend
@echo "$(GREEN)All requirements are installed.$(NC)"
@python -m langflow run
@uv run langflow run
######################
# CLEAN PROJECT
@@ -342,15 +340,6 @@ ifdef restore
mv uv.lock.bak uv.lock
endif
dev: ## run the project in development mode with docker compose
make install_frontend
ifeq ($(build),1)
@echo 'Running docker compose up with build'
docker compose $(if $(debug),-f docker-compose.debug.yml) up --build
else
@echo 'Running docker compose up without build'
docker compose $(if $(debug),-f docker-compose.debug.yml) up
endif
docker_build: dockerfile_build clear_dockerimage ## build DockerFile