Skip to main content

Build collaboration networks from publication records.

Project description

CollabNet

Documentation Status

This Python package allows to generate co-authorship and co-country networks. The source data (currently from OpenAlex) can be works for the same journal, institution or topic. The data is transformed into a suitable format to facilitate the network creation. Networks are generated and saved as GRAPHML files.

In addition the app allows to calculate the Adjusted International Collaboration Index, as defined in Lalli 2025.

Understanding the affiliation bias check

The Adjusted Internationalization Collaboration Index (AICI) counts how often researchers from more than one country appear together on a paper, but only among papers where at least one author listed an institutional affiliation. Papers without any affiliation information are excluded from the denominator — hence "adjusted".

This works well if the missing affiliation data is spread roughly evenly across different fields, journals, and time periods. In practice, however, some journals or research communities are more consistent about recording affiliations than others, and this pattern can shift over time. If a whole research field systematically lacks affiliation data, its international collaboration would be undercounted, making the AICI look lower than it really is for that field.

The AffiliationBias class helps you check for this. It runs a statistical model (logistic regression) that asks: does the chance of a paper having affiliation data depend on which journal it was published in, what type of publication it is, or what year it appeared? The model can also test whether these patterns change over time — for example, whether a particular journal improved its affiliation coverage after a certain year.

The results are shown as:

  • a coefficient plot listing each factor alongside a bar showing how strongly it predicts missing affiliations (bars crossing zero have no meaningful effect);
  • a availability chart comparing affiliation coverage rates across journals, publication types, or research fields at a glance;
  • a time-trend plot showing how coverage evolved year by year for each group, making it easy to spot where and when data quality improved or deteriorated.

Gephi Lite plot of Co-authorship network for 1980 with interval 3

Gephi Lite plot of Co-authorship network for 1980 with interval 3 with 738 nodes and 2402 edges. Layout in ForceAtlas2 design, colors related to Louvain modularity class. Node size by degree. The selected node with label has degree 16.

Documentation is available on ReadTheDocs.

Installation

tl;dr Use pip

pip install collabnet

Consider using a clean virtual environment to keep your main packages separated. Create a new virtual environment and install the package

python3 -m venv env
source env/bin/activate
pip install collabnet

Example

You can find an example Jupyter Notebook showing the use of package by demonstrating a query for data, transforming the data, and generate networks in the examples folder.

Testing

Tests can be run by running

uv run pytest --cov-report=term-missing --cov=src/collabnet

which installs the test dependency group and runs the files. Coverage of testing is shown.

Building documentation

The documentation is build using sphinx. Install of the doc dependency group is automated with uv:

uv run sphinx-build -c docs -b html docs docs/_build/html

Funding information

This work is part of a collaboration between the department for Structural Changes of the Technosphere, Max Planck Institute of Geoanthropology, Jena, Germany and DIMEAS - Department of Mechanical and Aerospace Engineering, Politecnico di Torino, Torino, Italy.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

collabnet-0.3.0.tar.gz (21.2 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

collabnet-0.3.0-py3-none-any.whl (23.0 kB view details)

Uploaded Python 3

File details

Details for the file collabnet-0.3.0.tar.gz.

File metadata

  • Download URL: collabnet-0.3.0.tar.gz
  • Upload date:
  • Size: 21.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.10.8 {"installer":{"name":"uv","version":"0.10.8","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

File hashes

Hashes for collabnet-0.3.0.tar.gz
Algorithm Hash digest
SHA256 9bb2873e93c78b0d235440a9458db8bfbae7fddbc1ca0fc90bebad4b1a6036d8
MD5 5570722589d53d4552bd880cf28debcd
BLAKE2b-256 2a138f00e5368386f14fa7b3c24f245507c6756398852294ca43cd01903445d7

See more details on using hashes here.

File details

Details for the file collabnet-0.3.0-py3-none-any.whl.

File metadata

  • Download URL: collabnet-0.3.0-py3-none-any.whl
  • Upload date:
  • Size: 23.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.10.8 {"installer":{"name":"uv","version":"0.10.8","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

File hashes

Hashes for collabnet-0.3.0-py3-none-any.whl
Algorithm Hash digest
SHA256 5eabe55f3d2d284d72bace74fc42ce872e44c5bd9d1f9d436a0eee563aebab15
MD5 8d4685ff078509c9cbfb8238d945e438
BLAKE2b-256 a01813d6d1f53e8d9f404429441c6013f5da9ee5b1f1c49f18050d965c2d87e1

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page