Catalog PyPI
Back to packageRELEASE DETAILS

0.2.2

PyPI

aioarxiv

Asynchronous arXiv API client with rate limiting and paper downloads

aiohttpapi-clientarxivasyncio
Published31 Jul 2026
Direct dependencies12
Transitive dependenciesNot calculated

README

Version 0.2.2 documentation

Aioarxiv

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

license pypi python codecov basedpyright ruff uv ci coverage docs downloads

[!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
  • Rate limiting and concurrency control aligned with the arXiv API terms of use
  • Complete type hints (PEP 561) and documentation

Installation

pip install aioarxiv

Or with uv:

uv add aioarxiv

Quick Start

import asyncio

from aioarxiv import ArxivClient


async def main() -> None:
    async with ArxivClient() as client:
        result = await client.search("all:electron", max_results=10)
        print(f"Total results: {result.total_result}")
        for paper in result.papers:
            print(paper.info.title)


asyncio.run(main())

Configuration

You can configure the client by passing an instance of ArxivConfig to the ArxivClient constructor. Configuration in a dotenv file is also an option; values are loaded automatically from environment variables with the ARXIV_ prefix.

from aioarxiv import ArxivClient, ArxivConfig

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

Requirements

  • Python 3.10 or higher

License

MIT License (c) 2025 BalconyJH

Downloads & popularity

Awaiting observations

No metric observations yet

Download counts and popularity will appear here as the collector receives them.

Declared dependencies 12

Native requirements
12 direct targetsNot calculated transitive count
Package / targetRequirementRelationship
aiofiles
Environment
{
  "extras": "",
  "marker": null,
  "requires_python": ">=3.10",
  "evaluation": "NOT_EVALUATED"
}
aiofiles>=24.1.0runtime
aiohttp
Environment
{
  "extras": "",
  "marker": null,
  "requires_python": ">=3.10",
  "evaluation": "NOT_EVALUATED"
}
aiohttp>=3.10.10runtime
aiolimiter
Environment
{
  "extras": "",
  "marker": null,
  "requires_python": ">=3.10",
  "evaluation": "NOT_EVALUATED"
}
aiolimiter>=1.2.1runtime
certifi
Environment
{
  "extras": "",
  "marker": null,
  "requires_python": ">=3.10",
  "evaluation": "NOT_EVALUATED"
}
certifi>=2025.10.5runtime
defusedxml
Environment
{
  "extras": "",
  "marker": null,
  "requires_python": ">=3.10",
  "evaluation": "NOT_EVALUATED"
}
defusedxml>=0.7.1runtime
loguru
Environment
{
  "extras": "",
  "marker": null,
  "requires_python": ">=3.10",
  "evaluation": "NOT_EVALUATED"
}
loguru~=0.7runtime
platformdirs
Environment
{
  "extras": "",
  "marker": null,
  "requires_python": ">=3.10",
  "evaluation": "NOT_EVALUATED"
}
platformdirs>=4.3.6runtime
pydantic-settings
Environment
{
  "extras": "",
  "marker": null,
  "requires_python": ">=3.10",
  "evaluation": "NOT_EVALUATED"
}
pydantic-settings>=2.7.1runtime
pydantic
Environment
{
  "extras": "",
  "marker": null,
  "requires_python": ">=3.10",
  "evaluation": "NOT_EVALUATED"
}
pydantic>=2.9.2runtime
tenacity
Environment
{
  "extras": "",
  "marker": null,
  "requires_python": ">=3.10",
  "evaluation": "NOT_EVALUATED"
}
tenacity>=9.0.0runtime
typing-extensions
Environment
{
  "extras": "",
  "marker": null,
  "requires_python": ">=3.10",
  "evaluation": "NOT_EVALUATED"
}
typing-extensions>=4.15.0runtime
tzdata
Environment
{
  "extras": "",
  "marker": null,
  "requires_python": ">=3.10",
  "evaluation": "NOT_EVALUATED"
}
tzdata>=2024.2runtime

Distribution files

2 collected
aioarxiv-0.2.2-py3-none-any.whl

bdist_wheel · 27.48 KB · Python py3

Source file
aioarxiv-0.2.2.tar.gz

sdist · 193.58 KB · Python source

Source file

Repository

PENDING
balconyjh/aioarxiv

Shared repository data · GitHub

License detected in repository
Not collected

Metadata history

Meaningful changes
Current collected state Current

Observed since 21 Oct, 11:37 UTC

No superseded metadata states collected. Unchanged observations do not create new revisions.

Record identity

package_version:930fd3994ad643beb4876cbabb2f333f13ea5e8d15c354788c8e38f914eb0957

Other collected versions

View all collected versions →