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.2.0.tar.gz (17.6 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.2.0-py3-none-any.whl (19.4 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: collabnet-0.2.0.tar.gz
  • Upload date:
  • Size: 17.6 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.2.0.tar.gz
Algorithm Hash digest
SHA256 d7c6a9156fb0e9e6126032869a780c8e3d3a05cce7d9f5331341963c14e5f62d
MD5 86458d44a87085e839fe90546dd6241a
BLAKE2b-256 a1c43b2b5ad440a37ff87f83d3ded8b0f334f3341f0e022ab2eae5cf7d2b5dba

See more details on using hashes here.

File details

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

File metadata

  • Download URL: collabnet-0.2.0-py3-none-any.whl
  • Upload date:
  • Size: 19.4 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.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 50440f073925bec2bf1edc76a530f4091086dfccf3f8afc7abef228a1bcd24c0
MD5 a01ce2d2fb86f0ecba0a6727bec26b5b
BLAKE2b-256 53298d2ca58e2e8197ec4c34f23afb6d1d0a65f5245b99a92cde4991ae107cc5

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