From 3cb4e4ff7d3727ceef5dd3ee62a8f6ad86a703b4 Mon Sep 17 00:00:00 2001 From: Bay Date: Fri, 22 Nov 2019 09:44:59 -0800 Subject: [PATCH 01/32] Adding Travis CI functionality --- .travis.yml | 11 +++++++++++ 1 file changed, 11 insertions(+) create mode 100644 .travis.yml diff --git a/.travis.yml b/.travis.yml new file mode 100644 index 000000000..598cbe4b1 --- /dev/null +++ b/.travis.yml @@ -0,0 +1,11 @@ +language: python +python: + - "3.6" + +install: + make all + +script: + ls ; + python tests/integration/run_tests.py --exit --verbose ; + python -m pytest tests/ ; From 3984996802614947cb6ac8778c79f39d3b771844 Mon Sep 17 00:00:00 2001 From: Bay Date: Fri, 22 Nov 2019 09:47:13 -0800 Subject: [PATCH 02/32] small adjustment --- .travis.yml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.travis.yml b/.travis.yml index 598cbe4b1..df5057b41 100644 --- a/.travis.yml +++ b/.travis.yml @@ -1,6 +1,6 @@ -language: python -python: - - "3.6" +#language: python +#python: +# - "3.6" install: make all From a3a8db2572eaceb0892a11d81f36d528d1dff690 Mon Sep 17 00:00:00 2001 From: Bay Date: Fri, 22 Nov 2019 09:55:43 -0800 Subject: [PATCH 03/32] another small adjustment --- .travis.yml | 15 +++++++++++---- 1 file changed, 11 insertions(+), 4 deletions(-) diff --git a/.travis.yml b/.travis.yml index df5057b41..b7574becf 100644 --- a/.travis.yml +++ b/.travis.yml @@ -1,9 +1,16 @@ -#language: python -#python: -# - "3.6" +language: python + +python: + - "3.6" install: - make all + # make all + pip install --upgrade pip + merlin_3_6/bin/easy_install cryptography + pip install -r requirements.txt + pip install -e . + pip install -r requirements/mysql.txt + pip install --upgrade sphinx script: ls ; From 0bac0c43f1c581423e8434a32e3fde53819c6d67 Mon Sep 17 00:00:00 2001 From: Bay Date: Fri, 22 Nov 2019 09:57:27 -0800 Subject: [PATCH 04/32] adjusted virtualenv path --- .travis.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.travis.yml b/.travis.yml index b7574becf..dcd0d6013 100644 --- a/.travis.yml +++ b/.travis.yml @@ -6,7 +6,7 @@ python: install: # make all pip install --upgrade pip - merlin_3_6/bin/easy_install cryptography + virtualenv/bin/easy_install cryptography pip install -r requirements.txt pip install -e . pip install -r requirements/mysql.txt From 3bbf11bf539174ab1b96ff55d8e94afc358d302f Mon Sep 17 00:00:00 2001 From: Bay Date: Fri, 22 Nov 2019 09:58:47 -0800 Subject: [PATCH 05/32] adjusted virtualenv path --- .travis.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.travis.yml b/.travis.yml index dcd0d6013..1ab3537e7 100644 --- a/.travis.yml +++ b/.travis.yml @@ -6,7 +6,7 @@ python: install: # make all pip install --upgrade pip - virtualenv/bin/easy_install cryptography + virtualenv/python3.6/bin/easy_install cryptography pip install -r requirements.txt pip install -e . pip install -r requirements/mysql.txt From 334a2bdf4eaca6880d7af25c3e79305e1f5f8741 Mon Sep 17 00:00:00 2001 From: Bay Date: Fri, 22 Nov 2019 10:00:21 -0800 Subject: [PATCH 06/32] commented out cryptography --- .travis.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.travis.yml b/.travis.yml index 1ab3537e7..5ff666e52 100644 --- a/.travis.yml +++ b/.travis.yml @@ -6,7 +6,7 @@ python: install: # make all pip install --upgrade pip - virtualenv/python3.6/bin/easy_install cryptography + #virtualenv/python3.6/bin/easy_install cryptography pip install -r requirements.txt pip install -e . pip install -r requirements/mysql.txt From 2ec47f034133ec1d8232263b345d3402d4aaf7e0 Mon Sep 17 00:00:00 2001 From: Bay Date: Fri, 22 Nov 2019 10:06:31 -0800 Subject: [PATCH 07/32] added semicolons --- .travis.yml | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/.travis.yml b/.travis.yml index 5ff666e52..15846dfb7 100644 --- a/.travis.yml +++ b/.travis.yml @@ -5,12 +5,12 @@ python: install: # make all - pip install --upgrade pip - #virtualenv/python3.6/bin/easy_install cryptography - pip install -r requirements.txt - pip install -e . - pip install -r requirements/mysql.txt - pip install --upgrade sphinx + pip install --upgrade pip ; + #virtualenv/python3.6/bin/easy_install cryptography ; + pip install -r requirements.txt ; + pip install -e . ; + pip install -r requirements/mysql.txt ; + pip install --upgrade sphinx ; script: ls ; From a1ad7e85491ccab2918ad263e1d174b06016a46e Mon Sep 17 00:00:00 2001 From: Bay Date: Fri, 22 Nov 2019 10:14:01 -0800 Subject: [PATCH 08/32] fixing yaml... --- .travis.yml | 26 +++++++++++--------------- 1 file changed, 11 insertions(+), 15 deletions(-) diff --git a/.travis.yml b/.travis.yml index 15846dfb7..c33d6bf8c 100644 --- a/.travis.yml +++ b/.travis.yml @@ -1,18 +1,14 @@ language: python - -python: +python: - "3.6" +install: + - "pip install --upgrade pip ;" + - "pip install -r requirements.txt ;" + - "pip install -e . ;" + - "pip install -r requirements/mysql.txt ;" + - "pip install --upgrade sphinx ;" +script: + - "ls ;" + - "python tests/integration/run_tests.py --exit --verbose ;" + - "python -m pytest tests/ ;" -install: - # make all - pip install --upgrade pip ; - #virtualenv/python3.6/bin/easy_install cryptography ; - pip install -r requirements.txt ; - pip install -e . ; - pip install -r requirements/mysql.txt ; - pip install --upgrade sphinx ; - -script: - ls ; - python tests/integration/run_tests.py --exit --verbose ; - python -m pytest tests/ ; From 8a39c17363d7c8950cc9733daa994d9edff8f255 Mon Sep 17 00:00:00 2001 From: Bay Date: Fri, 22 Nov 2019 10:17:31 -0800 Subject: [PATCH 09/32] rearranged travis --- .travis.yml | 15 +++++++-------- 1 file changed, 7 insertions(+), 8 deletions(-) diff --git a/.travis.yml b/.travis.yml index c33d6bf8c..89d80adba 100644 --- a/.travis.yml +++ b/.travis.yml @@ -2,13 +2,12 @@ language: python python: - "3.6" install: - - "pip install --upgrade pip ;" - - "pip install -r requirements.txt ;" - - "pip install -e . ;" - - "pip install -r requirements/mysql.txt ;" - - "pip install --upgrade sphinx ;" + - "pip install --upgrade pip" + - "pip install -r requirements.txt" + - "pip install -e ." + - "pip install -r requirements/mysql.txt" + - "pip install --upgrade sphinx" script: - - "ls ;" - - "python tests/integration/run_tests.py --exit --verbose ;" - - "python -m pytest tests/ ;" + - "python -m pytest tests/" + - "python tests/integration/run_tests.py --exit --verbose" From 6609b1a3256c0f3506ca8832ff1cd90a2f5ca874 Mon Sep 17 00:00:00 2001 From: Benjamin Bay <48391872+ben-bay@users.noreply.github.com> Date: Thu, 21 Nov 2019 10:26:03 -0800 Subject: [PATCH 10/32] Added CONTRIBUTING.md file, with open source development directions. updated contributing, added link --- CONTRIBUTING.md | 14 ++++++++++++++ 1 file changed, 14 insertions(+) create mode 100644 CONTRIBUTING.md diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md new file mode 100644 index 000000000..43a2ab5de --- /dev/null +++ b/CONTRIBUTING.md @@ -0,0 +1,14 @@ +# Contributing + +Merlin is open source software, and we welcome contribution! + +### Branches +* `master` -- our default branch. It's the stable branch, for users. + +* `develop` -- the branch you want to fork from, and make pull requests into. + +### Squash +Before issuing a pull request, please [squash your commits](https://github.com/LLNL/merlin/wiki/Squash-commits) down to one concise commit message. + +### More... +Complete developer documentation is [here](https://merlin.readthedocs.io/en/latest/merlin_developer.html). From 5e9d935b757d6326a1eb80c18de6b17d1e7a5434 Mon Sep 17 00:00:00 2001 From: Bay Date: Fri, 22 Nov 2019 10:34:16 -0800 Subject: [PATCH 11/32] working on cryptography error --- .travis.yml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.travis.yml b/.travis.yml index 89d80adba..4a18c77ff 100644 --- a/.travis.yml +++ b/.travis.yml @@ -3,11 +3,12 @@ python: - "3.6" install: - "pip install --upgrade pip" + - "pip install cryptography" - "pip install -r requirements.txt" - "pip install -e ." - "pip install -r requirements/mysql.txt" - "pip install --upgrade sphinx" script: - "python -m pytest tests/" - - "python tests/integration/run_tests.py --exit --verbose" + - "python tests/integration/run_tests.py --verbose" From d84d618304e325ba98beff92a6a454efab2d9617 Mon Sep 17 00:00:00 2001 From: Bay Date: Fri, 22 Nov 2019 11:16:21 -0800 Subject: [PATCH 12/32] temporarily removed ci tests, added py 3.7 and 3.8 --- .travis.yml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.travis.yml b/.travis.yml index 4a18c77ff..0ae50a14b 100644 --- a/.travis.yml +++ b/.travis.yml @@ -1,6 +1,8 @@ language: python python: - "3.6" + - "3.7" + - "3.8" install: - "pip install --upgrade pip" - "pip install cryptography" @@ -10,5 +12,4 @@ install: - "pip install --upgrade sphinx" script: - "python -m pytest tests/" - - "python tests/integration/run_tests.py --verbose" From 0d316fe0acd21363d95323c73a1bd6070b0f42c6 Mon Sep 17 00:00:00 2001 From: Bay Date: Fri, 22 Nov 2019 11:44:10 -0800 Subject: [PATCH 13/32] added the passing command line tests --- .travis.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.travis.yml b/.travis.yml index 0ae50a14b..1c38b9317 100644 --- a/.travis.yml +++ b/.travis.yml @@ -12,4 +12,5 @@ install: - "pip install --upgrade sphinx" script: - "python -m pytest tests/" + - "python tests/integration/run_tests.py --ids 1 2 3 4 5 6 7 8 11 17 18" From 367219924da4220d080fc0346529183c6dfb4763 Mon Sep 17 00:00:00 2001 From: Bay Date: Fri, 22 Nov 2019 11:47:03 -0800 Subject: [PATCH 14/32] added verbose flag --- .travis.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.travis.yml b/.travis.yml index 1c38b9317..ac107d248 100644 --- a/.travis.yml +++ b/.travis.yml @@ -12,5 +12,5 @@ install: - "pip install --upgrade sphinx" script: - "python -m pytest tests/" - - "python tests/integration/run_tests.py --ids 1 2 3 4 5 6 7 8 11 17 18" + - "python tests/integration/run_tests.py --verbose --ids 1 2 3 4 5 6 7 8 11 17 18" From 83e7bf4f8e4eb7a2327824a5ef55764cf448393c Mon Sep 17 00:00:00 2001 From: "Joseph M. Koning" Date: Fri, 22 Nov 2019 12:13:57 -0800 Subject: [PATCH 15/32] Update the docs with the current spack build instructions. --- docs/source/spack.rst | 30 ++++++++++++------------------ 1 file changed, 12 insertions(+), 18 deletions(-) diff --git a/docs/source/spack.rst b/docs/source/spack.rst index 9701c55b8..c85ea959c 100644 --- a/docs/source/spack.rst +++ b/docs/source/spack.rst @@ -9,16 +9,6 @@ Merlin will then be installed in this specific version allowing for multiple python versions on a single system without the need for a virtualenv. The py-merlinwf package builds with python3.6+. -Checkout merlin spack repo -************************** - - -Get the latest version of merlin.spack from github. - -:: - - git clone https://github.com/LLNL/merlin.spack.git - Checkout spack ************** @@ -32,6 +22,16 @@ make sure merlin and spack are in separate directories. git clone https://github.com/spack/spack.git +The merlin addition to spack is currently in pull requests, you can clone a +branch that has all of the PR changes here: + +.. code:: bash + + git clone https://github.com/koning/spack.git + cd spack + git checkout feature/koning/merlinwf + + Setup spack *********** @@ -57,18 +57,12 @@ To see the compilers. spack compiler list -Add the merlin.spack repo to spack (done once): - -.. code:: bash - - spack repo add //merlin.spack - Build merlin ************ -Build merlin, this will take a *long* time, be prepared to wait. It is going -to build python and everything python needs including numpy. +Build merlin, this will take a *long* time, be prepared to wait. It will +build python and all python modules merlin needs including numpy. .. code:: bash From faef00fea0e811fd9bfde540b606ba77bc245400 Mon Sep 17 00:00:00 2001 From: Bay Date: Fri, 22 Nov 2019 13:11:01 -0800 Subject: [PATCH 16/32] updated contributing.md --- CONTRIBUTING.md | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 43a2ab5de..b2989d501 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -2,13 +2,14 @@ Merlin is open source software, and we welcome contribution! -### Branches -* `master` -- our default branch. It's the stable branch, for users. - -* `develop` -- the branch you want to fork from, and make pull requests into. +We follow a gitflow - like [this](http://www.dalescott.net/using-gitflow-with-githubs-fork-pull-model/). +To contribute, fork your own copy. +All changes are done via pull requests from your fork into the appropriate main repository branch. +Features and additions into `develop`, hot fixes into `master`. ### Squash -Before issuing a pull request, please [squash your commits](https://github.com/LLNL/merlin/wiki/Squash-commits) down to one concise commit message. +Before merging a pull request, please [squash your commits](https://github.com/LLNL/merlin/wiki/Squash-commits) down to a single concise commit message. ### More... Complete developer documentation is [here](https://merlin.readthedocs.io/en/latest/merlin_developer.html). + From 25b54d6703091c36aac2541db0f525924398046c Mon Sep 17 00:00:00 2001 From: Bay Date: Fri, 22 Nov 2019 13:17:43 -0800 Subject: [PATCH 17/32] added merlin config to script --- .travis.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.travis.yml b/.travis.yml index ac107d248..312fc3745 100644 --- a/.travis.yml +++ b/.travis.yml @@ -11,6 +11,7 @@ install: - "pip install -r requirements/mysql.txt" - "pip install --upgrade sphinx" script: + - "merlin config" - "python -m pytest tests/" - "python tests/integration/run_tests.py --verbose --ids 1 2 3 4 5 6 7 8 11 17 18" From 67e448fdecbbecd786802bf0557412237a31651a Mon Sep 17 00:00:00 2001 From: Bay Date: Fri, 22 Nov 2019 15:12:36 -0800 Subject: [PATCH 18/32] added merlin config cli test, added tests to travis script --- .travis.yml | 2 +- merlin/__init__.py | 1 + merlin/celery.py | 10 ++-------- merlin/common/sample_index_factory.py | 5 +---- merlin/common/tasks.py | 24 ++++-------------------- merlin/display.py | 5 +---- merlin/main.py | 10 ++-------- merlin/spec/expansion.py | 10 ++-------- merlin/study/celeryadapter.py | 12 ++---------- merlin/study/study.py | 10 ++-------- merlin/utils.py | 5 +---- tests/common/test_sample_index.py | 5 +---- tests/integration/run_tests.py | 12 +++++++----- 13 files changed, 27 insertions(+), 84 deletions(-) diff --git a/.travis.yml b/.travis.yml index 312fc3745..02bbdf186 100644 --- a/.travis.yml +++ b/.travis.yml @@ -13,5 +13,5 @@ install: script: - "merlin config" - "python -m pytest tests/" - - "python tests/integration/run_tests.py --verbose --ids 1 2 3 4 5 6 7 8 11 17 18" + - "python tests/integration/run_tests.py --verbose --ids 1 2 3 4 5 6 7 8 9 12 13 18 19 20" diff --git a/merlin/__init__.py b/merlin/__init__.py index 31b8d970d..d5e9b710f 100644 --- a/merlin/__init__.py +++ b/merlin/__init__.py @@ -37,6 +37,7 @@ import os import sys + __version__ = "1.0.0" VERSION = __version__ PATH_TO_PROJ = os.path.join(os.path.dirname(__file__), "") diff --git a/merlin/celery.py b/merlin/celery.py index 92996ee16..59b5f4e8d 100644 --- a/merlin/celery.py +++ b/merlin/celery.py @@ -29,10 +29,7 @@ ############################################################################### """Updated celery configuration.""" -from __future__ import ( - absolute_import, - print_function, -) +from __future__ import absolute_import, print_function import logging import os @@ -43,10 +40,7 @@ from celery.signals import worker_process_init import merlin.common.security.encrypt_backend_traffic -from merlin.config import ( - broker, - results_backend, -) +from merlin.config import broker, results_backend from merlin.log_formatter import FORMATS from merlin.router import route_for_task diff --git a/merlin/common/sample_index_factory.py b/merlin/common/sample_index_factory.py index 288b7ace5..436dc3d60 100644 --- a/merlin/common/sample_index_factory.py +++ b/merlin/common/sample_index_factory.py @@ -33,10 +33,7 @@ """ from parse import parse -from merlin.common.sample_index import ( - MAX_SAMPLE, - SampleIndex, -) +from merlin.common.sample_index import MAX_SAMPLE, SampleIndex from merlin.utils import cd diff --git a/merlin/common/tasks.py b/merlin/common/tasks.py index 7b58e3418..1d12bdab1 100644 --- a/merlin/common/tasks.py +++ b/merlin/common/tasks.py @@ -29,34 +29,18 @@ ############################################################################### """Test tasks.""" -from __future__ import ( - absolute_import, - unicode_literals, -) +from __future__ import absolute_import, unicode_literals import logging import os -from celery import ( - chain, - chord, - group, - shared_task, - signature, -) -from celery.exceptions import ( - OperationalError, - TimeoutError, -) +from celery import chain, chord, group, shared_task, signature +from celery.exceptions import OperationalError, TimeoutError from merlin.common.abstracts.enums import ReturnCode from merlin.common.sample_index import uniform_directories from merlin.common.sample_index_factory import create_hierarchy -from merlin.exceptions import ( - HardFailException, - InvalidChainException, - RetryException, -) +from merlin.exceptions import HardFailException, InvalidChainException, RetryException from merlin.router import stop_workers from merlin.spec.expansion import ( parameter_substitutions_for_cmd, diff --git a/merlin/display.py b/merlin/display.py index cb4dcd0cb..25aa518f2 100644 --- a/merlin/display.py +++ b/merlin/display.py @@ -37,10 +37,7 @@ from tabulate import tabulate from merlin.ascii_art import banner_small -from merlin.config import ( - broker, - results_backend, -) +from merlin.config import broker, results_backend from merlin.config.configfile import default_config_info diff --git a/merlin/main.py b/merlin/main.py index d7b3f9b35..b000f8ad5 100644 --- a/merlin/main.py +++ b/merlin/main.py @@ -42,16 +42,10 @@ ) from contextlib import suppress -from merlin import ( - VERSION, - router, -) +from merlin import VERSION, router from merlin.ascii_art import banner_small from merlin.log_formatter import setup_logging -from merlin.spec.expansion import ( - RESERVED, - get_spec_with_expansion, -) +from merlin.spec.expansion import RESERVED, get_spec_with_expansion from merlin.study.study import MerlinStudy from merlin.utils import ARRAY_FILE_FORMATS diff --git a/merlin/spec/expansion.py b/merlin/spec/expansion.py index 4012f797e..803dc60ba 100644 --- a/merlin/spec/expansion.py +++ b/merlin/spec/expansion.py @@ -30,16 +30,10 @@ import logging from collections import ChainMap -from os.path import ( - expanduser, - expandvars, -) +from os.path import expanduser, expandvars from merlin.common.abstracts.enums import ReturnCode -from merlin.spec.override import ( - dump_with_overrides, - error_override_vars, -) +from merlin.spec.override import dump_with_overrides, error_override_vars from merlin.spec.specification import MerlinSpec diff --git a/merlin/study/celeryadapter.py b/merlin/study/celeryadapter.py index 79868b096..4b05f5c8e 100644 --- a/merlin/study/celeryadapter.py +++ b/merlin/study/celeryadapter.py @@ -37,16 +37,8 @@ import time from contextlib import suppress -from merlin.study.batch import ( - batch_check_parallel, - batch_worker_launch, -) -from merlin.utils import ( - get_procs, - get_yaml_var, - is_running, - regex_list_filter, -) +from merlin.study.batch import batch_check_parallel, batch_worker_launch +from merlin.utils import get_procs, get_yaml_var, is_running, regex_list_filter LOG = logging.getLogger(__name__) diff --git a/merlin/study/study.py b/merlin/study/study.py index c2f3e7140..914d59064 100644 --- a/merlin/study/study.py +++ b/merlin/study/study.py @@ -41,14 +41,8 @@ from merlin.common.abstracts.enums import ReturnCode from merlin.spec import defaults -from merlin.spec.expansion import ( - determine_user_variables, - expand_line, -) -from merlin.spec.override import ( - dump_with_overrides, - error_override_vars, -) +from merlin.spec.expansion import determine_user_variables, expand_line +from merlin.spec.override import dump_with_overrides, error_override_vars from merlin.spec.specification import MerlinSpec from merlin.study.dag import DAG from merlin.utils import load_array_file diff --git a/merlin/utils.py b/merlin/utils.py index 46a1f4fe2..560ba1f3a 100644 --- a/merlin/utils.py +++ b/merlin/utils.py @@ -36,10 +36,7 @@ import os import re import subprocess -from contextlib import ( - contextmanager, - suppress, -) +from contextlib import contextmanager, suppress from copy import deepcopy from types import SimpleNamespace diff --git a/tests/common/test_sample_index.py b/tests/common/test_sample_index.py index e5d34f32b..ba18db1e8 100644 --- a/tests/common/test_sample_index.py +++ b/tests/common/test_sample_index.py @@ -3,10 +3,7 @@ import unittest from contextlib import suppress -from merlin.common.sample_index_factory import ( - create_hierarchy, - read_hierarchy, -) +from merlin.common.sample_index_factory import create_hierarchy, read_hierarchy TEST_DIR = "UNIT_TEST_SPACE" diff --git a/tests/integration/run_tests.py b/tests/integration/run_tests.py index 96469268e..a35265866 100644 --- a/tests/integration/run_tests.py +++ b/tests/integration/run_tests.py @@ -40,10 +40,7 @@ from contextlib import suppress from glob import glob from re import search -from subprocess import ( - PIPE, - Popen, -) +from subprocess import PIPE, Popen OUTPUT_DIR = "cli_test_studies" @@ -343,11 +340,16 @@ def define_tests(): demo = "workflows/feature_demo/feature_demo.yaml" simple = "workflows/simple_chain/simple_chain.yaml" black = "black --check --target-version py36" + config_dir = "./CLI_TEST_MERLIN_CONFIG" return { "merlin": ("merlin", ReturnCodeCond(1)), "merlin help": ("merlin --help", ReturnCodeCond()), "merlin version": ("merlin --version", ReturnCodeCond()), + "merlin config": ( + f"merlin config -o {config_dir}; rm -rf {config_dir}", + ReturnCodeCond(), + ), "run-workers echo simple_chain": ( f"{workers} {simple} --echo", [ReturnCodeCond(), RegexCond(celery_regex)], @@ -447,7 +449,7 @@ def setup_argparse(): nargs="+", default=None, help="Provide space-delimited ids of tests you want to run." - "Example: '--ids 1 5 8'", + "Example: '--ids 1 5 8 13'", ) return parser From 267f1ec67a152fef7650d4912aea25a4160ed29b Mon Sep 17 00:00:00 2001 From: Bay Date: Mon, 25 Nov 2019 09:13:39 -0800 Subject: [PATCH 19/32] added pyyaml to release.txt, sorted release deps. --- requirements/release.txt | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/requirements/release.txt b/requirements/release.txt index 08ca47770..df9b5f1dd 100644 --- a/requirements/release.txt +++ b/requirements/release.txt @@ -1,11 +1,12 @@ +cached_property celery[redis]>=4.3.0 +coloredlogs +cryptography +importlib_resources; python_version < '3.7' numpy parse psutil>=5.1.0 -cryptography -cached_property -coloredlogs -importlib_resources; python_version < '3.7' +pyyaml # Install tip of maestrowf -e git+https://github.com/LLNL/maestrowf.git#egg=maestrowf From 436463ed8ca47051f9edcef3f1a853944c969e7c Mon Sep 17 00:00:00 2001 From: Bay Date: Mon, 25 Nov 2019 09:20:01 -0800 Subject: [PATCH 20/32] specified pyyaml version --- requirements/release.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/requirements/release.txt b/requirements/release.txt index df9b5f1dd..976c32560 100644 --- a/requirements/release.txt +++ b/requirements/release.txt @@ -6,7 +6,7 @@ importlib_resources; python_version < '3.7' numpy parse psutil>=5.1.0 -pyyaml +pyyaml>=5.1.2 # Install tip of maestrowf -e git+https://github.com/LLNL/maestrowf.git#egg=maestrowf From 8f5cd24eedead25572babee883b6a0bc9ea8aeca Mon Sep 17 00:00:00 2001 From: "Joseph M. Koning" Date: Fri, 22 Nov 2019 12:13:57 -0800 Subject: [PATCH 21/32] Merge develop into master. Changes consist of style, docs, a dep, and Travis CI. Adding Travis CI functionality small adjustment another small adjustment adjusted virtualenv path adjusted virtualenv path commented out cryptography added semicolons fixing yaml... rearranged travis working on cryptography error temporarily removed ci tests, added py 3.7 and 3.8 added the passing command line tests added verbose flag added merlin config to script added merlin config cli test, added tests to travis script added pyyaml to release.txt, sorted release deps. specified pyyaml version --- .travis.yml | 17 +++++++++++++++ docs/source/spack.rst | 30 +++++++++++---------------- merlin/__init__.py | 1 + merlin/celery.py | 10 ++------- merlin/common/sample_index_factory.py | 5 +---- merlin/common/tasks.py | 24 ++++----------------- merlin/display.py | 5 +---- merlin/main.py | 10 ++------- merlin/spec/expansion.py | 10 ++------- merlin/study/celeryadapter.py | 12 ++--------- merlin/study/study.py | 10 ++------- merlin/utils.py | 5 +---- requirements/release.txt | 9 ++++---- tests/common/test_sample_index.py | 5 +---- tests/integration/run_tests.py | 12 ++++++----- 15 files changed, 60 insertions(+), 105 deletions(-) create mode 100644 .travis.yml diff --git a/.travis.yml b/.travis.yml new file mode 100644 index 000000000..02bbdf186 --- /dev/null +++ b/.travis.yml @@ -0,0 +1,17 @@ +language: python +python: + - "3.6" + - "3.7" + - "3.8" +install: + - "pip install --upgrade pip" + - "pip install cryptography" + - "pip install -r requirements.txt" + - "pip install -e ." + - "pip install -r requirements/mysql.txt" + - "pip install --upgrade sphinx" +script: + - "merlin config" + - "python -m pytest tests/" + - "python tests/integration/run_tests.py --verbose --ids 1 2 3 4 5 6 7 8 9 12 13 18 19 20" + diff --git a/docs/source/spack.rst b/docs/source/spack.rst index 9701c55b8..c85ea959c 100644 --- a/docs/source/spack.rst +++ b/docs/source/spack.rst @@ -9,16 +9,6 @@ Merlin will then be installed in this specific version allowing for multiple python versions on a single system without the need for a virtualenv. The py-merlinwf package builds with python3.6+. -Checkout merlin spack repo -************************** - - -Get the latest version of merlin.spack from github. - -:: - - git clone https://github.com/LLNL/merlin.spack.git - Checkout spack ************** @@ -32,6 +22,16 @@ make sure merlin and spack are in separate directories. git clone https://github.com/spack/spack.git +The merlin addition to spack is currently in pull requests, you can clone a +branch that has all of the PR changes here: + +.. code:: bash + + git clone https://github.com/koning/spack.git + cd spack + git checkout feature/koning/merlinwf + + Setup spack *********** @@ -57,18 +57,12 @@ To see the compilers. spack compiler list -Add the merlin.spack repo to spack (done once): - -.. code:: bash - - spack repo add //merlin.spack - Build merlin ************ -Build merlin, this will take a *long* time, be prepared to wait. It is going -to build python and everything python needs including numpy. +Build merlin, this will take a *long* time, be prepared to wait. It will +build python and all python modules merlin needs including numpy. .. code:: bash diff --git a/merlin/__init__.py b/merlin/__init__.py index 31b8d970d..d5e9b710f 100644 --- a/merlin/__init__.py +++ b/merlin/__init__.py @@ -37,6 +37,7 @@ import os import sys + __version__ = "1.0.0" VERSION = __version__ PATH_TO_PROJ = os.path.join(os.path.dirname(__file__), "") diff --git a/merlin/celery.py b/merlin/celery.py index 92996ee16..59b5f4e8d 100644 --- a/merlin/celery.py +++ b/merlin/celery.py @@ -29,10 +29,7 @@ ############################################################################### """Updated celery configuration.""" -from __future__ import ( - absolute_import, - print_function, -) +from __future__ import absolute_import, print_function import logging import os @@ -43,10 +40,7 @@ from celery.signals import worker_process_init import merlin.common.security.encrypt_backend_traffic -from merlin.config import ( - broker, - results_backend, -) +from merlin.config import broker, results_backend from merlin.log_formatter import FORMATS from merlin.router import route_for_task diff --git a/merlin/common/sample_index_factory.py b/merlin/common/sample_index_factory.py index 288b7ace5..436dc3d60 100644 --- a/merlin/common/sample_index_factory.py +++ b/merlin/common/sample_index_factory.py @@ -33,10 +33,7 @@ """ from parse import parse -from merlin.common.sample_index import ( - MAX_SAMPLE, - SampleIndex, -) +from merlin.common.sample_index import MAX_SAMPLE, SampleIndex from merlin.utils import cd diff --git a/merlin/common/tasks.py b/merlin/common/tasks.py index 7b58e3418..1d12bdab1 100644 --- a/merlin/common/tasks.py +++ b/merlin/common/tasks.py @@ -29,34 +29,18 @@ ############################################################################### """Test tasks.""" -from __future__ import ( - absolute_import, - unicode_literals, -) +from __future__ import absolute_import, unicode_literals import logging import os -from celery import ( - chain, - chord, - group, - shared_task, - signature, -) -from celery.exceptions import ( - OperationalError, - TimeoutError, -) +from celery import chain, chord, group, shared_task, signature +from celery.exceptions import OperationalError, TimeoutError from merlin.common.abstracts.enums import ReturnCode from merlin.common.sample_index import uniform_directories from merlin.common.sample_index_factory import create_hierarchy -from merlin.exceptions import ( - HardFailException, - InvalidChainException, - RetryException, -) +from merlin.exceptions import HardFailException, InvalidChainException, RetryException from merlin.router import stop_workers from merlin.spec.expansion import ( parameter_substitutions_for_cmd, diff --git a/merlin/display.py b/merlin/display.py index cb4dcd0cb..25aa518f2 100644 --- a/merlin/display.py +++ b/merlin/display.py @@ -37,10 +37,7 @@ from tabulate import tabulate from merlin.ascii_art import banner_small -from merlin.config import ( - broker, - results_backend, -) +from merlin.config import broker, results_backend from merlin.config.configfile import default_config_info diff --git a/merlin/main.py b/merlin/main.py index d7b3f9b35..b000f8ad5 100644 --- a/merlin/main.py +++ b/merlin/main.py @@ -42,16 +42,10 @@ ) from contextlib import suppress -from merlin import ( - VERSION, - router, -) +from merlin import VERSION, router from merlin.ascii_art import banner_small from merlin.log_formatter import setup_logging -from merlin.spec.expansion import ( - RESERVED, - get_spec_with_expansion, -) +from merlin.spec.expansion import RESERVED, get_spec_with_expansion from merlin.study.study import MerlinStudy from merlin.utils import ARRAY_FILE_FORMATS diff --git a/merlin/spec/expansion.py b/merlin/spec/expansion.py index 4012f797e..803dc60ba 100644 --- a/merlin/spec/expansion.py +++ b/merlin/spec/expansion.py @@ -30,16 +30,10 @@ import logging from collections import ChainMap -from os.path import ( - expanduser, - expandvars, -) +from os.path import expanduser, expandvars from merlin.common.abstracts.enums import ReturnCode -from merlin.spec.override import ( - dump_with_overrides, - error_override_vars, -) +from merlin.spec.override import dump_with_overrides, error_override_vars from merlin.spec.specification import MerlinSpec diff --git a/merlin/study/celeryadapter.py b/merlin/study/celeryadapter.py index 79868b096..4b05f5c8e 100644 --- a/merlin/study/celeryadapter.py +++ b/merlin/study/celeryadapter.py @@ -37,16 +37,8 @@ import time from contextlib import suppress -from merlin.study.batch import ( - batch_check_parallel, - batch_worker_launch, -) -from merlin.utils import ( - get_procs, - get_yaml_var, - is_running, - regex_list_filter, -) +from merlin.study.batch import batch_check_parallel, batch_worker_launch +from merlin.utils import get_procs, get_yaml_var, is_running, regex_list_filter LOG = logging.getLogger(__name__) diff --git a/merlin/study/study.py b/merlin/study/study.py index c2f3e7140..914d59064 100644 --- a/merlin/study/study.py +++ b/merlin/study/study.py @@ -41,14 +41,8 @@ from merlin.common.abstracts.enums import ReturnCode from merlin.spec import defaults -from merlin.spec.expansion import ( - determine_user_variables, - expand_line, -) -from merlin.spec.override import ( - dump_with_overrides, - error_override_vars, -) +from merlin.spec.expansion import determine_user_variables, expand_line +from merlin.spec.override import dump_with_overrides, error_override_vars from merlin.spec.specification import MerlinSpec from merlin.study.dag import DAG from merlin.utils import load_array_file diff --git a/merlin/utils.py b/merlin/utils.py index 46a1f4fe2..560ba1f3a 100644 --- a/merlin/utils.py +++ b/merlin/utils.py @@ -36,10 +36,7 @@ import os import re import subprocess -from contextlib import ( - contextmanager, - suppress, -) +from contextlib import contextmanager, suppress from copy import deepcopy from types import SimpleNamespace diff --git a/requirements/release.txt b/requirements/release.txt index 08ca47770..976c32560 100644 --- a/requirements/release.txt +++ b/requirements/release.txt @@ -1,11 +1,12 @@ +cached_property celery[redis]>=4.3.0 +coloredlogs +cryptography +importlib_resources; python_version < '3.7' numpy parse psutil>=5.1.0 -cryptography -cached_property -coloredlogs -importlib_resources; python_version < '3.7' +pyyaml>=5.1.2 # Install tip of maestrowf -e git+https://github.com/LLNL/maestrowf.git#egg=maestrowf diff --git a/tests/common/test_sample_index.py b/tests/common/test_sample_index.py index e5d34f32b..ba18db1e8 100644 --- a/tests/common/test_sample_index.py +++ b/tests/common/test_sample_index.py @@ -3,10 +3,7 @@ import unittest from contextlib import suppress -from merlin.common.sample_index_factory import ( - create_hierarchy, - read_hierarchy, -) +from merlin.common.sample_index_factory import create_hierarchy, read_hierarchy TEST_DIR = "UNIT_TEST_SPACE" diff --git a/tests/integration/run_tests.py b/tests/integration/run_tests.py index 96469268e..a35265866 100644 --- a/tests/integration/run_tests.py +++ b/tests/integration/run_tests.py @@ -40,10 +40,7 @@ from contextlib import suppress from glob import glob from re import search -from subprocess import ( - PIPE, - Popen, -) +from subprocess import PIPE, Popen OUTPUT_DIR = "cli_test_studies" @@ -343,11 +340,16 @@ def define_tests(): demo = "workflows/feature_demo/feature_demo.yaml" simple = "workflows/simple_chain/simple_chain.yaml" black = "black --check --target-version py36" + config_dir = "./CLI_TEST_MERLIN_CONFIG" return { "merlin": ("merlin", ReturnCodeCond(1)), "merlin help": ("merlin --help", ReturnCodeCond()), "merlin version": ("merlin --version", ReturnCodeCond()), + "merlin config": ( + f"merlin config -o {config_dir}; rm -rf {config_dir}", + ReturnCodeCond(), + ), "run-workers echo simple_chain": ( f"{workers} {simple} --echo", [ReturnCodeCond(), RegexCond(celery_regex)], @@ -447,7 +449,7 @@ def setup_argparse(): nargs="+", default=None, help="Provide space-delimited ids of tests you want to run." - "Example: '--ids 1 5 8'", + "Example: '--ids 1 5 8 13'", ) return parser From a3e907e847750dfa7f7f0a9aca9112e7d853aa78 Mon Sep 17 00:00:00 2001 From: Bay Date: Tue, 26 Nov 2019 13:26:03 -0800 Subject: [PATCH 22/32] remove pytest-runner and deprecated setup.py entries --- requirements/dev.txt | 1 - setup.py | 2 -- 2 files changed, 3 deletions(-) diff --git a/requirements/dev.txt b/requirements/dev.txt index d300b663b..bd3b12e13 100644 --- a/requirements/dev.txt +++ b/requirements/dev.txt @@ -4,7 +4,6 @@ dep-license flake8 isort pytest -pytest-runner sphinx sphinx_rtd_theme diff --git a/setup.py b/setup.py index e9294f1ba..3f78cd94e 100644 --- a/setup.py +++ b/setup.py @@ -100,8 +100,6 @@ def extras_require(): packages=find_packages(exclude=["tests.*", "tests"]), install_requires=install_requires(), extras_require=extras_require(), - setup_requires=["pytest-runner"], - tests_require=["pytest"], entry_points={ "console_scripts": [ "merlin=merlin.main:main", From a81206c39b9d54ec8876cd80e79a0e11ea069c6f Mon Sep 17 00:00:00 2001 From: Bay Date: Tue, 26 Nov 2019 13:53:34 -0800 Subject: [PATCH 23/32] added code of conduct --- .github/CODE_OF_CONDUCT.md | 47 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 47 insertions(+) create mode 100644 .github/CODE_OF_CONDUCT.md diff --git a/.github/CODE_OF_CONDUCT.md b/.github/CODE_OF_CONDUCT.md new file mode 100644 index 000000000..20faf2602 --- /dev/null +++ b/.github/CODE_OF_CONDUCT.md @@ -0,0 +1,47 @@ +# Merlin Community Code of Conduct + +## Our Pledge + +In the interest of fostering an open and welcoming environment, we as contributors and maintainers pledge to making participation in our project and our community a harassment-free experience for everyone, regardless of age, body size, disability, ethnicity, gender identity and expression, level of experience, nationality, personal appearance, race, religion, or sexual identity and orientation. + +## Our Standards + +Examples of behavior that contributes to creating a positive environment include: + +* Using welcoming and inclusive language +* Being respectful of differing viewpoints and experiences +* Gracefully accepting constructive criticism +* Focusing on what is best for the community +* Showing empathy towards other community members + +Examples of unacceptable behavior by participants include: + +* The use of sexualized language or imagery and unwelcome sexual attention or advances +* Trolling, insulting/derogatory comments, and personal or political attacks +* Public or private harassment +* Publishing others' private information, such as a physical or electronic address, without explicit permission +* Other conduct which could reasonably be considered inappropriate in a professional setting + +## Our Responsibilities + +Project maintainers are responsible for clarifying the standards of acceptable behavior and are expected to take appropriate and fair corrective action in response to any instances of unacceptable behavior. + +Project maintainers have the right and responsibility to remove, edit, or reject comments, commits, code, wiki edits, issues, and other contributions that are not aligned to this Code of Conduct, or to ban temporarily or permanently any contributor for other behaviors that they deem inappropriate, threatening, offensive, or harmful. + +## Scope + +This Code of Conduct applies both within project spaces and in public spaces when an individual is representing the Merlin project or its community. Examples of representing the project or community include using an official project e-mail address, posting via an official social media account, or acting as an appointed representative at an online or offline event. Representation of the project may be further defined and clarified by Merlin maintainers. + +## Enforcement + +Instances of abusive, harassing, or otherwise unacceptable behavior may be reported by contacting the project team at merlin@llnl.gov. The project team will review and investigate all complaints, and will respond in a way that it deems appropriate to the circumstances. The project team is obligated to maintain confidentiality with regard to the reporter of an incident. Further details of specific enforcement policies may be posted separately. + +Project maintainers who do not follow or enforce the Code of Conduct in good faith may face temporary or permanent repercussions as determined by other members of the project's leadership. + +## Attribution + +This Code of Conduct is adapted from the [Contributor Covenant][homepage], version 1.4, available at [http://contributor-covenant.org/version/1/4][version] + +[homepage]: http://contributor-covenant.org +[version]: http://contributor-covenant.org/version/1/4/ + From e370f13c3c87b0adeacab2ea17a90004fbd0d3fd Mon Sep 17 00:00:00 2001 From: Bay Date: Tue, 26 Nov 2019 13:58:11 -0800 Subject: [PATCH 24/32] added code of conduct to README --- README.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/README.md b/README.md index 49cacf351..de0a12a0c 100644 --- a/README.md +++ b/README.md @@ -121,6 +121,10 @@ namely a demo workflow that has simulation and machine-learning: More documentation on the example workflows can be found under 'Running the Examples'. +# Code of Conduct +Please note that Merlin has a +[**Code of Conduct**](.github/CODE_OF_CONDUCT.md). By participating in +the Merlin community, you agree to abide by its rules. # Running the Examples Example workflows can be found in the `workflows/` directory. From 40bc23fb9b879ddc1ddd3b6ad8e331fa75c99c61 Mon Sep 17 00:00:00 2001 From: Bay Date: Tue, 26 Nov 2019 15:12:59 -0800 Subject: [PATCH 25/32] Add travis auto pypi deployment added travis pypi deployment logic fixed user name --- .travis.yml | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/.travis.yml b/.travis.yml index 02bbdf186..5d1fb6d56 100644 --- a/.travis.yml +++ b/.travis.yml @@ -14,4 +14,11 @@ script: - "merlin config" - "python -m pytest tests/" - "python tests/integration/run_tests.py --verbose --ids 1 2 3 4 5 6 7 8 9 12 13 18 19 20" - +deploy: + provider: pypi + user: "__token__" + password: + secure: Bd4xw0sEPixUiOwnl+5MYQaSX8SHKc0Dughg2Ls/B/e3NcvmCbYeBEz+2yclByffdNkxrQCTzMI90gZ5i7aKBuzEZ4E/RHXytwoLWOIKw3rE5jun44Vb9anLz2V+hEF6DSZ47fe+5re0D/TKCjtP7KTqLTDDdgg6+f648IbiE2CCmJXXeia48MzkUlLHYRbIuyWXGhaQasZwIoZQ872+xX0n8/3p+bV6BZ415DwJSsEdFmDu/F9drSVLUV6monU4eIfVoveos4HPH76J5WDMlwq6ZMaxF5E88ExiM9JJ4KNrrxBgLFS2I0BZmI92edHqtSs6TWz7Qo4wvW/6emosQjs6EWS8JmhSMdMFyhBos+Mx6HJYqJb4Nxcx9vclcpWSSzKSKUkAKX7bN5+v2Oy5BXfCdLBxWY+et+6ZY7/SzutOfgPmEz7BG7YiC9vZAGYpas4H3C6sOAdIb8y2lvL9Vht1+94GITZ0nFzdmpNGmAN6g9BAPvrEVWnZKdy0qpcBIpS/KW0N5/8jG74D0ouEDRgH5ahV5+RoyzzGrShC2XBHne4bGHb59DHWBRJBo2bS2Df0+gZPsd15kfjOCyZNHUIni2yQ83GgGc7hznLJd/UIvvPTGG42LjppzER5kimGor8BZ3B58dKrHqqFgRyAowOgoVlhd01rMi4a1QwS6ao= + on: + tags: true + branch: master From 454a51c726ab15ab7f9f8e5869957af5e3970292 Mon Sep 17 00:00:00 2001 From: Luc Peterson Date: Tue, 3 Dec 2019 09:44:24 -0800 Subject: [PATCH 26/32] Add issue templates --- .github/ISSUE_TEMPLATE/bug_report.md | 35 +++++++++++++++++++++++ .github/ISSUE_TEMPLATE/feature_request.md | 20 +++++++++++++ 2 files changed, 55 insertions(+) create mode 100644 .github/ISSUE_TEMPLATE/bug_report.md create mode 100644 .github/ISSUE_TEMPLATE/feature_request.md diff --git a/.github/ISSUE_TEMPLATE/bug_report.md b/.github/ISSUE_TEMPLATE/bug_report.md new file mode 100644 index 000000000..e2732be85 --- /dev/null +++ b/.github/ISSUE_TEMPLATE/bug_report.md @@ -0,0 +1,35 @@ +--- +name: Bug report +about: Create a report to help Merlin improve +title: "[BUG]" +labels: '' +assignees: '' + +--- + +**Describe the bug** +A clear and concise description of what the bug is. + +**To Reproduce** +Steps to reproduce the behavior: +1. Go to '...' +2. Click on '....' +3. Scroll down to '....' +4. See error + +**Expected behavior** +A clear and concise description of what you expected to happen. + +**Screenshots** +If applicable, add screenshots to help explain your problem. + +**Please answer these questions to help us pinpoint the problem** +- Does the problem occur in `merlin run --local` mode, distributed mode or neither? +- If a distributed problem, which backend and queue servers are you using? How are they configured? +- On what machines/architectures are you running merlin? Is this bug on a specific machine or can you reproduce it elsewhere? + +**Please run `merlin info` and paste the results here:** + + +**Additional context** +Add any other context about the problem here. diff --git a/.github/ISSUE_TEMPLATE/feature_request.md b/.github/ISSUE_TEMPLATE/feature_request.md new file mode 100644 index 000000000..df1d1b1c0 --- /dev/null +++ b/.github/ISSUE_TEMPLATE/feature_request.md @@ -0,0 +1,20 @@ +--- +name: Feature request +about: Suggest an idea for Merlin +title: "[FEATURE]" +labels: '' +assignees: '' + +--- + +**Is your feature request related to a problem? Please describe.** +A clear and concise description of what the problem is. Ex. I'm always frustrated when [...] + +**Describe the solution you'd like** +A clear and concise description of what you want to happen. + +**Describe alternatives you've considered** +A clear and concise description of any alternative solutions or features you've considered. + +**Additional context** +Add any other context or screenshots about the feature request here. From 8cac7649162e654557c0261527012829ec098951 Mon Sep 17 00:00:00 2001 From: Bay Date: Tue, 3 Dec 2019 16:09:58 -0800 Subject: [PATCH 27/32] fixed up setup.py for twine --- setup.py | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/setup.py b/setup.py index 3f78cd94e..682484ce6 100644 --- a/setup.py +++ b/setup.py @@ -89,13 +89,17 @@ def extras_require(): setup( - name="merlin", + name="merlinwf", version=version, description="The building blocks of workflows!", long_description=readme(), - classifiers=["Programming Language :: Python :: 3.6+"], + long_description_content_type="text/markdown", + classifiers=["Programming Language :: Python :: 3.6"], + "Programming Language :: Python :: 3.7", + "Programming Language :: Python :: 3.8", + "Programming Language :: Python :: 3.9", keywords="machine learning workflow", - url="https://lc.llnl.gov/bitbucket/projects/MLSI/repos/merlin/browse", + url="https://github.com/LLNL/merlin", license="MIT", packages=find_packages(exclude=["tests.*", "tests"]), install_requires=install_requires(), From ab59c8bf99cbd1c81da9568c84f5405aa5aeeae1 Mon Sep 17 00:00:00 2001 From: Bay Date: Tue, 3 Dec 2019 16:24:06 -0800 Subject: [PATCH 28/32] fixed syntax error --- setup.py | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/setup.py b/setup.py index 682484ce6..a1c98ab04 100644 --- a/setup.py +++ b/setup.py @@ -94,10 +94,12 @@ def extras_require(): description="The building blocks of workflows!", long_description=readme(), long_description_content_type="text/markdown", - classifiers=["Programming Language :: Python :: 3.6"], + classifiers=[ + "Programming Language :: Python :: 3.6", "Programming Language :: Python :: 3.7", "Programming Language :: Python :: 3.8", "Programming Language :: Python :: 3.9", + ], keywords="machine learning workflow", url="https://github.com/LLNL/merlin", license="MIT", @@ -107,7 +109,7 @@ def extras_require(): entry_points={ "console_scripts": [ "merlin=merlin.main:main", - "merlin-templates=merlin.merlin_templates:main" + "merlin-templates=merlin.merlin_templates:main", ] }, include_package_data=True, From ea93d48cc12f2be27bda3b54f4a06ff3c1f9f6ec Mon Sep 17 00:00:00 2001 From: Benjamin Bay <48391872+ben-bay@users.noreply.github.com> Date: Tue, 3 Dec 2019 16:58:30 -0800 Subject: [PATCH 29/32] Update README.md --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index de0a12a0c..c1c7e7d83 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,4 @@ -
            *      
        *~~~~~                                       

