PyFunceble package

Subpackages

Submodules

PyFunceble.exceptions module

The tool to check the availability or syntax of domain, IP or URL.

██████╗ ██╗   ██╗███████╗██╗   ██╗███╗   ██╗ ██████╗███████╗██████╗ ██╗     ███████╗
██╔══██╗╚██╗ ██╔╝██╔════╝██║   ██║████╗  ██║██╔════╝██╔════╝██╔══██╗██║     ██╔════╝
██████╔╝ ╚████╔╝ █████╗  ██║   ██║██╔██╗ ██║██║     █████╗  ██████╔╝██║     █████╗
██╔═══╝   ╚██╔╝  ██╔══╝  ██║   ██║██║╚██╗██║██║     ██╔══╝  ██╔══██╗██║     ██╔══╝
██║        ██║   ██║     ╚██████╔╝██║ ╚████║╚██████╗███████╗██████╔╝███████╗███████╗
╚═╝        ╚═╝   ╚═╝      ╚═════╝ ╚═╝  ╚═══╝ ╚═════╝╚══════╝╚═════╝ ╚══════╝╚══════╝

Provides our exceptions.

Author:
Nissar Chababy, @funilrys, contactTATAfunilrysTODTODcom
Special thanks:
https://pyfunceble.github.io/#/special-thanks
Contributors:
https://pyfunceble.github.io/#/contributors
Project link:
https://github.com/funilrys/PyFunceble
Project documentation:
https://pyfunceble.readthedocs.io/en/dev/
Project homepage:
https://pyfunceble.github.io/

License:

Copyright 2017, 2018, 2019, 2020, 2022 Nissar Chababy

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at

    http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
exception PyFunceble.exceptions.NoInternetConnection[source]

Bases: PyFunceble.exceptions.PyFuncebleException

Describes a missing connection.

exception PyFunceble.exceptions.PleaseUpdatePyFunceble[source]

Bases: PyFunceble.exceptions.PyFuncebleException

Describes the impossiblity to continue with an older version.

exception PyFunceble.exceptions.PyFuncebleException[source]

Bases: Exception

Describes our own exceptions.

PyFunceble.facility module

The tool to check the availability or syntax of domain, IP or URL.

██████╗ ██╗   ██╗███████╗██╗   ██╗███╗   ██╗ ██████╗███████╗██████╗ ██╗     ███████╗
██╔══██╗╚██╗ ██╔╝██╔════╝██║   ██║████╗  ██║██╔════╝██╔════╝██╔══██╗██║     ██╔════╝
██████╔╝ ╚████╔╝ █████╗  ██║   ██║██╔██╗ ██║██║     █████╗  ██████╔╝██║     █████╗
██╔═══╝   ╚██╔╝  ██╔══╝  ██║   ██║██║╚██╗██║██║     ██╔══╝  ██╔══██╗██║     ██╔══╝
██║        ██║   ██║     ╚██████╔╝██║ ╚████║╚██████╗███████╗██████╔╝███████╗███████╗
╚═╝        ╚═╝   ╚═╝      ╚═════╝ ╚═╝  ╚═══╝ ╚═════╝╚══════╝╚═════╝ ╚══════╝╚══════╝

Provides everything which we may need while running.

Author:
Nissar Chababy, @funilrys, contactTATAfunilrysTODTODcom
Special thanks:
https://pyfunceble.github.io/#/special-thanks
Contributors:
https://pyfunceble.github.io/#/contributors
Project link:
https://github.com/funilrys/PyFunceble
Project documentation:
https://pyfunceble.readthedocs.io/en/dev/
Project homepage:
https://pyfunceble.github.io/

License:

Copyright 2017, 2018, 2019, 2020, 2022 Nissar Chababy

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at

    http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.

PyFunceble.factory module

The tool to check the availability or syntax of domain, IP or URL.

