mirror of
https://github.com/jrnl-org/jrnl.git
synced 2025-05-10 08:38:32 +02:00
* Get rid of `make` in favor of `poe` This moves the tasks that were previously in Makefile, into pyproject.toml (with all the other config) This is also more inclusive of Windows developers since they only need Python, and no longer have to install make separately. * update docs * don't make code blocks also links * implement tox for testing * update command to use new task runner
167 lines
3.7 KiB
TOML
167 lines
3.7 KiB
TOML
[tool.poetry]
|
|
name = "jrnl"
|
|
version = "v3.0-beta"
|
|
description = "Collect your thoughts and notes without leaving the command line."
|
|
authors = [
|
|
"jrnl contributors <jrnl-sh@googlegroups.com>",
|
|
"Manuel Ebert <manuel@1450.me>",
|
|
"Jonathan Wren <jonathan@nowandwren.com>",
|
|
"Micah Ellison <micahellison@gmail.com>"
|
|
]
|
|
maintainers = [
|
|
"Jonathan Wren and Micah Ellison <jrnl-sh@googlegroups.com>",
|
|
]
|
|
license = "GPL-3.0-only"
|
|
readme = "README.md"
|
|
homepage = "https://jrnl.sh"
|
|
repository = "https://github.com/jrnl-org/jrnl"
|
|
classifiers = [
|
|
"Topic :: Office/Business :: News/Diary",
|
|
"Environment :: Console",
|
|
"Operating System :: OS Independent"
|
|
]
|
|
|
|
[tool.poetry.urls]
|
|
"Documentation" = "https://jrnl.sh"
|
|
"Issue Tracker" = "https://github.com/jrnl-org/jrnl/issues"
|
|
"Funding" = "https://opencollective.com/jrnl"
|
|
|
|
[tool.poetry.dependencies]
|
|
python = ">=3.9.0, <3.12"
|
|
|
|
ansiwrap = "^0.8.4"
|
|
colorama = ">=0.4" # https://github.com/tartley/colorama/blob/master/CHANGELOG.rst
|
|
cryptography = ">=3.0" # https://cryptography.io/en/latest/api-stability.html
|
|
keyring = ">=21.0" # https://github.com/jaraco/keyring#integration
|
|
parsedatetime = ">=2.6"
|
|
python-dateutil = "^2.8" # https://github.com/dateutil/dateutil/blob/master/RELEASING
|
|
pyxdg = ">=0.27.0"
|
|
"ruamel.yaml" = "^0.17.21"
|
|
rich = "^12.2.0"
|
|
|
|
# dayone-only deps
|
|
pytz = ">=2020" # https://pythonhosted.org/pytz/#issues-limitations
|
|
tzlocal = ">2.0, <3.0" # https://github.com/regebro/tzlocal/blob/master/CHANGES.txt
|
|
|
|
[tool.poetry.dev-dependencies]
|
|
mkdocs = ">=1.0,<1.3"
|
|
black = { version = ">=21.5b2", allow-prereleases = true }
|
|
toml = ">=0.10"
|
|
pytest = ">=6.2"
|
|
pytest-bdd = ">=4.0.1"
|
|
ipdb = "*"
|
|
poethepoet = "*"
|
|
pytest-clarity = "*"
|
|
pyproject-flake8 = "*"
|
|
yq = "*"
|
|
tox = "*"
|
|
|
|
[tool.poetry.extras]
|
|
testing = [ "pytest", "pytest-bdd", "toml" ]
|
|
|
|
[tool.poetry.scripts]
|
|
jrnl = 'jrnl.cli:cli'
|
|
|
|
[tool.poe.tasks]
|
|
format = "black ."
|
|
format-check = "black --check --diff ."
|
|
format-version = "black --version"
|
|
|
|
style-check = "pflake8 jrnl tests"
|
|
style-version = "pflake8 --version"
|
|
|
|
docs = "mkdocs serve"
|
|
|
|
test-unit = "tox -q -e unit --"
|
|
test-bdd = "tox -q -e bdd --"
|
|
test-all = "tox -e py --"
|
|
|
|
installer-check = "poetry check"
|
|
installer-version = "poetry --version"
|
|
|
|
# Groups of tasks
|
|
lint = [
|
|
"installer-check",
|
|
"style-check",
|
|
"format-check",
|
|
]
|
|
|
|
test = [
|
|
"lint",
|
|
"test-unit",
|
|
"test-bdd",
|
|
]
|
|
|
|
ci-lint = [
|
|
"installer-version",
|
|
"installer-check",
|
|
"style-version",
|
|
"style-check",
|
|
"format-version",
|
|
"format-check",
|
|
]
|
|
|
|
ci-test = [
|
|
"test-all",
|
|
]
|
|
|
|
[tool.isort]
|
|
multi_line_output = 7
|
|
force_single_line = true
|
|
line_length = 88
|
|
known_first_party = ["jrnl"]
|
|
force_sort_within_sections = true
|
|
|
|
[tool.pytest.ini_options]
|
|
minversion = "6.0"
|
|
required_plugins = [
|
|
"pytest-bdd"
|
|
]
|
|
markers = [
|
|
"todo",
|
|
"skip_win",
|
|
"skip_posix",
|
|
"on_win",
|
|
"on_posix",
|
|
]
|
|
addopts = [
|
|
"--pdbcls=IPython.terminal.debugger:Pdb"
|
|
]
|
|
|
|
filterwarnings = [
|
|
"ignore::DeprecationWarning",
|
|
"ignore:Flag style will be deprecated in.*",
|
|
"ignore:[WinError 32].*",
|
|
"ignore:[WinError 5].*"
|
|
]
|
|
|
|
[tool.flake8]
|
|
# ignore formatting warnings and errors because we use Black to autoformat
|
|
extend-ignore = "E101,E111,E114,E115,E116,E117,E12,E13,E2,E3,E401,E5,E70,W1,W2,W3,W5"
|
|
|
|
[build-system]
|
|
requires = ["poetry-core>=1.0.0"]
|
|
build-backend = "poetry.core.masonry.api"
|
|
|
|
[tool.tox]
|
|
# see: https://tox.wiki/en/latest/example/basic.html
|
|
legacy_tox_ini = """
|
|
[tox]
|
|
envlist = py-{unit,bdd}
|
|
isolated_build = True
|
|
|
|
[testenv]
|
|
deps =
|
|
pytest >= 6.2
|
|
pytest-bdd >=4.0.1
|
|
toml >=0.10
|
|
commands = pytest --junitxml=reports/pytest/results.xml {posargs}
|
|
passenv = HOME
|
|
|
|
[testenv:unit]
|
|
commands = pytest tests/unit {posargs}
|
|
|
|
[testenv:bdd]
|
|
commands = pytest tests/bdd --gherkin-terminal-reporter --tb=native {posargs}
|
|
"""
|
|
|