Skip to main content

ComProScanner Logo

Python Version License: MIT PyPI Documentation Coverage PyPI - Downloads Ask DeepWiki Digital Discovery arXiv Preprint

ComProScanner

A comprehensive Python package for extracting composition-property data from scientific articles for building databases

Overview

ComProScanner is a multi-agent framework designed to extract composition-property relationships from scientific articles in materials science. It automates the entire workflow from metadata collection to data extraction, evaluation, and visualization.

Key Features:

  • 🏗️ Data extraction from texts, tables and figures.
  • 📚 Multi-publisher support (Elsevier, Springer, Wiley, IOP, local PDFs)
  • 🤖 Agentic extraction using CrewAI framework
  • 🔍 RAG-powered context retrieval for cost-effective automation with accuracy
  • 📊 Comprehensive evaluation and visualization tools
  • 🎯 Customizable extraction workflows
  • 🌐 Knowledge graph generation

Installation

Install from PyPI:

pip install comproscanner

Or install from source:

git clone https://github.com/slimeslab/ComProScanner.git
cd comproscanner
pip install -e .

Quick Start

Here's a complete example extracting piezoelectric coefficient (d33) data:

from comproscanner import ComProScanner

# Initialize scanner
scanner = ComProScanner(main_property_keyword="piezoelectric")

# Collect metadata
scanner.collect_metadata(
    base_queries=["piezoelectric", "piezoelectricity"],
    extra_queries=["ceramics", "applications"]
)

# Process articles
property_keywords = {
    "exact_keywords": ["d33"],
    "substring_keywords": [" d 33 "]
}

scanner.process_articles(
    property_keywords=property_keywords,
    source_list=["elsevier", "springer"]
)

# Extract composition-property data
scanner.extract_composition_property_data(
    main_extraction_keyword="d33"
)

Workflow

ComProScanner Workflow

The ComProScanner workflow consists of four main stages:

  1. Metadata Retrieval - Find relevant scientific articles
  2. Article Collection - Extract full-text from various publishers
  3. Information Extraction - Use LLM agents to extract structured data
  4. Post Processing & Dataset Creation - Evaluate, clean, and visualize results

Documentation

📖 Full documentation is available at slimeslab.github.io/ComProScanner

Core Capabilities

Supported Publishers

  • Elsevier (via TDM API)
  • Springer Nature (via TDM API)
  • Wiley (via TDM API)
  • IOP Publishing (via SFTP bulk access)
  • Local PDFs (any publication)

Data Extraction

  • Composition-property relationships
  • Material families
  • Synthesis methods and precursors
  • Characterization techniques
  • Synthesis steps

Evaluation Methods

  • Semantic Evaluation - Using semantic similarity measures
  • Agentic Evaluation - LLM-powered contextual analysis

Visualization

  • Data Visualization
  • Evaluation Visualization

Requirements

  • Python 3.12 or 3.13
  • TDM API keys for desired publishers (Elsevier, Springer, Wiley)
  • LLM API keys (OpenAI, Anthropic, Google, etc.)
  • Optional: Neo4j for knowledge graph visualization

Citation

If you use ComProScanner in your research, please cite the following papers:

@article{roy2026comproscanner,
      title={ComProScanner: a multi-agent based framework for composition-property structured data extraction from scientific literature},
      author={Roy, Aritra and Grisan, Enrico and Buckeridge, John and Gattinoni, Chiara},
      journal={Digital Discovery},
      volume={5},
      number={4},
      pages={1794--1808},
      year={2026},
      publisher={Royal Society of Chemistry},
      doi  ="10.1039/D5DD00521C",
      url  ="https://doi.org/10.1039/D5DD00521C"
}
@misc{roy2026comproscanner_vlm,
      title={Beyond Text and Tables: Vision-Language Model Integration in ComProScanner for Extracting Materials Data from Scientific Figures with High Accuracy}, 
      author={Aritra Roy and Enrico Grisan and Chiara Gattinoni and John Buckeridge},
      year={2026},
      eprint={2606.00065},
      archivePrefix={arXiv},
      primaryClass={cs.IR},
      doi={10.48550/arXiv.2606.00065},
      url={https://arxiv.org/abs/2606.00065}, 
}

Changelog

See the CHANGELOG for details on what has changed in each version.

Contributing

We welcome contributions! Please see our Contributing Guidelines for details.

License

This project is licensed under the MIT License - see the LICENSE file for details.

Copyright © 2025-2026 SLIMES Lab

Contact

Author: Aritra Roy

Project Links:


Made with ❤️ by SLIMES Lab

Download files

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

Source Distribution

comproscanner-2026.8.11.tar.gz (215.5 kB view details)

Uploaded Source

Built Distribution

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

comproscanner-2026.8.11-py3-none-any.whl (236.6 kB view details)

Uploaded Python 3

File details

Details for the file comproscanner-2026.8.11.tar.gz.

File metadata

  • Download URL: comproscanner-2026.8.11.tar.gz
  • Upload date:
  • Size: 215.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/7.0.0 CPython/3.12.10

File hashes

Hashes for comproscanner-2026.8.11.tar.gz
Algorithm Hash digest
SHA256 8d3f3f065fc257a612484e9bb85b2cb8ad9787d3604591b5340fd119824b7e19
MD5 f350ccbc2c67c8532e88da746d8ac7cc
BLAKE2b-256 f1d2d408292f44cc48bc00ec521be2c23e7a2fdb4d843fbe67dcf12f3dacaa6d

See more details on using hashes here.

File details

Details for the file comproscanner-2026.8.11-py3-none-any.whl.

File metadata

File hashes

Hashes for comproscanner-2026.8.11-py3-none-any.whl
Algorithm Hash digest
SHA256 e58e64716b81dddd03cae3ce5c30bdb8f09dd9cc288b326b73fbe606655467b5
MD5 80913ee40940542e9005c74283d134b1
BLAKE2b-256 b77e646856d1ffc0f1c00c7ca64a517f1d8d083fbe884954dda710d60b00f342

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 Sentry Error logging StatusPage Status page