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.
Metadata
Release files for pyn2 0.1.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| pyn2-0.1.0.tar.gz | 7.3 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| pyn2-0.1.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 19.2 kB
Release files / pyn2-0.1.0.tar.gz
| Download URL | pyn2-0.1.0.tar.gz |
|---|---|
| Size | 7.3 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
c876f42fe948fc6f95716526b05d3eae8c1e7b50404b705d80219a7552ee45b4
|
|
BLAKE2b-256 checksum How to use checksums |
b9e210385cfbc6e981f6cafc29de590f0f25dee1bd21b7b593480b892a60678b
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/5.1.1 CPython/3.12.5
|
Release files / pyn2-0.1.0-py3-none-any.whl
| Download URL | pyn2-0.1.0-py3-none-any.whl |
|---|---|
| Size | 11.9 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
445e5312a1658d04198a17b2f0b1d7e9eff4eb828ea89e9532ec56bc65578e7b
|
|
BLAKE2b-256 checksum How to use checksums |
1f966384776eb4b95014a2fa2cc199c3f8c1f5f1c0786136465221ec43f372f2
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/5.1.1 CPython/3.12.5
|