A Python package for retrieving arXiv papers and filter them out with respect to some specific regex pattern.
Project description
pyrxiv
pyrxiv is a Python package for retrieving arXiv papers, storing their metadata in pydantic-like classes, and optionally filtering some of them out based on the specific content of the papers (matching a regex pattern).
While originally developed for the Strongly Correlated Electron Systems community in Condensed Matter Physics (cond-mat.str-el), it's designed to be flexible and applicable to any arXiv category.
Install the core package:
pip install pyrxiv
Objective
pyrxiv main objective is to provide an easy command line interface (CLI) to search and download arXiv papers which contain a specific content string matched against a regex pattern. You can use the CLI and print the options after installing the package using:
pyrxiv --help
or directly:
pyrxiv search_and_download --help
For example:
pyrxiv search_and_download --category cond-mat.str-el --regex-pattern "DMFT|Hubbard" --n-papers 5
Development
To contribute to pyrxiv or run it locally, follow these steps:
Clone the Repository
git clone https://github.com/JosePizarro3/pyrxiv.git
cd pyrxiv
Set Up a Virtual Environment
We recommend Python ≥ 3.10:
python3 -m venv .venv
source .venv/bin/activate
Install Dependencies
Use uv (faster than pip) to install the package in editable mode with dev extras:
pip install --upgrade pip
pip install uv
uv pip install -e .[dev]
Run tests
Use pytest with verbosity to run all tests:
python -m pytest -sv tests
To check code coverage:
python -m pytest --cov=pyrxiv tests
Code formatting and linting
We use Ruff for formatting and linting (configured via pyproject.toml).
Check linting issues:
ruff check .
Auto-format code:
ruff format .
Manually fix anything Ruff cannot handle automatically.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file pyrxiv-0.1.3.tar.gz.
File metadata
- Download URL: pyrxiv-0.1.3.tar.gz
- Upload date:
- Size: 13.3 MB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.12.9
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
4b709a2eee79ce47bbdd817c3354c732c9c73d099f7434881ed82865fb36649a
|
|
| MD5 |
05a573f655fdcf8de39deabe3a3ed322
|
|
| BLAKE2b-256 |
d3d04b539b930f8a598af36945579d67b6389f79019d27a3a9b61e91f3d7e906
|
File details
Details for the file pyrxiv-0.1.3-py3-none-any.whl.
File metadata
- Download URL: pyrxiv-0.1.3-py3-none-any.whl
- Upload date:
- Size: 13.3 MB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.12.9
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
343423565b894188beab1a3dc332716411fae46995fd0700977c75e292221b95
|
|
| MD5 |
766fae2e69cf207145a7de63cf44f664
|
|
| BLAKE2b-256 |
a3573dd7f88ac9b51f2349abb34f81a975e3b302c4c7e8bf4aa8fb9291268ee2
|