pybgpkitstream 0.1.0__tar.gz → 0.1.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.
- {pybgpkitstream-0.1.0 → pybgpkitstream-0.1.1}/PKG-INFO +19 -5
- {pybgpkitstream-0.1.0 → pybgpkitstream-0.1.1}/README.md +18 -4
- {pybgpkitstream-0.1.0 → pybgpkitstream-0.1.1}/pyproject.toml +1 -1
- {pybgpkitstream-0.1.0 → pybgpkitstream-0.1.1}/src/pybgpkitstream/bgpstreamconfig.py +3 -0
- {pybgpkitstream-0.1.0 → pybgpkitstream-0.1.1}/src/pybgpkitstream/__init__.py +0 -0
- {pybgpkitstream-0.1.0 → pybgpkitstream-0.1.1}/src/pybgpkitstream/bgpelement.py +0 -0
- {pybgpkitstream-0.1.0 → pybgpkitstream-0.1.1}/src/pybgpkitstream/bgpkitstream.py +0 -0
- {pybgpkitstream-0.1.0 → pybgpkitstream-0.1.1}/src/pybgpkitstream/cli.py +0 -0
- {pybgpkitstream-0.1.0 → pybgpkitstream-0.1.1}/src/pybgpkitstream/py.typed +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.3
|
|
2
2
|
Name: pybgpkitstream
|
|
3
|
-
Version: 0.1.
|
|
3
|
+
Version: 0.1.1
|
|
4
4
|
Summary: Drop-in replacement for PyBGPStream using BGPKIT
|
|
5
5
|
Author: JustinLoye
|
|
6
6
|
Author-email: JustinLoye <jloye@iij.ad.jp>
|
|
@@ -16,17 +16,25 @@ A drop-in replacement for PyBGPStream using BGPKIT
|
|
|
16
16
|
|
|
17
17
|
## Features
|
|
18
18
|
|
|
19
|
-
-
|
|
20
|
-
-
|
|
19
|
+
- Effortless BGP Stream Switching:
|
|
20
|
+
- Seamless, drop-in replacement ([example](tests/test_stream.py#L38))
|
|
21
21
|
- Lazy message generation: generates time-ordered BGP messages on the fly, consuming minimal memory and making it suitable for large datasets
|
|
22
22
|
- Supports multiple route collectors
|
|
23
23
|
- Supports both ribs and updates
|
|
24
|
-
- Caching with concurrent downloading is enabled
|
|
25
|
-
- [
|
|
24
|
+
- Caching with concurrent downloading is enabled and is fully compatible with the BGPKIT parser's caching functionality.
|
|
25
|
+
- [Similar performance to PyBGPStream](examples/perf.ipynb)
|
|
26
26
|
- A CLI tool
|
|
27
27
|
|
|
28
28
|
## Quick start
|
|
29
29
|
|
|
30
|
+
Installation:
|
|
31
|
+
|
|
32
|
+
```sh
|
|
33
|
+
pip install pybgpkitstream
|
|
34
|
+
```
|
|
35
|
+
|
|
36
|
+
Usage:
|
|
37
|
+
|
|
30
38
|
```python
|
|
31
39
|
import datetime
|
|
32
40
|
from pybgpkitstream import BGPStreamConfig, BGPKITStream
|
|
@@ -47,6 +55,12 @@ for _ in stream:
|
|
|
47
55
|
print(f"Processed {n_elems} BGP elements")
|
|
48
56
|
```
|
|
49
57
|
|
|
58
|
+
or in the terminal:
|
|
59
|
+
|
|
60
|
+
```sh
|
|
61
|
+
pybgpkitstream --start-time 2010-09-01T00:00:00 --end-time 2010-09-01T01:59:00 --collectors route-views.sydney route-views.wide --data-types updates > updates.txt
|
|
62
|
+
```
|
|
63
|
+
|
|
50
64
|
## Motivation
|
|
51
65
|
|
|
52
66
|
PyBGPStream is great but the implementation is complex and stops working when UC San Diego experiences a power outage.
|
|
@@ -4,17 +4,25 @@ A drop-in replacement for PyBGPStream using BGPKIT
|
|
|
4
4
|
|
|
5
5
|
## Features
|
|
6
6
|
|
|
7
|
-
-
|
|
8
|
-
-
|
|
7
|
+
- Effortless BGP Stream Switching:
|
|
8
|
+
- Seamless, drop-in replacement ([example](tests/test_stream.py#L38))
|
|
9
9
|
- Lazy message generation: generates time-ordered BGP messages on the fly, consuming minimal memory and making it suitable for large datasets
|
|
10
10
|
- Supports multiple route collectors
|
|
11
11
|
- Supports both ribs and updates
|
|
12
|
-
- Caching with concurrent downloading is enabled
|
|
13
|
-
- [
|
|
12
|
+
- Caching with concurrent downloading is enabled and is fully compatible with the BGPKIT parser's caching functionality.
|
|
13
|
+
- [Similar performance to PyBGPStream](examples/perf.ipynb)
|
|
14
14
|
- A CLI tool
|
|
15
15
|
|
|
16
16
|
## Quick start
|
|
17
17
|
|
|
18
|
+
Installation:
|
|
19
|
+
|
|
20
|
+
```sh
|
|
21
|
+
pip install pybgpkitstream
|
|
22
|
+
```
|
|
23
|
+
|
|
24
|
+
Usage:
|
|
25
|
+
|
|
18
26
|
```python
|
|
19
27
|
import datetime
|
|
20
28
|
from pybgpkitstream import BGPStreamConfig, BGPKITStream
|
|
@@ -35,6 +43,12 @@ for _ in stream:
|
|
|
35
43
|
print(f"Processed {n_elems} BGP elements")
|
|
36
44
|
```
|
|
37
45
|
|
|
46
|
+
or in the terminal:
|
|
47
|
+
|
|
48
|
+
```sh
|
|
49
|
+
pybgpkitstream --start-time 2010-09-01T00:00:00 --end-time 2010-09-01T01:59:00 --collectors route-views.sydney route-views.wide --data-types updates > updates.txt
|
|
50
|
+
```
|
|
51
|
+
|
|
38
52
|
## Motivation
|
|
39
53
|
|
|
40
54
|
PyBGPStream is great but the implementation is complex and stops working when UC San Diego experiences a power outage.
|
|
@@ -40,6 +40,9 @@ class FilterOptions(BaseModel):
|
|
|
40
40
|
as_path: str | None = Field(
|
|
41
41
|
default=None, description="Filter by a regular expression matching the AS path."
|
|
42
42
|
)
|
|
43
|
+
ip_version: Literal["ipv4", "ipv6"] | None = Field(
|
|
44
|
+
default=None, description="Filter by ip version."
|
|
45
|
+
)
|
|
43
46
|
|
|
44
47
|
|
|
45
48
|
class BGPStreamConfig(BaseModel):
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|