-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathpyproject.toml
More file actions
99 lines (83 loc) · 2.35 KB
/
pyproject.toml
File metadata and controls
99 lines (83 loc) · 2.35 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
[tool.poetry]
name = "rz-sample"
version = "1.5.0"
description = "A python boilerplate for fastapi and streamlit projects."
authors = ["recursivezero <recursivezero@outlook.com>"]
license = "MIT"
readme = "README.md"
keywords = ["python", "fastapi", "streamlit", "boilerplate"]
# Classifiers help "Verify" your package details on TestPyPI
classifiers = [
"Intended Audience :: Developers",
"License :: OSI Approved :: MIT License",
"Programming Language :: Python :: 3",
"Programming Language :: Python :: 3.10",
"Programming Language :: Python :: 3.11",
"Programming Language :: Python :: 3.12",
"Framework :: FastAPI",
"Topic :: Software Development :: Code Generators",
"Operating System :: OS Independent",
]
# Packages configuration
packages = [{ include = "sample", from = "src" }]
# Assets and extra files
include = [
{ path = "src/sample/assets/images/logo.png", format = [
"sdist",
"wheel",
] },
{ path = "src/sample/templates/**/*", format = [
"sdist",
"wheel",
] },
]
[tool.poetry.urls]
"Homepage" = "https://github.com/recursivezero/sample-py"
"Documentation" = "https://github.com/recursivezero/sample-py#readme"
"Repository" = "https://github.com/recursivezero/sample-py.git"
"Issues" = "https://github.com/recursivezero/sample-py/issues"
[tool.poetry.dependencies]
python = ">=3.10,<3.13"
fastapi = ">=0.121.1,<0.122.0"
streamlit = ">=1.49.0"
python-box = ">=7.3.2,<8.0.0"
uvicorn = ">=0.40.0,<0.41.0"
bs4 = ">=0.0.2,<0.0.3"
dotenv = ">=0.9.9,<0.10.0"
pydantic = ">=2.12.5,<3.0.0"
click = ">=8.3.1,<9.0.0"
pymongo = { version = ">=4.15.5,<5.0.0", optional = true }
[tool.poetry.extras]
mongo = ["pymongo"]
[tool.poetry.scripts]
sample = "sample.cli:cli"
lint = "sample.utils.lint:main"
[tool.poetry.group.dev.dependencies]
black = "^24.10.0"
flake8 = "^7.1.1"
mypy = "^1.14.1"
pip-audit = "^2.9.0"
pipreqs = "0.5.0"
ruff = "0.5.3"
twine = "^6.2.0"
vulture = "^2.3"
deptry = "^0.24.0"
[build-system]
requires = ["poetry-core"]
build-backend = "poetry.core.masonry.api"
# --- Tool Specific Configurations ---
[tool.flake8]
max_line_length = 190
[tool.poetry.requires-plugins]
poetry-plugin-export = "^1.9"
[tool.poetry-auto-export]
output = "requirements.txt"
without_hashes = true
without = ["dev"]
[tool.poetry-audit]
ignore = []
[tool.deptry]
known_first_party = ["sample"]
[tool.ruff]
line-length = 88
target-version = "py311"