diff --git a/requirements-dev.txt b/requirements/development.txt similarity index 98% rename from requirements-dev.txt rename to requirements/development.txt index c079073..e782739 100644 --- a/requirements-dev.txt +++ b/requirements/development.txt @@ -1,4 +1,3 @@ # Requirements for developing the justCheckers app Sphinx>=1.2.2 nose>=1.3.0 - diff --git a/requirements/web.txt b/requirements/web.txt new file mode 100644 index 0000000..68aea40 --- /dev/null +++ b/requirements/web.txt @@ -0,0 +1,2 @@ +# Requirements for the web front for justCheckers +Flask>=0.10 diff --git a/setup.py b/setup.py new file mode 100644 index 0000000..7e20246 --- /dev/null +++ b/setup.py @@ -0,0 +1,37 @@ +# coding=utf-8 +import re + +from setuptools import setup, find_packages + + +def gather_requirements(filename='requirements.txt'): + """ + Gather the requirements from a requirements file. + + :param filename: The name of the file. + """ + with open(filename) as req_file: + raw_requirements = req_file.readlines() + + return [requirement.strip() + for requirement in raw_requirements + if requirement.strip() and not re.match('#|-(?!e)', requirement)] + +setup( + name='justcheckers', + version='0.5.0', + packages=['justcheckers'], + url='http://justcheckers.org/', + license='Affero GPL v3', + author='Dorian Pula', + author_email='dorian.pula@gmail.com', + description='An advanced cross-platform checkers game.', + + install_requires=gather_requirements(), + extras_requires={ + 'web': gather_requirements('requirements/web.txt'), + }, + + packages=find_packages('justcheckers'), + include_package_data=True, +) diff --git a/tasks.py b/tasks.py index 585ae8e..1131f0b 100644 --- a/tasks.py +++ b/tasks.py @@ -3,15 +3,19 @@ from os import path from invoke import task, run + @task def docs(): + """Build Sphinx documentation.""" build_dir = '_build' if not path.exists(build_dir): os.mkdir(build_dir) run('sphinx-build -b slides . _build') + @task def clean(): + """Clean generated files.""" run('rm *.pyc') run('rm _build -rv')