Metadata-Version: 2.4
Name: bibforgery
Version: 1.10.1
Summary: Cliente para obtener y procesar datos de Scopus
Author: Eduardo Escalante
Requires-Python: >=3.12
Description-Content-Type: text/markdown
Requires-Dist: annotated-doc==0.0.4
Requires-Dist: anyio==4.13.0
Requires-Dist: appdirs==1.4.4
Requires-Dist: asgiref==3.11.1
Requires-Dist: attrs==26.1.0
Requires-Dist: beautifulsoup4==4.14.3
Requires-Dist: bibtexparser==2.0.0b9
Requires-Dist: boto3==1.43.6
Requires-Dist: botocore==1.43.6
Requires-Dist: brotli==1.2.0
Requires-Dist: build==1.5.0
Requires-Dist: certifi==2026.2.25
Requires-Dist: cffi==2.0.0
Requires-Dist: charset-normalizer==3.4.7
Requires-Dist: chemdataextractor2==2.4.0
Requires-Dist: click==8.3.3
Requires-Dist: colorama==0.4.6
Requires-Dist: cryptography==48.0.0
Requires-Dist: cssselect==1.4.0
Requires-Dist: cssselect2==0.9.0
Requires-Dist: DAWG2==0.13.3
Requires-Dist: deprecation==2.1.0
Requires-Dist: Django==6.0.5
Requires-Dist: docutils==0.22.4
Requires-Dist: emoji==2.15.0
Requires-Dist: filelock==3.29.0
Requires-Dist: fonttools==4.62.1
Requires-Dist: fsspec==2026.4.0
Requires-Dist: git-filter-repo==2.47.0
Requires-Dist: h11==0.16.0
Requires-Dist: hf-xet==1.5.0
Requires-Dist: httpcore==1.0.9
Requires-Dist: httpx==0.28.1
Requires-Dist: huggingface_hub==1.14.0
Requires-Dist: id==1.6.1
Requires-Dist: idna==3.11
Requires-Dist: jaraco.classes==3.4.0
Requires-Dist: jaraco.context==6.1.2
Requires-Dist: jaraco.functools==4.4.0
Requires-Dist: Jinja2==3.1.6
Requires-Dist: jmespath==1.1.0
Requires-Dist: joblib==1.5.3
Requires-Dist: keyring==25.7.0
Requires-Dist: lxml==6.1.0
Requires-Dist: markdown-it-py==4.0.0
Requires-Dist: MarkupSafe==3.0.3
Requires-Dist: mdurl==0.1.2
Requires-Dist: more-itertools==11.0.2
Requires-Dist: mpmath==1.3.0
Requires-Dist: networkx==3.6.1
Requires-Dist: nh3==0.3.5
Requires-Dist: nltk==3.9.4
Requires-Dist: numpy==1.26.4
Requires-Dist: outcome==1.3.0.post0
Requires-Dist: overrides==7.7.0
Requires-Dist: packaging==26.2
Requires-Dist: pandas==3.0.2
Requires-Dist: pdfminer.six==20260107
Requires-Dist: pillow==12.2.0
Requires-Dist: platformdirs==4.9.6
Requires-Dist: prettytable==3.17.0
Requires-Dist: protobuf==7.34.1
Requires-Dist: pycparser==3.0
Requires-Dist: pydyf==0.12.1
Requires-Dist: Pygments==2.20.0
Requires-Dist: pylatexenc==2.10
Requires-Dist: pyparsing==3.3.2
Requires-Dist: pyphen==0.17.2
Requires-Dist: pyproject_hooks==1.2.0
Requires-Dist: PySocks==1.7.1
Requires-Dist: python-crfsuite==0.9.12
Requires-Dist: python-dateutil==2.9.0.post0
Requires-Dist: python-docx==1.2.0
Requires-Dist: python-dotenv==1.2.2
Requires-Dist: pywin32-ctypes==0.2.3
Requires-Dist: PyYAML==6.0.3
Requires-Dist: readme_renderer==44.0
Requires-Dist: regex==2026.4.4
Requires-Dist: requests==2.33.1
Requires-Dist: requests-toolbelt==1.0.0
Requires-Dist: rfc3986==2.0.0
Requires-Dist: rich==15.0.0
Requires-Dist: s3transfer==0.17.0
Requires-Dist: safetensors==0.7.0
Requires-Dist: scikit-learn==1.8.0
Requires-Dist: scipy==1.12.0
Requires-Dist: selenium==4.43.0
Requires-Dist: setuptools==81.0.0
Requires-Dist: shellingham==1.5.4
Requires-Dist: six==1.17.0
Requires-Dist: sniffio==1.3.1
Requires-Dist: sortedcontainers==2.4.0
Requires-Dist: soupsieve==2.8.3
Requires-Dist: sqlparse==0.5.5
Requires-Dist: stanza==1.11.1
Requires-Dist: sympy==1.14.0
Requires-Dist: tabledataextractor==1.5.11
Requires-Dist: termcolor==3.3.0
Requires-Dist: threadpoolctl==3.6.0
Requires-Dist: tinycss2==1.5.1
Requires-Dist: tinyhtml5==2.1.0
Requires-Dist: tokenizers==0.22.2
Requires-Dist: torch==2.11.0
Requires-Dist: tqdm==4.67.3
Requires-Dist: transformers==5.8.0
Requires-Dist: trio==0.33.0
Requires-Dist: trio-websocket==0.12.2
Requires-Dist: twine==6.2.0
Requires-Dist: typer==0.25.1
Requires-Dist: typing_extensions==4.15.0
Requires-Dist: tzdata==2026.2
Requires-Dist: udapi==0.5.2
Requires-Dist: udtools==0.2.7
Requires-Dist: urllib3==2.6.3
Requires-Dist: wcwidth==0.7.0
Requires-Dist: weasyprint==68.1
Requires-Dist: webencodings==0.5.1
Requires-Dist: websocket-client==1.9.0
Requires-Dist: wsproto==1.3.2
Requires-Dist: yaspin==3.4.0
Requires-Dist: zopfli==0.4.1

