Skip to content

Commit 328ac76

Browse files
author
Scott Wales
committed
Add cookiecutter template
0 parents  commit 328ac76

14 files changed

+2719
-0
lines changed

.circleci/config.yml

+92
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,92 @@
1+
run_pytest: &run_pytest
2+
steps:
3+
- checkout
4+
- run: virtualenv venv
5+
- run:
6+
name: install
7+
command: |
8+
source venv/bin/activate
9+
pip install -e .[test]
10+
- run:
11+
name: test
12+
command: |
13+
source venv/bin/activate
14+
mkdir -p test-report/pytest
15+
py.test --cov=coecms --cov-report xml \
16+
--junit-xml=test-report/pytest/sqlite.xml --junit-prefix='sqlite'
17+
- run:
18+
name: coverage-collect
19+
command: |
20+
mkdir coverage
21+
curl -L https://codeclimate.com/downloads/test-reporter/test-reporter-latest-linux-amd64 > cc-test-reporter
22+
chmod +x cc-test-reporter
23+
./cc-test-reporter format-coverage --output "coverage/coverage.${CIRCLE_STAGE}.json"
24+
cat "coverage/coverage.${CIRCLE_STAGE}.json"
25+
- store_test_results:
26+
path: test-report
27+
- store_artifacts:
28+
path: test-report
29+
- persist_to_workspace:
30+
root: coverage
31+
paths:
32+
- coverage.*.json
33+
34+
run_conda: &run_conda
35+
docker:
36+
- image: circleci/python
37+
steps:
38+
- checkout
39+
- run:
40+
name: install-conda
41+
command: |
42+
wget https://repo.continuum.io/miniconda/Miniconda3-latest-Linux-x86_64.sh -O conda.sh
43+
bash conda.sh -b -p ~/miniconda
44+
- run:
45+
name: setup
46+
command: |
47+
~/miniconda/bin/conda install --yes conda-build anaconda-client
48+
~/miniconda/bin/conda config --system --add channels conda-forge
49+
- run:
50+
name: build
51+
command: |
52+
~/miniconda/bin/conda build conda/
53+
54+
version: 2
55+
56+
jobs:
57+
python2:
58+
docker:
59+
- image: circleci/python:2
60+
<<: *run_pytest
61+
python3:
62+
docker:
63+
- image: circleci/python:3
64+
<<: *run_pytest
65+
conda3:
66+
<<: *run_conda
67+
coverage-report:
68+
docker:
69+
- image: circleci/python
70+
steps:
71+
- attach_workspace:
72+
at: workspace
73+
- run:
74+
name: coverage-report
75+
command: |
76+
curl -L https://codeclimate.com/downloads/test-reporter/test-reporter-latest-linux-amd64 > cc-test-reporter
77+
chmod +x cc-test-reporter
78+
./cc-test-reporter sum-coverage --parts 2 workspace/coverage.*.json -o coverage.json
79+
./cc-test-reporter upload-coverage --input coverage.json
80+
cat coverage.json
81+
82+
workflows:
83+
version: 2
84+
pytest:
85+
jobs:
86+
- python2
87+
- python3
88+
- conda3
89+
- coverage-report:
90+
requires:
91+
- python2
92+
- python3

MANIFEST.in

+2
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
include versioneer.py
2+
include src/coecms/_version.py

conda/dev-envioronment.yml

+10
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
name: coecms
2+
3+
channels:
4+
- conda-forge
5+
- defaults
6+
7+
dependencies:
8+
- python
9+
- pytest
10+
- sphinx

doc/Makefile

+20
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
# Minimal makefile for Sphinx documentation
2+
#
3+
4+
# You can set these variables from the command line.
5+
SPHINXOPTS =
6+
SPHINXBUILD = sphinx-build
7+
SPHINXPROJ = coecms
8+
SOURCEDIR = .
9+
BUILDDIR = _build
10+
11+
# Put it first so that "make" without argument is like "make help".
12+
help:
13+
@$(SPHINXBUILD) -M help "$(SOURCEDIR)" "$(BUILDDIR)" $(SPHINXOPTS) $(O)
14+
15+
.PHONY: help Makefile
16+
17+
# Catch-all target: route all unknown targets to Sphinx using the new
18+
# "make mode" option. $(O) is meant as a shortcut for $(SPHINXOPTS).
19+
%: Makefile
20+
@$(SPHINXBUILD) -M $@ "$(SOURCEDIR)" "$(BUILDDIR)" $(SPHINXOPTS) $(O)

