Metadata-Version: 2.1
Name: depender
Version: 0.1.1
Summary: A package that finds the external and internal dependencies in your Python projectand draws a directed graph and/or matrix to represent them
Home-page: https://github.com/AnesBenmerzoug/depender
Author: Anes Benmerzoug
Author-email: anes.benmerzoug@gmail.com
License: Apache License 2.0
Platform: UNKNOWN
Classifier: Programming Language :: Python :: 3.5
Classifier: Programming Language :: Python :: 3.6
Classifier: Programming Language :: Python :: 3.7
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: Apache Software License
Description-Content-Type: text/markdown
Requires-Dist: click (>=4.0)
Requires-Dist: click-spinner (>=0.1.0)
Requires-Dist: matplotlib (>=3.0.0)
Requires-Dist: Jinja2 (>=2.9)
Requires-Dist: networkx[scipy] (>=2.3)
Requires-Dist: numpy (>=1.15.4)

# Depender

Depender is a Python package that is used to determine and plot 
the dependencies of a given Python package given its name or its path.

![Dependency Graph](https://raw.githubusercontent.com/AnesBenmerzoug/depender/master/docs/images/dependency_graph.png)

![Dependency Matrix](https://raw.githubusercontent.com/AnesBenmerzoug/depender/master/docs/images/dependency_matrix.png)

As a bonus, it can also be used to plot a hierarchical diagram 
of the directory structure of said package.

![Structure Graph](https://raw.githubusercontent.com/AnesBenmerzoug/depender/master/docs/images/structure_graph.png)

## Installation

### Requirements

Depender requires Python 3.5+

### Install latest release
Using ```pip```:

```bash
pip install depender
```

### Install from source

```bash
git clone https://github.com/AnesBenmerzoug/depender
pip install .
```

## Usage

The package can be used from the command line:

```bash
depender <packageNameOrPath>
```

```
Usage: depender [OPTIONS] PACKAGE_NAME_OR_PATH [EXCLUDED_DIRS]...

  Depender command line interface

  Create a dependency graph, a dependency matrix and/or a directory
  structure graph for a given Python package.

  PROJECT_PATH should be the path (relative or absolute) to the root of the
  Python package.

  EXCLUDED_DIRS should be, if provided, the name of or more directories in
  the package to be excluded from the graph.

Options:
  -o, --output-dir PATH           Output directory  [default: graphs]
  -fmt, --format TEXT             Output format, if specified the graph will
                                  be rendered to a file with the given format
  --dims, --image-dimensions TEXT
                                  Dimensions of the rendered graphs given as
                                  'width,height'  [default: 800,600]
  --include-external              When set, external packages are included in
                                  the graphs  [default: False]
  --no-follow-links               When set the script visits directories
                                  pointed to by symlinks  [default: False]
  --depth INTEGER                 Depth of the directory recursion  [default:
                                  6]
  --version                       Show the version and exit.
  -h, --help                      Show this message and exit.
```

## License

Depender is licensed under the Apache Software License version 2.0.

