aioarxiv Help

Configuration

Configuration Overview

aioarxiv uses pydantic_settings for configuration management. All settings can be configured through:

  • Environment variables (with ARXIV_ prefix)

  • .env file

  • Direct code configuration

export ARXIV_BASE_URL="http://export.arxiv.org/api/query" export ARXIV_TIMEOUT=30.0 export ARXIV_TIMEZONE="Asia/Shanghai"
ARXIV_BASE_URL=http://export.arxiv.org/api/query ARXIV_TIMEOUT=30.0 ARXIV_TIMEZONE=Asia/Shanghai
from aioarxiv import ArxivConfig config = ArxivConfig( base_url="http://export.arxiv.org/api/query", timeout=30.0, timezone="Asia/Shanghai" )

Configuration Details

Parameter

Description

Type

Default

Constraint

Environment Variable

base_url

Base URL for the arXiv API

string

http://export.arxiv.org/api/query

-

ARXIV_BASE_URL

timeout

API request timeout in seconds

float

30.0

Must be > 0

ARXIV_TIMEOUT

timezone

Timezone setting

string

Asia/Shanghai

-

ARXIV_TIMEZONE

max_retries

Maximum number of retry attempts for failed requests

integer

3

Must be >= 0

ARXIV_MAX_RETRIES

rate_limit_calls

Maximum number of requests within the rate limit window

integer

1

Must be >= 0

ARXIV_RATE_LIMIT_CALLS

rate_limit_period

Rate limit window period in seconds

float

3.0

Must be >= 0

ARXIV_RATE_LIMIT_PERIOD

max_concurrent_requests

Maximum number of concurrent requests

integer

1

-

ARXIV_MAX_CONCURRENT_REQUESTS

proxy

HTTP/HTTPS proxy URL

string | None

None

-

ARXIV_PROXY

log_level

Logging level

string

INFO

-

ARXIV_LOG_LEVEL

page_size

Number of results per page

integer

1000

-

ARXIV_PAGE_SIZE

min_wait

Minimum wait time between retries in seconds

float

3.0

Must be > 0

ARXIV_MIN_WAIT

Configuration Examples

  • Basic Configuration:

    from aioarxiv import ArxivConfig config = ArxivConfig( timeout=60.0, max_retries=5, log_level="DEBUG" )
  • Proxy Configuration:

    from aioarxiv import ArxivConfig config = ArxivConfig( proxy="http://localhost:8080", timeout=60.0, max_retries=5 )
  • Rate Limiting:

    from aioarxiv import ArxivConfig config = ArxivConfig( rate_limit_calls=2, rate_limit_period=5.0, max_concurrent_requests=2 )

The configuration object can be passed to the client instance:

from aioarxiv import ArxivClient, ArxivConfig config = ArxivConfig(timeout=60.0, max_retries=5) client = ArxivClient(config=config)
Last modified: 13 January 2025