Skip to main content

Paper Scoring Pipeline

Cross-platform composition layer for Paper Scoring. It combines the core, connectors, and reporting distributions without introducing Git or local-path dependencies.

Configuration is injected at process start. The package never automatically loads .env during import.

pip install paper-scoring-pipeline==0.1.1
paper-scoring-pipeline --env-file .env score-json paper.json --output score.json

Public Python API

Applications that compose the pipeline can import runtime configuration and service construction directly from the package root:

from paper_scoring_pipeline import (
    PipelineSettings,
    apply_env_file,
    build_scoring_service,
)

apply_env_file(".env")
settings = PipelineSettings.from_environment()
service = build_scoring_service(settings)

apply_env_file loads only the explicitly supplied file and preserves values already present in the process environment. Passing None performs no action. Importing paper_scoring_pipeline never loads an environment file.

Score a local PDF:

paper-scoring-pipeline --env-file .env score-pdf paper.pdf --author "Example Researcher"

Run the arXiv workflow without shell-specific date commands:

paper-scoring-pipeline --env-file .env arxiv --category cs.AI --days-ago 2 --max-results 10

The same command works in Ubuntu shells, Windows PowerShell, and the provided Docker image.

All inter-repository dependencies resolve from PyPI. uv.lock records hashes for development and CI, and the container installs its locked runtime set with hash verification before installing the local pipeline wheel.

Configuration is read only from the process environment and an explicitly selected --env-file; importing the package never reads .env. Errors in a provider, source, report, or SMTP operation are returned as bounded structured failure metadata. Exception messages and tracebacks are not written to the JSON output.

The image runs as UID/GID 65532. Compose also drops all capabilities, enables a read-only root filesystem, and prevents privilege escalation. To verify an offline command with networking disabled:

docker run --rm --network none --read-only --cap-drop ALL \
  paper-scoring-pipeline:0.1.1 --help

The pipeline needs network access for arXiv, OpenAI, OpenAlex, Ollama, or SMTP. For an entirely offline invocation, set PAPER_SCORING_NETWORK_MODE=none when using Docker Compose.

Metadata

Release files for paper-scoring-pipeline 0.1.1

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-pipeline 0.1.1
File Size Uploaded Provenance Actions
paper_scoring_pipeline-0.1.1.tar.gz 129.8 kB Without provenance Details for paper_scoring_pipeline-0.1.1.tar.gz

Built distribution (wheel)

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

Total release size: 142.3 kB

Release files / paper_scoring_pipeline-0.1.1.tar.gz

Download URL paper_scoring_pipeline-0.1.1.tar.gz
Size 129.8 kB
Tags Source
SHA-256 checksum
How to use checksums
6aaa65874cdcf6957cc301a3bcd0e18eaeebd5464f4ccbd20405411e2d299f67
BLAKE2b-256 checksum
How to use checksums
c9ec581ab47fdf04e85853de54a6a4c1a910ed6287e7745ce1b1f373ce193bd5
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_pipeline-0.1.1-py3-none-any.whl

Download URL paper_scoring_pipeline-0.1.1-py3-none-any.whl
Size 12.5 kB
Tags Python 3
SHA-256 checksum
How to use checksums
091d31e57b4eff4b98c5c3512bbf0d24df1847294a7ecf9d87bcf7a04942a5d1
BLAKE2b-256 checksum
How to use checksums
4cbb0990977a80c8bbce73fce9caed99aca91a9596dcfd40fbe73f839cfb968b
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-pipeline 0.1.1

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.1 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