greynoise 3.0.2__tar.gz → 3.1.0__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.
- {greynoise-3.0.2 → greynoise-3.1.0}/.bumpversion.cfg +1 -1
- {greynoise-3.0.2 → greynoise-3.1.0}/.circleci/config.yml +1 -1
- {greynoise-3.0.2 → greynoise-3.1.0}/.gitignore +3 -0
- {greynoise-3.0.2 → greynoise-3.1.0}/.pre-commit-config.yaml +1 -0
- {greynoise-3.0.2 → greynoise-3.1.0}/CHANGELOG.rst +47 -1
- {greynoise-3.0.2 → greynoise-3.1.0}/PKG-INFO +22 -12
- {greynoise-3.0.2 → greynoise-3.1.0}/docs/source/conf.py +1 -1
- {greynoise-3.0.2 → greynoise-3.1.0}/docs/source/sample.py +1 -3
- {greynoise-3.0.2 → greynoise-3.1.0}/docs/source/tutorial.rst +20 -25
- {greynoise-3.0.2 → greynoise-3.1.0}/pyproject.toml +27 -13
- greynoise-3.1.0/requirements/common.txt +22 -0
- greynoise-3.1.0/requirements/dev.txt +11 -0
- greynoise-3.1.0/requirements/docs.txt +11 -0
- greynoise-3.1.0/requirements/test.txt +23 -0
- {greynoise-3.0.2 → greynoise-3.1.0}/reset_changelog.py +3 -4
- {greynoise-3.0.2 → greynoise-3.1.0}/setup.cfg +3 -3
- {greynoise-3.0.2 → greynoise-3.1.0}/src/greynoise/__init__.py +6 -0
- {greynoise-3.0.2 → greynoise-3.1.0}/src/greynoise/__version__.py +1 -1
- greynoise-3.1.0/src/greynoise/api/__init__.py +1648 -0
- {greynoise-3.0.2 → greynoise-3.1.0}/src/greynoise/api/filter.py +6 -12
- {greynoise-3.0.2 → greynoise-3.1.0}/src/greynoise/cli/__init__.py +8 -1
- {greynoise-3.0.2 → greynoise-3.1.0}/src/greynoise/cli/decorator.py +45 -86
- {greynoise-3.0.2 → greynoise-3.1.0}/src/greynoise/cli/formatter.py +62 -35
- {greynoise-3.0.2 → greynoise-3.1.0}/src/greynoise/cli/subcommand.py +288 -163
- greynoise-3.1.0/src/greynoise/cli/templates/callback_ip.txt.j2 +73 -0
- {greynoise-3.0.2 → greynoise-3.1.0}/src/greynoise/cli/templates/ip_context_result.txt.j2 +13 -1
- {greynoise-3.0.2 → greynoise-3.1.0}/src/greynoise/cli/templates/macros.txt.j2 +11 -0
- {greynoise-3.0.2 → greynoise-3.1.0}/src/greynoise/cli/templates/personadetails.txt.j2 +3 -1
- greynoise-3.1.0/src/greynoise/cli/templates/recall_stats.txt.j2 +63 -0
- greynoise-3.1.0/src/greynoise/cli/templates/recall_timeseries.txt.j2 +38 -0
- greynoise-3.1.0/src/greynoise/cli/templates/timelinedaily.txt.j2 +23 -0
- greynoise-3.1.0/src/greynoise/greynoise_timeline.py +510 -0
- greynoise-3.1.0/src/greynoise/psychic.py +1189 -0
- {greynoise-3.0.2 → greynoise-3.1.0}/src/greynoise/util.py +185 -31
- {greynoise-3.0.2 → greynoise-3.1.0}/tests/cli/test_formatter.py +16 -146
- {greynoise-3.0.2 → greynoise-3.1.0}/tests/cli/test_subcommand.py +239 -317
- {greynoise-3.0.2 → greynoise-3.1.0}/tests/test_api.py +102 -186
- greynoise-3.1.0/tests/test_psychic.py +272 -0
- {greynoise-3.0.2 → greynoise-3.1.0}/tests/test_util.py +170 -40
- greynoise-3.0.2/requirements/common.txt +0 -11
- greynoise-3.0.2/requirements/dev.txt +0 -5
- greynoise-3.0.2/requirements/docs.txt +0 -5
- greynoise-3.0.2/requirements/test.txt +0 -16
- greynoise-3.0.2/src/greynoise/api/__init__.py +0 -1085
- greynoise-3.0.2/src/greynoise/cli/templates/ip_community.txt.j2 +0 -16
- greynoise-3.0.2/src/greynoise/cli/templates/riot.txt.j2 +0 -32
- greynoise-3.0.2/src/greynoise/cli/templates/sensoractivity.txt.j2 +0 -25
- greynoise-3.0.2/src/greynoise/cli/templates/similarity.txt.j2 +0 -28
- greynoise-3.0.2/src/greynoise/cli/templates/timelinehourly.txt.j2 +0 -26
- {greynoise-3.0.2 → greynoise-3.1.0}/.dockerignore +0 -0
- {greynoise-3.0.2 → greynoise-3.1.0}/.editorconfig +0 -0
- {greynoise-3.0.2 → greynoise-3.1.0}/.github/CODEOWNERS +0 -0
- {greynoise-3.0.2 → greynoise-3.1.0}/.github/dependabot.yml +0 -0
- {greynoise-3.0.2 → greynoise-3.1.0}/.github/workflows/slack_release_notice.yml +0 -0
- {greynoise-3.0.2 → greynoise-3.1.0}/.readthedocs.yml +0 -0
- {greynoise-3.0.2 → greynoise-3.1.0}/.yamllint +0 -0
- {greynoise-3.0.2 → greynoise-3.1.0}/Dockerfile +0 -0
- {greynoise-3.0.2 → greynoise-3.1.0}/LICENSE +0 -0
- {greynoise-3.0.2 → greynoise-3.1.0}/MANIFEST.in +0 -0
- {greynoise-3.0.2 → greynoise-3.1.0}/Makefile +0 -0
- {greynoise-3.0.2 → greynoise-3.1.0}/README.rst +0 -0
- {greynoise-3.0.2 → greynoise-3.1.0}/docs/Makefile +0 -0
- {greynoise-3.0.2 → greynoise-3.1.0}/docs/source/changelog.rst +0 -0
- {greynoise-3.0.2 → greynoise-3.1.0}/docs/source/index.rst +0 -0
- {greynoise-3.0.2 → greynoise-3.1.0}/docs/source/introduction.rst +0 -0
- {greynoise-3.0.2 → greynoise-3.1.0}/docs/source/reference.rst +0 -0
- {greynoise-3.0.2 → greynoise-3.1.0}/pytest.ini +0 -0
- {greynoise-3.0.2 → greynoise-3.1.0}/release.md +0 -0
- {greynoise-3.0.2 → greynoise-3.1.0}/sonar-project.properties +0 -0
- {greynoise-3.0.2 → greynoise-3.1.0}/src/greynoise/cli/helper.py +0 -0
- {greynoise-3.0.2 → greynoise-3.1.0}/src/greynoise/cli/parameter.py +0 -0
- {greynoise-3.0.2 → greynoise-3.1.0}/src/greynoise/cli/templates/analyze.txt.j2 +0 -0
- {greynoise-3.0.2 → greynoise-3.1.0}/src/greynoise/cli/templates/cvedetails.txt.j2 +0 -0
- {greynoise-3.0.2 → greynoise-3.1.0}/src/greynoise/cli/templates/gnql_query.txt.j2 +0 -0
- {greynoise-3.0.2 → greynoise-3.1.0}/src/greynoise/cli/templates/gnql_stats.txt.j2 +0 -0
- {greynoise-3.0.2 → greynoise-3.1.0}/src/greynoise/cli/templates/ip_context.txt.j2 +0 -0
- {greynoise-3.0.2 → greynoise-3.1.0}/src/greynoise/cli/templates/ip_multi_context.txt.j2 +0 -0
- {greynoise-3.0.2 → greynoise-3.1.0}/src/greynoise/cli/templates/ip_quick_check.txt.j2 +0 -0
- {greynoise-3.0.2 → greynoise-3.1.0}/src/greynoise/cli/templates/sensorlist.txt.j2 +0 -0
- {greynoise-3.0.2 → greynoise-3.1.0}/src/greynoise/cli/templates/stats.txt.j2 +0 -0
- {greynoise-3.0.2 → greynoise-3.1.0}/src/greynoise/cli/templates/timeline.txt.j2 +0 -0
- {greynoise-3.0.2 → greynoise-3.1.0}/src/greynoise/exceptions.py +0 -0
- {greynoise-3.0.2 → greynoise-3.1.0}/tests/cli/test_init.py +0 -0
- {greynoise-3.0.2 → greynoise-3.1.0}/tox.ini +0 -0
|
@@ -68,7 +68,7 @@ jobs:
|
|
|
68
68
|
command: yamllint .
|
|
69
69
|
- run:
|
|
70
70
|
name: Style check (black)
|
|
71
|
-
command: black --check src tests docs
|
|
71
|
+
command: black --check --target-version py310 src tests docs
|
|
72
72
|
- run:
|
|
73
73
|
name: Style check (isort)
|
|
74
74
|
command: isort --check-only src/**/*.py tests/**/*.py docs/**/*.py
|
|
@@ -2,6 +2,50 @@
|
|
|
2
2
|
Changelog
|
|
3
3
|
=========
|
|
4
4
|
|
|
5
|
+
Version `3.1.0`_
|
|
6
|
+
================
|
|
7
|
+
**Date**: unreleased
|
|
8
|
+
|
|
9
|
+
* API client:
|
|
10
|
+
|
|
11
|
+
* Added `psychic_lookup`, `psychic_lookup_ips`, `psychic_stats` functions to support Psychic API endpoints
|
|
12
|
+
* Added `psychic_download_mmdb`, `psychic_download_bin`, `psychic_download_csv`, `psychic_generate_bitmap` functions to support Psychic file downloads
|
|
13
|
+
* Added `cves` function to support bulk CVE lookup API endpoints
|
|
14
|
+
* Added `callback_ip`, `callback_list`, `callback_export_ips`, `callback_overview` functions to support Callback API endpoints
|
|
15
|
+
* Added `recall`, `recall_stats`, `recall_timeseries` functions to support Recall API endpoints
|
|
16
|
+
* Updated the `timeline` and `timelinehourly` function
|
|
17
|
+
* Updated the `filter` function to correctly handle v3 API response format
|
|
18
|
+
* The `tags` function is now used instead of `metadata`, but is still available for backwards compatibility.
|
|
19
|
+
* The `similar` function is deprecated and will be removed in a future version.
|
|
20
|
+
* The `sensor_activity` and `sensor_activity_ips` functions are deprecated and will be removed in a future version.
|
|
21
|
+
* The `timelinehourly` function is deprecated and will be removed in a future version.
|
|
22
|
+
|
|
23
|
+
* CLI:
|
|
24
|
+
* Added `psychic-download` and `psychic-generate` commands to support Psychic file downloads
|
|
25
|
+
* Updated `ip` command to support Psychic API endpoints with new `-p/--psychic` option
|
|
26
|
+
* Added `callback` commands to support Callback API endpoints
|
|
27
|
+
* Added `recall` commands to support Recall API endpoints
|
|
28
|
+
* Removed `sensor-activity` command as it is deprecated and will be removed in a future version.
|
|
29
|
+
* Removed `timelinehourly` command as it is deprecated and will be removed in a future version.
|
|
30
|
+
* Removed not implemented commands `alerts`, `account`, `feedback`, `signature`, `interesting`.
|
|
31
|
+
|
|
32
|
+
* Dependencies:
|
|
33
|
+
* Updated `requests` to version 2.34.2
|
|
34
|
+
* Updated `more-itertools` to version 11.1.0
|
|
35
|
+
* Updated `cachetools` to version 7.0.5
|
|
36
|
+
* Updated `Click` to version 8.3.1
|
|
37
|
+
* Updated `ansimarkup` to version 2.2.0
|
|
38
|
+
* Updated `dict2xml` to version 1.7.8
|
|
39
|
+
* Added `maxminddb` to version 3.1.1
|
|
40
|
+
|
|
41
|
+
Version `3.0.3`_
|
|
42
|
+
================
|
|
43
|
+
**Date**: May 15, 2026
|
|
44
|
+
|
|
45
|
+
* API client:
|
|
46
|
+
* Add `exclude_fields` parameter to `query` command
|
|
47
|
+
* Update `stats` to use v3 endpoint
|
|
48
|
+
|
|
5
49
|
Version `3.0.2`_
|
|
6
50
|
================
|
|
7
51
|
**Date**: March 10, 2026
|
|
@@ -483,4 +527,6 @@ Version `0.2.0`_
|
|
|
483
527
|
.. _`2.3.0`: https://github.com/GreyNoise-Intelligence/pygreynoise/compare/v2.2.0...2.3.0
|
|
484
528
|
.. _`3.0.0`: https://github.com/GreyNoise-Intelligence/pygreynoise/compare/v2.3.0...v3.0.0
|
|
485
529
|
.. _`3.0.1`: https://github.com/GreyNoise-Intelligence/pygreynoise/compare/v3.0.0...v3.0.1
|
|
486
|
-
.. _`3.0.2`: https://github.com/GreyNoise-Intelligence/pygreynoise/compare/v3.0.1...
|
|
530
|
+
.. _`3.0.2`: https://github.com/GreyNoise-Intelligence/pygreynoise/compare/v3.0.1...v3.0.2
|
|
531
|
+
.. _`3.0.3`: https://github.com/GreyNoise-Intelligence/pygreynoise/compare/v3.0.2...v3.0.3
|
|
532
|
+
.. _`3.1.0`: https://github.com/GreyNoise-Intelligence/pygreynoise/compare/v3.0.3...HEAD
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: greynoise
|
|
3
|
-
Version: 3.0
|
|
3
|
+
Version: 3.1.0
|
|
4
4
|
Summary: Abstraction to interact with GreyNoise API.
|
|
5
5
|
Project-URL: Homepage, https://greynoise.io/
|
|
6
6
|
Project-URL: Repository, https://github.com/GreyNoise-Intelligence/pygreynoise
|
|
@@ -22,17 +22,27 @@ Classifier: Programming Language :: Python :: 3.11
|
|
|
22
22
|
Classifier: Programming Language :: Python :: 3.12
|
|
23
23
|
Classifier: Topic :: Software Development :: Libraries
|
|
24
24
|
Requires-Python: >=3.8
|
|
25
|
-
Requires-Dist: ansimarkup
|
|
26
|
-
Requires-Dist: cachetools
|
|
27
|
-
Requires-Dist:
|
|
28
|
-
Requires-Dist:
|
|
29
|
-
Requires-Dist: click
|
|
30
|
-
Requires-Dist:
|
|
31
|
-
Requires-Dist:
|
|
32
|
-
Requires-Dist:
|
|
33
|
-
Requires-Dist:
|
|
34
|
-
Requires-Dist:
|
|
35
|
-
Requires-Dist:
|
|
25
|
+
Requires-Dist: ansimarkup==2.2.0
|
|
26
|
+
Requires-Dist: cachetools==5.5.2; python_version == '3.8'
|
|
27
|
+
Requires-Dist: cachetools==6.2.6; python_version == '3.9'
|
|
28
|
+
Requires-Dist: cachetools==7.0.5; python_version >= '3.10'
|
|
29
|
+
Requires-Dist: click-default-group==1.2.4
|
|
30
|
+
Requires-Dist: click-repl==0.3.0
|
|
31
|
+
Requires-Dist: click<=8.1.8; python_version < '3.10'
|
|
32
|
+
Requires-Dist: click==8.4.1; python_version >= '3.10'
|
|
33
|
+
Requires-Dist: colorama==0.4.6
|
|
34
|
+
Requires-Dist: dict2xml==1.7.8
|
|
35
|
+
Requires-Dist: jinja2==3.1.6
|
|
36
|
+
Requires-Dist: maxminddb==2.6.3; python_version == '3.8'
|
|
37
|
+
Requires-Dist: maxminddb==2.8.2; python_version == '3.9'
|
|
38
|
+
Requires-Dist: maxminddb==3.1.1; python_version >= '3.10'
|
|
39
|
+
Requires-Dist: more-itertools==10.5.0; python_version == '3.8'
|
|
40
|
+
Requires-Dist: more-itertools==10.8.0; python_version == '3.9'
|
|
41
|
+
Requires-Dist: more-itertools==11.1.0; python_version >= '3.10'
|
|
42
|
+
Requires-Dist: requests==2.32.4; python_version == '3.8'
|
|
43
|
+
Requires-Dist: requests==2.32.5; python_version == '3.9'
|
|
44
|
+
Requires-Dist: requests==2.34.2; python_version >= '3.10'
|
|
45
|
+
Requires-Dist: six==1.17.0
|
|
36
46
|
Description-Content-Type: text/x-rst
|
|
37
47
|
|
|
38
48
|
================
|
|
@@ -25,7 +25,7 @@ copyright = "2018-2025, GreyNoise Intelligence"
|
|
|
25
25
|
author = "GreyNoise Intelligence"
|
|
26
26
|
|
|
27
27
|
# The full version, including alpha/beta/rc tags
|
|
28
|
-
release = "3.0
|
|
28
|
+
release = "3.1.0"
|
|
29
29
|
|
|
30
30
|
|
|
31
31
|
# -- General configuration ---------------------------------------------------
|
|
@@ -2,9 +2,7 @@ from greynoise.api import APIConfig, GreyNoise
|
|
|
2
2
|
|
|
3
3
|
api_key = "<enter-api-key-here>"
|
|
4
4
|
ip_addresses = ["108.168.3.151", "8.8.8.8", "318.1.1.1"]
|
|
5
|
-
api_config = APIConfig(
|
|
6
|
-
api_key=api_key, integration_name="greynoise-sampleapp-v1.0.0-beta"
|
|
7
|
-
)
|
|
5
|
+
api_config = APIConfig(api_key=api_key, integration_name="greynoise-sampleapp-v1.0.0-beta")
|
|
8
6
|
api_client = GreyNoise(api_config)
|
|
9
7
|
|
|
10
8
|
for ip_address in ip_addresses:
|
|
@@ -752,36 +752,31 @@ subcommands, use the *--help* option::
|
|
|
752
752
|
$ greynoise -h
|
|
753
753
|
Usage: greynoise [OPTIONS] COMMAND [ARGS]...
|
|
754
754
|
|
|
755
|
-
|
|
755
|
+
GreyNoise CLI.
|
|
756
756
|
|
|
757
757
|
Options:
|
|
758
758
|
-h, --help Show this message and exit.
|
|
759
759
|
|
|
760
760
|
Commands:
|
|
761
|
-
|
|
762
|
-
|
|
763
|
-
|
|
764
|
-
|
|
765
|
-
|
|
766
|
-
|
|
767
|
-
|
|
768
|
-
|
|
769
|
-
|
|
770
|
-
|
|
771
|
-
|
|
772
|
-
|
|
773
|
-
repl
|
|
774
|
-
|
|
775
|
-
|
|
776
|
-
|
|
777
|
-
|
|
778
|
-
|
|
779
|
-
|
|
780
|
-
stats Get aggregate stats from a given GNQL query.
|
|
781
|
-
timeline Query GreyNoise IP Timeline for events based on a...
|
|
782
|
-
timelinedaily Query GreyNoise IP Timeline to get daily event details.
|
|
783
|
-
timelinehourly Query GreyNoise IP Timeline to get hourly event details.
|
|
784
|
-
version Get version and OS information for your GreyNoise...
|
|
761
|
+
analyze Analyze the IP addresses in a log file, stdin, etc.
|
|
762
|
+
callback GreyNoise Callback — scanner callback intelligence...
|
|
763
|
+
cve Retrieve Details of a CVE.
|
|
764
|
+
filter Filter the noise from a log file, stdin, etc.
|
|
765
|
+
help Show this message and exit.
|
|
766
|
+
ip Query GreyNoise for all information on a given IP.
|
|
767
|
+
ip-multi Perform Context lookup for multiple IPs at once.
|
|
768
|
+
persona-details Retrieve Details of a Sensor Persona.
|
|
769
|
+
psychic-download Download a Psychic bitmap (.bin), MMDB, or CSV file...
|
|
770
|
+
query Run a GNQL (GreyNoise Query Language) query.
|
|
771
|
+
quick Quickly check whether or not one or many IPs are...
|
|
772
|
+
recall GreyNoise Recall — GNQL activity over time.
|
|
773
|
+
repl Start an interactive shell.
|
|
774
|
+
sensor-list Retrieve list of current Sensors in Workspace.
|
|
775
|
+
setup Configure API client.
|
|
776
|
+
stats Get aggregate stats from a given GNQL query.
|
|
777
|
+
timeline Query GreyNoise IP Timeline for events based on a...
|
|
778
|
+
timelinedaily Query GreyNoise IP Timeline to get daily event details.
|
|
779
|
+
version Get version and OS information for your GreyNoise...
|
|
785
780
|
|
|
786
781
|
|
|
787
782
|
Setup
|
|
@@ -4,7 +4,7 @@ build-backend = "hatchling.build"
|
|
|
4
4
|
|
|
5
5
|
[project]
|
|
6
6
|
name = "greynoise"
|
|
7
|
-
version = "3.0
|
|
7
|
+
version = "3.1.0"
|
|
8
8
|
description = "Abstraction to interact with GreyNoise API."
|
|
9
9
|
readme = {file = "README.rst", content-type = "text/x-rst"}
|
|
10
10
|
requires-python = ">=3.8"
|
|
@@ -28,17 +28,27 @@ classifiers = [
|
|
|
28
28
|
]
|
|
29
29
|
keywords = ["internet", "scanning", "threat intelligence", "security"]
|
|
30
30
|
dependencies = [
|
|
31
|
-
"Click<=8.1.8",
|
|
32
|
-
"
|
|
33
|
-
"
|
|
34
|
-
"
|
|
35
|
-
"
|
|
36
|
-
"
|
|
37
|
-
"
|
|
38
|
-
"
|
|
39
|
-
"
|
|
40
|
-
"
|
|
41
|
-
"
|
|
31
|
+
"Click<=8.1.8; python_version < '3.10'",
|
|
32
|
+
"Click==8.4.1; python_version >= '3.10'",
|
|
33
|
+
"ansimarkup==2.2.0",
|
|
34
|
+
"cachetools==5.5.2; python_version == '3.8'",
|
|
35
|
+
"cachetools==6.2.6; python_version == '3.9'",
|
|
36
|
+
"cachetools==7.0.5; python_version >= '3.10'",
|
|
37
|
+
"colorama==0.4.6",
|
|
38
|
+
"click-default-group==1.2.4",
|
|
39
|
+
"click-repl==0.3.0",
|
|
40
|
+
"dict2xml==1.7.8",
|
|
41
|
+
"jinja2==3.1.6",
|
|
42
|
+
"maxminddb==2.6.3; python_version == '3.8'",
|
|
43
|
+
"maxminddb==2.8.2; python_version == '3.9'",
|
|
44
|
+
"maxminddb==3.1.1; python_version >= '3.10'",
|
|
45
|
+
"more-itertools==10.5.0; python_version == '3.8'",
|
|
46
|
+
"more-itertools==10.8.0; python_version == '3.9'",
|
|
47
|
+
"more-itertools==11.1.0; python_version >= '3.10'",
|
|
48
|
+
"requests==2.32.4; python_version == '3.8'",
|
|
49
|
+
"requests==2.32.5; python_version == '3.9'",
|
|
50
|
+
"requests==2.34.2; python_version >= '3.10'",
|
|
51
|
+
"six==1.17.0",
|
|
42
52
|
]
|
|
43
53
|
|
|
44
54
|
[project.urls]
|
|
@@ -53,4 +63,8 @@ greynoise = "greynoise.cli:main"
|
|
|
53
63
|
packages = ["src/greynoise"]
|
|
54
64
|
|
|
55
65
|
[tool.hatch.build.targets.wheel.shared-data]
|
|
56
|
-
"src/greynoise/cli/templates/*.j2" = "greynoise/cli/templates"
|
|
66
|
+
"src/greynoise/cli/templates/*.j2" = "greynoise/cli/templates"
|
|
67
|
+
|
|
68
|
+
[tool.black]
|
|
69
|
+
line-length = 120
|
|
70
|
+
target-version = ["py310"]
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
Click<=8.1.8;python_version=="3.8"
|
|
2
|
+
Click<=8.1.8;python_version=="3.9"
|
|
3
|
+
Click==8.4.1;python_version>="3.10"
|
|
4
|
+
ansimarkup==2.2.0
|
|
5
|
+
cachetools==5.5.2;python_version=="3.8"
|
|
6
|
+
cachetools==6.2.6;python_version=="3.9"
|
|
7
|
+
cachetools==7.0.5;python_version>="3.10"
|
|
8
|
+
colorama==0.4.6
|
|
9
|
+
click-default-group==1.2.4
|
|
10
|
+
click-repl==0.3.0
|
|
11
|
+
dict2xml==1.7.8;python_version>='3'
|
|
12
|
+
jinja2==3.1.6
|
|
13
|
+
maxminddb==2.6.3;python_version=="3.8"
|
|
14
|
+
maxminddb==2.8.2;python_version=="3.9"
|
|
15
|
+
maxminddb==3.1.1;python_version>="3.10"
|
|
16
|
+
more-itertools==10.5.0;python_version=="3.8"
|
|
17
|
+
more-itertools==10.8.0;python_version=="3.9"
|
|
18
|
+
more-itertools==11.1.0;python_version>="3.10"
|
|
19
|
+
requests==2.32.4;python_version=="3.8"
|
|
20
|
+
requests==2.32.5;python_version=="3.9"
|
|
21
|
+
requests==2.34.2;python_version>="3.10"
|
|
22
|
+
six==1.17.0
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
# Requirements needed to develop the application
|
|
2
|
+
-r test.txt
|
|
3
|
+
advbumpversion==1.2.0
|
|
4
|
+
ipython==8.13.0;python_version=="3.8"
|
|
5
|
+
ipython==8.18.1;python_version=="3.9"
|
|
6
|
+
ipython==8.38.0;python_version=="3.10"
|
|
7
|
+
ipython==9.10.0;python_version=="3.11"
|
|
8
|
+
ipython==9.12.0;python_version>="3.12"
|
|
9
|
+
tox==4.25.0;python_version=="3.8"
|
|
10
|
+
tox==4.30.3;python_version=="3.9"
|
|
11
|
+
tox==4.52.0;python_version>="3.10"
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
# Requirements needed to build the documentation
|
|
2
|
+
-r common.txt
|
|
3
|
+
Sphinx==7.1.2;python_version=="3.8"
|
|
4
|
+
Sphinx==7.4.7;python_version=="3.9"
|
|
5
|
+
Sphinx==8.1.3;python_version=="3.10"
|
|
6
|
+
Sphinx==9.0.4;python_version=="3.11"
|
|
7
|
+
Sphinx==9.1.0;python_version>="3.12"
|
|
8
|
+
sphinx-click==6.0.0;python_version=="3.8"
|
|
9
|
+
sphinx-click==6.0.0;python_version=="3.9"
|
|
10
|
+
sphinx-click==6.2.0;python_version>="3.10"
|
|
11
|
+
sphinx-rtd-theme==3.1.0
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
black==24.8.0;python_version=="3.8"
|
|
2
|
+
black==25.11.0;python_version=="3.9"
|
|
3
|
+
black==26.3.1;python_version>="3.10"
|
|
4
|
+
flake8==7.1.2;python_version=="3.8"
|
|
5
|
+
flake8==7.3.0;python_version>="3.9"
|
|
6
|
+
isort==5.13.2;python_version=="3.8"
|
|
7
|
+
isort==6.1.0;python_version=="3.9"
|
|
8
|
+
isort==8.0.1;python_version>="3.10"
|
|
9
|
+
mock==5.2.0
|
|
10
|
+
pylint==3.2.7;python_version=="3.8"
|
|
11
|
+
pylint==3.3.9;python_version=="3.9"
|
|
12
|
+
pylint==4.0.5;python_version>="3.10"
|
|
13
|
+
pytest-cov==5.0.0;python_version=="3.8"
|
|
14
|
+
pytest-cov==7.1.0;python_version>="3.9"
|
|
15
|
+
pytest==8.3.5;python_version=="3.8"
|
|
16
|
+
pytest==8.4.2;python_version=="3.9"
|
|
17
|
+
pytest==9.0.3;python_version>="3.10"
|
|
18
|
+
restructuredtext-lint==2.0.2
|
|
19
|
+
twine==6.1.0;python_version=="3.8"
|
|
20
|
+
twine==6.2.0;python_version>="3.9"
|
|
21
|
+
yamllint==1.35.1;python_version=="3.8"
|
|
22
|
+
yamllint==1.37.1;python_version=="3.9"
|
|
23
|
+
yamllint==1.38.0;python_version>="3.10"
|
|
@@ -43,10 +43,9 @@ if not match:
|
|
|
43
43
|
)
|
|
44
44
|
f.seek(0)
|
|
45
45
|
f.write(text)
|
|
46
|
-
LINK_STRING = (
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
).format(ver)
|
|
46
|
+
LINK_STRING = (".. _`dev`: https://github.com/GreyNoise-Intelligence/pygreynoise/" "compare/v{}...HEAD").format(
|
|
47
|
+
ver
|
|
48
|
+
)
|
|
50
49
|
f.write(LINK_STRING)
|
|
51
50
|
f.truncate()
|
|
52
51
|
else:
|
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
[flake8]
|
|
2
|
-
max-line-length =
|
|
2
|
+
max-line-length = 120
|
|
3
3
|
max-complexity = 10
|
|
4
|
-
ignore = C901,W503
|
|
4
|
+
ignore = C901,W503,E203
|
|
5
5
|
|
|
6
6
|
[isort]
|
|
7
7
|
multi_line_output = 3
|
|
8
8
|
include_trailing_comma = True
|
|
9
9
|
use_parentheses = True
|
|
10
|
-
line_length =
|
|
10
|
+
line_length = 120
|
|
11
11
|
|
|
12
12
|
[tool:pytest]
|
|
13
13
|
addopts = --pdbcls=IPython.terminal.debugger:TerminalPdb
|
|
@@ -10,4 +10,10 @@ from greynoise.__version__ import ( # noqa
|
|
|
10
10
|
__status__,
|
|
11
11
|
__version__,
|
|
12
12
|
)
|
|
13
|
+
|
|
14
|
+
USER_AGENT = "GreyNoise/{}".format(__version__)
|
|
15
|
+
PSYCHIC_USER_AGENT = "{} (psychic)".format(USER_AGENT)
|
|
16
|
+
|
|
13
17
|
from greynoise.api import GreyNoise # noqa
|
|
18
|
+
from greynoise.greynoise_timeline import get_greynoise_timeline # noqa
|
|
19
|
+
from greynoise.psychic import Psychic # noqa
|