summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--setup.cfg43
-rw-r--r--setup.py103
2 files changed, 45 insertions, 101 deletions
diff --git a/setup.cfg b/setup.cfg
index f3ddfa4..a9127c0 100644
--- a/setup.cfg
+++ b/setup.cfg
@@ -1,3 +1,46 @@
+[metadata]
+name = sqlparse
+version = attr: sqlparse.__version__
+url = https://github.com/andialbrecht/sqlparse
+author = Andi Albrecht
+author_email = albrecht.andi@gmail.com
+description = A non-validating SQL parser.
+long_description = file: README.rst
+license = BSD-3-Clause
+classifiers =
+ Development Status :: 5 - Production/Stable
+ Intended Audience :: Developers
+ License :: OSI Approved :: BSD License
+ Operating System :: OS Independent
+ Programming Language :: Python
+ Programming Language :: Python :: 3
+ Programming Language :: Python :: 3 :: Only
+ Programming Language :: Python :: 3.5
+ Programming Language :: Python :: 3.6
+ Programming Language :: Python :: 3.7
+ Programming Language :: Python :: 3.8
+ Programming Language :: Python :: 3.9
+ Programming Language :: Python :: Implementation :: CPython
+ Programming Language :: Python :: Implementation :: PyPy
+ Topic :: Database
+ Topic :: Software Development
+project_urls =
+ Documentation = https://sqlparse.readthedocs.io/
+ Release Notes = https://sqlparse.readthedocs.io/en/latest/changes/
+ Source = https://github.com/andialbrecht/sqlparse
+ Tracker = https://github.com/andialbrecht/sqlparse/issues
+
+[options]
+python_requires = >=3.5
+packages = find:
+
+[options.packages.find]
+exclude = tests
+
+[options.entry_points]
+console_scripts =
+ sqlformat = sqlparse.__main__:main
+
[tool:pytest]
xfail_strict = True
diff --git a/setup.py b/setup.py
index 58ffdea..135f981 100644
--- a/setup.py
+++ b/setup.py
@@ -6,106 +6,7 @@
# This setup script is part of python-sqlparse and is released under
# the BSD License: https://opensource.org/licenses/BSD-3-Clause
-import re
+from setuptools import setup
-from setuptools import setup, find_packages
-
-def get_version():
- """Parse __init__.py for version number instead of importing the file."""
- VERSIONFILE = 'sqlparse/__init__.py'
- VSRE = r'^__version__ = [\'"]([^\'"]*)[\'"]'
- with open(VERSIONFILE) as f:
- verstrline = f.read()
- mo = re.search(VSRE, verstrline, re.M)
- if mo:
- return mo.group(1)
- raise RuntimeError('Unable to find version in {fn}'.format(fn=VERSIONFILE))
-
-
-LONG_DESCRIPTION = """
-``sqlparse`` is a non-validating SQL parser module.
-It provides support for parsing, splitting and formatting SQL statements.
-
-Visit the `project page <https://github.com/andialbrecht/sqlparse>`_ for
-additional information and documentation.
-
-**Example Usage**
-
-
-Splitting SQL statements::
-
- >>> import sqlparse
- >>> sqlparse.split('select * from foo; select * from bar;')
- [u'select * from foo; ', u'select * from bar;']
-
-
-Formatting statements::
-
- >>> sql = 'select * from foo where id in (select id from bar);'
- >>> print(sqlparse.format(sql, reindent=True, keyword_case='upper'))
- SELECT *
- FROM foo
- WHERE id IN
- (SELECT id
- FROM bar);
-
-
-Parsing::
-
- >>> sql = 'select * from someschema.mytable where id = 1'
- >>> res = sqlparse.parse(sql)
- >>> res
- (<Statement 'select...' at 0x9ad08ec>,)
- >>> stmt = res[0]
- >>> str(stmt) # converting it back to unicode
- 'select * from someschema.mytable where id = 1'
- >>> # This is how the internal representation looks like:
- >>> stmt.tokens
- (<DML 'select' at 0x9b63c34>,
- <Whitespace ' ' at 0x9b63e8c>,
- <Operator '*' at 0x9b63e64>,
- <Whitespace ' ' at 0x9b63c5c>,
- <Keyword 'from' at 0x9b63c84>,
- <Whitespace ' ' at 0x9b63cd4>,
- <Identifier 'somes...' at 0x9b5c62c>,
- <Whitespace ' ' at 0x9b63f04>,
- <Where 'where ...' at 0x9b5caac>)
-
-"""
-
-setup(
- name='sqlparse',
- version=get_version(),
- author='Andi Albrecht',
- author_email='albrecht.andi@gmail.com',
- url='https://github.com/andialbrecht/sqlparse',
- description='Non-validating SQL parser',
- long_description=LONG_DESCRIPTION,
- license='BSD',
- python_requires=">=3.5",
- classifiers=[
- 'Development Status :: 5 - Production/Stable',
- 'Intended Audience :: Developers',
- 'License :: OSI Approved :: BSD License',
- 'Operating System :: OS Independent',
- 'Programming Language :: Python',
- 'Programming Language :: Python :: 3',
- 'Programming Language :: Python :: 3 :: Only',
- 'Programming Language :: Python :: 3.5',
- 'Programming Language :: Python :: 3.6',
- 'Programming Language :: Python :: 3.7',
- 'Programming Language :: Python :: 3.8',
- 'Programming Language :: Python :: 3.9',
- 'Programming Language :: Python :: Implementation :: CPython',
- 'Programming Language :: Python :: Implementation :: PyPy',
- 'Topic :: Database',
- 'Topic :: Software Development',
- ],
- packages=find_packages(exclude=('tests',)),
- entry_points={
- 'console_scripts': [
- 'sqlformat = sqlparse.__main__:main',
- ]
- },
-)
+setup()