FastWARC 1.0.1__tar.gz → 1.0.3__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.
- fastwarc-1.0.3/FastWARC.egg-info/PKG-INFO +110 -0
- {fastwarc-1.0.1 → fastwarc-1.0.3}/FastWARC.egg-info/SOURCES.txt +1 -0
- {fastwarc-1.0.1 → fastwarc-1.0.3}/FastWARC.egg-info/requires.txt +1 -1
- fastwarc-1.0.3/PKG-INFO +110 -0
- fastwarc-1.0.3/README.md +86 -0
- {fastwarc-1.0.1 → fastwarc-1.0.3}/fastwarc/cli.py +5 -4
- fastwarc-1.0.3/fastwarc/legacy/__init__.pyi +19 -0
- {fastwarc-1.0.1 → fastwarc-1.0.3}/fastwarc/stream_io.pyi +13 -11
- {fastwarc-1.0.1 → fastwarc-1.0.3}/fastwarc/warc.pyi +11 -0
- {fastwarc-1.0.1 → fastwarc-1.0.3}/pyproject.toml +6 -6
- fastwarc-1.0.1/FastWARC.egg-info/PKG-INFO +0 -97
- fastwarc-1.0.1/PKG-INFO +0 -97
- fastwarc-1.0.1/README.md +0 -73
- {fastwarc-1.0.1 → fastwarc-1.0.3}/FastWARC.egg-info/dependency_links.txt +0 -0
- {fastwarc-1.0.1 → fastwarc-1.0.3}/FastWARC.egg-info/entry_points.txt +0 -0
- {fastwarc-1.0.1 → fastwarc-1.0.3}/FastWARC.egg-info/top_level.txt +0 -0
- {fastwarc-1.0.1 → fastwarc-1.0.3}/MANIFEST.in +0 -0
- {fastwarc-1.0.1 → fastwarc-1.0.3}/fastwarc/__init__.py +0 -0
- {fastwarc-1.0.1 → fastwarc-1.0.3}/fastwarc/__init__.pyi +0 -0
- {fastwarc-1.0.1 → fastwarc-1.0.3}/fastwarc/legacy/__init__.pxd +0 -0
- {fastwarc-1.0.1 → fastwarc-1.0.3}/fastwarc/legacy/__init__.py +0 -0
- {fastwarc-1.0.1 → fastwarc-1.0.3}/fastwarc/legacy/_shims.py +0 -0
- {fastwarc-1.0.1 → fastwarc-1.0.3}/fastwarc/legacy/stream_io.pxd +0 -0
- {fastwarc-1.0.1 → fastwarc-1.0.3}/fastwarc/legacy/stream_io.pyi +0 -0
- {fastwarc-1.0.1 → fastwarc-1.0.3}/fastwarc/legacy/stream_io.pyx +0 -0
- {fastwarc-1.0.1 → fastwarc-1.0.3}/fastwarc/legacy/tools.pyi +0 -0
- {fastwarc-1.0.1 → fastwarc-1.0.3}/fastwarc/legacy/tools.pyx +0 -0
- {fastwarc-1.0.1 → fastwarc-1.0.3}/fastwarc/legacy/warc.pxd +0 -0
- {fastwarc-1.0.1 → fastwarc-1.0.3}/fastwarc/legacy/warc.pyi +0 -0
- {fastwarc-1.0.1 → fastwarc-1.0.3}/fastwarc/legacy/warc.pyx +0 -0
- {fastwarc-1.0.1 → fastwarc-1.0.3}/fastwarc/py.typed +0 -0
- {fastwarc-1.0.1 → fastwarc-1.0.3}/resiliparse_common/__init__.pxd +0 -0
- {fastwarc-1.0.1 → fastwarc-1.0.3}/resiliparse_common/string_util.pxd +0 -0
- {fastwarc-1.0.1 → fastwarc-1.0.3}/resiliparse_inc/__init__.pxd +0 -0
- {fastwarc-1.0.1 → fastwarc-1.0.3}/resiliparse_inc/algorithm.pxd +0 -0
- {fastwarc-1.0.1 → fastwarc-1.0.3}/resiliparse_inc/atomic.pxd +0 -0
- {fastwarc-1.0.1 → fastwarc-1.0.3}/resiliparse_inc/boost_regex.pxd +0 -0
- {fastwarc-1.0.1 → fastwarc-1.0.3}/resiliparse_inc/cctype.pxd +0 -0
- {fastwarc-1.0.1 → fastwarc-1.0.3}/resiliparse_inc/cstdlib.pxd +0 -0
- {fastwarc-1.0.1 → fastwarc-1.0.3}/resiliparse_inc/cstring.pxd +0 -0
- {fastwarc-1.0.1 → fastwarc-1.0.3}/resiliparse_inc/dlfcn.pxd +0 -0
- {fastwarc-1.0.1 → fastwarc-1.0.3}/resiliparse_inc/errno.pxd +0 -0
- {fastwarc-1.0.1 → fastwarc-1.0.3}/resiliparse_inc/lexbor.pxd +0 -0
- {fastwarc-1.0.1 → fastwarc-1.0.3}/resiliparse_inc/lz4frame.pxd +0 -0
- {fastwarc-1.0.1 → fastwarc-1.0.3}/resiliparse_inc/lz4hc.pxd +0 -0
- {fastwarc-1.0.1 → fastwarc-1.0.3}/resiliparse_inc/pthread.pxd +0 -0
- {fastwarc-1.0.1 → fastwarc-1.0.3}/resiliparse_inc/re2.pxd +0 -0
- {fastwarc-1.0.1 → fastwarc-1.0.3}/resiliparse_inc/stdio.pxd +0 -0
- {fastwarc-1.0.1 → fastwarc-1.0.3}/resiliparse_inc/string_view.pxd +0 -0
- {fastwarc-1.0.1 → fastwarc-1.0.3}/resiliparse_inc/time.pxd +0 -0
- {fastwarc-1.0.1 → fastwarc-1.0.3}/resiliparse_inc/uchardet.pxd +0 -0
- {fastwarc-1.0.1 → fastwarc-1.0.3}/resiliparse_inc/unistd.pxd +0 -0
- {fastwarc-1.0.1 → fastwarc-1.0.3}/resiliparse_inc/utility.pxd +0 -0
- {fastwarc-1.0.1 → fastwarc-1.0.3}/resiliparse_inc/zlib.pxd +0 -0
- {fastwarc-1.0.1 → fastwarc-1.0.3}/setup.cfg +0 -0
- {fastwarc-1.0.1 → fastwarc-1.0.3}/setup.py +0 -0
|
@@ -0,0 +1,110 @@
|
|
|
1
|
+
Metadata-Version: 2.4
|
|
2
|
+
Name: FastWARC
|
|
3
|
+
Version: 1.0.3
|
|
4
|
+
Summary: A high-performance WARC parsing library written in Rust with bindings for Python.
|
|
5
|
+
Author: Janek Bevendorff
|
|
6
|
+
License-Expression: Apache-2.0
|
|
7
|
+
Project-URL: repository, https://github.com/chatnoir-eu/chatnoir-resiliparse
|
|
8
|
+
Project-URL: homepage, https://resiliparse.chatnoir.eu
|
|
9
|
+
Project-URL: documentation, https://resiliparse.chatnoir.eu
|
|
10
|
+
Requires-Python: >=3.10
|
|
11
|
+
Description-Content-Type: text/markdown
|
|
12
|
+
Requires-Dist: brotli
|
|
13
|
+
Requires-Dist: click
|
|
14
|
+
Requires-Dist: tqdm
|
|
15
|
+
Provides-Extra: all
|
|
16
|
+
Requires-Dist: fastwarc[fsspec]; extra == "all"
|
|
17
|
+
Provides-Extra: fsspec
|
|
18
|
+
Requires-Dist: fsspec; extra == "fsspec"
|
|
19
|
+
Requires-Dist: s3fs; extra == "fsspec"
|
|
20
|
+
Provides-Extra: test
|
|
21
|
+
Requires-Dist: fastwarc[all]; extra == "test"
|
|
22
|
+
Requires-Dist: pytest>=7.2.2; extra == "test"
|
|
23
|
+
Requires-Dist: pytest-cov>=4.0.0; extra == "test"
|
|
24
|
+
|
|
25
|
+
# FastWARC (Python)
|
|
26
|
+
|
|
27
|
+
FastWARC is a high-performance WARC parsing library written in Rust with bindings for Python.
|
|
28
|
+
FastWARC supports compressed and uncompressed WARC/1.0 and WARC/1.1 streams. Supported compression algorithms are Gzip,
|
|
29
|
+
Zstd, and LZ4.
|
|
30
|
+
|
|
31
|
+
This package contains the Python bindings for FastWARC.
|
|
32
|
+
|
|
33
|
+
FastWARC belongs to the [ChatNoir Resiliparse toolkit](https://github.com/chatnoir-eu/chatnoir-resiliparse/) for fast
|
|
34
|
+
and robust web data processing.
|
|
35
|
+
|
|
36
|
+
## Installing FastWARC
|
|
37
|
+
|
|
38
|
+
Pre-built FastWARC binaries for Python can be installed from [PyPi](https://pypi.org/project/FastWARC/):
|
|
39
|
+
|
|
40
|
+
```bash
|
|
41
|
+
pip install fastwarc
|
|
42
|
+
```
|
|
43
|
+
|
|
44
|
+
## Building Python Bindings From Source
|
|
45
|
+
|
|
46
|
+
To be able to build FastWARC, you need the Rust toolchain installed (see above). Then to build directly from the GitHub
|
|
47
|
+
repository, follow these steps:
|
|
48
|
+
|
|
49
|
+
```bash
|
|
50
|
+
# Clone repository
|
|
51
|
+
|
|
52
|
+
git clone https://github.com/chatnoir-eu/chatnoir-resiliparse.git
|
|
53
|
+
cd chatnoir-resiliparse
|
|
54
|
+
|
|
55
|
+
# Install Rust toolchain (if not already installed)
|
|
56
|
+
|
|
57
|
+
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
|
|
58
|
+
|
|
59
|
+
# Create a fresh venv first (recommended)
|
|
60
|
+
|
|
61
|
+
python3 -m venv venv && source venv/bin/activate
|
|
62
|
+
|
|
63
|
+
# Option 1: Build and install in editable mode (best for development)
|
|
64
|
+
|
|
65
|
+
python3 -m pip install -e ./fastwarc-py
|
|
66
|
+
|
|
67
|
+
# Option 2 (alternative): Build and install wheels in separate steps (best for redistribution)
|
|
68
|
+
|
|
69
|
+
python3 -m pip wheel -w build ./fastwarc-py
|
|
70
|
+
ls ./build/*.whl | xargs python3 -m pip install
|
|
71
|
+
```
|
|
72
|
+
|
|
73
|
+
## Usage Instructions
|
|
74
|
+
|
|
75
|
+
For detailed usage instructions, please consult
|
|
76
|
+
the [FastWARC User Manual](https://resiliparse.chatnoir.eu/en/latest/man/fastwarc.html).
|
|
77
|
+
|
|
78
|
+
## Cite Us
|
|
79
|
+
|
|
80
|
+
If you use FastWARC, please consider citing our [OSSYM 2021 abstract paper](https://arxiv.org/abs/2112.03103):
|
|
81
|
+
|
|
82
|
+
```bibtex
|
|
83
|
+
@InProceedings{bevendorff:2021,
|
|
84
|
+
author = {Janek Bevendorff and Martin Potthast and Benno Stein},
|
|
85
|
+
booktitle = {3rd International Symposium on Open Search Technology (OSSYM 2021)},
|
|
86
|
+
editor = {Andreas Wagner and Christian Guetl and Michael Granitzer and Stefan Voigt},
|
|
87
|
+
month = oct,
|
|
88
|
+
publisher = {International Open Search Symposium},
|
|
89
|
+
site = {CERN, Geneva, Switzerland},
|
|
90
|
+
title = {{FastWARC: Optimizing Large-Scale Web Archive Analytics}},
|
|
91
|
+
year = 2021
|
|
92
|
+
}
|
|
93
|
+
```
|
|
94
|
+
|
|
95
|
+
You can also cite our [ECIR 2018 demo paper](https://webis.de/downloads/publications/papers/bevendorff_2018.pdf):
|
|
96
|
+
|
|
97
|
+
```bibtex
|
|
98
|
+
@InProceedings{bevendorff:2018,
|
|
99
|
+
address = {Berlin Heidelberg New York},
|
|
100
|
+
author = {Janek Bevendorff and Benno Stein and Matthias Hagen and Martin Potthast},
|
|
101
|
+
booktitle = {Advances in Information Retrieval. 40th European Conference on IR Research (ECIR 2018)},
|
|
102
|
+
editor = {Leif Azzopardi and Allan Hanbury and Gabriella Pasi and Benjamin Piwowarski},
|
|
103
|
+
month = mar,
|
|
104
|
+
publisher = {Springer},
|
|
105
|
+
series = {Lecture Notes in Computer Science},
|
|
106
|
+
site = {Grenoble, France},
|
|
107
|
+
title = {{Elastic ChatNoir: Search Engine for the ClueWeb and the Common Crawl}},
|
|
108
|
+
year = 2018
|
|
109
|
+
}
|
|
110
|
+
```
|
fastwarc-1.0.3/PKG-INFO
ADDED
|
@@ -0,0 +1,110 @@
|
|
|
1
|
+
Metadata-Version: 2.4
|
|
2
|
+
Name: FastWARC
|
|
3
|
+
Version: 1.0.3
|
|
4
|
+
Summary: A high-performance WARC parsing library written in Rust with bindings for Python.
|
|
5
|
+
Author: Janek Bevendorff
|
|
6
|
+
License-Expression: Apache-2.0
|
|
7
|
+
Project-URL: repository, https://github.com/chatnoir-eu/chatnoir-resiliparse
|
|
8
|
+
Project-URL: homepage, https://resiliparse.chatnoir.eu
|
|
9
|
+
Project-URL: documentation, https://resiliparse.chatnoir.eu
|
|
10
|
+
Requires-Python: >=3.10
|
|
11
|
+
Description-Content-Type: text/markdown
|
|
12
|
+
Requires-Dist: brotli
|
|
13
|
+
Requires-Dist: click
|
|
14
|
+
Requires-Dist: tqdm
|
|
15
|
+
Provides-Extra: all
|
|
16
|
+
Requires-Dist: fastwarc[fsspec]; extra == "all"
|
|
17
|
+
Provides-Extra: fsspec
|
|
18
|
+
Requires-Dist: fsspec; extra == "fsspec"
|
|
19
|
+
Requires-Dist: s3fs; extra == "fsspec"
|
|
20
|
+
Provides-Extra: test
|
|
21
|
+
Requires-Dist: fastwarc[all]; extra == "test"
|
|
22
|
+
Requires-Dist: pytest>=7.2.2; extra == "test"
|
|
23
|
+
Requires-Dist: pytest-cov>=4.0.0; extra == "test"
|
|
24
|
+
|
|
25
|
+
# FastWARC (Python)
|
|
26
|
+
|
|
27
|
+
FastWARC is a high-performance WARC parsing library written in Rust with bindings for Python.
|
|
28
|
+
FastWARC supports compressed and uncompressed WARC/1.0 and WARC/1.1 streams. Supported compression algorithms are Gzip,
|
|
29
|
+
Zstd, and LZ4.
|
|
30
|
+
|
|
31
|
+
This package contains the Python bindings for FastWARC.
|
|
32
|
+
|
|
33
|
+
FastWARC belongs to the [ChatNoir Resiliparse toolkit](https://github.com/chatnoir-eu/chatnoir-resiliparse/) for fast
|
|
34
|
+
and robust web data processing.
|
|
35
|
+
|
|
36
|
+
## Installing FastWARC
|
|
37
|
+
|
|
38
|
+
Pre-built FastWARC binaries for Python can be installed from [PyPi](https://pypi.org/project/FastWARC/):
|
|
39
|
+
|
|
40
|
+
```bash
|
|
41
|
+
pip install fastwarc
|
|
42
|
+
```
|
|
43
|
+
|
|
44
|
+
## Building Python Bindings From Source
|
|
45
|
+
|
|
46
|
+
To be able to build FastWARC, you need the Rust toolchain installed (see above). Then to build directly from the GitHub
|
|
47
|
+
repository, follow these steps:
|
|
48
|
+
|
|
49
|
+
```bash
|
|
50
|
+
# Clone repository
|
|
51
|
+
|
|
52
|
+
git clone https://github.com/chatnoir-eu/chatnoir-resiliparse.git
|
|
53
|
+
cd chatnoir-resiliparse
|
|
54
|
+
|
|
55
|
+
# Install Rust toolchain (if not already installed)
|
|
56
|
+
|
|
57
|
+
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
|
|
58
|
+
|
|
59
|
+
# Create a fresh venv first (recommended)
|
|
60
|
+
|
|
61
|
+
python3 -m venv venv && source venv/bin/activate
|
|
62
|
+
|
|
63
|
+
# Option 1: Build and install in editable mode (best for development)
|
|
64
|
+
|
|
65
|
+
python3 -m pip install -e ./fastwarc-py
|
|
66
|
+
|
|
67
|
+
# Option 2 (alternative): Build and install wheels in separate steps (best for redistribution)
|
|
68
|
+
|
|
69
|
+
python3 -m pip wheel -w build ./fastwarc-py
|
|
70
|
+
ls ./build/*.whl | xargs python3 -m pip install
|
|
71
|
+
```
|
|
72
|
+
|
|
73
|
+
## Usage Instructions
|
|
74
|
+
|
|
75
|
+
For detailed usage instructions, please consult
|
|
76
|
+
the [FastWARC User Manual](https://resiliparse.chatnoir.eu/en/latest/man/fastwarc.html).
|
|
77
|
+
|
|
78
|
+
## Cite Us
|
|
79
|
+
|
|
80
|
+
If you use FastWARC, please consider citing our [OSSYM 2021 abstract paper](https://arxiv.org/abs/2112.03103):
|
|
81
|
+
|
|
82
|
+
```bibtex
|
|
83
|
+
@InProceedings{bevendorff:2021,
|
|
84
|
+
author = {Janek Bevendorff and Martin Potthast and Benno Stein},
|
|
85
|
+
booktitle = {3rd International Symposium on Open Search Technology (OSSYM 2021)},
|
|
86
|
+
editor = {Andreas Wagner and Christian Guetl and Michael Granitzer and Stefan Voigt},
|
|
87
|
+
month = oct,
|
|
88
|
+
publisher = {International Open Search Symposium},
|
|
89
|
+
site = {CERN, Geneva, Switzerland},
|
|
90
|
+
title = {{FastWARC: Optimizing Large-Scale Web Archive Analytics}},
|
|
91
|
+
year = 2021
|
|
92
|
+
}
|
|
93
|
+
```
|
|
94
|
+
|
|
95
|
+
You can also cite our [ECIR 2018 demo paper](https://webis.de/downloads/publications/papers/bevendorff_2018.pdf):
|
|
96
|
+
|
|
97
|
+
```bibtex
|
|
98
|
+
@InProceedings{bevendorff:2018,
|
|
99
|
+
address = {Berlin Heidelberg New York},
|
|
100
|
+
author = {Janek Bevendorff and Benno Stein and Matthias Hagen and Martin Potthast},
|
|
101
|
+
booktitle = {Advances in Information Retrieval. 40th European Conference on IR Research (ECIR 2018)},
|
|
102
|
+
editor = {Leif Azzopardi and Allan Hanbury and Gabriella Pasi and Benjamin Piwowarski},
|
|
103
|
+
month = mar,
|
|
104
|
+
publisher = {Springer},
|
|
105
|
+
series = {Lecture Notes in Computer Science},
|
|
106
|
+
site = {Grenoble, France},
|
|
107
|
+
title = {{Elastic ChatNoir: Search Engine for the ClueWeb and the Common Crawl}},
|
|
108
|
+
year = 2018
|
|
109
|
+
}
|
|
110
|
+
```
|
fastwarc-1.0.3/README.md
ADDED
|
@@ -0,0 +1,86 @@
|
|
|
1
|
+
# FastWARC (Python)
|
|
2
|
+
|
|
3
|
+
FastWARC is a high-performance WARC parsing library written in Rust with bindings for Python.
|
|
4
|
+
FastWARC supports compressed and uncompressed WARC/1.0 and WARC/1.1 streams. Supported compression algorithms are Gzip,
|
|
5
|
+
Zstd, and LZ4.
|
|
6
|
+
|
|
7
|
+
This package contains the Python bindings for FastWARC.
|
|
8
|
+
|
|
9
|
+
FastWARC belongs to the [ChatNoir Resiliparse toolkit](https://github.com/chatnoir-eu/chatnoir-resiliparse/) for fast
|
|
10
|
+
and robust web data processing.
|
|
11
|
+
|
|
12
|
+
## Installing FastWARC
|
|
13
|
+
|
|
14
|
+
Pre-built FastWARC binaries for Python can be installed from [PyPi](https://pypi.org/project/FastWARC/):
|
|
15
|
+
|
|
16
|
+
```bash
|
|
17
|
+
pip install fastwarc
|
|
18
|
+
```
|
|
19
|
+
|
|
20
|
+
## Building Python Bindings From Source
|
|
21
|
+
|
|
22
|
+
To be able to build FastWARC, you need the Rust toolchain installed (see above). Then to build directly from the GitHub
|
|
23
|
+
repository, follow these steps:
|
|
24
|
+
|
|
25
|
+
```bash
|
|
26
|
+
# Clone repository
|
|
27
|
+
|
|
28
|
+
git clone https://github.com/chatnoir-eu/chatnoir-resiliparse.git
|
|
29
|
+
cd chatnoir-resiliparse
|
|
30
|
+
|
|
31
|
+
# Install Rust toolchain (if not already installed)
|
|
32
|
+
|
|
33
|
+
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
|
|
34
|
+
|
|
35
|
+
# Create a fresh venv first (recommended)
|
|
36
|
+
|
|
37
|
+
python3 -m venv venv && source venv/bin/activate
|
|
38
|
+
|
|
39
|
+
# Option 1: Build and install in editable mode (best for development)
|
|
40
|
+
|
|
41
|
+
python3 -m pip install -e ./fastwarc-py
|
|
42
|
+
|
|
43
|
+
# Option 2 (alternative): Build and install wheels in separate steps (best for redistribution)
|
|
44
|
+
|
|
45
|
+
python3 -m pip wheel -w build ./fastwarc-py
|
|
46
|
+
ls ./build/*.whl | xargs python3 -m pip install
|
|
47
|
+
```
|
|
48
|
+
|
|
49
|
+
## Usage Instructions
|
|
50
|
+
|
|
51
|
+
For detailed usage instructions, please consult
|
|
52
|
+
the [FastWARC User Manual](https://resiliparse.chatnoir.eu/en/latest/man/fastwarc.html).
|
|
53
|
+
|
|
54
|
+
## Cite Us
|
|
55
|
+
|
|
56
|
+
If you use FastWARC, please consider citing our [OSSYM 2021 abstract paper](https://arxiv.org/abs/2112.03103):
|
|
57
|
+
|
|
58
|
+
```bibtex
|
|
59
|
+
@InProceedings{bevendorff:2021,
|
|
60
|
+
author = {Janek Bevendorff and Martin Potthast and Benno Stein},
|
|
61
|
+
booktitle = {3rd International Symposium on Open Search Technology (OSSYM 2021)},
|
|
62
|
+
editor = {Andreas Wagner and Christian Guetl and Michael Granitzer and Stefan Voigt},
|
|
63
|
+
month = oct,
|
|
64
|
+
publisher = {International Open Search Symposium},
|
|
65
|
+
site = {CERN, Geneva, Switzerland},
|
|
66
|
+
title = {{FastWARC: Optimizing Large-Scale Web Archive Analytics}},
|
|
67
|
+
year = 2021
|
|
68
|
+
}
|
|
69
|
+
```
|
|
70
|
+
|
|
71
|
+
You can also cite our [ECIR 2018 demo paper](https://webis.de/downloads/publications/papers/bevendorff_2018.pdf):
|
|
72
|
+
|
|
73
|
+
```bibtex
|
|
74
|
+
@InProceedings{bevendorff:2018,
|
|
75
|
+
address = {Berlin Heidelberg New York},
|
|
76
|
+
author = {Janek Bevendorff and Benno Stein and Matthias Hagen and Martin Potthast},
|
|
77
|
+
booktitle = {Advances in Information Retrieval. 40th European Conference on IR Research (ECIR 2018)},
|
|
78
|
+
editor = {Leif Azzopardi and Allan Hanbury and Gabriella Pasi and Benjamin Piwowarski},
|
|
79
|
+
month = mar,
|
|
80
|
+
publisher = {Springer},
|
|
81
|
+
series = {Lecture Notes in Computer Science},
|
|
82
|
+
site = {Grenoble, France},
|
|
83
|
+
title = {{Elastic ChatNoir: Search Engine for the ClueWeb and the Common Crawl}},
|
|
84
|
+
year = 2018
|
|
85
|
+
}
|
|
86
|
+
```
|
|
@@ -24,8 +24,8 @@ import urllib.request
|
|
|
24
24
|
import click
|
|
25
25
|
from tqdm import tqdm
|
|
26
26
|
|
|
27
|
-
from fastwarc.
|
|
28
|
-
from fastwarc.
|
|
27
|
+
from fastwarc.stream_io import FileStream, StreamError, FastWARCError, PythonIOStreamAdapter
|
|
28
|
+
from fastwarc.warc import ArchiveIterator, WarcRecordType
|
|
29
29
|
from fastwarc.legacy.tools import CompressionAlg, detect_compression_algorithm, wrap_warc_stream, \
|
|
30
30
|
recompress_warc_interactive, verify_digests
|
|
31
31
|
|
|
@@ -439,8 +439,9 @@ def benchmark(input_url, decompress_alg, endpoint_url, aws_access_key, aws_secre
|
|
|
439
439
|
return num, time.monotonic() - start, interrupted
|
|
440
440
|
|
|
441
441
|
def _fastwarc_iterator(f):
|
|
442
|
-
s = _get_raw_stream_from_url(f, use_python_stream)
|
|
443
|
-
s = wrap_warc_stream(s, 'rb', decompress_alg)
|
|
442
|
+
# s = _get_raw_stream_from_url(f, use_python_stream)
|
|
443
|
+
# s = wrap_warc_stream(s, 'rb', decompress_alg)
|
|
444
|
+
s = '/home/roce3528/code-in-progress/code-research/web-search/chatnoir/chatnoir-resiliparse/tmpfs/CC-MAIN-20231005012006-20231005042006-00899.warc'
|
|
444
445
|
return ArchiveIterator(s, rec_type_filter, parse_http=parse_http, verify_digests=verify_digests)
|
|
445
446
|
|
|
446
447
|
n, t_fastwarc, interrupted = _bench(input_url, _fastwarc_iterator, 'FastWARC')
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
from .stream_io import (
|
|
2
|
+
FileStream,
|
|
3
|
+
GZipStream,
|
|
4
|
+
LZ4Stream,
|
|
5
|
+
FastWARCError,
|
|
6
|
+
StreamError,
|
|
7
|
+
)
|
|
8
|
+
from .warc import ArchiveIterator, WarcRecord, WarcRecordType
|
|
9
|
+
|
|
10
|
+
__all__ = [
|
|
11
|
+
"FileStream",
|
|
12
|
+
"GZipStream",
|
|
13
|
+
"LZ4Stream",
|
|
14
|
+
"FastWARCError",
|
|
15
|
+
"StreamError",
|
|
16
|
+
"ArchiveIterator",
|
|
17
|
+
"WarcRecord",
|
|
18
|
+
"WarcRecordType",
|
|
19
|
+
]
|
|
@@ -128,54 +128,56 @@ _WriterInput = WarcWriter | BinaryIO | _GenericWriter | PathLike[str] | str
|
|
|
128
128
|
|
|
129
129
|
@disjoint_base
|
|
130
130
|
class GzipReader(WarcReader):
|
|
131
|
-
def __new__(cls, inner: _ReaderInput, buffer_size=
|
|
131
|
+
def __new__(cls, inner: _ReaderInput, buffer_size: int = 64 << 10, zlib: bool = False,
|
|
132
|
+
fsspec_args=None) -> Self: ...
|
|
132
133
|
|
|
133
134
|
|
|
134
135
|
@disjoint_base
|
|
135
136
|
class GzipWriter(WarcWriter):
|
|
136
|
-
def __new__(cls, inner: _WriterInput, compression_level=9, buffer_size=8192, zlib=False,
|
|
137
|
+
def __new__(cls, inner: _WriterInput, compression_level: int = 9, buffer_size: int = 8192, zlib=False,
|
|
137
138
|
fsspec_args=None) -> Self: ...
|
|
138
139
|
|
|
139
140
|
|
|
140
141
|
@disjoint_base
|
|
141
142
|
class ZstdReader(WarcReader):
|
|
142
|
-
def __new__(cls, inner: _ReaderInput, buffer_size=
|
|
143
|
+
def __new__(cls, inner: _ReaderInput, buffer_size: int = 64 << 10, fsspec_args=None,
|
|
144
|
+
dictionary: bytes | None = None) -> Self: ...
|
|
143
145
|
|
|
144
146
|
|
|
145
147
|
@disjoint_base
|
|
146
148
|
class ZstdWriter(WarcWriter):
|
|
147
|
-
def __new__(cls, inner: _WriterInput, buffer_size=8192,
|
|
148
|
-
compress_dictionary_frame=False) -> Self: ...
|
|
149
|
+
def __new__(cls, inner: _WriterInput, buffer_size: int = 8192, compression_level: int = 3, fsspec_args=None,
|
|
150
|
+
dictionary: bytes | None = None, compress_dictionary_frame=False) -> Self: ...
|
|
149
151
|
|
|
150
152
|
|
|
151
153
|
@disjoint_base
|
|
152
154
|
class Lz4Reader(WarcReader):
|
|
153
|
-
def __new__(cls, inner: _ReaderInput, buffer_size=
|
|
155
|
+
def __new__(cls, inner: _ReaderInput, buffer_size: int = 64 << 10, fsspec_args=None) -> Self: ...
|
|
154
156
|
|
|
155
157
|
|
|
156
158
|
@disjoint_base
|
|
157
159
|
class Lz4Writer(WarcWriter):
|
|
158
|
-
def __new__(cls, inner: _WriterInput, buffer_size=8192, fsspec_args=None) -> Self: ...
|
|
160
|
+
def __new__(cls, inner: _WriterInput, buffer_size: int = 8192, fsspec_args=None) -> Self: ...
|
|
159
161
|
|
|
160
162
|
|
|
161
163
|
@disjoint_base
|
|
162
164
|
class BrotliReader(WarcReader):
|
|
163
|
-
def __new__(cls, inner: _ReaderInput, buffer_size=
|
|
165
|
+
def __new__(cls, inner: _ReaderInput, buffer_size: int = 64 << 10, fsspec_args=None) -> Self: ...
|
|
164
166
|
|
|
165
167
|
|
|
166
168
|
@disjoint_base
|
|
167
169
|
class BrotliWriter(WarcWriter):
|
|
168
|
-
def __new__(cls, inner: _WriterInput, buffer_size=8192, fsspec_args=None) -> Self: ...
|
|
170
|
+
def __new__(cls, inner: _WriterInput, buffer_size: int = 8192, fsspec_args=None) -> Self: ...
|
|
169
171
|
|
|
170
172
|
|
|
171
173
|
@disjoint_base
|
|
172
174
|
class ChunkedReader(WarcReader):
|
|
173
|
-
def __new__(cls, inner: _ReaderInput, buffer_size=
|
|
175
|
+
def __new__(cls, inner: _ReaderInput, buffer_size: int = 4096, fsspec_args=None) -> Self: ...
|
|
174
176
|
|
|
175
177
|
|
|
176
178
|
@disjoint_base
|
|
177
179
|
class ChunkedWriter(WarcWriter):
|
|
178
|
-
def __new__(cls, inner: _WriterInput, min_chunk_size=
|
|
180
|
+
def __new__(cls, inner: _WriterInput, min_chunk_size: int = 1024, fsspec_args=None) -> Self: ...
|
|
179
181
|
|
|
180
182
|
|
|
181
183
|
def zstd_train_dictionary_from_continuous(sample_data: bytes, sample_sizes: list[int], max_size: int) -> bytes: ...
|
|
@@ -213,6 +213,12 @@ class WarcRecordPayloadReader(WarcReader):
|
|
|
213
213
|
class WarcRecord:
|
|
214
214
|
def __new__(cls) -> Self: ...
|
|
215
215
|
|
|
216
|
+
@classmethod
|
|
217
|
+
def from_bytes(cls, payload: bytes) -> Self: ...
|
|
218
|
+
|
|
219
|
+
@classmethod
|
|
220
|
+
def from_reader(cls, reader: _ReaderInput, quirks_mode: bool = False) -> Self: ...
|
|
221
|
+
|
|
216
222
|
@property
|
|
217
223
|
def record_id(self) -> str | None: ...
|
|
218
224
|
|
|
@@ -298,6 +304,10 @@ class WarcRecord:
|
|
|
298
304
|
chunk_size: int = 16384
|
|
299
305
|
) -> int: ...
|
|
300
306
|
|
|
307
|
+
def __eq__(self, other, /) -> bool: ...
|
|
308
|
+
|
|
309
|
+
def __ne__(self, other, /) -> bool: ...
|
|
310
|
+
|
|
301
311
|
def __str__(self) -> str: ...
|
|
302
312
|
|
|
303
313
|
def __repr__(self) -> str: ...
|
|
@@ -323,6 +333,7 @@ class ArchiveIterator(Iterable[WarcRecord]):
|
|
|
323
333
|
quirks_mode: bool = False,
|
|
324
334
|
auto_decode: Literal['none', 'content', 'transfer', 'all'] = 'none',
|
|
325
335
|
stream_detect: bool = True,
|
|
336
|
+
buffer_size: int = 64 << 10,
|
|
326
337
|
fsspec_args=None,
|
|
327
338
|
*,
|
|
328
339
|
strict_mode: bool = True
|
|
@@ -4,14 +4,14 @@ build-backend = "setuptools.build_meta"
|
|
|
4
4
|
|
|
5
5
|
[project]
|
|
6
6
|
name = "FastWARC"
|
|
7
|
-
version = "1.0.
|
|
8
|
-
description = "A high-performance WARC parsing library
|
|
7
|
+
version = "1.0.3"
|
|
8
|
+
description = "A high-performance WARC parsing library written in Rust with bindings for Python."
|
|
9
9
|
authors = [
|
|
10
10
|
{ name = "Janek Bevendorff" }
|
|
11
11
|
]
|
|
12
12
|
license = "Apache-2.0"
|
|
13
13
|
readme = "README.md"
|
|
14
|
-
requires-python = ">=3.
|
|
14
|
+
requires-python = ">=3.10"
|
|
15
15
|
dependencies = [
|
|
16
16
|
"brotli",
|
|
17
17
|
"click",
|
|
@@ -28,20 +28,20 @@ all = [
|
|
|
28
28
|
"fastwarc[fsspec]"
|
|
29
29
|
]
|
|
30
30
|
fsspec = [
|
|
31
|
-
"fsspec"
|
|
31
|
+
"fsspec",
|
|
32
|
+
"s3fs",
|
|
32
33
|
]
|
|
33
34
|
test = [
|
|
34
35
|
"fastwarc[all]",
|
|
35
36
|
"pytest>=7.2.2",
|
|
36
37
|
"pytest-cov>=4.0.0",
|
|
37
|
-
"lz4",
|
|
38
38
|
]
|
|
39
39
|
|
|
40
40
|
[project.scripts]
|
|
41
41
|
fastwarc = "fastwarc.cli:main"
|
|
42
42
|
|
|
43
43
|
[tool.setuptools.packages.find]
|
|
44
|
-
include = ["fastwarc
|
|
44
|
+
include = ["fastwarc", "fastwarc.legacy"]
|
|
45
45
|
|
|
46
46
|
[tool.setuptools.package-data]
|
|
47
47
|
"*" = ["*.pyi"]
|
|
@@ -1,97 +0,0 @@
|
|
|
1
|
-
Metadata-Version: 2.4
|
|
2
|
-
Name: FastWARC
|
|
3
|
-
Version: 1.0.1
|
|
4
|
-
Summary: A high-performance WARC parsing library for Python written in C++/Cython.
|
|
5
|
-
Author: Janek Bevendorff
|
|
6
|
-
License-Expression: Apache-2.0
|
|
7
|
-
Project-URL: repository, https://github.com/chatnoir-eu/chatnoir-resiliparse
|
|
8
|
-
Project-URL: homepage, https://resiliparse.chatnoir.eu
|
|
9
|
-
Project-URL: documentation, https://resiliparse.chatnoir.eu
|
|
10
|
-
Requires-Python: >=3.8
|
|
11
|
-
Description-Content-Type: text/markdown
|
|
12
|
-
Requires-Dist: brotli
|
|
13
|
-
Requires-Dist: click
|
|
14
|
-
Requires-Dist: tqdm
|
|
15
|
-
Provides-Extra: all
|
|
16
|
-
Requires-Dist: fastwarc[fsspec]; extra == "all"
|
|
17
|
-
Provides-Extra: fsspec
|
|
18
|
-
Requires-Dist: fsspec; extra == "fsspec"
|
|
19
|
-
Provides-Extra: test
|
|
20
|
-
Requires-Dist: fastwarc[all]; extra == "test"
|
|
21
|
-
Requires-Dist: pytest>=7.2.2; extra == "test"
|
|
22
|
-
Requires-Dist: pytest-cov>=4.0.0; extra == "test"
|
|
23
|
-
Requires-Dist: lz4; extra == "test"
|
|
24
|
-
|
|
25
|
-
# FastWARC (Python)
|
|
26
|
-
|
|
27
|
-
FastWARC is a high-performance WARC parsing library for Python written in Rust with Python bindings. FastWARC supports
|
|
28
|
-
compressed and uncompressed WARC/1.0 and WARC/1.1 streams. Supported compression algorithms are Gzip and LZ4.
|
|
29
|
-
|
|
30
|
-
This crate contains the Python bindings for FastWARC.
|
|
31
|
-
|
|
32
|
-
FastWARC belongs to the [ChatNoir Resiliparse toolkit](https://github.com/chatnoir-eu/chatnoir-resiliparse/) for fast
|
|
33
|
-
and robust web data processing.
|
|
34
|
-
|
|
35
|
-
## Installing FastWARC
|
|
36
|
-
|
|
37
|
-
Pre-built FastWARC binaries for most Linux platforms can be installed from PyPi:
|
|
38
|
-
|
|
39
|
-
```bash
|
|
40
|
-
pip install fastwarc
|
|
41
|
-
```
|
|
42
|
-
|
|
43
|
-
**However:** the Linux binaries are provided *solely for your convenience*. Since they are built on the very old
|
|
44
|
-
`manylinux` base system for better compatibility, their performance isn't optimal (though still better than WARCIO). For
|
|
45
|
-
best performance, see the next section on how to build FastWARC yourself.
|
|
46
|
-
|
|
47
|
-
## Building FastWARC From Source
|
|
48
|
-
|
|
49
|
-
You can compile FastWARC either from the PyPi source package or directly from this repository, though in any case, you
|
|
50
|
-
need to install all required build-time dependencies first. On Ubuntu, this is done as follows:
|
|
51
|
-
|
|
52
|
-
```bash
|
|
53
|
-
sudo apt install build-essential python3-dev zlib1g-dev liblz4-dev
|
|
54
|
-
```
|
|
55
|
-
|
|
56
|
-
To build and install FastWARC from PyPi, run
|
|
57
|
-
|
|
58
|
-
```bash
|
|
59
|
-
pip install --no-binary fastwarc fastwarc
|
|
60
|
-
```
|
|
61
|
-
|
|
62
|
-
That's it. If you prefer to build and install directly from this repository instead, run:
|
|
63
|
-
|
|
64
|
-
```bash
|
|
65
|
-
pip install -e fastwarc
|
|
66
|
-
```
|
|
67
|
-
|
|
68
|
-
To build the wheels without installing them, run:
|
|
69
|
-
|
|
70
|
-
```bash
|
|
71
|
-
pip wheel -e fastwarc
|
|
72
|
-
|
|
73
|
-
# Or:
|
|
74
|
-
pip install build && python -m build --wheel fastwarc
|
|
75
|
-
```
|
|
76
|
-
|
|
77
|
-
## Usage Instructions
|
|
78
|
-
|
|
79
|
-
For detailed usage instructions, please consult
|
|
80
|
-
the [FastWARC User Manual](https://resiliparse.chatnoir.eu/en/latest/man/fastwarc.html).
|
|
81
|
-
|
|
82
|
-
## Cite Us
|
|
83
|
-
|
|
84
|
-
If you use FastWARC, please consider citing our [OSSYM 2021 abstract paper](https://arxiv.org/abs/2112.03103):
|
|
85
|
-
|
|
86
|
-
```bibtex
|
|
87
|
-
@InProceedings{bevendorff:2021,
|
|
88
|
-
author = {Janek Bevendorff and Martin Potthast and Benno Stein},
|
|
89
|
-
booktitle = {3rd International Symposium on Open Search Technology (OSSYM 2021)},
|
|
90
|
-
editor = {Andreas Wagner and Christian Guetl and Michael Granitzer and Stefan Voigt},
|
|
91
|
-
month = oct,
|
|
92
|
-
publisher = {International Open Search Symposium},
|
|
93
|
-
site = {CERN, Geneva, Switzerland},
|
|
94
|
-
title = {{FastWARC: Optimizing Large-Scale Web Archive Analytics}},
|
|
95
|
-
year = 2021
|
|
96
|
-
}
|
|
97
|
-
```
|
fastwarc-1.0.1/PKG-INFO
DELETED
|
@@ -1,97 +0,0 @@
|
|
|
1
|
-
Metadata-Version: 2.4
|
|
2
|
-
Name: FastWARC
|
|
3
|
-
Version: 1.0.1
|
|
4
|
-
Summary: A high-performance WARC parsing library for Python written in C++/Cython.
|
|
5
|
-
Author: Janek Bevendorff
|
|
6
|
-
License-Expression: Apache-2.0
|
|
7
|
-
Project-URL: repository, https://github.com/chatnoir-eu/chatnoir-resiliparse
|
|
8
|
-
Project-URL: homepage, https://resiliparse.chatnoir.eu
|
|
9
|
-
Project-URL: documentation, https://resiliparse.chatnoir.eu
|
|
10
|
-
Requires-Python: >=3.8
|
|
11
|
-
Description-Content-Type: text/markdown
|
|
12
|
-
Requires-Dist: brotli
|
|
13
|
-
Requires-Dist: click
|
|
14
|
-
Requires-Dist: tqdm
|
|
15
|
-
Provides-Extra: all
|
|
16
|
-
Requires-Dist: fastwarc[fsspec]; extra == "all"
|
|
17
|
-
Provides-Extra: fsspec
|
|
18
|
-
Requires-Dist: fsspec; extra == "fsspec"
|
|
19
|
-
Provides-Extra: test
|
|
20
|
-
Requires-Dist: fastwarc[all]; extra == "test"
|
|
21
|
-
Requires-Dist: pytest>=7.2.2; extra == "test"
|
|
22
|
-
Requires-Dist: pytest-cov>=4.0.0; extra == "test"
|
|
23
|
-
Requires-Dist: lz4; extra == "test"
|
|
24
|
-
|
|
25
|
-
# FastWARC (Python)
|
|
26
|
-
|
|
27
|
-
FastWARC is a high-performance WARC parsing library for Python written in Rust with Python bindings. FastWARC supports
|
|
28
|
-
compressed and uncompressed WARC/1.0 and WARC/1.1 streams. Supported compression algorithms are Gzip and LZ4.
|
|
29
|
-
|
|
30
|
-
This crate contains the Python bindings for FastWARC.
|
|
31
|
-
|
|
32
|
-
FastWARC belongs to the [ChatNoir Resiliparse toolkit](https://github.com/chatnoir-eu/chatnoir-resiliparse/) for fast
|
|
33
|
-
and robust web data processing.
|
|
34
|
-
|
|
35
|
-
## Installing FastWARC
|
|
36
|
-
|
|
37
|
-
Pre-built FastWARC binaries for most Linux platforms can be installed from PyPi:
|
|
38
|
-
|
|
39
|
-
```bash
|
|
40
|
-
pip install fastwarc
|
|
41
|
-
```
|
|
42
|
-
|
|
43
|
-
**However:** the Linux binaries are provided *solely for your convenience*. Since they are built on the very old
|
|
44
|
-
`manylinux` base system for better compatibility, their performance isn't optimal (though still better than WARCIO). For
|
|
45
|
-
best performance, see the next section on how to build FastWARC yourself.
|
|
46
|
-
|
|
47
|
-
## Building FastWARC From Source
|
|
48
|
-
|
|
49
|
-
You can compile FastWARC either from the PyPi source package or directly from this repository, though in any case, you
|
|
50
|
-
need to install all required build-time dependencies first. On Ubuntu, this is done as follows:
|
|
51
|
-
|
|
52
|
-
```bash
|
|
53
|
-
sudo apt install build-essential python3-dev zlib1g-dev liblz4-dev
|
|
54
|
-
```
|
|
55
|
-
|
|
56
|
-
To build and install FastWARC from PyPi, run
|
|
57
|
-
|
|
58
|
-
```bash
|
|
59
|
-
pip install --no-binary fastwarc fastwarc
|
|
60
|
-
```
|
|
61
|
-
|
|
62
|
-
That's it. If you prefer to build and install directly from this repository instead, run:
|
|
63
|
-
|
|
64
|
-
```bash
|
|
65
|
-
pip install -e fastwarc
|
|
66
|
-
```
|
|
67
|
-
|
|
68
|
-
To build the wheels without installing them, run:
|
|
69
|
-
|
|
70
|
-
```bash
|
|
71
|
-
pip wheel -e fastwarc
|
|
72
|
-
|
|
73
|
-
# Or:
|
|
74
|
-
pip install build && python -m build --wheel fastwarc
|
|
75
|
-
```
|
|
76
|
-
|
|
77
|
-
## Usage Instructions
|
|
78
|
-
|
|
79
|
-
For detailed usage instructions, please consult
|
|
80
|
-
the [FastWARC User Manual](https://resiliparse.chatnoir.eu/en/latest/man/fastwarc.html).
|
|
81
|
-
|
|
82
|
-
## Cite Us
|
|
83
|
-
|
|
84
|
-
If you use FastWARC, please consider citing our [OSSYM 2021 abstract paper](https://arxiv.org/abs/2112.03103):
|
|
85
|
-
|
|
86
|
-
```bibtex
|
|
87
|
-
@InProceedings{bevendorff:2021,
|
|
88
|
-
author = {Janek Bevendorff and Martin Potthast and Benno Stein},
|
|
89
|
-
booktitle = {3rd International Symposium on Open Search Technology (OSSYM 2021)},
|
|
90
|
-
editor = {Andreas Wagner and Christian Guetl and Michael Granitzer and Stefan Voigt},
|
|
91
|
-
month = oct,
|
|
92
|
-
publisher = {International Open Search Symposium},
|
|
93
|
-
site = {CERN, Geneva, Switzerland},
|
|
94
|
-
title = {{FastWARC: Optimizing Large-Scale Web Archive Analytics}},
|
|
95
|
-
year = 2021
|
|
96
|
-
}
|
|
97
|
-
```
|
fastwarc-1.0.1/README.md
DELETED
|
@@ -1,73 +0,0 @@
|
|
|
1
|
-
# FastWARC (Python)
|
|
2
|
-
|
|
3
|
-
FastWARC is a high-performance WARC parsing library for Python written in Rust with Python bindings. FastWARC supports
|
|
4
|
-
compressed and uncompressed WARC/1.0 and WARC/1.1 streams. Supported compression algorithms are Gzip and LZ4.
|
|
5
|
-
|
|
6
|
-
This crate contains the Python bindings for FastWARC.
|
|
7
|
-
|
|
8
|
-
FastWARC belongs to the [ChatNoir Resiliparse toolkit](https://github.com/chatnoir-eu/chatnoir-resiliparse/) for fast
|
|
9
|
-
and robust web data processing.
|
|
10
|
-
|
|
11
|
-
## Installing FastWARC
|
|
12
|
-
|
|
13
|
-
Pre-built FastWARC binaries for most Linux platforms can be installed from PyPi:
|
|
14
|
-
|
|
15
|
-
```bash
|
|
16
|
-
pip install fastwarc
|
|
17
|
-
```
|
|
18
|
-
|
|
19
|
-
**However:** the Linux binaries are provided *solely for your convenience*. Since they are built on the very old
|
|
20
|
-
`manylinux` base system for better compatibility, their performance isn't optimal (though still better than WARCIO). For
|
|
21
|
-
best performance, see the next section on how to build FastWARC yourself.
|
|
22
|
-
|
|
23
|
-
## Building FastWARC From Source
|
|
24
|
-
|
|
25
|
-
You can compile FastWARC either from the PyPi source package or directly from this repository, though in any case, you
|
|
26
|
-
need to install all required build-time dependencies first. On Ubuntu, this is done as follows:
|
|
27
|
-
|
|
28
|
-
```bash
|
|
29
|
-
sudo apt install build-essential python3-dev zlib1g-dev liblz4-dev
|
|
30
|
-
```
|
|
31
|
-
|
|
32
|
-
To build and install FastWARC from PyPi, run
|
|
33
|
-
|
|
34
|
-
```bash
|
|
35
|
-
pip install --no-binary fastwarc fastwarc
|
|
36
|
-
```
|
|
37
|
-
|
|
38
|
-
That's it. If you prefer to build and install directly from this repository instead, run:
|
|
39
|
-
|
|
40
|
-
```bash
|
|
41
|
-
pip install -e fastwarc
|
|
42
|
-
```
|
|
43
|
-
|
|
44
|
-
To build the wheels without installing them, run:
|
|
45
|
-
|
|
46
|
-
```bash
|
|
47
|
-
pip wheel -e fastwarc
|
|
48
|
-
|
|
49
|
-
# Or:
|
|
50
|
-
pip install build && python -m build --wheel fastwarc
|
|
51
|
-
```
|
|
52
|
-
|
|
53
|
-
## Usage Instructions
|
|
54
|
-
|
|
55
|
-
For detailed usage instructions, please consult
|
|
56
|
-
the [FastWARC User Manual](https://resiliparse.chatnoir.eu/en/latest/man/fastwarc.html).
|
|
57
|
-
|
|
58
|
-
## Cite Us
|
|
59
|
-
|
|
60
|
-
If you use FastWARC, please consider citing our [OSSYM 2021 abstract paper](https://arxiv.org/abs/2112.03103):
|
|
61
|
-
|
|
62
|
-
```bibtex
|
|
63
|
-
@InProceedings{bevendorff:2021,
|
|
64
|
-
author = {Janek Bevendorff and Martin Potthast and Benno Stein},
|
|
65
|
-
booktitle = {3rd International Symposium on Open Search Technology (OSSYM 2021)},
|
|
66
|
-
editor = {Andreas Wagner and Christian Guetl and Michael Granitzer and Stefan Voigt},
|
|
67
|
-
month = oct,
|
|
68
|
-
publisher = {International Open Search Symposium},
|
|
69
|
-
site = {CERN, Geneva, Switzerland},
|
|
70
|
-
title = {{FastWARC: Optimizing Large-Scale Web Archive Analytics}},
|
|
71
|
-
year = 2021
|
|
72
|
-
}
|
|
73
|
-
```
|
|
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
|
|
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
|