@@ -5,19 +5,17 @@ build-backend = "hatchling.build"
55[project ]
66name = " qs-codec"
77description = " 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" ]
1011requires-python = " >=3.9"
1112authors = [
1213 { name = " Klemen Tusar" , email = " techouse@gmail.com" },
1314]
1415keywords = [
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]
2220classifiers = [
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]
4039dynamic = [" version" ]
4140
4241[project .urls ]
4342Homepage = " https://techouse.github.io/qs_codec/"
4443Documentation = " 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"
4646Changelog = " https://github.com/techouse/qs_codec/blob/master/CHANGELOG.md"
4747Sponsor = " https://github.com/sponsors/techouse"
4848PayPal = " 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 ]
5162path = " src/qs_codec/__init__.py"
5263
@@ -63,6 +74,7 @@ include = [
6374
6475[tool .hatch .build .targets .wheel ]
6576packages = [" src/qs_codec" ]
77+ include = [" src/qs_codec/py.typed" ]
6678
6779[tool .black ]
6880line-length = 120
@@ -91,7 +103,7 @@ exclude = '''
91103line_length = 120
92104profile = " black"
93105lines_after_imports = 2
94- known_first_party = " qs "
106+ known_first_party = " qs_codec "
95107skip_gitignore = true
96108
97109[tool .pytest .ini_options ]
0 commit comments