54ea8d4777b561872a1005acc87ddc98002b688c
Marco Ricci Import initial project files

Marco Ricci authored 4 months ago

1) [build-system]
2) requires = ["hatchling"]
3) build-backend = "hatchling.build"
4) 
5) [project]
6) name = "derivepassphrase"
7) description = "An almost faithful Python reimplementation of James Coglan's vault."
8) readme = "README.md"
Marco Ricci Specify project dependencie...

Marco Ricci authored 1 month ago

9) requires-python = ">= 3.10"
Marco Ricci Import initial project files

Marco Ricci authored 4 months ago

10) license = "MIT"
11) keywords = []
12) authors = [
13)   { name = "Marco Ricci", email = "m@the13thletter.info" },
14) ]
15) classifiers = [
16)   "Development Status :: 4 - Beta",
17)   "Environment :: Console",
Marco Ricci Fix misspelt project settings

Marco Ricci authored 2 months ago

18)   "License :: OSI Approved :: MIT License",
Marco Ricci Import initial project files

Marco Ricci authored 4 months ago

19)   "Programming Language :: Python :: 3",
Marco Ricci Support Python 3.10 and PyP...

Marco Ricci authored 2 months ago

20)   "Programming Language :: Python :: 3.10",
Marco Ricci Import initial project files

Marco Ricci authored 4 months ago

21)   "Programming Language :: Python :: 3.11",
22)   "Programming Language :: Python :: 3.12",
23)   "Programming Language :: Python :: Implementation :: CPython",
24)   "Programming Language :: Python :: Implementation :: PyPy",
25) ]
26) dependencies = [
Marco Ricci Specify project dependencie...

Marco Ricci authored 1 month ago

27)   # We use click for the command-line interface.  We require version 8.1.0
28)   # or higher due to click issue #1985.
29)   "click >= 8.1",
30)   # We include type annotations, and use facilities that are not readily
31)   # available in older Pythons (such as typing.Self).  These are loaded from
32)   # typing_extensions, instead of using explicit version guards.
Marco Ricci Support Python 3.10 and PyP...

Marco Ricci authored 2 months ago

33)   "typing_extensions",
Marco Ricci Overhaul dependency and env...

Marco Ricci authored 3 months ago

34) ]
Marco Ricci Release 0.1.3

Marco Ricci authored 1 month ago

35) version = "0.1.3"
Marco Ricci Overhaul dependency and env...

Marco Ricci authored 3 months ago

36) 
37) [project.optional-dependencies]
Marco Ricci Specify project dependencie...

Marco Ricci authored 1 month ago

38) dev = [
39)   # Development uses the hatch build system, to isolate all tools in their
40)   # own virtual environment.
41)   "hatch ~= 1.10",
42) ]
Marco Ricci Import initial project files

Marco Ricci authored 4 months ago

43) 
Marco Ricci Sort sections in pyproject....

Marco Ricci authored 1 month ago

44) [project.scripts]
45) derivepassphrase = "derivepassphrase.cli:derivepassphrase"
46) 
Marco Ricci Import initial project files

Marco Ricci authored 4 months ago

47) [project.urls]
Marco Ricci Set up a web host for the d...

Marco Ricci authored 2 months ago

48) Documentation = "https://the13thletter.info/derivepassphrase/"
Marco Ricci Import initial project files

Marco Ricci authored 4 months ago

49) Issues = "https://github.com/the-13th-letter/derivepassphrase/issues"
50) Source = "https://github.com/the-13th-letter/derivepassphrase"
51) 
Marco Ricci Sort sections in pyproject....

Marco Ricci authored 1 month ago

52) [tool.coverage.html]
53) directory = "html/coverage"
Marco Ricci Import initial project files

Marco Ricci authored 4 months ago

54) 
Marco Ricci Sort sections in pyproject....

Marco Ricci authored 1 month ago

55) [tool.coverage.paths]
56) src = ["src"]
57) tests = ["tests"]
Marco Ricci Import initial project files

Marco Ricci authored 4 months ago

58) 
Marco Ricci Sort sections in pyproject....

Marco Ricci authored 1 month ago

59) [tool.coverage.report]
60) skip_covered = false
61) skip_empty = true
62) precision = 3
63) partial_branches = [
64)     'pragma: no branch',
65) ]
66) exclude_also = [
67)   "if __name__ == .__main__.:",
68)   'if (?:typing\.)?TYPE_CHECKING:',
69)   "raise AssertionError",
70)   "raise NotImplementedError",
71)   'assert False',
72) ]
Marco Ricci Import initial project files