██████╗ ██╗   ██╗███████╗██╗   ██╗███╗   ██╗ ██████╗███████╗██████╗ ██╗     ███████╗
██╔══██╗╚██╗ ██╔╝██╔════╝██║   ██║████╗  ██║██╔════╝██╔════╝██╔══██╗██║     ██╔════╝
██████╔╝ ╚████╔╝ █████╗  ██║   ██║██╔██╗ ██║██║     █████╗  ██████╔╝██║     █████╗
██╔═══╝   ╚██╔╝  ██╔══╝  ██║   ██║██║╚██╗██║██║     ██╔══╝  ██╔══██╗██║     ██╔══╝
██║        ██║   ██║     ╚██████╔╝██║ ╚████║╚██████╗███████╗██████╔╝███████╗███████╗
╚═╝        ╚═╝   ╚═╝      ╚═════╝ ╚═╝  ╚═══╝ ╚═════╝╚══════╝╚═════╝ ╚══════╝╚══════╝

Provides everything which doesn’t get through the door of the facility.

Author:
Nissar Chababy, @funilrys, contactTATAfunilrysTODTODcom
Special thanks:
https://pyfunceble.github.io/#/special-thanks
Contributors:
https://pyfunceble.github.io/#/contributors
Project link:
https://github.com/funilrys/PyFunceble
Project documentation:
https://pyfunceble.readthedocs.io/en/dev/
Project homepage:
https://pyfunceble.github.io/

License:

Copyright 2017, 2018, 2019, 2020, 2022 Nissar Chababy

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at

    http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.

PyFunceble.logger module

The tool to check the availability or syntax of domain, IP or URL.

██████╗ ██╗   ██╗███████╗██╗   ██╗███╗   ██╗ ██████╗███████╗██████╗ ██╗     ███████╗
██╔══██╗╚██╗ ██╔╝██╔════╝██║   ██║████╗  ██║██╔════╝██╔════╝██╔══██╗██║     ██╔════╝
██████╔╝ ╚████╔╝ █████╗  ██║   ██║██╔██╗ ██║██║     █████╗  ██████╔╝██║     █████╗
██╔═══╝   ╚██╔╝  ██╔══╝  ██║   ██║██║╚██╗██║██║     ██╔══╝  ██╔══██╗██║     ██╔══╝
██║        ██║   ██║     ╚██████╔╝██║ ╚████║╚██████╗███████╗██████╔╝███████╗███████╗
╚═╝        ╚═╝   ╚═╝      ╚═════╝ ╚═╝  ╚═══╝ ╚═════╝╚══════╝╚═════╝ ╚══════╝╚══════╝

Provides our logger.

Author:
Nissar Chababy, @funilrys, contactTATAfunilrysTODTODcom
Special thanks:
https://pyfunceble.github.io/#/special-thanks
Contributors:
https://pyfunceble.github.io/#/contributors
Project link:
https://github.com/funilrys/PyFunceble
Project documentation:
https://pyfunceble.readthedocs.io/en/dev/
Project homepage:
https://pyfunceble.github.io/

License:

Copyright 2017, 2018, 2019, 2020, 2022 Nissar Chababy

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at

    http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
class PyFunceble.logger.Logger(*, activated: Optional[bool] = None, min_level: Optional[int] = None, output_dir: Optional[str] = None)[source]

Bases: object

Provides our logging logic.

Warning

There is several way to activate the logging.

  1. Through the PYFUNCEBLE_DEBUG_ON_SCREEN environment variable.
  2. Through the DEBUG_PYFUNCEBLE_ON_SCREEN environment variable.
  3. Through the PYFUNCEBLE_DEBUG environment variable.
  4. Through the DEBUG_PYFUNCEBLE environment variable.
  5. Through the PyFunceble.logger.Logger.set_activated() method.
OWN_FORMAT = '[%(asctime)s | %(levelname)s | %(origin_path)s:%(origin_line)s@%(origin_func)s | PPID%(process)d:%(processName)s]:\n%(message)s\n'

Our very own format.

ROOT_FORMAT = '[%(asctime)s::%(levelname)s](PID%(process)s:%(processName)s): %(message)s'

