Skip to main content

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

Project description

Latest Version Development Status Download format Build Status Documentation Status Coverage Status Code Health Supported Python versions License

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-archan.

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-archan, 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']

archan = Archan()
my_dsm = DesignStructureMatrix(my_groups, my_keys, my_matrix)

complete_mediation = archan.check_complete_mediation(my_dsm)
economy_of_mechanism = archan.check_economy_of_mecanism(my_dsm)
...

Please take a look at the source code to see what other methods are available.

License

Copyright (c) 2015 Pierre Parrend

This Source Code is subject to the terms of the Mozilla Public License, v. 2.0. See the LICENSE.txt file for more details.

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-0.0.3.tar.gz (12.5 kB view details)

Uploaded Source

Built Distribution

archan-0.0.3-py2.py3-none-any.whl (9.0 kB view details)

Uploaded Python 2 Python 3

File details

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

File metadata

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

File hashes

Hashes for archan-0.0.3.tar.gz
Algorithm Hash digest
SHA256 4667a34ee8a43eb73c68ef68b4298139026fdefe146a42922832df5e3dbd0bea
MD5 96a36d2357a544288bfc793a5cdd2e32
BLAKE2b-256 b49314b3112fd854988ac3e7ad01b5d6dc698507d2755e7f7901a5c1be53dbdc

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for archan-0.0.3-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 23eb486364e1bcf103224c7b90eb400e7a814d280925890df1afcd3057db1bdd
MD5 4cbf633ce41d334f6b206c2036fed5c4
BLAKE2b-256 f68b1701143954b5ef6caa99c800805703947485a3e1d540647db0cf5e54c63a

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