diff --git a/LICENSE.rst b/LICENSE.rst index d3b5c40484ec5ba277f9d7a24abfedc648eca6ca..fbeca6d09567375f1bd12a6036c7a2b140f5eb2e 100644 --- a/LICENSE.rst +++ b/LICENSE.rst @@ -19,4 +19,3 @@ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - diff --git a/Makefile b/Makefile index 92393e79aca04eac3cd7fe6e5e46be7796a246b5..8c295a0c6e391ffc8410f5018170384ce5c2fd4d 100644 --- a/Makefile +++ b/Makefile @@ -12,7 +12,8 @@ GITSTATUS = $(shell git status --porcelain) part ?= patch test: FORCE - flake8 rna tests + flake8 tfields tests + pylint tfields tests py.test coverage: diff --git a/docs/apidoc-template/toc.rst_t b/docs/apidoc-template/toc.rst_t index 6498a38975cde7f89f0ad4b079d7820b69ce242f..8d0b85202138fc70888abde9b0aec3ce0679c2af 100644 --- a/docs/apidoc-template/toc.rst_t +++ b/docs/apidoc-template/toc.rst_t @@ -8,4 +8,3 @@ API Documentation {% for docname in docnames %} {{ docname }} {%- endfor %} - diff --git a/docs/usage.rst b/docs/usage.rst index 976b1819d575650719689a9746ddb0dc6bd97ad0..c0d9b7748c4e7115601cd41a0ef5e6646ed8f836 100644 --- a/docs/usage.rst +++ b/docs/usage.rst @@ -4,4 +4,4 @@ Usage To use tfields in a project:: - >>> import tfields \ No newline at end of file + >>> import tfields diff --git a/setup.cfg b/setup.cfg index b25d10399d96c411ca50b322fb4d5950eafa2ae6..327bfcfd9e8ab8a1ec671d2476e28eeb85a2cd78 100644 --- a/setup.cfg +++ b/setup.cfg @@ -77,6 +77,7 @@ docs = sphinx_rtd_theme>=0.4.3 test = flake8 + pylint pytest pytest-cov coverage @@ -104,6 +105,10 @@ omit = max-line-length = 99 doctests = True exclude = .git, .eggs, __pycache__, docs, dist, venv, .tox +ignore = E203 W503 W504 # wrong flake defaults: see https://github.com/psf/black/issues/315, https://github.com/psf/black/issues/43 + +[pylint.] +ignore = setup.py [build_sphinx] builder = html,man @@ -141,7 +146,6 @@ commands = pytest \ --cov={[metadata]name} \ --ignore=docs \ - --ignore=tfields/plotting \ --junitxml=report/junit.xml [testenv:flake8] diff --git a/setup.py b/setup.py index 55b3dc06d77317095ea472becf4e684b1eca268b..76d623ec3cd30f0773194b442702d387ef4b3515 100644 --- a/setup.py +++ b/setup.py @@ -1,3 +1,3 @@ from setuptools import setup -setup(version='0.3.2') +setup(version="0.3.2") diff --git a/tests/test_package.py b/tests/test_package.py index 9f5366e189e4f62801a0344a8e96ef96b0b4a9c5..d198d12453d17a9c26560d759ae65a2c4dec3231 100644 --- a/tests/test_package.py +++ b/tests/test_package.py @@ -3,9 +3,10 @@ """Tests for `tfields` package.""" import unittest +import tfields -class Test_tfields(unittest.TestCase): +class TestPackage(unittest.TestCase): """Tests for `tfields` package.""" def setUp(self): @@ -16,5 +17,5 @@ class Test_tfields(unittest.TestCase): def test_version_type(self): """Assure that version type is str.""" - import tfields + self.assertIsInstance(tfields.__version__, str) diff --git a/tfields/__main__.py b/tfields/__main__.py index d9d053b60c662d2485d8f07adae357f3ff3dbb46..69d2eba855fef38a3207f0287a8e15c8ea72d621 100644 --- a/tfields/__main__.py +++ b/tfields/__main__.py @@ -8,49 +8,64 @@ import tfields class SomeAction(argparse.Action): + """Some actions.""" + def __init__(self, option_strings, dest, nargs=None, **kwargs): if nargs is not None: raise ValueError("nargs not allowed") super().__init__(option_strings, dest, **kwargs) def __call__(self, parser, namespace, values, option_string=None): - print("Example action invoked by manage in namespace: %r with values %r" - " and option string %r" % (namespace, values, option_string)) + print( + "Example action invoked by manage in namespace: %r with values %r" + " and option string %r" % (namespace, values, option_string) + ) setattr(namespace, self.dest, values) + def showcase_dummy(self): + """ + You can define a method to expose functionality of the class + """ + print(self) + -def manage(args): +def manage(args_): + """Example function.""" print("Managing!") - print(args.x * args.y) + print(args_.x * args_.y) -def parse_args(args): +def parse_args(args_): + """Parse args.""" # create the top-level parser - parser = argparse.ArgumentParser(prog='tfields app') - parser.add_argument('--version', action='version', - version='v' + tfields.__version__, - help="Show program's version number and exit") - parser = argparse.ArgumentParser(prog='tfields app') + parser = argparse.ArgumentParser(prog="tfields app") + parser.add_argument( + "--version", + action="version", + version="v" + tfields.__version__, + help="Show program's version number and exit", + ) + parser = argparse.ArgumentParser(prog="tfields app") # subparsers - subparsers = parser.add_subparsers(help='sub-command help') + subparsers = parser.add_subparsers(help="sub-command help") # create the parser for the "test" command - example_sub_parser = subparsers.add_parser('manage', help='manage something') - example_sub_parser.add_argument('-x', type=int, default=1) - example_sub_parser.add_argument('-y', type=float, default=42.) + example_sub_parser = subparsers.add_parser("manage", help="manage something") + example_sub_parser.add_argument("-x", type=int, default=1) + example_sub_parser.add_argument("-y", type=float, default=42.0) example_sub_parser.set_defaults(func=manage) # If no arguments were used, print base-level help with possible commands. - if len(args) == 0: + if len(args_) == 0: parser.print_help(file=sys.stderr) sys.exit(1) - args = parser.parse_args(args) + args_ = parser.parse_args(args_) # let argparse do the job of calling the appropriate function after # argument parsing is complete - args.func(args) + return args_.func(args_) -if __name__ == '__main__': - args = parse_args(sys.argv[1:]) +if __name__ == "__main__": + _ = parse_args(sys.argv[1:])