The format of the root loggy.

STD_MIN_LEVEL = 20
activated

Provides the current state of the _activated attribute.

authorized

Provides the authorization to actually log.

critical(*args, **kwargs)[source]

Logs to the PyFunceble.critical logger.

critical_logger = None
debug(*args, **kwargs)[source]

Logs to the PyFunceble.debug logger.

debug_logger = None
destroy_loggers() → PyFunceble.logger.Logger[source]

Destroyes all existing loggers.

env_var_helper = <PyFunceble.helpers.environment_variable.EnvironmentVariableHelper object>
error(*args, **kwargs)[source]

Logs to the PyFunceble.error logger.

error_logger = None
exception(*args, **kwargs)[source]

Logs to the PyFunceble.exception logger.

fatal(*args, **kwargs)[source]

Logs to the PyFunceble.fatal logger.

fatal_logger = None
get_handler(level_name: str) → Union[logging.StreamHandler, logging.handlers.RotatingFileHandler, None][source]

Given a level name, this method provides the right handler for it!

get_next_logger() → Generator[None, Tuple[logging.Logger, str], None][source]

Provides the next logger.

static get_origin() → dict[source]

Provides the informatioon about where the logger was triggered.

Returns:A tuple, which is composed of the following.

(trigger file path, trigger line, trigger function/method name)

guess_all_settings() → PyFunceble.logger.Logger[source]

Try to guess all settings.

guess_and_set_min_level() → PyFunceble.logger.Logger[source]

Tries to guess the min level from the configuration.

info(*args, **kwargs)[source]

Logs to the PyFunceble.info logger.

info_logger = None
init_loggers() → PyFunceble.logger.Logger[source]

Init all our logger.

min_level

Provides the current state of the _min_level attribute.

on_file

Provides the authorization to log on file.

on_screen

Provides the authorization to log on screen.

output_directory

Provides the current state of the _output_directory attribute.

own_formatter = <logging.Formatter object>
root_formatter = <logging.Formatter object>
set_activated(value: bool) → PyFunceble.logger.Logger[source]

Sets the value of the activated attribute.

Parameters:value – The value to set.
set_min_level(value: Union[int, str]) → PyFunceble.logger.Logger[source]

Sets the minimum level to log.

Parameters:value – The value to set.
set_output_directory(value: str) → PyFunceble.logger.Logger[source]

Sets the directory to write.

Parameters:value – The value to set.
single_logger_factory()[source]

Provides the general factory.

Parameters:level_name – The level to log.
sqlalchemy_logger = None
warning(*args, **kwargs)[source]

Logs to the PyFunceble.warning logger.

warning_logger = None

PyFunceble.sessions module

The tool to check the availability or syntax of domain, IP or URL.

██████╗ ██╗   ██╗███████╗██╗   ██╗███╗   ██╗ ██████╗███████╗██████╗ ██╗     ███████╗
██╔══██╗╚██╗ ██╔╝██╔════╝██║   ██║████╗  ██║██╔════╝██╔════╝██╔══██╗██║     ██╔════╝
██████╔╝ ╚████╔╝ █████╗  ██║   ██║██╔██╗ ██║██║     █████╗  ██████╔╝██║     █████╗
██╔═══╝   ╚██╔╝  ██╔══╝  ██║   ██║██║╚██╗██║██║     ██╔══╝  ██╔══██╗██║     ██╔══╝
██║        ██║   ██║     ╚██████╔╝██║ ╚████║╚██████╗███████╗██████╔╝███████╗███████╗
╚═╝        ╚═╝   ╚═╝      ╚═════╝ ╚═╝  ╚═══╝ ╚═════╝╚══════╝╚═════╝ ╚══════╝╚══════╝

Provides the location of all our sessions

