Skip to content

Commit

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

* Add Brandon Butler to CITATION.cff.

* Add Corwin Kerr and Pengji Zhou to contributors list.

* Add Brandon Butler to docs credits, formatting style.

* Allow pydocstyle to run in doc subdirectory.

* Fix Sphinx warnings.

* Update Zenodo info, make Mike's name match in contributors/creators.

* Exclude setup.cfg from pre-commit hooks (bumpversion interferes).

* Fix keyring>=21.2.0 incompatibility.

* Bump up to version 1.5.0.
  • Loading branch information
bdice committed Sep 21, 2020
1 parent 9cec91e commit 28fe4bc
Show file tree
Hide file tree
Showing 12 changed files with 108 additions and 64 deletions.
2 changes: 2 additions & 0 deletions .pre-commit-config.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,9 @@ repos:
rev: ''
hooks:
- id: end-of-file-fixer
exclude: 'setup.cfg'
- id: trailing-whitespace
exclude: 'setup.cfg'
- id: debug-statements
- repo: local
hooks:
Expand Down
26 changes: 20 additions & 6 deletions .zenodo.json
Original file line number Diff line number Diff line change
Expand Up @@ -51,18 +51,27 @@
"name": "Alyssa Travitz",
"orcid": "0000-0001-5953-8807"
},
{
"affiliation": "University of Michigan",
"name": "Brandon Butler",
"orcid": "0000-0001-7739-7796"
},
{
"affiliation": "National Institute of Technology, Hamirpur",
"name": "Vishav Sharma"
},
{
"affiliation": "Indian Institute of Technology, Gandhinagar",
"name": "Abhavya Chandra"
},
{
"affiliation": "Indian Institute of Technology Roorkee",
"name": "Hardik Ojha"
},
{
"affiliation": "University of Michigan",
"name": "Corwin Kerr",
"orcid": "0000-0003-0776-2596"
},
{
"affiliation": "University of Michigan",
"name": "Pengji Zhou",
"orcid": "0000-0002-1409-9633"
}
],
"creators": [
Expand All @@ -86,6 +95,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 @@ -110,5 +124,5 @@
"id": "http://www.opensource.org/licenses/BSD-3-Clause"
},
"title": "signac",
"version": "1.4.0"
"version": "1.5.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
version: 1.4.0
version: 1.5.0
abstract: |
The signac framework helps users manage and scale file-based workflows, facilitating data
reuse, sharing, and reproducibility. It provides a simple and robust data model to create
Expand Down Expand Up @@ -31,6 +31,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
14 changes: 11 additions & 3 deletions changelog.txt
Original file line number Diff line number Diff line change
Expand Up @@ -7,28 +7,36 @@ The **signac** package follows `semantic versioning <https://semver.org/>`_.
Version 1
=========

next
----
[1.5.0] -- 2020-09-20
---------------------

Added
+++++

