diff --git a/setup.cfg b/setup.cfg index b88034e..f98a093 100644 --- a/setup.cfg +++ b/setup.cfg @@ -1,2 +1,6 @@ +[bdist_wheel] +universal = 1 + [metadata] description-file = README.md +license_file = LICENSE diff --git a/setup.py b/setup.py index b54a1f3..277d36e 100644 --- a/setup.py +++ b/setup.py @@ -1,13 +1,96 @@ -from distutils.core import setup -setup( - name = 'pygcode', - packages = ['pygcode'], - version = '0.1', - description = 'basic g-code parser, interpreter, and writer library', - author = 'Peter Boin', - author_email = 'peter.boin@gmail.com', - url = 'https://github.com/fragmuffin/pygcode', - download_url = 'https://github.com/fragmuffin/pygcode/archive/0.1.tar.gz', - keywords = ['gcode', 'cnc', 'parser', 'interpreter'], - classifiers = [], -) +import codecs +import os +import re + +from setuptools import setup, find_packages + + +################################################################### + +NAME = "attrs" +PACKAGES = find_packages(where="src") +META_PATH = os.path.join("src", "attr", "__init__.py") +KEYWORDS = ["class", "attribute", "boilerplate"] +CLASSIFIERS = [ + "Development Status :: 5 - Production/Stable", + "Intended Audience :: Developers", + "Natural Language :: English", + "License :: OSI Approved :: MIT License", + "Operating System :: OS Independent", + "Programming Language :: Python", + "Programming Language :: Python :: 2", + "Programming Language :: Python :: 2.7", + "Programming Language :: Python :: 3", + "Programming Language :: Python :: 3.3", + "Programming Language :: Python :: 3.4", + "Programming Language :: Python :: 3.5", + "Programming Language :: Python :: Implementation :: CPython", + "Programming Language :: Python :: Implementation :: PyPy", + "Topic :: Software Development :: Libraries :: Python Modules", +] +INSTALL_REQUIRES = [] + +################################################################### + +HERE = os.path.abspath(os.path.dirname(__file__)) + + +def read(*parts): + """ + Build an absolute path from *parts* and and return the contents of the + resulting file. Assume UTF-8 encoding. + """ + with codecs.open(os.path.join(HERE, *parts), "rb", "utf-8") as f: + return f.read() + + +META_FILE = read(META_PATH) + + +def find_meta(meta): + """ + Extract __*meta*__ from META_FILE. + """ + meta_match = re.search( + r"^(?P__{meta}__)\s*=\s*['\"](?P[^'\"]*)['\"]".format(meta=meta), + META_FILE, re.M + ) + if meta_match: + return meta_match.group('value') + raise RuntimeError("Unable to find __{meta}__ string.".format(meta=meta)) + + +if __name__ == "__main__": + setup( + name=NAME, + description=find_meta("description"), + license=find_meta("license"), + url=find_meta("uri"), + version=find_meta("version"), + author=find_meta("author"), + author_email=find_meta("email"), + maintainer=find_meta("author"), + maintainer_email=find_meta("email"), + keywords=KEYWORDS, + long_description=read("README.rst"), + packages=PACKAGES, + package_dir={"": "src"}, + zip_safe=False, + classifiers=CLASSIFIERS, + install_requires=INSTALL_REQUIRES, + ) + +#VERSION = '0.1.dev' # *.dev = release candidate +# +#setup( +# name = 'pygcode', +# packages = ['pygcode'], +# version = VERSION, +# description = 'basic g-code parser, interpreter, and writer library', +# author = 'Peter Boin', +# author_email = 'peter.boin@gmail.com', +# url = 'https://github.com/fragmuffin/pygcode', +# download_url = 'https://github.com/fragmuffin/pygcode/archive/%s.tar.gz' % VERSION, +# keywords = ['gcode', 'cnc', 'parser', 'interpreter'], +# classifiers = [], +#) diff --git a/pygcode/__init__.py b/src/pygcode/__init__.py similarity index 100% rename from pygcode/__init__.py rename to src/pygcode/__init__.py diff --git a/pygcode/block.py b/src/pygcode/block.py similarity index 100% rename from pygcode/block.py rename to src/pygcode/block.py diff --git a/pygcode/comment.py b/src/pygcode/comment.py similarity index 100% rename from pygcode/comment.py rename to src/pygcode/comment.py diff --git a/pygcode/exceptions.py b/src/pygcode/exceptions.py similarity index 100% rename from pygcode/exceptions.py rename to src/pygcode/exceptions.py diff --git a/pygcode/gcodes.py b/src/pygcode/gcodes.py similarity index 100% rename from pygcode/gcodes.py rename to src/pygcode/gcodes.py diff --git a/pygcode/line.py b/src/pygcode/line.py similarity index 100% rename from pygcode/line.py rename to src/pygcode/line.py diff --git a/pygcode/machine.py b/src/pygcode/machine.py similarity index 100% rename from pygcode/machine.py rename to src/pygcode/machine.py diff --git a/pygcode/transform.py b/src/pygcode/transform.py similarity index 100% rename from pygcode/transform.py rename to src/pygcode/transform.py diff --git a/pygcode/utils.py b/src/pygcode/utils.py similarity index 100% rename from pygcode/utils.py rename to src/pygcode/utils.py diff --git a/pygcode/words.py b/src/pygcode/words.py similarity index 100% rename from pygcode/words.py rename to src/pygcode/words.py