elfws


Nameelfws JSON
Version 0.11.0 PyPI version JSON
download
home_pagehttps://github.com/jeremiah-c-leary/eda-log-file-warning-suppressor
SummaryEDA Log File Warning Suppressor
upload_time2024-05-08 02:21:58
maintainerNone
docs_urlNone
authorJeremiah C Leary
requires_pythonNone
licenseGNU General Public License
keywords eda warning suppression logfile
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI
coveralls test coverage
            EDA Log File Warning Suppressor (ELFWS)
=======================================

**Suppresses warnings in EDA logfiles.**

.. image:: https://img.shields.io/github/tag/jeremiah-c-leary/eda-log-file-warning-suppressor.svg?style=flat-square
   :target: https://github.com/jeremiah-c-leary/eda-log-file-warning-suppressor
   :alt: Github Release
.. image:: https://img.shields.io/pypi/v/elfws.svg?style=flat-square
   :target: https://pypi.python.org/pypi/elfws
   :alt: PyPI Version
.. image:: https://img.shields.io/travis/jeremiah-c-leary/eda-log-file-warning-suppressor/master.svg?style=flat-square
   :target: https://travis-ci.org/jeremiah-c-leary/eda-log-file-warning-suppressor
   :alt: Build Status
.. image:: https://img.shields.io/codecov/c/github/jeremiah-c-leary/eda-log-file-warning-suppressor/master.svg?style=flat-square
   :target: https://codecov.io/github/jeremiah-c-leary/eda-log-file-warning-suppressor
   :alt: Test Coverage
.. image:: https://img.shields.io/readthedocs/vsg.svg?style=flat-square
   :target: http://eda-log-file-warning-suppressor.readthedocs.io/en/latest/index.html
   :alt: Read The Docs
.. image:: https://api.codacy.com/project/badge/Grade/3ecbff706c6640fcae47b003b74c71dd    :target: https://www.codacy.com/manual/jeremiah-c-leary/eda-log-file-warning-suppressor?utm_source=github.com&utm_medium=referral&utm_content=jeremiah-c-leary/eda-log-file-warning-suppressor&utm_campaign=Badge_Grade
   :alt: Codacy
.. image:: https://api.codeclimate.com/v1/badges/6d41bcbece1f25056bdb/maintainability
   :target: https://codeclimate.com/github/jeremiah-c-leary/logfile-warning-suppressor/maintainability
   :alt: Maintainability



Table of Contents
-----------------

*  `Overview`_
*  `Key Benefits`_
*  `Key Features`_
*  `Installation`_
*  `Usage`_
*  `Documentation`_
*  `Contributing`_

Overview
--------

ELFWS was created after going through warning triage for an FPGA design.
The synthesis tool provided the ability to suppress warnings, but only at the warning id level.
The place and route tool did not supply any ability to suppress warnings.
Eventually a design change induced a new warning.
Unfortunately, it was not detected until much later in the design process.
A design change was required to resolve the warning.
The change was minor, but could have resulted in major design changes if it could not have been resolved.

Key Benefits
------------

* Standardizes warning suppression definition
* Provides warning suppression for tools that do not support suppressions

Key Features
------------

* Warning definition

  * Uses YAML to define suppression rules
  * Can include justifications for warning suppression

* Continuous Integration tool support

  * command line tool
  * outputs JUnit XML files

* Audit Reports

  * which rules suppressed which warnings
  * rules which did not suppress any warnings
  * warnings which were suppressed by multiple rules

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

You can get the latest released version of ELFWS via **pip**.

.. code-block:: bash

    pip install elfws

The latest development version can be cloned...

.. code-block:: bash

    git clone https://github.com/jeremiah-c-leary/eda-log-file-warning-supressor.git

...and then installed locally...

.. code-block:: bash

    python setup.py install


Usage
-----

ELFWS can be invoked using **elfws** at the command line prompt:

.. code-block:: bash

   $ elfws
   usage: elfws [-h] {create,report,show,suppress,version} ...
   
   Suppresses Warnings in logfiles.
   
   positional arguments:
     {create,report,show,suppress,version}
       create              Create suppression file
       report              Generate an audit report
       show                Show warnings in logfiles
       suppress            Suppresses warnings in logfiles
       version             Displays ELFWS version information
   
   optional arguments:
     -h, --help            show this help message and exit

ELFWS has five subcommands:  create, report, show, suppress and version.

create
------

Use the create subcommand to generate a suppression rule file from a given warning file.

This can be used as a starting point for a suppression file.
Care should be taken as the output messages are not formatted to support regular expressions.

The arguments for the subcommand can be listed using the *-h* option:

