dshield-parser 0.1.5__tar.gz → 0.1.7__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.
Files changed (32) hide show
  1. {dshield_parser-0.1.5 → dshield_parser-0.1.7}/PKG-INFO +11 -3
  2. {dshield_parser-0.1.5 → dshield_parser-0.1.7}/dshield_parser/utils/json.py +11 -0
  3. {dshield_parser-0.1.5 → dshield_parser-0.1.7}/dshield_parser.egg-info/PKG-INFO +11 -3
  4. {dshield_parser-0.1.5 → dshield_parser-0.1.7}/dshield_parser.egg-info/SOURCES.txt +1 -0
  5. dshield_parser-0.1.7/dshield_parser.egg-info/requires.txt +7 -0
  6. {dshield_parser-0.1.5 → dshield_parser-0.1.7}/setup.py +12 -4
  7. {dshield_parser-0.1.5 → dshield_parser-0.1.7}/README.md +0 -0
  8. {dshield_parser-0.1.5 → dshield_parser-0.1.7}/dshield_parser/__init__.py +0 -0
  9. {dshield_parser-0.1.5 → dshield_parser-0.1.7}/dshield_parser/__main__.py +0 -0
  10. {dshield_parser-0.1.5 → dshield_parser-0.1.7}/dshield_parser/cowrie_processor/__init__.py +0 -0
  11. {dshield_parser-0.1.5 → dshield_parser-0.1.7}/dshield_parser/cowrie_processor/__main__.py +0 -0
  12. {dshield_parser-0.1.5 → dshield_parser-0.1.7}/dshield_parser/cowrie_processor/reports.py +0 -0
  13. {dshield_parser-0.1.5 → dshield_parser-0.1.7}/dshield_parser/firewall_processor/__init__.py +0 -0
  14. {dshield_parser-0.1.5 → dshield_parser-0.1.7}/dshield_parser/firewall_processor/__main__.py +0 -0
  15. {dshield_parser-0.1.5 → dshield_parser-0.1.7}/dshield_parser/firewall_processor/reports.py +0 -0
  16. {dshield_parser-0.1.5 → dshield_parser-0.1.7}/dshield_parser/test/__init__.py +0 -0
  17. {dshield_parser-0.1.5 → dshield_parser-0.1.7}/dshield_parser/test/test_json.py +0 -0
  18. {dshield_parser-0.1.5 → dshield_parser-0.1.7}/dshield_parser/utils/__init__.py +0 -0
  19. {dshield_parser-0.1.5 → dshield_parser-0.1.7}/dshield_parser/utils/__main__.py +0 -0
  20. {dshield_parser-0.1.5 → dshield_parser-0.1.7}/dshield_parser/utils/enrichment.py +0 -0
  21. {dshield_parser-0.1.5 → dshield_parser-0.1.7}/dshield_parser/utils/file_io.py +0 -0
  22. {dshield_parser-0.1.5 → dshield_parser-0.1.7}/dshield_parser/utils/graphs.py +0 -0
  23. {dshield_parser-0.1.5 → dshield_parser-0.1.7}/dshield_parser/utils/ml.py +0 -0
  24. {dshield_parser-0.1.5 → dshield_parser-0.1.7}/dshield_parser/utils/sql.py +0 -0
  25. {dshield_parser-0.1.5 → dshield_parser-0.1.7}/dshield_parser/utils/ssh.py +0 -0
  26. {dshield_parser-0.1.5 → dshield_parser-0.1.7}/dshield_parser/web_processor/__init__.py +0 -0
  27. {dshield_parser-0.1.5 → dshield_parser-0.1.7}/dshield_parser/web_processor/__main__.py +0 -0
  28. {dshield_parser-0.1.5 → dshield_parser-0.1.7}/dshield_parser/web_processor/reports.py +0 -0
  29. {dshield_parser-0.1.5 → dshield_parser-0.1.7}/dshield_parser.egg-info/dependency_links.txt +0 -0
  30. {dshield_parser-0.1.5 → dshield_parser-0.1.7}/dshield_parser.egg-info/top_level.txt +0 -0
  31. {dshield_parser-0.1.5 → dshield_parser-0.1.7}/pyproject.toml +0 -0
  32. {dshield_parser-0.1.5 → dshield_parser-0.1.7}/setup.cfg +0 -0
@@ -1,13 +1,21 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: dshield_parser
3
- Version: 0.1.5
4
- Summary: This program has utilities to download, parse and enrich DSHield honeypot data
3
+ Version: 0.1.7
4
+ Summary: This program has utilities to download, parse and enrich DShield honeypot data
5
5
  Home-page: https://github.com/jslagrew/dshield-parser
6
6
  Author: Jesse La Grew
7
7
  Author-email: jlagrew.github@proton.me
8
- Requires-Python: >=3.12.7
8
+ Requires-Python: >=3.12
9
+ Requires-Dist: matplotlib>=3.6.3
10
+ Requires-Dist: numpy>=1.26.0
11
+ Requires-Dist: pandas>=2.0.3
12
+ Requires-Dist: requests>=2.32.3
13
+ Requires-Dist: scikit-learn>=1.2.2
14
+ Requires-Dist: shodan>=1.28.0
15
+ Requires-Dist: SQLAlchemy>=2.0.31
9
16
  Dynamic: author
