Name | basel JSON |
Version |
1.1.2
JSON |
| download |
home_page | |
Summary | Report Architecture Data |
upload_time | 2024-02-16 17:18:19 |
maintainer | |
docs_url | None |
author | Iram Luis Morales Santos |
requires_python | >=3.10,<4.0 |
license | |
keywords |
report
|
VCS |
|
bugtrack_url |
|
requirements |
No requirements were recorded.
|
Travis-CI |
No Travis.
|
coveralls test coverage |
No coveralls.
|
# Basel Library
![Basel Logo](https://github.com/iramluism/basel/raw/main/docs/images/logo.png)
Basel Library is a powerful tool designed for calculating, reporting, and analyzing the architecture of a project.
## Key Concepts
* **Abstraction**: Level of definition vs implementation inside a component.
* **Stability**: Level of incoming and outgoing dependencies that a component has.
## Installation
```bash
pip install basel
```
## Reports
Abstract/Instability and Component Relationship reports are the main data you can obtain from an architecture. To generate each one, you can use the report and rel options.
### Abstraction/Stability (AE) Report
```
basel report --path ./path/to/project
```
Output:
```
Component I A E
---------------------------------------- ---- ---- ----
path/to/project/module1 0.75 0.2 0.05
path/to/project/module2 1 0.8 0.8
path/to/project/module3 0.5 1 0.5
---------------------------------------- ---- ---- ----
Mean 0.75 0.67 0.45
```
### Component Relationship (CRel) Report
This report uses a binary matrix, where 1 represents a relation, and 0 does not. All components are assigned to an index. Check the legend below the report to identify each component.
```
basel rel --path ./path/to/project
```
Output:
```
Components 1 2 3
------------ --- --- ---
1 0 1 0
2 0 0 1
3 0 0 0
Labels:
1: path/to/project/module1
2: path/to/project/module2
3: path/to/project/module3
```
## Formatting
To define a format use the `--format` or the abbreviation `-fmt`.
| Format | Reports | Description |
|:------------- |:--------:|--------------------------:|
| basic | AE, CRel | Basic and default format |
| html | AE, CRel | HTML format |
| mean_i | AE | Only Instability Mean |
| mean_a | AE | Only Abstraction Mean |
| mean_e | AE | Only Error Mean |
| mean | AE | Only Error Mean |
| uml | CRel | UML code |
## Excluding
You can exclude components in your project, which can be helpful to define boundaries. To exclude, you can use the `-e` or `--exclude` argument.
## Filtering
Is posible that the report results are very long, to get your desired components you can use the `-f` or `--filter` arguments.
## Contributing
We welcome contributions! If you'd like to contribute to Basel, please follow these guidelines:
1. Fork the repository.
2. Create a new branch for your feature or bug fix.
3. Make your changes and commit them with clear messages.
4. Submit a pull request.
Thank you for your contribution!
## Contact
If you have any questions or suggestions, feel free to insert new issue.
## License
This project is licensed under the [MIT License](LICENSE).
Raw data
{
"_id": null,
"home_page": "",
"name": "basel",
"maintainer": "",
"docs_url": null,
"requires_python": ">=3.10,<4.0",
"maintainer_email": "",
"keywords": "report",
"author": "Iram Luis Morales Santos",
"author_email": "iramluism@gmail.com",
"download_url": "https://files.pythonhosted.org/packages/6c/e8/990f045eff036099d1ab2e122152a15421bc63d00a3334c46aa8ee5a97ed/basel-1.1.2.tar.gz",
"platform": null,
"description": "# Basel Library\n\n![Basel Logo](https://github.com/iramluism/basel/raw/main/docs/images/logo.png)\n\nBasel Library is a powerful tool designed for calculating, reporting, and analyzing the architecture of a project.\n\n## Key Concepts\n\n* **Abstraction**: Level of definition vs implementation inside a component.\n* **Stability**: Level of incoming and outgoing dependencies that a component has.\n\n## Installation\n\n```bash\npip install basel\n```\n\n## Reports\nAbstract/Instability and Component Relationship reports are the main data you can obtain from an architecture. To generate each one, you can use the report and rel options.\n\n### Abstraction/Stability (AE) Report\n```\nbasel report --path ./path/to/project\n```\nOutput:\n```\nComponent I A E\n---------------------------------------- ---- ---- ----\npath/to/project/module1 0.75 0.2 0.05\npath/to/project/module2 1 0.8 0.8\npath/to/project/module3 0.5 1 0.5\n---------------------------------------- ---- ---- ----\nMean 0.75 0.67 0.45\n```\n\n### Component Relationship (CRel) Report\nThis report uses a binary matrix, where 1 represents a relation, and 0 does not. All components are assigned to an index. Check the legend below the report to identify each component.\n\n```\nbasel rel --path ./path/to/project\n```\nOutput:\n```\n Components 1 2 3 \n------------ --- --- ---\n 1 0 1 0 \n 2 0 0 1 \n 3 0 0 0 \n\nLabels:\n1: path/to/project/module1\n2: path/to/project/module2\n3: path/to/project/module3\n```\n\n## Formatting\nTo define a format use the `--format` or the abbreviation `-fmt`.\n\n| Format | Reports | Description |\n|:------------- |:--------:|--------------------------:|\n| basic | AE, CRel | Basic and default format |\n| html | AE, CRel | HTML format |\n| mean_i | AE | Only Instability Mean | \n| mean_a | AE | Only Abstraction Mean |\n| mean_e | AE | Only Error Mean |\n| mean | AE | Only Error Mean |\n| uml | CRel | UML code |\n\n\n## Excluding \nYou can exclude components in your project, which can be helpful to define boundaries. To exclude, you can use the `-e` or `--exclude` argument.\n\n\n## Filtering \nIs posible that the report results are very long, to get your desired components you can use the `-f` or `--filter` arguments.\n\n\n## Contributing\n\nWe welcome contributions! If you'd like to contribute to Basel, please follow these guidelines:\n\n1. Fork the repository.\n2. Create a new branch for your feature or bug fix.\n3. Make your changes and commit them with clear messages.\n4. Submit a pull request.\n\nThank you for your contribution!\n\n## Contact\n\nIf you have any questions or suggestions, feel free to insert new issue.\n\n\n## License\n\nThis project is licensed under the [MIT License](LICENSE).\n\n",
"bugtrack_url": null,
"license": "",
"summary": "Report Architecture Data",
"version": "1.1.2",
"project_urls": null,
"split_keywords": [
"report"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "89fec52594523e2b49f12a15374c20e29d5f25a3b0b24fe73971b88e8078d13d",
"md5": "1518adfd0af83ae6b4f2de426af7d88f",
"sha256": "f020b157c0b86c0fd079716f4b36424e75a8b3e84335138892e7816a0a39b956"
},
"downloads": -1,
"filename": "basel-1.1.2-py3-none-any.whl",
"has_sig": false,
"md5_digest": "1518adfd0af83ae6b4f2de426af7d88f",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.10,<4.0",
"size": 17420,
"upload_time": "2024-02-16T17:18:17",
"upload_time_iso_8601": "2024-02-16T17:18:17.778607Z",
"url": "https://files.pythonhosted.org/packages/89/fe/c52594523e2b49f12a15374c20e29d5f25a3b0b24fe73971b88e8078d13d/basel-1.1.2-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "6ce8990f045eff036099d1ab2e122152a15421bc63d00a3334c46aa8ee5a97ed",
"md5": "456f79602441f1685dde50e5ead1f965",
"sha256": "80548a85572136c59a73348429166b0737d8291b6da922b701de3f5bf0445883"
},
"downloads": -1,
"filename": "basel-1.1.2.tar.gz",
"has_sig": false,
"md5_digest": "456f79602441f1685dde50e5ead1f965",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.10,<4.0",
"size": 12833,
"upload_time": "2024-02-16T17:18:19",
"upload_time_iso_8601": "2024-02-16T17:18:19.313684Z",
"url": "https://files.pythonhosted.org/packages/6c/e8/990f045eff036099d1ab2e122152a15421bc63d00a3334c46aa8ee5a97ed/basel-1.1.2.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2024-02-16 17:18:19",
"github": false,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"lcname": "basel"
}