pyproject.toml 2.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104
  1. [build-system]
  2. requires = ["setuptools>=45", "setuptools_scm[toml]>=6.2"]
  3. build-backend = "setuptools.build_meta"
  4. [tool.setuptools]
  5. packages = ["redmail"]
  6. [project]
  7. name = "redmail"
  8. description = "Email sending library"
  9. readme = "README.md"
  10. license = {file="LICENSE"}
  11. authors = [
  12. {name = "Mikael Koli", email = "koli.mikael@gmail.com"},
  13. ]
  14. requires-python = ">=3.6"
  15. classifiers = [
  16. "Topic :: Communications :: Email",
  17. "Operating System :: OS Independent",
  18. "License :: OSI Approved :: MIT License",
  19. "Programming Language :: Python :: 3",
  20. "Programming Language :: Python :: 3.6",
  21. "Programming Language :: Python :: 3.7",
  22. "Programming Language :: Python :: 3.8",
  23. "Programming Language :: Python :: 3.9",
  24. "Programming Language :: Python :: 3.10",
  25. "Programming Language :: Python :: 3.11",
  26. "Intended Audience :: Developers",
  27. "Intended Audience :: Customer Service",
  28. "Intended Audience :: Financial and Insurance Industry",
  29. ]
  30. dynamic = ["version"]
  31. dependencies = [
  32. 'jinja2',
  33. ]
  34. [tool.setuptools_scm]
  35. write_to = "redmail/_version.py"
  36. local_scheme = "no-local-version"
  37. [project.urls]
  38. Homepage = 'https://github.com/Miksus/red-mail'
  39. Documentation = 'https://red-mail.readthedocs.io'
  40. Funding = 'https://github.com/sponsors/Miksus'
  41. Source = 'https://github.com/Miksus/red-mail'
  42. Changelog = 'https://red-mail.readthedocs.io/en/stable/versions.html'
  43. [project.optional-dependencies]
  44. test = [
  45. 'pytest',
  46. # Package requirements
  47. 'jinja2',
  48. # Optional
  49. 'pandas',
  50. 'matplotlib',
  51. 'Pillow',
  52. 'openpyxl',
  53. 'css_inline',
  54. ]
  55. docs = [
  56. 'sphinx >= 1.7.5',
  57. 'pydata-sphinx-theme',
  58. 'sphinx_material',
  59. 'sphinx-copybutton',
  60. 'sphinx_book_theme',
  61. ]
  62. style = [
  63. 'css_inline',
  64. ]
  65. [tool.coverage.run]
  66. source = ["redmail"]
  67. branch = false
  68. omit = [
  69. "test/*",
  70. "_version.py"
  71. ]
  72. data_file = "cov_data/.coverage"
  73. [tool.coverage.report]
  74. omit = [
  75. "redmail/test/*",
  76. "redmail/_version.py",
  77. "redmail/__main__.py"
  78. ]
  79. # Regexes for lines to exclude from consideration
  80. exclude_lines = [
  81. "pragma: no cover",
  82. # Don't complain about abstract methods, they aren't run:
  83. '''@(abc\.)?abstractmethod''',
  84. # Ignore type checking imports
  85. "if TYPE_CHECKING",
  86. ]
  87. ignore_errors = true
  88. [tool.coverage.html]
  89. directory = "htmlcov"