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
|
[project]
name = "jwebmail"
requires-python = "~= 3.11"
authors = [ {name = "Jannis M. Hoffmann", email = "jannis@fehcom.de"} ]
description = "JWebmail is a Webmail client using maildir format and qmail-authuser as model in MVC terminology"
dynamic = ["version"]
dependencies = [
"Flask",
"Flask-Babel",
"Flask-Login",
"Flask-WTF",
"flask-paginate",
"email-validator",
"protobuf",
]
[project.optional-dependencies]
redis = ["redis"]
mysql = ["mysql-connector-python"]
[build-system]
requires = ["hatchling"]
build-backend = "hatchling.build"
[tool.hatch]
[tool.hatch.version]
path = "src/jwebmail/__init__.py"
[tool.hatch.envs.dev]
dependencies = [
"isort",
"black",
"pip-tools",
"click",
]
[tool.hatch.envs.dev.scripts]
serve = 'env PATH="$PATH:$PWD/script/" flask --app src/jwebmail --debug run --extra-files src/jwebmail/translations'
server = "env JWEBMAIL_CONFIG=../../jwebmail.toml flask --app src/jwebmail run"
tr-compile = "pybabel compile -d src/jwebmail/translations/"
tr-extract = "pybabel extract -F babel.cfg -o messages.pot -k lazy_gettext src/ && pybabel update -i messages.pot -d src/jwebmail/translations/"
pb-generate = "protoc -I src/jwebmail/model --python_out=src/jwebmail/model/ jwebmail.proto"
[tool.hatch.build.targets.wheel]
ignore-vcs = true
sources = ["src"]
include = [
"src/jwebmail/*.py",
"src/jwebmail/model/*.py",
"src/jwebmail/templates/*.html",
"src/jwebmail/static/src/*.js",
"src/jwebmail/static/css/*.css",
"src/jwebmail/translations/*/LC_MESSAGES/messages.mo",
]
[tool.isort]
profile = "black"
[tool.pip-tools]
generate-hashes = true
strip-extras = true
|