gismap 0.2.1__tar.gz → 0.3.0__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 (92) hide show
  1. {gismap-0.2.1 → gismap-0.3.0}/.github/workflows/build.yml +1 -1
  2. {gismap-0.2.1 → gismap-0.3.0}/.github/workflows/docs.yml +2 -2
  3. {gismap-0.2.1 → gismap-0.3.0}/.github/workflows/release.yml +1 -1
  4. gismap-0.3.0/HISTORY.md +55 -0
  5. {gismap-0.2.1 → gismap-0.3.0}/PKG-INFO +21 -5
  6. {gismap-0.2.1 → gismap-0.3.0}/README.md +16 -3
  7. gismap-0.3.0/binder/interactive.ipynb +63 -0
  8. gismap-0.3.0/binder/requirements.txt +1 -0
  9. gismap-0.3.0/binder/runtime.txt +1 -0
  10. {gismap-0.2.1 → gismap-0.3.0}/docs/conf.py +3 -4
  11. gismap-0.3.0/docs/faq.ipynb +547 -0
  12. {gismap-0.2.1 → gismap-0.3.0}/docs/index.md +3 -1
  13. gismap-0.3.0/docs/reference/cographs.md +26 -0
  14. {gismap-0.2.1 → gismap-0.3.0}/docs/reference/database.md +1 -1
  15. gismap-0.3.0/docs/reference/examples.md +22 -0
  16. {gismap-0.2.1 → gismap-0.3.0}/docs/reference/index.md +2 -0
  17. gismap-0.3.0/docs/reference/lab.md +40 -0
  18. {gismap-0.2.1 → gismap-0.3.0}/docs/reference/utils.md +1 -1
  19. gismap-0.3.0/docs/tutorials/cedric.ipynb +55 -0
  20. {gismap-0.2.1 → gismap-0.3.0}/docs/tutorials/egomap.ipynb +50 -65
  21. gismap-0.3.0/docs/tutorials/examples.md +8 -0
  22. gismap-0.3.0/docs/tutorials/index.md +17 -0
  23. {gismap-0.2.1 → gismap-0.3.0}/docs/tutorials/lab_tutorial.ipynb +74 -91
  24. gismap-0.3.0/docs/tutorials/lincs.ipynb +64 -0
  25. gismap-0.3.0/docs/tutorials/lip6.ipynb +111 -0
  26. gismap-0.3.0/docs/tutorials/toulouse.ipynb +130 -0
  27. {gismap-0.2.1 → gismap-0.3.0}/gismap/__init__.py +1 -0
  28. gismap-0.3.0/gismap/gisgraphs/builder.py +105 -0
  29. {gismap-0.2.1/gismap/lab → gismap-0.3.0/gismap/gisgraphs}/graph.py +79 -69
  30. gismap-0.3.0/gismap/gisgraphs/groups.py +70 -0
  31. gismap-0.3.0/gismap/gisgraphs/js.py +190 -0
  32. gismap-0.3.0/gismap/gisgraphs/options.py +37 -0
  33. gismap-0.3.0/gismap/gisgraphs/style.py +119 -0
  34. gismap-0.3.0/gismap/gisgraphs/widget.py +145 -0
  35. {gismap-0.2.1 → gismap-0.3.0}/gismap/gismo.py +2 -2
  36. gismap-0.3.0/gismap/lab/__init__.py +6 -0
  37. gismap-0.3.0/gismap/lab/egomap.py +41 -0
  38. {gismap-0.2.1 → gismap-0.3.0}/gismap/lab/expansion.py +10 -9
  39. gismap-0.3.0/gismap/lab/filters.py +93 -0
  40. gismap-0.3.0/gismap/lab/lab_author.py +131 -0
  41. gismap-0.2.1/gismap/lab/lab.py → gismap-0.3.0/gismap/lab/labmap.py +33 -12
  42. gismap-0.3.0/gismap/lab_examples/cedric.py +46 -0
  43. gismap-0.3.0/gismap/lab_examples/lincs.py +44 -0
  44. {gismap-0.2.1/gismap/lab → gismap-0.3.0/gismap/lab_examples}/lip6.py +8 -4
  45. {gismap-0.2.1/gismap/lab → gismap-0.3.0/gismap/lab_examples}/toulouse.py +23 -6
  46. gismap-0.3.0/gismap/sources/__init__.py +0 -0
  47. {gismap-0.2.1 → gismap-0.3.0}/gismap/sources/dblp.py +15 -17
  48. {gismap-0.2.1 → gismap-0.3.0}/gismap/sources/hal.py +17 -8
  49. {gismap-0.2.1 → gismap-0.3.0}/gismap/sources/models.py +7 -0
  50. {gismap-0.2.1 → gismap-0.3.0}/gismap/sources/multi.py +27 -17
  51. gismap-0.3.0/gismap/utils/__init__.py +0 -0
  52. {gismap-0.2.1 → gismap-0.3.0}/gismap/utils/requests.py +4 -2
  53. {gismap-0.2.1 → gismap-0.3.0}/pyproject.toml +5 -2
  54. gismap-0.3.0/uv.lock +2540 -0
  55. gismap-0.2.1/HISTORY.md +0 -31
  56. gismap-0.2.1/docs/reference/lab.md +0 -45
  57. gismap-0.2.1/docs/tutorials/index.md +0 -6
  58. gismap-0.2.1/gismap/lab/__init__.py +0 -10
  59. gismap-0.2.1/gismap/lab/egomap.py +0 -42
  60. gismap-0.2.1/gismap/lab/filters.py +0 -18
  61. gismap-0.2.1/gismap/lab/lab_author.py +0 -84
  62. gismap-0.2.1/gismap/lab/vis.py +0 -329
  63. gismap-0.2.1/uv.lock +0 -2215
  64. {gismap-0.2.1 → gismap-0.3.0}/.coveragerc +0 -0
  65. {gismap-0.2.1 → gismap-0.3.0}/.editorconfig +0 -0
  66. {gismap-0.2.1 → gismap-0.3.0}/.gitattributes +0 -0
  67. {gismap-0.2.1 → gismap-0.3.0}/.github/ISSUE_TEMPLATE.md +0 -0
  68. {gismap-0.2.1 → gismap-0.3.0}/.gitignore +0 -0
  69. {gismap-0.2.1 → gismap-0.3.0}/.run/All tests.run.xml +0 -0
  70. {gismap-0.2.1 → gismap-0.3.0}/.run/Generate docs.run.xml +0 -0
  71. {gismap-0.2.1 → gismap-0.3.0}/AUTHORS.md +0 -0
  72. {gismap-0.2.1 → gismap-0.3.0}/CONTRIBUTING.md +0 -0
  73. {gismap-0.2.1 → gismap-0.3.0}/citation.cff +0 -0
  74. {gismap-0.2.1 → gismap-0.3.0}/docs/favicon.ico +0 -0
  75. {gismap-0.2.1 → gismap-0.3.0}/docs/logo.png +0 -0
  76. {gismap-0.2.1 → gismap-0.3.0}/docs/presentation/authors.md +0 -0
  77. {gismap-0.2.1 → gismap-0.3.0}/docs/presentation/contributing.md +0 -0
  78. {gismap-0.2.1 → gismap-0.3.0}/docs/presentation/history.md +0 -0
  79. {gismap-0.2.1 → gismap-0.3.0}/docs/presentation/index.md +0 -0
  80. {gismap-0.2.1 → gismap-0.3.0}/docs/presentation/installation.md +0 -0
  81. {gismap-0.2.1 → gismap-0.3.0}/docs/presentation/readme.md +0 -0
  82. {gismap-0.2.1 → gismap-0.3.0}/docs/reference/gismo.md +0 -0
  83. {gismap-0.2.1 → gismap-0.3.0}/gismap/author.py +0 -0
  84. {gismap-0.2.1/gismap/sources → gismap-0.3.0/gismap/gisgraphs}/__init__.py +0 -0
  85. {gismap-0.2.1 → gismap-0.3.0}/gismap/gismap.py +0 -0
  86. {gismap-0.2.1/gismap/utils → gismap-0.3.0/gismap/lab_examples}/__init__.py +0 -0
  87. {gismap-0.2.1 → gismap-0.3.0}/gismap/search.py +0 -0
  88. {gismap-0.2.1 → gismap-0.3.0}/gismap/utils/common.py +0 -0
  89. {gismap-0.2.1 → gismap-0.3.0}/gismap/utils/logger.py +0 -0
  90. {gismap-0.2.1 → gismap-0.3.0}/gismap/utils/text.py +0 -0
  91. {gismap-0.2.1 → gismap-0.3.0}/tests/__init__.py +0 -0
  92. {gismap-0.2.1 → gismap-0.3.0}/tests/test_gismap.py +0 -0
