pmcfetch 0.2.0__tar.gz → 0.2.1__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {pmcfetch-0.2.0/src/pmcfetch.egg-info → pmcfetch-0.2.1}/PKG-INFO +30 -8
- {pmcfetch-0.2.0 → pmcfetch-0.2.1}/README.md +29 -7
- {pmcfetch-0.2.0 → pmcfetch-0.2.1}/src/pmcfetch/__init__.py +1 -1
- {pmcfetch-0.2.0 → pmcfetch-0.2.1/src/pmcfetch.egg-info}/PKG-INFO +30 -8
- {pmcfetch-0.2.0 → pmcfetch-0.2.1}/LICENSE +0 -0
- {pmcfetch-0.2.0 → pmcfetch-0.2.1}/MANIFEST.in +0 -0
- {pmcfetch-0.2.0 → pmcfetch-0.2.1}/pyproject.toml +0 -0
- {pmcfetch-0.2.0 → pmcfetch-0.2.1}/setup.cfg +0 -0
- {pmcfetch-0.2.0 → pmcfetch-0.2.1}/src/pmcfetch/batch.py +0 -0
- {pmcfetch-0.2.0 → pmcfetch-0.2.1}/src/pmcfetch/cli.py +0 -0
- {pmcfetch-0.2.0 → pmcfetch-0.2.1}/src/pmcfetch/errors.py +0 -0
- {pmcfetch-0.2.0 → pmcfetch-0.2.1}/src/pmcfetch/ids.py +0 -0
- {pmcfetch-0.2.0 → pmcfetch-0.2.1}/src/pmcfetch/manifest.py +0 -0
- {pmcfetch-0.2.0 → pmcfetch-0.2.1}/src/pmcfetch/pdf.py +0 -0
- {pmcfetch-0.2.0 → pmcfetch-0.2.1}/src/pmcfetch/py.typed +0 -0
- {pmcfetch-0.2.0 → pmcfetch-0.2.1}/src/pmcfetch/ratelimit.py +0 -0
- {pmcfetch-0.2.0 → pmcfetch-0.2.1}/src/pmcfetch/s3source.py +0 -0
- {pmcfetch-0.2.0 → pmcfetch-0.2.1}/src/pmcfetch/search.py +0 -0
- {pmcfetch-0.2.0 → pmcfetch-0.2.1}/src/pmcfetch.egg-info/SOURCES.txt +0 -0
- {pmcfetch-0.2.0 → pmcfetch-0.2.1}/src/pmcfetch.egg-info/dependency_links.txt +0 -0
- {pmcfetch-0.2.0 → pmcfetch-0.2.1}/src/pmcfetch.egg-info/entry_points.txt +0 -0
- {pmcfetch-0.2.0 → pmcfetch-0.2.1}/src/pmcfetch.egg-info/requires.txt +0 -0
- {pmcfetch-0.2.0 → pmcfetch-0.2.1}/src/pmcfetch.egg-info/top_level.txt +0 -0
- {pmcfetch-0.2.0 → pmcfetch-0.2.1}/tests/conftest.py +0 -0
- {pmcfetch-0.2.0 → pmcfetch-0.2.1}/tests/test_batch.py +0 -0
- {pmcfetch-0.2.0 → pmcfetch-0.2.1}/tests/test_cli.py +0 -0
- {pmcfetch-0.2.0 → pmcfetch-0.2.1}/tests/test_ids.py +0 -0
- {pmcfetch-0.2.0 → pmcfetch-0.2.1}/tests/test_manifest.py +0 -0
- {pmcfetch-0.2.0 → pmcfetch-0.2.1}/tests/test_s3source.py +0 -0
- {pmcfetch-0.2.0 → pmcfetch-0.2.1}/tests/test_search.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: pmcfetch
|
|
3
|
-
Version: 0.2.
|
|
3
|
+
Version: 0.2.1
|
|
4
4
|
Summary: Search the PMC Open Access Subset by keyword and download article PDFs from AWS. Zero dependencies.
|
|
5
5
|
Author: Kavach Shah
|
|
6
6
|
License-Expression: MIT
|
|
@@ -32,18 +32,40 @@ Dynamic: license-file
|
|
|
32
32
|
|
|
33
33
|
# pmcfetch
|
|
34
34
|
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
35
|
+
Download open-access research papers as PDFs from **PubMed Central**, straight
|
|
36
|
+
from the PMC Open Access Subset on AWS, with resume, retries and atomic writes.
|
|
37
|
+
Requires Python 3.10+, and nothing outside the standard library.
|
|
38
38
|
|
|
39
39
|
```bash
|
|
40
40
|
pip install pmcfetch
|
|
41
|
-
pmcfetch search "burn scar" # how many open-access papers match?
|
|
42
|
-
pmcfetch search "burn scar" --download 50 # fetch the 50 most relevant
|
|
43
|
-
pmcfetch download --corpus corpus.json --out pdfs/ --workers 16
|
|
44
41
|
```
|
|
45
42
|
|
|
46
|
-
|
|
43
|
+
## What it does
|
|
44
|
+
|
|
45
|
+
**1. Download papers by id.** You already know which papers you want: list their
|
|
46
|
+
PMC ids in a text file, one per line (like `PMC10007932`).
|
|
47
|
+
|
|
48
|
+
```bash
|
|
49
|
+
pmcfetch download --corpus ids.txt --out pdfs/
|
|
50
|
+
```
|
|
51
|
+
|
|
52
|
+
**2. Search by keyword.** See how many open-access papers match before
|
|
53
|
+
downloading anything.
|
|
54
|
+
|
|
55
|
+
```bash
|
|
56
|
+
pmcfetch search "burn scar"
|
|
57
|
+
# [pmcfetch] 20,349 open-access article(s) match 'burn scar'
|
|
58
|
+
```
|
|
59
|
+
|
|
60
|
+
**3. Download the matches.** Take all of them, or only as many as you want.
|
|
61
|
+
|
|
62
|
+
```bash
|
|
63
|
+
pmcfetch search "burn scar" --download 50 # the 50 most relevant
|
|
64
|
+
pmcfetch search "burn scar" --download all # every match
|
|
65
|
+
```
|
|
66
|
+
|
|
67
|
+
In a terminal, `pmcfetch search` asks how many to download right after showing
|
|
68
|
+
the count, so steps 2 and 3 can happen in one go.
|
|
47
69
|
|
|
48
70
|
## Why
|
|
49
71
|
|
|
@@ -1,17 +1,39 @@
|
|
|
1
1
|
# pmcfetch
|
|
2
2
|
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
3
|
+
Download open-access research papers as PDFs from **PubMed Central**, straight
|
|
4
|
+
from the PMC Open Access Subset on AWS, with resume, retries and atomic writes.
|
|
5
|
+
Requires Python 3.10+, and nothing outside the standard library.
|
|
6
6
|
|
|
7
7
|
```bash
|
|
8
8
|
pip install pmcfetch
|
|
9
|
-
pmcfetch search "burn scar" # how many open-access papers match?
|
|
10
|
-
pmcfetch search "burn scar" --download 50 # fetch the 50 most relevant
|
|
11
|
-
pmcfetch download --corpus corpus.json --out pdfs/ --workers 16
|
|
12
9
|
```
|
|
13
10
|
|
|
14
|
-
|
|
11
|
+
## What it does
|
|
12
|
+
|
|
13
|
+
**1. Download papers by id.** You already know which papers you want: list their
|
|
14
|
+
PMC ids in a text file, one per line (like `PMC10007932`).
|
|
15
|
+
|
|
16
|
+
```bash
|
|
17
|
+
pmcfetch download --corpus ids.txt --out pdfs/
|
|
18
|
+
```
|
|
19
|
+
|
|
20
|
+
**2. Search by keyword.** See how many open-access papers match before
|
|
21
|
+
downloading anything.
|
|
22
|
+
|
|
23
|
+
```bash
|
|
24
|
+
pmcfetch search "burn scar"
|
|
25
|
+
# [pmcfetch] 20,349 open-access article(s) match 'burn scar'
|
|
26
|
+
```
|
|
27
|
+
|
|
28
|
+
**3. Download the matches.** Take all of them, or only as many as you want.
|
|
29
|
+
|
|
30
|
+
```bash
|
|
31
|
+
pmcfetch search "burn scar" --download 50 # the 50 most relevant
|
|
32
|
+
pmcfetch search "burn scar" --download all # every match
|
|
33
|
+
```
|
|
34
|
+
|
|
35
|
+
In a terminal, `pmcfetch search` asks how many to download right after showing
|
|
36
|
+
the count, so steps 2 and 3 can happen in one go.
|
|
15
37
|
|
|
16
38
|
## Why
|
|
17
39
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: pmcfetch
|
|
3
|
-
Version: 0.2.
|
|
3
|
+
Version: 0.2.1
|
|
4
4
|
Summary: Search the PMC Open Access Subset by keyword and download article PDFs from AWS. Zero dependencies.
|
|
5
5
|
Author: Kavach Shah
|
|
6
6
|
License-Expression: MIT
|
|
@@ -32,18 +32,40 @@ Dynamic: license-file
|
|
|
32
32
|
|
|
33
33
|
# pmcfetch
|
|
34
34
|
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
35
|
+
Download open-access research papers as PDFs from **PubMed Central**, straight
|
|
36
|
+
from the PMC Open Access Subset on AWS, with resume, retries and atomic writes.
|
|
37
|
+
Requires Python 3.10+, and nothing outside the standard library.
|
|
38
38
|
|
|
39
39
|
```bash
|
|
40
40
|
pip install pmcfetch
|
|
41
|
-
pmcfetch search "burn scar" # how many open-access papers match?
|
|
42
|
-
pmcfetch search "burn scar" --download 50 # fetch the 50 most relevant
|
|
43
|
-
pmcfetch download --corpus corpus.json --out pdfs/ --workers 16
|
|
44
41
|
```
|
|
45
42
|
|
|
46
|
-
|
|
43
|
+
## What it does
|
|
44
|
+
|
|
45
|
+
**1. Download papers by id.** You already know which papers you want: list their
|
|
46
|
+
PMC ids in a text file, one per line (like `PMC10007932`).
|
|
47
|
+
|
|
48
|
+
```bash
|
|
49
|
+
pmcfetch download --corpus ids.txt --out pdfs/
|
|
50
|
+
```
|
|
51
|
+
|
|
52
|
+
**2. Search by keyword.** See how many open-access papers match before
|
|
53
|
+
downloading anything.
|
|
54
|
+
|
|
55
|
+
```bash
|
|
56
|
+
pmcfetch search "burn scar"
|
|
57
|
+
# [pmcfetch] 20,349 open-access article(s) match 'burn scar'
|
|
58
|
+
```
|
|
59
|
+
|
|
60
|
+
**3. Download the matches.** Take all of them, or only as many as you want.
|
|
61
|
+
|
|
62
|
+
```bash
|
|
63
|
+
pmcfetch search "burn scar" --download 50 # the 50 most relevant
|
|
64
|
+
pmcfetch search "burn scar" --download all # every match
|
|
65
|
+
```
|
|
66
|
+
|
|
67
|
+
In a terminal, `pmcfetch search` asks how many to download right after showing
|
|
68
|
+
the count, so steps 2 and 3 can happen in one go.
|
|
47
69
|
|
|
48
70
|
## Why
|
|
49
71
|
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|