Commit Graph

48 Commits

Author SHA1 Message Date
Jan Kundrát
8fcb61f12c docs: fix link to an example file
Relative links within the source tree work, but they were not being
turned into nice usable hyperlink that go back to GitHub under the
generated documentation.

Reported-by: Melin, Stefan M. <Stefan.Melin@teliacompany.com>
Change-Id: I137ad95fa75a6ee5e1b03a252782e6357d36a3af
2021-02-16 20:00:19 +00:00
Jan Kundrát
8e62955bb0 docs: Remove '%3' from graphviz mouse hover tooltips
In the generated SVG files, there was a '%3' shown as a mouseover
tooltip on mouse hover. Apparently that's what ended up in the <title>
of the whole generated SVG document.

This turned out to be an internal thingy in graphviz/dot. In Sphinx
there's already some support for catching element IDs with this '%3'
madness, but apparently titles are not handled like that.

Solve this simply by providing a title for the whole `graph {}` stanza
in the embedded dot graphs.

Reported-by: Melin, Stefan M. <Stefan.Melin@teliacompany.com>
Bug: https://gitlab.com/graphviz/graphviz/-/issues/1327
See-also: https://github.com/sphinx-doc/sphinx/commit/8494638e45
Change-Id: Ia9f39d13748cdffe74f2cb5032f92c77babb20d8
2021-02-16 18:04:21 +01:00
Jan Kundrát
ccb6653f50 docs: improve Raman description for vendors
Suggested-by: Melin, Stefan M. <Stefan.Melin@teliacompany.com>
Change-Id: Ib8a1b66cc28bddc512ac529f9326490b1092be79
2021-02-16 00:10:21 +01:00
Jan Kundrát
35877022ec docs: explain general concepts and the equipment library
Change-Id: I3b18b9695f417a3e9b747fc5ce6fe41946fa55f3
2021-02-03 15:23:04 +01:00
Jan Kundrát
9b985d1fc5 docs: fix copyright string
Change-Id: Ie74216e78861e6f32772177cffd8d51e5029152f
2021-02-03 13:56:43 +01:00
Jan Kundrát
cd95c83bbf sphinx: fix coding style
Change-Id: I01c3b81d9fd5eee5942509fc9e462f0495cab6f1
2021-01-25 11:43:50 +01:00
Jan Kundrát
ed8a3dd933 Merge "docs: distinguish "equipment parameters" from "simulation parameters"" 2020-09-08 14:51:30 +00:00
Jan Kundrát
85d1bf4e1e docs: distinguish "equipment parameters" from "simulation parameters"
This was identified during today's coders call where Andrea asked what
the best place for documentation of `sim_params.json` is. Let's split
docs about tangible equipment from those of global "simulation options".
Of course these options are still done in `eqpt_config.json`, which
might get super-confusing to the user -- so please make sure that this
is correctly explained when adding docs for `sim_params.json` in future.

Change-Id: If43894e8f562ca8a768b0efb6cc6c1afeb4aa514
2020-09-02 00:52:20 +02:00
Jan Kundrát
42edb2e6b9 docs: XLS: improve description of the "Eqpt" sheet
Change-Id: I57288798298563cfcc7d014a716bf549721db035
2020-09-02 00:45:42 +02:00
Jan Kundrát
f8047f9afe docs: remind users that the pip command ends with a dot
Thanks to Tomáš Horváth from CESNET for volunteering for a test install.

Change-Id: Ieaa4baa92df19b8e39e2d33176a5a2af9685d40f
2020-07-08 11:56:55 +02:00
Jan Kundrát
7407e6809b docs: Fix a non-existing link
Thanks to Stefan for reporting this.