Author:
Nissar Chababy, @funilrys, contactTATAfunilrysTODTODcom
Special thanks:
https://pyfunceble.github.io/#/special-thanks
Contributors:
https://pyfunceble.github.io/#/contributors
Project link:
https://github.com/funilrys/PyFunceble
Project documentation:
https://pyfunceble.readthedocs.io/en/dev/
Project homepage:
https://pyfunceble.github.io/

License:

Copyright 2017, 2018, 2019, 2020, 2022 Nissar Chababy

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at

    http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.

PyFunceble.storage module

The tool to check the availability or syntax of domain, IP or URL.

██████╗ ██╗   ██╗███████╗██╗   ██╗███╗   ██╗ ██████╗███████╗██████╗ ██╗     ███████╗
██╔══██╗╚██╗ ██╔╝██╔════╝██║   ██║████╗  ██║██╔════╝██╔════╝██╔══██╗██║     ██╔════╝
██████╔╝ ╚████╔╝ █████╗  ██║   ██║██╔██╗ ██║██║     █████╗  ██████╔╝██║     █████╗
██╔═══╝   ╚██╔╝  ██╔══╝  ██║   ██║██║╚██╗██║██║     ██╔══╝  ██╔══██╗██║     ██╔══╝
██║        ██║   ██║     ╚██████╔╝██║ ╚████║╚██████╗███████╗██████╔╝███████╗███████╗
╚═╝        ╚═╝   ╚═╝      ╚═════╝ ╚═╝  ╚═══╝ ╚═════╝╚══════╝╚═════╝ ╚══════╝╚══════╝

Provides a central storage place.

Author:
Nissar Chababy, @funilrys, contactTATAfunilrysTODTODcom
Special thanks:
https://pyfunceble.github.io/#/special-thanks
Contributors:
https://pyfunceble.github.io/#/contributors
Project link:
https://github.com/funilrys/PyFunceble
Project documentation:
https://pyfunceble.readthedocs.io/en/dev/
Project homepage:
https://pyfunceble.github.io/

License:

Copyright 2017, 2018, 2019, 2020, 2022 Nissar Chababy

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at

    http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.

PyFunceble.storage_facility module

The tool to check the availability or syntax of domain, IP or URL.

██████╗ ██╗   ██╗███████╗██╗   ██╗███╗   ██╗ ██████╗███████╗██████╗ ██╗     ███████╗
██╔══██╗╚██╗ ██╔╝██╔════╝██║   ██║████╗  ██║██╔════╝██╔════╝██╔══██╗██║     ██╔════╝
██████╔╝ ╚████╔╝ █████╗  ██║   ██║██╔██╗ ██║██║     █████╗  ██████╔╝██║     █████╗
██╔═══╝   ╚██╔╝  ██╔══╝  ██║   ██║██║╚██╗██║██║     ██╔══╝  ██╔══██╗██║     ██╔══╝
██║        ██║   ██║     ╚██████╔╝██║ ╚████║╚██████╗███████╗██████╔╝███████╗███████╗
╚═╝        ╚═╝   ╚═╝      ╚═════╝ ╚═╝  ╚═══╝ ╚═════╝╚══════╝╚═════╝ ╚══════╝╚══════╝

Provides some facilities for the storage module.

Author:
Nissar Chababy, @funilrys, contactTATAfunilrysTODTODcom
Special thanks:
https://pyfunceble.github.io/#/special-thanks
Contributors:
https://pyfunceble.github.io/#/contributors
Project link:
https://github.com/funilrys/PyFunceble
Project documentation:
https://pyfunceble.readthedocs.io/en/dev/
Project homepage:
https://pyfunceble.github.io/

License:

Copyright 2017, 2018, 2019, 2020, 2022 Nissar Chababy

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at

    http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
PyFunceble.storage_facility.get_config_directory(*, project_name: str, project_version: str) → str[source]

Provides the location of the configuration directory.

Module contents

The tool to check the availability or syntax of domain, IP or URL.

