gismap 0.2.0__tar.gz → 0.2.2__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (66) hide show
  1. gismap-0.2.2/HISTORY.md +38 -0
  2. {gismap-0.2.0 → gismap-0.2.2}/PKG-INFO +4 -4
  3. {gismap-0.2.0 → gismap-0.2.2}/README.md +3 -3
  4. {gismap-0.2.0 → gismap-0.2.2}/docs/conf.py +3 -4
  5. {gismap-0.2.0 → gismap-0.2.2}/docs/reference/lab.md +33 -8
  6. {gismap-0.2.0 → gismap-0.2.2}/docs/reference/utils.md +1 -1
  7. {gismap-0.2.0 → gismap-0.2.2}/docs/tutorials/egomap.ipynb +39 -65
  8. {gismap-0.2.0 → gismap-0.2.2}/docs/tutorials/lab_tutorial.ipynb +28 -13
  9. {gismap-0.2.0 → gismap-0.2.2}/gismap/gismo.py +2 -2
  10. {gismap-0.2.0 → gismap-0.2.2}/gismap/lab/__init__.py +5 -5
  11. {gismap-0.2.0 → gismap-0.2.2}/gismap/lab/egomap.py +11 -11
  12. {gismap-0.2.0 → gismap-0.2.2}/gismap/lab/expansion.py +3 -3
  13. gismap-0.2.2/gismap/lab/filters.py +93 -0
  14. {gismap-0.2.0 → gismap-0.2.2}/gismap/lab/graph.py +14 -8
  15. gismap-0.2.0/gismap/lab/lab.py → gismap-0.2.2/gismap/lab/labmap.py +29 -10
  16. gismap-0.2.2/gismap/lab/lincs.py +44 -0
  17. {gismap-0.2.0 → gismap-0.2.2}/gismap/lab/lip6.py +8 -4
  18. {gismap-0.2.0 → gismap-0.2.2}/gismap/lab/toulouse.py +3 -3
  19. {gismap-0.2.0 → gismap-0.2.2}/gismap/lab/vis.py +44 -26
  20. {gismap-0.2.0 → gismap-0.2.2}/gismap/sources/hal.py +1 -1
  21. {gismap-0.2.0 → gismap-0.2.2}/gismap/sources/multi.py +4 -2
  22. {gismap-0.2.0 → gismap-0.2.2}/pyproject.toml +1 -1
  23. {gismap-0.2.0 → gismap-0.2.2}/uv.lock +35 -35
  24. gismap-0.2.0/HISTORY.md +0 -24
  25. gismap-0.2.0/gismap/lab/filters.py +0 -18
  26. {gismap-0.2.0 → gismap-0.2.2}/.coveragerc +0 -0
  27. {gismap-0.2.0 → gismap-0.2.2}/.editorconfig +0 -0
  28. {gismap-0.2.0 → gismap-0.2.2}/.gitattributes +0 -0
  29. {gismap-0.2.0 → gismap-0.2.2}/.github/ISSUE_TEMPLATE.md +0 -0
  30. {gismap-0.2.0 → gismap-0.2.2}/.github/workflows/build.yml +0 -0
  31. {gismap-0.2.0 → gismap-0.2.2}/.github/workflows/docs.yml +0 -0
  32. {gismap-0.2.0 → gismap-0.2.2}/.github/workflows/release.yml +0 -0
  33. {gismap-0.2.0 → gismap-0.2.2}/.gitignore +0 -0
  34. {gismap-0.2.0 → gismap-0.2.2}/.run/All tests.run.xml +0 -0
  35. {gismap-0.2.0 → gismap-0.2.2}/.run/Generate docs.run.xml +0 -0
  36. {gismap-0.2.0 → gismap-0.2.2}/AUTHORS.md +0 -0
  37. {gismap-0.2.0 → gismap-0.2.2}/CONTRIBUTING.md +0 -0
  38. {gismap-0.2.0 → gismap-0.2.2}/citation.cff +0 -0
  39. {gismap-0.2.0 → gismap-0.2.2}/docs/favicon.ico +0 -0
  40. {gismap-0.2.0 → gismap-0.2.2}/docs/index.md +0 -0
  41. {gismap-0.2.0 → gismap-0.2.2}/docs/logo.png +0 -0
  42. {gismap-0.2.0 → gismap-0.2.2}/docs/presentation/authors.md +0 -0
  43. {gismap-0.2.0 → gismap-0.2.2}/docs/presentation/contributing.md +0 -0
  44. {gismap-0.2.0 → gismap-0.2.2}/docs/presentation/history.md +0 -0
  45. {gismap-0.2.0 → gismap-0.2.2}/docs/presentation/index.md +0 -0
  46. {gismap-0.2.0 → gismap-0.2.2}/docs/presentation/installation.md +0 -0
  47. {gismap-0.2.0 → gismap-0.2.2}/docs/presentation/readme.md +0 -0
  48. {gismap-0.2.0 → gismap-0.2.2}/docs/reference/database.md +0 -0
  49. {gismap-0.2.0 → gismap-0.2.2}/docs/reference/gismo.md +0 -0
  50. {gismap-0.2.0 → gismap-0.2.2}/docs/reference/index.md +0 -0
  51. {gismap-0.2.0 → gismap-0.2.2}/docs/tutorials/index.md +0 -0
  52. {gismap-0.2.0 → gismap-0.2.2}/gismap/__init__.py +0 -0
  53. {gismap-0.2.0 → gismap-0.2.2}/gismap/author.py +0 -0
  54. {gismap-0.2.0 → gismap-0.2.2}/gismap/gismap.py +0 -0
  55. {gismap-0.2.0 → gismap-0.2.2}/gismap/lab/lab_author.py +0 -0
  56. {gismap-0.2.0 → gismap-0.2.2}/gismap/search.py +0 -0
  57. {gismap-0.2.0 → gismap-0.2.2}/gismap/sources/__init__.py +0 -0
  58. {gismap-0.2.0 → gismap-0.2.2}/gismap/sources/dblp.py +0 -0
  59. {gismap-0.2.0 → gismap-0.2.2}/gismap/sources/models.py +0 -0
  60. {gismap-0.2.0 → gismap-0.2.2}/gismap/utils/__init__.py +0 -0
  61. {gismap-0.2.0 → gismap-0.2.2}/gismap/utils/common.py +0 -0
  62. {gismap-0.2.0 → gismap-0.2.2}/gismap/utils/logger.py +0 -0
  63. {gismap-0.2.0 → gismap-0.2.2}/gismap/utils/requests.py +0 -0
  64. {gismap-0.2.0 → gismap-0.2.2}/gismap/utils/text.py +0 -0
  65. {gismap-0.2.0 → gismap-0.2.2}/tests/__init__.py +0 -0
  66. {gismap-0.2.0 → gismap-0.2.2}/tests/test_gismap.py +0 -0
