jrnl/pyproject.toml
Jonathan Wren 51ab747019
Replace make with python alternative (poe) (#1503)
* 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.

* udpate docs

* don't make code blocks also links
2022-06-18 11:36:56 -07:00

129 lines
3.3 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"
# 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
# Minimal deps required for testing
# I don't like repeating deps here, but
# there's no other way to do this yet until poetry v1.2 releases
# see: https://github.com/python-poetry/poetry/issues/1644
pytest = { version = ">=6.2", optional = true }
pytest-bdd = { version = ">=4.0.1", optional = true }
toml = { version = ">=0.10", optional = true }
rich = "^12.2.0"
[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 = "*"
[tool.poetry.extras]
testing = [ "pytest", "pytest-bdd", "toml" ]
[tool.poetry.scripts]
jrnl = 'jrnl.cli:cli'
[tool.poe.tasks]
bdd = "pytest tests/bdd --gherkin-terminal-reporter --tb=native"
bdd-debug = "poe bdd -x -vv"
format = "black ."
docs = "mkdocs serve"
unit = "pytest tests/unit"
# Groups of tasks
lint = [
{cmd = "poetry check"},
{cmd = "pflake8 jrnl tests"},
{cmd = "black --check --diff ."},
]
test = [
"lint",
"unit",
"bdd",
]
[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"