Skip to content

Commit d896123

Browse files
committed
Remove setup.py in favour of pyproject.toml
Implements: #1164
1 parent 646e0b4 commit d896123

File tree

3 files changed

+49
-77
lines changed

3 files changed

+49
-77
lines changed

Makefile

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -52,7 +52,8 @@ install-dev:
5252
pip install -e .
5353
pip install -Ur test-requirements.txt -r docs-requirements.txt pre-commit
5454
set -xe && if [ "$(REQUIREMENTS)" = "minimal" ]; then \
55-
pip install -U --force-reinstall $$(python setup.py --quiet minimal_requirements); \
55+
pip install pyproject-dependencies && \
56+
pip install -U --force-reinstall $$(pyproject-dependencies . | sed 's/>/=/'); \
5657
fi
5758

5859
.PHONY: docs

pyproject.toml

Lines changed: 47 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,51 @@
1+
# Vdirsyncer synchronizes calendars and contacts.
2+
#
3+
# Please refer to https://vdirsyncer.pimutils.org/en/stable/packaging.html for
4+
# how to package vdirsyncer.
5+
16
[build-system]
27
requires = ["setuptools>=64", "setuptools_scm>=8"]
38
build-backend = "setuptools.build_meta"
49

10+
[project]
11+
name = "vdirsyncer"
12+
authors = [
13+
{name = "Markus Unterwaditzer", email = "[email protected]"},
14+
]
15+
description = "Synchronize calendars and contacts"
16+
readme = "README.rst"
17+
requires-python = ">=3.8"
18+
keywords = ["todo", "task", "icalendar", "cli"]
19+
license = {text = "ISC"}
20+
classifiers = [
21+
"Development Status :: 4 - Beta",
22+
"Environment :: Console",
23+
"License :: OSI Approved :: BSD License",
24+
"Operating System :: POSIX",
25+
"Programming Language :: Python :: 3",
26+
"Programming Language :: Python :: 3.10",
27+
"Programming Language :: Python :: 3.11",
28+
"Programming Language :: Python :: 3.7",
29+
"Programming Language :: Python :: 3.8",
30+
"Programming Language :: Python :: 3.9",
31+
"Topic :: Internet",
32+
"Topic :: Utilities",
33+
]
34+
dependencies = [
35+
"click>=5.0,<9.0",
36+
"click-log>=0.3.0,<0.5.0",
37+
"requests>=2.20.0",
38+
"aiohttp>=3.8.2,<4.0.0",
39+
"aiostream>=0.4.3,<0.5.0",
40+
]
41+
dynamic = ["version"]
42+
43+
[project.optional-dependencies]
44+
google = ["aiohttp-oauthlib"]
45+
46+
[project.scripts]
47+
vdirsyncer = "vdirsyncer.cli:app"
48+
549
[tool.ruff]
650
select = [
751
"E",
@@ -39,6 +83,9 @@ exclude_lines = [
3983
"if TYPE_CHECKING:",
4084
]
4185

86+
[tool.setuptools]
87+
packages = ["vdirsyncer"]
88+
4289
[tool.setuptools_scm]
4390
write_to = "vdirsyncer/version.py"
4491
version_scheme = "no-guess-dev"

setup.py

Lines changed: 0 additions & 76 deletions
This file was deleted.

0 commit comments

Comments
 (0)