Lab library#

LIP6#

class gismap.lab_examples.lip6.Lip6Full(name=None, dbs=None, *, max_co_authors=9, min_title_words=2, taboo_words=None, taboo_authors=None)[source]#

Class for handling all LIP6 teams using https://www.lip6.fr/informations/annuaire.php to get team names.

class gismap.lab_examples.lip6.Lip6Map(name=None, dbs=None, *, max_co_authors=9, min_title_words=2, taboo_words=None, taboo_authors=None)[source]#

Class for handling a LIP6 team using https://www.lip6.fr/recherche/team_membres.php?acronyme=*team_acronym* as entry point. Default to NPA team.

gismap.lab_examples.lip6.given_name_first(name)[source]#

Reorder a LIP6 "Surname Given(s)" label into "Given(s) Surname".

LIP6 lists members surname-first, but the rest of GisMap assumes given-name-first (for initials and display). We treat the first token as the surname and move it to the end, which handles the common single-token surname as well as multi-token given names (e.g. "Lieu Choun Tong" -> "Choun Tong Lieu"). Single-token names are returned unchanged. Compound surnames (rare here) would need an explicit override.

Toulouse#

gismap.lab_examples.toulouse.LAAS_SERVICES = ['i2c', 'team', 'idea']#

LAAS support services exposed under /fr/services/ rather than /fr/equipes/.

gismap.lab_examples.toulouse.LAAS_TABOO = ['ditorial', 'Foreword', 'Brief Announcement', 'Preface', 'Préface', 'LAAS', 'CNRS', 'Comteam', 'Prospective', 'Bilan']#

Default editorials plus institutional words that pollute LAAS publication lists (annual reports, internal proceedings, etc.).

class gismap.lab_examples.toulouse.LaasFull(*args, with_support=True, department_level=True, **kwargs)[source]#

Class for handling all LAAS teams using https://www.laas.fr/fr/equipes/ to get team names.

Parameters:
  • with_support (bool, default=True) – If True, include the support services listed in LAAS_SERVICES in addition to the research teams.

  • department_level (bool, default=True) – Forwarded to LaasMap for each team. If True, authors are grouped by department rather than by team.

  • **kwargs – Forwarded to LabMap. As in LaasMap, max_co_authors=50 and taboo_words=LAAS_TABOO are the defaults.

class gismap.lab_examples.toulouse.LaasMap(*args, department_level=False, **kwargs)[source]#

Class for handling a LAAS team from its name. Defaults to the sara team.

Parameters:
  • name (str, default=”sara”) – Team or service identifier as used in the LAAS website URLs.

  • department_level (bool, default=False) – If True, label authors by their parent department (e.g. RISC) rather than by their team name. Service members are labelled “Support”.

  • **kwargs – Forwarded to LabMap. The LAAS-tuned defaults max_co_authors=50 and taboo_words=LAAS_TABOO are applied unless overridden by the caller.

class gismap.lab_examples.toulouse.SolaceMap(name=None, dbs=None, *, max_co_authors=9, min_title_words=2, taboo_words=None, taboo_authors=None)[source]#

