summaryrefslogtreecommitdiff
path: root/setup.py
diff options
context:
space:
mode:
authorAnish Athalye <me@anishathalye.com>2018-05-30 09:41:55 -0400
committerAnish Athalye <me@anishathalye.com>2018-05-30 10:23:53 -0400
commit30caaf27803a9529e1809504a39c514c80b859c2 (patch)
tree11d8fd55a35e7a9c24a19e5ff4fe3d20b897afb9 /setup.py
parent8afca63f6532578b40bbc166ed69b1125623e5c1 (diff)
Add PyPI package
This patch also makes the '-d' argument optional, with the base directory defaulting to the directory of the configuration file.
Diffstat (limited to 'setup.py')
-rw-r--r--setup.py82
1 files changed, 82 insertions, 0 deletions
diff --git a/setup.py b/setup.py
new file mode 100644
index 0000000..93ba954
--- /dev/null
+++ b/setup.py
@@ -0,0 +1,82 @@
+from setuptools import setup
+from codecs import open # For a consistent encoding
+from os import path
+import re
+
+
+here = path.dirname(__file__)
+
+
+with open(path.join(here, 'README.md'), encoding='utf-8') as f:
+ long_description = f.read()
+
+
+def read(*names, **kwargs):
+ with open(
+ path.join(here, *names),
+ encoding=kwargs.get("encoding", "utf8")
+ ) as fp:
+ return fp.read()
+
+
+def find_version(*file_paths):
+ version_file = read(*file_paths)
+ version_match = re.search(r"^__version__ = ['\"]([^'\"]*)['\"]",
+ version_file, re.M)
+ if version_match:
+ return version_match.group(1)
+ raise RuntimeError("Unable to find version string.")
+
+
+setup(
+ name='dotbot',
+
+ version=find_version('dotbot', '__init__.py'),
+
+ description='A tool that bootstraps your dotfiles',
+ long_description=long_description,
+ long_description_content_type='text/markdown',
+
+ url='https://github.com/anishathalye/dotbot',
+
+ author='Anish Athalye',
+ author_email='me@anishathalye.com',
+
+ license='MIT',
+
+ classifiers=[
+ 'Development Status :: 5 - Production/Stable',
+
+ 'Intended Audience :: Developers',
+
+ 'License :: OSI Approved :: MIT License',
+
+ 'Programming Language :: Python :: 2',
+ 'Programming Language :: Python :: 2.7',
+ 'Programming Language :: Python :: 3',
+ 'Programming Language :: Python :: 3.2',
+ 'Programming Language :: Python :: 3.3',
+ 'Programming Language :: Python :: 3.4',
+ 'Programming Language :: Python :: 3.5',
+ 'Programming Language :: Python :: 3.6',
+
+ 'Topic :: Utilities',
+ ],
+
+ keywords='dotfiles',
+
+ packages=['dotbot'],
+
+ install_requires=[
+ 'PyYAML>=3.12,<4',
+ ],
+
+ # To provide executable scripts, use entry points in preference to the
+ # "scripts" keyword. Entry points provide cross-platform support and allow
+ # pip to create the appropriate form of executable for the target platform.
+ entry_points={
+ 'console_scripts': [
+ 'dotbot=dotbot:main',
+ ],
+ },
+)