Metadata-Version: 2.1
Name: depcheck
Version: 0.2.0
Summary: Depcheck is a tool to check package dependencies between predefined layers to make sure that the application always complies with the architecture you defined. It helps you enforcing some constraints and creating a decoupled applications.
Home-page: https://github.com/flix-tech/depcheck
License: MIT
Keywords: depcheck,Dependency Checker,Clean Architecture,Separation of Concerns
Author: FlixMobility Tech
Author-email: open-source@flixbus.com
Requires-Python: >=3.6,<4.0
Classifier: License :: OSI Approved :: MIT License
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.6
Classifier: Programming Language :: Python :: 3.7
Classifier: Programming Language :: Python :: 3.8
Classifier: Programming Language :: Python :: 3.9
Requires-Dist: pydeps (>=1.9.13,<2.0.0)
Project-URL: Documentation, https://github.com/flix-tech/depcheck
Project-URL: Repository, https://github.com/flix-tech/depcheck
Description-Content-Type: text/markdown

![Depcheck: Dependency Checker](https://images2.imgbox.com/da/85/J5OEzbAH_o.jpg)

Depcheck is a tool to check package-dependencies between predefined layers. 
In the configuration file(`.depcheck.yml`) located in the project root, 
which packages belong to which layers and allowed dependencies between 
layers are configurable. In this way, you can enforce constraints and make sure to have decoupled architecture.

## Install
Install from [Pypi][pypi-link] via `pip install depcheck`
    
## Usage
Let's say you have a project with the directory structure below:
```text
example
    root
        foo
        bar
        main.py
        __init__.py
    README.md
    .gitignore
    .depcheck.yml
```
Note: Package directories should contain **\_\_init\_\_.py** to be recognized as a package.
- Navigate to the `exampe` then run `depcheck` for your project:
    ```shell
    depcheck root
    ```
- As you can see in the directory structure above, we have `.depcheck.yml` 
  configuration file in the project directory. If you would like to change 
  the path of the configuration file, use `-f` or `--file` argument:
    ```shell
    depcheck root -f /path/to/your/custom/depcheck.yml
    ```

## Contributing
All contributions are welcomed! See our [CONTRIBUTING.md][contribution] document.


<!-- Links -->
[hexagonal-architecture]: https://en.wikipedia.org/wiki/Hexagonal_architecture_(software)
[upgrade-python-version]: ./docs/upgrade-python-version.md
[update-project-dependencies]: ./docs/upgrade-python-version.md
[pypi-link]: https://pypi.org/project/depcheck/
[contribution]: ./CONTRIBUTING.md