██████╗ ██╗   ██╗███████╗██╗   ██╗███╗   ██╗ ██████╗███████╗██████╗ ██╗     ███████╗
██╔══██╗╚██╗ ██╔╝██╔════╝██║   ██║████╗  ██║██╔════╝██╔════╝██╔══██╗██║     ██╔════╝
██████╔╝ ╚████╔╝ █████╗  ██║   ██║██╔██╗ ██║██║     █████╗  ██████╔╝██║     █████╗
██╔═══╝   ╚██╔╝  ██╔══╝  ██║   ██║██║╚██╗██║██║     ██╔══╝  ██╔══██╗██║     ██╔══╝
██║        ██║   ██║     ╚██████╔╝██║ ╚████║╚██████╗███████╗██████╔╝███████╗███████╗
╚═╝        ╚═╝   ╚═╝      ╚═════╝ ╚═╝  ╚═══╝ ╚═════╝╚══════╝╚═════╝ ╚══════╝╚══════╝
Author:
Nissar Chababy, @funilrys, contactTATAfunilrysTODTODcom
Special thanks:
https://pyfunceble.github.io/#/special-thanks
Contributors:
https://pyfunceble.github.io/#/contributors
Project link:
https://github.com/funilrys/PyFunceble
Project documentation:
https://pyfunceble.readthedocs.io/en/dev/
Project homepage:
https://pyfunceble.github.io/

License:

Copyright 2017, 2018, 2019, 2020, 2022 Nissar Chababy

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at

    http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
PyFunceble.get_complements(subject: str, include_given: bool = False) → List[str][source]

Provides the complements of a given subject.

A complement is a for example example.org if www.example.org is given and vice-versa.

Warning

This method may be removed in the future. It is still available for convenience.

Please consider the following alternative example:

from PyFunceble import Subject2Complements

my_subject = "example.org"
complements = Subject2Complements(
    my_subject
).get_converted(include_given=True)
Parameters:
  • subject – The subject to work with.
  • include_given – Include the given subject in the result.
PyFunceble.is_domain(subject: str, **kwargs) → bool[source]

Checks if the given subject is a syntactically valid second level domain or subdomain.

Warning

This method may be removed in the future. It is still available for convenience.

Please consider the following alternative example:

from PyFunceble import DomainSyntaxChecker

my_subject = "example.org"
the_status = DomainSyntaxChecker(
    my_subject
).get_status()

# Get the status in dict format.
print(the_status.to_dict())

# Get the status in json format.
print(the_status.to_json())

# Check if it is a domain (2nd level or subdomain).
print(f"{my_subject} is domain ? {the_status.is_valid()}")
Parameters:subject – The subject to work with.
PyFunceble.is_domain_malicious(subject: str, **kwargs) → bool[source]

Checks if the given domain is malicious.

Warning

This method may be removed in the future. It is still available for convenience.

Please consider the following alternative example:

from PyFunceble import DomainReputationChecker

my_subject = "example.org"
the_status = DomainReputationChecker(
    my_subject
).get_status()

# Get the status in dict format.
print(the_status.to_dict())

# Get the status in json format.
print(the_status.to_json())

# Check if it is malicious.
print(f"{my_subject} is Malicious ? {the_status.is_malicious()}")
Parameters:subject – The subject to work with.
PyFunceble.is_ip(subject: str, **kwargs) → bool[source]

Checks if the given subject is a syntactically valid IP range.

Warning

This method may be removed in the future. It is still available for convenience.

Please consider the following alternative example:

from PyFunceble import IPSyntaxChecker

my_subject = "192.168.0.0"
the_status = IPSyntaxChecker(
    my_subject
).get_status()

# Get the status in dict format.
print(the_status.to_dict())

# Get the status in json format.
print(the_status.to_json())

# Check if it is an IP (v4 or v6).
print(f"{my_subject} is IP ? {the_status.is_valid()}")
Parameters:subject – The subject to work with.
PyFunceble.is_ip_range(subject: str, **kwargs) → bool[source]

Checks if the given subject is a syntactically valid IP range.

Warning

This method may be removed in the future. It is still available for convenience.

Please consider the following alternative example:

