Socket
Socket
Sign inDemoInstall

countdoom

Package Overview
Dependencies
Maintainers
1
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

countdoom

Fetch the current Doomsday Clock from TheBulletin.org


Maintainers
1

.. sidebar:: |badge-github| |badge-docs|

|badge-python|
|badge-pypi|
|badge-wheel|

|badge-contributors|
|badge-license|

######################################################## 🤯 Countdoom: a Doomsday Clock client 🕚 |badge-twitter| ########################################################

Python package <https://pypi.org/project/countdoom/>__ to fetch and digest the current Doomsday Clock_ world threat assessment from TheBulletin.org <https://thebulletin.org/>__.

Free software released under MIT License, with source code available on GitHub, Python package distributed on PyPI, and documentation hosted on Read the Docs.


Features |badge-codecov| |badge-codeclimate-maintain| |badge-codefactor| |badge-black|


  • Fetches the current Doomsday Clock_ value from the Bulletin of the Atomic Scientists_.

  • Converts the Doomsday Clock sentence into:

    • countdown seconds 60
    • countdown minutes 1
    • clock 11:59
    • time 23:59:00
  • Offers a command-line interface.

  • Uses Async IO_ for efficient Python integration.

.. figure:: https://github.com/renemarc/countdoom/blob/master/docs/screenshot.png?raw=true :align: center :alt: Command-line interface output :figclass: align-center

    *Countdoom: a Doomsday Clock client.*

.. |badge-black| image:: https://img.shields.io/badge/code%20style-black-000000.svg?logo=data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPCFET0NUWVBFIHN2ZyBQVUJMSUMgIi0vL1czQy8vRFREIFNWRyAxLjEvL0VOIiAiaHR0cDovL3d3dy53My5vcmcvR3JhcGhpY3MvU1ZHLzEuMS9EVEQvc3ZnMTEuZHRkIj4KPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB2ZXJzaW9uPSIxLjEiICB3aWR0aD0iMjQiIGhlaWdodD0iMjQiIHZpZXdCb3g9IjAgMCAyNCAyNCI+CiAgIDxwYXRoIGZpbGw9IiNmZmZmZmYiIGQ9Ik0xMiwyQTEwLDEwIDAgMCwxIDIyLDEyQTEwLDEwIDAgMCwxIDEyLDIyQTEwLDEwIDAgMCwxIDIsMTJBMTAsMTAgMCAwLDEgMTIsMk0xNSwxMC41VjlBMiwyIDAgMCwwIDEzLDdIOVYxN0gxM0EyLDIgMCAwLDAgMTUsMTVWMTMuNUMxNSwxMi43IDE0LjMsMTIgMTMuNSwxMkMxNC4zLDEyIDE1LDExLjMgMTUsMTAuNU0xMywxNUgxMVYxM0gxM1YxNU0xMywxMUgxMVY5SDEzVjExWiIgLz4KPC9zdmc+&cacheSeconds=86400 :target: https://black.readthedocs.io/ :alt: Code style: black

.. |badge-codeclimate-maintain| image:: https://img.shields.io/codeclimate/maintainability/renemarc/countdoom.svg?logo=code-climate&cacheSeconds=300 :target: https://codeclimate.com/github/renemarc/countdoom :alt: Code Climate maintainability

.. |badge-codecov| image:: https://img.shields.io/codecov/c/github/renemarc/countdoom?logo=codecov&logoColor=white&cacheSeconds=300 :target: https://codecov.io/gh/renemarc/countdoom :alt: CodeCov coverage

.. |badge-codefactor| image:: https://img.shields.io/codefactor/grade/github/renemarc/countdoom?logo=codefactor&logoColor=white&cacheSeconds=300 :target: https://www.codefactor.io/repository/github/renemarc/countdoom :alt: CodeFactor rating

