Compare commits

...

14 Commits
1.0.3 ... main

7 changed files with 29 additions and 19 deletions

View File

@ -14,12 +14,12 @@ jobs:
strategy:
matrix:
os: [ubuntu-latest, macos-latest, windows-latest]
python-version: [3.7, 3.8, 3.9]
python-version: ["3.8", "3.9", "3.10", "3.11"]
steps:
- uses: actions/checkout@v2
- uses: actions/checkout@v4
- name: Set up Python ${{ matrix.python-version }}
uses: actions/setup-python@v2
uses: actions/setup-python@v5
with:
python-version: ${{ matrix.python-version }}
@ -41,12 +41,12 @@ jobs:
needs: tests
if: github.event_name == 'push' && startsWith(github.ref, 'refs/tags')
steps:
- uses: actions/checkout@v2
- uses: actions/checkout@v4
- name: Set up Python 3.8
uses: actions/setup-python@v2
- name: Set up Python 3.11
uses: actions/setup-python@v5
with:
python-version: 3.8
python-version: 3.11
- name: Install tools
run: |

View File

@ -1,22 +1,30 @@
# digaws
The digaws lookup tool displays information for a given IP address (v4 o v6) or a CIDR, sourced from the AWS official IP ranges.
The digaws lookup tool displays information for a given IP address (both v4 and v6) or a CIDR, sourced from the AWS official IP ranges.
In order to save bandwidth and time this tool requests the [AWS IP ranges](https://ip-ranges.amazonaws.com/ip-ranges.json) and keeps
a cached version until a new version is published.
![PyPI version](https://badge.fury.io/py/digaws.svg)
![CI](https://github.com/dcarrillo/digaws/workflows/CI/badge.svg)
[![PyPI version](https://badge.fury.io/py/digaws.svg)](https://pypi.org/project/digaws/)
[![CI](https://github.com/dcarrillo/digaws/workflows/CI/badge.svg)](https://github.com/dcarrillo/digaws/actions)
## Requirements
Python >= 3.7
Python >= 3.8
Tests are verified on Linux, macos and Windows.
## Install
### Using [pipx](https://pypa.github.io/pipx/#install-pipx) (this is the preferred way)
```bash
pip install digaws
pipx install digaws
```
### Using pip
```bash
pip install digaws --user
```
## Usage

View File

@ -1,2 +1,2 @@
__version__ = '1.0.3'
__version__ = '1.0.6'
__description__ = 'Look up canonical information for AWS IP addresses and networks'

View File

@ -127,8 +127,7 @@ class DigAWSPrettyPrinter:
item_dict.update({'network_border_group': prefix['network_border_group']})
data.append(item_dict)
if data:
print(json.dumps(data, indent=2))
print(json.dumps(data, indent=2))
class DigAWS():
@ -182,7 +181,7 @@ class DigAWS():
data = [prefix for prefix in self.ipv6_prefixes
if addr.subnet_of(prefix['ipv6_prefix'])]
except (ipaddress.AddressValueError, ValueError):
raise(ValueError(f'Wrong IP or CIDR format: {address}'))
raise ValueError(f'Wrong IP or CIDR format: {address}')
return data

View File

@ -1,10 +1,12 @@
import nox
nox.options.sessions = ['lint', 'typing', 'tests']
locations = ['noxfile.py', 'setup.py', 'digaws/', 'tests/']
lint_common_args = ['--max-line-length', '120']
mypy_args = ['--ignore-missing-imports']
mypy_args = ['--ignore-missing-imports', '--install-types', '--non-interactive']
pytest_args = ['--cov=digaws', '--cov-report=', 'tests/']
coverage_args = ['report', '--show-missing', '--fail-under=80']

View File

@ -25,7 +25,7 @@ setup(
'License :: OSI Approved :: Apache Software License',
'Operating System :: OS Independent',
],
python_requires='>=3.7',
python_requires='>=3.8',
entry_points={
'console_scripts': ['digaws=digaws.digaws:main']
},

View File

@ -84,4 +84,5 @@ def test_get_aws_ip_ranges_invalid_status(mocker, fs, create_cache_dir) -> None:
with pytest.raises(digaws.UnexpectedRequestException) as e:
digaws.get_aws_ip_ranges()
assert e.startswith('Unexpected response from')
assert e.match('^Unexpected response from')