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