-
Notifications
You must be signed in to change notification settings - Fork 11
Expand file tree
/
Copy pathpyproject.toml
More file actions
59 lines (55 loc) · 2.52 KB
/
Copy pathpyproject.toml
File metadata and controls
59 lines (55 loc) · 2.52 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
[project]
name = "mergify_cli"
# `version` is a placeholder. The release workflow stamps it from
# the git tag (`$GITHUB_REF`) right before maturin runs — keeps the
# git tag as the source of truth for PyPI versioning, the same way
# hatch-vcs did pre-port. Cargo.toml stays at "0.0.0" because Cargo
# SemVer rejects the 4-component calver format the project uses
# (`2026.4.23.1`); `mergify --version` from the Rust binary will
# report the placeholder until versioning becomes Rust-native end-
# to-end.
version = "0.0.0"
description = "Mergify CLI is a tool that automates the creation and management of stacked pull requests on GitHub and handles CI results upload"
authors = [{ name = "Mergify Team", email = "hello@mergify.com" }]
# No runtime Python dependencies — the wheel ships a single Rust
# binary. `requires-python` is kept for the wheel's metadata so
# `pip install` resolves a recent-enough interpreter to actually
# run the install scripts; nothing in the binary needs Python at
# runtime.
requires-python = ">=3.10"
readme = "README.md"
license = "Apache-2.0"
keywords = ["git", "github", "pull-request", "stacked-pr", "ci", "merge"]
classifiers = [
"Development Status :: 5 - Production/Stable",
"Intended Audience :: Developers",
"License :: OSI Approved :: Apache Software License",
"Programming Language :: Rust",
"Topic :: Software Development :: Version Control :: Git",
]
# Empty: the binary has no Python runtime deps.
dependencies = []
[project.urls]
Homepage = "https://mergify.com"
Documentation = "https://docs.mergify.com"
Repository = "https://github.com/Mergifyio/mergify-cli"
Issues = "https://github.com/Mergifyio/mergify-cli/issues"
Changelog = "https://github.com/Mergifyio/mergify-cli/releases"
[build-system]
requires = ["maturin>=1.7,<2.0"]
build-backend = "maturin"
[tool.maturin]
# The wheel ships only the Rust binary `mergify` (built from
# `crates/mergify-cli`). The previous incarnation also bundled a
# Python `mergify_cli/` package for un-ported subcommands; every
# command is now native, so the wheel is binary-only.
bindings = "bin"
manifest-path = "crates/mergify-cli/Cargo.toml"
strip = true
# Bundle LICENSE in both the wheel and sdist. PEP 639 metadata
# (auto-derived by maturin from `license = "Apache-2.0"`) emits a
# `License-File: LICENSE` field, and PyPI's upload validator rejects
# the artifact with `400 License-File LICENSE does not exist in
# distribution file` if the file isn't actually bundled. Listing it
# here keeps wheel + sdist in sync with the metadata.
include = ["LICENSE"]