forked from PrefectHQ/marvin
-
Notifications
You must be signed in to change notification settings - Fork 0
/
pyproject.toml
126 lines (113 loc) · 3.03 KB
/
pyproject.toml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
# package metadata
[project]
name = "marvin"
dynamic = ["version"]
description = "A batteries-included library for building AI-powered software."
readme = "README.md"
license = { file = "LICENSE" }
classifiers = [
"Development Status :: 3 - Alpha",
"Programming Language :: Python :: 3 :: Only",
"Topic :: Scientific/Engineering :: Artificial Intelligence",
]
keywords = ["ai", "chatbot", "llm"]
requires-python = ">=3.10"
dependencies = [
"aiofiles~=23.1.0",
"aiosqlite~=0.18.0",
"asyncpg~=0.27.0",
"cloudpickle~=2.2.1",
"datamodel-code-generator~=0.17.1",
"fastapi~=0.89.1",
"httpx~=0.23.3",
"jinja2~=3.1.2",
"langchain>=0.0.103",
"nest_asyncio~=1.5.6",
"openai~=0.27.0",
"pendulum~=2.1.2",
"prefect~=2.8.1",
"pydantic[dotenv]~=1.10.4",
"rich~=13.3.1",
"sqlalchemy[asyncio]~=1.4.41",
"sqlitedict~=2.1.0",
"sqlmodel~=0.0.8",
"tiktoken~=0.3.0",
"ulid-py~=1.1.0",
"uvicorn~=0.20.0",
"xxhash~=3.2.0",
"yake~=0.4.8",
"typer~=0.7.0",
# plugins requirements
"beautifulsoup4~=4.11.2",
"bleach~=6.0.0",
"duckduckgo_search~=2.8.0",
"fake-useragent~=1.1.1",
"google_api_python_client~=2.72.0",
"simpleeval~=0.9.13",
"trafilatura~=1.4.1",
"chardet~=5.1.0",
"wikipedia~=1.4.0",
]
[project.optional-dependencies]
dev = [
"black[jupyter]~=22.12",
"ipython~=8.0",
"mkdocs-autolinks-plugin~=0.7.0",
"mkdocs-awesome-pages-plugin~=2.8.0",
"mkdocs-material~=9.1.3",
"mkdocstrings[python]~=0.20.0",
"pdbpp~=0.10.3 ",
"pre-commit~=2.21.0",
"pyperclip~=1.8.2",
"pytest-asyncio~=0.20.3",
"pytest-env~=0.8.1",
"pytest-sugar~=0.9.6",
"pytest~=7.2.0",
"ruff",
]
chromadb = ["chromadb~=0.3.14"]
[project.urls]
Homepage = "https://github.com/prefecthq/marvin"
[project.scripts]
marvin = "marvin.cli.cli:app"
[build-system]
requires = ["setuptools>=45", "setuptools_scm[toml]>=6.2"]
build-backend = "setuptools.build_meta"
[tool.setuptools_scm]
# pytest configuration
[tool.pytest.ini_options]
markers = ["llm: indicates that a test calls an LLM (may be slow)."]
norecursedirs = [
"*.egg-info",
".git",
".mypy_cache",
"node_modules",
".pytest_cache .vscode",
]
asyncio_mode = 'auto'
filterwarnings = [
"ignore:'crypt' is deprecated and slated for removal in Python 3.13:DeprecationWarning",
]
env = [
"MARVIN_TEST_MODE=1",
"D:MARVIN_DATABASE_CONNECTION_URL=sqlite+aiosqlite:////tmp/test.sqlite",
"MARVIN_LOG_CONSOLE_WIDTH=120",
"MARVIN_LOG_LEVEL=DEBUG",
# disable auto profile picture creation
'MARVIN_BOT_CREATE_PROFILE_PICTURE=false',
# don't load plugins
'MARVIN_LOAD_BOT_DEFAULT_PLUGINS=0',
'MARVIN_OPENAI_MODEL_TEMPERATURE=0',
# use 3.5 for tests by default
'MARVIN_OPENAI_MODEL_NAME=gpt-3.5-turbo'
]
# black configuration
[tool.black]
preview = true
# ruff configuration
[tool.ruff]
extend-select = ["I"]
[tool.ruff.per-file-ignores]
"__init__.py" = ['I', 'F401', 'E402']
"conftest.py" = ["F401", "F403"]
'tests/fixtures/*.py' = ['F403']