Skip to content

Commit a12d09f

Browse files
committed
make release-tag: Merge branch 'master' into stable
2 parents be93b47 + 4a30424 commit a12d09f

File tree

9 files changed

+146
-102
lines changed

9 files changed

+146
-102
lines changed

.gitignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -64,6 +64,7 @@ instance/
6464

6565
# Sphinx documentation
6666
docs/_build/
67+
docs/api/
6768

6869
# PyBuilder
6970
target/

HISTORY.md

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,11 @@
11
# History
22

3+
## 0.1.2
4+
5+
* Pin dependency versions to ensure reproducibility
6+
* Allow S3PipelineExplorer usage without AWS credentials
7+
* Fix minor bug in S3PipelineExplorer
8+
39
## 0.1.1
410

511
* Improved documentation

Makefile

Lines changed: 70 additions & 50 deletions
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,46 @@ BROWSER := python -c "$$BROWSER_PYSCRIPT"
2929
help:
3030
@python -c "$$PRINT_HELP_PYSCRIPT" < $(MAKEFILE_LIST)
3131

32+
33+
# CLEAN TARGETS
34+
35+
.PHONY: clean-build
36+
clean-build: ## remove build artifacts
37+
rm -fr build/
38+
rm -fr dist/
39+
rm -fr .eggs/
40+
find . -name '*.egg-info' -exec rm -fr {} +
41+
find . -name '*.egg' -exec rm -f {} +
42+
43+
.PHONY: clean-pyc
44+
clean-pyc: ## remove Python file artifacts
45+
find . -name '*.pyc' -exec rm -f {} +
46+
find . -name '*.pyo' -exec rm -f {} +
47+
find . -name '*~' -exec rm -f {} +
48+
find . -name '__pycache__' -exec rm -fr {} +
49+
50+
.PHONY: clean-docs
51+
clean-docs: ## remove previously built docs
52+
rm -f docs/api/*.rst
53+
-$(MAKE) -C docs clean 2>/dev/null # this fails if sphinx is not yet installed
54+
55+
.PHONY: clean-coverage
56+
clean-coverage: ## remove coverage artifacts
57+
rm -f .coverage
58+
rm -f .coverage.*
59+
rm -fr htmlcov/
60+
61+
.PHONY: clean-test
62+
clean-test: ## remove test artifacts
63+
rm -fr .tox/
64+
rm -fr .pytest_cache
65+
66+
.PHONY: clean
67+
clean: clean-build clean-pyc clean-test clean-coverage clean-docs ## remove all build, test, coverage, docs and Python artifacts
68+
69+
70+
# INSTALL TARGETS
71+
3272
.PHONY: install
3373
install: clean-build clean-pyc ## install the package to the active Python's site-packages
3474
pip install .
@@ -37,23 +77,18 @@ install: clean-build clean-pyc ## install the package to the active Python's sit
3777
install-test: clean-build clean-pyc ## install the package and test dependencies
3878
pip install .[test]
3979

40-
.PHONY: test
41-
test: ## run tests quickly with the default Python
42-
python -m pytest
80+
.PHONY: install-develop
81+
install-develop: clean-build clean-pyc ## install the package in editable mode and dependencies for development
82+
pip install -e .[dev]
83+
84+
85+
# LINT TARGETS
4386

4487
.PHONY: lint
4588
lint: ## check style with flake8 and isort
4689
flake8 piex tests
4790
isort -c --recursive piex tests
4891

49-
.PHONY: install-develop
50-
install-develop: clean-build clean-pyc ## install the package in editable mode and dependencies for development
51-
pip install -e .[dev]
52-
53-
.PHONY: test-all
54-
test-all: ## run tests on every Python version with tox
55-
tox
56-
5792
.PHONY: fix-lint
5893
fix-lint: ## fix lint issues using autoflake, autopep8, and isort
5994
find piex -name '*.py' | xargs autoflake --in-place --remove-all-unused-imports --remove-unused-variables
@@ -64,16 +99,30 @@ fix-lint: ## fix lint issues using autoflake, autopep8, and isort
6499
autopep8 --in-place --recursive --aggressive tests
65100
isort --apply --atomic --recursive tests
66101

102+
103+
# TEST TARGETS
104+
105+
.PHONY: test
106+
test: ## run tests quickly with the default Python
107+
python -m pytest
108+
109+
.PHONY: test-all
110+
test-all: ## run tests on every Python version with tox
111+
tox
112+
67113
.PHONY: coverage
68114
coverage: ## check code coverage quickly with the default Python
69115
coverage run --source piex -m pytest
70116
coverage report -m
71117
coverage html
72118
$(BROWSER) htmlcov/index.html
73119

120+
121+
# DOCS TARGETS
122+
74123
.PHONY: docs
75124
docs: clean-docs ## generate Sphinx HTML documentation, including API docs
76-
sphinx-apidoc --module-first --separate -o docs/api/ piex
125+
sphinx-apidoc --module-first --separate -T -o docs/api/ piex
77126
$(MAKE) -C docs html
78127

79128
.PHONY: view-docs
@@ -82,7 +131,10 @@ view-docs: docs ## view docs in browser
82131

83132
.PHONY: serve-docs
84133
serve-docs: view-docs ## compile the docs watching for changes
85-
watchmedo shell-command -W -R -D -p '*.rst;*.md' -c '$(MAKE) -C docs html' .
134+
watchmedo shell-command -W -R -D -p '*.rst;*.md' -c '$(MAKE) -C docs html' docs
135+
136+
137+
# RELEASE TARGETS
86138

87139
.PHONY: dist
88140
dist: clean ## builds source and wheel package
@@ -100,7 +152,7 @@ publish: dist ## package and upload a release
100152

101153
.PHONY: bumpversion-release
102154
bumpversion-release: ## Merge master to stable and bumpversion release
103-
git checkout stable
155+
git checkout stable || git checkout -b stable
104156
git merge --no-ff master -m"make release-tag: Merge branch 'master' into stable"
105157
bumpversion release
106158
git push --tags origin stable
@@ -120,8 +172,8 @@ bumpversion-minor: ## Bump the version the next minor skipping the release
120172
bumpversion-major: ## Bump the version the next major skipping the release
121173
bumpversion --no-tag major
122174

123-
CURRENT_BRANCH := $(shell git rev-parse --abbrev-ref HEAD)
124-
CHANGELOG_LINES := $(shell git diff HEAD..stable HISTORY.md | wc -l)
175+
CURRENT_BRANCH := $(shell git rev-parse --abbrev-ref HEAD 2>/dev/null)
176+
CHANGELOG_LINES := $(shell git diff HEAD..origin/stable HISTORY.md 2>&1 | wc -l)
125177

126178
.PHONY: check-release
127179
check-release: ## Check if the release can be made
@@ -130,6 +182,8 @@ ifneq ($(CURRENT_BRANCH),master)
130182
endif
131183
ifeq ($(CHANGELOG_LINES),0)
132184
$(error Please insert the release notes in HISTORY.md before releasing)
185+
else
186+
@echo "A new release can be made"
133187
endif
134188

135189
.PHONY: release
@@ -140,37 +194,3 @@ release-minor: check-release bumpversion-minor release
140194

141195
.PHONY: release-major
142196
release-major: check-release bumpversion-major release
143-
144-
.PHONY: clean
145-
clean: clean-build clean-pyc clean-test clean-coverage clean-docs ## remove all build, test, coverage, docs and Python artifacts
146-
147-
.PHONY: clean-build
148-
clean-build: ## remove build artifacts
149-
rm -fr build/
150-
rm -fr dist/
151-
rm -fr .eggs/
152-
find . -name '*.egg-info' -exec rm -fr {} +
153-
find . -name '*.egg' -exec rm -f {} +
154-
155-
.PHONY: clean-pyc
156-
clean-pyc: ## remove Python file artifacts
157-
find . -name '*.pyc' -exec rm -f {} +
158-
find . -name '*.pyo' -exec rm -f {} +
159-
find . -name '*~' -exec rm -f {} +
160-
find . -name '__pycache__' -exec rm -fr {} +
161-
162-
.PHONY: clean-coverage
163-
clean-coverage: ## remove coverage artifacts
164-
rm -f .coverage
165-
rm -f .coverage.*
166-
rm -fr htmlcov/
167-
168-
.PHONY: clean-test
169-
clean-test: ## remove test artifacts
170-
rm -fr .tox/
171-
rm -fr .pytest_cache
172-
173-
.PHONY: clean-docs
174-
clean-docs: ## remove previously built docs
175-
rm -f docs/api/*.rst
176-
-$(MAKE) -C docs clean 2>/dev/null # this fails if sphinx is not yet installed

README.md

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,10 @@
11

2+
<p align="left">
3+
<img width=15% src="https://dai.lids.mit.edu/wp-content/uploads/2018/06/Logo_DAI_highres.png" alt=“DAI-Lab” />
4+
<i>An open source project from Data to AI Lab at MIT.</i>
5+
</p>
6+
7+
28
[![PyPI Shield](https://img.shields.io/pypi/v/piex.svg)](https://pypi.python.org/pypi/piex)
39
[![Travis CI Shield](https://travis-ci.org/HDI-Project/piex.svg?branch=master)](https://travis-ci.org/HDI-Project/piex)
410

@@ -108,8 +114,8 @@ Each dataset was split using a holdout method in two parts, training and testing
108114
used respectively to find and fit the optimal pipeline for each dataset, and to later on
109115
evaluate the goodness-of-fit of each pipeline against a specific metric for each dataset.
110116

111-
Each dataset is stored in Amazon S3 in the [D3M format](https://github.com/mitll/d3m-schema),
112-
including the training and testing partitioning, and available for download using piex.
117+
This collection of datasets is stored in an Amazon S3 Bucket in the [D3M format](https://github.com/mitll/d3m-schema),
118+
including the training and testing partitioning, and can be downloaded both using piex or a web browser following this link: https://d3m-data-dai.s3.amazonaws.com/index.html
113119

114120
### What is an experiment/test?
115121

docs/conf.py

Lines changed: 45 additions & 33 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
#!/usr/bin/env python
22
# -*- coding: utf-8 -*-
33
#
4-
# piex documentation build configuration file, created by
4+
# PiEx documentation build configuration file, created by
55
# sphinx-quickstart on Fri Jun 9 13:47:02 2017.
66
#
77
# This file is execfile()d with the current directory set to its
@@ -17,14 +17,9 @@
1717
# directory, add these directories to sys.path here. If the directory is
1818
# relative to the documentation root, use os.path.abspath to make it
1919
# absolute, like shown here.
20-
#
21-
import os
22-
import sys
2320

2421
import sphinx_rtd_theme # For read the docs theme
2522

26-
sys.path.insert(0, os.path.abspath('..'))
27-
2823
import piex
2924

3025
# -- General configuration ---------------------------------------------
@@ -54,9 +49,13 @@
5449
master_doc = 'index'
5550

5651
# General information about the project.
57-
project = u'D3M Pipeline Explorer'
58-
copyright = u'2018, MIT Data To AI Lab'
59-
author = u'MIT Data To AI Lab'
52+
project = 'PiEx'
53+
slug = 'piex'
54+
title = project + ' Documentation',
55+
copyright = '2018, MIT Data To AI Lab'
56+
author = 'MIT Data To AI Lab'
57+
description = 'Pipeline Explorer.'
58+
user = 'HDI-Project'
6059

6160
# The version info for the project you're documenting, acts as replacement
6261
# for |version| and |release|, also used in various other places throughout
@@ -77,15 +76,14 @@
7776
# List of patterns, relative to source directory, that match files and
7877
# directories to ignore when looking for source files.
7978
# This patterns also effect to html_static_path and html_extra_path
80-
exclude_patterns = ['_build', 'Thumbs.db', '.DS_Store']
79+
exclude_patterns = ['.py', '_build', 'Thumbs.db', '.DS_Store', '**.ipynb_checkpoints']
8180

8281
# The name of the Pygments (syntax highlighting) style to use.
8382
pygments_style = 'sphinx'
8483

8584
# If true, `todo` and `todoList` produce output, else they produce nothing.
8685
todo_include_todos = False
8786

88-
8987
# -- Options for HTML output -------------------------------------------
9088

9189
# The theme to use for HTML and HTML Help pages. See the documentation for
@@ -97,8 +95,8 @@
9795
# Readthedocs additions
9896
html_context = {
9997
'display_github': True,
100-
'github_user': 'HDI-Project',
101-
'github_repo': 'piex',
98+
'github_user': user,
99+
'github_repo': project,
102100
'github_version': 'master',
103101
'conf_py_path': '/docs/',
104102
}
@@ -114,13 +112,22 @@
114112
# Add any paths that contain custom static files (such as style sheets) here,
115113
# relative to this directory. They are copied after the builtin static files,
116114
# so a file named "default.css" will overwrite the builtin "default.css".
117-
html_static_path = ['_static']
115+
# html_static_path = ['_static']
116+
117+
# The name of an image file (relative to this directory) to use as a favicon of
118+
# the docs. This file should be a Windows icon file (.ico) being 16x16 or 32x32
119+
# pixels large.
120+
# html_favicon = 'images/favicon.ico'
118121

122+
# If given, this must be the name of an image file (path relative to the
123+
# configuration directory) that is the logo of the docs. It is placed at
124+
# the top of the sidebar; its width should therefore not exceed 200 pixels.
125+
# html_logo = 'images/dai-logo.png'
119126

120127
# -- Options for HTMLHelp output ---------------------------------------
121128

122129
# Output file base name for HTML help builder.
123-
htmlhelp_basename = 'piexdoc'
130+
htmlhelp_basename = slug + 'doc'
124131

125132

126133
# -- Options for LaTeX output ------------------------------------------
@@ -146,34 +153,39 @@
146153
# Grouping the document tree into LaTeX files. List of tuples
147154
# (source start file, target name, title, author, documentclass
148155
# [howto, manual, or own class]).
149-
latex_documents = [
150-
(master_doc, 'piex.tex',
151-
u'D3M Pipeline Explorer Documentation',
152-
u'MIT Data To AI Lab', 'manual'),
153-
]
156+
latex_documents = [(
157+
master_doc,
158+
slug + '.tex',
159+
title,
160+
author,
161+
'manual'
162+
)]
154163

155164

156165
# -- Options for manual page output ------------------------------------
157166

158167
# One entry per manual page. List of tuples
159168
# (source start file, name, description, authors, manual section).
160-
man_pages = [
161-
(master_doc, 'piex',
162-
u'D3M Pipeline Explorer Documentation',
163-
[author], 1)
164-
]
169+
man_pages = [(
170+
master_doc,
171+
slug,
172+
title,
173+
[author],
174+
1
175+
)]
165176

166177

167178
# -- Options for Texinfo output ----------------------------------------
168179

169180
# Grouping the document tree into Texinfo files. List of tuples
170181
# (source start file, target name, title, author,
171182
# dir menu entry, description, category)
172-
texinfo_documents = [
173-
(master_doc, 'piex',
174-
u'D3M Pipeline Explorer Documentation',
175-
author,
176-
'piex',
177-
'One line description of project.',
178-
'Miscellaneous'),
179-
]
183+
texinfo_documents = [(
184+
master_doc,
185+
slug,
186+
title,
187+
author,
188+
slug,
189+
description,
190+
'Miscellaneous'
191+
)]

piex/__init__.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,4 +4,4 @@
44

55
__author__ = """MIT Data To AI Lab"""
66
__email__ = '[email protected]'
7-
__version__ = '0.1.1'
7+
__version__ = '0.1.2-dev'

0 commit comments

Comments
 (0)