@@ -0,0 +1,38 @@
1
+ # History
2
+
3
+ ## Roadmap
4
+
5
+ - Offline DBLP
6
+ - Customized collaboration graphs
7
+ - Colors and size
8
+ - Groups
9
+
10
+ ## 0.2.2 (2025-09-08): Various upgrades
11
+
12
+ - Breaking change: renaming some methods/attributes (e.g. *sun* is now *star* in EgoMap)
13
+ - Graphs now include unconnected non-empty nodes (their display will be an option in the next version)
14
+ - Typos here and there
15
+ - New Lab class: LINCS
16
+
17
+ ## 0.2.1 (2025-09-01): Minor VisJS enhancements
18
+
19
+ - Better handling of dark/light mode (should be compatible with Pydata, Jupyter, and System).
20
+ - Responsive size
21
+
22
+
23
+ ## 0.2.0 (2025-08-31): EgoMaps!
24
+
25
+ - New lab structure: EgoMap shows the people that revolves around you!
26
+ - New lab method: expansion, which adds *moons* (neighbor researchers).
27
+ - Add filters when building authors and publications.
28
+ - Physic engine changed fo better visualization.
29
+ - Multi-source handling fine-tuned.
30
+ - Better display (size and theme).
31
+
32
+
33
+ ## 0.1.0 (2025-07-24): First release
34
+
35
+ - First release on PyPI.
36
+ - Online DBLP and HAL DB implemented.
37
+ - Lab stuctures implemented.
38
+ - Early version of collaboration graph available.
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: gismap
3
- Version: 0.2.0
3
+ Version: 0.2.2
4
4
  Summary: GISMAP leverages DBLP and HAL databases to provide cartography tools for you and your lab.