- Type annotations are validated during continuous integration (#313).
- Added ``_repr_html_`` method in ``ProjectSchema`` class (#314, #324).
- Allow grouping by variables that are not present in all jobs in the project in ``JobsCursor.groupby`` (#321, #323).
- Added parameters ``usecols`` and ``flatten`` to allow selection of columns and flattening of nested data when converting signac data into a pandas DataFrame (#327, #330).
- Added support for `pre-commit hooks <https://pre-commit.com/>`__ (#355, #358).
- Expanded CLI documentation (#187, #359, #377).

Changed
+++++++

- Docstrings are now written in `numpydoc style <https://numpydoc.readthedocs.io/en/latest/format.html>`__.

Fixed
+++++

- Fix the ``signac config verify`` command (previously broken) (#301, #302).
- Warnings now appear when raised by the ``signac`` CLI (#317, #308).
- Fix dots in synchronization error messages (#375, #376).

Deprecated
++++++++++

- Deprecate the ``create_access_modules`` method in ``Project``, to be removed in 2.0 (#303, #308).
- The ``MainCrawler`` class has replaced the ``MasterCrawler`` class. Both classes are deprecated.
- The ``MainCrawler`` class has replaced the ``MasterCrawler`` class. Both classes are deprecated (#342).

Removed
+++++++
Expand Down
12 changes: 11 additions & 1 deletion contributors.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -86,11 +86,21 @@ contributors:
affiliation: "Indian Institute of Technology, Gandhinagar"
-
family-names: Henry
given-names: "Michael M."
given-names: Mike
affiliation: "Boise State University"
orcid: "https://orcid.org/0000-0002-3870-9993"
-
family-names: Ojha
given-names: Hardik
affiliation: "Indian Institute of Technology Roorkee"
-
family-names: Kerr
given-names: Corwin
affiliation: "University of Michigan"
orcid: "https://orcid.org/0000-0003-0776-2596"
-
family-names: Zhou
given-names: Pengji
affiliation: "University of Michigan"
orcid: "https://orcid.org/0000-0002-1409-9633"
...
4 changes: 0 additions & 4 deletions doc/api.rst
Original file line number Diff line number Diff line change
Expand Up @@ -13,8 +13,6 @@ The Project

.. currentmodule:: signac

.. autoclass:: Project

.. rubric:: Attributes

.. autosummary::
Expand Down Expand Up @@ -70,8 +68,6 @@ The Job class

.. currentmodule:: signac.contrib.job

.. autoclass:: Job

.. rubric:: Attributes

.. autosummary::
Expand Down
66 changes: 33 additions & 33 deletions doc/conf.py
Original file line number Diff line number Diff line change
@@ -1,33 +1,33 @@
# -*- coding: utf-8 -*-
#
# signac documentation build configuration file, created by
# sphinx-quickstart on Fri Oct 23 17:41:32 2015.
#
# This file is execfile()d with the current directory set to its
# containing dir.
#
# Note that not all possible configuration values are present in this
# autogenerated file.
#
# All configuration values have a default; values that are commented out
# serve to show the default.
"""signac documentation build configuration file.
This file is executed with the current directory set to its containing dir.
Note that not all possible configuration values are present in this
autogenerated file.
All configuration values have a default; values that are commented out serve
to show the default.
"""

import sys
import os
import shlex

import sphinx_rtd_theme
from unittest.mock import MagicMock


class Mock(MagicMock):
"""Mocks modules and their contained objects."""

@classmethod
def __getattr__(cls, name):
if name == '_mock_methods':
return []
if name == 'version_tuple':
return (3,0)
return (3, 0)
return Mock()


MOCK_MODULES = ['pymongo', 'gridfs', 'mpi4py']
sys.modules.update((mod_name, Mock()) for mod_name in MOCK_MODULES)

Expand Down Expand Up @@ -69,18 +69,18 @@ def __getattr__(cls, name):
master_doc = 'index'

# General information about the project.
project = u'signac'
project = 'signac'
copyright = 'The Regents of the University of Michigan'
author = u'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 = '1.4.0'
version = '1.5.0'
# The full version, including alpha/beta/rc tags.
release = '1.4.0'
release = '1.5.0'

# The language for content autogenerated by Sphinx. Refer to documentation
# for a list of supported languages.
Expand Down Expand Up @@ -234,25 +234,25 @@ def __getattr__(cls, name):
# -- Options for LaTeX output ---------------------------------------------

latex_elements: dict = {
# The paper size ('letterpaper' or 'a4paper').
#'papersize': 'letterpaper',
# The paper size ('letterpaper' or 'a4paper').
# 'papersize': 'letterpaper',

# The font size ('10pt', '11pt' or '12pt').
#'pointsize': '10pt',
# The font size ('10pt', '11pt' or '12pt').
# 'pointsize': '10pt',

# Additional stuff for the LaTeX preamble.
#'preamble': '',
# Additional stuff for the LaTeX preamble.
# 'preamble': '',

# Latex figure (float) alignment
#'figure_align': 'htbp',
# Latex figure (float) alignment
# 'figure_align': 'htbp',
}

# Grouping the document tree into LaTeX files. List of tuples
# (source start file, target name, title,
# author, documentclass [howto, manual, or own class]).
latex_documents = [
(master_doc, 'signac.tex', u'signac Documentation',
u'Carl Simon Adorf', 'manual'),
(master_doc, 'signac.tex', 'signac Documentation',
'Carl Simon Adorf', 'manual'),
]

# The name of an image file (relative to this directory) to place at the top of
Expand Down Expand Up @@ -281,7 +281,7 @@ def __getattr__(cls, name):
# One entry per manual page. List of tuples
# (source start file, name, description, authors, manual section).
man_pages = [
(master_doc, 'signac', u'signac Documentation',
(master_doc, 'signac', 'signac Documentation',
[author], 1)
]

Expand All @@ -295,9 +295,9 @@ def __getattr__(cls, name):
# (source start file, target name, title, author,
# dir menu entry, description, category)
texinfo_documents = [
(master_doc, 'signac', u'signac Documentation',
author, 'signac', 'A simple data management framework.',
'Miscellaneous'),
(master_doc, 'signac', 'signac Documentation',
author, 'signac', 'A simple data management framework.',
'Miscellaneous'),
]

# Documents to append as an appendix to all manuals.
Expand Down
14 changes: 5 additions & 9 deletions setup.cfg
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
[bumpversion]
current_version = 1.4.0
current_version = 1.5.0
commit = True
tag = False
message = Bump up to version {new_version}.
Expand All @@ -15,25 +15,21 @@ max-line-length = 100
exclude = configobj,passlib,cite.py,conf.py

[pydocstyle]
# Skip these files:
match = ^((?!\.sync-zenodo-metadata|setup|benchmark|mpipool|connection|crypt|host|filesystems|indexing).)*\.py$
# Skip these directories:
match-dir = ^((?!doc|tests|configobj|db).)*$
# Skip deprecated methods:
match-dir = ^((?!tests|configobj|db).)*$
ignore-decorators = "deprecated"
ignore = D105, D107, D203, D204, D213


[mypy]
ignore_missing_imports = True

[coverage:run]
source = signac
omit =
*/signac/common/configobj/*.py
omit =
*/signac/common/configobj/*.py

[tool:pytest]
filterwarnings =
filterwarnings =
ignore: .*[The indexing module | get_statepoint] is deprecated.*: DeprecationWarning

[bumpversion:file:setup.py]
Expand Down
2 changes: 1 addition & 1 deletion setup.py
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,7 @@

setup(
name='signac',
version='1.4.0',
version='1.5.0',
packages=find_packages(),
zip_safe=True,
maintainer='signac Developers',
Expand Down
14 changes: 13 additions & 1 deletion signac/common/crypt.py
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,19 @@ def get_keyring():
else:
def get_keyring():
"Return the system user keyring."
return keyring.get_keyring()
# In some newer versions of keyring (probably >=21.2.0), no backend is
# available, which causes problems for signac's implementation. This
# signac feature is already deprecated so this is only enough of a fix
# to prevent tests from failing for users with new versions of keyring
# installed.
try:
kr = keyring.get_keyring()
except RuntimeError:
return None
if kr.priority <= 0 or isinstance(kr, keyring.backends.fail.Keyring):
return None
else:
return kr

"""
THIS MODULE IS DEPRECATED!
Expand Down
9 changes: 5 additions & 4 deletions signac/contrib/project.py
Original file line number Diff line number Diff line change
Expand Up @@ -958,16 +958,17 @@ def groupby(self, key=None, default=None):
The state point grouping parameter(s) passed as a string,
iterable of strings, or a callable that will be passed one
argument, the job (Default value = None).
default :
A default value to be used when a given state point key is not present (must
be sortable).
default
A default value to be used when a given state point key is not
present. The value must be sortable and is only used if not None
(Default value = None).
Returns
-------
key : str
Grouped key.
group : iterable of Jobs
Iterable of `Job`s matching this group key.
Iterable of `Job` instances matching this group key.
"""
return self.find_jobs().groupby(key, default=default)
Expand Down
2 changes: 1 addition & 1 deletion signac/version.py
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
"""Define signac version."""


__version__ = "1.4.0"
__version__ = "1.5.0"

SCHEMA_VERSION = "1"

Expand Down

0 comments on commit 28fe4bc

Please sign in to comment.