Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Backend Folder Restructure #35

Merged
merged 4 commits into from
Jan 25, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion workers/fund_public_goods/api/runs.py
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
from fund_public_goods.inngest_client import inngest_client
from fund_public_goods.workers.events import CreateStrategyEvent
from fund_public_goods.workflows.create_strategy.events import CreateStrategyEvent
from fund_public_goods.db import client, tables
from fastapi import APIRouter, HTTPException
from pydantic import BaseModel
Expand Down
6 changes: 3 additions & 3 deletions workers/fund_public_goods/api/workers.py
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
from fund_public_goods.inngest_client import inngest_client
from fund_public_goods.workers.events import CreateStrategyEvent
from fund_public_goods.db import client, tables
from fastapi import APIRouter, HTTPException
from pydantic import BaseModel
from fund_public_goods.inngest_client import inngest_client
from fund_public_goods.workflows.create_strategy.events import CreateStrategyEvent
from fund_public_goods.db import client, tables

router = APIRouter()

Expand Down
1 change: 1 addition & 0 deletions workers/fund_public_goods/db/__init__.py
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@
from .tables import gitcoin
from .tables import logs
from .tables import projects
from .tables import runs
Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
import datetime
import json
from fund_public_goods.gitcoin.models import GitcoinIndexingJob, ProjectApplicationInfo, ProjectInfo
from .client import create_admin
from fund_public_goods.lib.gitcoin.models import GitcoinIndexingJob, ProjectApplicationInfo, ProjectInfo
from fund_public_goods.db.client import create_admin

def upsert_project(app: ProjectInfo):
db = create_admin()
Expand All @@ -19,7 +19,6 @@ def upsert_project(app: ProjectInfo):
"description": app.data["description"],
"website": app.data["website"],
}).execute()


def save_application(app: ProjectApplicationInfo):
db = create_admin()
Expand Down Expand Up @@ -119,4 +118,4 @@ def stop_and_mark_job_as_failed(job_id: str, error: object):
"last_updated_at": datetime.datetime.utcnow().isoformat()
})
.eq("id", job_id)
.execute())
.execute())
2 changes: 1 addition & 1 deletion workers/fund_public_goods/db/tables/strategy_entries.py
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
from supabase import Client
from fund_public_goods.agents.researcher.models.weighted_project import WeightedProject
from fund_public_goods.lib.strategy.models.weighted_project import WeightedProject


