11[build-system ]
2- requires = [" setuptools" ]
3- build-backend = " setuptools.build_meta"
2+ requires = [" setuptools" , " wheel" ]
3+ build-backend = " setuptools.build_meta"
4+
5+ [project ]
6+ name = " pynvim"
7+ version = " 0.6.1.dev0"
8+ description = " Python client for Neovim"
9+ readme = " README.md"
10+ license = { text = " Apache-2.0" }
11+ authors = [
12+ { name = " Neovim Authors" }
13+ ]
14+ requires-python = " >=3.7"
15+ dependencies = [
16+ " msgpack>=1.0.0" ,
17+ " greenlet>=3.0; python_implementation != 'PyPy'" ,
18+ " typing-extensions>=4.5; python_version < '3.12'" ,
19+ ]
20+
21+ classifiers = [
22+ " Development Status :: 5 - Production/Stable" ,
23+ " Programming Language :: Python :: 3" ,
24+ " Programming Language :: Python :: 3.7" ,
25+ " Programming Language :: Python :: 3.8" ,
26+ " Programming Language :: Python :: 3.9" ,
27+ " Programming Language :: Python :: 3.10" ,
28+ " Programming Language :: Python :: 3.11" ,
29+ " Programming Language :: Python :: 3.12" ,
30+ " License :: OSI Approved :: Apache Software License" ,
31+ " Operating System :: OS Independent" ,
32+ ]
33+
34+ [project .optional-dependencies ]
35+ test = [
36+ " pytest" ,
37+ " pytest-timeout" ,
38+ ]
39+ docs = [
40+ " sphinx" ,
41+ " sphinx-rtd-theme" ,
42+ ]
43+ dev = [
44+ " bump-my-version" ,
45+ ]
46+
47+ [project .scripts ]
48+ pynvim-python = " pynvim.python:main"
49+
50+ [project .urls ]
51+ Homepage = " https://github.com/neovim/pynvim"
52+ Download = " https://github.com/neovim/pynvim/archive/refs/tags/0.6.1.dev0.tar.gz"
53+ Documentation = " https://pynvim.readthedocs.io"
54+
55+ # Configuration for bumpversion / bump-my-version
56+ [tool .bumpversion ]
57+ current_version = " 0.6.1.dev0"
58+ commit = true
59+ tag = true
60+
61+ # Regex that captures major/minor/patch/prerelease (prerelease optional)
62+ parse = " (?P<major>\\ d+)\\ .(?P<minor>\\ d+)\\ .(?P<patch>\\ d+)(?:\\ .(?P<prerelease>[a-zA-Z]+\\ d*))?"
63+ serialize = [
64+ " {major}.{minor}.{patch}.{prerelease}" ,
65+ " {major}.{minor}.{patch}"
66+ ]
67+
68+ # Update the version in pyproject.toml
69+ [[tool .bumpversion .files ]]
70+ filename = " pyproject.toml"
71+ search = ' version = "{current_version}"'
72+ replace = ' version = "{new_version}"'
73+
74+ # Update the version in pynvim/_version.py (non-hardcoded)
75+ [[tool .bumpversion .files ]]
76+ filename = " pynvim/_version.py"
77+ search = ' VERSION = SimpleNamespace(major={current_major}, minor={current_minor}, patch={current_patch}, prerelease="{current_prerelease}")'
78+ replace = ' VERSION = SimpleNamespace(major={new_major}, minor={new_minor}, patch={new_patch}, prerelease="{new_prerelease}")'
79+
80+ # Update the download URL in pyproject.toml
81+ [[tool .bumpversion .files ]]
82+ filename = " pyproject.toml"
83+ search = ' Download = "https://github.com/neovim/pynvim/archive/refs/tags/{current_version}.tar.gz"'
84+ replace = ' Download = "https://github.com/neovim/pynvim/archive/refs/tags/{new_version}.tar.gz"'
0 commit comments