# dependency-inspector
[![Release](https://img.shields.io/github/v/release/MrLYC/DependencyInspector)](https://img.shields.io/github/v/release/MrLYC/DependencyInspector)
[![Build status](https://img.shields.io/github/actions/workflow/status/MrLYC/DependencyInspector/main.yml?branch=main)](https://github.com/MrLYC/DependencyInspector/actions/workflows/main.yml?query=branch%3Amaster)
[![codecov](https://codecov.io/gh/MrLYC/DependencyInspector/branch/master/graph/badge.svg)](https://codecov.io/gh/MrLYC/DependencyInspector)
[![Commit activity](https://img.shields.io/github/commit-activity/m/MrLYC/DependencyInspector)](https://img.shields.io/github/commit-activity/m/MrLYC/DependencyInspector)
[![License](https://img.shields.io/github/license/MrLYC/DependencyInspector)](https://img.shields.io/github/license/MrLYC/DependencyInspector)
A common dependencies checker/resolver.
- **Github repository**: <https://github.com/MrLYC/DependencyInspector/>
- **Documentation** <https://mrlyc.github.io/DependencyInspector/>
## Installation
```bash
pip install dependency-inspector
```
## Getting started
Assuming you have two interdependent services, write the dependencies into *artifact.yaml* in the following format:
```yaml
name: app-frontend
version: "1.1.2"
dependencies:
- name: app-backend
version: "1.x.x"
---
name: app-backend
version: "1.0.1"
dependencies:
- name: app-frontend
version: ">1.0"
---
name: app-backend
version: "1.0.10"
dependencies:
- name: app-frontend
version: ">1.1"
```
Run this command to resolve the dependencies:
```bash
dependency_inspector --artifacts artifact.yaml
```
The output is:
```
--- Dependency Graph ---
* --> app-frontend, app-backend
app-frontend --> app-backend
app-backend --> app-frontend
--- Resolution ---
app-frontend==1.1.2
app-backend==1.0.10
--- Artifacts ---
dependencies:
- enabled: true
name: app-backend
version: ~=1.0.10
name: app-frontend
version: 1.1.2
---
dependencies:
- enabled: true
name: app-frontend
version: ~=1.1.2
name: app-backend
version: 1.0.10
```
Raw data
{
"_id": null,
"home_page": "https://github.com/MrLYC/DependencyInspector",
"name": "dependency_inspector",
"maintainer": "",
"docs_url": null,
"requires_python": ">=3.8,<4.0",
"maintainer_email": "",
"keywords": "",
"author": "MrLYC",
"author_email": "fimyikong@gmail.com",
"download_url": "https://files.pythonhosted.org/packages/d5/49/2bcc651bed9518b2826e80bc109266bbfcdda64eebae47017b3e785b7be6/dependency_inspector-0.2.2.tar.gz",
"platform": null,
"description": "# dependency-inspector\n\n[![Release](https://img.shields.io/github/v/release/MrLYC/DependencyInspector)](https://img.shields.io/github/v/release/MrLYC/DependencyInspector)\n[![Build status](https://img.shields.io/github/actions/workflow/status/MrLYC/DependencyInspector/main.yml?branch=main)](https://github.com/MrLYC/DependencyInspector/actions/workflows/main.yml?query=branch%3Amaster)\n[![codecov](https://codecov.io/gh/MrLYC/DependencyInspector/branch/master/graph/badge.svg)](https://codecov.io/gh/MrLYC/DependencyInspector)\n[![Commit activity](https://img.shields.io/github/commit-activity/m/MrLYC/DependencyInspector)](https://img.shields.io/github/commit-activity/m/MrLYC/DependencyInspector)\n[![License](https://img.shields.io/github/license/MrLYC/DependencyInspector)](https://img.shields.io/github/license/MrLYC/DependencyInspector)\n\nA common dependencies checker/resolver.\n\n- **Github repository**: <https://github.com/MrLYC/DependencyInspector/>\n- **Documentation** <https://mrlyc.github.io/DependencyInspector/>\n\n## Installation\n\n```bash\npip install dependency-inspector\n```\n\n## Getting started\n\nAssuming you have two interdependent services, write the dependencies into *artifact.yaml* in the following format:\n\n```yaml\nname: app-frontend\nversion: \"1.1.2\"\ndependencies:\n - name: app-backend\n version: \"1.x.x\"\n---\nname: app-backend\nversion: \"1.0.1\"\ndependencies:\n - name: app-frontend\n version: \">1.0\"\n---\nname: app-backend\nversion: \"1.0.10\"\ndependencies:\n - name: app-frontend\n version: \">1.1\"\n```\n\nRun this command to resolve the dependencies:\n\n```bash\ndependency_inspector --artifacts artifact.yaml \n```\n\nThe output is:\n\n```\n--- Dependency Graph ---\n* --> app-frontend, app-backend\napp-frontend --> app-backend\napp-backend --> app-frontend\n\n--- Resolution ---\napp-frontend==1.1.2\napp-backend==1.0.10\n\n--- Artifacts ---\ndependencies:\n- enabled: true\n name: app-backend\n version: ~=1.0.10\nname: app-frontend\nversion: 1.1.2\n---\ndependencies:\n- enabled: true\n name: app-frontend\n version: ~=1.1.2\nname: app-backend\nversion: 1.0.10\n```",
"bugtrack_url": null,
"license": "",
"summary": "A common dependencies checker/resolver.",
"version": "0.2.2",
"project_urls": {
"Documentation": "https://mrlyc.github.io/DependencyInspector/",
"Homepage": "https://github.com/MrLYC/DependencyInspector",
"Repository": "https://github.com/MrLYC/DependencyInspector"
},
"split_keywords": [],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "262a2e725e68ffdeeeb5edb6a5958a4e16ab72205adca990b0bfd23f3547dda7",
"md5": "582dcd3523147559fff308627ce125bb",
"sha256": "e45a26fa3ce81d77764d36a6cca0f7f1716ee644f63d08f607750d3702022254"
},
"downloads": -1,
"filename": "dependency_inspector-0.2.2-py3-none-any.whl",
"has_sig": false,
"md5_digest": "582dcd3523147559fff308627ce125bb",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.8,<4.0",
"size": 7276,
"upload_time": "2023-11-22T11:38:42",
"upload_time_iso_8601": "2023-11-22T11:38:42.660281Z",
"url": "https://files.pythonhosted.org/packages/26/2a/2e725e68ffdeeeb5edb6a5958a4e16ab72205adca990b0bfd23f3547dda7/dependency_inspector-0.2.2-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "d5492bcc651bed9518b2826e80bc109266bbfcdda64eebae47017b3e785b7be6",
"md5": "a69aa30dfea9bd779ccf2ffc89b1a83d",
"sha256": "c7c435d29a7b9164f34dfdbf84bf7bd92c772cc0e4f447a9ee480069d2898671"
},
"downloads": -1,
"filename": "dependency_inspector-0.2.2.tar.gz",
"has_sig": false,
"md5_digest": "a69aa30dfea9bd779ccf2ffc89b1a83d",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.8,<4.0",
"size": 6041,
"upload_time": "2023-11-22T11:38:44",
"upload_time_iso_8601": "2023-11-22T11:38:44.373761Z",
"url": "https://files.pythonhosted.org/packages/d5/49/2bcc651bed9518b2826e80bc109266bbfcdda64eebae47017b3e785b7be6/dependency_inspector-0.2.2.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2023-11-22 11:38:44",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "MrLYC",
"github_project": "DependencyInspector",
"travis_ci": false,
"coveralls": false,
"github_actions": true,
"tox": true,
"lcname": "dependency_inspector"
}