Skip to content

BalconyJH/aioarxiv

Repository files navigation

Aioarxiv

An async Python client for the arXiv API with enhanced performance and flexible configuration options.

license pypi python codecov black pyright ruff site pyright ruff pypi

Warning

This project is currently under development and has not yet reached a stable release. We do not recommend using it in production environments.

Features

  • Asynchronous API calls for better performance
  • Customized configuration client
  • Flexible search and download capabilities
  • Customizable rate limiting and concurrent requests
  • Complete type hints and documentation

Installation

pip install aioarxiv

Quick Start

from aioarxiv.client.arxiv_client import ArxivClient
from aioarxiv.utils import logger


async def func():
    async with ArxivClient() as client:
        result = await client.search("ai", max_results=100)
        logger.info(f"Total results: {result.total_result}")

Configuration

You can configure the client by passing an instance of ArxivConfig to the ArxivClient constructor. Configuration in Dotenv file is also one of the options, it will automatically load the configuration from the environment variables.

from aioarxiv.config import ArxivConfig

config = ArxivConfig(
    proxy="http://127.0.0.1:10808",
    log_level="DEBUG",
    page_size=10,
)

Requirements

  • Python 3.9 or higher

License

MIT License (c) 2025 BalconyJH

Links

About

An async Python client for the arXiv API

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages