Metadata-Version: 2.1
Name: codedepth
Version: 3.0.0
Summary: Generates scores for how many layers of local imports/exports are in a file
Home-page: https://github.com/immijimmi/codedepth
Download-URL: https://github.com/immijimmi/codedepth/archive/refs/tags/v3.0.0.tar.gz
Author: immijimmi
Author-email: immijimmi1@gmail.com
License: MIT
Keywords: abstraction,level,directory,abstract,imports,import
Classifier: Development Status :: 4 - Beta
Classifier: Environment :: Console
Classifier: Intended Audience :: Developers
Classifier: Topic :: Software Development :: Documentation
Classifier: License :: OSI Approved :: MIT License
Classifier: Programming Language :: Python :: 3.8
Description-Content-Type: text/markdown
License-File: LICENSE.txt
Requires-Dist: graphviz~=0.16
Requires-Dist: networkx~=2.5

# codedepth

###### Generates and graphs how many levels of imports are needed for each file in a project

##### Supported Languages
- Python 🟢
- Lua 🟢
- JavaScript 🟡 (Some styles of import statement may not be detected as a dependency)

## Dependencies

You will need Graphviz v2.48.0 installed as an application - installation instructions can be found at https://graphviz.org/download/

## Quickstart

From the command line (this will use default parameters and output a ranked directional graph as a PDF):

```
> python -m codedepth <path of the target directory>
```
The PDF will be generated in the working directory.
If `<path of the target directory>` is omitted, the working directory will be used as the target.

In a python script:

```python
from codedepth import Scorer

scorer = Scorer(r"<path of the target directory>")  # Replace this path string with your own

# Calculates scores for all files in the target directory
scorer.parse_all()

"""
Generates a PDF saved in the working directory,
containing a ranked directional graph of the file dependencies for the target directory.
Once this is generated, it will be opened automatically.
Also generates and saves a file containing the DOT code required to create the graph
"""
scorer.plot_ranked()
```
