mirror of
https://github.com/samsonjs/vdirsyncer.git
synced 2026-03-25 08:55:50 +00:00
The current [experimental] implementation is stale, and hasn't been maintained for a long time. Regrettably, not even its tests still work, and there nobody interested in maintaining it. If anyone is interested in re-implementing this in a third-party package, I can consider adding support for pluggable storages.
80 lines
2.4 KiB
Python
80 lines
2.4 KiB
Python
"""
|
|
Vdirsyncer synchronizes calendars and contacts.
|
|
|
|
Please refer to https://vdirsyncer.pimutils.org/en/stable/packaging.html for
|
|
how to package vdirsyncer.
|
|
"""
|
|
from setuptools import Command
|
|
from setuptools import find_packages
|
|
from setuptools import setup
|
|
|
|
requirements = [
|
|
# https://github.com/mitsuhiko/click/issues/200
|
|
"click>=5.0,<9.0",
|
|
"click-log>=0.3.0, <0.4.0",
|
|
"requests >=2.20.0",
|
|
# https://github.com/sigmavirus24/requests-toolbelt/pull/28
|
|
# And https://github.com/sigmavirus24/requests-toolbelt/issues/54
|
|
"requests_toolbelt >=0.4.0",
|
|
# https://github.com/untitaker/python-atomicwrites/commit/4d12f23227b6a944ab1d99c507a69fdbc7c9ed6d # noqa
|
|
"atomicwrites>=0.1.7",
|
|
"aiohttp>=3.7.1,<4.0.0",
|
|
"aiostream>=0.4.3,<0.5.0",
|
|
]
|
|
|
|
|
|
class PrintRequirements(Command):
|
|
description = "Prints minimal requirements"
|
|
user_options: list = []
|
|
|
|
def initialize_options(self):
|
|
pass
|
|
|
|
def finalize_options(self):
|
|
pass
|
|
|
|
def run(self):
|
|
for requirement in requirements:
|
|
print(requirement.replace(">", "=").replace(" ", ""))
|
|
|
|
|
|
with open("README.rst") as f:
|
|
long_description = f.read()
|
|
|
|
|
|
setup(
|
|
# General metadata
|
|
name="vdirsyncer",
|
|
author="Markus Unterwaditzer",
|
|
author_email="markus@unterwaditzer.net",
|
|
url="https://github.com/pimutils/vdirsyncer",
|
|
description="Synchronize calendars and contacts",
|
|
license="BSD",
|
|
long_description=long_description,
|
|
# Runtime dependencies
|
|
install_requires=requirements,
|
|
# Optional dependencies
|
|
extras_require={
|
|
"google": ["aiohttp-oauthlib"],
|
|
},
|
|
# Build dependencies
|
|
setup_requires=["setuptools_scm != 1.12.0"],
|
|
# Other
|
|
packages=find_packages(exclude=["tests.*", "tests"]),
|
|
include_package_data=True,
|
|
cmdclass={"minimal_requirements": PrintRequirements},
|
|
use_scm_version={"write_to": "vdirsyncer/version.py"},
|
|
entry_points={"console_scripts": ["vdirsyncer = vdirsyncer.cli:main"]},
|
|
classifiers=[
|
|
"Development Status :: 4 - Beta",
|
|
"Environment :: Console",
|
|
"License :: OSI Approved :: BSD License",
|
|
"Operating System :: POSIX",
|
|
"Programming Language :: Python :: 3",
|
|
"Programming Language :: Python :: 3.7",
|
|
"Programming Language :: Python :: 3.8",
|
|
"Programming Language :: Python :: 3.9",
|
|
"Topic :: Internet",
|
|
"Topic :: Utilities",
|
|
],
|
|
)
|