.. code-block:: bash

   $ elfws create -h
   usage: elfws create [-h] [--suppression_file SUPPRESSION_FILE]
                       log_file output_suppression_file

   positional arguments:
     log_file              Log file with warnings to extract
     output_suppression_file
                           Suppression file to create

   optional arguments:
     -h, --help            show this help message and exit
     --suppression_file SUPPRESSION_FILE
                           Existing suppression file to filter out existing

report
------

Use the report subcommand to generate detailed output of suppression warnings.

The report will show the following information:

* Unsuppressed warnings
* Which suppression rules suppressed which warnings
* Unused suppression rules
* Warnings that were suppressed by multiple suppression rules
* Summary of suppression rules and warnings

The report can be used during reviews to ensure the suppressions are valid.

This command has the option argument **--junit**, which will output a JUnit XML file.
This file can be used with continuous integration tools to check for new warnings.

The arguments for the subcommand can be listed using the *-h* option:

.. code-block:: bash

   $ elfws report -h
   usage: elfws report [-h] [--junit JUNIT] log_file suppression_file report_file
   
   positional arguments:
     log_file          Log file to check for warnings
     suppression_file  YAML formatted warning suppression file
     report_file       Output report file
   
   optional arguments:
     -h, --help        show this help message and exit
     --junit JUNIT     Generate JUnit XML file JUNIT

show
----

Use the show subcommand to list all the warnings in a logfile.

This can be useful when first starting out suppressing warnings and a suppression rule file does not exist.

The arguments for the subcommand can be listed using the *-h* option:

.. code-block:: bash

   $ elfws show -h

   usage: elfws show [-h] log_file

   positional arguments:
     log_file    Log file to show warnings

   optional arguments:
     -h, --help  show this help message and exit

suppress
--------

Use the suppress subcommand to suppress warnings in a logfile.

This can be useful when creating a suppression rule file.
It reports the results to the screen and only shows warnings which have not been suppressed.

This subcommand can also be used to support a continuous integration (CI) flow using the *--junit* option.
The *--junit* option will create a JUnit XML file which can be read by CI tools.

The arguments for the subcommand can be listed using the *-h* option:

.. code-block:: bash

   $ elfws suppress -h

   usage: elfws suppress [-h] log_file suppression_file

   positional arguments:
     log_file          Log file to check for warnings
     suppression_file  YAML formatted warning suppression file

   optional arguments:
     -h, --help        show this help message and exit

version
-------

Use the version subcommand to report the installed version of ELFWS.

There are no arguments for this subcommand.

.. code-block:: bash

   $ elfws version

   EDA Log File Warning Suppressor (ELFWS) version 1.0.0


Documentation
-------------

All documentation for ELFWS is hosted at `read-the-docs <http://eda-log-file-warning-suppressor.readthedocs.io/en/latest/index.html>`_.

Contributing
------------

I welcome any contributions to this project.
No matter how small or large.

There are several ways to contribute:

* Bug reports
* Code base improvements
* Feature requests

Please refer to the documentation hosted at `read-the-docs <http://eda-log-file-warning-suppressor.readthedocs.io/en/latest/index.html>`_ for more details on contributing.

            