10
17
  Dynamic: author-email
11
18
  Dynamic: home-page
19
+ Dynamic: requires-dist
12
20
  Dynamic: requires-python
13
21
  Dynamic: summary
@@ -22,8 +22,19 @@ def _groupby_size(df):
22
22
  In pandas 3.0, 'size' became a reserved GroupBy method name and can no longer
23
23
  be used as a column selector after groupby(). This helper renames the column
24
24
  temporarily to avoid the conflict.
25
+ Handles edge cases where df is empty or does not yet have a 'size' column.
25
26
  """
27
+ if df.empty:
28
+ return df
29
+ if 'size' not in df.columns:
30
+ # No size column yet — just do a count groupby and name it 'size'
31
+ group_cols = df.columns.tolist()
32
+ result = df.groupby(group_cols, as_index=False, dropna=False).size()
33
+ return result
26
34
  group_cols = df.columns.difference(['size']).tolist()
35
+ if not group_cols:
36
+ # Only column is 'size', nothing meaningful to group by
37
+ return df
27
38
  result = df.rename(columns={'size': '_count'})
28
39
  result = result.groupby(result.columns.difference(['_count']).tolist(), as_index=False, dropna=False)['_count'].sum()
29
40
  result = result.rename(columns={'_count': 'size'})
@@ -1,13 +1,21 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: dshield_parser
3
- Version: 0.1.5
4
- Summary: This program has utilities to download, parse and enrich DSHield honeypot data
3
+ Version: 0.1.7
4
+ Summary: This program has utilities to download, parse and enrich DShield honeypot data
5
5
  Home-page: https://github.com/jslagrew/dshield-parser
6
6
  Author: Jesse La Grew
7
7
  Author-email: jlagrew.github@proton.me
8
- Requires-Python: >=3.12.7
8
+ Requires-Python: >=3.12
9
+ Requires-Dist: matplotlib>=3.6.3
10
+ Requires-Dist: numpy>=1.26.0
11
+ Requires-Dist: pandas>=2.0.3
12
+ Requires-Dist: requests>=2.32.3
13
+ Requires-Dist: scikit-learn>=1.2.2
14
+ Requires-Dist: shodan>=1.28.0
15
+ Requires-Dist: SQLAlchemy>=2.0.31
9
16
  Dynamic: author
10
17
  Dynamic: author-email
11
18
  Dynamic: home-page
19
+ Dynamic: requires-dist
12
20
  Dynamic: requires-python
13
21
  Dynamic: summary
@@ -6,6 +6,7 @@ dshield_parser/__main__.py
6
6
  dshield_parser.egg-info/PKG-INFO
7
7
  dshield_parser.egg-info/SOURCES.txt
8
8
  dshield_parser.egg-info/dependency_links.txt
9
+ dshield_parser.egg-info/requires.txt
9
10
  dshield_parser.egg-info/top_level.txt
10
11
  dshield_parser/cowrie_processor/__init__.py
11
12
  dshield_parser/cowrie_processor/__main__.py
@@ -0,0 +1,7 @@
1
+ matplotlib>=3.6.3
2
+ numpy>=1.26.0
3
+ pandas>=2.0.3
4
+ requests>=2.32.3
5
+ scikit-learn>=1.2.2
6
+ shodan>=1.28.0
7
+ SQLAlchemy>=2.0.31
@@ -2,10 +2,10 @@ import setuptools
2
2
 
3
3
  setuptools.setup(
4
4
  name="dshield_parser",
5
- version="0.1.5",
5
+ version="0.1.7",
6
6
  author="Jesse La Grew",
7
7
  author_email="jlagrew.github@proton.me",
8
- description="This program has utilities to download, parse and enrich DSHield honeypot data",
8
+ description="This program has utilities to download, parse and enrich DShield honeypot data",
9
9
  url="https://github.com/jslagrew/dshield-parser",
10
10
  packages=setuptools.find_packages(),
11
11
  #entry_points = {
@@ -13,6 +13,14 @@ setuptools.setup(
13
13
  # ['summarize_urls=utils.json:summarize_urls',
14
14
  # 'summarize_urls=utils.json:summarize_commands']
15
15
  #},
16
- python_requires='>=3.12.7'
17
- #install_requires=['matplotlib', 'numpy', 'pandas', 'Requests', 'scikit_learn', 'shodan', 'SQLAlchemy']
16
+ python_requires='>=3.12',
17
+ install_requires=[
18
+ "matplotlib>=3.6.3",
19
+ "numpy>=1.26.0",
20
+ "pandas>=2.0.3",
21
+ "requests>=2.32.3",
22
+ "scikit-learn>=1.2.2",
23
+ "shodan>=1.28.0",
24
+ "SQLAlchemy>=2.0.31",
25
+ ],
18
26
  )
File without changes
File without changes