Skip to main content

ops-py-cert-report

Description

Requests SSL certificate info from a list of URLs and then creates report with status of the SSL certificates.

The report is available in the following format:

  • Slack Markdown
  • HTML (table)
  • JSON

The report contains the following information for each checked SSL certificate:

  • SSL cert name: The name of the ssl certificate
  • Status: OK, Warning, Error, Critical!!, Expired!!or Unknown
  • Message: Error message or message about days till expire or days since expired
  • Expiration Date: The expiration date of the SSL certificate

Installation and Usage

pip install ops-py-cert-report

❯ python
Python 3.12.2 (main, Feb  6 2024, 20:19:44) [Clang 15.0.0 (clang-1500.1.0.2.5)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> from cert_report import certs
>>> from cert_report import report
>>> ssl_certs = ["example.com", "google.com"]
>>> c = certs.Certs(ssl_certs)
>>> c.parse_certs()
>>> crts = c.get_certs()
>>> s = report.Report(crts, 45, 14, skip_ok=False)
>>> s.gen_report()
>>> json_report = s.get_report_json()
>>> for x in json_report:
...     print(x)
...
{'name': 'example.com', 'expire_date': 'Mar  1 23:59:59 2025 GMT', 'expire_age': -247, 'comment': 'Will expire in 247 days', 'status': 'OK', 'code': 0}
{'name': 'google.com', 'expire_date': 'Sep  5 15:27:13 2024 GMT', 'expire_age': -70, 'comment': 'Will expire in 70 days', 'status': 'OK', 'code': 0}
>>> html = s.get_html_report()[1]
>>> print(html)
<table bordercolor='black' border='2'>
    <thead>
    <tr style='background-color: Teal; color: White'>
        <th>Status</th>
        <th>SSL Cert</th>
        <th>Message</th>
        <th>Expiration date</th>
    </tr>
    </thead>
    <tbody>
    <tr>
            <td style='background-color: Green; color: White; font-weight:bold'>OK</td>
            <td>google.com</td>
            <td>Will expire in 70 days</td>
            <td>Sep  5 15:27:13 2024 GMT</td>
        </tr>
    <tr>
            <td style='background-color: Green; color: White; font-weight:bold'>OK</td>
            <td>example.com</td>
            <td>Will expire in 247 days</td>
            <td>Mar  1 23:59:59 2025 GMT</td>
        </tr>
    </tbody>
</table>

>>> slck = s.get_slack_report()
>>> print(slck)
*SSL certificates report*
:white_check_mark: *google.com* - Will expire in 70 days (Sep  5 15:27:13 2024 GMT).
:white_check_mark: *example.com* - Will expire in 247 days (Mar  1 23:59:59 2025 GMT).

Metadata

Release files for ops-py-cert-report 5.0.3

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for ops-py-cert-report 5.0.3
File Size Uploaded
ops_py_cert_report-5.0.3.tar.gz 4.9 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for ops-py-cert-report 5.0.3
File Interpreter ABI Platform
ops_py_cert_report-5.0.3-py3-none-any.whl Python 3 none any Details

Total release size: 10.9 kB

Release files / ops_py_cert_report-5.0.3.tar.gz

Download URL ops_py_cert_report-5.0.3.tar.gz
Size 4.9 kB
Tags Source
SHA-256 checksum
How to use checksums
cfb2b26a4e3e009cd5016bbafb05ee21015604aac13a902ee6447fcab18d7a3e
BLAKE2b-256 checksum
How to use checksums
c836c7caf03048bb6e91dd394ed9ea0b9553a43f6001da277cecd75696af9ff7
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/5.1.1 CPython/3.12.7

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Nov 18, 2024.

Transparency log

Release files / ops_py_cert_report-5.0.3-py3-none-any.whl

Download URL ops_py_cert_report-5.0.3-py3-none-any.whl
Size 5.9 kB
Tags Python 3
SHA-256 checksum
How to use checksums
c636d3e0f1e0745dc492e874ef0b856a5c4aa2cfd00943e029732c4b2f46d0f3
BLAKE2b-256 checksum
How to use checksums
34f0547ec6e087420672602b9bf51cba8bf27b2d879c115ae715818003899d0f
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/5.1.1 CPython/3.12.7

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Nov 18, 2024.

Transparency log

Release history Release notifications | RSS feed

This release

5.0.3 This release

2 release files

5.0.2

2 release files

5.0.1

2 release files

5.0.0

2 release files

4.3.0

2 release files

4.2.2

2 release files

4.2.1

2 release files

4.2.0

2 release files

4.1.0

2 release files

4.0.1

2 release files

4.0.0

2 release files

3.3.1

2 release files

3.3.0

2 release files

3.2.0

2 release files

3.1.1

2 release files

3.1.0

2 release files

3.0.0

2 release files

2.1.1

2 release files

2.1.0

2 release files

2.0.0

2 release files

1.0.1

2 release files

1.0.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page