roa-collector


Nameroa-collector JSON
Version 1.3.2 PyPI version JSON
download
home_page
SummaryDownloads ROA info solely for research purposes
upload_time2024-03-18 00:06:06
maintainer
docs_urlNone
author
requires_python>=3.10
licenseCopyright 2020 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 roa rov
VCS
bugtrack_url
requirements requests-cache
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/)
[![Python 3.12](https://img.shields.io/badge/python-3.12-blue.svg)](https://www.python.org/downloads/release/python-3120/)
![Tests](https://github.com/jfuruness/bgpy/actions/workflows/tests.yml/badge.svg)
[![Ruff](https://img.shields.io/endpoint?url=https://raw.githubusercontent.com/charliermarsh/ruff/main/assets/badge/v2.json)](https://github.com/astral-sh/ruff)
[![Code style: black](https://img.shields.io/badge/code%20style-black-000000.svg)](https://github.com/psf/black)
[![Checked with mypy](https://img.shields.io/badge/mypy-checked-2A6DBA.svg)](http://mypy-lang.org/)
# roa\_collector

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

## Package Description

Downloads ROAs from https://rpki-validator.ripe.net/api/export.json,
inserts them in a CSV,
and returns them as a list of ROA dataclasses (containing asn, prefix, max_length, and ta properties, where ta is RIPE, afrinic, etc)

## Usage
* [roa\_collector](#roa\_collector)

from a script:

```python
from pathlib import Path

from roa_collector import ROACollector

csv_path = Path("/tmp/my_csv_path.csv")  # or set to None to avoid writing
roas = ROACollector(csv_path).run()
```

## Installation
* [roa\_collector](#roa\_collector)

Install python and pip if you have not already.

Then run:

```bash
# Needed for graphviz and Pillow
pip3 install pip --upgrade
pip3 install wheel
```

For production:

```bash
pip3 install roa_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/roa_collector.git
cd roa_collector
pip3 install -e .[test]
pre-commit install
```

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


## Testing
* [roa\_collector](#roa\_collector)

To test the package after installation:

```
cd roa_collector
pytest roa_collector
ruff roa_collector
black roa_collector
mypy roa_collector
```

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

```
cd roa_collector
tox
```


## Development/Contributing
* [roa\_collector](#roa\_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
* [roa\_collector](#roa\_collector)

BSD License (see license file)

            

Raw data

            {
    "_id": null,
    "home_page": "",
    "name": "roa-collector",
    "maintainer": "",
    "docs_url": null,
    "requires_python": ">=3.10",
    "maintainer_email": "",
    "keywords": "Furuness,BGP,Hijack,ROA,ROV",
    "author": "",
    "author_email": "Justin Furuness <jfuruness@gmail.com>, Arvind Kasiliya <arvind.kasiliya@uconn.edu>",
    "download_url": "https://files.pythonhosted.org/packages/26/76/34a4c5e76468c6892b86330131250ca83c71d8f3ff24a9cd0b71ddc1bab2/roa_collector-1.3.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[![Python 3.12](https://img.shields.io/badge/python-3.12-blue.svg)](https://www.python.org/downloads/release/python-3120/)\n![Tests](https://github.com/jfuruness/bgpy/actions/workflows/tests.yml/badge.svg)\n[![Ruff](https://img.shields.io/endpoint?url=https://raw.githubusercontent.com/charliermarsh/ruff/main/assets/badge/v2.json)](https://github.com/astral-sh/ruff)\n[![Code style: black](https://img.shields.io/badge/code%20style-black-000000.svg)](https://github.com/psf/black)\n[![Checked with mypy](https://img.shields.io/badge/mypy-checked-2A6DBA.svg)](http://mypy-lang.org/)\n# roa\\_collector\n\n* [Description](#package-description)\n* [Usage](#usage)\n* [Installation](#installation)\n* [Testing](#testing)\n* [Development/Contributing](#developmentcontributing)\n* [Licence](#license)\n\n## Package Description\n\nDownloads ROAs from https://rpki-validator.ripe.net/api/export.json,\ninserts them in a CSV,\nand returns them as a list of ROA dataclasses (containing asn, prefix, max_length, and ta properties, where ta is RIPE, afrinic, etc)\n\n## Usage\n* [roa\\_collector](#roa\\_collector)\n\nfrom a script:\n\n```python\nfrom pathlib import Path\n\nfrom roa_collector import ROACollector\n\ncsv_path = Path(\"/tmp/my_csv_path.csv\")  # or set to None to avoid writing\nroas = ROACollector(csv_path).run()\n```\n\n## Installation\n* [roa\\_collector](#roa\\_collector)\n\nInstall python and pip if you have not already.\n\nThen run:\n\n```bash\n# Needed for graphviz and Pillow\npip3 install pip --upgrade\npip3 install wheel\n```\n\nFor production:\n\n```bash\npip3 install roa_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/roa_collector.git\ncd roa_collector\npip3 install -e .[test]\npre-commit install\n```\n\nTo test the development package: [Testing](#testing)\n\n\n## Testing\n* [roa\\_collector](#roa\\_collector)\n\nTo test the package after installation:\n\n```\ncd roa_collector\npytest roa_collector\nruff roa_collector\nblack roa_collector\nmypy roa_collector\n```\n\nIf you want to run it across multiple environments, and have python 3.10 and 3.11 installed:\n\n```\ncd roa_collector\ntox\n```\n\n\n## Development/Contributing\n* [roa\\_collector](#roa\\_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* [roa\\_collector](#roa\\_collector)\n\nBSD License (see license file)\n",
    "bugtrack_url": null,
    "license": "Copyright 2020 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 ROA info solely for research purposes",
    "version": "1.3.2",
    "project_urls": {
        "homepage": "https://github.com/jfuruness/roa_collector.git"
    },
    "split_keywords": [
        "furuness",
        "bgp",
        "hijack",
        "roa",
        "rov"
    ],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "8b13f29f4a2782a525d89b0675fa257a446b09a47f18d7f7bb3708b1c7b12a92",
                "md5": "6074d4dc8bccd6171d368cd2a51c4e40",
                "sha256": "e0a637e3ff13cfde75add0f11a6ef820e94aaa0f231075ae105d6bf3c3025ac0"
            },
            "downloads": -1,
            "filename": "roa_collector-1.3.2-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "6074d4dc8bccd6171d368cd2a51c4e40",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.10",
            "size": 7460,
            "upload_time": "2024-03-18T00:06:04",
            "upload_time_iso_8601": "2024-03-18T00:06:04.980485Z",
            "url": "https://files.pythonhosted.org/packages/8b/13/f29f4a2782a525d89b0675fa257a446b09a47f18d7f7bb3708b1c7b12a92/roa_collector-1.3.2-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "267634a4c5e76468c6892b86330131250ca83c71d8f3ff24a9cd0b71ddc1bab2",
                "md5": "bf941cef77f2768b470835e47d6f6380",
                "sha256": "68896861c08acfa14c6281df99dd3fdff83455b701e1d721ea42eabc395bb54a"
            },
            "downloads": -1,
            "filename": "roa_collector-1.3.2.tar.gz",
            "has_sig": false,
            "md5_digest": "bf941cef77f2768b470835e47d6f6380",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.10",
            "size": 7315,
            "upload_time": "2024-03-18T00:06:06",
            "upload_time_iso_8601": "2024-03-18T00:06:06.728542Z",
            "url": "https://files.pythonhosted.org/packages/26/76/34a4c5e76468c6892b86330131250ca83c71d8f3ff24a9cd0b71ddc1bab2/roa_collector-1.3.2.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2024-03-18 00:06:06",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "jfuruness",
    "github_project": "roa_collector",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": true,
    "requirements": [
        {
            "name": "requests-cache",
            "specs": [
                [
                    "==",
                    "1.2.0"
                ]
            ]
        }
    ],
    "tox": true,
    "lcname": "roa-collector"
}
        
Elapsed time: 0.20110s