Metadata-Version: 2.1
Name: mythx-cli
Version: 0.5.0
Summary: A command line interface for the MythX smart contract security analysis API
Home-page: https://github.com/dmuhs/mythx-cli
Author: Dominik Muhs
Author-email: dominik.muhs@consensys.net
License: MIT license
Keywords: mythx-cli
Platform: UNKNOWN
Classifier: Development Status :: 4 - Beta
Classifier: License :: OSI Approved :: MIT License
Classifier: Natural Language :: English
Classifier: Intended Audience :: Developers
Classifier: Intended Audience :: Education
Classifier: Intended Audience :: Information Technology
Classifier: Topic :: Security
Classifier: Topic :: Software Development :: Libraries :: Python Modules
Classifier: Topic :: Software Development :: Quality Assurance
Classifier: Topic :: Terminals :: Terminal Emulators/X Terminals
Classifier: Topic :: Utilities
Classifier: Typing :: Typed
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.6
Classifier: Programming Language :: Python :: 3.7
Classifier: Programming Language :: Python :: 3.7
Classifier: Programming Language :: Python :: 3.8
Classifier: Programming Language :: Python :: Implementation :: PyPy
Requires-Dist: Click (==7.0)
Requires-Dist: pythx (==1.4.1)
Requires-Dist: py-solc-x (==0.6.0)
Requires-Dist: tabulate (==0.8.6)

============================
A PythX-driven CLI for MythX
============================


.. image:: https://img.shields.io/pypi/v/mythx-cli.svg
        :target: https://pypi.python.org/pypi/mythx-cli

.. image:: https://img.shields.io/travis/dmuhs/mythx-cli.svg
        :target: https://travis-ci.org/dmuhs/mythx-cli

.. image:: https://coveralls.io/repos/github/dmuhs/mythx-cli/badge.svg?branch=master
  :target: https://coveralls.io/github/dmuhs/mythx-cli?branch=master


.. image:: https://readthedocs.org/projects/mythx-cli/badge/?version=latest
        :target: https://mythx-cli.readthedocs.io/
        :alt: Documentation Status

.. image:: https://pyup.io/repos/github/dmuhs/mythx-cli/shield.svg
     :target: https://pyup.io/repos/github/dmuhs/mythx-cli/
     :alt: Updates


This package aims to provide a simple to use command line interface for the `MythX <https://mythx.io/>`_ smart contract
security analysis API. It's main purpose is to demonstrate how advanced features can be implemented using the
`PythX <https://github.com/dmuhs/pythx/>`_ Python language bindings for MythX to simplify API interaction.


What is MythX?
--------------

MythX is a security analysis API that allows anyone to create purpose-built security tools for smart
contract developers. Tools built on MythX integrate seamlessly into the development environments and
continuous integration pipelines used throughout the Ethereum ecosystem.


Usage
-----

.. code-block:: console

    $ mythx
    Usage: mythx [OPTIONS] COMMAND [ARGS]...

      Your CLI for interacting with https://mythx.io/

    Options:
      --debug                         Provide additional debug output
      --access-token TEXT             Your access token generated from the MythX
                                      dashboard
      --eth-address TEXT              Your MythX account's Ethereum address
      --password TEXT                 Your MythX account's password as set in the
                                      dashboard
      --format [simple|json|json-pretty|table]
                                      The format to display the results in
                                      [default: table]
      --ci                            Return exit code 1 if high-severity issue is
                                      found
      -y, --yes                       Do not prompt for any confirmations
      -o, --output TEXT               Output file to write the results into
      --help                          Show this message and exit.

    Commands:
      analysis  Get information on running and finished analyses.
      analyze   Analyze the given directory or arguments with MythX.
      group     Create, modify, and view analysis groups.
      version   Display API version information.



Installation
------------

The MythX CLI runs on Python 3.6+, including 3.8-dev and pypy.

To get started, simply run

.. code-block:: console

    $ pip3 install mythx-cli

Alternatively, clone the repository and run

.. code-block:: console

    $ pip3 install .

Or directly through Python's :code:`setuptools`:

.. code-block:: console

    $ python3 setup.py install



* Free software: MIT license
* Documentation: https://mythx-cli.readthedocs.io.


=======
History
=======

0.5.0 (2020-01-14)
------------------

- Add :code:`--create-group` flag to analyze subcommand
- Add privacy feature to truncate paths in submission
- Support Truffle projects as target directories
- Add SonarQube output format option
- Revamp usage documentation
- Update coverage to 5.0.3
- Update package details


0.4.1 (2020-01-03)
------------------

- Add batch directory submission feature
- Add a :code:`--yes` flag to skip confirmation messages

0.4.0 (2020-01-02)
------------------

- Add :code:`--output` flag to print to file
- Refactor test suite
- Update coverage to 5.0.1
- Update Sphinx to 2.3.1
- Update tox to 3.14.3

0.3.0 (2019-12-16)
------------------

- Add links to MythX dashboard in formatters
- Add support for analysis groups
- Split up logic in subcommands (analysis and group)
- Add CI flag to return 1 on high-severity issues
- Add parameter to blacklist SWC IDs
- Fix bug where :code:`--solc-version` parameter did not work
- Refactor test suite
- Update pytest to 5.3.1
- Update Sphinx to 2.3.0

0.2.1 (2019-10-04)
------------------

- Update PythX to 1.3.2

0.2.0 (2019-10-04)
------------------

- Update PythX to 1.3.1
- Add tabular format option as new pretty default
- Update pytest to 5.2.0
- Various bugfixes

0.1.8 (2019-09-16)
------------------

- Update dependencies to account for new submodules

0.1.7 (2019-09-16)
------------------

- Update pythx from 1.2.4 to 1.2.5
- Clean stale imports, fix formatting issues

0.1.6 (2019-09-15)
------------------

- Improve CLI docstrings
- Add more formatter-related documentation

0.1.5 (2019-09-15)
------------------

- Add autodoc to Sphinx setup
- Add middleware for tool name field
- Enable pypy3 support
- Add more verbose documentation
- Allow username/password login

0.1.4 (2019-09-13)
------------------

- Fix Atom's automatic Python import sorting (broke docs)

0.1.3 (2019-09-13)
------------------

- Fix faulty version generated by bumpversion

0.1.2 (2019-09-13)
------------------

- Fix bumpversion regex issue

0.1.1 (2019-09-13)
------------------

- Initial implementation
- Integrated Travis, PyUp, PyPI upload

0.1.0 (2019-08-31)
------------------

- First release on PyPI.