Class for handling the Solace team (https://solace.cnrs.fr).

Algotel-Cores#

class gismap.lab_examples.cotel.AlgoRes2016(name=None, dbs=None, *, max_co_authors=9, min_title_words=2, taboo_words=None, taboo_authors=None)[source]#

https://algotel2016.labri.fr/index.php?committee https://algotel2016.labri.fr/index.php?cores

Served through the archive.org identity mirror: the live LaBRI page has a ~20 s cold-cache penalty on first hit, well over the test time budget. The mirror returns byte-identical content in ~2 s and is more durable for a long-dead 2016 conference site.

class gismap.lab_examples.cotel.AlgoRes2017(name=None, dbs=None, *, max_co_authors=9, min_title_words=2, taboo_words=None, taboo_authors=None)[source]#

https://web.archive.org/web/20170719001105/http://algotel2017.ensai.fr/ https://web.archive.org/web/20171203000444/http://cores2017.ensai.fr/

class gismap.lab_examples.cotel.AlgoRes2018(name=None, dbs=None, *, max_co_authors=9, min_title_words=2, taboo_words=None, taboo_authors=None)[source]#

https://algotel2018.complexnetworks.fr/comite.html http://cores2018.complexnetworks.fr/comite.html

class gismap.lab_examples.cotel.AlgoRes2019(name=None, dbs=None, *, max_co_authors=9, min_title_words=2, taboo_words=None, taboo_authors=None)[source]#

https://www.irit.fr/algotel2019/ https://www.irit.fr/cores2019/index.html

class gismap.lab_examples.cotel.AlgoRes2020(name=None, dbs=None, *, max_co_authors=9, min_title_words=2, taboo_words=None, taboo_authors=None)[source]#

https://cores-algotel-2020.imag.fr/

class gismap.lab_examples.cotel.AlgoRes2021(name=None, dbs=None, *, max_co_authors=9, min_title_words=2, taboo_words=None, taboo_authors=None)[source]#

https://apps.univ-lr.fr/cgi-bin/WebObjects/Colloque.woa/wa/menu?code=2721&idMenu=10922

class gismap.lab_examples.cotel.AlgoRes2022(name=None, dbs=None, *, max_co_authors=9, min_title_words=2, taboo_words=None, taboo_authors=None)[source]#

https://sites.google.com/view/algotel-cores-2022

class gismap.lab_examples.cotel.AlgoRes2023(name=None, dbs=None, *, max_co_authors=9, min_title_words=2, taboo_words=None, taboo_authors=None)[source]#

https://coresalgotel2023.i3s.univ-cotedazur.fr

class gismap.lab_examples.cotel.AlgoRes2024(name=None, dbs=None, *, max_co_authors=9, min_title_words=2, taboo_words=None, taboo_authors=None)[source]#

https://algotelcores2024.sciencesconf.org

class gismap.lab_examples.cotel.AlgoRes2025(name=None, dbs=None, *, max_co_authors=9, min_title_words=2, taboo_words=None, taboo_authors=None)[source]#

https://algotel-cores25.sciencesconf.org/

class gismap.lab_examples.cotel.AlgoRes2026(name=None, dbs=None, *, max_co_authors=9, min_title_words=2, taboo_words=None, taboo_authors=None)[source]#

https://algotel-cores26.sciencesconf.org/

class gismap.lab_examples.cotel.CoTel(name=None, dbs=None, *, max_co_authors=9, min_title_words=2, taboo_words=None, taboo_authors=None)[source]#

Abstract class for Algotel/Cores PC committee maps.

Cf https://algotel.eu.org/

gismap.lab_examples.cotel.strip_li(li)[source]#
Parameters:

li (Tag) – HTML list item

Returns:

Searcher name

Return type:

str

Cedric#

class gismap.lab_examples.cedric.CedricFull(name=None, dbs=None, *, max_co_authors=9, min_title_words=2, taboo_words=None, taboo_authors=None)[source]#

Class for handling all CNAM Cedric teams using https://cedric.cnam.fr/equipes to get team names.

class gismap.lab_examples.cedric.CedricMap(name=None, dbs=None, *, max_co_authors=9, min_title_words=2, taboo_words=None, taboo_authors=None)[source]#

Class for handling a CNAM Cedric team from its name. Default to roc team.

LAMSADE#

class gismap.lab_examples.lamsade.Lamsade(name=None, dbs=None, *, max_co_authors=9, min_title_words=2, taboo_words=None, taboo_authors=None)[source]#

Class for handling the Lamsade team (Dauphine). The data is retrieved from the webpage of the team, and parsed with BeautifulSoup. The name, image url and webpage of each researcher are extracted and stored in a LabAuthor object.

gismap.lab_examples.lamsade.lamsade_parse(div)[source]#
Parameters:

div (BeautifulSoup) – Soup of the div of one researcher

Returns:

name, image url (or None), webpage (or None)

Return type:

tuple

LINCS#

class gismap.lab_examples.lincs.LINCS(name=None, dbs=None, *, max_co_authors=9, min_title_words=2, taboo_words=None, taboo_authors=None)[source]#

IRIF#

class gismap.lab_examples.irif.IrifFull(name=None, dbs=None, *, max_co_authors=9, min_title_words=2, taboo_words=None, taboo_authors=None)[source]#

Class for handling all IRIF teams.

class gismap.lab_examples.irif.IrifMap(name=None, dbs=None, *, max_co_authors=9, min_title_words=2, taboo_words=None, taboo_authors=None)[source]#

Class for handling an IRIF team using https://www.irif.fr/equipes/*team_acronym*/index as entry point. Default to graphes team.

SAGT 2026#

class gismap.lab_examples.sagt_2026.SAGT(*args, **kwargs)[source]#

Class for handling the SAGT 2026 conference. The data is retrieved from the conference webpage, and parsed with BeautifulSoup. The name and role are extracted and stored in a LabAuthor object.

update_publis(desc='Publications information')[source]#

Update of publications is customised to inject the accepted papers (not in LDB yet), then regroup so that they merge with their preprints when DBLP already has one.

gismap.lab_examples.sagt_2026.aliases = {'Vangelis Markakis': 'Evangelos Markakis'}#

GisMap can capture aliases but here we want to preserve roles so we need to redirect before we process.

gismap.lab_examples.sagt_2026.conference_soup(urls=('http://web.archive.org/web/20260907073958id_/https://www.uni-augsburg.de/de/fakultaet/fai/conferences/sagt-2026/', 'https://www.uni-augsburg.de/de/fakultaet/fai/conferences/sagt-2026/'))[source]#
Parameters:

urls (str or tuple of str) – Sources of the SAGT 2026 page, tried in order.

Returns:

First page that contains the Accepted Papers section. archive.org sometimes serves the nearest capture instead of the requested one (fresh captures take a while to be indexed), and that older capture predates the list of papers, so the content is checked rather than trusted.

Return type:

BeautifulSoup

gismap.lab_examples.sagt_2026.conference_url = 'https://www.uni-augsburg.de/de/fakultaet/fai/conferences/sagt-2026/'#

Conference webpage (live).

gismap.lab_examples.sagt_2026.overrides = {'Angelo Fanelli': 'ldb:70/4474, no_auto', 'Anthony Kim': 'ldb:64/8035, no_auto', 'Bo Li': 'ldb:50/3402-37, no_auto', 'Daniel Ebert': 'ldb:50/9773, no_auto', 'Daniel Schoepflin': 'ldb:256/1650, no_auto', 'David Manlove': 'ldb:m/DManlove, no_auto', 'Dimitar Chakarov': 'ldb:73/7318, no_auto', 'Dimitris Fotakis': 'ldb:95/4731, no_auto', 'Doron Ravid': 'ldb:308/9181, no_auto', 'Evangelos Markakis': 'ldb:m/EvangelosMarkakis, no_auto', 'Hanrui Zhang': 'ldb:168/8847, no_auto', 'Jie Zhang': 'ldb:84/6889-8, no_auto', 'Jiehua Chen': 'ldb:72/4415-1, no_auto', 'Lukas Graf': 'ldb:230/4163-1, no_auto', 'Marc Schröder': 'ldb:88/4000-2, no_auto', 'Minming Li': 'ldb:78/6881, no_auto', 'Pallavi Jain': 'ldb:136/4807, no_auto', 'Paul Goldberg': 'ldb:81/760, no_auto', 'Rafael Gomes': 'ldb:145/7313, no_auto', 'Sanjukta Roy': 'ldb:178/2824, no_auto', 'Tao Lin': 'ldb:64/4492-13, no_auto', 'Terrence Adams': 'ldb:157/8440, no_auto', 'Yiding Feng': 'ldb:207/4923, no_auto', 'Zeyuan Hu': 'ldb:213/7556-1, no_auto'}#

LDB entries of the participants whose name matches several DBLP entries. Most were found by propose_overrides() (co-authors shared with the rest of the conference); the undecided ones were checked by hand.

gismap.lab_examples.sagt_2026.parse_paper(p)[source]#
Parameters:

p (BeautifulSoup) – SAGT article entry.

Returns:

  • title (str) – Title of the article.

  • author (list) – List of authors of the article.

gismap.lab_examples.sagt_2026.sagt_parser(urls=('http://web.archive.org/web/20260907073958id_/https://www.uni-augsburg.de/de/fakultaet/fai/conferences/sagt-2026/', 'https://www.uni-augsburg.de/de/fakultaet/fai/conferences/sagt-2026/'))[source]#
Parameters:

urls (str or tuple of str) – Sources of the SAGT 2026 conference page, tried in order (see conference_soup()).

Returns:

  • papers (list) – List of accepted papers.

  • authors (dict) – Names of the people from the webpage, associated with their role(s).

gismap.lab_examples.sagt_2026.sagt_url = 'http://web.archive.org/web/20260907073958id_/https://www.uni-augsburg.de/de/fakultaet/fai/conferences/sagt-2026/'#

Snapshot of the conference webpage, served by archive.org in identity mode (id_: original bytes, no banner, so the selectors keep working). The live page will not survive the conference and its selectors are inline styles, so the parser reads the snapshot, which freezes the 25 accepted papers, the PC, the invited speakers and the workshop lecturers as of 2026-09-07.

gismap.lab_examples.sagt_2026.sagt_urls = ('http://web.archive.org/web/20260907073958id_/https://www.uni-augsburg.de/de/fakultaet/fai/conferences/sagt-2026/', 'https://www.uni-augsburg.de/de/fakultaet/fai/conferences/sagt-2026/')#

the snapshot first, the live page as fallback.

Type:

Sources tried in order by sagt_parser()