.. |badge-contributors| image:: https://img.shields.io/badge/all_contributors-welcome-orange.svg?logo=data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPCFET0NUWVBFIHN2ZyBQVUJMSUMgIi0vL1czQy8vRFREIFNWRyAxLjEvL0VOIiAiaHR0cDovL3d3dy53My5vcmcvR3JhcGhpY3MvU1ZHLzEuMS9EVEQvc3ZnMTEuZHRkIj4KPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB2ZXJzaW9uPSIxLjEiICB3aWR0aD0iMjQiIGhlaWdodD0iMjQiIHZpZXdCb3g9IjAgMCAyNCAyNCI+CiAgIDxwYXRoIGZpbGw9IiNmZmZmZmYiIGQ9Ik0xNiAxN1YxOUgyVjE3UzIgMTMgOSAxMyAxNiAxNyAxNiAxN00xMi41IDcuNUEzLjUgMy41IDAgMSAwIDkgMTFBMy41IDMuNSAwIDAgMCAxMi41IDcuNU0xNS45NCAxM0E1LjMyIDUuMzIgMCAwIDEgMTggMTdWMTlIMjJWMTdTMjIgMTMuMzcgMTUuOTQgMTNNMTUgNEEzLjM5IDMuMzkgMCAwIDAgMTMuMDcgNC41OUE1IDUgMCAwIDEgMTMuMDcgMTAuNDFBMy4zOSAzLjM5IDAgMCAwIDE1IDExQTMuNSAzLjUgMCAwIDAgMTUgNFoiIC8+Cjwvc3ZnPg==&cacheSeconds=21600 :target: https://countdoom.readthedocs.io/en/latest/contributing.html :alt: All Contributors

.. |badge-docs| image:: https://img.shields.io/badge/-Read_the_Docs-blue?logo=read-the-docs&logoColor=white&cacheSeconds=86400 :target: Read the Docs_ :alt: Documentation at Read The Docs

.. |badge-github| image:: https://img.shields.io/badge/-Fork_me_on_GitHub-grey?logo=github&cacheSeconds=86400 :target: GitHub_ :alt: Fork me on GitHub

.. |badge-license| image:: https://img.shields.io/github/license/renemarc/countdoom.svg?logo=data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz48IURPQ1RZUEUgc3ZnIFBVQkxJQyAiLS8vVzNDLy9EVEQgU1ZHIDEuMS8vRU4iICJodHRwOi8vd3d3LnczLm9yZy9HcmFwaGljcy9TVkcvMS4xL0RURC9zdmcxMS5kdGQiPjxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIgdmVyc2lvbj0iMS4xIiB3aWR0aD0iMjQiIGhlaWdodD0iMjQiIHZpZXdCb3g9IjAgMCAyNCAyNCI+PHBhdGggZD0iTTE3LjgsMjBDMTcuNCwyMS4yIDE2LjMsMjIgMTUsMjJINUMzLjMsMjIgMiwyMC43IDIsMTlWMThINUwxNC4yLDE4QzE0LjYsMTkuMiAxNS43LDIwIDE3LDIwSDE3LjhNMTksMkMyMC43LDIgMjIsMy4zIDIyLDVWNkgyMFY1QzIwLDQuNCAxOS42LDQgMTksNEMxOC40LDQgMTgsNC40IDE4LDVWMThIMTdDMTYuNCwxOCAxNiwxNy42IDE2LDE3VjE2SDVWNUM1LDMuMyA2LjMsMiA4LDJIMTlNOCw2VjhIMTVWNkg4TTgsMTBWMTJIMTRWMTBIOFoiIGZpbGw9IiNmZmZmZmYiIC8+PC9zdmc+Cg==&cacheSeconds=86400 :target: MIT License_ :alt: License

.. |badge-pypi| image:: https://img.shields.io/pypi/v/countdoom.svg?logo=pypi&logoColor=white&cacheSeconds=21600 :target: PyPI_ :alt: Python Package Index

.. |badge-python| image:: https://img.shields.io/pypi/pyversions/countdoom.svg?logo=python&logoColor=White&cacheSeconds=21600 :target: https://pypi.python.org/pypi/countdoom :alt: Python Versions

