File: pyproject.toml

package info (click to toggle)
mercurial 7.2-3
  • links: PTS, VCS
  • area: main
  • in suites:
  • size: 46,128 kB
  • sloc: python: 214,491; ansic: 56,606; tcl: 3,715; sh: 1,879; lisp: 1,483; cpp: 864; makefile: 792; javascript: 649; xml: 36
file content (152 lines) | stat: -rw-r--r-- 4,517 bytes parent folder | download
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
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
[build-system]
requires = [
    "setuptools>=77",
    "setuptools-scm>=8.1.0",
    ]
build-backend = "setuptools.build_meta"


[project]
name = "mercurial"
authors = [
    {name = "Olivia Mackall and many others", email = "mercurial@mercurial-scm.org"},
]
description="Fast scalable distributed SCM (revision control, version control) system"
readme = "README.rst"
requires-python = ">=3.9"
license = "GPL-2.0-or-later"
license-files = ["COPYING"]
classifiers=[
    "Development Status :: 6 - Mature",
    "Environment :: Console",
    "Intended Audience :: Developers",
    "Intended Audience :: System Administrators",
    "Natural Language :: Danish",
    "Natural Language :: English",
    "Natural Language :: German",
    "Natural Language :: Italian",
    "Natural Language :: Japanese",
    "Natural Language :: Portuguese (Brazilian)",
    "Operating System :: Microsoft :: Windows",
    "Operating System :: OS Independent",
    "Operating System :: POSIX",
    "Programming Language :: C",
    "Programming Language :: Python",
    "Topic :: Software Development :: Version Control",
]
dynamic = ["version"]

[project.urls]
home = "https://mercurial-scm.org/"
download_url = "https://mercurial-scm.org/release/"

[project.optional-dependencies]
# This is currently only useful for --pure install.
# However it is is really handy there as it let a pure install access zstd
# compressed repositories. And such repository have been the default format for
# years.
zstd = [
    "zstandard"
]


[tool.setuptools]
# no automatic include
include-package-data = false


[tool.uv]
# Rebuild for each `make local` call and avoid wrong caching
#
# See https://github.com/astral-sh/uv/issues/2152
reinstall-package = ["mercurial"]


[tool.black]
line-length = 80
include = '\.py$'
extend-exclude = '''
build/
| wheelhouse/
| dist/
| packages/
| __pycache__/
| \.pytype/
| \.hg/
| \.mypy_cache/
| \.venv/
| mercurial/locale/
| mercurial/thirdparty/
'''
required-version = "23"
skip-string-normalization = true
quiet = true


[tool.cibuildwheel]
build = ["cp39-*", "cp310-*", "cp311-*", "cp312-*", "cp313-*", "cp314-*"]

# Don't stockpile wheels in the pip cache directory when they get built, since
# there's no mechanism to age old ones out.
build-frontend = { name = "pip", args = ["--no-cache-dir"] }

# Build translations; requires msgfmt.exe on PATH.
environment = { MERCURIAL_SETUP_FORCE_TRANSLATIONS="1" }

# Prevent building pypy wheels, which is broken.
skip = "pp*"

# Tests are run separately, but some values like "*-win_arm64" avoid a warning
# on amd64 Windows about not being able to test without an arm64 runner.  That's
# likely to be an issue elsewhere too, like testing amd64 on an arm64 mac.
test-skip = "*"


[tool.cibuildwheel.macos]
# See https://cibuildwheel.pypa.io/en/stable/faq/#what-to-provide for reasons
# to also build "x86_64".  Further discussion here:
#    https://github.com/pypa/cibuildwheel/issues/1333
#    https://github.com/python-cffi/cffi/issues/133
#
# NOTE: this is overridden in heptapod-ci.yml because the current CI system
# doesn't support arm64 builds.
archs = ["universal2"]


[[tool.cibuildwheel.overrides]]
select = "*-macosx_*"

# The minimum value is adjusted automatically when building for later Pythons
#
# Python Version           Minimum macOS
# --------------------------------------
# Intel CPython 3.6-3.11   10.9
# Intel CPython 3.12+      10.13
# AS    CPython or PyPy    11
inherit.environment = "append"
environment = { MACOSX_DEPLOYMENT_TARGET="10.9" }


[tool.cibuildwheel.windows]
archs = ["x86", "AMD64", "ARM64"]


[tool.setuptools_scm]
# this use `<last-tag>.post1.dev<distance>
#
# To restore the format introduced for 6.9 nightly build we would need to be
# able to customise the `post1` section to avoid flip-flopping update between
# unrelated branches. It would need to be changed to:
# - post0: for the "stable" branch
# - post1: for the "default" branch
# - post2: for any other branch
version_scheme = "no-guess-dev"

# The "node-and-timestamp" option seems better but we cannot use it as it make
# `pip install` freaks out with the following warning resulting in an error in
# the end::
#
#   WARNING: Built wheel for mercurial is invalid: Wheel has unexpected file name: expected 'x.y.z.post1.devXXX+hdeadbeef.d20250218231130', got 'x.y.z.post1.devXXX+hdeadbeef.d20250218231133'
#   Failed to build mercurial
#   ERROR: Failed to build installable wheels for some pyproject.toml based projects (mercurial)
local_scheme = "node-and-date"