9fa74020070b37e150e4f34b3bd77ea279d0350c
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 Support Python 3.10 and PyP...

Marco Ricci authored 2 months 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 Overhaul dependency and env...

Marco Ricci authored 3 months ago

27)   "click>=8.1",
Marco Ricci Support Python 3.10 and PyP...

Marco Ricci authored 2 months ago

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

Marco Ricci authored 3 months ago

29) ]
Marco Ricci Release 0.1.3

Marco Ricci authored 1 month ago

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

Marco Ricci authored 3 months ago

31) 
32) [project.optional-dependencies]
Marco Ricci Support Python 3.10 and PyP...

Marco Ricci authored 2 months ago

33) dev = ["black", "coverage", "hatch>=1.10", "mkdocs", "mkdocs-material",
Marco Ricci Add a changelog and support...

Marco Ricci authored 1 month ago

34)        "mkdocstrings[python]", "pytest>=8.1", "towncrier>=23.11"]
Marco Ricci Add dependency on cryptogra...

Marco Ricci authored 1 month ago

35) export = [
36)   # The vault configuration exporter relies on cryptography.  Version 38 was
37)   # the first to include the `algorithms.AES256` interface, instead of only
38)   # the `algorithms.AES` interface.
39)   "cryptography >= 38.0.0",
40) ]
Marco Ricci Import initial project files

Marco Ricci authored 4 months ago

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

Marco Ricci authored 2 months ago

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

Marco Ricci authored 4 months ago

44) Issues = "https://github.com/the-13th-letter/derivepassphrase/issues"
45) Source = "https://github.com/the-13th-letter/derivepassphrase"
46) 
47) [project.scripts]
48) derivepassphrase = "derivepassphrase.cli:derivepassphrase"
Marco Ricci Add command-line interface...

Marco Ricci authored 3 weeks ago

49) derivepassphrase_export = "derivepassphrase.exporter:derivepassphrase_export"
Marco Ricci Import initial project files

Marco Ricci authored 4 months ago

50) 
51) [tool.mypy]
Marco Ricci Add mypy configuration to a...

Marco Ricci authored 1 month ago

52) files = ['src/**/*.py', 'tests/**/*.py']
Marco Ricci Import initial project files

Marco Ricci authored 4 months ago

53) mypy_path = '$MYPY_CONFIG_FILE_DIR/src'
54) explicit_package_bases = true
55) implicit_reexport = false
56) sqlite_cache = true
57) 
58) [tool.pytest.ini_options]
59) addopts = '--doctest-modules'
60) pythonpath = ['src']
Marco Ricci Add unit tests, both new an...

Marco Ricci authored 3 months ago

61) testpaths = ['src', 'tests']
Marco Ricci Import initial project files

Marco Ricci authored 4 months ago

62) xfail_strict = true
63) 
64) [tool.hatch.version]
Marco Ricci Remove __about__.py files,...

Marco Ricci authored 3 months ago

65) path = "src/derivepassphrase/__init__.py"
Marco Ricci Import initial project files

Marco Ricci authored 4 months ago

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

Marco Ricci authored 1 month ago

67) [tool.hatch.build.targets.sdist]
68) exclude = [
69)     'towncrier.d/[0123456789+]*.md',
70) ]
71) 
72) [tool.hatch.build.targets.wheel]
Marco Ricci Move `sequin` and `ssh_agen...

Marco Ricci authored 1 month ago

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

Marco Ricci authored 1 month ago

74) 
Marco Ricci Add coverage testing

Marco Ricci authored 3 months ago

75) [tool.hatch.envs.hatch-test]
76) default-args = ['src', 'tests']
Marco Ricci Add command-line interface...

Marco Ricci authored 3 weeks ago

77) features = ["export"]
Marco Ricci Add coverage testing

Marco Ricci authored 3 months ago

78) 
79) [[tool.hatch.envs.hatch-test.matrix]]
Marco Ricci Support Python 3.10 and PyP...

Marco Ricci authored 2 months ago

80) python = ["3.10", "3.11", "3.12", "pypy3.10"]
Marco Ricci Add coverage testing

Marco Ricci authored 3 months ago

81) 
Marco Ricci Overhaul dependency and env...

Marco Ricci authored 3 months ago

82) [tool.hatch.env]
83) requires = [
84)   "hatch-mkdocs",
85) ]
86) 
87) [tool.hatch.env.collectors.mkdocs.docs]
88) path = "mkdocs.yml"
89) 
Marco Ricci Fill out README and documen...

Marco Ricci authored 2 months ago

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

Marco Ricci authored 1 month ago

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

Marco Ricci authored 2 months ago

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

Marco Ricci authored 1 month ago

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

Marco Ricci authored 1 month ago

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

Marco Ricci authored 2 months ago

103) ]
104) detached = false
105) 
Marco Ricci Import initial project files

Marco Ricci authored 4 months ago

106) [tool.hatch.envs.types]
107) extra-dependencies = [
108)   "mypy>=1.0.0",
Marco Ricci Create the configuration di...

Marco Ricci authored 1 month ago

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

Marco Ricci authored 4 months ago

110) ]
Marco Ricci Add command-line interface...

Marco Ricci authored 3 weeks ago

111) features = [
112)     "export",
113) ]
114) 
Marco Ricci Import initial project files

Marco Ricci authored 4 months ago

115) [tool.hatch.envs.types.scripts]
116) check = "mypy --install-types --non-interactive {args:src/derivepassphrase tests}"
117) 
Marco Ricci Add finished command-line i...

Marco Ricci authored 2 months ago

118) [tool.coverage.html]
Marco Ricci Remove coverage from docume...

Marco Ricci authored 2 months ago

119) directory = "html/coverage"
Marco Ricci Add finished command-line i...

Marco Ricci authored 2 months ago

120) 
Marco Ricci Import initial project files

Marco Ricci authored 4 months ago

121) [tool.coverage.run]
Marco Ricci Move `sequin` and `ssh_agen...

