WIP: create pipelines cli working

This commit is contained in:
Lorenze Jay
2024-08-02 15:16:04 -07:00
parent 1d5583a624
commit 574cfd4484
6 changed files with 13 additions and 12 deletions

View File

@@ -1,4 +1,3 @@
import os
import shutil
from pathlib import Path
@@ -19,6 +18,7 @@ def create_pipeline(name, router=False):
# Create directory structure
(project_root / "src" / folder_name).mkdir(parents=True)
(project_root / "src" / folder_name / "pipelines").mkdir(parents=True)
(project_root / "src" / folder_name / "crews").mkdir(parents=True)
(project_root / "src" / folder_name / "tools").mkdir(parents=True)
(project_root / "tests").mkdir(exist_ok=True)
@@ -33,9 +33,10 @@ def create_pipeline(name, router=False):
# List of template files to copy
root_template_files = [".gitignore", "pyproject.toml", "README.md"]
src_template_files = ["__init__.py", "main.py", "pipeline.py"]
src_template_files = ["__init__.py", "main.py"]
tools_template_files = ["tools/__init__.py", "tools/custom_tool.py"]
crew_folders = ["research_crew", "write_x_crew", "write_linkedin_crew"]
pipelines_folders = ["pipelines/__init__.py", "pipelines/pipeline.py"]
def process_file(src_file, dst_file):
with open(src_file, "r") as file:
@@ -67,6 +68,12 @@ def create_pipeline(name, router=False):
dst_file = project_root / "src" / folder_name / file_name
shutil.copy(src_file, dst_file)
# Copy pipelines folders
for file_name in pipelines_folders:
src_file = templates_dir / file_name
dst_file = project_root / "src" / folder_name / file_name
process_file(src_file, dst_file)
# Copy crew folders
for crew_folder in crew_folders:
src_crew_folder = templates_dir / "crews" / crew_folder

View File

@@ -1,6 +1,6 @@
#!/usr/bin/env python
import asyncio
from {{folder_name}}.pipeline import {{pipeline_name}}Pipeline
from {{folder_name}}.pipelines.pipeline import {{pipeline_name}}Pipeline
async def run():
"""

View File

@@ -32,8 +32,8 @@ from crewai import Pipeline
# Uncomment the crews you need for your chosen example
from .crews.research_crew.research_crew import ResearchCrew
from .crews.write_x_crew.write_x_crew import WriteXCrew
from ..crews.research_crew.research_crew import ResearchCrew
from ..crews.write_x_crew.write_x_crew import WriteXCrew
# from .crews.write_linkedin_crew.write_linkedin_crew import WriteLinkedInCrew # Uncomment for Example 2
# EXAMPLE 1: Two-Stage Pipeline

View File

@@ -1,5 +0,0 @@
1. move pipeline.py into this folder
2. Hard code pipeline that you want to use in main.py
3. Pipeline and file naming

View File

@@ -6,8 +6,7 @@ authors = ["Your Name <you@example.com>"]
[tool.poetry.dependencies]
python = ">=3.10,<=3.13"
#crewai = { extras = ["tools"], version = "^0.41.1" }
crewai = { extras = ["tools"], path = "/Users/brandonhancock/Code/crewai/crewAI" }
crewai = { extras = ["tools"], version = "^0.41.1" }
asyncio = "*"
[tool.poetry.scripts]