A python tool for N-squared chart plotting
Project description
PyN2
PyN2 is a Python library (based on OpenMDAO project), designed to easily create dynamic n-squared (N²) charts. N² charts are essential in systems engineering and project management to visualize and manage complex interactions between components, subsystems, or processes. PyN2 provides an intuitive API to generate customizable N² diagrams.
Features
- Generate n² charts to visualize component interactions
- Customizable labels for rows and columns
- Highlight important relationships and dependencies
- Export charts in various formats (e.g., SVG, HTML)
- Easy-to-use API with minimal setup
Use Cases
- Systems engineering: Interface mapping and interaction management
- Project management: Task dependencies and relationship tracking
- Complex system design: Visualizing module communications and dependencies
Installation
pip install pyn2
Dependencies
PyN2 relies on the following dependencies, which are managed through Poetry:
[tool.poetry.dependencies]
python = "^3.12"
openmdao = "^3.34.2"
Usage
Run the following code to generate the gen_diag.html
file.
from pyn2.chart import Element, Group, N2
n2 = N2('test_chart')
s_dev = Group('Software_development')
e_analyze = Element('Analyze')
e_code = Element('Code')
e_build = Element('Build')
e_deploy = Element('Deploy')
t_vnv = Group('Software_vnv')
e_review = Element('Review')
e_test = Element('Test')
e_analyze.connect_to(e_code)
e_code.connect_to(e_build)
e_code.connect_to(e_review)
e_review.connect_to(e_analyze)
e_build.connect_to(e_test)
e_test.connect_to(e_deploy)
e_test.connect_to(e_analyze)
s_dev.add_element(e_analyze)
s_dev.add_element(e_code)
s_dev.add_element(e_build)
s_dev.add_element(e_deploy)
t_vnv.add_element(e_review)
t_vnv.add_element(e_test)
n2.add_group(s_dev)
n2.add_group(t_vnv)
n2.generate_report()
And produce the following chart:
Contributing is awesome!
See CONTRIBUTING
Contact
Developed with :heart: by the internet
Mainteiner: Leonardo Mariga
Did you like it? Remember to click on :star2: button.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file pyn2-0.1.0.tar.gz
.
File metadata
- Download URL: pyn2-0.1.0.tar.gz
- Upload date:
- Size: 7.3 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/5.1.1 CPython/3.12.5
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | c876f42fe948fc6f95716526b05d3eae8c1e7b50404b705d80219a7552ee45b4 |
|
MD5 | 5cbf9ddf2a1500730628ceae5d7c5381 |
|
BLAKE2b-256 | b9e210385cfbc6e981f6cafc29de590f0f25dee1bd21b7b593480b892a60678b |
File details
Details for the file pyn2-0.1.0-py3-none-any.whl
.
File metadata
- Download URL: pyn2-0.1.0-py3-none-any.whl
- Upload date:
- Size: 11.9 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/5.1.1 CPython/3.12.5
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 445e5312a1658d04198a17b2f0b1d7e9eff4eb828ea89e9532ec56bc65578e7b |
|
MD5 | 4ac55a7719af30a761de37810d4dca4f |
|
BLAKE2b-256 | 1f966384776eb4b95014a2fa2cc199c3f8c1f5f1c0786136465221ec43f372f2 |