software/hoardy-mail/./pyproject.toml

Fetch, flag/mark, delete/expire, and perform other batch operations on messages residing on IMAP servers. A very efficient KISS mail fetcher with cool security and convenience features.

Files

Raw Source

Contents

[build-system]
requires = ["setuptools"]
build-backend = "setuptools.build_meta"
[project]
name = "hoardy-mail"
version = "2.6.2"
authors = [{ name = "Jan Malakhovski", email = "oxij@oxij.org" }]
description = "Fetch, flag/mark, delete/expire, and perform other batch operations on messages residing on IMAP servers."
readme = "README.md"
license = { text = "GPL-3.0-or-later" }
classifiers = [
    "Development Status :: 4 - Beta",
    "Programming Language :: Python :: 3",
    "License :: OSI Approved :: GNU General Public License v3 or later (GPLv3+)",
    "Intended Audience :: End Users/Desktop",
    "Topic :: Communications :: Email",
    "Topic :: Office/Business",
    "Topic :: System :: Archiving",
    "Topic :: System :: Archiving :: Backup",
    "Topic :: System :: Archiving :: Mirroring",
    "Topic :: System :: Recovery Tools",
    "Operating System :: POSIX",
    "Environment :: Console",
]
keywords = [
    "IMAP", "IMAP4",
    "mail", "email", "e-mail",
    "mail delivery agent", "MDA", "LDA",
    "fetchmail", "getmail", "fdm",
    "fetch", "archive", "download",
    "delete", "expire",
    "mark", "star",
    "mark as seen", "mark as unseen",
    "mark as flagged", "mark as unflagged",
]
dependencies = [
    'importlib-metadata; python_version<"3.8"',
]
requires-python = ">=3.7"
[project.urls]
"Homepage" = "https://oxij.org/software/hoardy-mail/"
"GitHub" = "https://github.com/Own-Data-Privateer/hoardy-mail"
"Support Development" = "https://oxij.org/#support"
[project.scripts]
hoardy-mail = "hoardy_mail.__main__:main"
imaparms = "hoardy_mail.__main__:main"

[tool.mypy]
python_version = "3.10"
strict = true
implicit_reexport = true
explicit_package_bases = true
files = [
    "*/*.py"
]

[tool.black]
line-length = 100

[tool.pylint]
disable = [
    # `mypy` checks these more precisely
    "arguments-renamed",
    "inconsistent-return-statements",
    "no-member",
    "possibly-used-before-assignment",
    "used-before-assignment",
    "undefined-variable",

    # `kisstdlib` uses this
    "raising-format-tuple",

    # annoying
    "global-statement",
    "import-outside-toplevel",
    "invalid-name",
    "line-too-long",
    "too-few-public-methods",
    "too-many-arguments",
    "too-many-boolean-expressions",
    "too-many-branches",
    "too-many-instance-attributes",
    "too-many-lines",
    "too-many-locals",
    "too-many-nested-blocks",
    "too-many-positional-arguments",
    "too-many-public-methods",
    "too-many-return-statements",
    "too-many-statements",

    # enable eventually
    "broad-exception-caught",
    "fixme",
    "missing-class-docstring",
    "missing-function-docstring",
    "unused-wildcard-import",
    "wildcard-import",
]
[tool.pylint.format]
max-line-length = "100"