File size: 2,097 Bytes
88435ed
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
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
[tool.poetry]
name = "neollm"
version = "1.3.3"
description = "neo LLM Module for Python 3.10"
authors = ["KoshiroTerasawa <k.terasawa@neoai.jp>"]
readme = "README.md"
packages = [{ include = "neollm" }]

[tool.poetry.dependencies]
python = "^3.10"
python-dotenv = "^1.0.0"
pydantic = "^2.4.2"
openai = "^1.1.1"
google-cloud-aiplatform = "^1.48.0"
anthropic = { version = "^0.18.1", extras = ["vertex"] }
typing-extensions = "^4.8.0"
google-generativeai = "0.5.2"
tiktoken = "0.7.0"


[tool.poetry.group.dev.dependencies]
isort = "^5.12.0"
black = "24.3.0"
mypy = "^1.8.0"
pyproject-flake8 = "^6.1.0"
ipykernel = "^6.26.0"
jupyter = "^1.0.0"
jupyter-client = "^8.6.0"
pytest = "^8.1.1"

[build-system]
requires = ["poetry-core"]
build-backend = "poetry.core.masonry.api"

[tool.black]
line-length = 119
exclude = '''
/(
    \venv
  | \.git
  | \.hg
  | __pycache__
  | \.mypy_cache
)/
'''

[tool.isort]
profile = "black"
multi_line_output = 3

[tool.flake8]
max-line-length = 119
extend-ignore = ["E203", "W503", "E501", "E704"]
exclude = [".venv", ".git", "__pycache__", ".mypy_cache", ".hg"]
max-complexity = 15

[tool.mypy]
ignore_missing_imports = true
# follow_imports = normal
disallow_any_unimported = false
disallow_any_expr = false       # 式でのAny禁止
disallow_any_decorated = false
disallow_any_explicit = false   # 変数でAny禁止
disallow_any_generics = true    # ジェネリックで書かないの禁止
disallow_subclassing_any = true # Anyのサブクラス禁止

disallow_untyped_calls = true      # 型なし関数呼び出し禁止 `a: int = f()`
disallow_untyped_defs = true       # 型なし関数定義禁止 `def f(a: int) -> int`
disallow_incomplete_defs = true    # 一部の型定義を禁止 `def f(a: int, b)`
check_untyped_defs = true
disallow_untyped_decorators = true
no_implicit_optional = true

warn_redundant_casts = true
warn_unused_ignores = true
warn_return_any = true
warn_unreachable = true     # 辿りつかないコードの検出
allow_redefinition = false  # 変数の再定義を禁止

show_error_context = true
show_column_numbers = true