-
Notifications
You must be signed in to change notification settings - Fork 45
Expand file tree
/
Copy pathpyproject.toml
More file actions
106 lines (96 loc) · 2.43 KB
/
pyproject.toml
File metadata and controls
106 lines (96 loc) · 2.43 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
[tool.poetry]
name = "cli-surf"
version = "2.5.1"
description = "Command-line surf report tool"
license = "MIT"
authors = ["ryansurf <your@email.com>"] # TODO: email
readme = "README.md"
homepage = "https://github.com/ryansurf/cli-surf"
repository = "https://github.com/ryansurf/cli-surf"
keywords = ["surf", "surfing", "weather", "ocean", "cli", "terminal"]
classifiers = [
"Environment :: Console",
"Intended Audience :: End Users/Desktop",
"License :: OSI Approved :: MIT License",
"Programming Language :: Python :: 3",
"Topic :: Utilities",
]
packages = [{ include = "src" }]
[tool.poetry.scripts]
surf = "src.cli:cli_main"
[tool.poetry.dependencies]
# command: `poetry add <package-name>`
python = ">=3.10"
flask = "3.0.3"
flask-cors = "5.0.0"
g4f = "0.3.2.2"
geopy = "2.4.1"
openmeteo-requests = "1.2.0"
pandas = "2.2.2"
pydantic = "^2.12.5"
pydantic-settings = "2.2.1"
python-dotenv = "1.0.1"
requests = "2.32.4"
requests-cache = "1.2.0"
retry-requests = "2.0.0"
email-validator = "2.1.1"
openai = "^1.30.5"
curl-cffi = "^0.7.1"
streamlit = "^1.35.0"
streamlit-folium = "^0.22.0"
matplotlib = ">=3.9.0"
seaborn = "^0.13.2"
numpy = "^1.26.4"
pymongo = {extras = ["srv", "tls"], version = "^4.15.4"}
fastapi = "^0.135.2"
uvicorn = "^0.42.0"
httpx = "^0.28.1"
debugpy = "^1.8.20"
cachetools = "^7.0.5"
mangum = "^0.21.0"
nest-asyncio = "^1.6.0"
[tool.poetry.group.dev.dependencies]
# command: `poetry add --group dev <package-name>`
ruff = "0.4.6"
pytest = "8.2.1"
pytest-mock = "*"
pytest-cov = "5.0.0"
pre-commit = "3.7.1"
[build-system]
requires = ["poetry-core"]
build-backend = "poetry.core.masonry.api"
# pytest settings
[tool.pytest.ini_options]
testpaths = 'tests'
pythonpath = "."
addopts = '-p no:warnings -m "not integration"' # disable pytest warnings; skip integration tests by default
log_format = '%(name)s %(levelname)s: %(message)s'
markers = [
"integration: tests that hit live external services (run with -m integration)",
]
# coverage settings
[tool.coverage.run]
source = ["src"]
[tool.coverage.report]
omit = ["src/dev_streamlit.py"]
exclude_lines = [
"pragma: no cover",
"if __name__ == .__main__.:",
]
# ruff global settings
[tool.ruff]
line-length = 79
# linter
[tool.ruff.lint]
# I: isort
# F: Pyflakes
# E: Pycodestyle Error
# W: Pycodestyle Warning
# P: Pylint
# PT: flake8-pytest-style
preview = true
select = ['I', 'F', 'E', 'W', 'PL', 'PT']
# formatter
[tool.ruff.format]
preview = true
quote-style = 'double'