gismap 0.2.2__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.2.2 → gismap-0.4.0}/.github/workflows/build.yml +1 -1
- {gismap-0.2.2 → gismap-0.4.0}/.github/workflows/docs.yml +3 -2
- gismap-0.4.0/.github/workflows/ldb-build.yml +98 -0
- gismap-0.4.0/.github/workflows/release.yml +77 -0
- gismap-0.4.0/HISTORY.md +69 -0
- {gismap-0.2.2 → gismap-0.4.0}/PKG-INFO +37 -8
- {gismap-0.2.2 → gismap-0.4.0}/README.md +30 -6
- gismap-0.4.0/binder/interactive.ipynb +63 -0
- gismap-0.4.0/binder/postBuild +21 -0
- gismap-0.4.0/binder/requirements.txt +1 -0
- gismap-0.4.0/binder/runtime.txt +1 -0
- gismap-0.4.0/docs/faq.ipynb +547 -0
- {gismap-0.2.2 → gismap-0.4.0}/docs/index.md +3 -1
- gismap-0.4.0/docs/reference/cographs.md +26 -0
- {gismap-0.2.2 → gismap-0.4.0}/docs/reference/database.md +16 -1
- gismap-0.4.0/docs/reference/examples.md +38 -0
- {gismap-0.2.2 → gismap-0.4.0}/docs/reference/index.md +2 -0
- {gismap-0.2.2 → gismap-0.4.0}/docs/reference/lab.md +0 -30
- {gismap-0.2.2 → gismap-0.4.0}/docs/reference/utils.md +10 -0
- gismap-0.4.0/docs/tutorials/cedric.ipynb +64 -0
- {gismap-0.2.2 → gismap-0.4.0}/docs/tutorials/egomap.ipynb +49 -14
- gismap-0.4.0/docs/tutorials/examples.md +9 -0
- gismap-0.4.0/docs/tutorials/index.md +17 -0
- {gismap-0.2.2 → gismap-0.4.0}/docs/tutorials/lab_tutorial.ipynb +106 -106
- gismap-0.4.0/docs/tutorials/lamsade.ipynb +56 -0
- gismap-0.4.0/docs/tutorials/lincs.ipynb +64 -0
- gismap-0.4.0/docs/tutorials/lip6.ipynb +111 -0
- gismap-0.4.0/docs/tutorials/toulouse.ipynb +130 -0
- {gismap-0.2.2 → gismap-0.4.0}/gismap/__init__.py +2 -0
- gismap-0.4.0/gismap/build.py +4 -0
- gismap-0.4.0/gismap/gisgraphs/builder.py +105 -0
- {gismap-0.2.2/gismap/lab → gismap-0.4.0/gismap/gisgraphs}/graph.py +70 -66
- gismap-0.4.0/gismap/gisgraphs/groups.py +70 -0
- gismap-0.4.0/gismap/gisgraphs/js.py +190 -0
- gismap-0.4.0/gismap/gisgraphs/options.py +37 -0
- gismap-0.4.0/gismap/gisgraphs/style.py +119 -0
- gismap-0.4.0/gismap/gisgraphs/widget.py +145 -0
- gismap-0.4.0/gismap/lab/__init__.py +6 -0
- {gismap-0.2.2 → gismap-0.4.0}/gismap/lab/egomap.py +6 -7
- {gismap-0.2.2 → gismap-0.4.0}/gismap/lab/expansion.py +7 -6
- {gismap-0.2.2 → gismap-0.4.0}/gismap/lab/filters.py +1 -1
- gismap-0.4.0/gismap/lab/lab_author.py +128 -0
- {gismap-0.2.2 → gismap-0.4.0}/gismap/lab/labmap.py +7 -6
- gismap-0.4.0/gismap/lab_examples/cedric.py +46 -0
- gismap-0.4.0/gismap/lab_examples/lamsade.py +43 -0
- {gismap-0.2.2/gismap/lab → gismap-0.4.0/gismap/lab_examples}/lincs.py +2 -2
- {gismap-0.2.2/gismap/lab → gismap-0.4.0/gismap/lab_examples}/toulouse.py +20 -3
- gismap-0.4.0/gismap/sources/__init__.py +0 -0
- {gismap-0.2.2 → gismap-0.4.0}/gismap/sources/dblp.py +16 -18
- gismap-0.4.0/gismap/sources/dblp_ttl.py +168 -0
- {gismap-0.2.2 → gismap-0.4.0}/gismap/sources/hal.py +19 -10
- gismap-0.4.0/gismap/sources/ldb.py +501 -0
- {gismap-0.2.2 → gismap-0.4.0}/gismap/sources/models.py +7 -0
- {gismap-0.2.2 → gismap-0.4.0}/gismap/sources/multi.py +25 -17
- gismap-0.4.0/gismap/utils/__init__.py +0 -0
- {gismap-0.2.2 → gismap-0.4.0}/gismap/utils/common.py +15 -10
- {gismap-0.2.2 → gismap-0.4.0}/gismap/utils/logger.py +2 -0
- {gismap-0.2.2 → gismap-0.4.0}/gismap/utils/requests.py +6 -2
- gismap-0.4.0/gismap/utils/zlist.py +68 -0
- {gismap-0.2.2 → gismap-0.4.0}/pyproject.toml +7 -2
- gismap-0.4.0/uv.lock +2544 -0
- gismap-0.2.2/.github/workflows/release.yml +0 -30
- gismap-0.2.2/HISTORY.md +0 -38
- gismap-0.2.2/docs/tutorials/index.md +0 -6
- gismap-0.2.2/gismap/lab/__init__.py +0 -10
- gismap-0.2.2/gismap/lab/lab_author.py +0 -84
- gismap-0.2.2/gismap/lab/vis.py +0 -329
- gismap-0.2.2/uv.lock +0 -2215
- {gismap-0.2.2 → gismap-0.4.0}/.coveragerc +0 -0
- {gismap-0.2.2 → gismap-0.4.0}/.editorconfig +0 -0
- {gismap-0.2.2 → gismap-0.4.0}/.gitattributes +0 -0
- {gismap-0.2.2 → gismap-0.4.0}/.github/ISSUE_TEMPLATE.md +0 -0
- {gismap-0.2.2 → gismap-0.4.0}/.gitignore +0 -0
- {gismap-0.2.2 → gismap-0.4.0}/.run/All tests.run.xml +0 -0
- {gismap-0.2.2 → gismap-0.4.0}/.run/Generate docs.run.xml +0 -0
- {gismap-0.2.2 → gismap-0.4.0}/AUTHORS.md +0 -0
- {gismap-0.2.2 → gismap-0.4.0}/CONTRIBUTING.md +0 -0
- {gismap-0.2.2 → gismap-0.4.0}/citation.cff +0 -0
- {gismap-0.2.2 → gismap-0.4.0}/docs/conf.py +0 -0
- {gismap-0.2.2 → gismap-0.4.0}/docs/favicon.ico +0 -0
- {gismap-0.2.2 → gismap-0.4.0}/docs/logo.png +0 -0
- {gismap-0.2.2 → gismap-0.4.0}/docs/presentation/authors.md +0 -0
- {gismap-0.2.2 → gismap-0.4.0}/docs/presentation/contributing.md +0 -0
- {gismap-0.2.2 → gismap-0.4.0}/docs/presentation/history.md +0 -0
- {gismap-0.2.2 → gismap-0.4.0}/docs/presentation/index.md +0 -0
- {gismap-0.2.2 → gismap-0.4.0}/docs/presentation/installation.md +0 -0
- {gismap-0.2.2 → gismap-0.4.0}/docs/presentation/readme.md +0 -0
- {gismap-0.2.2 → gismap-0.4.0}/docs/reference/gismo.md +0 -0
- {gismap-0.2.2 → gismap-0.4.0}/gismap/author.py +0 -0
- {gismap-0.2.2/gismap/sources → gismap-0.4.0/gismap/gisgraphs}/__init__.py +0 -0
- {gismap-0.2.2 → gismap-0.4.0}/gismap/gismap.py +0 -0
- {gismap-0.2.2 → gismap-0.4.0}/gismap/gismo.py +0 -0
- {gismap-0.2.2/gismap/utils → gismap-0.4.0/gismap/lab_examples}/__init__.py +0 -0
- {gismap-0.2.2/gismap/lab → gismap-0.4.0/gismap/lab_examples}/lip6.py +0 -0
- {gismap-0.2.2 → gismap-0.4.0}/gismap/search.py +0 -0
- {gismap-0.2.2 → gismap-0.4.0}/gismap/utils/text.py +0 -0
- {gismap-0.2.2 → gismap-0.4.0}/tests/__init__.py +0 -0
- {gismap-0.2.2 → gismap-0.4.0}/tests/test_gismap.py +0 -0
|
@@ -12,7 +12,7 @@ on:
|
|
|
12
12
|
jobs:
|
|
13
13
|
build-and-deploy:
|
|
14
14
|
runs-on: ubuntu-latest
|
|
15
|
-
timeout-minutes:
|
|
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.
|
|
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!"
|
gismap-0.4.0/HISTORY.md
ADDED
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
# History
|
|
2
|
+
|
|
3
|
+
## Pipeline
|
|
4
|
+
|
|
5
|
+
- anHALyze: tools to spot HAL issues (bad author metada, DBLP comparison, widget)
|
|
6
|
+
- EgoConf: find your conferences journals
|
|
7
|
+
- Easier access to graph customization
|
|
8
|
+
- Additional graph option (e.g. time filtering and coloring, default group checks...)
|
|
9
|
+
- Custom CSS (e.g. transparent background)
|
|
10
|
+
- Gismo integration
|
|
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
|
|
27
|
+
|
|
28
|
+
## 0.3.0 (2025-11-25): Bigger, faster, prettier
|
|
29
|
+
|
|
30
|
+
- VisJS integration has been fully revamped to reduce JS errors and resource consumption.
|
|
31
|
+
- A gallery is now available in the documentation to showcase the possibilities:
|
|
32
|
+
- Lip6 (Sorbonne university CS lab, single team / whole lab);
|
|
33
|
+
- Laas (Toulouse university CS lab, single team / whole lab) + Solace (collab team);
|
|
34
|
+
- Cédric (CNAM, whole CS Lab);
|
|
35
|
+
- LINCS (legacy Paris-based collaboration project).
|
|
36
|
+
- Binder integration: you can now play with GisMap directly in your browser, no local Python required!
|
|
37
|
+
- A FAQ, because when the developer (me) starts to forget some how-tos, you know it’s time for a FAQ.
|
|
38
|
+
- GisGraphs can now have groups with automatic color selection and a selectable legend.
|
|
39
|
+
- Gradient-based coloring for inter-group edges (that one was no picnic).
|
|
40
|
+
- Lots of minor improvements here and there.
|
|
41
|
+
|
|
42
|
+
## 0.2.2 (2025-09-08): Various upgrades
|
|
43
|
+
|
|
44
|
+
- Breaking change: renaming some methods/attributes (e.g. *sun* is now *star* in EgoMap)
|
|
45
|
+
- Graphs now include unconnected non-empty nodes (their display will be an option in the next version)
|
|
46
|
+
- Typos here and there
|
|
47
|
+
- New Lab class: LINCS
|
|
48
|
+
|
|
49
|
+
## 0.2.1 (2025-09-01): Minor VisJS enhancements
|
|
50
|
+
|
|
51
|
+
- Better handling of dark/light mode (should be compatible with Pydata, Jupyter, and System).
|
|
52
|
+
- Responsive size
|
|
53
|
+
|
|
54
|
+
## 0.2.0 (2025-08-31): EgoMaps!
|
|
55
|
+
|
|
56
|
+
- New lab structure: EgoMap shows the people that revolves around you!
|
|
57
|
+
- New lab method: expansion, which adds *moons* (neighbor researchers).
|
|
58
|
+
- Add filters when building authors and publications.
|
|
59
|
+
- Physic engine changed fo better visualization.
|
|
60
|
+
- Multi-source handling fine-tuned.
|
|
61
|
+
- Better display (size and theme).
|
|
62
|
+
|
|
63
|
+
|
|
64
|
+
## 0.1.0 (2025-07-24): First release
|
|
65
|
+
|
|
66
|
+
- First release on PyPI.
|
|
67
|
+
- Online DBLP and HAL DB implemented.
|
|
68
|
+
- Lab stuctures implemented.
|
|
69
|
+
- Early version of collaboration graph available.
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: gismap
|
|
3
|
-
Version: 0.
|
|
4
|
-
Summary:
|
|
3
|
+
Version: 0.4.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>
|
|
@@ -9,9 +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
|
|
14
|
+
Requires-Dist: distinctipy>=1.3.4
|
|
15
|
+
Requires-Dist: domonic>=0.9.13
|
|
13
16
|
Requires-Dist: gismo>=0.5.2
|
|
14
17
|
Requires-Dist: ipykernel>=6.30.1
|
|
18
|
+
Requires-Dist: ipywidgets>=8.1.8
|
|
19
|
+
Requires-Dist: platformdirs>=4.5.0
|
|
15
20
|
Requires-Dist: tqdm>=4.67.1
|
|
16
21
|
Description-Content-Type: text/markdown
|
|
17
22
|
|
|
@@ -19,12 +24,13 @@ Description-Content-Type: text/markdown
|
|
|
19
24
|
|
|
20
25
|
|
|
21
26
|
[](https://pypi.python.org/pypi/gismap)
|
|
27
|
+
[](https://mybinder.org/v2/gh/balouf/gismap/HEAD?urlpath=%2Fdoc%2Ftree%2Fbinder%2Finteractive.ipynb)
|
|
22
28
|
[](https://github.com/balouf/gismap/actions?query=workflow%3Abuild)
|
|
23
29
|
[](https://github.com/balouf/gismap/actions?query=workflow%3Adocs)
|
|
24
30
|
[](https://opensource.org/licenses/MIT)
|
|
25
31
|
[](https://codecov.io/gh/balouf/gismap/tree/main)
|
|
26
32
|
|
|
27
|
-
|
|
33
|
+
GisMap leverages DBLP and HAL databases to provide cartography tools for you and your lab.
|
|
28
34
|
|
|
29
35
|
- Free software: MIT
|
|
30
36
|
- Documentation: <https://balouf.github.io/gismap/>.
|
|
@@ -37,25 +43,48 @@ GISMAP leverages DBLP and HAL databases to provide cartography tools for you and
|
|
|
37
43
|
- Automatically keeps track of a Lab/Department members and publications.
|
|
38
44
|
- Builds interactive collaboration graphs.
|
|
39
45
|
|
|
46
|
+
## Test GisMap online!
|
|
47
|
+
|
|
48
|
+
Don't want to install GisMap on your computer (yet)? No worries, you can play with it using https://mybinder.org/.
|
|
49
|
+
|
|
50
|
+
For example:
|
|
51
|
+
|
|
52
|
+
- [A simple interface to display and save collaboration graphs](https://mybinder.org/v2/gh/balouf/gismap/HEAD?urlpath=%2Fdoc%2Ftree%2Fbinder%2Finteractive.ipynb)
|
|
53
|
+
- [Tutorial: Making LabMaps](https://mybinder.org/v2/gh/balouf/gismap/HEAD?urlpath=%2Fdoc%2Ftree%2Fdocs%2Ftutorials%2Flab_tutorial.ipynb)
|
|
54
|
+
- [Tutorial: Making EgoMaps](https://mybinder.org/v2/gh/balouf/gismap/HEAD?urlpath=%2Fdoc%2Ftree%2Fdocs%2Ftutorials%2Fegomap.ipynb)
|
|
55
|
+
- [Jupyter Lab instance with GisMap installed](https://mybinder.org/v2/gh/balouf/gismap/HEAD)
|
|
56
|
+
|
|
57
|
+
|
|
40
58
|
## Quickstart
|
|
41
59
|
|
|
42
|
-
Install
|
|
60
|
+
Install GisMap:
|
|
43
61
|
|
|
44
62
|
```console
|
|
45
63
|
$ pip install gismap
|
|
46
64
|
```
|
|
47
65
|
|
|
48
|
-
Use
|
|
66
|
+
Use GisMap to display a collaboration graph (HTML) from a Notebook:
|
|
49
67
|
|
|
50
68
|
```pycon
|
|
51
|
-
>>> from gismap.
|
|
52
|
-
>>>
|
|
53
|
-
>>> 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")
|
|
54
71
|
>>> lab.update_authors()
|
|
55
72
|
>>> lab.update_publis()
|
|
56
73
|
>>> lab.show_html()
|
|
57
74
|
```
|
|
58
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
|
+
|
|
59
88
|
## Credits
|
|
60
89
|
|
|
61
90
|
This package was created with [Cookiecutter][CC] and the [Package Helper 3][PH3] project template.
|
|
@@ -2,12 +2,13 @@
|
|
|
2
2
|
|
|
3
3
|
|
|
4
4
|
[](https://pypi.python.org/pypi/gismap)
|
|
5
|
+
[](https://mybinder.org/v2/gh/balouf/gismap/HEAD?urlpath=%2Fdoc%2Ftree%2Fbinder%2Finteractive.ipynb)
|
|
5
6
|
[](https://github.com/balouf/gismap/actions?query=workflow%3Abuild)
|
|
6
7
|
[](https://github.com/balouf/gismap/actions?query=workflow%3Adocs)
|
|
7
8
|
[](https://opensource.org/licenses/MIT)
|
|
8
9
|
[](https://codecov.io/gh/balouf/gismap/tree/main)
|
|
9
10
|
|
|
10
|
-
|
|
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,25 +21,48 @@ 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
|
|
38
|
+
Install GisMap:
|
|
26
39
|
|
|
27
40
|
```console
|
|
28
41
|
$ pip install gismap
|
|
29
42
|
```
|
|
30
43
|
|
|
31
|
-
Use
|
|
44
|
+
Use GisMap to display a collaboration graph (HTML) from a Notebook:
|
|
32
45
|
|
|
33
46
|
```pycon
|
|
34
|
-
>>> from gismap.
|
|
35
|
-
>>>
|
|
36
|
-
>>> 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")
|
|
37
49
|
>>> lab.update_authors()
|
|
38
50
|
>>> lab.update_publis()
|
|
39
51
|
>>> lab.show_html()
|
|
40
52
|
```
|
|
41
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
|
+
|
|
42
66
|
## Credits
|
|
43
67
|
|
|
44
68
|
This package was created with [Cookiecutter][CC] and the [Package Helper 3][PH3] project template.
|
|
@@ -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,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
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
python-3.12
|