Reported-by: Melin, Stefan M. <Stefan.Melin@teliacompany.com>
Change-Id: I9ab3aa5f829ffe3ef722df2d46f1393f748a52dc
2020-07-02 17:29:28 +02:00
Jan Kundrát
56f66779f9 docs: fix a typo
Change-Id: I75448f00dcd1b77e30860dc3fee9524b100a8cb8
2020-07-02 17:27:10 +02:00
Jan Kundrát
aaddffcb2e Install via PIP
There are several differences between `python setup.py develop` and `pip
install --editable .` ; one which became relevant a few days ago is the
fact that `python setup.py develop` is apparently happy to pull in
pre-releases of our dependencies -- perhaps due to the fact that this
package, when installed from git, is also considered a pre-release. This
has led to CI failures in Travis, and for some reason just on Python
3.7, not on Python 3.6.

This is of course rather ugly, and there's no need to start pulling in
pre-releases of various pieces of software that we're using, anyway. Fix
this by asking our users to use PIP, and adjusting the CI accordingly.
Zuul CI uses tox which is documented to call PIP behind the scenes, so
there's no change in there.

Fixes: https://travis-ci.com/github/Telecominfraproject/oopt-gnpy/jobs/353680894
Change-Id: I254066b8dc345e23c061a69d55546d48bac6761d
2020-06-26 18:18:55 +02:00
Jan Kundrát
637670fcfa docs: Move the gnpy-path-requests into README
This looks like something that's been "always" part of the Excel guide.
I think it is better placed in the README. After the releae we migth
want to improve the docs even more, but hey, that's something which
should be done after some discussion, not via these commits that I'm
going to self-approve shortly.

Change-Id: Icd73f4bb3a43f1a684ec7a364e4ebcc9b8e6af88
2020-06-17 21:19:13 +02:00
Jan Kundrát
1f8b4ab9a2 docs: Move install instructions into the generated docs
The PowerShellSessionLexer within pygments has troubles parsing the
example as something valid, so let's revert to a generic one.

Change-Id: I188e1d7bf2f7229ad15c1f0443584344fd11bf84
2020-06-17 20:43:37 +02:00
Jan Kundrát
c945bc40fe docs: move JSON and XLS instructions into the generated docs
Change-Id: I659dd8e53663286b1382d1786f46c5341bf7ea44
2020-06-17 20:23:58 +02:00
Jan Kundrát
6b10ed15f8 Restructuring and reorganization of the library structure
Change-Id: I111922113858526c21b848b28c86a80d5c013d65
2020-05-26 19:32:38 +02:00
Jan Kundrát
ee5e64408d examples: common code for data loading
This also moves SimParams handling to a single place. As a result,
path_requests_run has just become Raman-aware (to the minimal possible
extent, OK).

Change-Id: I4e31af5c67335963ddab567d304f48a899cd569e
2020-05-23 22:03:23 +02:00
Jan Kundrát
2b473d26d3 reorganization: move example plotting into an extra submodule
Change-Id: Ibb7a81f360493ad8c1b7e58303e2e256c64dd755
2020-05-23 20:44:51 +02:00
Jan Kundrát
648039521e reorganization: move all JSON processing into an extra module
We agreed that `gnpy.core` should only contain stuff for propagating
wavelengths. Conceptually, JSON parsing and even instantiating these
network elements from data obtained through JSON is *not* something that
is on the same level -- and this will become more important when we move
into YANG format in future.

Also, instead of former `gnpy.core.equipment.common`, use
`gnpy.tools.json_io._JsonThing`. It is not really an awesome name :),
but I think it sucks less than a thing called "common" which would be no
really longer any "common" in that new file.

