diff options
Diffstat (limited to 'python-packages/contract_demo/setup.py')
-rwxr-xr-x | python-packages/contract_demo/setup.py | 146 |
1 files changed, 0 insertions, 146 deletions
diff --git a/python-packages/contract_demo/setup.py b/python-packages/contract_demo/setup.py deleted file mode 100755 index a7afbd30c..000000000 --- a/python-packages/contract_demo/setup.py +++ /dev/null @@ -1,146 +0,0 @@ -#!/usr/bin/env python - -"""setuptools module for 0x-contract-demo package.""" - -import distutils.command.build_py -from distutils.command.clean import clean -import subprocess # nosec -from shutil import rmtree -from os import environ, path -from sys import argv - -from setuptools import setup -from setuptools.command.test import test as TestCommand - - -class TestCommandExtension(TestCommand): - """Run pytest tests.""" - - def run_tests(self): - """Invoke pytest.""" - import pytest - - exit(pytest.main()) - - -class LintCommand(distutils.command.build_py.build_py): - """Custom setuptools command class for running linters.""" - - description = "Run linters" - - def run(self): - """Run linter shell commands.""" - lint_commands = [ - # formatter: - "black --line-length 79 --check --diff test setup.py".split(), - # style guide checker (formerly pep8): - "pycodestyle test setup.py".split(), - # docstring style checker: - "pydocstyle test setup.py".split(), - # static type checker: - "mypy test setup.py".split(), - # security issue checker: - "bandit -r ./setup.py".split(), - # general linter: - "pylint test setup.py".split(), - # pylint takes relatively long to run, so it runs last, to enable - # fast failures. - ] - - # tell mypy where to find interface stubs for 3rd party libs - environ["MYPYPATH"] = path.join( - path.dirname(path.realpath(argv[0])), "stubs" - ) - - for lint_command in lint_commands: - print( - "Running lint command `", " ".join(lint_command).strip(), "`" - ) - subprocess.check_call(lint_command) # nosec - - -class CleanCommandExtension(clean): - """Custom command to do custom cleanup.""" - - def run(self): - """Run the regular clean, followed by our custom commands.""" - super().run() - rmtree(".mypy_cache", ignore_errors=True) - rmtree(".tox", ignore_errors=True) - rmtree(".pytest_cache", ignore_errors=True) - - -class GanacheCommand(distutils.command.build_py.build_py): - """Custom command to publish to pypi.org.""" - - description = "Run ganache daemon to support tests." - - def run(self): - """Run ganache.""" - cmd_line = "docker run -d -p 8545:8545 0xorg/ganache-cli:2.2.2".split() - subprocess.call(cmd_line) # nosec - - -class PublishDocsCommand(distutils.command.build_py.build_py): - """Custom command to publish docs to S3.""" - - description = ( - "Publish docs to " - + "http://0x-contract-addresses-py.s3-website-us-east-1.amazonaws.com/" - ) - - def run(self): - """Run npm package `discharge` to build & upload docs.""" - subprocess.check_call("discharge deploy".split()) # nosec - - -setup( - name="0x-contract-demo", - version="1.0.0", - description="Demonstration of calling 0x contracts", - url=( - "https://github.com/0xProject/0x-monorepo/tree/development" - + "/python-packages/contract_demo" - ), - author="F. Eugene Aumson", - author_email="feuGeneA@users.noreply.github.com", - cmdclass={ - "clean": CleanCommandExtension, - "lint": LintCommand, - "test": TestCommandExtension, - "ganache": GanacheCommand, - "publish_docs": PublishDocsCommand, - }, - install_requires=[ - "0x-contract-addresses", - "0x-contract-artifacts", - "0x-order-utils", - "0x-web3", # TEMPORARY! pending resolution of our web3.py PR#1147 - "mypy_extensions", - ], - extras_require={ - "dev": [ - "bandit", - "black", - "coverage", - "coveralls", - "mypy", - "mypy_extensions", - "pycodestyle", - "pydocstyle", - "pylint", - "pytest", - "sphinx", - "tox", - ] - }, - python_requires=">=3.6, <4", - license="Apache 2.0", - zip_safe=False, # required per mypy - command_options={ - "build_sphinx": { - "source_dir": ("setup.py", "test"), - "build_dir": ("setup.py", "build/docs"), - } - }, -) |