5
5
  Project-URL: Repository, https://github.com/balouf/gismap
6
6
  Project-URL: Documentation, https://balouf.github.io/gismap
@@ -49,11 +49,11 @@ Use GISMAP to produce a collaboration graph (HTML):
49
49
 
50
50
  ```pycon
51
51
  >>> from gismap.sources.hal import HAL
52
- >>> from gismap.lab import ListLab, lab2graph
53
- >>> lab = ListLab(["Mathilde Labbé", "Anne Reverseau", "David Martens", "Marcela Scibiorska", "Nathalie Grande"], dbs=[HAL])
52
+ >>> from gismap.lab import ListLab
53
+ >>> lab = ListLab(["Fabien Mathieu", "François Baccelli", "Ludovic Noirie", "Céline Comte", "Sébastien Tixeuil"], dbs="hal")
54
54
  >>> lab.update_authors()
55
55
  >>> lab.update_publis()
56
- >>> collabs = lab2graph(lab)
56
+ >>> lab.show_html()
57
57
  ```
58
58
 
59
59
  ## Credits
@@ -32,11 +32,11 @@ Use GISMAP to produce a collaboration graph (HTML):
32
32
 
33
33
  ```pycon
34
34
  >>> from gismap.sources.hal import HAL
35
- >>> from gismap.lab import ListLab, lab2graph
36
- >>> lab = ListLab(["Mathilde Labbé", "Anne Reverseau", "David Martens", "Marcela Scibiorska", "Nathalie Grande"], dbs=[HAL])
35
+ >>> from gismap.lab import ListLab
36
+ >>> lab = ListLab(["Fabien Mathieu", "François Baccelli", "Ludovic Noirie", "Céline Comte", "Sébastien Tixeuil"], dbs="hal")
37
37
  >>> lab.update_authors()
38
38
  >>> lab.update_publis()
39
- >>> collabs = lab2graph(lab)
39
+ >>> lab.show_html()
40
40
  ```
41
41
 
42
42
  ## Credits
@@ -46,10 +46,9 @@ extensions = [
46
46
  ]
47
47
 
48
48
  # Remote NB execution
49
- nbsphinx_execute = 'always'
50
- nbsphinx_execute_arguments = [
51
- "--InlineBackend.figure_formats={'svg', 'pdf'}"
52
- ]
49
+ nbsphinx_execute = "always"
50
+ nbsphinx_execute_arguments = ["--InlineBackend.figure_formats={'svg', 'pdf'}"]
51
+
53
52
 
54
53
  def setup(app):
55
54
  app.add_css_file("https://unpkg.com/vis-network/styles/vis-network.min.css")
@@ -1,45 +1,70 @@
1
1
  # Laboratory
2
2
 
3
- Management of a group of people and their publications is made with the {class}`~gismap.lab.lab.Lab` abstract class.
3
+ Management of a group of people and their publications is made with the {class}`~gismap.lab.labmap.LabMap` abstract class.
4
4
 
5
+ ## LabMaps
5
6
 
6
7
  ```{eval-rst}
7
- .. automodule:: gismap.lab.lab
8
+ .. automodule:: gismap.lab.labmap
8
9
  :members:
9
10
  ```
10
11
 
11
- ## Collaboration graph
12
+ ## EgoMaps
12
13
 
13
14
  ```{eval-rst}
14
- .. automodule:: gismap.lab.graph
15
+ .. automodule:: gismap.lab.egomap
15
16
  :members:
16
17
  ```
17
18
 
19
+ ## Lab library
18
20
 
19
- ## LIP6
21
+ ### LIP6
20
22
 
21
23
  ```{eval-rst}
22
24
  .. automodule:: gismap.lab.lip6
23
25
  :members:
24
26
  ```
25
27
 
26
- ## Toulouse
28
+ ### Toulouse
27
29
 
28
30
  ```{eval-rst}
29
31
  .. automodule:: gismap.lab.toulouse
30
32
  :members:
31
33
  ```
32
34
 
33
- ## Vis
35
+ ## Utilities
36
+
37
+ ### Lab author
38
+
39
+ ```{eval-rst}
40
+ .. automodule:: gismap.lab.lab_author
41
+ :members:
42
+ ```
43
+
44
+ ### Graphs
45
+
46
+ ```{eval-rst}
47
+ .. automodule:: gismap.lab.graph
48
+ :members:
49
+ ```
50
+
51
+ ### VisJS interface
34
52
 
