summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlex Grönholm <alex.gronholm@nextday.fi>2018-05-24 09:31:32 +0300
committerAlex Grönholm <alex.gronholm@nextday.fi>2019-07-19 14:58:36 +0300
commit1dd7d4838e537bd4b5297c1d486394763f7d3647 (patch)
treead7e28857f4d0aea9641b1a3f0145fa69f9ea5d3
parent0c28bbc2fb90e45f7ac1544aa72b717659cc4fcd (diff)
downloadapscheduler-1dd7d4838e537bd4b5297c1d486394763f7d3647.tar.gz
Modernized the packaging configuration
-rw-r--r--pyproject.toml2
-rw-r--r--setup.cfg71
-rw-r--r--setup.py85
3 files changed, 71 insertions, 87 deletions
diff --git a/pyproject.toml b/pyproject.toml
new file mode 100644
index 0000000..95b48ac
--- /dev/null
+++ b/pyproject.toml
@@ -0,0 +1,2 @@
+[build-system]
+requires = ["setuptools >= 36.2.7", "wheel", "setuptools_scm >= 1.7.0"]
diff --git a/setup.cfg b/setup.cfg
index c2d8766..67f4063 100644
--- a/setup.cfg
+++ b/setup.cfg
@@ -1,9 +1,69 @@
-[build_sphinx]
-source-dir = docs
-build-dir = docs/_build
+[metadata]
+name = APScheduler
+description = In-process task scheduler with Cron-like capabilities
+long_description = file: README.rst
+author = Alex Grönholm
+author_email = alex.gronholm@nextday.fi
+url = https://github.com/agronholm/apscheduler
+classifiers =
+ Development Status :: 5 - Production/Stable
+ Intended Audience :: Developers
+ License :: OSI Approved :: MIT License
+ Programming Language :: Python
+ Programming Language :: Python :: 3 :: Only
+ Programming Language :: Python :: 3.5
+ Programming Language :: Python :: 3.6
+ Programming Language :: Python :: 3.7
+keywords = scheduling cron
+license = MIT
-[upload_docs]
-upload-dir = docs/_build/html
+[options]
+packages = find:
+python_requires = >= 3.5
+install_requires =
+ setuptools >= 0.7
+ pytz
+ tzlocal >= 1.2
+
+[options.extras_require]
+gevent = gevent
+mongodb = pymongo >= 2.8
+redis = redis
+rethinkdb = rethinkdb >= 2.4.0
+sqlalchemy = sqlalchemy >= 0.8
+tornado = tornado >= 4.3
+twisted = twisted
+zookeeper = kazoo
+test =
+ pytest
+ pytest-cov
+ pytest-tornado5
+doc =
+ sphinx
+ sphinx-rtd-theme
+
+[options.entry_points]
+apscheduler.triggers =
+ date = apscheduler.triggers.date:DateTrigger
+ interval = apscheduler.triggers.interval:IntervalTrigger
+ cron = apscheduler.triggers.cron:CronTrigger
+ and = apscheduler.triggers.combining:AndTrigger
+ or = apscheduler.triggers.combining:OrTrigger
+apscheduler.executors =
+ debug = apscheduler.executors.debug:DebugExecutor
+ threadpool = apscheduler.executors.pool:ThreadPoolExecutor
+ processpool = apscheduler.executors.pool:ProcessPoolExecutor
+ asyncio = apscheduler.executors.asyncio:AsyncIOExecutor
+ gevent = apscheduler.executors.gevent:GeventExecutor [gevent]
+ tornado = apscheduler.executors.tornado:TornadoExecutor [tornado]
+ twisted = apscheduler.executors.twisted:TwistedExecutor [twisted]
+apscheduler.jobstores =
+ memory = apscheduler.jobstores.memory:MemoryJobStore
+ sqlalchemy = apscheduler.jobstores.sqlalchemy:SQLAlchemyJobStore [sqlalchemy]
+ mongodb = apscheduler.jobstores.mongodb:MongoDBJobStore [mongodb]
+ rethinkdb = apscheduler.jobstores.rethinkdb:RethinkDBJobStore [rethinkdb]
+ redis = apscheduler.jobstores.redis:RedisJobStore [redis]
+ zookeeper = apscheduler.jobstores.zookeeper:ZooKeeperJobStore [zookeeper]
[tool:pytest]
addopts = -rsx --cov --tb=short
@@ -17,4 +77,3 @@ show_missing = true
[flake8]
max-line-length = 99
-exclude = .tox,build,docs
diff --git a/setup.py b/setup.py
index e8e0f2e..b86efb6 100644
--- a/setup.py
+++ b/setup.py
@@ -1,89 +1,12 @@
-import os.path
-
-from setuptools import setup, find_packages
-
-
-here = os.path.dirname(__file__)
-readme_path = os.path.join(here, 'README.rst')
-readme = open(readme_path).read()
+from setuptools import setup
setup(
- name='APScheduler',
use_scm_version={
'version_scheme': 'post-release',
'local_scheme': 'dirty-tag'
},
- description='In-process task scheduler with Cron-like capabilities',
- long_description=readme,
- author='Alex Grönholm',
- author_email='alex.gronholm@nextday.fi',
- url='https://github.com/agronholm/apscheduler',
- classifiers=[
- 'Development Status :: 5 - Production/Stable',
- 'Intended Audience :: Developers',
- 'License :: OSI Approved :: MIT License',
- 'Programming Language :: Python',
- 'Programming Language :: Python :: 3 :: Only',
- 'Programming Language :: Python :: 3.5',
- 'Programming Language :: Python :: 3.6',
- 'Programming Language :: Python :: 3.7'
- ],
- keywords='scheduling cron',
- license='MIT',
- packages=find_packages(exclude=['tests']),
- python_requires='>= 3.5',
setup_requires=[
- 'setuptools_scm'
- ],
- install_requires=[
- 'setuptools >= 0.7',
- 'pytz',
- 'tzlocal >= 1.2',
- ],
- extras_require={
- 'gevent': ['gevent'],
- 'mongodb': ['pymongo >= 2.8'],
- 'redis': ['redis >= 3.0'],
- 'rethinkdb': ['rethinkdb >= 2.4.0'],
- 'sqlalchemy': ['sqlalchemy >= 0.8'],
- 'tornado': ['tornado >= 4.3'],
- 'twisted': ['twisted'],
- 'zookeeper': ['kazoo'],
- 'testing': [
- 'pytest',
- 'pytest-cov',
- 'pytest-tornado5'
- ],
- 'doc': [
- 'sphinx',
- 'sphinx-rtd-theme',
- ],
- },
- zip_safe=False,
- entry_points={
- 'apscheduler.triggers': [
- 'date = apscheduler.triggers.date:DateTrigger',
- 'interval = apscheduler.triggers.interval:IntervalTrigger',
- 'cron = apscheduler.triggers.cron:CronTrigger',
- 'and = apscheduler.triggers.combining:AndTrigger',
- 'or = apscheduler.triggers.combining:OrTrigger'
- ],
- 'apscheduler.executors': [
- 'debug = apscheduler.executors.debug:DebugExecutor',
- 'threadpool = apscheduler.executors.pool:ThreadPoolExecutor',
- 'processpool = apscheduler.executors.pool:ProcessPoolExecutor',
- 'asyncio = apscheduler.executors.asyncio:AsyncIOExecutor',
- 'gevent = apscheduler.executors.gevent:GeventExecutor [gevent]',
- 'tornado = apscheduler.executors.tornado:TornadoExecutor [tornado]',
- 'twisted = apscheduler.executors.twisted:TwistedExecutor [twisted]'
- ],
- 'apscheduler.jobstores': [
- 'memory = apscheduler.jobstores.memory:MemoryJobStore',
- 'sqlalchemy = apscheduler.jobstores.sqlalchemy:SQLAlchemyJobStore [sqlalchemy]',
- 'mongodb = apscheduler.jobstores.mongodb:MongoDBJobStore [mongodb]',
- 'rethinkdb = apscheduler.jobstores.rethinkdb:RethinkDBJobStore [rethinkdb]',
- 'redis = apscheduler.jobstores.redis:RedisJobStore [redis]',
- 'zookeeper = apscheduler.jobstores.zookeeper:ZooKeeperJobStore [zookeeper]'
- ]
- }
+ 'setuptools >= 36.2.7',
+ 'setuptools_scm >= 1.7.0'
+ ]
)