Skip to content

Commit 20e8872

Browse files
committed
Modernize packaging: switch to hatchling build backend
- Remove MANIFEST.in (not needed with hatchling) - Remove requirements.txt (dependencies in pyproject.toml) - Update pyproject.toml with PEP 621 metadata format - Set Python >=3.10 requirement - Add pytest configuration - Use hatchling as build backend
1 parent 2b051d9 commit 20e8872

3 files changed

Lines changed: 25 additions & 41 deletions

File tree

MANIFEST.in

Lines changed: 0 additions & 6 deletions
This file was deleted.

pyproject.toml

Lines changed: 25 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -1,49 +1,52 @@
11
[project]
22
name = "pykeepass"
3-
# setuptools normalizes semver '-' to '.'
4-
# avoid using hyphens: 1.2.3.post1
5-
version = "4.1.1.post1"
3+
version = "4.2.0"
64
readme = "README.md"
75
description = "Python library to interact with keepass databases (supports KDBX3 and KDBX4)"
86
authors = [
97
{ name = "Philipp Schmitt", email = "philipp@schmitt.co" },
10-
{ name = "Evan Widloski", email = "evan_gh@widloski.com" }
8+
{ name = "Evan Widloski", email = "evan_gh@widloski.com" },
9+
{ name = "Corey Leavitt", email = "corey@leavitt.info" }
1110
]
12-
license = {text = "GPL-3.0"}
13-
keywords = ["vault", "keepass"]
14-
requires-python = ">=3.7"
11+
license = { text = "GPL-3.0" }
12+
keywords = ["vault", "keepass", "kdbx", "password-manager"]
13+
requires-python = ">=3.10"
1514
dependencies = [
15+
"argon2-cffi>=23.1.0",
16+
"construct>=2.10.70",
17+
"lxml>=5.3.0",
18+
"pycryptodomex>=3.21.0",
1619
"pyotp>=2.9.0",
17-
"setuptools; python_version<'3.8'",
18-
"construct>=2.10.53",
19-
"argon2_cffi>=18.1.0",
20-
"pycryptodomex>=3.6.2",
21-
"lxml",
2220
]
2321
classifiers = [
2422
"Topic :: Security",
2523
"Topic :: Software Development :: Libraries",
2624
"License :: OSI Approved :: GNU General Public License v3 (GPLv3)",
27-
"Programming Language :: Python :: 3.7",
28-
"Programming Language :: Python :: 3.8",
29-
"Programming Language :: Python :: 3.9",
3025
"Programming Language :: Python :: 3.10",
3126
"Programming Language :: Python :: 3.11",
27+
"Programming Language :: Python :: 3.12",
28+
"Programming Language :: Python :: 3.13",
3229
]
3330

3431
[project.optional-dependencies]
35-
test = ["pyotp", "pdoc"]
32+
dev = [
33+
"pytest>=8.0.0",
34+
"pdoc>=15.0.0",
35+
]
3636

3737
[project.urls]
3838
Homepage = "https://github.com/libkeepass/pykeepass"
3939
Repository = "https://github.com/libkeepass/pykeepass"
4040
Issues = "https://github.com/libkeepass/pykeepass/issues"
4141
Changelog = "https://github.com/libkeepass/pykeepass/blob/master/CHANGELOG.rst"
4242

43-
[tool.setuptools]
44-
packages = ["pykeepass", "pykeepass.kdbx_parsing"]
45-
include-package-data = true
46-
4743
[build-system]
48-
requires = ["setuptools>=59.0.0"]
49-
build-backend = 'setuptools.build_meta'
44+
requires = ["hatchling"]
45+
build-backend = "hatchling.build"
46+
47+
[tool.hatch.build.targets.wheel]
48+
packages = ["pykeepass"]
49+
50+
[tool.pytest.ini_options]
51+
testpaths = ["tests"]
52+
python_files = ["tests.py", "test_*.py"]

requirements.txt

Lines changed: 0 additions & 13 deletions
This file was deleted.

0 commit comments

Comments
 (0)