def insert(
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
import requests

from fund_public_goods.gitcoin.models import RoundInfo, ApplicationInfo
from fund_public_goods.lib.gitcoin.models import RoundInfo, ApplicationInfo

def fetch_json_from_ipfs(pointer: str) -> dict:
ipfs_url = f"https://ipfs.io/ipfs/{pointer}"
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
from pydantic import BaseModel
from fund_public_goods.agents.researcher.models.project import Project
from fund_public_goods.agents.researcher.models.project_evaluation import ProjectEvaluation
from fund_public_goods.lib.strategy.models.project import Project
from fund_public_goods.lib.strategy.models.project_evaluation import ProjectEvaluation

class EvaluatedProject(BaseModel):
project: Project
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
from pydantic import BaseModel
from fund_public_goods.agents.researcher.models.answer import Answer
from fund_public_goods.lib.strategy.models.answer import Answer

class Project(BaseModel):
id: str
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
from pydantic import BaseModel
from fund_public_goods.agents.researcher.models.project import Project
from fund_public_goods.agents.researcher.models.project_evaluation import ProjectEvaluation
from fund_public_goods.lib.strategy.models.project import Project
from fund_public_goods.lib.strategy.models.project_evaluation import ProjectEvaluation

class WeightedProject(BaseModel):
project: Project
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,10 +2,9 @@
from langchain_core.prompts import ChatPromptTemplate
from langchain_core.output_parsers import StrOutputParser
from langchain_core.output_parsers.json import JsonOutputParser
from fund_public_goods.agents.researcher.models.evaluated_project import EvaluatedProject
import json

from fund_public_goods.agents.researcher.models.weighted_project import WeightedProject
from fund_public_goods.lib.strategy.models.evaluated_project import EvaluatedProject
from fund_public_goods.lib.strategy.models.weighted_project import WeightedProject

assign_weights_prompt_template = """
You are a specialist in public goods funding. You will receive a list of projects
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,11 +4,11 @@
from langchain_core.output_parsers import StrOutputParser
from langchain_core.output_parsers.json import JsonOutputParser
from langchain_openai import OpenAIEmbeddings
from fund_public_goods.agents.researcher.functions.generate_queries import generate_queries
from fund_public_goods.agents.researcher.models.evaluated_project import EvaluatedProject
from fund_public_goods.agents.researcher.models.project import Project
from langchain.vectorstores.chroma import Chroma
from fund_public_goods.agents.researcher.models.project_evaluation import ProjectEvaluation
from fund_public_goods.lib.strategy.utils.generate_queries import generate_queries
from fund_public_goods.lib.strategy.models.evaluated_project import EvaluatedProject
from fund_public_goods.lib.strategy.models.project import Project
from fund_public_goods.lib.strategy.models.project_evaluation import ProjectEvaluation


def stringify_projects(projects: list[Project], separator: str) -> str:
Expand Down
10 changes: 5 additions & 5 deletions workers/fund_public_goods/main.py
Original file line number Diff line number Diff line change
Expand Up @@ -2,11 +2,11 @@
from fastapi import FastAPI
import inngest.fast_api
from mangum import Mangum
from .inngest_client import inngest_client
from fund_public_goods.gitcoin.functions import functions as gitcoin_functions
from fund_public_goods.workers.functions import functions as worker_functions
from .api import workers, runs
from .get_version import router as get_version_router
from fund_public_goods.inngest_client import inngest_client
from fund_public_goods.workflows.index_gitcoin.functions import functions as gitcoin_functions
from fund_public_goods.workflows.create_strategy.functions import functions as worker_functions
from fund_public_goods.api import workers, runs
from fund_public_goods.get_version import router as get_version_router

load_dotenv()

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
from pydantic import BaseModel

class CreateStrategyEvent:
name: str = "create_strategy"
name: str = "on_create_strategy"
trigger = inngest.TriggerEvent(event=name)

class Data(BaseModel):
Expand Down
Original file line number Diff line number Diff line change
@@ -1,19 +1,19 @@
from fund_public_goods.agents.researcher.functions.assign_weights import assign_weights
from fund_public_goods.agents.researcher.functions.evaluate_projects import (
import inngest
from supabase import Client
from fund_public_goods.lib.strategy.utils.assign_weights import assign_weights
from fund_public_goods.lib.strategy.utils.evaluate_projects import (
evaluate_projects,
)
from fund_public_goods.agents.researcher.models.evaluated_project import (
from fund_public_goods.lib.strategy.models.evaluated_project import (
EvaluatedProject,
)
from fund_public_goods.agents.researcher.models.project import Project
from fund_public_goods.agents.researcher.models.weighted_project import WeightedProject
import inngest
from fund_public_goods.lib.strategy.models.project import Project
from fund_public_goods.lib.strategy.models.weighted_project import WeightedProject
from fund_public_goods.db.tables.projects import get_projects
from fund_public_goods.db.tables.runs import get_prompt
from fund_public_goods.db.tables.strategy_entries import insert_multiple
from fund_public_goods.workers.events import CreateStrategyEvent
from fund_public_goods.db import client, logs
from supabase import Client
from fund_public_goods.workflows.create_strategy.events import CreateStrategyEvent


def fetch_projects_data(supabase: Client) -> list[Project]:
Expand Down Expand Up @@ -45,7 +45,7 @@ def fetch_projects_data(supabase: Client) -> list[Project]:


@inngest.create_function(
fn_id="on_create_strategy",
fn_id="create_strategy",
trigger=CreateStrategyEvent.trigger,
)
async def create_strategy(
Expand Down
Empty file.
Original file line number Diff line number Diff line change
Expand Up @@ -2,10 +2,10 @@
from typing import cast
import inngest
from pydantic import parse_obj_as
from fund_public_goods.gitcoin.models import ApplicationInfo, ProjectApplicationInfo, ProjectInfo, RoundInfo
from fund_public_goods.gitcoin.events import IndexGitcoinPageEvent
from fund_public_goods.gitcoin.scrapers import fetch_json_from_ipfs, fetch_project_applications, fetch_rounds
from fund_public_goods.db.operations import save_application, stop_and_mark_job_as_failed, stop_job, update_job_progress, upsert_project
from fund_public_goods.lib.gitcoin.models import ApplicationInfo, ProjectApplicationInfo, ProjectInfo, RoundInfo
from fund_public_goods.workflows.index_gitcoin.events import IndexGitcoinPageEvent
from fund_public_goods.lib.gitcoin.utils import fetch_json_from_ipfs, fetch_project_applications, fetch_rounds
from fund_public_goods.db.tables.gitcoin import save_application, stop_and_mark_job_as_failed, stop_job, update_job_progress, upsert_project

PAGE_REQUEST_FREQUENCY_SECONDS = 5 # 10 seconds
# PAGE_REQUEST_FREQUENCY_SECONDS = 10 # 10 seconds
Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
import inngest
from fund_public_goods.gitcoin.events import IndexGitcoinPageEvent
from fund_public_goods.db.operations import get_non_running_job, is_any_job_running, start_job
from fund_public_goods.gitcoin.models import GitcoinIndexingJob
from fund_public_goods.workflows.index_gitcoin.events import IndexGitcoinPageEvent
from fund_public_goods.db.tables.gitcoin import get_non_running_job, is_any_job_running, start_job
from fund_public_goods.lib.gitcoin.models import GitcoinIndexingJob

@inngest.create_function(
fn_id="start_index_gitcoin",
Expand Down
2 changes: 1 addition & 1 deletion workers/pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,7 @@ types-requests = "^2.31.0.20240106"

[tool.mypy]
check_untyped_defs = true
ignore_missing_imports = true
ignore_missing_imports = false
plugins = [
"pydantic.mypy"
]
Expand Down
Loading