Metadata-Version: 2.1
Name: mythx-cli
Version: 0.3.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 :: 3 - Alpha
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: MIT License
Classifier: Natural Language :: English
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.4
Classifier: Programming Language :: Python :: 3.5
Classifier: Programming Language :: Python :: 3.6
Classifier: Programming Language :: Python :: 3.7
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/en/latest/?badge=latest
        :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 / --no-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]
                                      The format to display the results in
      --help                          Show this message and exit.

    Commands:
      analyze  Analyze the given directory or arguments with MythX.
      list     Get a list of submitted analyses.
      report   Fetch the report for a single or multiple job UUIDs.
      status   Get the status of an already submitted analysis.
      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.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.