doc/conf.py

+163
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,163 @@
1+
# -*- coding: utf-8 -*-
2+
#
3+
# Configuration file for the Sphinx documentation builder.
4+
#
5+
# This file does only contain a selection of the most common options. For a
6+
# full list see the documentation:
7+
# http://www.sphinx-doc.org/en/stable/config
8+
9+
# -- Path setup --------------------------------------------------------------
10+
11+
# If extensions (or modules to document with autodoc) are in another directory,
12+
# add these directories to sys.path here. If the directory is relative to the
13+
# documentation root, use os.path.abspath to make it absolute, like shown here.
14+
#
15+
import os
16+
import sys
17+
sys.path.insert(0, os.path.abspath('../src'))
18+
19+
20+
# -- Project information -----------------------------------------------------
21+
22+
project = 'CLEX CMS Utility Library'
23+
copyright = '2018, Scott Wales'
24+
author = 'CLEX CMS'
25+
26+
import coecms
27+
28+
# The short X.Y version
29+
version = coecms.__version__
30+
# The full version, including alpha/beta/rc tags
31+
release = coecms.__version__
32+
33+
34+
# -- General configuration ---------------------------------------------------
35+
36+
# If your documentation needs a minimal Sphinx version, state it here.
37+
#
38+
# needs_sphinx = '1.0'
39+
40+
# Add any Sphinx extension module names here, as strings. They can be
41+
# extensions coming with Sphinx (named 'sphinx.ext.*') or your custom
42+
# ones.
43+
extensions = [
44+
'sphinx.ext.autodoc',
45+
'sphinx.ext.doctest',
46+
'sphinx.ext.coverage',
47+
]
48+
49+
# Add any paths that contain templates here, relative to this directory.
50+
templates_path = ['_templates']
51+
52+
# The suffix(es) of source filenames.
53+
# You can specify multiple suffix as a list of string:
54+
#
55+
# source_suffix = ['.rst', '.md']
56+
source_suffix = '.rst'
57+
58+
# The master toctree document.
59+
master_doc = 'index'
60+
61+
# The language for content autogenerated by Sphinx. Refer to documentation
62+
# for a list of supported languages.
63+
#
64+
# This is also used if you do content translation via gettext catalogs.
65+
# Usually you set "language" from the command line for these cases.
66+
language = None
67+
68+
# List of patterns, relative to source directory, that match files and
69+
# directories to ignore when looking for source files.
70+
# This pattern also affects html_static_path and html_extra_path .
71+
exclude_patterns = ['_build', 'Thumbs.db', '.DS_Store']
72+
73+
# The name of the Pygments (syntax highlighting) style to use.
74+
pygments_style = 'sphinx'
75+
76+
77+
# -- Options for HTML output -------------------------------------------------
78+
79+
# The theme to use for HTML and HTML Help pages. See the documentation for
80+
# a list of builtin themes.
81+
#
82+
html_theme = 'alabaster'
83+
84+
# Theme options are theme-specific and customize the look and feel of a theme
85+
# further. For a list of options available for each theme, see the
86+
# documentation.
87+
#
88+
# html_theme_options = {}
89+
90+
# Add any paths that contain custom static files (such as style sheets) here,
91+
# relative to this directory. They are copied after the builtin static files,
92+
# so a file named "default.css" will overwrite the builtin "default.css".
93+
html_static_path = ['_static']
94+
95+
# Custom sidebar templates, must be a dictionary that maps document names
96+
# to template names.
97+
#
98+
# The default sidebars (for documents that don't match any pattern) are
99+
# defined by theme itself. Builtin themes are using these templates by
100+
# default: ``['localtoc.html', 'relations.html', 'sourcelink.html',
101+
# 'searchbox.html']``.
102+
#
103+
# html_sidebars = {}
104+
105+
106+
# -- Options for HTMLHelp output ---------------------------------------------
107+
108+
# Output file base name for HTML help builder.
109+
htmlhelp_basename = 'coecmsdoc'
110+
111+
112+
# -- Options for LaTeX output ------------------------------------------------
113+
114+
latex_elements = {
115+
# The paper size ('letterpaper' or 'a4paper').
116+
#
117+
# 'papersize': 'letterpaper',
118+
119+
# The font size ('10pt', '11pt' or '12pt').
120+
#
121+
# 'pointsize': '10pt',
122+
123+
# Additional stuff for the LaTeX preamble.
124+
#
125+
# 'preamble': '',
126+
127+
# Latex figure (float) alignment
128+
#
129+
# 'figure_align': 'htbp',
130+
}
131+
132+
# Grouping the document tree into LaTeX files. List of tuples
133+
# (source start file, target name, title,
134+
# author, documentclass [howto, manual, or own class]).
135+
latex_documents = [
136+
(master_doc, 'coecms.tex', 'coecms Documentation',
137+
'Scott Wales', 'manual'),
138+
]
139+
140+
141+
# -- Options for manual page output ------------------------------------------
142+
143+
# One entry per manual page. List of tuples
144+
# (source start file, name, description, authors, manual section).
145+
man_pages = [
146+
(master_doc, 'coecms', 'coecms Documentation',
147+
[author], 1)
148+
]
149+
150+
151+
# -- Options for Texinfo output ----------------------------------------------
152+
153+
# Grouping the document tree into Texinfo files. List of tuples
154+
# (source start file, target name, title, author,
155+
# dir menu entry, description, category)
156+
texinfo_documents = [
157+
(master_doc, 'coecms', 'coecms Documentation',
158+
author, 'coecms', 'One line description of project.',
159+
'Miscellaneous'),
160+
]
161+
162+
163+
# -- Extension configuration -------------------------------------------------

