diff --git a/CHANGELOG.md b/CHANGELOG.md index 31b27626..bd7e2452 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -20,7 +20,8 @@ Features: - `[utils.shell]` Support `suppress` meta option on `Prompt` to suppress user input. - [Issue #621](https://github.com/datafolklabs/cement/issues/621) - +- `[ext]` Use `extras_require` for optional extensions + - [Issue #604](https://github.com/datafolklabs/cement/issues/604) Refactoring: diff --git a/setup.py b/setup.py index 21bae949..29682ffe 100644 --- a/setup.py +++ b/setup.py @@ -31,8 +31,31 @@ setup(name='cement', include_package_data=True, zip_safe=False, test_suite='nose.collector', - entry_points=""" - [console_scripts] - cement = cement.cli.main:main - """, + entry_points = { + 'console_scripts' : [ + 'cement = cement.cli.main:main', + ], + }, + extras_require = { + 'ext.alarm': [], + 'ext.argparse': [], + 'ext.colorlog': ['colorlog'], + 'ext.configparser': [], + 'ext.daemon': [], + 'ext.dummy': [], + 'ext.generate': [], + 'ext.jinja2': ['jinja2'], + 'ext.json': [], + 'ext.logging': [], + 'ext.memcached': ['pylibmc'], + 'ext.mustache': ['pystache'], + 'ext.plugin': [], + 'ext.print': [], + 'ext.redis': ['redis'], + 'ext.scrub': [], + 'ext.smtp': [], + 'ext.tabulate': ['tabulate'], + 'ext.watchdog': ['watchdog'], + 'ext.yaml': ['pyYaml'], + } )