diff --git a/citation_fuzzy_match.py b/examples/citation_fuzzy_match/citation_fuzzy_match.py similarity index 99% rename from citation_fuzzy_match.py rename to examples/citation_fuzzy_match/citation_fuzzy_match.py index 6f27d71..69f8c82 100644 --- a/citation_fuzzy_match.py +++ b/examples/citation_fuzzy_match/citation_fuzzy_match.py @@ -1,6 +1,8 @@ -import openai from typing import List + +import openai from pydantic import Field, BaseModel + from openai_function_call import OpenAISchema diff --git a/examples/citation_fuzzy_match/diagram.py b/examples/citation_fuzzy_match/diagram.py new file mode 100644 index 0000000..87ed23c --- /dev/null +++ b/examples/citation_fuzzy_match/diagram.py @@ -0,0 +1,6 @@ +import erdantic as erd + +from citation_fuzzy_match import QuestionAnswer + +diagram = erd.create(QuestionAnswer) +diagram.draw("examples/citation_fuzzy_match/schema.png") diff --git a/examples/citation_fuzzy_match/schema.png b/examples/citation_fuzzy_match/schema.png new file mode 100644 index 0000000..66bd66c Binary files /dev/null and b/examples/citation_fuzzy_match/schema.png differ diff --git a/examples/parse_recursive_paths/diagram.py b/examples/parse_recursive_paths/diagram.py new file mode 100644 index 0000000..178c3a4 --- /dev/null +++ b/examples/parse_recursive_paths/diagram.py @@ -0,0 +1,6 @@ +import erdantic as erd + +from parse_recursive_paths import DirectoryTree + +diagram = erd.create(DirectoryTree) +diagram.draw("examples/parse_recursive_paths/schema.png") diff --git a/parse_recursive_paths.py b/examples/parse_recursive_paths/parse_recursive_paths.py similarity index 99% rename from parse_recursive_paths.py rename to examples/parse_recursive_paths/parse_recursive_paths.py index 8ddabe0..eab2e4f 100644 --- a/parse_recursive_paths.py +++ b/examples/parse_recursive_paths/parse_recursive_paths.py @@ -40,14 +40,15 @@ Example usage: # >>> root/folder2/subfolder1/file4.txt NodeType.FILE """ -import openai import enum - -from pydantic import Field from typing import List -from openai_function_call import OpenAISchema + +import openai +from pydantic import Field from tenacity import retry, stop_after_attempt +from openai_function_call import OpenAISchema + class NodeType(str, enum.Enum): """Enumeration representing the types of nodes in a filesystem.""" diff --git a/examples/parse_recursive_paths/schema.png b/examples/parse_recursive_paths/schema.png new file mode 100644 index 0000000..42a3dfd Binary files /dev/null and b/examples/parse_recursive_paths/schema.png differ diff --git a/examples/query_planner_execution/diagram.py b/examples/query_planner_execution/diagram.py new file mode 100644 index 0000000..b002a6e --- /dev/null +++ b/examples/query_planner_execution/diagram.py @@ -0,0 +1,6 @@ +from erdantic import erd + +from query_planner_execution import QueryPlan + +diagram = erd.create(QueryPlan) +diagram.draw("examples/query_planner_execution/schema.png") diff --git a/query_planner_execution.py b/examples/query_planner_execution/query_planner_execution.py similarity index 98% rename from query_planner_execution.py rename to examples/query_planner_execution/query_planner_execution.py index 3409ba6..18284dd 100644 --- a/query_planner_execution.py +++ b/examples/query_planner_execution/query_planner_execution.py @@ -1,14 +1,11 @@ -from functools import lru_cache -import openai -import enum -import json import asyncio +import enum +from typing import List +import openai from pydantic import Field -from typing import List, Tuple + from openai_function_call import OpenAISchema -from tenacity import retry, stop_after_attempt -from pprint import pprint class QueryType(str, enum.Enum): diff --git a/examples/query_planner_execution/schema.png b/examples/query_planner_execution/schema.png new file mode 100644 index 0000000..2022c82 Binary files /dev/null and b/examples/query_planner_execution/schema.png differ diff --git a/examples/safe_sql/diagram.py b/examples/safe_sql/diagram.py new file mode 100644 index 0000000..ae274ef --- /dev/null +++ b/examples/safe_sql/diagram.py @@ -0,0 +1,6 @@ +import erdantic as erd + +from safe_sql import SQL + +diagram = erd.create(SQL) +diagram.draw("examples/safe_sql/schema.png") diff --git a/safe_sql.py b/examples/safe_sql/safe_sql.py similarity index 99% rename from safe_sql.py rename to examples/safe_sql/safe_sql.py index f0dce7d..7c51671 100644 --- a/safe_sql.py +++ b/examples/safe_sql/safe_sql.py @@ -1,8 +1,10 @@ -from openai_function_call import OpenAISchema -from pydantic import Field -from typing import Any, List -import openai import enum +from typing import Any, List + +import openai +from pydantic import Field + +from openai_function_call import OpenAISchema class SQLTemplateType(str, enum.Enum): diff --git a/examples/safe_sql/schema.png b/examples/safe_sql/schema.png new file mode 100644 index 0000000..40df1f1 Binary files /dev/null and b/examples/safe_sql/schema.png differ diff --git a/examples/segment_search_queries/diagram.py b/examples/segment_search_queries/diagram.py new file mode 100644 index 0000000..4d8ba37 --- /dev/null +++ b/examples/segment_search_queries/diagram.py @@ -0,0 +1,6 @@ +import erdantic as erd + +from segment_search_queries import MultiSearch + +diagram = erd.create(MultiSearch) +diagram.draw("examples/segment_search_queries/schema.png") diff --git a/examples/segment_search_queries/schema.png b/examples/segment_search_queries/schema.png new file mode 100644 index 0000000..afa8ee8 Binary files /dev/null and b/examples/segment_search_queries/schema.png differ diff --git a/segment_search_queries.py b/examples/segment_search_queries/segment_search_queries.py similarity index 99% rename from segment_search_queries.py rename to examples/segment_search_queries/segment_search_queries.py index 97ec733..7040c69 100644 --- a/segment_search_queries.py +++ b/examples/segment_search_queries/segment_search_queries.py @@ -16,12 +16,14 @@ Examples: # >>> Searching for `Documents` with query `GPDR policy` using `SearchType.EMAIL` """ -from openai_function_call import OpenAISchema -from pydantic import Field -from typing import List -from tenacity import retry, stop_after_attempt -import openai import enum +from typing import List + +import openai +from pydantic import Field +from tenacity import retry, stop_after_attempt + +from openai_function_call import OpenAISchema class SearchType(str, enum.Enum): diff --git a/examples/task_planner_topological_sort/diagram.py b/examples/task_planner_topological_sort/diagram.py new file mode 100644 index 0000000..c4e73d8 --- /dev/null +++ b/examples/task_planner_topological_sort/diagram.py @@ -0,0 +1,6 @@ +import erdantic as erd + +from task_planner_topological_sort import TaskPlan + +diagram = erd.create(TaskPlan) +diagram.draw("examples/task_planner_topological_sort/schema.png") diff --git a/examples/task_planner_topological_sort/schema.png b/examples/task_planner_topological_sort/schema.png new file mode 100644 index 0000000..3506554 Binary files /dev/null and b/examples/task_planner_topological_sort/schema.png differ diff --git a/task_planner_topological_sort.py b/examples/task_planner_topological_sort/task_planner_topological_sort.py similarity index 99% rename from task_planner_topological_sort.py rename to examples/task_planner_topological_sort/task_planner_topological_sort.py index 0ab5339..5ae40d3 100644 --- a/task_planner_topological_sort.py +++ b/examples/task_planner_topological_sort/task_planner_topological_sort.py @@ -10,10 +10,12 @@ we will wait unnecessarily with my current implementation. Added by Jan Philipp Harries / @jpdus """ -import openai import asyncio -from pydantic import Field, BaseModel from typing import List, Generator + +import openai +from pydantic import Field, BaseModel + from openai_function_call import OpenAISchema diff --git a/requirements.txt b/requirements.txt index ecc32e3..2634365 100644 --- a/requirements.txt +++ b/requirements.txt @@ -1,2 +1,4 @@ openai -pydantic \ No newline at end of file +pydantic +pygraphviz +erdantic \ No newline at end of file