.. |badge-twitter| image:: https://img.shields.io/twitter/url/https/github.com/renemarc/countdoom.svg?style=social&cacheSeconds=86400 :target: https://twitter.com/intent/tweet?text=Countdoom%3A%20a%20%23DoomsdayClock%20client%20package%20for%20%23Python%21&via=renemarc&hashtags=Doomsday,BulletinAtomic :alt: Twitter

.. |badge-wheel| image:: https://img.shields.io/pypi/wheel/countdoom.svg?logo=data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPCFET0NUWVBFIHN2ZyBQVUJMSUMgIi0vL1czQy8vRFREIFNWRyAxLjEvL0VOIiAiaHR0cDovL3d3dy53My5vcmcvR3JhcGhpY3MvU1ZHLzEuMS9EVEQvc3ZnMTEuZHRkIj4KPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB2ZXJzaW9uPSIxLjEiICB3aWR0aD0iMjQiIGhlaWdodD0iMjQiIHZpZXdCb3g9IjAgMCAyNCAyNCI+CiAgIDxwYXRoIGZpbGw9IiNmZmZmZmYiIGQ9Ik0xMiwyQTEwLDEwIDAgMCwwIDIsMTJBMTAsMTAgMCAwLDAgMTIsMjJBMTAsMTAgMCAwLDAgMjIsMTJBMTAsMTAgMCAwLDAgMTIsMk0xMiw5QTMsMyAwIDAsMSAxNSwxMkEzLDMgMCAwLDEgMTIsMTVBMywzIDAgMCwxIDksMTJBMywzIDAgMCwxIDEyLDlaIiAvPgo8L3N2Zz4=&cacheSeconds=86400 :target: https://pypi.org/project/countdoom/#files :alt: Python wheel

.. _Async IO: https://docs.python.org/3/library/asyncio.html .. _Bulletin of the Atomic Scientists: https://thebulletin.org/ .. _Doomsday Clock: https://thebulletin.org/doomsday-clock/ .. _GitHub: https://github.com/renemarc/countdoom/ .. _MIT License: https://github.com/renemarc/countdoom/blob/master/LICENSE .. _PyPI: https://pypi.org/project/countdoom/ .. _Read the Docs: https://countdoom.readthedocs.io/


Changelog |badge-changelog| |badge-semver|


All notable changes to Countdoom will be documented in this list. The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.

Unreleased_ |badge-commits-since-release|

No documented unreleased changes

v0.2.1_ — 2020-03-07

Added

  • Code of Conduct_ based on Contributor Covenant_.
  • Continuous deployment to PyPI when new versions are pushed to the repo.

Fixed

  • Spelling, links and images in documentation.

.. _Code of Conduct: https://github.com/renemarc/countdoom/blob/master/CODE_OF_CONDUCT.md .. _Contributor Covenant: https://www.contributor-covenant.org/version/2/0/code_of_conduct/

v0.2.0_ — 2020-03-03

Alpha release. Since the Doomsday Clock <https://thebulletin.org/doomsday-clock/>__ has (…unfortunately 😩) started counting in seconds for the first time since 1947, the code was adapted to also handle sub-minute values.

Added

  • minutes as an output format option and in returned data set.
  • Repo-specific Markdown README file_.
  • Documentation at Read The Docs_.
  • Pull Request template.
  • Support for All Contributors_ specifications and service app.
  • Support for Code Climate_ code quality checker service.
  • Support for CodeCov_ test coverage report analyzer service.
  • Support for DeepSource_ code security checker service.
  • Support for Keep a Changelog_ specifications.
  • Support for mypy_ static type checker.
  • Support for Probot's Auto-Comment_ response service app.
  • Support for Probot's helPR_ issue labeler service app.
  • Support for Probot's No Response Info_ issue closing service app.
  • Support for Probot's Request Info_ issue validating service app.
  • Support for Probot's Stale Info_ auto-closing service app.
  • Support for Probot's Welcome_ greeting service app.

