{ "info": { "author": "Telecom Infra Project", "author_email": "james.powell@telecominfraproject.com", "bugtrack_url": null, "classifiers": [ "Development Status :: 3 - Alpha", "Intended Audience :: Developers", "Intended Audience :: Science/Research", "Intended Audience :: Telecommunications Industry", "License :: OSI Approved :: BSD License", "Natural Language :: English", "Programming Language :: Python", "Programming Language :: Python :: 3.6", "Programming Language :: Python :: 3 :: Only", "Programming Language :: Python :: Implementation :: CPython", "Topic :: Scientific/Engineering", "Topic :: Scientific/Engineering :: Physics" ], "description": "====================================================================\n`gnpy`: mesh optical network route planning and optimization library\n====================================================================\n\n|docs| |build|\n\n**gnpy is an open-source, community-developed library for building route planning\nand optimization tools in real-world mesh optical networks.**\n\n`gnpy `__ is:\n\n- a sponsored project of the `OOPT/PSE `_ working group of the `Telecom Infra Project `_.\n- fully community-driven, fully open source library\n- driven by a consortium of operators, vendors, and academic researchers\n- intended for rapid development of production-grade route planning tools\n- easily extensible to include custom network elements\n- performant to the scale of real-world mesh optical networks\n\nDocumentation: https://gnpy.readthedocs.io\n\nInstallation\n------------\n\n``gnpy`` is hosted in the `Python Package Index `_ (`gnpy `__). It can be installed via:\n\n.. code-block:: shell\n\n $ pip install gnpy\n\nIt can also be installed directly from the repo.\n\n.. code-block:: shell\n\n $ git clone https://github.com/telecominfraproject/gnpy\n $ cd gnpy\n $ python setup.py install\n\nBoth approaches above will handle installing any additional software dependencies.\n\n **Note**: *We recommend the use of the Anaconda Python distribution\n (https://www.anaconda.com/download) which comes with many scientific\n computing dependencies pre-installed.*\n\nInstructions for Use\n--------------------\n\n``gnpy`` is a library for building route planning and optimization tools.\n\nIt ships with a number of example programs. Release versions will ship with\nfully-functional programs.\n\n\n **Note**: *If you are a network operator or involved in route planning and\n optimization for your organization, please contact project maintainer James\n Powell . gnpy is looking for users with\n specific, delineated use cases to drive requirements for future\n development.*\n\n\n**To get started, run the transmission example:**\n\n.. code-block:: shell\n\n $ python examples/transmission_main_example.py\n\nBy default, this script operates on a single span network defined in `examples/edfa/edfa_example_network.json `_\n\nYou can specify a different network at the command line as follows. For\nexample, to use the CORONET Continental US (CONUS) network defined in `examples/coronet_conus_example.json `_:\n\n.. code-block:: shell\n\n $ python examples/transmission_main_example.py examples/coronet_conus_example.json\n\nThis script will calculate the average signal osnr and snr across 93 network\nelements (transceiver, ROADMs, fibers, and amplifiers) between Abilene, Texas\nand Albany, New York.\n\nThis script calculates the average signal OSNR = |OSNR| and SNR = |SNR|.\n\n.. |OSNR| replace:: P\\ :sub:`ch`\\ /P\\ :sub:`ase`\n.. |SNR| replace:: P\\ :sub:`ch`\\ /(P\\ :sub:`nli`\\ +\\ P\\ :sub:`ase`)\n\n|Pase| is the amplified spontaneous emission noise, and |Pnli| the non-linear\ninterference noise.\n\n.. |Pase| replace:: P\\ :sub:`ase`\n.. |Pnli| replace:: P\\ :sub:`nli`\n\nThe `transmission_main_example.py `_\nscript propagates a specrum of 96 channels at 32 Gbaud, 50 GHz spacing and 0\ndBm/channel. These are not yet parametrized but can be modified directly in the\nscript (via the SpectralInformation tuple) to accomodate any baud rate,\nspacing, power or channel count demand.\n\nThe amplifier's gain is set to exactly compsenate for the loss in each network\nelement. The amplifier is currently defined with gain range of 15 dB to 25 dB\nand 21 dBm max output power. Ripple and NF models are defined in\n`examples/edfa_config.json `_\n\nContributing\n------------\n\n``gnpy`` is looking for additional contributors, especially those with experience\nplanning and maintaining large-scale, real-world mesh optical networks.\n\nTo get involved, please contact James Powell\n or Gert Grammel .\n\n``gnpy`` contributions are currently limited to members of `TIP\n`_. Membership is free and open to all.\n\nSee the `Onboarding Guide\n`_ for\nspecific details on code contribtions.\n\nSee `AUTHORS.rst `_ for past and present contributors.\n\nProject Background\n------------------\n\nData Centers are built upon interchangeable, highly standardized node and\nnetwork architectures rather than a sum of isolated solutions. This also\ntranslates to optical networking. It leads to a push in enabling multi-vendor\noptical network by disaggregating HW and SW functions and focussing on\ninteroperability. In this paradigm, the burden of responsibility for ensuring\nthe performance of such disaggregated open optical systems falls on the\noperators. Consequently, operators and vendors are collaborating in defining\ncontrol models that can be readily used by off-the-shelf controllers. However,\nnode and network models are only part of the answer. To take reasonable\ndecisions, controllers need to incorporate logic to simulate and assess optical\nperformance. Hence, a vendor-independent optical quality estimator is required.\nGiven its vendor-agnostic nature, such an estimator needs to be driven by a\nconsortium of operators, system and component suppliers.\n\nFounded in February 2016, the Telecom Infra Project (TIP) is an\nengineering-focused initiative which is operator driven, but features\ncollaboration across operators, suppliers, developers, integrators, and\nstartups with the goal of disaggregating the traditional network deployment\napproach. The group\u2019s ultimate goal is to help provide better connectivity for\ncommunities all over the world as more people come on-line and demand more\nbandwidth- intensive experiences like video, virtual reality and augmented\nreality.\n\nWithin TIP, the Open Optical Packet Transport (OOPT) project group is chartered\nwith unbundling monolithic packet-optical network technologies in order to\nunlock innovation and support new, more flexible connectivity paradigms.\n\nThe key to unbundling is the ability to accurately plan and predict the\nperformance of optical line systems based on an accurate simulation of optical\nparameters. Under that OOPT umbrella, the Physical Simulation Environment (PSE)\nworking group set out to disrupt the planning landscape by providing an open\nsource simulation model which can be used freely across multiple vendor\nimplementations.\n\n.. |docs| image:: https://readthedocs.org/projects/gnpy/badge/?version=develop\n :target: http://gnpy.readthedocs.io/en/develop/?badge=develop\n :alt: Documentation Status\n :scale: 100%\n\n.. |build| image:: https://travis-ci.org/mcantono/gnpy.svg?branch=develop\n :target: https://travis-ci.org/mcantono/gnpy\n :alt: Build Status\n :scale: 100%\n\nTIP OOPT/PSE & PSE WG Charter\n-----------------------------\n\nWe believe that openly sharing ideas, specifications, and other intellectual\nproperty is the key to maximizing innovation and reducing complexity\n\nTIP OOPT/PSE's goal is to build an end-to-end simulation environment which\ndefines the network models of the optical device transfer functions and their\nparameters. This environment will provide validation of the optical\nperformance requirements for the TIP OLS building blocks.\n\n- The model may be approximate or complete depending on the network complexity.\n Each model shall be validated against the proposed network scenario.\n- The environment must be able to process network models from multiple vendors,\n and also allow users to pick any implementation in an open source framework.\n- The PSE will influence and benefit from the innovation of the DTC, API, and\n OLS working groups.\n- The PSE represents a step along the journey towards multi-layer optimization.\n\nLicense\n-------\n\n``gnpy`` is distributed under a standard BSD 3-Clause License.\n\nSee `LICENSE `__ for more details.\n\n\n\n", "description_content_type": "", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/Telecominfraproject/gnpy", "keywords": "optics network fiber communication route planning optimization", "license": "", "maintainer": "", "maintainer_email": "", "name": "gnpy", "package_url": "https://pypi.org/project/gnpy/", "platform": "", "project_url": "https://pypi.org/project/gnpy/", "project_urls": { "Homepage": "https://github.com/Telecominfraproject/gnpy" }, "release_url": "https://pypi.org/project/gnpy/0.1.3/", "requires_dist": [ "alabaster (==0.7.10)", "attrs (==17.4.0)", "Babel (==2.5.3)", "certifi (==2017.11.5)", "chardet (==3.0.4)", "cycler (==0.10.0)", "decorator (==4.1.2)", "docutils (==0.14)", "idna (==2.6)", "imagesize (==0.7.1)", "Jinja2 (==2.10)", "latexcodec (==1.0.5)", "MarkupSafe (==1.0)", "matplotlib (==2.1.0)", "networkx (==2.0)", "numpy (==1.13.3)", "oset (==0.1.3)", "pluggy (==0.6.0)", "py (==1.5.2)", "pybtex (==0.21)", "pybtex-docutils (==0.2.1)", "Pygments (==2.2.0)", "pyparsing (==2.2.0)", "pytest (==3.3.2)", "python-dateutil (==2.6.1)", "pytz (==2017.3)", "PyYAML (==3.12)", "requests (==2.18.4)", "scipy (==1.0.0)", "six (==1.11.0)", "snowballstemmer (==1.2.1)", "Sphinx (==1.6.6)", "sphinxcontrib-bibtex (==0.3.6)", "sphinxcontrib-websupport (==1.0.1)", "urllib3 (==1.22)", "xlrd (==1.1.0)" ], "requires_python": "", "summary": "route planning and optimization tool for mesh optical networks", "version": "0.1.3" }, "last_serial": 3696143, "releases": { "0.1.0": [ { "comment_text": "", "digests": { "md5": "e68dff126815faef7d674f7b5facf668", "sha256": "fe8f06a3a9efe78afcb5c6923defd8844833f57796c51c30780b9cdaa1bde3dd" }, "downloads": -1, "filename": "gnpy-0.1.0-py3-none-any.whl", "has_sig": false, "md5_digest": "e68dff126815faef7d674f7b5facf668", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 21339, "upload_time": "2018-03-22T16:48:21", "url": "https://files.pythonhosted.org/packages/07/aa/0f01b2f9bfcdc838ac37ac37e206ae371b14551cde732d758a4fa2f52b9d/gnpy-0.1.0-py3-none-any.whl" } ], "0.1.2": [ { "comment_text": "", "digests": { "md5": "b785b39c04f8b4a8108a73e643c12600", "sha256": "88b227d7cff65a83e2a938981628083f60d8a0d8aaad3582d6d6783edc62ae0c" }, "downloads": -1, "filename": "gnpy-0.1.2-py3-none-any.whl", "has_sig": false, "md5_digest": "b785b39c04f8b4a8108a73e643c12600", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 21340, "upload_time": "2018-03-22T17:09:10", "url": "https://files.pythonhosted.org/packages/cb/d7/889a36ea5e2672badc64118a021263c364ca811f3ed9b5231d2347bc55bd/gnpy-0.1.2-py3-none-any.whl" } ], "0.1.3": [ { "comment_text": "", "digests": { "md5": "f6c0058534db216155d74f85d1870c0f", "sha256": "b8a5669bc5a844392897c676b15ec3ea6f62b7b46df56c6418498dbc6effb90f" }, "downloads": -1, "filename": "gnpy-0.1.3-py3-none-any.whl", "has_sig": false, "md5_digest": "f6c0058534db216155d74f85d1870c0f", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 21389, "upload_time": "2018-03-22T17:19:09", "url": "https://files.pythonhosted.org/packages/9a/34/bf8354a0d0d894dcf05b3810255f84c850f87e6cad2cb165c56332b96696/gnpy-0.1.3-py3-none-any.whl" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "f6c0058534db216155d74f85d1870c0f", "sha256": "b8a5669bc5a844392897c676b15ec3ea6f62b7b46df56c6418498dbc6effb90f" }, "downloads": -1, "filename": "gnpy-0.1.3-py3-none-any.whl", "has_sig": false, "md5_digest": "f6c0058534db216155d74f85d1870c0f", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 21389, "upload_time": "2018-03-22T17:19:09", "url": "https://files.pythonhosted.org/packages/9a/34/bf8354a0d0d894dcf05b3810255f84c850f87e6cad2cb165c56332b96696/gnpy-0.1.3-py3-none-any.whl" } ] }