/ 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 ]