Changed

  • BREAKING: Return countdown in seconds instead of minutes.
  • BREAKING: Rename project to Countdoom.
  • Expand Tox test environments to include Python 3.5–3.8, Pypy3, formatter, and linters.
  • Expand test coverage to cover seconds to midnight.
  • Improve type hints.
  • Expand contributing guidelines.
  • Improve install documentation.
  • Move Asyncio loop handling from package __main__.py to cli.py.
  • Simplify support tools configuration files.
  • Regroup dependencies listing to setup.py.
  • Add descriptive file headers and modelines.
  • Split Issue template_ into Bug Report, Feature Request, Questions and Help, and Agile User Story.

Fixed

  • Revise sentence extraction logic to include seconds to midnight.

Removed

  • Files requirements.txt and requirements_dev.txt (now in setup.py).
  • Support for Pyup_ dependency checker service.

.. _Markdown README file: https://github.com/renemarc/countdoom .. _Read The Docs: https://countdoom.readthedocs.io/ .. _All Contributors: https://allcontributors.org/ .. _Code Climate: https://codeclimate.com/github/renemarc/countdoom .. _CodeCov: https://codecov.io/gh/renemarc/countdoom .. _DeepSource: https://deepsource.io/gh/renemarc/countdoom/ .. _mypy: http://mypy-lang.org .. _Probot's Auto-Comment: https://probot.github.io/apps/auto-comment/ .. _Probot's helPR: https://probot.github.io/apps/helpr/ .. _Probot's No Response Info: https://probot.github.io/apps/no-response/ .. _Probot's Request Info: https://probot.github.io/apps/request-info/ .. _Probot's Stale Info: https://probot.github.io/apps/stale/ .. _Probot's Welcome: https://probot.github.io/apps/welcome/ .. _Issue template: https://github.com/renemarc/countdoom/issues/new/choose

v0.1.0_ — 2020-02-23

Inital release.

Added

  • Extraction of minutes to midnight from TheBulletin.org_.
  • Tests with pytest_.
  • Command-line interface.
  • Integration examples.
  • Importable client module with Asyncio_ support.
  • Makefile_ build assistant.
  • Basic Sphinx_ documentation.
  • Badges_ to README file.
  • Support for bandit_ security issues checker.
  • Support for Black_ code formatter.
  • Support for Coverage.py_ unit tests measuring tool.
  • Support for EditorConfig_ coding style config file.
  • Support for Flake8_ coding style enforcer.
  • Support for isort_ imports organizer.
  • Support for pip_ dependencies manager.
  • Support for pre-commit_ git hooks with linters, formatters, and validators.
  • Support for Pylint_ code analyzer.
  • Support for Pyup_ dependency checker service.
  • Support for Tox_ automation integration.
  • Support for Travis-CI_ continuous integration service.

.. _Asyncio: https://docs.python.org/3/library/asyncio.html .. _Badges: https://shields.io/ .. _bandit: https://bandit.readthedocs.io/ .. _Black: https://black.readthedocs.io/ .. _Coverage.py: https://coverage.readthedocs.io/ .. _EditorConfig: https://editorconfig.org/ .. _Flake8: https://flake8.pycqa.org/ .. _isort: https://github.com/timothycrosley/isort .. _Keep a Changelog: https://keepachangelog.com/en/1.0.0/ .. _Makefile: https://www.gnu.org/software/make/manual/make.html .. _pip: https://pip.pypa.io/ .. _pre-commit: https://pre-commit.com/ .. _Pylint: https://www.pylint.org/ .. _pytest: https://docs.pytest.org/ .. _Pyup: https://pyup.io/ .. _Semantic Versioning: https://semver.org/spec/v2.0.0.html .. _Sphinx: https://www.sphinx-doc.org/ .. _TheBulletin.org: https://thebulletin.org .. _Tox: https://tox.readthedocs.io/ .. _Travis-CI: https://travis-ci.com/renemarc/countdoom

.. _Unreleased: https://github.com/renemarc/countdoom/compare/v0.2.1...master .. _v0.2.1: https://github.com/renemarc/countdoom/releases/tag/v0.2.1 .. _v0.2.0: https://github.com/renemarc/countdoom/releases/tag/v0.2.0 .. _v0.1.0: https://github.com/renemarc/countdoom/releases/tag/v0.1.0

