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.1.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.1-py3-none-any.whl (23.0 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: collabnet-0.3.1.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.1.tar.gz
Algorithm Hash digest
SHA256 f9660a15fda4f15bae4f9b5339377896481b26b0022cc257aa640dee447a1a75
MD5 9254d9d62a21006d05efeaa2b2b9b52b
BLAKE2b-256 061acd22cb7eff3d53ba10a9d78e675bc4f24d0bf965f53fa92a5f839e3ac34c

See more details on using hashes here.

File details

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

File metadata

  • Download URL: collabnet-0.3.1-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.1-py3-none-any.whl
Algorithm Hash digest
SHA256 ab53be128fde05984de2507ce6229df9ce24fb4488054fe126edeae2e6cf7b7a
MD5 add67ad3b22743967d253a2ce1ff314b
BLAKE2b-256 f430b03f90347ca613255d7965f0265c2fe4247c7a8ba0eada21a54f42781a5b

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