[build-system]
requires = ["hatchling"]
build-backend = "hatchling.build"
[project]
name = "derivepassphrase"
description = "An almost faithful Python reimplementation of James Coglan's vault."
readme = "README.md"
requires-python = ">= 3.9"
license = { text = "zlib/libpng" }
keywords = []
authors = [
{ name = "Marco Ricci", email = "software@the13thletter.info" },
]
classifiers = [
"Development Status :: 4 - Beta",
"Environment :: Console",
"License :: OSI Approved :: zlib/libpng License",
"Programming Language :: Python :: 3",
"Programming Language :: Python :: 3.9",
"Programming Language :: Python :: 3.10",
"Programming Language :: Python :: 3.11",
"Programming Language :: Python :: 3.12",
"Programming Language :: Python :: 3.13",
"Programming Language :: Python :: Implementation :: CPython",
"Programming Language :: Python :: Implementation :: PyPy",
]
dependencies = [
# We use click for the command-line interface. We require version 8.1.0
# or higher due to click issue #1985.
"click >= 8.1",
# We include type annotations, and use facilities that are not readily
# available in older Pythons (such as typing.Self). These are loaded from
# typing_extensions, instead of using explicit version guards.
"typing_extensions",
# We read configuration files in JSON and TOML format. The latter is
# unavailable in the Python standard library until Python 3.11.
'tomli; python_version < "3.11"'
]
dynamic = ['version']
[project.optional-dependencies]
dev = [
# Development uses the hatch build system, to isolate all tools in their
# own virtual environment.
"hatch ~= 1.10",
]
export = [
# The vault configuration exporter relies on cryptography. Version 38 was
# the first to include the `algorithms.AES256` interface, instead of only
# the `algorithms.AES` interface.