from PyFunceble import IPSyntaxChecker

my_subject = "192.168.0.0"
the_status = IPSyntaxChecker(
    my_subject
).get_status()

# Get the status in dict format.
print(the_status.to_dict())

# Get the status in json format.
print(the_status.to_json())

# Check if it is an IP range (v4 or v6).
print(f"{my_subject} is IP range ? {the_status.is_valid_range()}")
Parameters:subject – The subject to work with.
PyFunceble.is_ipv4(subject: str, **kwargs) → bool[source]

Checks if the given subject is a syntactically valid IPv4.

Warning

This method may be removed in the future. It is still available for convenience.

Please consider the following alternative example:

from PyFunceble import IPSyntaxChecker

my_subject = "192.168.0.0"
the_status = IPSyntaxChecker(
    my_subject
).get_status()

# Get the status in dict format.
print(the_status.to_dict())

# Get the status in json format.
print(the_status.to_json())

# Check if it is an IPv4.
print(f"{my_subject} is IPv4 ? {the_status.is_valid_v4()}")
Parameters:subject – The subject to work with.
PyFunceble.is_ipv4_malicious(subject: str, **kwargs) → bool[source]

Checks if the given IPv4 is malicious.

Warning

This method may be removed in the future. It is still available for convenience.

Please consider the following alternative example:

from PyFunceble import IPReputationChecker

my_subject = "192.168.0.1"
the_status = IPReputationChecker(
    my_subject
).get_status()

# Get the status in dict format.
print(the_status.to_dict())

# Get the status in json format.
print(the_status.to_json())

# Check if it is malicious.
print(f"{my_subject} is Malicious ? {the_status.is_malicious()}")
Parameters:subject – The subject to work with.
PyFunceble.is_ipv4_range(subject: str, **kwargs) → bool[source]

Checks if the given subject is a syntactically valid IPv4 range.

Warning

This method may be removed in the future. It is still available for convenience.

Please consider the following alternative example:

from PyFunceble import IPSyntaxChecker

my_subject = "192.168.0.0"
the_status = IPSyntaxChecker(
    my_subject
).get_status()

# Get the status in dict format.
print(the_status.to_dict())

# Get the status in json format.
print(the_status.to_json())

# Check if it is IPv4 range.
print(f"{my_subject} is IPv4 range ? {the_status.is_valid_v4_range()}")
Parameters:subject – The subject to work with.
PyFunceble.is_ipv6(subject: str, **kwargs) → bool[source]

Checks if the given subject is a syntactically valid IPv6.

Warning

This method may be removed in the future. It is still available for convenience.

Please consider the following alternative example:

from PyFunceble import IPSyntaxChecker

my_subject = "192.168.0.0"
the_status = IPSyntaxChecker(
    my_subject
).get_status()

# Get the status in dict format.
print(the_status.to_dict())

# Get the status in json format.
print(the_status.to_json())

# Check if it is an IPv6.
print(f"{my_subject} is IPv6 ? {the_status.is_valid_v6()}")
Parameters:subject – The subject to work with.
PyFunceble.is_ipv6_range(subject: str, **kwargs) → bool[source]

Checks if the given subject is a syntactically valid IPv6 range.

Warning

This method may be removed in the future. It is still available for convenience.

Please consider the following alternative example:

from PyFunceble import IPSyntaxChecker

my_subject = "::1"
the_status = IPSyntaxChecker(
    my_subject
).get_status()

# Get the status in dict format.
print(the_status.to_dict())

# Get the status in json format.
print(the_status.to_json())

# Check if it is IPv6 range.
print(f"{my_subject} is IPv6 range ? {the_status.is_valid_v6_range()}")
Parameters:subject – The subject to work with.
PyFunceble.is_second_level_domain(subject: str, **kwargs) → bool[source]

Checks if the given subject is a syntactically valid second level domain.

Warning

This method was added for retrocompatibility. It may be removed in the future and is still available for convenience.

Please consider the following alternative example:

from PyFunceble import SecondLvlDomainSyntaxChecker