Marco Ricci authored 4 months ago

73) 
Marco Ricci Sort sections in pyproject....

Marco Ricci authored 1 month ago

74) [tool.coverage.run]
75) source_pkgs = ["derivepassphrase", "tests"]
76) branch = true
77) parallel = true
78) omit = [
79)   "__main__.py",
80) ]
Marco Ricci Import initial project files

Marco Ricci authored 4 months ago

81) 
Marco Ricci Fix Python package build co...

Marco Ricci authored 1 month ago

82) [tool.hatch.build.targets.sdist]
83) exclude = [
84)     'towncrier.d/[0123456789+]*.md',
85) ]
86) 
87) [tool.hatch.build.targets.wheel]
Marco Ricci Move `sequin` and `ssh_agen...

Marco Ricci authored 1 month ago

88) packages = ['src/derivepassphrase']
Marco Ricci Fix Python package build co...

Marco Ricci authored 1 month ago

89) 
Marco Ricci Overhaul dependency and env...

Marco Ricci authored 3 months ago

90) [tool.hatch.env]
91) requires = [
92)   "hatch-mkdocs",
93) ]
94) 
95) [tool.hatch.env.collectors.mkdocs.docs]
96) path = "mkdocs.yml"
97) 
Marco Ricci Fill out README and documen...

Marco Ricci authored 2 months ago

98) [tool.hatch.envs.docs]
99) extra-dependencies = [
Marco Ricci Annotate settings and selec...

Marco Ricci authored 1 month ago

100)   # Our documentation uses the Material theme.  It also uses
101)   # `mkdocstrings[python]`, but `hatch-mkdocs` is apparently smart
102)   # enough to pick *that* one up from the MkDocs configuration, but not
103)   # the selected theme...
104)   "mkdocs-material",
105)   # Our documentation uses formatted function signatures (i.e. with
106)   # formatted type annotations), which requires `black`.
Marco Ricci Fill out README and documen...

Marco Ricci authored 2 months ago

107)   "black",
Marco Ricci Annotate settings and selec...

Marco Ricci authored 1 month ago

108)   # Our documentation is generated in multiple versions, orchestrated by
109)   # `mike`.
Marco Ricci Deploy versioned documentat...

Marco Ricci authored 1 month ago

110)   "mike",
Marco Ricci Fill out README and documen...

Marco Ricci authored 2 months ago

111) ]
112) detached = false
113) 
Marco Ricci Sort sections in pyproject....

Marco Ricci authored 1 month ago

114) [tool.hatch.envs.hatch-static-analysis]
115) config-path = "ruff_defaults_v0.5.0.toml"
Marco Ricci Specify project dependencie...

Marco Ricci authored 1 month ago

116) dependencies = [
117)   "ruff ~= 0.5.0"
118) ]
Marco Ricci Sort sections in pyproject....

Marco Ricci authored 1 month ago

119) 
120) [tool.hatch.envs.hatch-test]
121) default-args = ['src', 'tests']
122) 
123) [[tool.hatch.envs.hatch-test.matrix]]
124) python = ["3.10", "3.11", "3.12", "pypy3.10"]
125) 
126) [tool.hatch.envs.release]
Marco Ricci Specify project dependencie...

Marco Ricci authored 1 month ago

127) extra-dependencies = [
128)   "towncrier >= 23.11"
129) ]
Marco Ricci Sort sections in pyproject....

Marco Ricci authored 1 month ago

130) 
131) [tool.hatch.envs.release.scripts]
132) 
Marco Ricci Import initial project files

Marco Ricci authored 4 months ago

133) [tool.hatch.envs.types]
134) extra-dependencies = [
Marco Ricci Specify project dependencie...

Marco Ricci authored 1 month ago

135)   "mypy ~= 1.0",
Marco Ricci Undo single-child hatch env...

Marco Ricci authored 3 weeks ago

136)   "pytest ~= 8.1",
Marco Ricci Import initial project files

Marco Ricci authored 4 months ago

137) ]
Marco Ricci Specify project dependencie...

Marco Ricci authored 1 month ago

138) 
Marco Ricci Import initial project files

Marco Ricci authored 4 months ago

139) [tool.hatch.envs.types.scripts]
140) check = "mypy --install-types --non-interactive {args:src/derivepassphrase tests}"
141) 
Marco Ricci Sort sections in pyproject....

Marco Ricci authored 1 month ago

142) [tool.hatch.version]
143) path = "src/derivepassphrase/__init__.py"
Marco Ricci Import initial project files

Marco Ricci authored 4 months ago

144) 
Marco Ricci Sort sections in pyproject....

Marco Ricci authored 1 month ago

145) [tool.mypy]
146) files = ['src/**/*.py', 'tests/**/*.py']
147) mypy_path = '$MYPY_CONFIG_FILE_DIR/src'
148) explicit_package_bases = true
149) implicit_reexport = false
150) sqlite_cache = true
Marco Ricci Import initial project files

Marco Ricci authored 4 months ago

151) 
Marco Ricci Sort sections in pyproject....

Marco Ricci authored 1 month ago

152) [tool.pytest.ini_options]
153) addopts = '--doctest-modules'
154) pythonpath = ['src']
155) testpaths = ['src', 'tests']
156) xfail_strict = true
Marco Ricci Fix style issues with ruff...

Marco Ricci authored 2 months ago

157) 
158) [tool.ruff]
159) line-length = 79
160) src = ["src"]
Marco Ricci Fix style issues with ruff...

Marco Ricci authored 1 month ago

161) extend = "ruff_defaults_v0.5.0.toml"
Marco Ricci Fix style issues with ruff...

Marco Ricci authored 2 months ago

162) 
163) [tool.ruff.format]
164) quote-style = 'single'
Marco Ricci Reformat everything with ruff

Marco Ricci authored 1 month ago

165) docstring-code-line-length = "dynamic"
Marco Ricci Fix style issues with ruff...

Marco Ricci authored 1 month ago

166) preview = true
167) 
168) [tool.ruff.lint]
169) preview = true
170) extend-ignore = [
Marco Ricci Annotate settings and selec...

Marco Ricci authored 1 month ago

171)     # We use `assert` regularly to appease the type checker, and because
172)     # it is the right language tool for this job.
Marco Ricci Fix style issues with ruff...

Marco Ricci authored 1 month ago

173)     'S101',
174) ]
175) extend-select = [
Marco Ricci Annotate settings and selec...

Marco Ricci authored 1 month ago

176)     # Unlike hatch's standard configuration, we care about line length.
Marco Ricci Fix style issues with ruff...

Marco Ricci authored 1 month ago

177)     'E501',
178) ]
Marco Ricci Fix style issues with ruff...

Marco Ricci authored 2 months ago

179) 
Marco Ricci Fix style issues with ruff...

Marco Ricci authored 1 month ago

180) [tool.ruff.lint.extend-per-file-ignores]
181) "**/tests/**/*" = [
Marco Ricci Annotate settings and selec...

Marco Ricci authored 1 month ago

182)   # Our tests are pytest-style tests, which use `assert` liberally.
Marco Ricci Fix style issues with ruff...

Marco Ricci authored 1 month ago

183)   'A002',
Marco Ricci Annotate settings and selec...

Marco Ricci authored 1 month ago

184)   # Our tests are regularly parametrized with booleans, for benign
185)   # purposes.
Marco Ricci Fix style issues with ruff...

Marco Ricci authored 1 month ago

186)   'FBT001',
Marco Ricci Annotate settings and selec...

Marco Ricci authored 1 month ago

187)   # One of our standard modules is called `derivepassphrase._types`.
188)   # Importing this from the tests directory would then automatically
189)   # trigger `PLC2701`.
Marco Ricci Consolidate `types` submodu...

Marco Ricci authored 1 month ago

190)   'PLC2701',
Marco Ricci Annotate settings and selec...

Marco Ricci authored 1 month ago

191)   # To fully test the `derivepassphrase.cli` module (and a couple other
192)   # things), we need to call and to mock several internal functions,
193)   # which would automatically trigger `SLF001`.
Marco Ricci Consolidate `types` submodu...

Marco Ricci authored 1 month ago

194)   'SLF001',
Marco Ricci Fix style issues with ruff...

Marco Ricci authored 1 month ago

195) ]
196) 
Marco Ricci Sort sections in pyproject....

Marco Ricci authored 1 month ago

197) [tool.ruff.lint.flake8-pytest-style]
198) parametrize-names-type = 'list'
Marco Ricci Add a changelog and support...

Marco Ricci authored 1 month ago

199) 
Marco Ricci Sort sections in pyproject....

Marco Ricci authored 1 month ago

200) [tool.ruff.lint.pydocstyle]
201) convention = 'google'