@@ -34,7 +34,7 @@ jobs:
34
34
  - name: Set up uv
35
35
  uses: astral-sh/setup-uv@v5
36
36
  with:
37
- version: "0.8.12"
37
+ version: "0.9.11"
38
38
 
39
39
  - name: Run tests
40
40
  run: |
@@ -12,7 +12,7 @@ on:
12
12
  jobs:
13
13
  build-and-deploy:
14
14
  runs-on: ubuntu-latest
15
- timeout-minutes: 30
15
+ timeout-minutes: 180
16
16
  steps:
17
17
 
18
18
  - name: Checkout
@@ -29,7 +29,7 @@ jobs:
29
29
  - name: Set up uv
30
30
  uses: astral-sh/setup-uv@v5
31
31
  with:
32
- version: "0.8.12"
32
+ version: "0.9.11"
33
33
 
34
34
  - name: Setup Pandoc
35
35
  uses: pandoc/actions/setup@v1
@@ -21,7 +21,7 @@ jobs:
21
21
  - name: Install uv
22
22
  uses: astral-sh/setup-uv@v5
23
23
  with:
24
- version: "0.8.12" # Pin to specific uv version
24
+ version: "0.9.11" # Pin to specific uv version
25
25
 
26
26
  - name: Build package
27
27
  run: uv build --no-sources # Recommended for production builds