doc/index.rst

+20
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
.. CLEX CMS Utility Library documentation master file, created by
2+
sphinx-quickstart on Tue Mar 13 15:48:49 2018.
3+
You can adapt this file completely to your liking, but it should at least
4+
contain the root `toctree` directive.
5+
6+
Welcome to CLEX CMS Utility Library's documentation!
7+
==================================
8+
9+
.. toctree::
10+
:maxdepth: 2
11+
:caption: Contents:
12+
13+
14+
15+
Indices and tables
16+
==================
17+
18+
* :ref:`genindex`
19+
* :ref:`modindex`
20+
* :ref:`search`

doc/make.bat

+36
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,36 @@
1+
@ECHO OFF
2+
3+
pushd %~dp0
4+
5+
REM Command file for Sphinx documentation
6+
7+
if "%SPHINXBUILD%" == "" (
8+
set SPHINXBUILD=sphinx-build
9+
)
10+
set SOURCEDIR=.
11+
set BUILDDIR=_build
12+
set SPHINXPROJ=coecms
13+
14+
if "%1" == "" goto help
15+
16+
%SPHINXBUILD% >NUL 2>NUL
17+
if errorlevel 9009 (
18+
echo.
19+
echo.The 'sphinx-build' command was not found. Make sure you have Sphinx
20+
echo.installed, then set the SPHINXBUILD environment variable to point
21+
echo.to the full path of the 'sphinx-build' executable. Alternatively you
22+
echo.may add the Sphinx directory to PATH.
23+
echo.
24+
echo.If you don't have Sphinx installed, grab it from
25+
echo.http://sphinx-doc.org/
26+
exit /b 1
27+
)
28+
29+
%SPHINXBUILD% -M %1 %SOURCEDIR% %BUILDDIR% %SPHINXOPTS%
30+
goto end
31+
32+
:help
33+
%SPHINXBUILD% -M help %SOURCEDIR% %BUILDDIR% %SPHINXOPTS%
34+
35+
:end
36+
popd

setup.cfg

+7
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
[versioneer]
2+
VCS = git
3+
style = pep440
4+
versionfile_source = src/coecms/_version.py
5+
versionfile_build = coecms/_version.py
6+
tag_prefix =
7+
parentdir_prefix = coecms-

setup.py

+18
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
#!/usr/bin/env python
2+
from __future__ import print_function
3+
from setuptools import setup, find_packages
4+
import versioneer
5+
6+
setup(
7+
name = 'coecms',
8+
packages = find_packages('src'),
9+
package_dir = {'': 'src'},
10+
version=versioneer.get_version(),
11+
cmdclass=versioneer.get_cmdclass(),
12+
13+
install_requires = [
14+
],
15+
entry_points = {
16+
'console_scripts': [
17+
]}
18+
)

src/coecms/__init__.py

+4
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
2+
from ._version import get_versions
3+
__version__ = get_versions()['version']
4+
del get_versions

0 commit comments

Comments
 (0)