From 5e7702cf049c7cd23aa2325c716300e43678b58c Mon Sep 17 00:00:00 2001 From: Holger Frey Date: Fri, 23 Mar 2018 11:35:09 +0100 Subject: [PATCH] added Makefile and others the files were adapted from the cookiecutter template for python packages --- Makefile | 77 ++++++++++++++++++++++++++++++++++++++++++++ ordr/__init__.py | 2 ++ requirements_dev.txt | 8 +++++ setup.cfg | 27 ++++++++++++++++ setup.py | 2 +- 5 files changed, 115 insertions(+), 1 deletion(-) create mode 100644 Makefile create mode 100644 requirements_dev.txt create mode 100644 setup.cfg diff --git a/Makefile b/Makefile new file mode 100644 index 0000000..b6e8651 --- /dev/null +++ b/Makefile @@ -0,0 +1,77 @@ +.PHONY: clean clean-test clean-pyc clean-build help +.DEFAULT_GOAL := help + +define BROWSER_PYSCRIPT +import os, webbrowser, sys + +try: + from urllib import pathname2url +except: + from urllib.request import pathname2url + +webbrowser.open("file://" + pathname2url(os.path.abspath(sys.argv[1]))) +endef +export BROWSER_PYSCRIPT + +define PRINT_HELP_PYSCRIPT +import re, sys + +for line in sys.stdin: + match = re.match(r'^([a-zA-Z_-]+):.*?## (.*)$$', line) + if match: + target, help = match.groups() + print("%-20s %s" % (target, help)) +endef +export PRINT_HELP_PYSCRIPT + +BROWSER := python -c "$$BROWSER_PYSCRIPT" + +help: + @python -c "$$PRINT_HELP_PYSCRIPT" < $(MAKEFILE_LIST) + +clean: clean-build clean-pyc clean-test ## remove all build, test, coverage and Python artifacts + +clean-build: ## remove build artifacts + rm -fr build/ + rm -fr dist/ + rm -fr .eggs/ + find . -name '*.egg-info' -exec rm -fr {} + + find . -name '*.egg' -exec rm -f {} + + +clean-pyc: ## remove Python file artifacts + find . -name '*.pyc' -exec rm -f {} + + find . -name '*.pyo' -exec rm -f {} + + find . -name '*~' -exec rm -f {} + + find . -name '__pycache__' -exec rm -fr {} + + +clean-test: ## remove test and coverage artifacts + rm -fr .tox/ + rm -f .coverage + rm -fr htmlcov/ + +lint: ## check style with flake8 + flake8 ordr + +test: ## run tests quickly with the default Python + py.test + +test-all: ## run tests on every Python version with tox + tox + +coverage: ## check code coverage quickly with the default Python + coverage run --source ordr -m pytest + coverage report -m + coverage html + $(BROWSER) htmlcov/index.html + +release: clean ## package and upload a release + python setup.py sdist upload + python setup.py bdist_wheel upload + +dist: clean ## builds source and wheel package + python setup.py sdist + python setup.py bdist_wheel + ls -l dist + +install: clean ## install the package to the active Python's site-packages + python setup.py install diff --git a/ordr/__init__.py b/ordr/__init__.py index 14a6c1e..8f2c40c 100644 --- a/ordr/__init__.py +++ b/ordr/__init__.py @@ -1,6 +1,8 @@ from pyramid.config import Configurator +__version__ = '0.0.1' + def root_factory(request): ''' dummy root factory ''' return dict() diff --git a/requirements_dev.txt b/requirements_dev.txt new file mode 100644 index 0000000..0743ce0 --- /dev/null +++ b/requirements_dev.txt @@ -0,0 +1,8 @@ +pip>=9.0.1 +bumpversion>=0.5.3 +wheel>=0.30.0 +flake8>=3.5.0 +coverage>=4.5.1 + +pytest>=3.4.1 +pytest-runner>=2.11.1 \ No newline at end of file diff --git a/setup.cfg b/setup.cfg new file mode 100644 index 0000000..8d7bf4d --- /dev/null +++ b/setup.cfg @@ -0,0 +1,27 @@ +[bumpversion] +current_version = 0.0.1 +commit = True +tag = True + +[bumpversion:file:setup.py] +search = version='{current_version}' +replace = version='{new_version}' + +[bumpversion:file:ordr/__init__.py] +search = __version__ = '{current_version}' +replace = __version__ = '{new_version}' + +[bdist_wheel] +universal = 1 + +[flake8] +exclude = docs +ignore = W293 +hang_closing = True + +[aliases] +test = pytest + +[tool:pytest] +collect_ignore = ['setup.py'] + diff --git a/setup.py b/setup.py index 462aedf..05b18fc 100644 --- a/setup.py +++ b/setup.py @@ -30,7 +30,7 @@ tests_require = [ setup( name='ordr', - version='0.0', + version='0.0.1', description='Ordr', long_description=README + '\n\n' + CHANGES, classifiers=[