my_subject = "example.org"
the_status = SecondLvlDomainSyntaxChecker(
    my_subject
).get_status()

# Get the status in dict format.
print(the_status.to_dict())

# Get the status in json format.
print(the_status.to_json())

# Check if it is a second level domain.
print(f"{my_subject} is 2nd level domain ? {the_status.is_valid()}")
Parameters:subject – The subject to work with.
PyFunceble.is_subdomain(subject: str, **kwargs) → bool[source]

Checks if the given subject is a syntactically valid subdomain.

Warning

This method may be removed in the future. It is still available for convenience.

Please consider the following alternative example:

from PyFunceble import SubDomainSyntaxChecker

my_subject = "hello.example.org"
the_status = SubDomainSyntaxChecker(
    my_subject
).get_status()

# Get the status in dict format.
print(the_status.to_dict())

# Get the status in json format.
print(the_status.to_json())

# Check if it is a subdomain.
print(f"{my_subject} is subdomain ? {the_status.is_valid()}")
Parameters:subject – The subject to work with.
PyFunceble.is_url(subject: str, **kwargs) → bool[source]

Checks if the given subject is syntactically a valid URL.

Warning

This method may be removed in the future. It is still available for convenience.

Please consider the following alternative example:

from PyFunceble import DomainReputationChecker

my_subject = "https://example.org"
the_status = URLSyntaxChecker(
    my_subject
).get_status()

# Get the status in dict format.
print(the_status.to_dict())

# Get the status in json format.
print(the_status.to_json())

# Check if it is a URL.
print(f"{my_subject} is URL ? {the_status.is_valid()}")
Parma subject:The subject to check.
PyFunceble.is_url_malicious(subject: str, **kwargs) → bool[source]

Checks if the given URL is malicious.

Warning

This method may be removed in the future. It is still available for convenience.

Please consider the following alternative example:

from PyFunceble import URLReputationChecker

my_subject = "https://example.org"
the_status = URLReputationChecker(
    my_subject
).get_status()

# Get the status in dict format.
print(the_status.to_dict())

# Get the status in json format.
print(the_status.to_json())

# Check if it is malicious.
print(f"{my_subject} is Malicious ? {the_status.is_malicious()}")
Parameters:subject – The subject to work with.
PyFunceble.load_config(*args, **kwargs) → None[source]

Placeholder before deletion.

Since 4.0.0, you are not required to load the configuration before hand. If you still want too because you may want to use a special CLI related method, you can doing it so:

import PyFunceble.facility

PyFunceble.facility.ConfigLoader.start()
PyFunceble.test(subject: str, **kwargs) → PyFunceble.checker.availability.status.AvailabilityCheckerStatus[source]

Checks the avaialbility of the given subject assuming that it is a domain or an IP.

Warning

This method may be removed in the future. It is still available for convenience.

Please consider the following alternative example:

from PyFunceble import DomainAndIPAvailabilityChecker

my_subject = "example.org"
the_status = DomainAndIPAvailabilityChecker(
    my_subject
).get_status()

# Get the status in dict format.
print(the_status.to_dict())

# Get the status in json format.
print(the_status.to_json())

# Check if it is available.
print(f"{my_subject} is available ? {the_status.is_available()}")
Parameters:subject – The subject to work with.
PyFunceble.url_test(subject: str, **kwargs) → PyFunceble.checker.availability.status.AvailabilityCheckerStatus[source]

Checks the availability of the given subject assuming that it is a URL.

Warning

This method may be removed in the future. It is still available for convenience.

Please consider the following alternative example:

from PyFunceble import URLAvailabilityChecker

my_subject = "http://example.org"
the_status = URLAvailabilityChecker(
    my_subject
).get_status()

# Get the status in dict format.
print(the_status.to_dict())

# Get the status in json format.
print(the_status.to_json())

# Check if it is available.
print(f"{my_subject} is available ? {the_status.is_available()}")
Parameters:subject – The subject to work with.