-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathpyproject.toml
More file actions
118 lines (103 loc) · 3.87 KB
/
pyproject.toml
File metadata and controls
118 lines (103 loc) · 3.87 KB
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
[project]
name = "project-name"
version = "0.0.1"
description = ""
readme = "README.md"
authors = [
{name = "Petr Lavrov", email = "me@petrlavrov.com"},
]
requires-python = "<4.0,>=3.12"
dependencies = [
"calmlib @ git+https://github.com/calmmage/calmlib.git@main",
"loguru>=0.7",
"toml>=0.10",
"python-dotenv",
]
[build-system]
requires = ["hatchling"]
build-backend = "hatchling.build"
[tool.hatch.metadata]
allow-direct-references = true
[tool.hatch.build.targets.wheel]
packages = ["src"]
[dependency-groups]
extras = [
# dependencies for extra features
# Main
## Pydantic
#pydantic = ">=2" # Data validation and settings management
#pydantic-settings = ">=2" # Pydantic settings management
# git ops
#PyGithub = "*" # GitHub API client
#gitpython = "*" # Git repository interface
# api
#fastapi = "*" # High-performance API framework
#httpx = "*" # Async HTTP client
# cli
#click = "*" # CLI creation toolkit
#typer = "*" # Easy CLI building
# data, databases
#pymongo = "*" # MongoDB client
#mongoengine = "*" # MongoDB ORM
#PyDrive = "*" # Google Drive API client
#protobuf = "*" # Protocol buffers
#dropbox = "*" # Dropbox API client
# utils
#pytz = "*" # Timezone definitions
#retry = "*" # Retry decorator
#nltk = "*" # Natural language toolkit
#easydict = ">=1.10" # Easy access to dict keys - dotdict
#pydub = ">=0.25" # Audio manipulation
#apscheduler = ">=3" # Scheduling library
#pyperclip = "*" # Copying to clipboard
#aiolimiter = ">=1.1" # Async rate limiting
#deepl = ">=1.18" # DeepL API client
# LLM, GPT, AI
#tiktoken = ">=0.7" # Tokenization for OpenAI models
#openai = ">=1.45" # OpenAI API client
#langchain = ">=0.3" # Language model framework
#langchain-openai = ">=0.2" # OpenAI integration for LangChain
#langchain-community = "*" # Community extensions for LangChain
#langchain-anthropic = ">=0.2" # Anthropic integration for LangChain
#langfuse = "*" # Language model analytics
#assemblyai = "*" # Speech-to-text API
#whisperx = { git = "https://github.com/m-bain/whisperX.git", branch = "main" } # Advanced Whisper model
# Misc
#ipykernel = "*" # IPython kernel
#ipywidgets = "*" # Interactive widgets for Jupyter
#joblib = "*" # Lightweight pipelining
#paramiko = "*" # SSH2 protocol library
#scp = "*" # Secure copy
#pymorphy2 = "*" # Morphological analyzer
]
test = [
"pytest>=6",
"vulture<3.0,>=2.14",
"pytest-cov<7.0.0,>=6.1.1",
"pytest-asyncio<2.0.0,>=1.0.0",
"pytest-mock<4.0.0,>=3.14.1",
"pyupgrade<4.0.0,>=3.20.0",
"pyright<2.0.0,>=1.1.401",
"ruff<1.0.0,>=0.11.12",
]
docs = [
#mkdocs = ">=1.6"
]
dev = [
"jupyter>=1.0.0",
"pre-commit>=3.8.0",
"tqdm",
#jupyter-nbextensions-configurator = "*"
#jupyter_contrib_nbextensions = "*"
## data analysis, research
#pandas = ">=2.0.0" # Data manipulation and analysis
#seaborn = "*" # Statistical data visualization
#bokeh = "*" # Interactive visualizations
#matplotlib = "*" # Plotting library
#numpy = "*" # Numerical computing
]
[template]
version = "2.0.3" # optimize pyproject dependencies
url = "https://github.com/calmmage/python-project-template.git"
author = "Petr Lavrov <me@petrlavrov.com>"
description = "A template for creating a bot using calmapp and bot-lib"