35
53
  ```{eval-rst}
36
54
  .. automodule:: gismap.lab.vis
37
55
  :members:
38
56
  ```
39
57
 
40
- ## Expansion
58
+ ### Expansion
41
59
 
42
60
  ```{eval-rst}
43
61
  .. automodule:: gismap.lab.expansion
44
62
  :members:
45
63
  ```
64
+
65
+ ### Filters
66
+
67
+ ```{eval-rst}
68
+ .. automodule:: gismap.lab.filters
69
+ :members:
70
+ ```
@@ -22,7 +22,7 @@ Functions related to the `requests`.
22
22
 
23
23
  ## Logger
24
24
 
25
- Keep track of things that go wrong.
25
+ Keep track of things.
26
26
 
27
27
  ```{eval-rst}
28
28
  .. automodule:: gismap.utils.logger
@@ -13,15 +13,15 @@
13
13
  "id": "1",
14
14
  "metadata": {},
15
15
  "source": [
16
- "Every researcher is the center of her own universe. With EgoMaps, everyone can visualize that universe!\n",
16
+ "Every researcher is the center of his/her own universe. With EgoMaps, everyone can visualize that universe!\n",
17
17
  "\n",
18
18
  "Concretely, your EgoMap is a co-publication graph containing:\n",
19
19
  "\n",
20
- "- The *sun*, i.e. you, the center of the universe\n",
20
+ "- The *star*, i.e. you, the center of the universe\n",
21
21
  "- The *planets*, i.e. your co-authors\n",
22
22
  "- The *moons*, e.g. the co-authors of your co-authors\n",
23
23
  "\n",
24
- "By default, EgoMaps comprise up to 50 researchers, selecting first planets, then moons."
24
+ "By default, EgoMaps comprise up to 50 researchers, selecting first planets (sorted by number of collaborations), then moons (sorted by connectivity)."
25
25
  ]
26
26
  },
27
27
  {
@@ -29,7 +29,7 @@
29
29
  "id": "2",
30
30
  "metadata": {},
31
31
  "source": [
32
- "## Simple case"
32
+ "## Disclaimer"
33
33
  ]
34
34
  },
35
35
  {
@@ -37,19 +37,17 @@
37
37
  "id": "3",
38
38
  "metadata": {},
39
39
  "source": [
40
- "For basic scenarios, you just need to enter the name of the researcher. For example:"
40
+ "**EgoMaps provide an engaging visualization of a researcher's egosystem.** In essence, they offer an intuitive way to explore and identify the research community or communities surrounding a given individual. By highlighting connections and relationships within a research network, EgoMaps aim to facilitate a deeper understanding of collaborative and thematic clusters in a researcher’s environment.\n",
41
+ "\n",
42
+ "It is important to emphasize that **EgoMaps are not designed nor intended to support any form of quantitative evaluation or ranking of researchers' work or impact.** Any such interpretation or usage is strongly discouraged, as the feature's primary purpose is to assist with qualitative exploration and visualization of research communities, not research assessment."
41
43
  ]
42
44
  },
43
45
  {
44
- "cell_type": "code",
45
- "execution_count": null,
46
+ "cell_type": "markdown",
46
47
  "id": "4",
47
48
  "metadata": {},
48
- "outputs": [],
49
49
  "source": [
50
- "from gismap.lab import EgoMap as Map\n",
51
- "celine = Map(\"Céline Comte\")\n",
52
- "celine.build()"
50
+ "## Simple case"
53
51
  ]
54
52
  },
55
53
  {
@@ -57,7 +55,7 @@
57
55
  "id": "5",
58
56
  "metadata": {},
59
57
  "source": [
60
- "You can display your EgoMap with `show_html` and save it with `save_html`"
58
+ "For basic scenarios, you just need to enter the name of the researcher. For example:"
61
59
  ]
62
60
  },
63
61
  {
@@ -67,7 +65,10 @@
67
65
  "metadata": {},
68
66
  "outputs": [],
69
67
  "source": [
70
- "celine.show_html()"
68
+ "from gismap.lab import EgoMap as Map\n",
69
+ "\n",
70
+ "celine = Map(\"Céline Comte\")\n",
71
+ "celine.build()"
71
72
  ]
72
73
  },
73
74
  {
@@ -75,122 +76,95 @@
75
76
  "id": "7",
76
77
  "metadata": {},
77
78
  "source": [
78
- "## Adjusting the size"
79
- ]
80
- },
81
- {
82
- "cell_type": "markdown",
83
- "id": "8",
84
- "metadata": {},
85
- "source": [
86
- "Depending on your degree, you may want to adjust the size of your universe with `target`."
87
- ]
88
- },
89
- {
90
- "cell_type": "code",
91
- "execution_count": null,
92
- "id": "9",
93
- "metadata": {},
94
- "outputs": [],
95
- "source": [
96
- "fabien = Map(\"Fabien Mathieu\")\n",
97
- "fabien.build(target=70)"
79
+ "You can display your EgoMap with `show_html` and save it with `save_html`"
98
80
  ]
99
81
  },
100
82
  {
101
83
  "cell_type": "code",
102
84
  "execution_count": null,
103
- "id": "10",
85
+ "id": "8",
104
86
  "metadata": {},
105
87
  "outputs": [],
106
88
  "source": [
107
- "fabien.show_html()"
89
+ "celine.show_html()"
108
90
  ]
109
91
  },
110
92
  {
111
93
  "cell_type": "markdown",
112
- "id": "11",
94
+ "id": "9",
113
95
  "metadata": {},
114
96
  "source": [
115
- "## Using specific DBs"
97
+ "## Adjusting the size"
116
98
  ]
117
99
  },
118
100
  {
119
101
  "cell_type": "markdown",
120
- "id": "12",
102
+ "id": "10",
121
103
  "metadata": {},
122
104
  "source": [
123
- "You can specify the DB(s) you want to use. For example, if you are a French researcher not working in computer science, HAL is enough."
105
+ "Depending on your degree, you may want to adjust the size of your universe with `target`. You can also personalize the *star* with a picture."
124
106
  ]
125
107
  },
126
108
  {
127
109
  "cell_type": "code",
128
110
  "execution_count": null,
129
- "id": "13",
111
+ "id": "11",
130
112
  "metadata": {},
131
113
  "outputs": [],
132
114
  "source": [
133
- "mathilde = Map(\"Mathilde Labbé\", dbs=\"hal\")\n",
134
- "mathilde.sun.metadata.img = \"https://0.academia-photos.com/282997/7894577/15068468/s200_mathilde.labbe.jpg\"\n",
135
- "mathilde.build(target=25)"
115
+ "nidhi = Map(\"Nidhi Hegde\")\n",
116
+ "nidhi.star.metadata.img = \"https://sites.ualberta.ca/~nidhih/images/circle1.png\"\n",
117
+ "nidhi.build(target=70)"
136
118
  ]
137
119
  },
138
120
  {
139
121
  "cell_type": "code",
140
122
  "execution_count": null,
141
- "id": "14",
123
+ "id": "12",
142
124
  "metadata": {},
143
125
  "outputs": [],
144
126
  "source": [
145
- "mathilde.show_html()"
127
+ "nidhi.show_html()"
146
128
  ]
147
129
  },
148
130
  {
149
131
  "cell_type": "markdown",
150
- "id": "15",
132
+ "id": "13",
151
133
  "metadata": {},
152
134
  "source": [
153
- "## Filtering"
135
+ "## Using specific DBs"
154
136
  ]
155
137
  },
156
138
  {
157
139
  "cell_type": "markdown",
158
- "id": "16",
140
+ "id": "14",
159
141
  "metadata": {},
160
142
  "source": [
161
- "EgoMaps have default filters that try to prevent data pollution. For example, it filters out:\n",
162
- "\n",
163
- "- Publications with too many authors. They are usually not relevant in fields like computer science.\n",
164
- "- Publications that look like editorials.\n",
165
- "\n",
166
- "Filters can customized. \n",
167
- "For example, this publication about horse locomotion is wrongly referenced in DBLP:\n",
168
- "https://dblp.org/rec/journals/sensors/PasquietBTDDF22.html\n",
169
- "\n",
170
- "It can be discarded by ignoring all publications about horses."
143
+ "You can specify the DB(s) you want to use. For example, if you are a French researcher not working in computer science, HAL is enough."
171
144
  ]
172
145
  },
173
146
  {
174
147
  "cell_type": "code",
175
148
  "execution_count": null,
176
- "id": "17",
149
+ "id": "15",
177
150
  "metadata": {},
178
151
  "outputs": [],
179
152
  "source": [
180
- "from gismap.lab.filters import publication_taboo_filter\n",
181
- "fanfan = Map(fabien.authors['fradurand'])\n",
182
- "fanfan.publication_selectors.append(publication_taboo_filter(\"Horse\"))\n",
183
- "fanfan.build(target=25)"
153
+ "mathilde = Map(\"Mathilde Labbé\", dbs=\"hal\")\n",
154
+ "mathilde.star.metadata.img = (\n",
155
+ " \"https://0.academia-photos.com/282997/7894577/15068468/s200_mathilde.labbe.jpg\"\n",
156
+ ")\n",
157
+ "mathilde.build(target=25)"
184
158
  ]
185
159
  },
186
160
  {
187
161
  "cell_type": "code",
188
162
  "execution_count": null,
189
- "id": "18",
163
+ "id": "16",
190
164
  "metadata": {},
191
165
  "outputs": [],
192
166
  "source": [
193
- "fanfan.show_html()"
167
+ "mathilde.show_html()"
194
168
  ]
195
169
  }
196
170
  ],
@@ -32,6 +32,7 @@
32
32
  "outputs": [],
33
33
  "source": [
34
34
  "from gismap.lab import LabAuthor\n",
35
+ "\n",
35
36
  "maria = LabAuthor(\"Maria Potop\")\n",
36
37
  "maria.auto_sources()"
37
38
  ]
@@ -59,7 +60,7 @@
59
60
  "id": "6",
60
61
  "metadata": {},
61
62
  "source": [
62
- "This is actually normal: Maria has multiple identities in Hal. The warning is there to tell there is a possibility of homonyms but that is not the case here. Note that an author can have many names."
63
+ "This is actually: Maria has multiple identities in Hal. The warning is there to tell there is a possibility of homonyms but that is not the case here. Note that an author can have many names."
63
64
  ]
64
65
  },
65
66
  {
@@ -88,6 +89,7 @@
88
89
  "outputs": [],
89
90
  "source": [
90
91
  "from gismap.sources.hal import HAL\n",
92
+ "\n",
91
93
  "celine = LabAuthor(\"Céline Comte\")\n",
92
94
  "celine.auto_sources(dbs=[HAL])\n",
93
95
  "celine.sources"
@@ -132,13 +134,13 @@
132
134
  "id": "14",
133
135
  "metadata": {},
134
136
  "source": [
135
- "In GISMAP, a Lab is a class whose instances have three methods:\n",
137
+ "In GISMAP, a LabMap is a class whose instances have three methods:\n",
136
138
  "\n",
137
139
  "- `update_authors` automatically refresh the members of the lab. It is useful at creation or when a lab evolves.\n",
138
140
  "- `update_publications` makes a full refresh of the publications of a lab. All publications from lab members are considered (temporal filtering may be enabled later).\n",
139
141
  "- `expand` adds *moons*, i.e. additional researchers that gravitate around the lab.\n",
140
142
  "\n",
141
- "The simplest usable subclass of Lab is `ListLab`, which uses a list of names. For example, consider the executive committee of the LINCS."
143
+ "The simplest usable subclass of Lab is `ListMap`, which uses a list of names. For example, consider the executive committee of the LINCS."
142
144
  ]
143
145
  },
144
146
  {
@@ -148,8 +150,18 @@
148
150
  "metadata": {},
149
151
  "outputs": [],
150
152
  "source": [
151
- "from gismap.lab import ListLab\n",
152
- "lab = ListLab(author_list=['Tixeuil Sébastien', 'Kofman Daniel', 'Baccelli François', 'Noirie Ludovic', 'Bassi Francesca'], name='toy_example')\n",
153
+ "from gismap.lab import ListMap\n",
154
+ "\n",
155
+ "lab = ListMap(\n",
156
+ " author_list=[\n",
157
+ " \"Tixeuil Sébastien\",\n",
158
+ " \"Kofman Daniel\",\n",
159
+ " \"Baccelli François\",\n",
160
+ " \"Noirie Ludovic\",\n",
161
+ " \"Bassi Francesca\",\n",
162
+ " ],\n",
163
+ " name=\"toy_example\",\n",
164
+ ")\n",
153
165
  "lab.update_authors()\n",
154
166
  "lab.authors"
155
167
  ]
@@ -170,7 +182,7 @@
170
182
  "id": "17",
171
183
  "metadata": {},
172
184
  "source": [
173
- "Labs can be saved to you don't have to re-update them all the time."
185
+ "Maps can be saved to you don't have to re-update them all the time."
174
186
  ]
175
187
  },
176
188
  {
@@ -188,7 +200,7 @@
188
200
  "id": "19",
189
201
  "metadata": {},
190
202
  "source": [
191
- "When you have a populated lab, you can produce a standalone HTML of the collaboration graph with `save_html`. That graph is a standalone HTML that can be displayed in a notebook or saved for inclusion in a web page (`iframe` is recommended then).\n",
203
+ "When you have a populated lab, you can produce a standalone HTML of the collaboration graph with `save_html`. That graph is a standalone HTML that can be displayed in a notebook or saved for inclusion in a web page (e.g. with `iframe`).\n",
192
204
  "\n",
193
205
  "You can also display it directly inside a notebook:"
194
206
  ]
@@ -238,7 +250,7 @@
238
250
  "source": [
239
251
  "Few things about the generated graph:\n",
240
252
  "\n",
241
- "- Singletons (authors with no co-publications) are discarded by default.\n",
253
+ "- Singletons (authors with no co-publications with the other nodes) are kept by default.\n",
242
254
  "- Authors are represented with their initials unless some picture url is provided (implicitly or explictly).\n",
243
255
  "- You can hover an author to get her name. If you click, you have a modal with the list of publications.\n",
244
256
  "- The width and length of an edge depend on the number of co-publications. If you click you have a modal with the list of co-publications."
@@ -249,7 +261,7 @@
249
261
  "id": "25",
250
262
  "metadata": {},
251
263
  "source": [
252
- "## Make your own lab"
264
+ "## Make your own LabMap"
253
265
  ]
254
266
  },
255
267
  {
@@ -257,9 +269,11 @@
257
269
  "id": "26",
258
270
  "metadata": {},
259
271
  "source": [
260
- "The easiest way to manage a lab is to specify an internal method `_author_iterator` that returns Lab authors. \n",
272
+ "Gismap is intended to make easy the creation of LabMaps in many contexts.\n",
261
273
  "\n",
262
- "To GISMAP a lab, you just need to specify that method. Most of the time, this is done by scrapping some Web page(s). See the references for examples.\n"
274
+ "The easiest way to manage a lab, apart from using ListMaps as shown above, is to specify an internal method `_author_iterator` that returns Lab authors. When it's done, you can create/refresh LabMaps as you see fit.\n",
275
+ "\n",
276
+ "How the iterator works is 100% up to you. Most of the time, this is done by scrapping some Web page(s) (see the references for examples), but many other options exist, e.g. read authors from a file, from a LDAP..."
263
277
  ]
264
278
  },
265
279
  {
@@ -275,7 +289,7 @@
275
289
  "id": "28",
276
290
  "metadata": {},
277
291
  "source": [
278
- "The `LaasLab` class automatically builds a lab representation from `https://www.laas.fr/fr/equipes/*team_name*/`"
292
+ "The `Solace` class automatically builds a LabMap based on https://solace.cnrs.fr/people.html"
279
293
  ]
280
294
  },
281
295
  {
@@ -286,10 +300,11 @@
286
300
  "outputs": [],
287
301
  "source": [
288
302
  "from gismap.lab import Solace\n",
303
+ "\n",
289
304
  "solace = Solace()\n",
290
305
  "solace.update_authors()\n",
291
306
  "solace.update_publis()\n",
292
- "solace.expand(target=10)"
307
+ "solace.expand()"
293
308
  ]
294
309
  },
295
310
  {
@@ -11,7 +11,7 @@ def make_post_publi(lab):
11
11
 
12
12
  Parameters
13
13
  ----------
14
- lab: :class:`~gismap.lab.lab.Lab`
14
+ lab: :class:`~gismap.lab.labmap.LabMap`
15
15
  Lab that contains the corpus publications.
16
16
 
17
17
  Returns
@@ -32,7 +32,7 @@ def make_gismo(lab, vectorizer_parameters=None):
32
32
 
33
33
  Parameters
34
34
  ----------
35
- lab: :class:`~gismap.lab.lab.Lab`
35
+ lab: :class:`~gismap.lab.labmap.LabMap`
36
36
  Lab that contains publications.
37
37
  vectorizer_parameters: :class:`dict`
38
38
  Overriding parameters for the Countvectorizer of the gismo.
@@ -1,9 +1,9 @@
1
- from gismap.lab.lab import (
2
- Lab as Lab,
3
- ListLab as ListLab,
1
+ from gismap.lab.labmap import (
2
+ LabMap as Map,
3
+ ListMap as ListMap,
4
4
  )
5
- from gismap.lab.lip6 import Lip6 as Lip6, Lip6Lab as Lip6Lab
6
- from gismap.lab.toulouse import Solace as Solace, LaasLab as LaasLab
5
+ from gismap.lab.lip6 import Lip6Full as Lip6Full, Lip6Map as Lip6
6
+ from gismap.lab.toulouse import SolaceMap as Solace, LaasMap as Laas
7
7
  from gismap.lab.graph import lab2graph as lab2graph
8
8
  from gismap.lab.vis import generate_html as generate_html
9
9
  from gismap.lab.egomap import EgoMap as EgoMap
@@ -1,12 +1,12 @@
1
- from gismap.lab.lab import Lab
1
+ from gismap.lab.labmap import LabMap
2
2
  from gismap.lab.lab_author import LabAuthor
3
3
 
4
4
 
5
- class EgoMap(Lab):
5
+ class EgoMap(LabMap):
6
6
  """
7
7
  Parameters
8
8
  ----------
9
- sun
9
+ star
10
10
  args
11
11
  kwargs
12
12
 
@@ -20,21 +20,21 @@ class EgoMap(Lab):
20
20
  'Siu-Wai Ho', 'Sébastien Tixeuil', 'The-Dang Huynh', 'Yannick Carlinet']
21
21
  """
22
22
 
23
- def __init__(self, sun, *args, **kwargs):
24
- if isinstance(sun, str):
25
- sun = LabAuthor(sun)
26
- sun.metadata.position = (0, 0)
27
- self.sun = sun
23
+ def __init__(self, star, *args, **kwargs):
24
+ if isinstance(star, str):
25
+ star = LabAuthor(star)
26
+ star.metadata.position = (0, 0)
27
+ self.star = star
28
28
  super().__init__(*args, **kwargs)
29
29
 
30
30
  def _author_iterator(self):
31
- yield self.sun
31
+ yield self.star
32
32
 
33
33
  def build(self, **kwargs):
34
34
  target = kwargs.pop("target", 50)
35
35
  group = kwargs.pop("group", "moon")
36
- self.update_authors(desc="Sun metadata")
37
- self.update_publis(desc="Sun publications")
36
+ self.update_authors(desc="Star metadata")
37
+ self.update_publis(desc="Star publications")
38
38
  kwargs["target"] = target - len(self.authors)
39
39
  self.expand(group=None, desc="Planets", **kwargs)
40
40
  kwargs.update({"target": target - len(self.authors), "group": group})
@@ -53,7 +53,7 @@ def count_prospect_entries(lab):
53
53
 
54
54
  Parameters
55
55
  ----------
56
- lab: :class:`~gismap.lab.lab.Lab`
56
+ lab: :class:`~gismap.lab.labmap.LabMap`
57
57
  Reference lab.
58
58
 
59
59
  Returns
@@ -117,7 +117,7 @@ def get_prospects(lab):
117
117
  """
118
118
  Parameters
119
119
  ----------
120
- lab: :class:`~gismap.lab.lab.Lab`
120
+ lab: :class:`~gismap.lab.labmap.LabMap`
121
121
  Reference lab.
122
122
 
123
123
  Returns
@@ -150,7 +150,7 @@ def get_member_names(lab):
150
150
  """
151
151
  Parameters
152
152
  ----------
153
- lab: :class:`~gismap.lab.lab.Lab`
153
+ lab: :class:`~gismap.lab.labmap.LabMap`
154
154
  Reference lab.
155
155
 
156
156
  Returns