import os import re import sys from setuptools import find_packages from setuptools import setup from setuptools.command.test import test as TestCommand v = open(os.path.join(os.path.dirname(__file__), "mako", "__init__.py")) VERSION = ( re.compile(r".*__version__ = [\"'](.*?)[\"']", re.S) .match(v.read()) .group(1) ) v.close() readme = open(os.path.join(os.path.dirname(__file__), "README.rst")).read() if sys.version_info < (2, 6): raise Exception("Mako requires Python 2.6 or higher.") markupsafe_installs = ( sys.version_info >= (2, 6) and sys.version_info < (3, 0) ) or sys.version_info >= (3, 3) install_requires = [] if markupsafe_installs: install_requires.append("MarkupSafe>=0.9.2") try: import argparse # noqa except ImportError: install_requires.append("argparse") class PyTest(TestCommand): user_options = [("pytest-args=", "a", "Arguments to pass to py.test")] def initialize_options(self): TestCommand.initialize_options(self) self.pytest_args = [] def finalize_options(self): TestCommand.finalize_options(self) self.test_args = [] self.test_suite = True def run_tests(self): # import here, cause outside the eggs aren't loaded import pytest errno = pytest.main(self.pytest_args) sys.exit(errno) setup( name="Mako", version=VERSION, description="A super-fast templating language that borrows the \ best ideas from the existing templating languages.", long_description=readme, classifiers=[ "Development Status :: 5 - Production/Stable", "License :: OSI Approved :: MIT License", "Environment :: Web Environment", "Intended Audience :: Developers", "Programming Language :: Python", "Programming Language :: Python :: 3", "Programming Language :: Python :: Implementation :: CPython", "Programming Language :: Python :: Implementation :: PyPy", "Topic :: Internet :: WWW/HTTP :: Dynamic Content", ], keywords="templates", author="Mike Bayer", author_email="mike@zzzcomputing.com", url="https://www.makotemplates.org/", project_urls={ "Documentation": "https://docs.makotemplates.org", "Issue Tracker": "https://github.com/sqlalchemy/mako" }, license="MIT", packages=find_packages(".", exclude=["examples*", "test*"]), tests_require=["pytest", "mock"], cmdclass={"test": PyTest}, zip_safe=False, python_requires=">=2.6", install_requires=install_requires, extras_require={}, entry_points=""" [python.templating.engines] mako = mako.ext.turbogears:TGPlugin [pygments.lexers] mako = mako.ext.pygmentplugin:MakoLexer html+mako = mako.ext.pygmentplugin:MakoHtmlLexer xml+mako = mako.ext.pygmentplugin:MakoXmlLexer js+mako = mako.ext.pygmentplugin:MakoJavascriptLexer css+mako = mako.ext.pygmentplugin:MakoCssLexer [babel.extractors] mako = mako.ext.babelplugin:extract [lingua.extractors] mako = mako.ext.linguaplugin:LinguaMakoExtractor [console_scripts] mako-render = mako.cmd:cmdline """, )