Sean Whalen
abf4bdba13
Add type annotations for SMTP TLS and forensic report structures
2025-12-25 16:39:33 -05:00
Sean Whalen
7b842740f5
Change file permissions for tests.py to make it executable
2025-12-25 16:02:33 -05:00
Sean Whalen
ebe3ccf40a
Update changelog for version 9.0.6 and set version in constants.py
2025-12-25 16:01:25 -05:00
Sean Whalen
808285658f
Refactor function parameters to use non-Optional types where applicable
2025-12-25 16:01:12 -05:00
Sean Whalen
bc1dae29bd
Update mailsuite dependency version to 1.11.0
2025-12-25 15:32:27 -05:00
Sean Whalen
4b904444e5
Refactor and improve parsing and extraction functions
...
- Updated `extract_report` to handle various input types more robustly, removing unnecessary complexity and improving error handling.
- Simplified the handling of file-like objects and added checks for binary mode.
- Enhanced the `parse_report_email` function to streamline input processing and improve type handling.
- Introduced TypedDicts for better type safety in `utils.py`, specifically for reverse DNS and IP address information.
- Refined the configuration loading in `cli.py` to ensure boolean values are consistently cast to `bool`.
- Improved overall code readability and maintainability by restructuring and clarifying logic in several functions.
2025-12-25 15:30:20 -05:00
Sean Whalen
3608bce344
Remove unused import of Union and cast from cli.py
2025-12-24 16:53:22 -05:00
Sean Whalen
fe809c4c3f
Add type ignore comments for Pyright in elastic.py and opensearch.py
2025-12-24 16:49:42 -05:00
Sean Whalen
a76c2f9621
More code cleanup
2025-12-24 16:36:59 -05:00
Sean Whalen
bb8f4002bf
Use literal dicts instead of ordered dicts and other code cleanup
2025-12-24 15:04:10 -05:00
Sean Whalen
b5773c6b4a
Fix etree import to type checkers don't complain
2025-12-24 14:37:38 -05:00
Sean Whalen
b99bd67225
Fix get_base_domain() typing
2025-12-24 14:32:05 -05:00
Sean Whalen
af9ad568ec
Specify Python version requirements in pyproject.toml
2025-12-17 16:18:24 -05:00
Sean Whalen
748164d177
Fix #638
2025-12-17 16:09:26 -05:00
Sean Whalen
487e5e1149
Format on build
2025-12-12 15:56:52 -05:00
Sean Whalen
73010cf964
Use ruff for code formatting
2025-12-12 15:44:46 -05:00
Sean Whalen
a4a5475aa8
Fix another typo before releasing 9.0.5
2025-12-08 15:29:48 -05:00
Sean Whalen
dab78880df
Actual 9.0.5 release
...
Fix typo
2025-12-08 15:26:58 -05:00
Sean Whalen
fb54e3b742
9.0.5
...
- Fix report type detection bug introduced in `9.0.4` (yanked).
2025-12-08 15:22:02 -05:00
Sean Whalen
6799f10364
9.0.4
...
Fixes
- Fix saving reports to OpenSearch ([#637 ](https://github.com/domainaware/parsedmarc/issues/637 ))
- Fix parsing certain DMARC failure/forensic reports
- Some fixes to type hints (incomplete, but published as-is due to the above bugs)
2025-12-08 13:26:59 -05:00
Sean Whalen
445c9565a4
Update bug link in docs
2025-12-06 15:05:19 -05:00
Sean Whalen
4b786846ae
Remove Python 3.14 from testing
...
Until cpython bug https://github.com/python/cpython/issues/142307 is fixed
9.0.3
2025-12-05 11:05:29 -05:00
Sean Whalen
23ae563cd8
Update Python version support details in documentation
2025-12-05 10:48:04 -05:00
Sean Whalen
cdd000e675
9.0.3
...
- Set `requires-python` to `>=3.9, <3.14` to avoid [this bug](https://github.com/python/cpython/issues/142307 )
2025-12-05 10:43:28 -05:00
Sean Whalen
7d58abc67b
Add shebang and encoding declaration to tests.py
2025-12-04 10:21:53 -05:00
Sean Whalen
a18ae439de
Fix typo in RHEL version support description in documentation
2025-12-04 10:18:15 -05:00
Sean Whalen
d7061330a8
Use None for blank fields in the Top 1000 Message Sources by Name DMARC Summary dashboard widget
2025-12-03 09:22:33 -05:00
Sean Whalen
9d5654b8ec
Fix bugs with the Top 1000 Message Sources by Name DMARC Summary dashboard widget
2025-12-03 09:14:52 -05:00
Sean Whalen
a0e0070dd0
Bump version to 9.0.2
9.0.2
2025-12-02 20:12:58 -05:00
Sean Whalen
cf3b7f2c29
## 9.0.2
...
## Improvements
- Type hinting is now used properly across the entire library. (#445 )
## Fixes
- Decompress report files as needed when passed via the CLI.
- Fixed incomplete removal of the ability for `parsedmarc.utils.extract_report` to accept a file path directly in `8.15.0`.
## Breaking changes
This version of the library requires consumers to pass certain arguments as keyword-only. Internally, the API uses a bare `*` in the function signature. This is standard per [PEP 3102](https://peps.python.org/pep-3102/ ) and as documented in the Python Language Reference.
.
2025-12-02 19:41:14 -05:00
Sean Whalen
d312522ab7
Enhance type hints and argument formatting in multiple files for improved clarity and consistency
2025-12-02 17:06:57 -05:00
Sean Whalen
888d717476
Enhance type hints and argument formatting in utils.py for improved clarity and consistency
2025-12-02 16:21:30 -05:00
Sean Whalen
1127f65fbb
Enhance type hints and argument formatting in webhook.py for improved clarity and consistency
2025-12-02 15:52:31 -05:00
Sean Whalen
d017dfcddf
Enhance type hints and argument formatting across multiple files for improved clarity and consistency
2025-12-02 15:17:37 -05:00
Sean Whalen
5fae99aacc
Enhance type hints for improved clarity and consistency in __init__.py, elastic.py, and opensearch.py
2025-12-02 14:14:06 -05:00
Sean Whalen
ba57368ac3
Refactor argument formatting and type hints in elastic.py for consistency
2025-12-02 13:13:25 -05:00
Sean Whalen
dc6ee5de98
Add type hints to methods in opensearch.py for improved clarity and type checking
2025-12-02 13:11:59 -05:00
Sean Whalen
158d63d205
Complete annotations on elastic.py
2025-12-02 12:59:03 -05:00
Oscar Mattsson
f1933b906c
Fix 404 link to maxmind docs ( #635 )
2025-12-02 09:26:01 -05:00
Anael Mobilia
4b98d795ff
Define minimal Python version on pyproject ( #634 )
2025-12-01 20:22:49 -05:00
Sean Whalen
b1356f7dfc
9.0.1
...
- Allow multiple `records` for the same aggregate DMARC report in Elasticsearch and Opensearch (fixes issue in 9.0.0)
- Fix typos
2025-12-01 18:57:23 -05:00
Sean Whalen
1969196e1a
Switch CHANGELOG headers
2025-12-01 18:01:54 -05:00
Sean Whalen
553f15f6a9
Code formatting
2025-12-01 17:24:10 -05:00
Sean Whalen
1fc9f638e2
9.0.0 ( #629 )
...
* Normalize report volumes when a report timespan exceed 24 hours
2025-12-01 17:06:58 -05:00
Sean Whalen
48bff504b4
Fix build script to properly publish docs
2025-12-01 11:08:21 -05:00
Sean Whalen
681b7cbf85
Formatting
2025-12-01 10:56:08 -05:00
Sean Whalen
0922d6e83a
Add supported Python versions to the documentation index
2025-12-01 10:24:19 -05:00
Sean Whalen
baf3f95fb1
Update README with clarification on Python 3.6 support
2025-12-01 10:20:56 -05:00
Anael Mobilia
a51f945305
Clearly define supported Python versions policy ( #633 )
...
* Clearly define supported Python versions.
Support policy based on author's comment on https://github.com/domainaware/parsedmarc/pull/458#issuecomment-2002516299 #458
* Compile Python 3.6 as Ubuntu latest run against Ubuntu 24.04 which haven't Python3.6 + 20.04 is no longer available
https://raw.githubusercontent.com/actions/python-versions/main/versions-manifest.json
* Use latest versions of GH Actions
* Silent some technicals GH Actions steps
* Elasticsearch / opensearch: use supported versions + align used versions
* Delete .github/workflows/python-tests-3.6.yml
Drop Python 3.6 test
* Update Python 3.6 support status in README
---------
Co-authored-by: Sean Whalen <44679+seanthegeek@users.noreply.github.com >
2025-12-01 10:02:47 -05:00
Sean Whalen
55dbf8e3db
Add sources my name table to the Kibana DMARC Summary dashboard
...
This matches the table in the Splunk DMARC Aggregate reports dashboard
2025-11-30 19:44:14 -05:00