Marco Ricci authored 1 month ago

122) source_pkgs = ["derivepassphrase", "tests"]
Marco Ricci Import initial project files

Marco Ricci authored 4 months ago

123) branch = true
124) parallel = true
125) omit = [
Marco Ricci Add finished command-line i...

Marco Ricci authored 2 months ago

126)   "__main__.py",
Marco Ricci Import initial project files

Marco Ricci authored 4 months ago

127) ]
128) 
129) [tool.coverage.paths]
Marco Ricci Add finished command-line i...

Marco Ricci authored 2 months ago

130) src = ["src"]
131) tests = ["tests"]
Marco Ricci Import initial project files

Marco Ricci authored 4 months ago

132) 
133) [tool.coverage.report]
Marco Ricci Add finished command-line i...

Marco Ricci authored 2 months ago

134) skip_covered = false
135) skip_empty = true
136) precision = 3
137) partial_branches = [
138)     'pragma: no branch',
139) ]
140) exclude_also = [
Marco Ricci Import initial project files

Marco Ricci authored 4 months ago

141)   "if __name__ == .__main__.:",
Marco Ricci Add finished command-line i...

Marco Ricci authored 2 months ago

142)   'if (?:typing\.)?TYPE_CHECKING:',
143)   "raise AssertionError",
144)   "raise NotImplementedError",
145)   'assert False',
Marco Ricci Add command-line interface...

Marco Ricci authored 3 weeks ago

146)   '(?:typing\.)?assert_never\(',
Marco Ricci Import initial project files

Marco Ricci authored 4 months ago

147) ]
Marco Ricci Fix style issues with ruff...

Marco Ricci authored 2 months ago

148) 
149) [tool.ruff]
150) line-length = 79
151) src = ["src"]
Marco Ricci Fix style issues with ruff...

Marco Ricci authored 1 month ago

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

Marco Ricci authored 2 months ago

153) 
154) [tool.ruff.format]
155) quote-style = 'single'
Marco Ricci Reformat everything with ruff

Marco Ricci authored 1 month ago

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

Marco Ricci authored 1 month ago

157) preview = true
158) 
159) [tool.ruff.lint]
160) preview = true
161) extend-ignore = [
Marco Ricci Annotate settings and selec...

Marco Ricci authored 1 month ago

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

Marco Ricci authored 1 month ago

164)     'S101',
165) ]
166) extend-select = [
Marco Ricci Annotate settings and selec...

Marco Ricci authored 1 month ago

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

Marco Ricci authored 1 month ago

168)     'E501',
169) ]
Marco Ricci Fix style issues with ruff...

Marco Ricci authored 2 months ago

170) 
171) [tool.ruff.lint.pydocstyle]
172) convention = 'google'
Marco Ricci Fix style issues with ruff...

Marco Ricci authored 1 month ago

173) 
174) [tool.ruff.lint.flake8-pytest-style]
175) parametrize-names-type = 'list'
176) 
177) [tool.ruff.lint.extend-per-file-ignores]
178) "**/tests/**/*" = [
Marco Ricci Annotate settings and selec...

Marco Ricci authored 1 month ago

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

Marco Ricci authored 1 month ago

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

Marco Ricci authored 1 month ago

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

Marco Ricci authored 1 month ago

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

Marco Ricci authored 1 month ago

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

Marco Ricci authored 1 month ago

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

Marco Ricci authored 1 month ago

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

Marco Ricci authored 1 month ago

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

Marco Ricci authored 1 month ago

192) ]
193) 
194) [tool.hatch.envs.hatch-static-analysis]
195) config-path = "ruff_defaults_v0.5.0.toml"
196) dependencies = ["ruff==0.5.0"]