Skip to main content

Research output aggregator

The goal of this project is to create a script to get a summarization for a research organization about the research output.
First target is to query and process information from DataCite.

The goal for this script is to create a list over research output where an organization is mentioned as:

  • publisher
  • creator with affiliation to the organization
  • contributor with affiliation to the organization
  • funder

Input: ROR-id and list of variants on the organization name.

Properties to collect for each research output

Roagg collects a fiew fields for each resource found and do de-duplications based on the DOI found in each source.

List of all properties in the aggregated results
Field Type Comment
publicationYear integer The year of publication, can be empty in some cases
resourceType string The resource type (free text string)
title string Title of the resource (first one if multiple)
publisher string Publisher (free text)
createdAt string Created date if available
updatedAt string Updatade date if availible
isPublisher bool True if the the publisher match the requested organisation
isFunder bool True if the the funder match the requested organisation
haveCreatorAffiliation bool True if the the any creator match the requested organisation
haveContributorAffiliation bool True if the the any contributor match the requested organisation
isLatestVersion bool True if the DataCite metadata indicates this beeing the latest version
isConceptDoi bool True if the DataCite metadata indicates this beeing a concept DOI
conceptDoi string DOI from a DataCite IsVersionOf DOI relation; a concept DOI's own DOI; empty otherwise
matchPublisherRor bool True if the ROR id for publisher match the ROR in the provided argument
matchCreatorAffiliationRor bool True if the ROR id for a creator affiliation match the ROR in the provided argument
matchContributorAffiliationRor bool True if the ROR id for a contributor affiliation match the ROR in the provided argument
matchFunderRor bool True if the ROR id for funder match the ROR in the provided argument
matchPublisherName bool True if any of the names supplied matches the publisher name in the resource
matchCreatorName bool True if any of the names supplied matches the creator name in the resource
matchContributorName bool True if any of the names supplied matches the contributor name in the resource
matchFunderName bool True if any of the names supplied matches the funder name in the resource
inDataCite bool True if the DOI was matched in the DataCite
inOpenAire bool True if the DOI was matched in OpenAire
inOpenAlex bool True if the DOI was matched in OpenAlex
inCrossRef bool True if the DOI was matched in CrossRef
dataCiteClientId string The client id for the organisation minting the DOI
dataCiteClientName string The human readable name of the minting organisation
dataCiteCitationCount integer Citation count for the resource provided by the DataCite API
dataCiteReferenceCount integer Reference count for the resource provided by the DataCite API
dataCiteViewCount integer View count for the resource provided by the DataCite API
dataCiteDownloadCount integer Download count for the resource provided by the DataCite API
openAireBestAccessRight string Access Rights for the resource indicated indicated by the OpenAire API
openAireIndicatorsUsageCountsDownloads integer Download count for the resource indicated by the OpenAire API
openAireIndicatorsUsageCountsViews integer View count for the resource provided by the OpenAire API
openAireId string Id for the resource in OpenAire
openAlexId string Id for the resource in OpenAlex
openAlexCitedByCount integer Citation count for the resource provided by the OpenAlex API
openAlexReferencedWorksCount integer Reference count for the resource provided by the OpenAlex API
titleWordCount integer Number of words in the title (useful for sorting in some cases)
referencedByDoi string DOI of object(s) (for instance papers) referencing this object (JSON list)

conceptDoi links version records to their concept without matching titles. It is appended to the CSV columns. isLatestVersion still follows the explicit DataCite relations: repositories that omit previous/new-version relations can mark several versions as latest. Consumers can group by conceptDoi and compare createdAt, but creation dates alone do not prove version ordering, especially for partial results.

Install

pip install roagg

Run

List arguments:

roagg --help

Some example arguments

Run for the organization Karlstad University (KAU) with ror:

roagg --ror https://ror.org/05s754026 --output kau.csv

Chalmers with ror and name list:

roagg --ror https://ror.org/040wg7k59 --name-txt tests/name-lists/chalmers.txt --output chalmers.csv

GU with ror, name list and extra name not in the text file:

roagg --name "Department of Nephrology Gothenburg" --ror https://ror.org/01tm6cn81 --name-txt tests/name-lists/gu.txt --output data/gu.csv

KTH with ror and name list:

roagg --ror https://ror.org/026vcq606 --name-txt tests/name-lists/kth.txt --output data/kth.csv

Install dev

git clone git@github.com:snd-sweden/roagg.git
cd roagg
pip install -e .

Tests

Some tests are available, to run them:
python -m pytest

Development stuff to do

  • ROR get name variants from ROR
  • CLI add options to get name list from txt
  • DataCite API build query for matching publisher and affiliation
  • Publish as cmd tool on PyPI
  • Crossref API build query for matching publisher and affiliation

License

MIT License

Metadata

Release files for roagg 2026.0.3

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for roagg 2026.0.3
File Size Uploaded
roagg-2026.0.3.tar.gz 17.4 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for roagg 2026.0.3
File Interpreter ABI Platform
roagg-2026.0.3-py3-none-any.whl Python 3 none any Details

Total release size: 33.0 kB

Release files / roagg-2026.0.3.tar.gz

Download URL roagg-2026.0.3.tar.gz
Size 17.4 kB
Tags Source
SHA-256 checksum
How to use checksums
015e0ec76dd6d33c0d7e174492dc601df7d53838c3c2633fb1cd35bd5da42f39
BLAKE2b-256 checksum
How to use checksums
1de780dc8497df77a0cb30da1d92983f0fde7fcd334bb59c11f4c5c098b9cba0
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 11, 2026.

Transparency log

Release files / roagg-2026.0.3-py3-none-any.whl

Download URL roagg-2026.0.3-py3-none-any.whl
Size 15.6 kB
Tags Python 3
SHA-256 checksum
How to use checksums
070139592222c285cdbe1b15cf07817a0aea372022dd86fa646d1592639ec33b
BLAKE2b-256 checksum
How to use checksums
400a2dba9ec2f87702bf268906d58e44e04b2f93a05da74ff20ba6f8d07d448f
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 11, 2026.

Transparency log

Release history Release notifications | RSS feed

This release

2026.0.3 This release

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page