Skip to content

Commit

Permalink
Merge pull request #35 from polywrap/backend-folder-structure
Browse files Browse the repository at this point in the history
Backend Folder Restructure
  • Loading branch information
dOrgJelli authored Jan 25, 2024
2 parents db0292c + 9853047 commit b9edf0a
Show file tree
Hide file tree
Showing 31 changed files with 44 additions and 45 deletions.
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
File renamed without changes.
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

0 comments on commit b9edf0a

Please sign in to comment.