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)
| 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)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| 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.