Skip to content

Commit

Permalink
Release/0.10.0 (#304)
Browse files Browse the repository at this point in the history
* Update changelog.

* Move deprecation to second minor version.

* Remove update_aliases.

* Remove export_job_stati.

* Remove classify.

* Remove next_operation.

* Remove eligible_for_submission.

* Fix tests that previously used next_operation.

* Remove deprecated progressbar.py.

* Update contributors, add Brandon to maintainer list.

* Bump up to version 0.10.0.

* Add Brandon to authors.

* Update CONTRIBUTING.md.

* Update CONTRIBUTING.md.

* Remove extra line from test.

* Update changelog.txt.
  • Loading branch information
bdice authored Jun 27, 2020
1 parent ec4dbb5 commit 6fc1ad8
Show file tree
Hide file tree
Showing 13 changed files with 135 additions and 193 deletions.
38 changes: 35 additions & 3 deletions .zenodo.json
Original file line number Diff line number Diff line change
Expand Up @@ -32,6 +32,7 @@
{
"affiliation": "University of Michigan",
"name": "Yuan Zhou",
"orcid": "0000-0002-6727-0836",
"type": "Other"
},
{
Expand Down Expand Up @@ -77,8 +78,34 @@
},
{
"affiliation": "University of Michigan",
"name": "Brandon Butler",
"orcid": "0000-0001-7739-7796",
"name": "Tobias Dwyer",
"orcid": "0000-0001-6443-7744",
"type": "Other"
},
{
"affiliation": "National Institute of Technology, Hamirpur",
"name": "Vishav Sharma",
"type": "Other"
},
{
"affiliation": "Indian Institute of Technology Roorkee",
"name": "Hardik Ojha",
"type": "Other"
},
{
"affiliation": "Birla Institute of Technology and Science, Pilani - Goa Campus",
"name": "Yash Bhardwaj",
"type": "Other"
},
{
"affiliation": "",
"name": "Jacob Dice",
"orcid": "0000-0002-9479-1661",
"type": "Other"
},
{
"affiliation": "Indian Institute of Technology, Gandhinagar",
"name": "Abhavya Chandra",
"type": "Other"
}
],
Expand All @@ -103,6 +130,11 @@
"name": "Mike Henry",
"orcid": "0000-0002-3870-9993"
},
{
"affiliation": "University of Michigan",
"name": "Brandon Butler",
"orcid": "0000-0001-7739-7796"
},
{
"affiliation": "University of Michigan",
"name": "Paul M. Dodd"
Expand All @@ -129,5 +161,5 @@
},
"title": "signac-flow",
"upload_type": "software",
"version": "0.9.0"
"version": "0.10.0"
}
7 changes: 6 additions & 1 deletion CITATION.cff
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
---
cff-version: "1.0.3"
title: signac-flow
version: 0.9.0
version: 0.10.0
abstract: |
The signac-flow tool provides the basic components to set up simple to complex workflows for projects as part of the signac framework. That includes the definition of data pipelines, execution of data space operations and the submission of operations to high-performance super computers.
authors:
Expand All @@ -26,6 +26,11 @@ authors:
given-names: Mike
affiliation: "Boise State University"
orcid: "https://orcid.org/0000-0002-3870-9993"
-
family-names: Butler
given-names: Brandon
affiliation: "University of Michigan"
orcid: "https://orcid.org/0000-0001-7739-7796"
-
family-names: Dodd
given-names: "Paul M."
Expand Down
67 changes: 50 additions & 17 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
@@ -1,32 +1,65 @@
# How to contribute to the project
# How to Contribute to the Project

## Feedback
## Providing Feedback