Raw data

            {
    "_id": null,
    "home_page": "https://github.com/jeremiah-c-leary/eda-log-file-warning-suppressor",
    "name": "elfws",
    "maintainer": null,
    "docs_url": null,
    "requires_python": null,
    "maintainer_email": null,
    "keywords": "eda, warning, suppression, logfile",
    "author": "Jeremiah C Leary",
    "author_email": "jeremiah.c.leary@gmail.com",
    "download_url": "https://files.pythonhosted.org/packages/4e/4e/588b3e6507c9287fc91a4d4f8012f72f6fd93c98293541da4df402192231/elfws-0.11.0.tar.gz",
    "platform": null,
    "description": "EDA Log File Warning Suppressor (ELFWS)\n=======================================\n\n**Suppresses warnings in EDA logfiles.**\n\n.. image:: https://img.shields.io/github/tag/jeremiah-c-leary/eda-log-file-warning-suppressor.svg?style=flat-square\n   :target: https://github.com/jeremiah-c-leary/eda-log-file-warning-suppressor\n   :alt: Github Release\n.. image:: https://img.shields.io/pypi/v/elfws.svg?style=flat-square\n   :target: https://pypi.python.org/pypi/elfws\n   :alt: PyPI Version\n.. image:: https://img.shields.io/travis/jeremiah-c-leary/eda-log-file-warning-suppressor/master.svg?style=flat-square\n   :target: https://travis-ci.org/jeremiah-c-leary/eda-log-file-warning-suppressor\n   :alt: Build Status\n.. image:: https://img.shields.io/codecov/c/github/jeremiah-c-leary/eda-log-file-warning-suppressor/master.svg?style=flat-square\n   :target: https://codecov.io/github/jeremiah-c-leary/eda-log-file-warning-suppressor\n   :alt: Test Coverage\n.. image:: https://img.shields.io/readthedocs/vsg.svg?style=flat-square\n   :target: http://eda-log-file-warning-suppressor.readthedocs.io/en/latest/index.html\n   :alt: Read The Docs\n.. image:: https://api.codacy.com/project/badge/Grade/3ecbff706c6640fcae47b003b74c71dd    :target: https://www.codacy.com/manual/jeremiah-c-leary/eda-log-file-warning-suppressor?utm_source=github.com&amp;utm_medium=referral&amp;utm_content=jeremiah-c-leary/eda-log-file-warning-suppressor&amp;utm_campaign=Badge_Grade\n   :alt: Codacy\n.. image:: https://api.codeclimate.com/v1/badges/6d41bcbece1f25056bdb/maintainability\n   :target: https://codeclimate.com/github/jeremiah-c-leary/logfile-warning-suppressor/maintainability\n   :alt: Maintainability\n\n\n\nTable of Contents\n-----------------\n\n*  `Overview`_\n*  `Key Benefits`_\n*  `Key Features`_\n*  `Installation`_\n*  `Usage`_\n*  `Documentation`_\n*  `Contributing`_\n\nOverview\n--------\n\nELFWS was created after going through warning triage for an FPGA design.\nThe synthesis tool provided the ability to suppress warnings, but only at the warning id level.\nThe place and route tool did not supply any ability to suppress warnings.\nEventually a design change induced a new warning.\nUnfortunately, it was not detected until much later in the design process.\nA design change was required to resolve the warning.\nThe change was minor, but could have resulted in major design changes if it could not have been resolved.\n\nKey Benefits\n------------\n\n* Standardizes warning suppression definition\n* Provides warning suppression for tools that do not support suppressions\n\nKey Features\n------------\n\n* Warning definition\n\n  * Uses YAML to define suppression rules\n  * Can include justifications for warning suppression\n\n* Continuous Integration tool support\n\n  * command line tool\n  * outputs JUnit XML files\n\n* Audit Reports\n\n  * which rules suppressed which warnings\n  * rules which did not suppress any warnings\n  * warnings which were suppressed by multiple rules\n\nInstallation\n------------\n\nYou can get the latest released version of ELFWS via **pip**.\n\n.. code-block:: bash\n\n    pip install elfws\n\nThe latest development version can be cloned...\n\n.. code-block:: bash\n\n    git clone https://github.com/jeremiah-c-leary/eda-log-file-warning-supressor.git\n\n...and then installed locally...\n\n.. code-block:: bash\n\n    python setup.py install\n\n\nUsage\n-----\n\nELFWS can be invoked using **elfws** at the command line prompt:\n\n.. code-block:: bash\n\n   $ elfws\n   usage: elfws [-h] {create,report,show,suppress,version} ...\n   \n   Suppresses Warnings in logfiles.\n   \n   positional arguments:\n     {create,report,show,suppress,version}\n       create              Create suppression file\n       report              Generate an audit report\n       show                Show warnings in logfiles\n       suppress            Suppresses warnings in logfiles\n       version             Displays ELFWS version information\n   \n   optional arguments:\n     -h, --help            show this help message and exit\n\nELFWS has five subcommands:  create, report, show, suppress and version.\n\ncreate\n------\n\nUse the create subcommand to generate a suppression rule file from a given warning file.\n\nThis can be used as a starting point for a suppression file.\nCare should be taken as the output messages are not formatted to support regular expressions.\n\nThe arguments for the subcommand can be listed using the *-h* option:\n\n.. code-block:: bash\n\n   $ elfws create -h\n   usage: elfws create [-h] [--suppression_file SUPPRESSION_FILE]\n                       log_file output_suppression_file\n\n   positional arguments:\n     log_file              Log file with warnings to extract\n     output_suppression_file\n                           Suppression file to create\n\n   optional arguments:\n     -h, --help            show this help message and exit\n     --suppression_file SUPPRESSION_FILE\n                           Existing suppression file to filter out existing\n\nreport\n------\n\nUse the report subcommand to generate detailed output of suppression warnings.\n\nThe report will show the following information:\n\n* Unsuppressed warnings\n* Which suppression rules suppressed which warnings\n* Unused suppression rules\n* Warnings that were suppressed by multiple suppression rules\n* Summary of suppression rules and warnings\n\nThe report can be used during reviews to ensure the suppressions are valid.\n\nThis command has the option argument **--junit**, which will output a JUnit XML file.\nThis file can be used with continuous integration tools to check for new warnings.\n\nThe arguments for the subcommand can be listed using the *-h* option:\n\n.. code-block:: bash\n\n   $ elfws report -h\n   usage: elfws report [-h] [--junit JUNIT] log_file suppression_file report_file\n   \n   positional arguments:\n     log_file          Log file to check for warnings\n     suppression_file  YAML formatted warning suppression file\n     report_file       Output report file\n   \n   optional arguments:\n     -h, --help        show this help message and exit\n     --junit JUNIT     Generate JUnit XML file JUNIT\n\nshow\n----\n\nUse the show subcommand to list all the warnings in a logfile.\n\nThis can be useful when first starting out suppressing warnings and a suppression rule file does not exist.\n\nThe arguments for the subcommand can be listed using the *-h* option:\n\n.. code-block:: bash\n\n   $ elfws show -h\n\n   usage: elfws show [-h] log_file\n\n   positional arguments:\n     log_file    Log file to show warnings\n\n   optional arguments:\n     -h, --help  show this help message and exit\n\nsuppress\n--------\n\nUse the suppress subcommand to suppress warnings in a logfile.\n\nThis can be useful when creating a suppression rule file.\nIt reports the results to the screen and only shows warnings which have not been suppressed.\n\nThis subcommand can also be used to support a continuous integration (CI) flow using the *--junit* option.\nThe *--junit* option will create a JUnit XML file which can be read by CI tools.\n\nThe arguments for the subcommand can be listed using the *-h* option:\n\n.. code-block:: bash\n\n   $ elfws suppress -h\n\n   usage: elfws suppress [-h] log_file suppression_file\n\n   positional arguments:\n     log_file          Log file to check for warnings\n     suppression_file  YAML formatted warning suppression file\n\n   optional arguments:\n     -h, --help        show this help message and exit\n\nversion\n-------\n\nUse the version subcommand to report the installed version of ELFWS.\n\nThere are no arguments for this subcommand.\n\n.. code-block:: bash\n\n   $ elfws version\n\n   EDA Log File Warning Suppressor (ELFWS) version 1.0.0\n\n\nDocumentation\n-------------\n\nAll documentation for ELFWS is hosted at `read-the-docs <http://eda-log-file-warning-suppressor.readthedocs.io/en/latest/index.html>`_.\n\nContributing\n------------\n\nI welcome any contributions to this project.\nNo matter how small or large.\n\nThere are several ways to contribute:\n\n* Bug reports\n* Code base improvements\n* Feature requests\n\nPlease refer to the documentation hosted at `read-the-docs <http://eda-log-file-warning-suppressor.readthedocs.io/en/latest/index.html>`_ for more details on contributing.\n",
    "bugtrack_url": null,
    "license": "GNU General Public License",
    "summary": "EDA Log File Warning Suppressor",
    "version": "0.11.0",
    "project_urls": {
        "Download": "https://github.com/jeremiah-c-leary/eda-log-file-warning-suppressor",
        "Homepage": "https://github.com/jeremiah-c-leary/eda-log-file-warning-suppressor"
    },
    "split_keywords": [
        "eda",
        " warning",
        " suppression",
        " logfile"
    ],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "06aca52825c2006c413d6fa7524c66e1a43e8d08ff0c88f70f5a2b325b48c486",
                "md5": "b060012026258cc27f3a9fc8bc969bd2",
                "sha256": "89a833fd2e9c3ad781841c4d7988608c348c9d697b7f0e1e41e1a504f456811e"
            },
            "downloads": -1,
            "filename": "elfws-0.11.0-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "b060012026258cc27f3a9fc8bc969bd2",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": null,
            "size": 36487,
            "upload_time": "2024-05-08T02:21:56",
            "upload_time_iso_8601": "2024-05-08T02:21:56.591392Z",
            "url": "https://files.pythonhosted.org/packages/06/ac/a52825c2006c413d6fa7524c66e1a43e8d08ff0c88f70f5a2b325b48c486/elfws-0.11.0-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "4e4e588b3e6507c9287fc91a4d4f8012f72f6fd93c98293541da4df402192231",
                "md5": "a017a6f801f59ad2aac2eb75094bc5c5",
                "sha256": "ab0858598c7a3026e7ad020e4afbeacbbddd4396b06cc008a8a5bc05691825f9"
            },
            "downloads": -1,
            "filename": "elfws-0.11.0.tar.gz",
            "has_sig": false,
            "md5_digest": "a017a6f801f59ad2aac2eb75094bc5c5",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": null,
            "size": 30578,
            "upload_time": "2024-05-08T02:21:58",
            "upload_time_iso_8601": "2024-05-08T02:21:58.378080Z",
            "url": "https://files.pythonhosted.org/packages/4e/4e/588b3e6507c9287fc91a4d4f8012f72f6fd93c98293541da4df402192231/elfws-0.11.0.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2024-05-08 02:21:58",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "jeremiah-c-leary",
    "github_project": "eda-log-file-warning-suppressor",
    "travis_ci": true,
    "coveralls": true,
    "github_actions": true,
    "lcname": "elfws"
}
        
Elapsed time: 0.54599s