{"id":27165066,"url":"https://github.com/leomariga/pyn2","last_synced_at":"2026-01-29T22:38:03.012Z","repository":{"id":255563448,"uuid":"844500899","full_name":"leomariga/pyn2","owner":"leomariga","description":"A python library for creating dynamic N² (N-squared) charts to visualize complex systems interactions for engineering and project management.","archived":false,"fork":false,"pushed_at":"2024-09-06T02:35:22.000Z","size":632,"stargazers_count":1,"open_issues_count":1,"forks_count":1,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-10-12T15:15:38.599Z","etag":null,"topics":["charts","data-visualization","modeling","modeling-tools","n-squared","n-squared-diagrams","n2","n2-charts","openmdao","project-management","systems","systems-engineering","systems-interactions","visualization"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/leomariga.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-08-19T11:45:46.000Z","updated_at":"2024-09-06T20:53:45.000Z","dependencies_parsed_at":"2024-09-06T03:24:55.727Z","dependency_job_id":null,"html_url":"https://github.com/leomariga/pyn2","commit_stats":null,"previous_names":["leomariga/pyn2"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/leomariga/pyn2","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/leomariga%2Fpyn2","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/leomariga%2Fpyn2/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/leomariga%2Fpyn2/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/leomariga%2Fpyn2/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/leomariga","download_url":"https://codeload.github.com/leomariga/pyn2/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/leomariga%2Fpyn2/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28888427,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-29T21:06:44.224Z","status":"ssl_error","status_checked_at":"2026-01-29T21:06:42.160Z","response_time":59,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["charts","data-visualization","modeling","modeling-tools","n-squared","n-squared-diagrams","n2","n2-charts","openmdao","project-management","systems","systems-engineering","systems-interactions","visualization"],"created_at":"2025-04-09T02:51:02.029Z","updated_at":"2026-01-29T22:38:02.982Z","avatar_url":"https://github.com/leomariga.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# PyN2\n\n\u003cdiv align=\"center\"\u003e\n  \u003cimg src=\"https://raw.githubusercontent.com/leomariga/pyn2/main/doc/logo.jpg\"\u003e\u003cbr\u003e\n\u003c/div\u003e\n\n**PyN2** is a Python library (based on [OpenMDAO](https://github.com/OpenMDAO/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.\n\n## Features\n- Generate n² charts to visualize component interactions\n- Customizable labels for rows and columns\n- Highlight important relationships and dependencies\n- Export charts in various formats (e.g., SVG, HTML)\n- Easy-to-use API with minimal setup\n\n## Use Cases\n- Systems engineering: Interface mapping and interaction management\n- Project management: Task dependencies and relationship tracking\n- Complex system design: Visualizing module communications and dependencies\n\n## Installation\n```bash\npip install pyn2\n```\n\n## Dependencies\n\nPyN2 relies on the following dependencies, which are managed through Poetry:\n\n```toml\n[tool.poetry.dependencies]\npython = \"^3.12\"\nopenmdao = \"^3.34.2\"\n```\n\n## Usage\n\nRun the following code to generate the `gen_diag.html` file.\n\n```python\nfrom pyn2.chart import Element, Group, N2\n\nn2 = N2('test_chart')\ns_dev = Group('Software_development')\ne_analyze = Element('Analyze')\ne_code = Element('Code')\ne_build = Element('Build')\ne_deploy = Element('Deploy')\n\nt_vnv = Group('Software_vnv')\ne_review = Element('Review')\ne_test = Element('Test')\n\ne_analyze.connect_to(e_code)\ne_code.connect_to(e_build)\ne_code.connect_to(e_review)\ne_review.connect_to(e_analyze)\ne_build.connect_to(e_test)\ne_test.connect_to(e_deploy)\ne_test.connect_to(e_analyze)\n\ns_dev.add_element(e_analyze)\ns_dev.add_element(e_code)\ns_dev.add_element(e_build)\ns_dev.add_element(e_deploy)\n\nt_vnv.add_element(e_review)\nt_vnv.add_element(e_test)\n\nn2.add_group(s_dev)\nn2.add_group(t_vnv)\nn2.generate_report()\n```\n\nAnd produce the following chart:\n\n\u003cdiv align=\"center\"\u003e\n  \u003cimg src=\"https://raw.githubusercontent.com/leomariga/pyn2/main/doc/example.gif\"\u003e\u003cbr\u003e\n\u003c/div\u003e\n\n\n## Contributing is awesome!\n\nSee [CONTRIBUTING](https://github.com/leomariga/pyn2/blob/main/CONTRIBUTING.md)\n\n\n\n\n## Contact\n\nDeveloped with :heart: by the internet\n\n\nMainteiner: [Leonardo Mariga](https://github.com/leomariga) \n\nDid you like it? Remember to click on :star2: button.","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fleomariga%2Fpyn2","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fleomariga%2Fpyn2","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fleomariga%2Fpyn2/lists"}