28ecd5affbc48b9580e659d62a0589a98f8cf718
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"
49) 
50) [tool.mypy]
Marco Ricci Add mypy configuration to a...

Marco Ricci authored 1 month ago

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

Marco Ricci authored 4 months ago

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

Marco Ricci authored 3 months ago

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

Marco Ricci authored 4 months ago

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

Marco Ricci authored 3 months ago

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

Marco Ricci authored 4 months ago

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

Marco Ricci authored 1 month ago

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

Marco Ricci authored 1 month ago

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

Marco Ricci authored 1 month ago

73) 
Marco Ricci Add coverage testing

Marco Ricci authored 3 months ago

74) [tool.hatch.envs.hatch-test]
75) default-args = ['src', 'tests']
76) 
77) [[tool.hatch.envs.hatch-test.matrix]]
Marco Ricci Support Python 3.10 and PyP...

Marco Ricci authored 2 months ago

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

Marco Ricci authored 3 months ago

79) 
Marco Ricci Overhaul dependency and env...

Marco Ricci authored 3 months ago

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

Marco Ricci authored 2 months ago

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

Marco Ricci authored 1 month ago

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

Marco Ricci authored 2 months ago

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

Marco Ricci authored 1 month ago

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

Marco Ricci authored 1 month ago

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

Marco Ricci authored 2 months ago

101) ]
102) detached = false
103) 
Marco Ricci Import initial project files

Marco Ricci authored 4 months ago

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

Marco Ricci authored 1 month ago

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

Marco Ricci authored 4 months ago

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

Marco Ricci authored 2 months ago

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

Marco Ricci authored 2 months ago

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

Marco Ricci authored 2 months ago

114) 
Marco Ricci Import initial project files

Marco Ricci authored 4 months ago

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

Marco Ricci authored 1 month ago

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

Marco Ricci authored 4 months ago

117) branch = true
118) parallel = true
119) omit = [
Marco Ricci Add finished command-line i...

Marco Ricci authored 2 months ago

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

Marco Ricci authored 4 months ago

121) ]
122) 
123) [tool.coverage.paths]
Marco Ricci Add finished command-line i...

Marco Ricci authored 2 months ago

124) src = ["src"]
125) tests = ["tests"]
Marco Ricci Import initial project files

Marco Ricci authored 4 months ago

126) 
127) [tool.coverage.report]
Marco Ricci Add finished command-line i...

Marco Ricci authored 2 months ago

128) skip_covered = false
129) skip_empty = true
130) precision = 3
131) partial_branches = [
132)     'pragma: no branch',
133) ]
134) exclude_also = [
Marco Ricci Import initial project files

Marco Ricci authored 4 months ago

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

Marco Ricci authored 2 months ago

136)   'if (?:typing\.)?TYPE_CHECKING:',
137)   "raise AssertionError",
138)   "raise NotImplementedError",
139)   'assert False',
Marco Ricci Import initial project files

Marco Ricci authored 4 months ago

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

Marco Ricci authored 2 months ago

141) 
142) [tool.ruff]
143) line-length = 79
144) src = ["src"]
Marco Ricci Fix style issues with ruff...

Marco Ricci authored 1 month ago

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

Marco Ricci authored 2 months ago

146) 
147) [tool.ruff.format]
148) quote-style = 'single'
Marco Ricci Reformat everything with ruff

Marco Ricci authored 1 month ago

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

Marco Ricci authored 1 month ago

150) preview = true
151) 
152) [tool.ruff.lint]
153) preview = true
154) extend-ignore = [
Marco Ricci Annotate settings and selec...

Marco Ricci authored 1 month ago

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

Marco Ricci authored 1 month ago

157)     'S101',
158) ]
159) extend-select = [
Marco Ricci Annotate settings and selec...

Marco Ricci authored 1 month ago

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

Marco Ricci authored 1 month ago

161)     'E501',
162) ]
Marco Ricci Fix style issues with ruff...

Marco Ricci authored 2 months ago

163) 
164) [tool.ruff.lint.pydocstyle]
165) convention = 'google'
Marco Ricci Fix style issues with ruff...

Marco Ricci authored 1 month ago

166) 
167) [tool.ruff.lint.flake8-pytest-style]
168) parametrize-names-type = 'list'
169) 
170) [tool.ruff.lint.extend-per-file-ignores]
171) "**/tests/**/*" = [
Marco Ricci Annotate settings and selec...

Marco Ricci authored 1 month ago

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

Marco Ricci authored 1 month ago

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

Marco Ricci authored 1 month ago

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

Marco Ricci authored 1 month ago

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

Marco Ricci authored 1 month ago

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

Marco Ricci authored 1 month ago

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

Marco Ricci authored 1 month ago

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

Marco Ricci authored 1 month ago

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

Marco Ricci authored 1 month ago

185) ]
186) 
187) [tool.hatch.envs.hatch-static-analysis]
188) config-path = "ruff_defaults_v0.5.0.toml"
189) dependencies = ["ruff==0.5.0"]