gismap 0.3.0__tar.gz → 0.4.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.
- {gismap-0.3.0 → gismap-0.4.0}/.github/workflows/build.yml +1 -1
- {gismap-0.3.0 → gismap-0.4.0}/.github/workflows/docs.yml +2 -1
- gismap-0.4.0/.github/workflows/ldb-build.yml +98 -0
- gismap-0.4.0/.github/workflows/release.yml +77 -0
- {gismap-0.3.0 → gismap-0.4.0}/HISTORY.md +15 -1
- {gismap-0.3.0 → gismap-0.4.0}/PKG-INFO +18 -5
- {gismap-0.3.0 → gismap-0.4.0}/README.md +15 -4
- gismap-0.4.0/binder/postBuild +21 -0
- gismap-0.4.0/binder/requirements.txt +1 -0
- {gismap-0.3.0 → gismap-0.4.0}/docs/reference/database.md +15 -0
- {gismap-0.3.0 → gismap-0.4.0}/docs/reference/examples.md +16 -0
- {gismap-0.3.0 → gismap-0.4.0}/docs/reference/utils.md +10 -0
- {gismap-0.3.0 → gismap-0.4.0}/docs/tutorials/cedric.ipynb +11 -2
- {gismap-0.3.0 → gismap-0.4.0}/docs/tutorials/egomap.ipynb +28 -4
- {gismap-0.3.0 → gismap-0.4.0}/docs/tutorials/examples.md +1 -0
- {gismap-0.3.0 → gismap-0.4.0}/docs/tutorials/lab_tutorial.ipynb +61 -29
- gismap-0.4.0/docs/tutorials/lamsade.ipynb +56 -0
- {gismap-0.3.0 → gismap-0.4.0}/docs/tutorials/lincs.ipynb +2 -2
- {gismap-0.3.0 → gismap-0.4.0}/docs/tutorials/lip6.ipynb +2 -2
- {gismap-0.3.0 → gismap-0.4.0}/docs/tutorials/toulouse.ipynb +3 -3
- {gismap-0.3.0 → gismap-0.4.0}/gismap/__init__.py +1 -0
- gismap-0.4.0/gismap/build.py +4 -0
- {gismap-0.3.0 → gismap-0.4.0}/gismap/gisgraphs/widget.py +5 -5
- {gismap-0.3.0 → gismap-0.4.0}/gismap/lab/lab_author.py +4 -7
- {gismap-0.3.0 → gismap-0.4.0}/gismap/lab/labmap.py +3 -4
- gismap-0.4.0/gismap/lab_examples/lamsade.py +43 -0
- {gismap-0.3.0 → gismap-0.4.0}/gismap/sources/dblp.py +1 -1
- gismap-0.4.0/gismap/sources/dblp_ttl.py +168 -0
- {gismap-0.3.0 → gismap-0.4.0}/gismap/sources/hal.py +2 -2
- gismap-0.4.0/gismap/sources/ldb.py +501 -0
- {gismap-0.3.0 → gismap-0.4.0}/gismap/sources/multi.py +2 -2
- {gismap-0.3.0 → gismap-0.4.0}/gismap/utils/common.py +15 -10
- {gismap-0.3.0 → gismap-0.4.0}/gismap/utils/logger.py +2 -0
- {gismap-0.3.0 → gismap-0.4.0}/gismap/utils/requests.py +3 -1
- gismap-0.4.0/gismap/utils/zlist.py +68 -0
- {gismap-0.3.0 → gismap-0.4.0}/pyproject.toml +3 -1
- {gismap-0.3.0 → gismap-0.4.0}/uv.lock +5 -1
- gismap-0.3.0/.github/workflows/release.yml +0 -30
- gismap-0.3.0/binder/requirements.txt +0 -1
- {gismap-0.3.0 → gismap-0.4.0}/.coveragerc +0 -0
- {gismap-0.3.0 → gismap-0.4.0}/.editorconfig +0 -0
- {gismap-0.3.0 → gismap-0.4.0}/.gitattributes +0 -0
- {gismap-0.3.0 → gismap-0.4.0}/.github/ISSUE_TEMPLATE.md +0 -0
- {gismap-0.3.0 → gismap-0.4.0}/.gitignore +0 -0
- {gismap-0.3.0 → gismap-0.4.0}/.run/All tests.run.xml +0 -0
- {gismap-0.3.0 → gismap-0.4.0}/.run/Generate docs.run.xml +0 -0
- {gismap-0.3.0 → gismap-0.4.0}/AUTHORS.md +0 -0
- {gismap-0.3.0 → gismap-0.4.0}/CONTRIBUTING.md +0 -0
- {gismap-0.3.0 → gismap-0.4.0}/binder/interactive.ipynb +0 -0
- {gismap-0.3.0 → gismap-0.4.0}/binder/runtime.txt +0 -0
- {gismap-0.3.0 → gismap-0.4.0}/citation.cff +0 -0
- {gismap-0.3.0 → gismap-0.4.0}/docs/conf.py +0 -0
- {gismap-0.3.0 → gismap-0.4.0}/docs/faq.ipynb +0 -0
- {gismap-0.3.0 → gismap-0.4.0}/docs/favicon.ico +0 -0
- {gismap-0.3.0 → gismap-0.4.0}/docs/index.md +0 -0
- {gismap-0.3.0 → gismap-0.4.0}/docs/logo.png +0 -0
- {gismap-0.3.0 → gismap-0.4.0}/docs/presentation/authors.md +0 -0
- {gismap-0.3.0 → gismap-0.4.0}/docs/presentation/contributing.md +0 -0
- {gismap-0.3.0 → gismap-0.4.0}/docs/presentation/history.md +0 -0
- {gismap-0.3.0 → gismap-0.4.0}/docs/presentation/index.md +0 -0
- {gismap-0.3.0 → gismap-0.4.0}/docs/presentation/installation.md +0 -0
- {gismap-0.3.0 → gismap-0.4.0}/docs/presentation/readme.md +0 -0
- {gismap-0.3.0 → gismap-0.4.0}/docs/reference/cographs.md +0 -0
- {gismap-0.3.0 → gismap-0.4.0}/docs/reference/gismo.md +0 -0
- {gismap-0.3.0 → gismap-0.4.0}/docs/reference/index.md +0 -0
- {gismap-0.3.0 → gismap-0.4.0}/docs/reference/lab.md +0 -0
- {gismap-0.3.0 → gismap-0.4.0}/docs/tutorials/index.md +0 -0
- {gismap-0.3.0 → gismap-0.4.0}/gismap/author.py +0 -0
- {gismap-0.3.0 → gismap-0.4.0}/gismap/gisgraphs/__init__.py +0 -0
- {gismap-0.3.0 → gismap-0.4.0}/gismap/gisgraphs/builder.py +0 -0
- {gismap-0.3.0 → gismap-0.4.0}/gismap/gisgraphs/graph.py +0 -0
- {gismap-0.3.0 → gismap-0.4.0}/gismap/gisgraphs/groups.py +0 -0
- {gismap-0.3.0 → gismap-0.4.0}/gismap/gisgraphs/js.py +0 -0
- {gismap-0.3.0 → gismap-0.4.0}/gismap/gisgraphs/options.py +0 -0
- {gismap-0.3.0 → gismap-0.4.0}/gismap/gisgraphs/style.py +0 -0
- {gismap-0.3.0 → gismap-0.4.0}/gismap/gismap.py +0 -0
- {gismap-0.3.0 → gismap-0.4.0}/gismap/gismo.py +0 -0
- {gismap-0.3.0 → gismap-0.4.0}/gismap/lab/__init__.py +0 -0
- {gismap-0.3.0 → gismap-0.4.0}/gismap/lab/egomap.py +0 -0
- {gismap-0.3.0 → gismap-0.4.0}/gismap/lab/expansion.py +0 -0
- {gismap-0.3.0 → gismap-0.4.0}/gismap/lab/filters.py +0 -0
- {gismap-0.3.0 → gismap-0.4.0}/gismap/lab_examples/__init__.py +0 -0
- {gismap-0.3.0 → gismap-0.4.0}/gismap/lab_examples/cedric.py +0 -0
- {gismap-0.3.0 → gismap-0.4.0}/gismap/lab_examples/lincs.py +0 -0
- {gismap-0.3.0 → gismap-0.4.0}/gismap/lab_examples/lip6.py +0 -0
- {gismap-0.3.0 → gismap-0.4.0}/gismap/lab_examples/toulouse.py +0 -0
- {gismap-0.3.0 → gismap-0.4.0}/gismap/search.py +0 -0
- {gismap-0.3.0 → gismap-0.4.0}/gismap/sources/__init__.py +0 -0
- {gismap-0.3.0 → gismap-0.4.0}/gismap/sources/models.py +0 -0
- {gismap-0.3.0 → gismap-0.4.0}/gismap/utils/__init__.py +0 -0
- {gismap-0.3.0 → gismap-0.4.0}/gismap/utils/text.py +0 -0
- {gismap-0.3.0 → gismap-0.4.0}/tests/__init__.py +0 -0
- {gismap-0.3.0 → gismap-0.4.0}/tests/test_gismap.py +0 -0
|
@@ -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.9.
|
|
32
|
+
version: "0.9.27"
|
|
33
33
|
|
|
34
34
|
- name: Setup Pandoc
|
|
35
35
|
uses: pandoc/actions/setup@v1
|
|
@@ -39,6 +39,7 @@ jobs:
|
|
|
39
39
|
- name: Build Sphinx documentation
|
|
40
40
|
run: |
|
|
41
41
|
uv sync --all-extras
|
|
42
|
+
uv run python -m gismap.build
|
|
42
43
|
uv run sphinx-build -a -E -b html docs build
|
|
43
44
|
|
|
44
45
|
- name: Deploy Sphinx documentation on Github Pages
|
|
@@ -0,0 +1,98 @@
|
|
|
1
|
+
name: Build LDB Database
|
|
2
|
+
|
|
3
|
+
on:
|
|
4
|
+
schedule:
|
|
5
|
+
- cron: '0 2 * * 0' # Weekly on Sunday 2 AM UTC
|
|
6
|
+
workflow_dispatch: # Manual trigger
|
|
7
|
+
|
|
8
|
+
jobs:
|
|
9
|
+
build-ldb:
|
|
10
|
+
name: Build and Upload LDB Database
|
|
11
|
+
runs-on: ubuntu-latest
|
|
12
|
+
timeout-minutes: 60 # Build takes ~30 min, allow margin
|
|
13
|
+
permissions:
|
|
14
|
+
contents: write # To upload release assets
|
|
15
|
+
|
|
16
|
+
steps:
|
|
17
|
+
- name: Checkout code
|
|
18
|
+
uses: actions/checkout@v4
|
|
19
|
+
|
|
20
|
+
- name: Set up Python 3.12
|
|
21
|
+
uses: actions/setup-python@v5
|
|
22
|
+
with:
|
|
23
|
+
python-version: "3.12"
|
|
24
|
+
|
|
25
|
+
- name: Install uv
|
|
26
|
+
uses: astral-sh/setup-uv@v5
|
|
27
|
+
with:
|
|
28
|
+
version: "0.9.27"
|
|
29
|
+
|
|
30
|
+
- name: Install dependencies
|
|
31
|
+
run: uv sync --all-extras
|
|
32
|
+
|
|
33
|
+
- name: Build LDB database
|
|
34
|
+
run: |
|
|
35
|
+
echo "Building LDB database from DBLP TTL..."
|
|
36
|
+
uv run python -m gismap.build
|
|
37
|
+
echo "Build complete."
|
|
38
|
+
|
|
39
|
+
- name: Locate and verify database
|
|
40
|
+
id: locate-db
|
|
41
|
+
run: |
|
|
42
|
+
# Find database in platformdirs location
|
|
43
|
+
DB_PATH=$(uv run python -c "from gismap.sources.ldb import LDB_PATH; print(LDB_PATH)")
|
|
44
|
+
echo "Database path: $DB_PATH"
|
|
45
|
+
|
|
46
|
+
if [ ! -f "$DB_PATH" ]; then
|
|
47
|
+
echo "ERROR: Database not found at $DB_PATH"
|
|
48
|
+
exit 1
|
|
49
|
+
fi
|
|
50
|
+
|
|
51
|
+
# Get file size
|
|
52
|
+
DB_SIZE=$(stat -c%s "$DB_PATH")
|
|
53
|
+
echo "Database size: $DB_SIZE bytes ($(echo "scale=2; $DB_SIZE / 1073741824" | bc) GB)"
|
|
54
|
+
|
|
55
|
+
# Get counts
|
|
56
|
+
AUTHOR_COUNT=$(uv run python -c "from gismap.sources.ldb import LDB; LDB.load_db(); print(len(LDB.authors))")
|
|
57
|
+
PUBLI_COUNT=$(uv run python -c "from gismap.sources.ldb import LDB; LDB.load_db(); print(len(LDB.publis))")
|
|
58
|
+
echo "Authors: $AUTHOR_COUNT, Publications: $PUBLI_COUNT"
|
|
59
|
+
|
|
60
|
+
echo "db_path=$DB_PATH" >> $GITHUB_OUTPUT
|
|
61
|
+
echo "db_size=$DB_SIZE" >> $GITHUB_OUTPUT
|
|
62
|
+
echo "author_count=$AUTHOR_COUNT" >> $GITHUB_OUTPUT
|
|
63
|
+
echo "publi_count=$PUBLI_COUNT" >> $GITHUB_OUTPUT
|
|
64
|
+
|
|
65
|
+
- name: Find latest release
|
|
66
|
+
id: latest-release
|
|
67
|
+
env:
|
|
68
|
+
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
|
69
|
+
run: |
|
|
70
|
+
LATEST_TAG=$(gh release list --limit 1 --json tagName -q '.[0].tagName')
|
|
71
|
+
if [ -z "$LATEST_TAG" ]; then
|
|
72
|
+
echo "ERROR: No releases found"
|
|
73
|
+
exit 1
|
|
74
|
+
fi
|
|
75
|
+
echo "Latest release: $LATEST_TAG"
|
|
76
|
+
echo "tag=$LATEST_TAG" >> $GITHUB_OUTPUT
|
|
77
|
+
|
|
78
|
+
- name: Upload LDB to release
|
|
79
|
+
env:
|
|
80
|
+
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
|
81
|
+
run: |
|
|
82
|
+
echo "Uploading ldb.pkl.zst to release ${{ steps.latest-release.outputs.tag }}..."
|
|
83
|
+
gh release upload "${{ steps.latest-release.outputs.tag }}" \
|
|
84
|
+
"${{ steps.locate-db.outputs.db_path }}" \
|
|
85
|
+
--clobber
|
|
86
|
+
echo "Upload complete!"
|
|
87
|
+
|
|
88
|
+
- name: Summary
|
|
89
|
+
run: |
|
|
90
|
+
echo "## LDB Build Summary" >> $GITHUB_STEP_SUMMARY
|
|
91
|
+
echo "" >> $GITHUB_STEP_SUMMARY
|
|
92
|
+
echo "| Metric | Value |" >> $GITHUB_STEP_SUMMARY
|
|
93
|
+
echo "|--------|-------|" >> $GITHUB_STEP_SUMMARY
|
|
94
|
+
echo "| Release | ${{ steps.latest-release.outputs.tag }} |" >> $GITHUB_STEP_SUMMARY
|
|
95
|
+
echo "| Authors | ${{ steps.locate-db.outputs.author_count }} |" >> $GITHUB_STEP_SUMMARY
|
|
96
|
+
echo "| Publications | ${{ steps.locate-db.outputs.publi_count }} |" >> $GITHUB_STEP_SUMMARY
|
|
97
|
+
echo "| Database Size | $(echo "scale=2; ${{ steps.locate-db.outputs.db_size }} / 1073741824" | bc) GB |" >> $GITHUB_STEP_SUMMARY
|
|
98
|
+
echo "| Build Date | $(date -u +%Y-%m-%dT%H:%M:%SZ) |" >> $GITHUB_STEP_SUMMARY
|
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
name: Publish to PyPI
|
|
2
|
+
|
|
3
|
+
on:
|
|
4
|
+
release:
|
|
5
|
+
types: [published]
|
|
6
|
+
|
|
7
|
+
jobs:
|
|
8
|
+
publish-pypi:
|
|
9
|
+
name: Publish Python Package
|
|
10
|
+
runs-on: ubuntu-latest
|
|
11
|
+
timeout-minutes: 30
|
|
12
|
+
environment:
|
|
13
|
+
name: pypi
|
|
14
|
+
permissions:
|
|
15
|
+
id-token: write # Required for PyPI trusted publishing
|
|
16
|
+
|
|
17
|
+
steps:
|
|
18
|
+
- name: Checkout code
|
|
19
|
+
uses: actions/checkout@v4
|
|
20
|
+
|
|
21
|
+
- name: Install uv
|
|
22
|
+
uses: astral-sh/setup-uv@v5
|
|
23
|
+
with:
|
|
24
|
+
version: "0.9.11" # Pin to specific uv version
|
|
25
|
+
|
|
26
|
+
- name: Build package
|
|
27
|
+
run: uv build --no-sources # Recommended for production builds
|
|
28
|
+
|
|
29
|
+
- name: Publish to PyPI
|
|
30
|
+
run: uv publish -v dist/*
|
|
31
|
+
|
|
32
|
+
build-ldb:
|
|
33
|
+
name: Build LDB Database
|
|
34
|
+
runs-on: ubuntu-latest
|
|
35
|
+
timeout-minutes: 60 # Build takes ~30 min
|
|
36
|
+
permissions:
|
|
37
|
+
contents: write # To upload release assets
|
|
38
|
+
|
|
39
|
+
steps:
|
|
40
|
+
- name: Checkout code
|
|
41
|
+
uses: actions/checkout@v4
|
|
42
|
+
|
|
43
|
+
- name: Set up Python 3.12
|
|
44
|
+
uses: actions/setup-python@v5
|
|
45
|
+
with:
|
|
46
|
+
python-version: "3.12"
|
|
47
|
+
|
|
48
|
+
- name: Install uv
|
|
49
|
+
uses: astral-sh/setup-uv@v5
|
|
50
|
+
with:
|
|
51
|
+
version: "0.9.11"
|
|
52
|
+
|
|
53
|
+
- name: Install dependencies
|
|
54
|
+
run: uv sync --all-extras
|
|
55
|
+
|
|
56
|
+
- name: Build LDB database
|
|
57
|
+
run: |
|
|
58
|
+
echo "Building LDB database from DBLP TTL..."
|
|
59
|
+
uv run python -m gismap.build
|
|
60
|
+
echo "Build complete."
|
|
61
|
+
|
|
62
|
+
- name: Locate database
|
|
63
|
+
id: locate-db
|
|
64
|
+
run: |
|
|
65
|
+
DB_PATH=$(uv run python -c "from gismap.sources.ldb import LDB_PATH; print(LDB_PATH)")
|
|
66
|
+
echo "Database path: $DB_PATH"
|
|
67
|
+
echo "db_path=$DB_PATH" >> $GITHUB_OUTPUT
|
|
68
|
+
|
|
69
|
+
- name: Upload LDB to release
|
|
70
|
+
env:
|
|
71
|
+
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
|
72
|
+
run: |
|
|
73
|
+
echo "Uploading ldb.pkl.zst to release ${{ github.event.release.tag_name }}..."
|
|
74
|
+
gh release upload "${{ github.event.release.tag_name }}" \
|
|
75
|
+
"${{ steps.locate-db.outputs.db_path }}" \
|
|
76
|
+
--clobber
|
|
77
|
+
echo "Upload complete!"
|
|
@@ -2,7 +2,6 @@
|
|
|
2
2
|
|
|
3
3
|
## Pipeline
|
|
4
4
|
|
|
5
|
-
- Offline DBLP
|
|
6
5
|
- anHALyze: tools to spot HAL issues (bad author metada, DBLP comparison, widget)
|
|
7
6
|
- EgoConf: find your conferences journals
|
|
8
7
|
- Easier access to graph customization
|
|
@@ -10,6 +9,21 @@
|
|
|
10
9
|
- Custom CSS (e.g. transparent background)
|
|
11
10
|
- Gismo integration
|
|
12
11
|
|
|
12
|
+
## 0.4.0 (2026-01-27): Local DB
|
|
13
|
+
|
|
14
|
+
New DB: LDB (Local DB). All the strengths of DBLP, None of its weaknesses.
|
|
15
|
+
|
|
16
|
+
- Convert the whole DBLP relational DB into a Gismap compatible local object.
|
|
17
|
+
- Introduces new compressed list format (Zlist) to keep the DB in memory.
|
|
18
|
+
- Use Bag-of-Factors to enable approximate search.
|
|
19
|
+
- You can build your own dataset or just rely on the one we provide and update.
|
|
20
|
+
|
|
21
|
+
Also, Lamsade added to the gallery.
|
|
22
|
+
|
|
23
|
+
## 0.3.1 (2025-11-27): Bug fixes
|
|
24
|
+
|
|
25
|
+
- Fix BS4 dependency issue.
|
|
26
|
+
- Errors in readme
|
|
13
27
|
|
|
14
28
|
## 0.3.0 (2025-11-25): Bigger, faster, prettier
|
|
15
29
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: gismap
|
|
3
|
-
Version: 0.
|
|
3
|
+
Version: 0.4.0
|
|
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
|
|
@@ -9,12 +9,14 @@ Maintainer-email: Fabien Mathieu <fabien.mathieu@normalesup.org>
|
|
|
9
9
|
License-Expression: MIT
|
|
10
10
|
License-File: AUTHORS.md
|
|
11
11
|
Requires-Python: >=3.10
|
|
12
|
+
Requires-Dist: beautifulsoup4>=4.14.2
|
|
12
13
|
Requires-Dist: bof>=0.3.5
|
|
13
14
|
Requires-Dist: distinctipy>=1.3.4
|
|
14
15
|
Requires-Dist: domonic>=0.9.13
|
|
15
16
|
Requires-Dist: gismo>=0.5.2
|
|
16
17
|
Requires-Dist: ipykernel>=6.30.1
|
|
17
18
|
Requires-Dist: ipywidgets>=8.1.8
|
|
19
|
+
Requires-Dist: platformdirs>=4.5.0
|
|
18
20
|
Requires-Dist: tqdm>=4.67.1
|
|
19
21
|
Description-Content-Type: text/markdown
|
|
20
22
|
|
|
@@ -61,17 +63,28 @@ Install GisMap:
|
|
|
61
63
|
$ pip install gismap
|
|
62
64
|
```
|
|
63
65
|
|
|
64
|
-
Use GisMap to
|
|
66
|
+
Use GisMap to display a collaboration graph (HTML) from a Notebook:
|
|
65
67
|
|
|
66
68
|
```pycon
|
|
67
|
-
>>> from gismap.
|
|
68
|
-
>>>
|
|
69
|
-
>>> lab = ListLab(["Fabien Mathieu", "François Baccelli", "Ludovic Noirie", "Céline Comte", "Sébastien Tixeuil"], dbs="hal")
|
|
69
|
+
>>> from gismap.lab import ListMap
|
|
70
|
+
>>> lab = ListMap(["Fabien Mathieu", "François Baccelli", "Ludovic Noirie", "Céline Comte", "Sébastien Tixeuil"], dbs="hal")
|
|
70
71
|
>>> lab.update_authors()
|
|
71
72
|
>>> lab.update_publis()
|
|
72
73
|
>>> lab.show_html()
|
|
73
74
|
```
|
|
74
75
|
|
|
76
|
+
If you are not using Jupyter Lab/Notebook, rich display will not work.
|
|
77
|
+
Instead, save the HTML and display it on your browser:
|
|
78
|
+
|
|
79
|
+
```pycon
|
|
80
|
+
>>> from gismap.lab import ListMap
|
|
81
|
+
>>> lab = ListMap(["Fabien Mathieu", "François Baccelli", "Ludovic Noirie", "Céline Comte", "Sébastien Tixeuil"], dbs="hal")
|
|
82
|
+
>>> lab.update_authors()
|
|
83
|
+
>>> lab.update_publis()
|
|
84
|
+
>>> lab.save_html("my_graph")
|
|
85
|
+
```
|
|
86
|
+
|
|
87
|
+
|
|
75
88
|
## Credits
|
|
76
89
|
|
|
77
90
|
This package was created with [Cookiecutter][CC] and the [Package Helper 3][PH3] project template.
|
|
@@ -41,17 +41,28 @@ Install GisMap:
|
|
|
41
41
|
$ pip install gismap
|
|
42
42
|
```
|
|
43
43
|
|
|
44
|
-
Use GisMap to
|
|
44
|
+
Use GisMap to display a collaboration graph (HTML) from a Notebook:
|
|
45
45
|
|
|
46
46
|
```pycon
|
|
47
|
-
>>> from gismap.
|
|
48
|
-
>>>
|
|
49
|
-
>>> lab = ListLab(["Fabien Mathieu", "François Baccelli", "Ludovic Noirie", "Céline Comte", "Sébastien Tixeuil"], dbs="hal")
|
|
47
|
+
>>> from gismap.lab import ListMap
|
|
48
|
+
>>> lab = ListMap(["Fabien Mathieu", "François Baccelli", "Ludovic Noirie", "Céline Comte", "Sébastien Tixeuil"], dbs="hal")
|
|
50
49
|
>>> lab.update_authors()
|
|
51
50
|
>>> lab.update_publis()
|
|
52
51
|
>>> lab.show_html()
|
|
53
52
|
```
|
|
54
53
|
|
|
54
|
+
If you are not using Jupyter Lab/Notebook, rich display will not work.
|
|
55
|
+
Instead, save the HTML and display it on your browser:
|
|
56
|
+
|
|
57
|
+
```pycon
|
|
58
|
+
>>> from gismap.lab import ListMap
|
|
59
|
+
>>> lab = ListMap(["Fabien Mathieu", "François Baccelli", "Ludovic Noirie", "Céline Comte", "Sébastien Tixeuil"], dbs="hal")
|
|
60
|
+
>>> lab.update_authors()
|
|
61
|
+
>>> lab.update_publis()
|
|
62
|
+
>>> lab.save_html("my_graph")
|
|
63
|
+
```
|
|
64
|
+
|
|
65
|
+
|
|
55
66
|
## Credits
|
|
56
67
|
|
|
57
68
|
This package was created with [Cookiecutter][CC] and the [Package Helper 3][PH3] project template.
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
#!/bin/bash
|
|
2
|
+
set -ex
|
|
3
|
+
|
|
4
|
+
# Create gismap data directory (Linux path from platformdirs)
|
|
5
|
+
mkdir -p ~/.local/share/gismap
|
|
6
|
+
|
|
7
|
+
# Download LDB from the pinned release
|
|
8
|
+
# UPDATE THIS URL when releasing new versions
|
|
9
|
+
LDB_URL="https://github.com/balouf/gismap/releases/download/v0.4.0/ldb.pkl.zst"
|
|
10
|
+
|
|
11
|
+
echo "Downloading LDB database for Binder image..."
|
|
12
|
+
curl -L -o ~/.local/share/gismap/ldb.pkl.zst "$LDB_URL"
|
|
13
|
+
|
|
14
|
+
# Verify download
|
|
15
|
+
if [ ! -f ~/.local/share/gismap/ldb.pkl.zst ]; then
|
|
16
|
+
echo "ERROR: Failed to download ldb.pkl.zst"
|
|
17
|
+
exit 1
|
|
18
|
+
fi
|
|
19
|
+
|
|
20
|
+
ls -lh ~/.local/share/gismap/ldb.pkl.zst
|
|
21
|
+
echo "LDB database successfully embedded in Binder image"
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
git+https://github.com/balouf/gismap.git@v0.4.0#egg=gismap
|
|
@@ -12,6 +12,21 @@ Abstract description of GisMap DB interface.
|
|
|
12
12
|
:members:
|
|
13
13
|
```
|
|
14
14
|
|
|
15
|
+
## LDB (Local DBLP)
|
|
16
|
+
|
|
17
|
+
Interface for *dblp computer science bibliography* (https://dblp.org/) using a local copy of the database.
|
|
18
|
+
|
|
19
|
+
```{eval-rst}
|
|
20
|
+
.. automodule:: gismap.sources.ldb
|
|
21
|
+
:members:
|
|
22
|
+
```
|
|
23
|
+
|
|
24
|
+
|
|
25
|
+
```{eval-rst}
|
|
26
|
+
.. automodule:: gismap.sources.dblp_ttl
|
|
27
|
+
:members:
|
|
28
|
+
```
|
|
29
|
+
|
|
15
30
|
|
|
16
31
|
## DBLP (online)
|
|
17
32
|
|
|
@@ -14,6 +14,22 @@
|
|
|
14
14
|
:members:
|
|
15
15
|
```
|
|
16
16
|
|
|
17
|
+
|
|
18
|
+
## Cedric
|
|
19
|
+
|
|
20
|
+
```{eval-rst}
|
|
21
|
+
.. automodule:: gismap.lab_examples.cedric
|
|
22
|
+
:members:
|
|
23
|
+
```
|
|
24
|
+
|
|
25
|
+
## LAMSADE
|
|
26
|
+
|
|
27
|
+
```{eval-rst}
|
|
28
|
+
.. automodule:: gismap.lab_examples.lamsade
|
|
29
|
+
:members:
|
|
30
|
+
```
|
|
31
|
+
|
|
32
|
+
|
|
17
33
|
## LINCS
|
|
18
34
|
|
|
19
35
|
```{eval-rst}
|
|
@@ -29,6 +29,16 @@ Keep track of things.
|
|
|
29
29
|
:members:
|
|
30
30
|
```
|
|
31
31
|
|
|
32
|
+
## Zlist
|
|
33
|
+
|
|
34
|
+
Convert a list into a succession of compressed frames. Reduces memory footprint at the price of slower random access (sequential access is unaffected).
|
|
35
|
+
|
|
36
|
+
```{eval-rst}
|
|
37
|
+
.. automodule:: gismap.utils.zlist
|
|
38
|
+
:members:
|
|
39
|
+
```
|
|
40
|
+
|
|
41
|
+
|
|
32
42
|
## Text
|
|
33
43
|
|
|
34
44
|
Text manipulation tools.
|
|
@@ -23,8 +23,17 @@
|
|
|
23
23
|
"metadata": {},
|
|
24
24
|
"outputs": [],
|
|
25
25
|
"source": [
|
|
26
|
-
"from gismap.lab_examples.cedric import CedricFull
|
|
27
|
-
|
|
26
|
+
"from gismap.lab_examples.cedric import CedricFull"
|
|
27
|
+
]
|
|
28
|
+
},
|
|
29
|
+
{
|
|
30
|
+
"cell_type": "code",
|
|
31
|
+
"execution_count": null,
|
|
32
|
+
"id": "3",
|
|
33
|
+
"metadata": {},
|
|
34
|
+
"outputs": [],
|
|
35
|
+
"source": [
|
|
36
|
+
"cedric = CedricFull()\n",
|
|
28
37
|
"cedric.update_authors()\n",
|
|
29
38
|
"cedric.update_publis()\n",
|
|
30
39
|
"cedric.show_html()"
|
|
@@ -44,7 +44,7 @@
|
|
|
44
44
|
"source": [
|
|
45
45
|
":::note\n",
|
|
46
46
|
"\n",
|
|
47
|
-
"
|
|
47
|
+
"Before the introduction of LDB, mixing HAL and DBLP took a lot of time due to DBLP request limitations. Now dual requests can be performed transparently.\n",
|
|
48
48
|
":::"
|
|
49
49
|
]
|
|
50
50
|
},
|
|
@@ -73,7 +73,7 @@
|
|
|
73
73
|
"source": [
|
|
74
74
|
"from gismap.lab import EgoMap as Map\n",
|
|
75
75
|
"\n",
|
|
76
|
-
"celine = Map(\"Céline Comte\"
|
|
76
|
+
"celine = Map(\"Céline Comte\")\n",
|
|
77
77
|
"celine.build()"
|
|
78
78
|
]
|
|
79
79
|
},
|
|
@@ -119,9 +119,9 @@
|
|
|
119
119
|
"outputs": [],
|
|
120
120
|
"source": [
|
|
121
121
|
"nidhi = Map(\n",
|
|
122
|
-
" \"Nidhi Hegde (img: https://sites.ualberta.ca/~nidhih/images/circle1.png)\"
|
|
122
|
+
" \"Nidhi Hegde (img: https://sites.ualberta.ca/~nidhih/images/circle1.png)\"\n",
|
|
123
123
|
")\n",
|
|
124
|
-
"nidhi.build(target=
|
|
124
|
+
"nidhi.build(target=80)"
|
|
125
125
|
]
|
|
126
126
|
},
|
|
127
127
|
{
|
|
@@ -177,6 +177,30 @@
|
|
|
177
177
|
"source": [
|
|
178
178
|
"julie.show_html()"
|
|
179
179
|
]
|
|
180
|
+
},
|
|
181
|
+
{
|
|
182
|
+
"cell_type": "code",
|
|
183
|
+
"execution_count": null,
|
|
184
|
+
"id": "17",
|
|
185
|
+
"metadata": {},
|
|
186
|
+
"outputs": [],
|
|
187
|
+
"source": [
|
|
188
|
+
"kathrin = Map(\n",
|
|
189
|
+
" \"Kathrin Hanauer (img: https://homepage.univie.ac.at/kathrin.hanauer/assets/img/portrait.jpg)\",\n",
|
|
190
|
+
" dbs=\"ldb\",\n",
|
|
191
|
+
")\n",
|
|
192
|
+
"kathrin.build()"
|
|
193
|
+
]
|
|
194
|
+
},
|
|
195
|
+
{
|
|
196
|
+
"cell_type": "code",
|
|
197
|
+
"execution_count": null,
|
|
198
|
+
"id": "18",
|
|
199
|
+
"metadata": {},
|
|
200
|
+
"outputs": [],
|
|
201
|
+
"source": [
|
|
202
|
+
"kathrin.show_html()"
|
|
203
|
+
]
|
|
180
204
|
}
|
|
181
205
|
],
|
|
182
206
|
"metadata": {
|