@@ -0,0 +1,55 @@
1
+ # History
2
+
3
+ ## Pipeline
4
+
5
+ - Offline DBLP
6
+ - anHALyze: tools to spot HAL issues (bad author metada, DBLP comparison, widget)
7
+ - EgoConf: find your conferences journals
8
+ - Easier access to graph customization
9
+ - Additional graph option (e.g. time filtering and coloring, default group checks...)
10
+ - Custom CSS (e.g. transparent background)
11
+ - Gismo integration
12
+
13
+
14
+ ## 0.3.0 (2025-11-25): Bigger, faster, prettier
15
+
16
+ - VisJS integration has been fully revamped to reduce JS errors and resource consumption.
17
+ - A gallery is now available in the documentation to showcase the possibilities:
18
+ - Lip6 (Sorbonne university CS lab, single team / whole lab);
19
+ - Laas (Toulouse university CS lab, single team / whole lab) + Solace (collab team);
20
+ - Cédric (CNAM, whole CS Lab);
21
+ - LINCS (legacy Paris-based collaboration project).
22
+ - Binder integration: you can now play with GisMap directly in your browser, no local Python required!
23
+ - A FAQ, because when the developer (me) starts to forget some how-tos, you know it’s time for a FAQ.
24
+ - GisGraphs can now have groups with automatic color selection and a selectable legend.
25
+ - Gradient-based coloring for inter-group edges (that one was no picnic).
26
+ - Lots of minor improvements here and there.
27
+
28
+ ## 0.2.2 (2025-09-08): Various upgrades
29
+
30
+ - Breaking change: renaming some methods/attributes (e.g. *sun* is now *star* in EgoMap)
31
+ - Graphs now include unconnected non-empty nodes (their display will be an option in the next version)
32
+ - Typos here and there
33
+ - New Lab class: LINCS
34
+
35
+ ## 0.2.1 (2025-09-01): Minor VisJS enhancements
36
+
37
+ - Better handling of dark/light mode (should be compatible with Pydata, Jupyter, and System).
38
+ - Responsive size
39
+
40
+ ## 0.2.0 (2025-08-31): EgoMaps!
41
+
42
+ - New lab structure: EgoMap shows the people that revolves around you!
43
+ - New lab method: expansion, which adds *moons* (neighbor researchers).
44
+ - Add filters when building authors and publications.
45
+ - Physic engine changed fo better visualization.
46
+ - Multi-source handling fine-tuned.
47
+ - Better display (size and theme).
48
+
49
+
50
+ ## 0.1.0 (2025-07-24): First release
51
+
52
+ - First release on PyPI.
53
+ - Online DBLP and HAL DB implemented.
54
+ - Lab stuctures implemented.
55
+ - Early version of collaboration graph available.
@@ -1,7 +1,7 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: gismap
3
- Version: 0.2.1
4
- Summary: GISMAP leverages DBLP and HAL databases to provide cartography tools for you and your lab.
3
+ Version: 0.3.0
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
7
7
  Author-email: Fabien Mathieu <fabien.mathieu@normalesup.org>
@@ -10,8 +10,11 @@ License-Expression: MIT
10
10
  License-File: AUTHORS.md
11
11
  Requires-Python: >=3.10
12
12
  Requires-Dist: bof>=0.3.5
13
+ Requires-Dist: distinctipy>=1.3.4
14
+ Requires-Dist: domonic>=0.9.13
13
15
  Requires-Dist: gismo>=0.5.2