.. |badge-changelog| image:: https://img.shields.io/badge/keep%20a%20changelog-v1.0.0-%23E05735?logo=data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPCFET0NUWVBFIHN2ZyBQVUJMSUMgIi0vL1czQy8vRFREIFNWRyAxLjEvL0VOIiAiaHR0cDovL3d3dy53My5vcmcvR3JhcGhpY3MvU1ZHLzEuMS9EVEQvc3ZnMTEuZHRkIj4KPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB2ZXJzaW9uPSIxLjEiICB3aWR0aD0iMjQiIGhlaWdodD0iMjQiIHZpZXdCb3g9IjAgMCAyNCAyNCI+CiAgIDxwYXRoIGZpbGw9IiNmZmZmZmYiIGQ9Ik01LDE1LjVMNy41LDIwSDIuNUw1LDE1LjVNOSwxOUgyMVYxN0g5VjE5TTUsOS41TDcuNSwxNEgyLjVMNSw5LjVNOSwxM0gyMVYxMUg5VjEzTTUsMy41TDcuNSw4SDIuNUw1LDMuNU05LDdIMjFWNUg5VjdaIiAvPgo8L3N2Zz4=&cacheSeconds=86400 :target: Keep a Changelog_ :alt: Keep a Changelog v1.0.0

.. |badge-commits-since-release| image:: https://img.shields.io/github/commits-since/renemarc/countdoom/latest.svg?label=commits%20to%20be%20deployed&logo=data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPCFET0NUWVBFIHN2ZyBQVUJMSUMgIi0vL1czQy8vRFREIFNWRyAxLjEvL0VOIiAiaHR0cDovL3d3dy53My5vcmcvR3JhcGhpY3MvU1ZHLzEuMS9EVEQvc3ZnMTEuZHRkIj4KPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB2ZXJzaW9uPSIxLjEiIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgdmlld0JveD0iMCAwIDI0IDI0Ij4KCTxwYXRoIGZpbGw9IiNmZmZmZmYiIGQ9Ik0xMy41LDhIMTJWMTNMMTYuMjgsMTUuNTRMMTcsMTQuMzNMMTMuNSwxMi4yNVY4TTEzLDNBOSw5IDAgMCwwIDQsMTJIMUw0Ljk2LDE2LjAzTDksMTJINkE3LDcgMCAwLDEgMTMsNUE3LDcgMCAwLDEgMjAsMTJBNyw3IDAgMCwxIDEzLDE5QzExLjA3LDE5IDkuMzIsMTguMjEgOC4wNiwxNi45NEw2LjY0LDE4LjM2QzguMjcsMjAgMTAuNSwyMSAxMywyMUE5LDkgMCAwLDAgMjIsMTJBOSw5IDAgMCwwIDEzLDMiIC8+Cjwvc3ZnPgo=&cacheSeconds=300 :target: Unreleased_ :alt: Commits to be deployed

.. |badge-semver| image:: https://img.shields.io/badge/semver-v2.0.0-black?logo=data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPCFET0NUWVBFIHN2ZyBQVUJMSUMgIi0vL1czQy8vRFREIFNWRyAxLjEvL0VOIiAiaHR0cDovL3d3dy53My5vcmcvR3JhcGhpY3MvU1ZHLzEuMS9EVEQvc3ZnMTEuZHRkIj4KPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB2ZXJzaW9uPSIxLjEiICB3aWR0aD0iMjQiIGhlaWdodD0iMjQiIHZpZXdCb3g9IjAgMCAyNCAyNCI+CiAgIDxwYXRoIGZpbGw9IiNmZmZmZmYiIGQ9Ik0xNC42LDE2LjZMMTkuMiwxMkwxNC42LDcuNEwxNiw2TDIyLDEyTDE2LDE4TDE0LjYsMTYuNk05LjQsMTYuNkw0LjgsMTJMOS40LDcuNEw4LDZMMiwxMkw4LDE4TDkuNCwxNi42WiIgLz4KPC9zdmc+&cacheSeconds=86400 :target: Semantic Versioning_ :alt: Semantic Versioning v2.0.0

Keywords

FAQs


Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc