Metadata-Version: 2.4
Name: reachablecode
Version: 0.0.1
Summary: A collection of ScanCode.io pipelines dedicated to reachability analysis.
Home-page: https://github.com/aboutcode-org/reachablecode
Author: nexB. Inc., AboutCode and others
Author-email: info@aboutcode.org
License: Apache-2.0
Keywords: utilities
Classifier: Development Status :: 5 - Production/Stable
Classifier: Intended Audience :: Developers
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3 :: Only
Classifier: Topic :: Software Development
Classifier: Topic :: Utilities
Requires-Python: >=3.8
Description-Content-Type: text/x-rst
License-File: apache-2.0.LICENSE
License-File: NOTICE
License-File: AUTHORS.rst
License-File: CHANGELOG.rst
License-File: CODE_OF_CONDUCT.rst
License-File: README.rst
Requires-Dist: commoncode
Provides-Extra: testing
Requires-Dist: pytest!=7.0.0,>=6; extra == "testing"
Requires-Dist: pytest-xdist>=2; extra == "testing"
Requires-Dist: aboutcode-toolkit>=7.0.2; extra == "testing"
Requires-Dist: pycodestyle>=2.8.0; extra == "testing"
Requires-Dist: twine; extra == "testing"
Requires-Dist: black; extra == "testing"
Requires-Dist: isort; extra == "testing"
Requires-Dist: scancodeio; extra == "testing"
Requires-Dist: pytest-django; extra == "testing"
Provides-Extra: docs
Requires-Dist: Sphinx>=5.0.2; extra == "docs"
Requires-Dist: sphinx-rtd-theme>=1.0.0; extra == "docs"
Requires-Dist: sphinx-reredirects>=0.1.2; extra == "docs"
Requires-Dist: doc8>=0.11.2; extra == "docs"
Requires-Dist: sphinx-autobuild; extra == "docs"
Requires-Dist: sphinx-rtd-dark-mode>=1.3.0; extra == "docs"
Requires-Dist: sphinx-copybutton; extra == "docs"
Dynamic: license-file

=================
ReachableCode
=================

ReachableCode is a collection of pipelines for analyzing code reachability.
It integrates with ScanCode.io as a pipeline plugin
and uses tools like (Atom, CPG, .. ) to determine whether
vulnerable code symbols are reachable within a project's codebase.

Other information:

- License: Apache-2.0
- Copyright (c) nexB Inc., AboutCode.org and others.
- Homepage: https://github.com/aboutcode-org/reachablecode/
- Documentation: https://reachablecode.readthedocs.io/

Requirements
------------

- ScanCode.io https://github.com/nexB/scancode.io

See also the next section for detailed instructions.


Local installation and usage test
------------------------------------

To install:
~~~~~~~~~~~~

- Clone reachablecode locally side-by-side: ``git clone https://github.com/aboutcode-org/reachablecode``
- Clone ScanCode.io locally side-by-side: ``git clone https://github.com/aboutcode-org/scancode.io``
- Change to the scancode.io directory and run ``make dev`` then ``source bin/activate``

  - Follow the full instructions at https://scancodeio.readthedocs.io/en/latest/installation.html#local-development-installation

- Run ``pip install --editable ../reachablecode``
- Run ScanCode.io with ``./manage.py runserver --insecure`` and open the URL in your browser.
  There is a new "analyze_atom_reachability" pipeline available when creating a new project.

Development
----------------

- Install requirements and dependencies using ``make dev``
- Then ``source venv/bin/activate``

Testing:

- To run tests: ``pytest -vvs``