14
16
  Requires-Dist: ipykernel>=6.30.1
17
+ Requires-Dist: ipywidgets>=8.1.8
15
18
  Requires-Dist: tqdm>=4.67.1
16
19
  Description-Content-Type: text/markdown
17
20
 
@@ -19,12 +22,13 @@ Description-Content-Type: text/markdown
19
22
 
20
23
 
21
24
  [![PyPI Status](https://img.shields.io/pypi/v/gismap.svg)](https://pypi.python.org/pypi/gismap)
25
+ [![Binder](https://mybinder.org/badge_logo.svg)](https://mybinder.org/v2/gh/balouf/gismap/HEAD?urlpath=%2Fdoc%2Ftree%2Fbinder%2Finteractive.ipynb)
22
26
  [![Build Status](https://github.com/balouf/gismap/actions/workflows/build.yml/badge.svg?branch=main)](https://github.com/balouf/gismap/actions?query=workflow%3Abuild)
23
27
  [![Documentation Status](https://github.com/balouf/gismap/actions/workflows/docs.yml/badge.svg?branch=main)](https://github.com/balouf/gismap/actions?query=workflow%3Adocs)
24
28
  [![License: MIT](https://img.shields.io/badge/license-MIT-yellow.svg)](https://opensource.org/licenses/MIT)
25
29
  [![Code Coverage](https://codecov.io/gh/balouf/gismap/branch/main/graphs/badge.svg)](https://codecov.io/gh/balouf/gismap/tree/main)
26
30
 
27
- GISMAP leverages DBLP and HAL databases to provide cartography tools for you and your lab.
31
+ GisMap leverages DBLP and HAL databases to provide cartography tools for you and your lab.
28
32
 
29
33
  - Free software: MIT
30
34
  - Documentation: <https://balouf.github.io/gismap/>.
@@ -37,15 +41,27 @@ GISMAP leverages DBLP and HAL databases to provide cartography tools for you and
37
41
  - Automatically keeps track of a Lab/Department members and publications.
38
42
  - Builds interactive collaboration graphs.
39
43
 
44
+ ## Test GisMap online!
45
+
46
+ Don't want to install GisMap on your computer (yet)? No worries, you can play with it using https://mybinder.org/.
47
+
48
+ For example:
49
+
50
+ - [A simple interface to display and save collaboration graphs](https://mybinder.org/v2/gh/balouf/gismap/HEAD?urlpath=%2Fdoc%2Ftree%2Fbinder%2Finteractive.ipynb)
51
+ - [Tutorial: Making LabMaps](https://mybinder.org/v2/gh/balouf/gismap/HEAD?urlpath=%2Fdoc%2Ftree%2Fdocs%2Ftutorials%2Flab_tutorial.ipynb)
52
+ - [Tutorial: Making EgoMaps](https://mybinder.org/v2/gh/balouf/gismap/HEAD?urlpath=%2Fdoc%2Ftree%2Fdocs%2Ftutorials%2Fegomap.ipynb)
53
+ - [Jupyter Lab instance with GisMap installed](https://mybinder.org/v2/gh/balouf/gismap/HEAD)
54
+
55
+
40
56
  ## Quickstart
41
57
 
42
- Install GISMAP:
58
+ Install GisMap:
43
59
 
44
60
  ```console
45
61
  $ pip install gismap
46
62
  ```
47
63
 
48
- Use GISMAP to produce a collaboration graph (HTML):
64
+ Use GisMap to produce a collaboration graph (HTML):
49
65
 
50
66
  ```pycon
51
67
  >>> from gismap.sources.hal import HAL
@@ -2,12 +2,13 @@
2
2
 
3
3
 
4
4
  [![PyPI Status](https://img.shields.io/pypi/v/gismap.svg)](https://pypi.python.org/pypi/gismap)
5
+ [![Binder](https://mybinder.org/badge_logo.svg)](https://mybinder.org/v2/gh/balouf/gismap/HEAD?urlpath=%2Fdoc%2Ftree%2Fbinder%2Finteractive.ipynb)
5
6
  [![Build Status](https://github.com/balouf/gismap/actions/workflows/build.yml/badge.svg?branch=main)](https://github.com/balouf/gismap/actions?query=workflow%3Abuild)
6
7
  [![Documentation Status](https://github.com/balouf/gismap/actions/workflows/docs.yml/badge.svg?branch=main)](https://github.com/balouf/gismap/actions?query=workflow%3Adocs)
7
8
  [![License: MIT](https://img.shields.io/badge/license-MIT-yellow.svg)](https://opensource.org/licenses/MIT)
8
9
  [![Code Coverage](https://codecov.io/gh/balouf/gismap/branch/main/graphs/badge.svg)](https://codecov.io/gh/balouf/gismap/tree/main)
9
10
 
10
- GISMAP leverages DBLP and HAL databases to provide cartography tools for you and your lab.
11
+ GisMap leverages DBLP and HAL databases to provide cartography tools for you and your lab.
11
12
 
12
13
  - Free software: MIT
13
14
  - Documentation: <https://balouf.github.io/gismap/>.
@@ -20,15 +21,27 @@ GISMAP leverages DBLP and HAL databases to provide cartography tools for you and
20
21
  - Automatically keeps track of a Lab/Department members and publications.
21
22
  - Builds interactive collaboration graphs.
22
23
 
24
+ ## Test GisMap online!
25
+
26
+ Don't want to install GisMap on your computer (yet)? No worries, you can play with it using https://mybinder.org/.
27
+
28
+ For example:
29
+
30
+ - [A simple interface to display and save collaboration graphs](https://mybinder.org/v2/gh/balouf/gismap/HEAD?urlpath=%2Fdoc%2Ftree%2Fbinder%2Finteractive.ipynb)
31
+ - [Tutorial: Making LabMaps](https://mybinder.org/v2/gh/balouf/gismap/HEAD?urlpath=%2Fdoc%2Ftree%2Fdocs%2Ftutorials%2Flab_tutorial.ipynb)
32
+ - [Tutorial: Making EgoMaps](https://mybinder.org/v2/gh/balouf/gismap/HEAD?urlpath=%2Fdoc%2Ftree%2Fdocs%2Ftutorials%2Fegomap.ipynb)
33
+ - [Jupyter Lab instance with GisMap installed](https://mybinder.org/v2/gh/balouf/gismap/HEAD)
34
+
35
+
23
36
  ## Quickstart
24
37
 
25
- Install GISMAP:
38
+ Install GisMap:
26
39
 
27
40
  ```console
28
41
  $ pip install gismap
29
42
  ```
30
43
 
31
- Use GISMAP to produce a collaboration graph (HTML):
44
+ Use GisMap to produce a collaboration graph (HTML):
32
45
 
33
46
  ```pycon
34
47
  >>> from gismap.sources.hal import HAL
@@ -0,0 +1,63 @@
1
+ {
2
+ "cells": [
3
+ {
4
+ "cell_type": "markdown",
5
+ "id": "0",
6
+ "metadata": {},
7
+ "source": [
8
+ "# Interactive collaboration graphs"
9
+ ]
10
+ },
11
+ {
12
+ "cell_type": "code",
13
+ "execution_count": null,
14
+ "id": "1",
15
+ "metadata": {},
16
+ "outputs": [],
17
+ "source": [
18
+ "from gismap import GismapWidget\n",
19
+ "\n",
20
+ "gs = GismapWidget()"
21
+ ]
22
+ },
23
+ {
24
+ "cell_type": "markdown",
25
+ "id": "2",
26
+ "metadata": {},
27
+ "source": [
28
+ "You can use this notebook to quickly test LabMaps and EgoMaps:\n",
29
+ "\n",
30
+ "- Enter one name for an EgoMap, comma-separated names for a LabMap;\n",
31
+ "- Choose your DB:\n",
32
+ " - HAL for French researchers (fast DB);\n",
33
+ " - DBLP for CS researchers (slow DB);\n",
34
+ "- The size slider will complete your map with *moons* if necessary and feasible.\n",
35
+ "\n",
36
+ "You can save the result!\n",
37
+ "\n",
38
+ "Just execute the cell above to proceed."
39
+ ]
40
+ }
41
+ ],
42
+ "metadata": {
43
+ "kernelspec": {
44
+ "display_name": "Python 3 (ipykernel)",
45
+ "language": "python",
46
+ "name": "python3"
47
+ },
48
+ "language_info": {
49
+ "codemirror_mode": {
50
+ "name": "ipython",
51
+ "version": 3
52
+ },
53
+ "file_extension": ".py",
54
+ "mimetype": "text/x-python",
55
+ "name": "python",
56
+ "nbconvert_exporter": "python",
57
+ "pygments_lexer": "ipython3",
58
+ "version": "3.12.8"
59
+ }
60
+ },
61
+ "nbformat": 4,
62
+ "nbformat_minor": 5
63
+ }
@@ -0,0 +1 @@
1
+ git+https://github.com/balouf/gismap.git@main#egg=gismap
@@ -0,0 +1 @@
1
+ python-3.12
@@ -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")