Change-Id: Ifd85ea4423d418c14c8fae3d5054c5cb5638d283
2020-05-23 20:44:47 +02:00
Jan Kundrát
9faf6430a5 reorganization: gnpy/{core => tools}/service_sheet.py
Change-Id: I88559cc718536f222b8ea9829bcc72a425c062ca
2020-05-23 15:23:27 +02:00
Jan Kundrát
01c566a325 reorganization: gnpy/{core => topology}/spectrum_assignment.py
Change-Id: Ic6194ce639dcb2f9419372febe0f2b58473edb38
2020-05-23 15:05:42 +02:00
Jan Kundrát
07eb2dd13a Refactoring: conversion functions instead of gnpy.core.units.UNITS
The TL;DR behind this patch is that it's better to have a utility
conversion function instead of having multiplier LUT and open code which
implements the conversion.

The FiberParams handling looked fishy -- apparently, it was keeping the
multiplier around, but it was unconditionally setting the units to
meters, anyway. Given that the units were not being preserved anyway
(everything got converted to meters), and that the multipler was not
used anywhere, let's refactor the code to just convert to meters using
our new utility function, and remove the unused argument.

Change-Id: Id886d409a4046f980eed569265baefd97db841bd
2020-05-23 13:50:25 +02:00
Jan Kundrát
05ccb14e5d Remove unused gnpy.core.execute submodule
Change-Id: I3972f8321547bc596c018fa04232edfa23b97581
2020-05-23 13:30:19 +02:00
Jan Kundrát
f56e64410b docs: brand the generated docs with our shiny logo
Image source: I took the existing banner, cropped it and resized to
200px width as per the theme docs.

Change-Id: Ic79b6164d557298746fe878de31ee0a9b0d93923
2020-05-19 18:11:29 +02:00
Jan Kundrát
15ea7218e9 Merge gnpy.core.node.Node into gnpy.core.elements
That class is an internal implementation detail, so mark it with a
leading underscore as per Python idioms.

Also, tweak the docs so that there's less duplicate information and
more cross-references.

Change-Id: Ieb1c8034ab5b442032396d7c4bbd0a697c7eb492
2020-05-19 17:29:11 +02:00
Jan Kundrát
145653df6e reorganization: gnpy/{core => topology}/request.py
Change-Id: Ib399549479b56634c681930aa444b657e5f58ca7
2020-05-19 11:56:02 +02:00
Jan Kundrát
8b1d8b3479 reorganization: XLS conversion goes to gnpy.tools
Change-Id: Ibbaddacd24a2d0f6f6d98fdc30d57da3be188338
2020-05-19 11:54:23 +02:00
Jan Kundrát
2a477071a0 docs: emphasise the API reference over bits which are duplicated in the README
Also make sure that all modules are covered. It seems that there's no
automatic way for doing this, aargh. On the other hand, there's
apparently no need to repeat all the Sphinx markup blurb, and even
sectioning works nicely (read, "as I expect it to work") now :). I think
that it's still necessary to keep these "intermediate files" that only
trigger package-level and module-level autodocs, but hey, I can live
with this.

Change-Id: I705e0054cd7cd4350171770795d69f5c15c226d6
2020-05-07 19:54:55 +02:00
Jan Kundrát
f02d11e8bc docs: remove list of authors
The documentation is something which our users see as one of the first
things when they go and try GNPy. With all respect to people who have
contributed over the years, there are more important information to
convey to a first-time user instead of a list of authors.

Change-Id: Ibe5f6477f9736b9ab71effcf0eccef7c7fdfdde5
2020-05-07 19:05:50 +02:00
Jan Kundrát
5a1e3f30b3 docs: Fix all sphinx warnings
...and also enforce a warning-free build within the CI.

Change-Id: Ia406a0a1ca2e89ceaa0288ae82128fa9427fe066
2020-03-27 15:07:19 +01:00
Jan Kundrát
c675f5bd38 docs: do not reference a non-existing directory
Change-Id: I197956d3b55f0ebcf20cee54d5f2887bbd821fa3
2020-03-25 19:34:42 +01:00
Jan Kundrát
4d5d10935a Convert to pbr setup
It turns out that our current setup does not really support the `sdist`
Python packaging step. I'm trying to increase automation, both for
making releases for upload to pypi.org, and also for CI via Zuul. As it
turns out, Zuul comes with a set of predefined jobs which -- by default
-- use `tox`, and tox was having troubles dealing with our `setup.py`
because it also assumes that the `sdist` step works. It is also supposed
to:

