Skip to main content

Democritus functions for working with domains.

Project description

Democritus Domains

PyPI CI Lint codecov The Democritus Project uses semver version 2.0.0 The Democritus Project uses black to format code License: LGPL v3

Democritus functions[1] for working with domains.

[1] Democritus functions are simple, effective, modular, well-tested, and well-documented Python functions.

We use d8s (pronounced "dee-eights") as an abbreviation for democritus (you can read more about this here).

Installation

pip install d8s-domains

Usage

You import the library like:

from d8s_domains import *

Once imported, you can use any of the functions listed below.

Functions

  • def is_domain(possible_domain: str) -> bool:
        """Check if the given string is a domain."""
    
  • def domain_examples(n: int = 10) -> List[str]:
        """Create n domain names."""
    
  • def domains_find(text: str, **kwargs: bool) -> List[str]:
        """Parse domain names from the given text."""
    
  • def domain_dns(domain: str) -> str:
        """Get the DNS results for the given domain."""
    
  • def domain_certificate_peers(domain: str) -> List[str]:
        """Return a list of all domains sharing a certificate with the given domain."""
    
  • def domain_whois(domain: str) -> Optional[Dict[str, Any]]:
        """."""
    
  • def domain_subdomains(domain_name: str) -> str:
        """Get the subdomains for the given domain name."""
    
  • def domain_second_level_name(domain_name: str) -> str:
        """Get the second level name for the given domain name (e.g. google from https://google.co.uk)."""
    
  • def domain_tld(domain_name: str) -> str:
        """Get the top level domain for the given domain name."""
    
  • def domain_rank(domain_name: str) -> int:
        """."""
    
  • def domain_is_member(domain_to_check: str, domain_base: str) -> bool:
        """Given two domains, check if the first domain is a member of the second domain.
    A member means it is either the domain itself, or a subdomain of the domain."""
    
  • def domain_as_punycode(domain_name: str) -> str:
        """Convert the given domain name to Punycode (https://en.wikipedia.org/wiki/Punycode)."""
    
  • def domain_as_unicode(domain_name: str) -> str:
        """Convert a given domain name to Unicode (https://en.wikipedia.org/wiki/Unicode)."""
    
  • def tlds() -> List[str]:
        """Get the top level domains from https://iana.org/."""
    
  • def is_tld(possible_tld: str) -> bool:
        """Return whether or not the possible_tld is a valid tld."""
    

Development

👋  If you want to get involved in this project, we have some short, helpful guides below:

If you have any questions or there is anything we did not cover, please raise an issue and we'll be happy to help.

Credits

This package was created with Cookiecutter and Floyd Hightower's Python project template.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

d8s_domains-0.6.0.tar.gz (26.1 kB view details)

Uploaded Source

Built Distribution

d8s_domains-0.6.0-py2.py3-none-any.whl (22.2 kB view details)

Uploaded Python 2 Python 3

File details

Details for the file d8s_domains-0.6.0.tar.gz.

File metadata

  • Download URL: d8s_domains-0.6.0.tar.gz
  • Upload date:
  • Size: 26.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.1 importlib_metadata/4.0.1 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.60.0 CPython/3.9.5

File hashes

Hashes for d8s_domains-0.6.0.tar.gz
Algorithm Hash digest
SHA256 19509f954a45324e0a9fdf9ce7437d022d06e67df6e9e9f2b5b2b19f08ac3793
MD5 ca7e5b0778f86a8d493cb0f24f68698a
BLAKE2b-256 48a5f5f581edb4edfec12785b599d6f58d77e2b5a983468d0916a26800f0ae26

See more details on using hashes here.

File details

Details for the file d8s_domains-0.6.0-py2.py3-none-any.whl.

File metadata

  • Download URL: d8s_domains-0.6.0-py2.py3-none-any.whl
  • Upload date:
  • Size: 22.2 kB
  • Tags: Python 2, Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.1 importlib_metadata/4.0.1 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.60.0 CPython/3.9.5

File hashes

Hashes for d8s_domains-0.6.0-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 2d63e5fe67fe364eff03843230a6d7055a9f40b60c77bb2241d0a1e842d2969a
MD5 0dba9a4cff7c7b10e7926dda31d1b01c
BLAKE2b-256 4db219fcb150cd7b68e930ad1b21de52acdd83800b4175e1aabd23587a8941c5

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page