Skip to main content

paper-scoring-connectors

Optional data-source, document, related-work, and assessment-provider adapters for paper-scoring-core. The package contains no credentials, reads no .env files, and performs no work at import time. Applications inject configuration when they create an adapter.

Installation

Install only the integrations that an application needs:

python -m pip install "paper-scoring-connectors[arxiv,pdf,openalex]"
python -m pip install "paper-scoring-connectors[openai]"
python -m pip install "paper-scoring-connectors[ollama]"

openalex intentionally adds no third-party dependency; it uses the Python standard library. all installs every optional SDK. Dependencies between paper-scoring distributions use normal PyPI version constraints and never Git or local filesystem references.

Examples

Search arXiv without exposing SDK objects to the rest of the application:

from datetime import date

from paper_scoring_connectors.arxiv import ArxivSource

documents = ArxivSource().search("cs.AI", date(2026, 1, 15), max_results=10)

Lower-level ArxivClient, QueryBuilder, and download_pdf APIs are available when an application needs control over individual steps. Batch pipelines should call ArxivSource.search_with_failures(...): it isolates each download/extraction failure and returns ArxivBatchResult(successes=..., failures=...). Failures contain only the paper ID, title, and exception type; provider messages are never retained.

Extract a local PDF into the core document contract:

from paper_scoring_connectors.pdf import PdfDocumentLoader

document = PdfDocumentLoader().load("paper.pdf", title="A paper")

Create an assessment adapter with an arbitrary model identifier (there is no model enum):

from paper_scoring_connectors.providers import create_assessment_model

model = create_assessment_model("openai", "your-model-id", api_key="injected-at-runtime")

For Ollama, pass host= and any client options explicitly. SDK defaults may consume process environment variables that the caller injects at runtime; this package never parses .env files.

Supported contract

Version 0.1 targets these paper-scoring-core imports:

from paper_scoring.models import AssessmentRequest, AssessmentResponse, PaperDocument, PageText
from paper_scoring.ports import AssessmentModel, RelatedWorkRetriever
from paper_scoring.rubric import render_assessment_prompt

The core contract is the only mandatory runtime dependency. Each connector is independently importable, and provider SDK imports remain lazy.

Development

python -m pip install -e ".[all,test,security]"
pytest
ruff check .
mypy
bandit -c pyproject.toml -r src
python -m build

All functional tests are offline and use injected fake transports or clients. See docs/report-templates/ for the release evidence templates populated by the release workflow.

Metadata

Release files for paper-scoring-connectors 0.1.0

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

Source distribution (sdist)

Source distribution for paper-scoring-connectors 0.1.0
File Size Uploaded Provenance Actions
paper_scoring_connectors-0.1.0.tar.gz 130.7 kB Without provenance Details for paper_scoring_connectors-0.1.0.tar.gz

Built distribution (wheel)

Table of built distributions (wheels) for paper-scoring-connectors 0.1.0
File Interpreter ABI Platform Actions
paper_scoring_connectors-0.1.0-py3-none-any.whl Python 3 none any Details for paper_scoring_connectors-0.1.0-py3-none-any.whl

Total release size: 152.5 kB

Release files / paper_scoring_connectors-0.1.0.tar.gz

Download URL paper_scoring_connectors-0.1.0.tar.gz
Size 130.7 kB
Tags Source
SHA-256 checksum
How to use checksums
bb338f5145e01e5e7108be5e02596f454f8832aef0bd348d6a9b7d97fd5db866
BLAKE2b-256 checksum
How to use checksums
e25b00722a2ea777b1d612e44d4981b0c41c36d7ff3b84bf411d5c345f114d41
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.12.3

Release files / paper_scoring_connectors-0.1.0-py3-none-any.whl

Download URL paper_scoring_connectors-0.1.0-py3-none-any.whl
Size 21.8 kB
Tags Python 3
SHA-256 checksum
How to use checksums
7f6ea8d6096da5040c677df77698931a1f7a2f6dde1441b949f27c8b320f41de
BLAKE2b-256 checksum
How to use checksums
2ae36af70f3e3954f39589caf7fb6b8007c6372c7200f67eda269ca825dda078
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.12.3

Security for paper-scoring-connectors 0.1.0

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.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Release history Release notifications | RSS feed

This release

0.1.0 This release

2 release files No provenance

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