Skip to main content

A Python module that analyses your achitecture strength based on DSM data.

Project description

Overview

A Python module that analyses your achitecture strength based on DSM data.

Archan is a Python module that analyzes the strength of your project architecture according to some criteria described in “The Protection of Information in Computer Systems”, written by Jerome H. Saltzer and Michael D. Schroeder.

Archan is used in combination with dependenpy in the Django app called django-meerkat.

License

Software licensed under MPL 2.0 license.

Installation

Just run pip install archan.

Usage

Archan takes a dependency matrix as parameter. It is a list of list of numeric values, representing the dependencies between the packages that are used in your project. It also needs the keys (one string for each row of the matrix), and their associated group type.

In django-meerkat, these data are provided by the dependenpy Python module, but you can build and use your own:

from archan.dsm import DesignStructureMatrix
from archan.checker import Archan

my_matrix = [[0, 1, 2, 0],
             [1, 1, 1, 0],
             [0, 0, 0, 3],
             [3, 3, 0, 1]]

my_keys = ['core', 'some_app', 'whatever', 'feature']
my_groups = ['core_lib', 'app_module', 'app_module', 'app_module']

my_dsm = DesignStructureMatrix(my_groups, my_keys, my_matrix)
archan = Archan()
results = archan.check(dsm)
print(results)

Documentation

https://github.com/Pawamoy/archan.wiki

Development

To run all the tests: tox

Changelog

0.1.0 (2016-10-06)

  • Alpha release on PyPI.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

archan-1.0.0.tar.gz (21.9 kB view details)

Uploaded Source

Built Distribution

archan-1.0.0-py2.py3-none-any.whl (14.4 kB view details)

Uploaded Python 2 Python 3

File details

Details for the file archan-1.0.0.tar.gz.

File metadata

  • Download URL: archan-1.0.0.tar.gz
  • Upload date:
  • Size: 21.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No

File hashes

Hashes for archan-1.0.0.tar.gz
Algorithm Hash digest
SHA256 7d22910f7cd8d23873068ad8d96fdf1911461c747eeb7bf6c052f0b75cbfeaff
MD5 f79acc3b4d768e72f842b6f3a238c33f
BLAKE2b-256 5d91b6cd05baa33940cec534855498832c50d647de67898a97e3a43ba9d85089

See more details on using hashes here.

File details

Details for the file archan-1.0.0-py2.py3-none-any.whl.

File metadata

File hashes

Hashes for archan-1.0.0-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 d8f404a93ed6dfb64ce000af9505976dab7ef0b5f79c123a44592c310d0d6d9b
MD5 24fe82137f63b73cb6ec8ac3d6380389
BLAKE2b-256 9bbdd999377b145bfa0ea81666cf9fce61a71bbc7b68b64b362403ca847a612e

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page