From 91b907f8262d4c68dc26dae157a5f73c3f5a4be3 Mon Sep 17 00:00:00 2001
From: Bay <bay1@llnl.gov>
Date: Tue, 3 Dec 2019 17:03:13 -0800
Subject: [PATCH 30/32] incremented version

---
 merlin/__init__.py | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/merlin/__init__.py b/merlin/__init__.py
index d5e9b710f..39ac1882f 100644
--- a/merlin/__init__.py
+++ b/merlin/__init__.py
@@ -38,7 +38,7 @@
 import sys
 
 
-__version__ = Date: Wed, 4 Dec 2019 09:24:06 -0800 Subject: [PATCH 31/32] attempting to fix Merlin logo --- README.md | 16 +++------------- 1 file changed, 3 insertions(+), 13 deletions(-) diff --git a/README.md b/README.md index c1c7e7d83..9d8be283d 100644 --- a/README.md +++ b/README.md @@ -1,16 +1,6 @@ - +![alt text][logo] + +[logo]: https://github.com/LLNL/merlin/blob/master/docs/images/merlin.png "Merlin logo" Welcome to the Merlin README, a condensed guide. For more in-depth Merlin information, try our [web docs here](https://merlin.readthedocs.io/). From 5b08ff22ea28451f51762fdfd865844f211f1a4e Mon Sep 17 00:00:00 2001 From: Bay Date: Wed, 4 Dec 2019 09:44:32 -0800 Subject: [PATCH 32/32] increment version to 1.0.2 to allow for a fresh PyPI upload. --- merlin/__init__.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/merlin/__init__.py b/merlin/__init__.py index 39ac1882f..073551f80 100644 --- a/merlin/__init__.py +++ b/merlin/__init__.py @@ -38,7 +38,7 @@ import sys -__version__ = "1.0.1" +__version__ = "1.0.2" VERSION = __version__ PATH_TO_PROJ = os.path.join(os.path.dirname(__file__), "")