summaryrefslogtreecommitdiff
path: root/pyproject.toml
blob: c61115454235b3155397a3f7239571bee9154ede (plain)
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
[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",
  "email-validator",
  "varlink",
]

[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/"

[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