Skip to content

Commit

Permalink
implemented tox
Browse files Browse the repository at this point in the history
  • Loading branch information
hrshdhgd committed Mar 9, 2022
1 parent a62e44b commit 579da58
Show file tree
Hide file tree
Showing 4 changed files with 181 additions and 37 deletions.
3 changes: 0 additions & 3 deletions requirements.txt

This file was deleted.

116 changes: 116 additions & 0 deletions setup.cfg
Original file line number Diff line number Diff line change
@@ -0,0 +1,116 @@
##########################
# Setup.py Configuration #
##########################
[metadata]
name = kgcl
version = 0.0.10
description = Knowledge Graph Change Language
long_description = file: README.md
long_description_content_type = text/markdown

# URLs associated with the project
url = https://github.com/cmungall/knowledge-graph-change-language
download_url = https://github.com/cmungall/knowledge-graph-change-language/releases
project_urls =
Bug Tracker = https://github.com/cmungall/knowledge-graph-change-language/issues
Source Code = https://github.com/cmungall/knowledge-graph-change-language
# Documentation = https://something.github.io/knowledge-graph-change-language

# Author information
author = Christian Kindermann
author_email = [email protected]
maintainer = Chris Mungall
maintainer_email = [email protected]

# License Information
license = MIT
license_file = LICENSE

# Search tags
classifiers =
Programming Language :: Python
Programming Language :: Python :: 3.9
Programming Language :: Python :: 3.8
Programming Language :: Python :: 3.7
Programming Language :: Python :: 3 :: Only

keywords =
Ontologies
Knowledge Graph

[options]
install_requires =
linkml~=1.0.3
lark~=0.11.3

include_package_data = True

# Random options
zip_safe = false

python_requires = >=3.7

[options.package_data]
schema = schema/*
jsonld = *.jsonld
# * = *.jsonld, _folder_/*.jsonld

[options.extras_require]
test =
pytest
docs =
sphinx
sphinx-rtd-theme
sphinx-autodoc-typehints
sphinx-click

######################
# Doc8 Configuration #
# (doc8.ini) #
######################
[doc8]
max-line-length = 120

#########################
# Flake8 Configuration #
# (.flake8) #
#########################
[flake8]
ignore =
E501 # Line length
W503 # Line break before binary operator (flake8 is wrong)
S408 # don't worry about unsafe xml
S318 # don't worry about unsafe xml
S310 # TODO remove this later and switch to using requests
B018 # This is 'useless' statements which are new atm.
exclude =
python/kgcl.py


##########################
# Darglint Configuration #
##########################
[darglint]
docstring_style = sphinx
strictness = short

####################
# Deployment tools #
####################

[testenv:build]
skip_install = true
deps =
wheel
setuptools
commands =
python setup.py -q sdist bdist_wheel

[testenv:release]
skip_install = true
deps =
{[testenv:build]deps}
twine >= 1.5.0
commands =
{[testenv:build]commands}
twine upload --skip-existing dist/*
40 changes: 6 additions & 34 deletions setup.py
Original file line number Diff line number Diff line change
@@ -1,36 +1,8 @@
from setuptools import setup
# -*- coding: utf-8 -*-

with open("README.md", "r") as fh:
long_description = fh.read()
"""The setup module."""

setup(
name="kgcl",
version="0.0.10",
description="Knowledge Graph Change Language",
packages=[
"kgcl.apply",
"kgcl.diff",
"kgcl.grammar",
"kgcl.model",
],
# py_modules=[
# "kgcl",
# "kgcl_diff",
# "pretty_print_kgcl",
# ],
package_dir={"kgcl": "./kgcl"},
package_data={"kgcl.grammar": ["kgcl.lark"]},
classifiers=[
"Programming Language :: Python :: 3.8",
],
long_description=long_description,
long_description_content_type="text/markdown",
install_requires=[
"linkml ~= 1.0.3",
"lark ~= 0.11.3",
],
extras_require={"dev": ["pytest>=3.7"]},
url="https://github.com/ckindermann/knowledge-graph-change-language",
author="Christian Kindermann",
author_email="[email protected]",
),
import setuptools

if __name__ == "__main__":
setuptools.setup()
59 changes: 59 additions & 0 deletions tox.ini
Original file line number Diff line number Diff line change
@@ -0,0 +1,59 @@
# Tox (http://tox.testrun.org/) is a tool for running tests
# in multiple virtualenvs. This configuration file will run the
# test suite on all supported python versions. To use it, "pip install tox"
# and then run "tox" from this directory.

[tox]
envlist =
lint
flake8
mypy
manifest
py

[testenv]
commands =
pytest
extras =
test
description = Run unit tests with pytest. This is a special environment that does not get a name, and
can be referenced with "py".

[testenv:lint]
skip_install = true
commands =
black kgcl/ tests/ setup.py
isort kgcl/ tests/ setup.py
deps =
isort
black
description = Run code formatters and linters.

[testenv:flake8]
skip_install = true
commands =
flake8 sssom/ tests/ setup.py
deps =
flake8
flake8-black
flake8-colors
bandit==1.7.2
flake8-bandit
pep8-naming
flake8-bugbear
flake8-isort
flake8-docstrings
pydocstyle
darglint
description = Run the flake8 code quality checker.

[testenv:mypy]
deps = mypy
skip_install = true
commands = mypy --install-types --non-interactive --ignore-missing-imports sssom/ setup.py
description = Run the mypy tool to check static typing on the project.

[testenv:manifest]
deps = check-manifest
skip_install = true
commands = check-manifest

0 comments on commit 579da58

Please sign in to comment.