semvec/pypi-packages huggingface dataset:
pypdns 2.3.2
Python API for PDNS.
Requires Python: >=3.10

[![Documentation Status](https://readthedocs.org/projects/pypdns/badge/?version=latest)](https://pypdns.readthedocs.io/en/latest/?badge=latest)

Client API for PDNS
===================

Client API to query any Passive DNS implementation following the Passive DNS - Common Output Format.

* https://datatracker.ietf.org/doc/draft-dulaunoy-dnsop-passive-dns-cof/

## Installation

```bash
pip install pypdns
```

## Usage

### Command line

You can use the `pdns` command to trigger a request.

```bash
usage: pdns [-h] --username USERNAME --password PASSWORD --query QUERY [--rrtype RRTYPE]

Triggers a request againse CIRCL Passive DNS.

options:
  -h, --help           show this help message and exit
  --username USERNAME  The username of you account.
  --password PASSWORD  The password of you account.
  --query QUERY        The query, can be an IP. domain, hostname, TLD.
  --rrtype RRTYPE      Filter the request based on the RR Type.
```

### Library

See [API Reference](https://pypdns.readthedocs.io/en/latest/api_reference.html)


Example
=======

~~~~
import pypdns
import json
x = pypdns.PyPDNS(basic_auth=('username','yourpassword'))

for record in x.iter_query(q='circl.lu', filter_rrtype='A'):
    print(json.dumps(record.record, indent=2))
~~~~

Passive DNS Services
====================

* (default) [CIRCL Passive DNS](http://www.circl.lu/services/passive-dns/)
radio-curses 0.14.1
A OPML radio player
Requires Python: >=3.9
Keywords: internet, radio

|pypi| |github|

radio-curses
=============

Internet radio in the terminal. A fork of `curseradio`_.

radio-curses is a `curses` interface for browsing and playing an `OPML`_ directory of internet radio streams.
It is designed to use the *tunein* directory found at `opml.radiotime.com`_, but could be adapted to others.

Audio playback uses `mpv`_. radio-curses requires `python3` and the libraries `requests`_, `lxml`_ and `xdg-base-dirs`_.

|demo|

The current hotkeys are:
    * h: help screen
    * q, Esc: Quit the program
    * j, Down: Move selection down
    * k, Up: Move selection up
    * PgUp: Page up
    * PgDown: Page down
    * g, Home: Move to first item
    * G, End: Move to last item
    * Shift-Up,Down: Move a record up/down
    * Insert: Add to Favourites
    * Delete: Delete from Favourites
    * Enter: Play selected radio
    * Space: Stop/Resume
    * Ctrl-L: Copy URL to clipboard

.. |pypi| image:: https://img.shields.io/pypi/v/radio-curses
          :target: https://pypi.org/project/radio-curses/
.. |github| image:: https://img.shields.io/github/v/tag/shamilbi/radio-curses?label=github
            :target: https://github.com/shamilbi/radio-curses/
.. |demo| image:: https://asciinema.org/a/NB9Gn8NcN3tKxB28ue86KJLmW.png
          :target: https://asciinema.org/a/NB9Gn8NcN3tKxB28ue86KJLmW?autoplay=1
          :width: 100%
.. _curseradio: https://github.com/chronitis/curseradio
.. _OPML: https://en.wikipedia.org/wiki/OPML
.. _opml.radiotime.com: https://opml.radiotime.com/
.. _mpv: https://github.com/mpv-player/mpv
.. _requests: https://pypi.org/project/requests/
.. _lxml: https://pypi.org/project/lxml/
.. _xdg-base-dirs: https://pypi.org/project/xdg-base-dirs/