Issue reports and feature proposals are very welcome.
Please use the [GitHub issue page](https://github.com/glotzerlab/signac-flow/issues/) for this.
Please use the [GitHub issue tracker](https://github.com/glotzerlab/signac/issues/) for this.

## Contributing code
## Writing Documentation

Code contributions to the signac-flow open-source project are welcomed via pull requests on GitHub.
A general introduction in the form of tutorials, guides, and recipes is published as part of the framework documentation at [https://docs.signac.io](https://docs.signac.io).
The API of each package as part of the framework is documented in the form of doc-strings, which are published on `https://docs.signac.io/projects/$package`, where `$package` is currently one of `core`, `flow`, or `dashboard`.

Anyone is invited to add to or edit any part of the documentation.
To fix a spelling mistake or make minor edits, click on the **Edit on GitHub** button in the top-right corner.
For more substantial edits, consider cloning the [signac-docs repository](https://github.com/glotzerlab/signac-docs) to a local computer.

## Triaging Issues

Any contributor is invited to triage new issues by applying any of the existing [labels](https://github.com/glotzerlab/signac/labels).

## Contributing Code

Code contributions to the signac open-source project are welcomed via pull requests on GitHub.
Prior any work you should contact the signac developers to ensure that the planned development meshes well with the directions and standards of the project.
All contributors must agree to the Contributor Agreement ([ContributorAgreement.md](ContributorAgreement.md)) before their pull request can be merged.

### General guidelines
### Guideline for Code Contributions

* Use the [OneFlow](https://www.endoflineblog.com/oneflow-a-git-branching-model-and-workflow) model of development:
- Both new features and bug fixes should be developed in branches based on `master`.
- Hotfixes (critical bugs that need to be released *fast*) should be developed in a branch based on the latest tagged release.
* Write code that is compatible with all supported versions of Python (listed in [setup.py](https://github.com/glotzerlab/signac-flow/blob/master/setup.py)).
* Avoid introducing dependencies -- especially those that might be harder to install in high-performance computing environments.
* Create [unit tests](https://en.wikipedia.org/wiki/Unit_testing) and [integration tests](https://en.wikipedia.org/wiki/Integration_testing) that cover the common cases and the corner cases of the code.
* Preserve backwards-compatibility whenever possible, and make clear if something must change.
* Document any portions of the code that might be less clear to others, especially to new developers.
* Write API documentation in this package, and put usage information, guides, and concept overviews in the [framework documentation](https://docs.signac.io/) ([source](https://github.com/glotzerlab/signac-docs/)).
* Use the [OneFlow](https://www.endoflineblog.com/oneflow-a-git-branching-model-and-workflow) model of development:
- Both new features and bug fixes should be developed in branches based on `master`.
- Hotfixes (critical bugs that need to be released *fast*) should be developed in a branch based on the latest tagged release.
* Write code that is compatible with all supported versions of Python (listed in [setup.py](https://github.com/glotzerlab/signac/blob/master/setup.py)).
* Avoid introducing dependencies -- especially those that might be harder to install in high-performance computing environments.
* Create [unit tests](https://en.wikipedia.org/wiki/Unit_testing) and [integration tests](https://en.wikipedia.org/wiki/Integration_testing) that cover the common cases and the corner cases of the code.
* Preserve backwards-compatibility whenever possible, and make clear if something must change.
* Document any portions of the code that might be less clear to others, especially to new developers.
* Write API documentation in this package, and put usage information, guides, and concept overviews in the [framework documentation](https://docs.signac.io/) ([source](https://github.com/glotzerlab/signac-docs/)).
* Use inclusive language in all documentation and code. The [Google developer documentation style guide](https://developers.google.com/style/inclusive-documentation) is a helpful reference.

Please see the [Support](https://docs.signac.io/projects/signac-flow/en/latest/support.html) section as part of the documentation for detailed development guidelines.
Please see the [Support](https://docs.signac.io/projects/signac-core/en/latest/support.html) section as part of the documentation for detailed development guidelines.

### Code Style

Code submitted to the signac-flow project must adhere to the [PEP8 style guide](https://www.python.org/dev/peps/pep-0008/) with the exception that lines may have up to 100 characters.
Code must adhere to the [PEP8 style guide](https://www.python.org/dev/peps/pep-0008/) with the exception that lines may have up to 100 characters.

We recommend to use [flake8](http://flake8.pycqa.org/en/latest/) and [autopep8](https://pypi.org/project/autopep8/) to find and fix any code style issues prior to committing and pushing.

## Reviewing Pull Requests

Pull requests represent the standard way of contributing code to the code base.
Each pull request is assigned to one of the project committers, who is responsible for triaging it, finding at least two reviewers (one of whom can be themselves), and eventually merging or closing the pull request.
Pull requests should generally be approved by two reviewers prior to merge.

### Guidelines for Pull Request Reviewers

The following general guidelines should be considered during the pull request review process:

* API breaking changes should be avoided whenever possible and require approval by a project maintainer.
* Significant performance degradations must be avoided unless the regression is necessary to fix a bug.
* Non-trivial bug fixes should be accompanied by a unit test that catches the related issue to avoid future regression.
* The code should be easy to follow and sufficiently documented to be understandable even to developers who are not highly familiar with the code.
* Code duplication should be avoided and existing classes and functions are effectively reused.
* The pull request is on-topic and does not introduce multiple independent changes (such as unrelated style fixes).
* A potential increase in code complexity introduced with a pull request is well justified by the benefits of the added feature.
* The API of a new feature is well-documented in the doc-strings and usage is documented as part of the [framework documentation](https://github.com/glotzerlab/signac-docs).
28 changes: 14 additions & 14 deletions changelog.txt
Original file line number Diff line number Diff line change
Expand Up @@ -5,37 +5,37 @@ Changes
The **signac-flow** package follows `semantic versioning <https://semver.org/>`_.
The numbers in brackets denote the related GitHub issue and/or pull request.

next
====
Version 0.10
============

next
----
[0.10.0] -- 2020-06-27
----------------------

Added
+++++

- Add ``FlowGroup``s (one or more operation grouping within an execution environment)(#114)
- Add ``FlowGroup`` (one or more operations can be grouped within an execution environment) (#114).
- Add official support for University of Michigan Great Lakes cluster (#185).
- Add official support for Bridges AI cluster (#222).
- Add IgnoreConditions option for submit(), run() and script() (#38).
- Add pytest support for Testing Framework (#227, #232).
- Add markdown and html format support for print_status() (#113, #163).
- Add ``IgnoreConditions`` option for ``submit()``, ``run()`` and ``script()`` (#38, #209).
- Add pytest support for testing framework (#227, #232).
- Add markdown and html format support for ``print_status()`` (#113, #163).
- Add memory flag option for default Slurm scheduler (#256).
- Add optional environment variable to specify submission script separator (#262).
- Add ``status_parallelization`` configuration to specify the parallelization nature of fetching status (#264, #271).
- Add ``status_parallelization`` configuration to specify the parallelization used for fetching status (#264, #271).

Changed
+++++++

- Raises ``ValueError`` when an operation function is passed to ``FlowProject.pre()`` and ``FlowProject.post()``, or a non-operation function passed to ``FlowProject.pre.after()`` (#248, #249).
- The option to provide the env argument to submit and submit_operations has been deprecated (#245).
- The option to provide the ``env`` argument to ``submit`` and ``submit_operations`` has been deprecated (#245).
- The command line option ``--cmd`` for ``script`` has been deprecated and will trigger a ``DeprecationWarning`` upon use until removed (#243, #218).
- Raises ValueError when --job-name passed by the user because that interferes with status checking (#164, #241).
- Raises ``ValueError`` when ``--job-name`` is passed by the user because that interferes with status checking (#164, #241).
- Submitting with ``--memory`` no longer assumes a unit of gigabytes on Bridges and Comet clusters (#257).
- Buffering is enabled by default, improving the performance of status checks (#273).
- Deprecate the use of ``no_parallelize`` argument while printing status (#264, #271).
- Submission via the command-line interface now calls the ``FlowProject.submit`` function instead of bypassing it for ``FlowProject.submit_operations``(#238, #286).
- Updated Great Lakes gpu request syntax (#299).
- Submission via the command-line interface now calls the ``FlowProject.submit`` function instead of bypassing it for ``FlowProject.submit_operations`` (#238, #286).
- Updated Great Lakes GPU request syntax (#299).

Fixed
+++++
Expand All @@ -45,7 +45,7 @@ Fixed
Removed
+++++++

- Removed ENVIRONMENT global variable in the flow.environment module (#245).
- Removed ``ENVIRONMENT`` global variable in the ``flow.environment`` module (#245).
- Removed vendored ``tqdm`` module and replaced it with a requirement (#247).

Version 0.9
Expand Down
1 change: 1 addition & 0 deletions contributors.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -119,6 +119,7 @@ contributors:
family-names: Dice
given-names: Jacob
orcid: "https://orcid.org/0000-0002-9479-1661"
affiliation: ""
-
family-names: Chandra
given-names: Abhavya
Expand Down
6 changes: 1 addition & 5 deletions doc/api.rst
Original file line number Diff line number Diff line change
Expand Up @@ -29,16 +29,13 @@ The FlowProject

FlowProject.ALIASES
FlowProject.add_operation
FlowProject.classify
FlowProject.completed_operations
FlowProject.eligible_for_submission
FlowProject.export_job_stati
FlowProject.export_job_statuses
FlowProject.get_job_status
FlowProject.label
FlowProject.labels
FlowProject.main
FlowProject.make_group
FlowProject.next_operation
FlowProject.next_operations
FlowProject.operation
FlowProject.operations
Expand All @@ -65,7 +62,6 @@ The FlowProject
FlowProject.script
FlowProject.submit
FlowProject.submit_operations
FlowProject.update_aliases


.. autoclass:: FlowProject
Expand Down
6 changes: 3 additions & 3 deletions doc/conf.py
Original file line number Diff line number Diff line change
Expand Up @@ -65,16 +65,16 @@ def __getattr__(cls, name):
# General information about the project.
project = 'signac-flow'
copyright = 'The Regents of the University of Michigan'
author = 'Carl S. Adorf, Vyas Ramasubramani, Bradley D. Dice, Michael M. Henry, Paul M. Dodd, Sharon C. Glotzer'
author = 'Carl S. Adorf, Vyas Ramasubramani, Bradley D. Dice, Michael M. Henry, Brandon Butler, Paul M. Dodd, Sharon C. Glotzer'

# The version info for the project you're documenting, acts as replacement for
# |version| and |release|, also used in various other places throughout the
# built documents.
#
# The short X.Y version.
version = '0.9.0'
version = '0.10.0'
# The full version, including alpha/beta/rc tags.
release = '0.9.0'
release = '0.10.0'

# The language for content autogenerated by Sphinx. Refer to documentation
# for a list of supported languages.
Expand Down
Loading

0 comments on commit 6fc1ad8

Please sign in to comment.