/ pyproject.toml
pyproject.toml
  1  [build-system]
  2  requires = ["pdm-backend"]
  3  build-backend = "pdm.backend"
  4  
  5  [project]
  6  name = "archan"
  7  description = "Analysis of your architecture strength based on DSM data."
  8  authors = [{name = "Timothée Mazzucotelli", email = "pawamoy@pm.me"}]
  9  license = {text = "ISC"}
 10  readme = "README.md"
 11  requires-python = ">=3.8"
 12  keywords = []
 13  dynamic = ["version"]
 14  classifiers = [
 15      "Development Status :: 4 - Beta",
 16      "Intended Audience :: Developers",
 17      "Programming Language :: Python",
 18      "Programming Language :: Python :: 3",
 19      "Programming Language :: Python :: 3 :: Only",
 20      "Programming Language :: Python :: 3.8",
 21      "Programming Language :: Python :: 3.9",
 22      "Programming Language :: Python :: 3.10",
 23      "Programming Language :: Python :: 3.11",
 24      "Programming Language :: Python :: 3.12",
 25      "Topic :: Documentation",
 26      "Topic :: Software Development",
 27      "Topic :: Utilities",
 28      "Typing :: Typed",
 29  ]
 30  dependencies = [
 31      "colorama>=0.4",
 32      "pyyaml>=5.3",
 33      "tap.py>=3.0",
 34  ]
 35  
 36  [project.optional-dependencies]
 37  dependenpy = [
 38      "dependenpy>=3.3",
 39  ]
 40  
 41  [project.urls]
 42  Homepage = "https://pawamoy.github.io/archan"
 43  Documentation = "https://pawamoy.github.io/archan"
 44  Changelog = "https://pawamoy.github.io/archan/changelog"
 45  Repository = "https://github.com/pawamoy/archan"
 46  Issues = "https://github.com/pawamoy/archan/issues"
 47  Discussions = "https://github.com/pawamoy/archan/discussions"
 48  Gitter = "https://gitter.im/archan/community"
 49  Funding = "https://github.com/sponsors/pawamoy"
 50  
 51  [project.scripts]
 52  archan = "archan.cli:main"
 53  
 54  [project.entry-points.archan]
 55  "archan.LayeredArchitecture" = "archan.plugins.checkers:LayeredArchitecture"
 56  "archan.SeparationOfPrivileges" = "archan.plugins.checkers:SeparationOfPrivileges"
 57  "archan.LeastPrivileges" = "archan.plugins.checkers:LeastPrivileges"
 58  "archan.EconomyOfMechanism" = "archan.plugins.checkers:EconomyOfMechanism"
 59  "archan.CodeClean" = "archan.plugins.checkers:CodeClean"
 60  "archan.LeastCommonMechanism" = "archan.plugins.checkers:LeastCommonMechanism"
 61  "archan.CompleteMediation" = "archan.plugins.checkers:CompleteMediation"
 62  "archan.CSVInput" = "archan.plugins.providers:CSVInput"
 63  
 64  [tool.pdm]
 65  version = {source = "scm"}
 66  plugins = [
 67      "pdm-multirun",
 68  ]
 69  
 70  [tool.pdm.build]
 71  package-dir = "src"
 72  editable-backend = "editables"
 73  
 74  [tool.pdm.dev-dependencies]
 75  duty = ["duty>=0.10"]
 76  ci-quality = ["archan[duty,docs,quality,typing,security]"]
 77  ci-tests = ["archan[duty,tests]"]
 78  docs = [
 79      "black>=23.9",
 80      "markdown-callouts>=0.3",
 81      "markdown-exec>=1.7",
 82      "mkdocs>=1.5",
 83      "mkdocs-coverage>=1.0",
 84      "mkdocs-gen-files>=0.5",
 85      "mkdocs-git-committers-plugin-2>=1.2",
 86      "mkdocs-literate-nav>=0.6",
 87      "mkdocs-material>=9.4",
 88      "mkdocs-minify-plugin>=0.7",
 89      "mkdocstrings[python]>=0.23",
 90      "tomli>=2.0; python_version < '3.11'",
 91  ]
 92  maintain = [
 93      "black>=23.9",
 94      "blacken-docs>=1.16",
 95      "git-changelog>=2.3",
 96  ]
 97  quality = [
 98      "ruff>=0.0",
 99  ]
100  tests = [
101      "pytest>=7.4",
102      "pytest-cov>=4.1",
103      "pytest-randomly>=3.15",
104      "pytest-xdist>=3.3",
105  ]
106  typing = [
107      "mypy>=1.5",
108      "types-markdown>=3.5",
109      "types-pyyaml>=6.0",
110  ]
111  security = [
112      "safety>=2.3",
113  ]