!["BibForgery — Scopus → { bib | json | pdf | docx | txt }"](https://raw.githubusercontent.com/Edescal/BibForgery/main/assets/bibforgery.png)

# BibForgery v1.10

A command-line tool for retrieving publications from Scopus, storing them locally, and exporting them to multiple formats.

---

## Installation

```bash
pip install bibforgery
```


## Usage

```bash
bibforgery <command> [options]
```

## Commands

### fetch

Retrieve publications from a Scopus author profile and store them locally.

```bash
bibforgery fetch SCOPUS_ID [options]
```

#### Arguments

```text
SCOPUS_ID              Scopus Author ID
```

#### Options

```text
-f, --full             Include citing publications
-c, --crossref         Normalize titles using Crossref
-n, --name NAME        Name of the local record
```

#### Examples

```bash
bibforgery fetch 56000743500

bibforgery fetch 56000743500 \
    --crossref \
    --name theochem

bibforgery fetch 56000743500 \
    --full
```


### export

Export a previously stored record to a supported format.

```bash
bibforgery export NAME -f FORMAT -o OUTPUT [options]
```

#### Supported Formats

```text
text
json
bib
pdf
docx
word
```

#### Options

```text
-f, --format FORMAT    Output format
-o, --output FILE      Output file path

--style {acs,aps}      Citation style
--full                 Include citing publications
```

#### Examples

```bash
bibforgery export theochem \
    -f json \
    -o papers.json

bibforgery export theochem \
    -f pdf \
    -o report.pdf

bibforgery export theochem \
    -f docx \
    -o report.docx \
    --style aps
```


### db

Database and cache management commands.

```bash
bibforgery db <action> [options]
```

#### Available Actions

##### List stored records

```bash
bibforgery db list
```

##### Display cache information

```bash
bibforgery db cacheinfo
```

##### Repair cache entries

```bash
bibforgery db cachefix [options]
```

Options:

```text
-l, --limit N          Maximum number of entries to process
--dry-run              Simulate changes without saving
```

Examples:

```bash
bibforgery db cachefix

bibforgery db cachefix \
    --limit 100

bibforgery db cachefix \
    --dry-run
```

##### Rebuild cached data

```bash
bibforgery db recache -n NAME [options]
```

Options:

```text
-n, --name NAME        Source record name
--full                 Include citing publications
```

Examples:

```bash
bibforgery db recache \
    --name theochem

bibforgery db recache \
    --name theochem \
    --full
```
