-
Notifications
You must be signed in to change notification settings - Fork 19
Expand file tree
/
Copy pathpyproject.toml
More file actions
103 lines (91 loc) · 3.58 KB
/
Copy pathpyproject.toml
File metadata and controls
103 lines (91 loc) · 3.58 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
[build-system]
requires = ["setuptools>=77"]
build-backend = "setuptools.build_meta"
[project]
name = "javaobj-py3"
version = "0.6.1"
description = "Module for serializing and de-serializing Java objects."
readme = "README.md"
# Python 2.7, then 3.4+ (the 3.0-3.3 exclusions keep pip from selecting a
# release on a Python version the code does not support). Keep in sync with
# the classifiers below.
requires-python = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*"
license = "Apache-2.0"
license-files = ["LICENSE"]
authors = [
{ name = "Volodymyr Buell", email = "vbuell@gmail.com" }
]
maintainers = [
{ name = "Thomas Calmant", email = "thomas.calmant@gmail.com" }
]
keywords = ["python", "java", "marshalling", "serialization"]
classifiers = [
"Development Status :: 3 - Alpha",
# No "License :: OSI Approved" classifier: superseded by the SPDX
# `license = "Apache-2.0"` expression above (PEP 639); setuptools>=77
# rejects having both.
"Operating System :: OS Independent",
"Programming Language :: Python :: 2.7",
"Programming Language :: Python :: 3.4",
"Programming Language :: Python :: 3.5",
"Programming Language :: Python :: 3.6",
"Programming Language :: Python :: 3.7",
"Programming Language :: Python :: 3.8",
"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 :: 3.14",
"Topic :: Software Development :: Libraries :: Python Modules"
]
dependencies = [
"enum34; python_version<'3.4'",
"typing; python_version<'3.5'"
]
[project.optional-dependencies]
test = ["pytest"]
[project.urls]
Homepage = "https://github.com/tcalmant/python-javaobj"
Issues = "http://github.com/tcalmant/python-javaobj/issues"
Source = "http://github.com/tcalmant/python-javaobj/"
[dependency-groups]
# The python_version marker keeps this resolvable on older interpreters:
# pytest>=9.0.3 requires Python>=3.10, so uv sync/uv lock would otherwise fail
# to find a solution across the whole requires-python range (older
# interpreters, including 2.7, are still exercised, just through
# run_tests_containers.sh, which installs whatever old pytest release PyPI
# still serves for that interpreter).
dev = [
"pytest>=9.0.3; python_version >= '3.10'",
]
[tool.setuptools]
packages = ["javaobj", "javaobj.v1", "javaobj.v2", "javaobj.v3"]
# Ship the PEP 561 marker: without it, type checkers ignore the type hints of
# the installed package
[tool.setuptools.package-data]
javaobj = ["py.typed"]
# Produce a universal ``py2.py3-none-any`` wheel: the code base is pure Python
# and v1/v2 support both Python 2.7 and 3 (v3 requires 3.12+ but is harmless
# dead weight on older interpreters that never import it), so a single wheel
# serves every supported interpreter -- 2.7 users install this wheel rather
# than building from source.
[tool.distutils.bdist_wheel]
universal = true
[tool.black]
line-length = 110
[tool.ruff]
line-length = 110
[tool.ruff.lint]
extend-select = ["I"]
[tool.mypy]
files = ["javaobj"]
# The dependencies declared for old interpreters (enum34, typing) are not
# installed on the version running the check
ignore_missing_imports = true
# v1 and v2 must stay importable on Python 2.7, so they describe their types
# in comments rather than in annotations. Most of their functions are not
# described yet (see issue #39): checking the bodies of those would report
# the types it cannot infer, not actual problems.
check_untyped_defs = false
disallow_untyped_defs = false