Skip to main content

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)

Source distribution for pyn2 0.1.0
File Size Uploaded
pyn2-0.1.0.tar.gz 7.3 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for pyn2 0.1.0
File Interpreter ABI Platform
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

Release history Release notifications | RSS feed

This release

0.1.0 This release

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page