bgpstream-website-collector


Namebgpstream-website-collector JSON
Version 1.1.2 PyPI version JSON
download
home_page
SummaryDownloads BGPStream info solely for research purposes
upload_time2023-12-06 23:18:40
maintainer
docs_urlNone
authorTony Zheng
requires_python>=3.10
licenseCopyright 2020, 2021 Justin Furuness Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: 1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. 2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. 3. Neither the name of the copyright holder nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
keywords furuness bgp hijack outage leak bgpstream peers customers providers bgpstream.com
VCS
bugtrack_url
requirements beautifulsoup4 tqdm requests-cache requests
Travis-CI No Travis.
coveralls test coverage No coveralls.
            [![Python 3.10](https://img.shields.io/badge/python-3.10-blue.svg)](https://www.python.org/downloads/release/python-3100/)
[![Python 3.11](https://img.shields.io/badge/python-3.11-blue.svg)](https://www.python.org/downloads/release/python-3110/)
![Tests](https://github.com/jfuruness/bgpstream_website_collector/actions/workflows/tests.yml/badge.svg)

# bgpstream\_website\_collector

* [Description](#package-description)
* [Usage](#usage)
* [Installation](#installation)
* [Testing](#testing)
* [Credits](#credits)
* [History](#history)
* [Development/Contributing](#developmentcontributing)
* [Licence](#license)


## Package Description

This package downloads information from bgpstream.com and stores it in a CSV

As a caveat, I wrote this a very long time ago when I was still an undergrad.
I've cleaned it up a bit, but this has a long way to go before it's good code quality
PRs welcome.
Also, almost everything is type ignored because mypy spazzes out with bs4
Also, the tests could really use a good update

## Usage
* [bgpstream\_website\_collector](#bgpstream\_website\_collector)

from a script:

```python
from pathlib import Path
from typing import Any

from bgpstream_website_collector import BGPStreamWebsiteCollector


def main():
    # Leave csv_path as None to not write CSV
    csv_path: Path = Path.home() / "Desktop" / "bgpstream_website.csv"
    rows: list[dict[str, Any]] = BGPStreamWebsiteCollector(csv_path=csv_path).run()


if __name__ == "__main__":
    main()
```

From the command line:

```
bgpstream_website_collector
```

## Installation
* [bgpstream\_website\_collector](#bgpstream\_website\_collector)

Install python and pip if you have not already.

Then run:

```bash
pip3 install pip --upgrade
pip3 install wheel
```

For production:

```bash
pip3 install bgpstream_website_collector
```

This will install the package and all of it's python dependencies.

If you want to install the project for development:
```bash
git clone https://github.com/jfuruness/bgpstream_website_collector.git
cd bgpstream_website_collector
pip3 install -e .[test]
pre-commit install
```

To test the development package: [Testing](#testing)


## Testing
* [bgpstream\_website\_collector](#bgpstream\_website\_collector)

To test the package after installation:

```
cd bgpstream_website_collector
pytest bgpstream_website_collector
ruff bgpstream_website_collector
black bgpstream_website_collector
mypy bgpstream_website_collector
```

If you want to run it across multiple environments, and have python 3.10 and 3.11 installed:

```
cd bgpstream_website_collector
tox
```

## Credits
* [bgpstream\_website\_collector](#bgpstream\_website\_collector)

Huge contributions to original version in lib_bgp_data to the testing from Tony Zheng

## History
* [bgpstream\_website\_collector](#bgpstream\_website\_collector)

1.1.2 Fixed event date bug
1.1.1 Fixed start_time -> start_date type
1.1.0 Added option to pass None to csv_path
1.0.0 First major release

## Development/Contributing
* [bgpstream\_website\_collector](#bgpstream\_website\_collector)

1. Fork it!
2. Create your feature branch: `git checkout -b my-new-feature`
3. Test it
5. Run tox
6. Commit your changes: `git commit -am 'Add some feature'`
7. Push to the branch: `git push origin my-new-feature`
8. Ensure github actions are passing tests
9. Email me at jfuruness@gmail.com if it's been a while and I haven't seen it

## License
* [bgpstream\_website\_collector](#bgpstream\_website\_collector)

BSD License (see license file)

            

Raw data

            {
    "_id": null,
    "home_page": "",
    "name": "bgpstream-website-collector",
    "maintainer": "",
    "docs_url": null,
    "requires_python": ">=3.10",
    "maintainer_email": "",
    "keywords": "Furuness,BGP,Hijack,Outage,Leak,BGPStream,Peers,Customers,Providers,BGPStream.com",
    "author": "Tony Zheng",
    "author_email": "Justin Furuness <jfuruness@gmail.com>",
    "download_url": "https://files.pythonhosted.org/packages/e6/8a/5b9e24fe0d8481df3c4c58bf2409a5995978f22dab91b2ce6920b470e28c/bgpstream_website_collector-1.1.2.tar.gz",
    "platform": null,
    "description": "[![Python 3.10](https://img.shields.io/badge/python-3.10-blue.svg)](https://www.python.org/downloads/release/python-3100/)\n[![Python 3.11](https://img.shields.io/badge/python-3.11-blue.svg)](https://www.python.org/downloads/release/python-3110/)\n![Tests](https://github.com/jfuruness/bgpstream_website_collector/actions/workflows/tests.yml/badge.svg)\n\n# bgpstream\\_website\\_collector\n\n* [Description](#package-description)\n* [Usage](#usage)\n* [Installation](#installation)\n* [Testing](#testing)\n* [Credits](#credits)\n* [History](#history)\n* [Development/Contributing](#developmentcontributing)\n* [Licence](#license)\n\n\n## Package Description\n\nThis package downloads information from bgpstream.com and stores it in a CSV\n\nAs a caveat, I wrote this a very long time ago when I was still an undergrad.\nI've cleaned it up a bit, but this has a long way to go before it's good code quality\nPRs welcome.\nAlso, almost everything is type ignored because mypy spazzes out with bs4\nAlso, the tests could really use a good update\n\n## Usage\n* [bgpstream\\_website\\_collector](#bgpstream\\_website\\_collector)\n\nfrom a script:\n\n```python\nfrom pathlib import Path\nfrom typing import Any\n\nfrom bgpstream_website_collector import BGPStreamWebsiteCollector\n\n\ndef main():\n    # Leave csv_path as None to not write CSV\n    csv_path: Path = Path.home() / \"Desktop\" / \"bgpstream_website.csv\"\n    rows: list[dict[str, Any]] = BGPStreamWebsiteCollector(csv_path=csv_path).run()\n\n\nif __name__ == \"__main__\":\n    main()\n```\n\nFrom the command line:\n\n```\nbgpstream_website_collector\n```\n\n## Installation\n* [bgpstream\\_website\\_collector](#bgpstream\\_website\\_collector)\n\nInstall python and pip if you have not already.\n\nThen run:\n\n```bash\npip3 install pip --upgrade\npip3 install wheel\n```\n\nFor production:\n\n```bash\npip3 install bgpstream_website_collector\n```\n\nThis will install the package and all of it's python dependencies.\n\nIf you want to install the project for development:\n```bash\ngit clone https://github.com/jfuruness/bgpstream_website_collector.git\ncd bgpstream_website_collector\npip3 install -e .[test]\npre-commit install\n```\n\nTo test the development package: [Testing](#testing)\n\n\n## Testing\n* [bgpstream\\_website\\_collector](#bgpstream\\_website\\_collector)\n\nTo test the package after installation:\n\n```\ncd bgpstream_website_collector\npytest bgpstream_website_collector\nruff bgpstream_website_collector\nblack bgpstream_website_collector\nmypy bgpstream_website_collector\n```\n\nIf you want to run it across multiple environments, and have python 3.10 and 3.11 installed:\n\n```\ncd bgpstream_website_collector\ntox\n```\n\n## Credits\n* [bgpstream\\_website\\_collector](#bgpstream\\_website\\_collector)\n\nHuge contributions to original version in lib_bgp_data to the testing from Tony Zheng\n\n## History\n* [bgpstream\\_website\\_collector](#bgpstream\\_website\\_collector)\n\n1.1.2 Fixed event date bug\n1.1.1 Fixed start_time -> start_date type\n1.1.0 Added option to pass None to csv_path\n1.0.0 First major release\n\n## Development/Contributing\n* [bgpstream\\_website\\_collector](#bgpstream\\_website\\_collector)\n\n1. Fork it!\n2. Create your feature branch: `git checkout -b my-new-feature`\n3. Test it\n5. Run tox\n6. Commit your changes: `git commit -am 'Add some feature'`\n7. Push to the branch: `git push origin my-new-feature`\n8. Ensure github actions are passing tests\n9. Email me at jfuruness@gmail.com if it's been a while and I haven't seen it\n\n## License\n* [bgpstream\\_website\\_collector](#bgpstream\\_website\\_collector)\n\nBSD License (see license file)\n",
    "bugtrack_url": null,
    "license": "Copyright 2020, 2021 Justin Furuness  Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:  1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.  2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.  3. Neither the name of the copyright holder nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission.  THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS \"AS IS\" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ",
    "summary": "Downloads BGPStream info solely for research purposes",
    "version": "1.1.2",
    "project_urls": {
        "homepage": "https://github.com/jfuruness/bgpstream_website_collector.git"
    },
    "split_keywords": [
        "furuness",
        "bgp",
        "hijack",
        "outage",
        "leak",
        "bgpstream",
        "peers",
        "customers",
        "providers",
        "bgpstream.com"
    ],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "2401bfdaf102f8a0a79b62a4252a117c4716ed4c38baa7cae19cc9d9d5dfc14b",
                "md5": "0d0a9803fbc004ec0171a6c51765dc8b",
                "sha256": "84b231e2749d89d20f79256b20729b7d60d81a4d02c1a5946285338cc7fedc83"
            },
            "downloads": -1,
            "filename": "bgpstream_website_collector-1.1.2-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "0d0a9803fbc004ec0171a6c51765dc8b",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.10",
            "size": 14993,
            "upload_time": "2023-12-06T23:18:39",
            "upload_time_iso_8601": "2023-12-06T23:18:39.344205Z",
            "url": "https://files.pythonhosted.org/packages/24/01/bfdaf102f8a0a79b62a4252a117c4716ed4c38baa7cae19cc9d9d5dfc14b/bgpstream_website_collector-1.1.2-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "e68a5b9e24fe0d8481df3c4c58bf2409a5995978f22dab91b2ce6920b470e28c",
                "md5": "08957cfdf25424e0109a5d80e59d2d12",
                "sha256": "0eb360d5a03f9e2f3b90127e800511be3115d47e74531e45080cc45beb71a8c3"
            },
            "downloads": -1,
            "filename": "bgpstream_website_collector-1.1.2.tar.gz",
            "has_sig": false,
            "md5_digest": "08957cfdf25424e0109a5d80e59d2d12",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.10",
            "size": 13335,
            "upload_time": "2023-12-06T23:18:40",
            "upload_time_iso_8601": "2023-12-06T23:18:40.635400Z",
            "url": "https://files.pythonhosted.org/packages/e6/8a/5b9e24fe0d8481df3c4c58bf2409a5995978f22dab91b2ce6920b470e28c/bgpstream_website_collector-1.1.2.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2023-12-06 23:18:40",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "jfuruness",
    "github_project": "bgpstream_website_collector",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": true,
    "requirements": [
        {
            "name": "beautifulsoup4",
            "specs": [
                [
                    "==",
                    "4.12.2"
                ]
            ]
        },
        {
            "name": "tqdm",
            "specs": [
                [
                    "==",
                    "4.66.1"
                ]
            ]
        },
        {
            "name": "requests-cache",
            "specs": [
                [
                    "==",
                    "1.1.1"
                ]
            ]
        },
        {
            "name": "requests",
            "specs": [
                [
                    "==",
                    "2.31.0"
                ]
            ]
        }
    ],
    "tox": true,
    "lcname": "bgpstream-website-collector"
}
        
Elapsed time: 3.99771s