diff --git a/MANIFEST.in b/MANIFEST.in deleted file mode 100644 index 86c7026..0000000 --- a/MANIFEST.in +++ /dev/null @@ -1 +0,0 @@ -include COPYING README.md diff --git a/pyproject.toml b/pyproject.toml new file mode 100644 index 0000000..7a1c0e3 --- /dev/null +++ b/pyproject.toml @@ -0,0 +1,52 @@ +[build-system] +requires = ["setuptools>=61.2", "wheel", "setuptools_scm[toml]>=3.4.3"] +build-backend = "setuptools.build_meta" + +[project] +name = "exrex" +authors = [{name = "Adam Tauber", email = "asciimoo@gmail.com"}] +license = {text = "AGPL-3.0-or-later"} +description = "Irregular methods for regular expressions" +readme = "README.md" +keywords = [ + "regexp", + "generators", + "string", + "generation", + "regex", + "simplification", +] +classifiers = [ + "Development Status :: 4 - Beta", + "Topic :: Utilities", + "Environment :: Console", + "License :: OSI Approved :: GNU Affero General Public License v3", + "Programming Language :: Python", + "Programming Language :: Python :: 2", + "Programming Language :: Python :: 2.6", + "Programming Language :: Python :: 2.7", + "Programming Language :: Python :: 3", + "Programming Language :: Python :: 3.3", + "Programming Language :: Python :: 3.4", + "Programming Language :: Python :: 3.5", +] +dependencies = [] +dynamic = ["version"] + +[project.urls] +Homepage = "https://github.com/asciimoo/exrex" +Download = "https://github.com/asciimoo/exrex/tarball/master" + +[project.scripts] +exrex = "exrex:__main__" + +[tool.setuptools] +package-dir = {"" = "src"} +py-modules = ["exrex"] +include-package-data = true + +[tool.setuptools.packages.find] +exclude = ["tests"] +namespaces = false + +[tool.setuptools_scm] diff --git a/setup.py b/setup.py deleted file mode 100644 index 475a86f..0000000 --- a/setup.py +++ /dev/null @@ -1,126 +0,0 @@ -# -*- coding: utf-8 -*- -import io -import os -import sys -from shutil import rmtree - -from setuptools import find_packages, setup, Command - -# Package meta-data. -NAME = 'exrex' -DESCRIPTION = 'Irregular methods for regular expressions' -URL = 'https://github.com/asciimoo/exrex' -EMAIL = 'asciimoo@gmail.com' -AUTHOR = 'Adam Tauber' -VERSION = '0.10.6' - -# What packages are required for this module to be executed? -REQUIRED = [ - # nothing in-here -] - -# What packages are optional? -EXTRAS = { - # nothing in-here -} - -# ------------------------------------------------ - -here = os.path.abspath(os.path.dirname(__file__)) - -# Import the README and use it as the long-description. -# Note: this will only work if 'README.md' is present in your MANIFEST.in file! -try: - with io.open(os.path.join(here, 'README.md'), encoding='utf-8') as f: - long_description = '\n' + f.read() -except FileNotFoundError: - long_description = DESCRIPTION - -# Load the package's __version__.py module as a dictionary. -about = {} -if not VERSION: - with open(os.path.join(here, NAME, '__version__.py')) as f: - exec(f.read(), about) -else: - about['__version__'] = VERSION - - -class UploadCommand(Command): - """Support setup.py upload.""" - - description = 'Build and publish the package.' - user_options = [] - - @staticmethod - def status(s): - """Prints things in bold.""" - print('\033[1m{0}\033[0m'.format(s)) - - def initialize_options(self): - pass - - def finalize_options(self): - pass - - def run(self): - try: - self.status('Removing previous builds…') - rmtree(os.path.join(here, 'dist')) - except OSError: - pass - - self.status('Building Source and Wheel (universal) distribution…') - os.system('{0} setup.py sdist bdist_wheel --universal'.format(sys.executable)) - - self.status('Uploading the package to PyPI via Twine…') - os.system('twine upload dist/*') - - self.status('Pushing git tags…') - os.system('git tag v{0}'.format(about['__version__'])) - os.system('git push --tags') - - sys.exit() - - -# Setup: -setup( - name=NAME, - version=about['__version__'], - description=DESCRIPTION, - long_description=long_description, - long_description_content_type='text/markdown', - author=AUTHOR, - author_email=EMAIL, - url=URL, - keywords="regexp generators string generation regex simplification", - scripts=['exrex.py'], - py_modules=['exrex'], - packages=find_packages(exclude=('tests',)), - install_requires=REQUIRED, - extras_require=EXTRAS, - include_package_data=True, - license='AGPLv3+', - download_url='https://github.com/asciimoo/exrex/tarball/master', - entry_points={ - "console_scripts": ["exrex=exrex:__main__"] - }, - classifiers=[ - # As from http://pypi.python.org/pypi?%3Aaction=list_classifiers - "Development Status :: 4 - Beta", - "Topic :: Utilities", - 'Environment :: Console', - 'License :: OSI Approved :: GNU Affero General Public License v3', - 'Programming Language :: Python', - 'Programming Language :: Python :: 2', - 'Programming Language :: Python :: 2.6', - 'Programming Language :: Python :: 2.7', - 'Programming Language :: Python :: 3', - 'Programming Language :: Python :: 3.3', - 'Programming Language :: Python :: 3.4', - 'Programming Language :: Python :: 3.5', - ], - # $ setup.py publish support. - cmdclass={ - 'upload': UploadCommand, - }, -) diff --git a/exrex.py b/src/exrex.py similarity index 100% rename from exrex.py rename to src/exrex.py diff --git a/tox.ini b/tox.ini deleted file mode 100644 index 8ed317b..0000000 --- a/tox.ini +++ /dev/null @@ -1,7 +0,0 @@ -[tox] -envlist = py26, py27, py33, py34, py35 -minversion = 1.8 -skip_missing_interpreters = True - -[testenv] -commands = {envpython} ./tests.py