Skip to content

Commit 73e5bba

Browse files
committed
📦 update pyproject.toml with improved metadata, optional dev dependencies, and wheel build config
1 parent 0e9f69c commit 73e5bba

1 file changed

Lines changed: 22 additions & 10 deletions

File tree

pyproject.toml

Lines changed: 22 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -5,19 +5,17 @@ build-backend = "hatchling.build"
55
[project]
66
name = "qs-codec"
77
description = "A query string encoding and decoding library for Python. Ported from qs for JavaScript."
8-
readme = "README.rst"
9-
license = { text = "BSD-3-Clause" }
8+
readme = { file = "README.rst", content-type = "text/x-rst" }
9+
license = "BSD-3-Clause"
10+
license-files = ["LICENSE"]
1011
requires-python = ">=3.9"
1112
authors = [
1213
{ name = "Klemen Tusar", email = "techouse@gmail.com" },
1314
]
1415
keywords = [
15-
"qs",
16-
"codec",
17-
"url",
18-
"query",
19-
"querystring",
20-
"query-string",
16+
"qs", "codec", "url", "query", "querystring", "query-string",
17+
"urlencode", "urldecode", "form-urlencoded", "percent-encoding",
18+
"rfc3986", "arrays", "nested", "brackets"
2119
]
2220
classifiers = [
2321
"Development Status :: 5 - Production/Stable",
@@ -36,17 +34,30 @@ classifiers = [
3634
"Programming Language :: Python :: Implementation :: CPython",
3735
"Topic :: Internet :: WWW/HTTP",
3836
"Topic :: Software Development :: Libraries",
37+
"Typing :: Typed",
3938
]
4039
dynamic = ["version"]
4140

4241
[project.urls]
4342
Homepage = "https://techouse.github.io/qs_codec/"
4443
Documentation = "https://techouse.github.io/qs_codec/"
45-
Source = "https://github.com/techouse/qs_codec"
44+
Repository = "https://github.com/techouse/qs_codec.git"
45+
Issues = "https://github.com/techouse/qs_codec/issues"
4646
Changelog = "https://github.com/techouse/qs_codec/blob/master/CHANGELOG.md"
4747
Sponsor = "https://github.com/sponsors/techouse"
4848
PayPal = "https://paypal.me/ktusar"
4949

50+
[project.optional-dependencies]
51+
dev = [
52+
"pytest>=8.3.5",
53+
"pytest-cov>=6.0.0",
54+
"mypy>=1.15.0",
55+
"toml>=0.10.2",
56+
"tox",
57+
"black",
58+
"isort"
59+
]
60+
5061
[tool.hatch.version]
5162
path = "src/qs_codec/__init__.py"
5263

@@ -63,6 +74,7 @@ include = [
6374

6475
[tool.hatch.build.targets.wheel]
6576
packages = ["src/qs_codec"]
77+
include = ["src/qs_codec/py.typed"]
6678

6779
[tool.black]
6880
line-length = 120
@@ -91,7 +103,7 @@ exclude = '''
91103
line_length = 120
92104
profile = "black"
93105
lines_after_imports = 2
94-
known_first_party = "qs"
106+
known_first_party = "qs_codec"
95107
skip_gitignore = true
96108

97109
[tool.pytest.ini_options]

0 commit comments

Comments
 (0)