- fix version number duplication in `setup.py`,
- fix version number duplication in Sphinx docs,
- prevent the need to write a `MANIFEST.in` manually.

TL;DR: insetad of having to deal with a ton of other creative
boilerplate, use tools for lazy people like me, and PBR ("Python Build
Reasonableness") appears to check the marks here.

Change-Id: I27c36c4f6b0e76857d16f7819ec237e9b811476a
2020-03-25 19:34:42 +01:00
Jan Kundrát
93986f36c3 docs: Fix docs building
Docs building started failing after our dependency update. The reason is
that the updated sphinx bibtex extension started being a bit stricter in
their interpretation of bibliography files:

  parsing bibtex file /home/jkt/work/TIP/oopt-gnpy/docs/biblio.bib...
  Exception occurred:
    File "/home/jkt/work/TIP/_py/lib64/python3.6/site-packages/pybtex/errors.py", line 78, in report_error
      raise exception
  pybtex.database.input.bibtex.DuplicatePersonField: entry with key bononi_modeling_2012 has a duplicate year field

Fix this by using `date` as field name when a full date is given.
2019-07-04 00:37:23 +02:00
Jan Kundrát
8f735316f5 Merge pull request #264 from Telecominfraproject/master
Merge master into develop

...so that the docs are updated and synced.
2019-06-19 14:28:45 +02:00
Jan Kundrát
8259124f73 docs: Show a pretty picture of GNPy in action
I do not have a vector image of this one, unfortunately. The data
apparently comes from "someone at TIP", perhaps a hired graphic
designer. It was passed to me by Diego Landa when I asked for the
original dataset.
2019-06-17 19:55:00 +02:00
Jan Kundrát
f46134fda5 docs: document the _private methods
This is a reference documentation, so it makes sense for it to be
reasonably complete.
2019-06-06 23:05:42 +02:00
Jan Kundrát
bfecff0412 docs: use a default preset here to prevent extra repetitions 2019-06-06 23:04:34 +02:00
Jan Kundrát
168f1891cf docs: ensure that all modules are documented 2019-06-06 22:55:56 +02:00
Jan Kundrát
194798d881 Add all missing authors and sync the two lists of contributors
These two lists were not synced with each other, and some contributors
whose commits have been merged in git were missing. The resulting list
is a bit longer because not everybody who contributes does that strictly
via commits pushed to GitHub.
2019-05-20 12:31:07 +02:00
Gert Grammel
f6041cd844 Update Contributors
Adding Contributors to the list
2019-01-30 19:35:42 +00:00
James Powell
a3273d24b5 doc fixes 2018-03-15 14:46:24 -04:00
James Powell
ffd7bec485 docs fix 2018-03-15 14:42:36 -04:00
James Powell
0aef76407d small documentation fixes 2018-03-15 14:35:34 -04:00
Mattia Cantono
ba06a0e104 Add NLI Evaluation in Fiber class (#33)
* Add Travis-CI configuration for continous integration
* Add GN-Model Documentation and auto-doc integration
* Add GN model to Fiber
* Unit of measure conversion adapted to SI
2018-02-28 11:53:58 -05:00
Mattia Cantono
3fae7210d8 Add Sphinx Documentation and ReadTheDocs integration (#18)
* Add sphinx documentation for readthedocs integration
* Edit README
* Edit README
* Update README formatting
* Update HTML template in conf.py
* Add .travis.yml
2018-01-10 19:50:18 -05:00
James Powell
c8ce640a2a start fresh 2017-10-31 19:39:10 -04:00
Gilad Goldfarb
b0f2ad23a6 initial commit 2017-07-11 10:00:44 -07:00