PyFunceble-dev 4.2.29__tar.gz → 4.3.0__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.

Potentially problematic release.


This version of PyFunceble-dev might be problematic. Click here for more details.

Files changed (302) hide show
  1. {pyfunceble_dev-4.2.29 → pyfunceble_dev-4.3.0}/CONTRIBUTORS.md +6 -4
  2. {pyfunceble_dev-4.2.29 → pyfunceble_dev-4.3.0}/LICENSE +1 -1
  3. {pyfunceble_dev-4.2.29 → pyfunceble_dev-4.3.0}/PKG-INFO +194 -66
  4. {pyfunceble_dev-4.2.29 → pyfunceble_dev-4.3.0}/PyFunceble/__init__.py +1 -1
  5. {pyfunceble_dev-4.2.29 → pyfunceble_dev-4.3.0}/PyFunceble/checker/__init__.py +1 -1
  6. {pyfunceble_dev-4.2.29 → pyfunceble_dev-4.3.0}/PyFunceble/checker/availability/__init__.py +1 -1
  7. {pyfunceble_dev-4.2.29 → pyfunceble_dev-4.3.0}/PyFunceble/checker/availability/base.py +45 -40
  8. {pyfunceble_dev-4.2.29 → pyfunceble_dev-4.3.0}/PyFunceble/checker/availability/domain.py +19 -2
  9. {pyfunceble_dev-4.2.29 → pyfunceble_dev-4.3.0}/PyFunceble/checker/availability/domain_and_ip.py +1 -1
  10. {pyfunceble_dev-4.2.29 → pyfunceble_dev-4.3.0}/PyFunceble/checker/availability/extras/__init__.py +1 -1
  11. {pyfunceble_dev-4.2.29 → pyfunceble_dev-4.3.0}/PyFunceble/checker/availability/extras/base.py +27 -27
  12. {pyfunceble_dev-4.2.29 → pyfunceble_dev-4.3.0}/PyFunceble/checker/availability/extras/dns.py +2 -2
  13. {pyfunceble_dev-4.2.29 → pyfunceble_dev-4.3.0}/PyFunceble/checker/availability/extras/etoxic.py +4 -5
  14. pyfunceble_dev-4.3.0/PyFunceble/checker/availability/extras/external.py +341 -0
  15. {pyfunceble_dev-4.2.29 → pyfunceble_dev-4.3.0}/PyFunceble/checker/availability/extras/parked.py +24 -23
  16. {pyfunceble_dev-4.2.29 → pyfunceble_dev-4.3.0}/PyFunceble/checker/availability/extras/rules.py +69 -18
  17. {pyfunceble_dev-4.2.29 → pyfunceble_dev-4.3.0}/PyFunceble/checker/availability/extras/subject_switch.py +6 -7
  18. {pyfunceble_dev-4.2.29 → pyfunceble_dev-4.3.0}/PyFunceble/checker/availability/ip.py +19 -2
  19. {pyfunceble_dev-4.2.29 → pyfunceble_dev-4.3.0}/PyFunceble/checker/availability/params.py +2 -2
  20. {pyfunceble_dev-4.2.29 → pyfunceble_dev-4.3.0}/PyFunceble/checker/availability/status.py +10 -5
  21. {pyfunceble_dev-4.2.29 → pyfunceble_dev-4.3.0}/PyFunceble/checker/availability/url.py +7 -2
  22. {pyfunceble_dev-4.2.29 → pyfunceble_dev-4.3.0}/PyFunceble/checker/base.py +5 -1
  23. {pyfunceble_dev-4.2.29 → pyfunceble_dev-4.3.0}/PyFunceble/checker/complex_json_encoder.py +1 -1
  24. {pyfunceble_dev-4.2.29 → pyfunceble_dev-4.3.0}/PyFunceble/checker/params_base.py +1 -1
  25. {pyfunceble_dev-4.2.29 → pyfunceble_dev-4.3.0}/PyFunceble/checker/reputation/__init__.py +1 -1
  26. {pyfunceble_dev-4.2.29 → pyfunceble_dev-4.3.0}/PyFunceble/checker/reputation/base.py +6 -4
  27. {pyfunceble_dev-4.2.29 → pyfunceble_dev-4.3.0}/PyFunceble/checker/reputation/domain.py +12 -1
  28. {pyfunceble_dev-4.2.29 → pyfunceble_dev-4.3.0}/PyFunceble/checker/reputation/domain_and_ip.py +1 -1
  29. {pyfunceble_dev-4.2.29 → pyfunceble_dev-4.3.0}/PyFunceble/checker/reputation/ip.py +12 -1
  30. {pyfunceble_dev-4.2.29 → pyfunceble_dev-4.3.0}/PyFunceble/checker/reputation/params.py +1 -1
  31. {pyfunceble_dev-4.2.29 → pyfunceble_dev-4.3.0}/PyFunceble/checker/reputation/status.py +2 -2
  32. {pyfunceble_dev-4.2.29 → pyfunceble_dev-4.3.0}/PyFunceble/checker/reputation/url.py +13 -2
  33. {pyfunceble_dev-4.2.29 → pyfunceble_dev-4.3.0}/PyFunceble/checker/status_base.py +1 -1
  34. {pyfunceble_dev-4.2.29 → pyfunceble_dev-4.3.0}/PyFunceble/checker/syntax/__init__.py +1 -1
  35. {pyfunceble_dev-4.2.29 → pyfunceble_dev-4.3.0}/PyFunceble/checker/syntax/base.py +5 -2
  36. {pyfunceble_dev-4.2.29 → pyfunceble_dev-4.3.0}/PyFunceble/checker/syntax/domain.py +5 -1
  37. {pyfunceble_dev-4.2.29 → pyfunceble_dev-4.3.0}/PyFunceble/checker/syntax/domain_and_ip.py +1 -1
  38. {pyfunceble_dev-4.2.29 → pyfunceble_dev-4.3.0}/PyFunceble/checker/syntax/domain_base.py +1 -1
  39. {pyfunceble_dev-4.2.29 → pyfunceble_dev-4.3.0}/PyFunceble/checker/syntax/ip.py +5 -1
  40. {pyfunceble_dev-4.2.29 → pyfunceble_dev-4.3.0}/PyFunceble/checker/syntax/ipv4.py +11 -14
  41. {pyfunceble_dev-4.2.29 → pyfunceble_dev-4.3.0}/PyFunceble/checker/syntax/ipv6.py +10 -12
  42. {pyfunceble_dev-4.2.29 → pyfunceble_dev-4.3.0}/PyFunceble/checker/syntax/params.py +2 -2
  43. {pyfunceble_dev-4.2.29 → pyfunceble_dev-4.3.0}/PyFunceble/checker/syntax/second_lvl_domain.py +4 -5
  44. {pyfunceble_dev-4.2.29 → pyfunceble_dev-4.3.0}/PyFunceble/checker/syntax/status.py +1 -1
  45. {pyfunceble_dev-4.2.29 → pyfunceble_dev-4.3.0}/PyFunceble/checker/syntax/subdomain.py +4 -5
  46. {pyfunceble_dev-4.2.29 → pyfunceble_dev-4.3.0}/PyFunceble/checker/syntax/url.py +10 -7
  47. {pyfunceble_dev-4.2.29 → pyfunceble_dev-4.3.0}/PyFunceble/checker/utils/__init__.py +1 -1
  48. {pyfunceble_dev-4.2.29 → pyfunceble_dev-4.3.0}/PyFunceble/checker/utils/whois.py +8 -12
  49. {pyfunceble_dev-4.2.29 → pyfunceble_dev-4.3.0}/PyFunceble/cli/__init__.py +1 -1
  50. {pyfunceble_dev-4.2.29 → pyfunceble_dev-4.3.0}/PyFunceble/cli/continuous_integration/__init__.py +1 -1
  51. {pyfunceble_dev-4.2.29 → pyfunceble_dev-4.3.0}/PyFunceble/cli/continuous_integration/base.py +15 -15
  52. {pyfunceble_dev-4.2.29 → pyfunceble_dev-4.3.0}/PyFunceble/cli/continuous_integration/exceptions.py +1 -1
  53. {pyfunceble_dev-4.2.29 → pyfunceble_dev-4.3.0}/PyFunceble/cli/continuous_integration/github_actions.py +1 -1
  54. {pyfunceble_dev-4.2.29 → pyfunceble_dev-4.3.0}/PyFunceble/cli/continuous_integration/gitlab_ci.py +1 -1
  55. {pyfunceble_dev-4.2.29 → pyfunceble_dev-4.3.0}/PyFunceble/cli/continuous_integration/jenkins.py +1 -1
  56. {pyfunceble_dev-4.2.29 → pyfunceble_dev-4.3.0}/PyFunceble/cli/continuous_integration/standalone.py +1 -1
  57. {pyfunceble_dev-4.2.29 → pyfunceble_dev-4.3.0}/PyFunceble/cli/continuous_integration/travis_ci.py +1 -1
  58. {pyfunceble_dev-4.2.29 → pyfunceble_dev-4.3.0}/PyFunceble/cli/continuous_integration/utils.py +1 -1
  59. {pyfunceble_dev-4.2.29 → pyfunceble_dev-4.3.0}/PyFunceble/cli/credential_loader.py +5 -7
  60. {pyfunceble_dev-4.2.29 → pyfunceble_dev-4.3.0}/PyFunceble/cli/entry_points/__init__.py +1 -1
  61. {pyfunceble_dev-4.2.29 → pyfunceble_dev-4.3.0}/PyFunceble/cli/entry_points/clean.py +1 -2
  62. {pyfunceble_dev-4.2.29 → pyfunceble_dev-4.3.0}/PyFunceble/cli/entry_points/iana.py +1 -1
  63. {pyfunceble_dev-4.2.29 → pyfunceble_dev-4.3.0}/PyFunceble/cli/entry_points/production.py +2 -2
  64. {pyfunceble_dev-4.2.29 → pyfunceble_dev-4.3.0}/PyFunceble/cli/entry_points/public_suffix.py +1 -1
  65. {pyfunceble_dev-4.2.29 → pyfunceble_dev-4.3.0}/PyFunceble/cli/entry_points/pyfunceble/__init__.py +1 -1
  66. {pyfunceble_dev-4.2.29 → pyfunceble_dev-4.3.0}/PyFunceble/cli/entry_points/pyfunceble/argsparser.py +1 -1
  67. {pyfunceble_dev-4.2.29 → pyfunceble_dev-4.3.0}/PyFunceble/cli/entry_points/pyfunceble/cli.py +70 -4
  68. {pyfunceble_dev-4.2.29 → pyfunceble_dev-4.3.0}/PyFunceble/cli/execution_time.py +3 -3
  69. {pyfunceble_dev-4.2.29 → pyfunceble_dev-4.3.0}/PyFunceble/cli/facility.py +1 -1
  70. {pyfunceble_dev-4.2.29 → pyfunceble_dev-4.3.0}/PyFunceble/cli/factory.py +1 -1
  71. {pyfunceble_dev-4.2.29 → pyfunceble_dev-4.3.0}/PyFunceble/cli/file_preloader.py +1 -1
  72. {pyfunceble_dev-4.2.29 → pyfunceble_dev-4.3.0}/PyFunceble/cli/filesystem/__init__.py +1 -1
  73. {pyfunceble_dev-4.2.29 → pyfunceble_dev-4.3.0}/PyFunceble/cli/filesystem/cleanup.py +2 -4
  74. {pyfunceble_dev-4.2.29 → pyfunceble_dev-4.3.0}/PyFunceble/cli/filesystem/counter.py +1 -1
  75. {pyfunceble_dev-4.2.29 → pyfunceble_dev-4.3.0}/PyFunceble/cli/filesystem/dir_base.py +6 -2
  76. {pyfunceble_dev-4.2.29 → pyfunceble_dev-4.3.0}/PyFunceble/cli/filesystem/dir_structure/__init__.py +1 -1
  77. {pyfunceble_dev-4.2.29 → pyfunceble_dev-4.3.0}/PyFunceble/cli/filesystem/dir_structure/backup.py +2 -3
  78. {pyfunceble_dev-4.2.29 → pyfunceble_dev-4.3.0}/PyFunceble/cli/filesystem/dir_structure/base.py +2 -4
  79. {pyfunceble_dev-4.2.29 → pyfunceble_dev-4.3.0}/PyFunceble/cli/filesystem/dir_structure/restore.py +6 -8
  80. {pyfunceble_dev-4.2.29 → pyfunceble_dev-4.3.0}/PyFunceble/cli/filesystem/json_base.py +1 -1
  81. {pyfunceble_dev-4.2.29 → pyfunceble_dev-4.3.0}/PyFunceble/cli/filesystem/printer/__init__.py +1 -1
  82. {pyfunceble_dev-4.2.29 → pyfunceble_dev-4.3.0}/PyFunceble/cli/filesystem/printer/base.py +20 -7
  83. {pyfunceble_dev-4.2.29 → pyfunceble_dev-4.3.0}/PyFunceble/cli/filesystem/printer/file.py +1 -1
  84. {pyfunceble_dev-4.2.29 → pyfunceble_dev-4.3.0}/PyFunceble/cli/filesystem/printer/stdout.py +75 -5
  85. {pyfunceble_dev-4.2.29 → pyfunceble_dev-4.3.0}/PyFunceble/cli/filesystem/registrar_counter.py +1 -1
  86. {pyfunceble_dev-4.2.29 → pyfunceble_dev-4.3.0}/PyFunceble/cli/filesystem/status_file.py +3 -4
  87. {pyfunceble_dev-4.2.29 → pyfunceble_dev-4.3.0}/PyFunceble/cli/migrators/__init__.py +1 -1
  88. {pyfunceble_dev-4.2.29 → pyfunceble_dev-4.3.0}/PyFunceble/cli/migrators/alembic.py +3 -5
  89. {pyfunceble_dev-4.2.29 → pyfunceble_dev-4.3.0}/PyFunceble/cli/migrators/base.py +48 -2
  90. {pyfunceble_dev-4.2.29 → pyfunceble_dev-4.3.0}/PyFunceble/cli/migrators/csv_file/__init__.py +1 -1
  91. {pyfunceble_dev-4.2.29 → pyfunceble_dev-4.3.0}/PyFunceble/cli/migrators/csv_file/base.py +1 -1
  92. {pyfunceble_dev-4.2.29 → pyfunceble_dev-4.3.0}/PyFunceble/cli/migrators/csv_file/inactive_source_delete.py +2 -3
  93. {pyfunceble_dev-4.2.29 → pyfunceble_dev-4.3.0}/PyFunceble/cli/migrators/csv_file/whois_registrar_add.py +2 -3
  94. {pyfunceble_dev-4.2.29 → pyfunceble_dev-4.3.0}/PyFunceble/cli/migrators/db_base.py +3 -3
  95. {pyfunceble_dev-4.2.29 → pyfunceble_dev-4.3.0}/PyFunceble/cli/migrators/file_cleanup/__init__.py +1 -1
  96. {pyfunceble_dev-4.2.29 → pyfunceble_dev-4.3.0}/PyFunceble/cli/migrators/file_cleanup/base.py +4 -4
  97. {pyfunceble_dev-4.2.29 → pyfunceble_dev-4.3.0}/PyFunceble/cli/migrators/file_cleanup/hashes_file.py +4 -5
  98. {pyfunceble_dev-4.2.29 → pyfunceble_dev-4.3.0}/PyFunceble/cli/migrators/file_cleanup/mining_file.py +4 -5
  99. {pyfunceble_dev-4.2.29 → pyfunceble_dev-4.3.0}/PyFunceble/cli/migrators/file_cleanup/production_config_file.py +4 -5
  100. {pyfunceble_dev-4.2.29 → pyfunceble_dev-4.3.0}/PyFunceble/cli/migrators/json2csv/__init__.py +1 -1
  101. {pyfunceble_dev-4.2.29 → pyfunceble_dev-4.3.0}/PyFunceble/cli/migrators/json2csv/base.py +1 -1
  102. {pyfunceble_dev-4.2.29 → pyfunceble_dev-4.3.0}/PyFunceble/cli/migrators/json2csv/inactive.py +2 -2
  103. {pyfunceble_dev-4.2.29 → pyfunceble_dev-4.3.0}/PyFunceble/cli/migrators/json2csv/whois.py +2 -2
  104. {pyfunceble_dev-4.2.29 → pyfunceble_dev-4.3.0}/PyFunceble/cli/migrators/mariadb/__init__.py +1 -1
  105. {pyfunceble_dev-4.2.29 → pyfunceble_dev-4.3.0}/PyFunceble/cli/migrators/mariadb/base.py +3 -5
  106. {pyfunceble_dev-4.2.29 → pyfunceble_dev-4.3.0}/PyFunceble/cli/migrators/mariadb/file_and_status.py +2 -2
  107. {pyfunceble_dev-4.2.29 → pyfunceble_dev-4.3.0}/PyFunceble/cli/migrators/mariadb/whois_record_idna_subject.py +1 -3
  108. {pyfunceble_dev-4.2.29 → pyfunceble_dev-4.3.0}/PyFunceble/cli/processes/__init__.py +1 -1
  109. pyfunceble_dev-4.3.0/PyFunceble/cli/processes/base.py +62 -0
  110. {pyfunceble_dev-4.2.29 → pyfunceble_dev-4.3.0}/PyFunceble/cli/processes/chancy_producer.py +3 -2
  111. {pyfunceble_dev-4.2.29 → pyfunceble_dev-4.3.0}/PyFunceble/cli/processes/chancy_tester.py +3 -2
  112. {pyfunceble_dev-4.2.29 → pyfunceble_dev-4.3.0}/PyFunceble/cli/processes/dir_files_sorter.py +3 -2
  113. {pyfunceble_dev-4.2.29 → pyfunceble_dev-4.3.0}/PyFunceble/cli/processes/file_sorter.py +3 -2
  114. {pyfunceble_dev-4.2.29 → pyfunceble_dev-4.3.0}/PyFunceble/cli/processes/migrator.py +25 -16
  115. {pyfunceble_dev-4.2.29 → pyfunceble_dev-4.3.0}/PyFunceble/cli/processes/miner.py +3 -2
  116. {pyfunceble_dev-4.2.29 → pyfunceble_dev-4.3.0}/PyFunceble/cli/processes/producer.py +3 -2
  117. {pyfunceble_dev-4.2.29 → pyfunceble_dev-4.3.0}/PyFunceble/cli/processes/tester.py +3 -2
  118. {pyfunceble_dev-4.2.29 → pyfunceble_dev-4.3.0}/PyFunceble/cli/processes/workers/__init__.py +1 -1
  119. pyfunceble_dev-4.3.0/PyFunceble/cli/processes/workers/base.py +132 -0
  120. {pyfunceble_dev-4.2.29 → pyfunceble_dev-4.3.0}/PyFunceble/cli/processes/workers/chancy_producer.py +2 -5
  121. {pyfunceble_dev-4.2.29 → pyfunceble_dev-4.3.0}/PyFunceble/cli/processes/workers/chancy_tester.py +5 -5
  122. {pyfunceble_dev-4.2.29 → pyfunceble_dev-4.3.0}/PyFunceble/cli/processes/workers/dir_files_sorter.py +14 -18
  123. {pyfunceble_dev-4.2.29 → pyfunceble_dev-4.3.0}/PyFunceble/cli/processes/workers/file_sorter.py +10 -13
  124. {pyfunceble_dev-4.2.29 → pyfunceble_dev-4.3.0}/PyFunceble/cli/processes/workers/file_sorter_base.py +1 -2
  125. {pyfunceble_dev-4.2.29 → pyfunceble_dev-4.3.0}/PyFunceble/cli/processes/workers/migrator.py +5 -5
  126. {pyfunceble_dev-4.2.29 → pyfunceble_dev-4.3.0}/PyFunceble/cli/processes/workers/miner.py +17 -14
  127. {pyfunceble_dev-4.2.29 → pyfunceble_dev-4.3.0}/PyFunceble/cli/processes/workers/producer.py +32 -14
  128. {pyfunceble_dev-4.2.29 → pyfunceble_dev-4.3.0}/PyFunceble/cli/processes/workers/tester.py +9 -14
  129. {pyfunceble_dev-4.2.29 → pyfunceble_dev-4.3.0}/PyFunceble/cli/scripts/__init__.py +1 -1
  130. {pyfunceble_dev-4.2.29 → pyfunceble_dev-4.3.0}/PyFunceble/cli/scripts/iana.py +26 -12
  131. {pyfunceble_dev-4.2.29 → pyfunceble_dev-4.3.0}/PyFunceble/cli/scripts/production.py +70 -29
  132. {pyfunceble_dev-4.2.29 → pyfunceble_dev-4.3.0}/PyFunceble/cli/scripts/public_suffix.py +17 -4
  133. {pyfunceble_dev-4.2.29 → pyfunceble_dev-4.3.0}/PyFunceble/cli/storage.py +1 -1
  134. {pyfunceble_dev-4.2.29 → pyfunceble_dev-4.3.0}/PyFunceble/cli/storage_facility.py +1 -1
  135. {pyfunceble_dev-4.2.29 → pyfunceble_dev-4.3.0}/PyFunceble/cli/system/__init__.py +1 -1
  136. {pyfunceble_dev-4.2.29 → pyfunceble_dev-4.3.0}/PyFunceble/cli/system/base.py +2 -2
  137. {pyfunceble_dev-4.2.29 → pyfunceble_dev-4.3.0}/PyFunceble/cli/system/integrator.py +53 -15
  138. {pyfunceble_dev-4.2.29 → pyfunceble_dev-4.3.0}/PyFunceble/cli/system/launcher.py +144 -82
  139. {pyfunceble_dev-4.2.29 → pyfunceble_dev-4.3.0}/PyFunceble/cli/utils/__init__.py +1 -1
  140. {pyfunceble_dev-4.2.29 → pyfunceble_dev-4.3.0}/PyFunceble/cli/utils/ascii_logo.py +1 -1
  141. {pyfunceble_dev-4.2.29 → pyfunceble_dev-4.3.0}/PyFunceble/cli/utils/sort.py +1 -1
  142. {pyfunceble_dev-4.2.29 → pyfunceble_dev-4.3.0}/PyFunceble/cli/utils/stdout.py +2 -2
  143. {pyfunceble_dev-4.2.29 → pyfunceble_dev-4.3.0}/PyFunceble/cli/utils/testing.py +7 -17
  144. {pyfunceble_dev-4.2.29 → pyfunceble_dev-4.3.0}/PyFunceble/cli/utils/version.py +28 -16
  145. {pyfunceble_dev-4.2.29 → pyfunceble_dev-4.3.0}/PyFunceble/config/__init__.py +1 -1
  146. {pyfunceble_dev-4.2.29 → pyfunceble_dev-4.3.0}/PyFunceble/config/compare.py +13 -10
  147. {pyfunceble_dev-4.2.29 → pyfunceble_dev-4.3.0}/PyFunceble/config/loader.py +271 -44
  148. {pyfunceble_dev-4.2.29 → pyfunceble_dev-4.3.0}/PyFunceble/converter/__init__.py +1 -1
  149. {pyfunceble_dev-4.2.29 → pyfunceble_dev-4.3.0}/PyFunceble/converter/adblock_input_line2subject.py +8 -5
  150. {pyfunceble_dev-4.2.29 → pyfunceble_dev-4.3.0}/PyFunceble/converter/base.py +1 -1
  151. {pyfunceble_dev-4.2.29 → pyfunceble_dev-4.3.0}/PyFunceble/converter/cidr2subject.py +1 -1
  152. {pyfunceble_dev-4.2.29 → pyfunceble_dev-4.3.0}/PyFunceble/converter/input_line2subject.py +3 -3
  153. {pyfunceble_dev-4.2.29 → pyfunceble_dev-4.3.0}/PyFunceble/converter/internal_url.py +2 -2
  154. {pyfunceble_dev-4.2.29 → pyfunceble_dev-4.3.0}/PyFunceble/converter/rpz_input_line2subject.py +3 -5
  155. {pyfunceble_dev-4.2.29 → pyfunceble_dev-4.3.0}/PyFunceble/converter/rpz_policy2subject.py +1 -1
  156. {pyfunceble_dev-4.2.29 → pyfunceble_dev-4.3.0}/PyFunceble/converter/subject2complements.py +5 -2
  157. {pyfunceble_dev-4.2.29 → pyfunceble_dev-4.3.0}/PyFunceble/converter/url2netloc.py +4 -4
  158. {pyfunceble_dev-4.2.29 → pyfunceble_dev-4.3.0}/PyFunceble/converter/wildcard2subject.py +4 -4
  159. {pyfunceble_dev-4.2.29 → pyfunceble_dev-4.3.0}/PyFunceble/data/alembic/__init__.py +1 -1
  160. {pyfunceble_dev-4.2.29 → pyfunceble_dev-4.3.0}/PyFunceble/data/alembic/mysql/__init__.py +1 -1
  161. {pyfunceble_dev-4.2.29/PyFunceble/data/alembic/postgresql → pyfunceble_dev-4.3.0/PyFunceble/data/alembic/mysql}/env.py +1 -1
  162. {pyfunceble_dev-4.2.29/PyFunceble/data/alembic/postgresql → pyfunceble_dev-4.3.0/PyFunceble/data/alembic/mysql}/versions/__init__.py +1 -1
  163. {pyfunceble_dev-4.2.29 → pyfunceble_dev-4.3.0}/PyFunceble/data/alembic/postgresql/__init__.py +1 -1
  164. {pyfunceble_dev-4.2.29/PyFunceble/data/alembic/mysql → pyfunceble_dev-4.3.0/PyFunceble/data/alembic/postgresql}/env.py +1 -1
  165. {pyfunceble_dev-4.2.29/PyFunceble/data/alembic/mysql → pyfunceble_dev-4.3.0/PyFunceble/data/alembic/postgresql}/versions/__init__.py +1 -1
  166. {pyfunceble_dev-4.2.29 → pyfunceble_dev-4.3.0}/PyFunceble/data/infrastructure/.PyFunceble_production.yaml +115 -8
  167. {pyfunceble_dev-4.2.29 → pyfunceble_dev-4.3.0}/PyFunceble/database/__init__.py +1 -1
  168. {pyfunceble_dev-4.2.29 → pyfunceble_dev-4.3.0}/PyFunceble/database/credential/__init__.py +1 -1
  169. {pyfunceble_dev-4.2.29 → pyfunceble_dev-4.3.0}/PyFunceble/database/credential/base.py +47 -4
  170. {pyfunceble_dev-4.2.29 → pyfunceble_dev-4.3.0}/PyFunceble/database/credential/mariadb.py +1 -1
  171. {pyfunceble_dev-4.2.29 → pyfunceble_dev-4.3.0}/PyFunceble/database/credential/mysql.py +1 -1
  172. {pyfunceble_dev-4.2.29 → pyfunceble_dev-4.3.0}/PyFunceble/database/credential/postgresql.py +1 -1
  173. {pyfunceble_dev-4.2.29 → pyfunceble_dev-4.3.0}/PyFunceble/database/schemas/__init__.py +1 -1
  174. {pyfunceble_dev-4.2.29 → pyfunceble_dev-4.3.0}/PyFunceble/database/schemas/autocontinue.py +5 -3
  175. {pyfunceble_dev-4.2.29 → pyfunceble_dev-4.3.0}/PyFunceble/database/schemas/inactive.py +5 -3
  176. {pyfunceble_dev-4.2.29 → pyfunceble_dev-4.3.0}/PyFunceble/database/schemas/status.py +5 -3
  177. {pyfunceble_dev-4.2.29 → pyfunceble_dev-4.3.0}/PyFunceble/database/schemas/whois_record.py +1 -1
  178. {pyfunceble_dev-4.2.29 → pyfunceble_dev-4.3.0}/PyFunceble/database/session.py +1 -1
  179. {pyfunceble_dev-4.2.29 → pyfunceble_dev-4.3.0}/PyFunceble/database/sqlalchemy/__init__.py +1 -1
  180. {pyfunceble_dev-4.2.29 → pyfunceble_dev-4.3.0}/PyFunceble/database/sqlalchemy/all_schemas.py +1 -1
  181. {pyfunceble_dev-4.2.29 → pyfunceble_dev-4.3.0}/PyFunceble/database/sqlalchemy/base_schema.py +10 -4
  182. {pyfunceble_dev-4.2.29 → pyfunceble_dev-4.3.0}/PyFunceble/dataset/__init__.py +1 -1
  183. {pyfunceble_dev-4.2.29 → pyfunceble_dev-4.3.0}/PyFunceble/dataset/autocontinue/__init__.py +1 -1
  184. {pyfunceble_dev-4.2.29 → pyfunceble_dev-4.3.0}/PyFunceble/dataset/autocontinue/base.py +1 -1
  185. {pyfunceble_dev-4.2.29 → pyfunceble_dev-4.3.0}/PyFunceble/dataset/autocontinue/csv.py +1 -1
  186. {pyfunceble_dev-4.2.29 → pyfunceble_dev-4.3.0}/PyFunceble/dataset/autocontinue/sql.py +1 -1
  187. {pyfunceble_dev-4.2.29 → pyfunceble_dev-4.3.0}/PyFunceble/dataset/base.py +5 -5
  188. {pyfunceble_dev-4.2.29 → pyfunceble_dev-4.3.0}/PyFunceble/dataset/csv_base.py +1 -1
  189. {pyfunceble_dev-4.2.29 → pyfunceble_dev-4.3.0}/PyFunceble/dataset/db_base.py +45 -1
  190. {pyfunceble_dev-4.2.29 → pyfunceble_dev-4.3.0}/PyFunceble/dataset/iana.py +4 -7
  191. {pyfunceble_dev-4.2.29 → pyfunceble_dev-4.3.0}/PyFunceble/dataset/inactive/__init__.py +1 -1
  192. {pyfunceble_dev-4.2.29 → pyfunceble_dev-4.3.0}/PyFunceble/dataset/inactive/base.py +1 -1
  193. {pyfunceble_dev-4.2.29 → pyfunceble_dev-4.3.0}/PyFunceble/dataset/inactive/csv.py +6 -2
  194. {pyfunceble_dev-4.2.29 → pyfunceble_dev-4.3.0}/PyFunceble/dataset/inactive/sql.py +1 -1
  195. {pyfunceble_dev-4.2.29 → pyfunceble_dev-4.3.0}/PyFunceble/dataset/ipv4_reputation.py +6 -10
  196. {pyfunceble_dev-4.2.29 → pyfunceble_dev-4.3.0}/PyFunceble/dataset/public_suffix.py +5 -9
  197. {pyfunceble_dev-4.2.29 → pyfunceble_dev-4.3.0}/PyFunceble/dataset/sql_base.py +4 -3
  198. {pyfunceble_dev-4.2.29 → pyfunceble_dev-4.3.0}/PyFunceble/dataset/user_agent.py +42 -11
  199. {pyfunceble_dev-4.2.29 → pyfunceble_dev-4.3.0}/PyFunceble/dataset/whois/__init__.py +1 -1
  200. {pyfunceble_dev-4.2.29 → pyfunceble_dev-4.3.0}/PyFunceble/dataset/whois/base.py +1 -1
  201. {pyfunceble_dev-4.2.29 → pyfunceble_dev-4.3.0}/PyFunceble/dataset/whois/csv.py +2 -2
  202. {pyfunceble_dev-4.2.29 → pyfunceble_dev-4.3.0}/PyFunceble/dataset/whois/sql.py +1 -1
  203. {pyfunceble_dev-4.2.29 → pyfunceble_dev-4.3.0}/PyFunceble/downloader/__init__.py +1 -1
  204. {pyfunceble_dev-4.2.29 → pyfunceble_dev-4.3.0}/PyFunceble/downloader/base.py +78 -9
  205. {pyfunceble_dev-4.2.29 → pyfunceble_dev-4.3.0}/PyFunceble/downloader/exceptions.py +1 -1
  206. {pyfunceble_dev-4.2.29 → pyfunceble_dev-4.3.0}/PyFunceble/downloader/iana.py +5 -12
  207. {pyfunceble_dev-4.2.29 → pyfunceble_dev-4.3.0}/PyFunceble/downloader/ipv4_reputation.py +3 -12
  208. {pyfunceble_dev-4.2.29 → pyfunceble_dev-4.3.0}/PyFunceble/downloader/public_suffix.py +6 -12
  209. {pyfunceble_dev-4.2.29 → pyfunceble_dev-4.3.0}/PyFunceble/downloader/user_agents.py +6 -12
  210. {pyfunceble_dev-4.2.29 → pyfunceble_dev-4.3.0}/PyFunceble/exceptions.py +1 -1
  211. {pyfunceble_dev-4.2.29 → pyfunceble_dev-4.3.0}/PyFunceble/facility.py +1 -1
  212. {pyfunceble_dev-4.2.29 → pyfunceble_dev-4.3.0}/PyFunceble/factory.py +1 -1
  213. {pyfunceble_dev-4.2.29 → pyfunceble_dev-4.3.0}/PyFunceble/helpers/__init__.py +1 -1
  214. {pyfunceble_dev-4.2.29 → pyfunceble_dev-4.3.0}/PyFunceble/helpers/command.py +2 -2
  215. {pyfunceble_dev-4.2.29 → pyfunceble_dev-4.3.0}/PyFunceble/helpers/dict.py +5 -5
  216. {pyfunceble_dev-4.2.29 → pyfunceble_dev-4.3.0}/PyFunceble/helpers/directory.py +1 -1
  217. {pyfunceble_dev-4.2.29 → pyfunceble_dev-4.3.0}/PyFunceble/helpers/download.py +161 -29
  218. {pyfunceble_dev-4.2.29 → pyfunceble_dev-4.3.0}/PyFunceble/helpers/environment_variable.py +1 -1
  219. {pyfunceble_dev-4.2.29 → pyfunceble_dev-4.3.0}/PyFunceble/helpers/exceptions.py +1 -1
  220. {pyfunceble_dev-4.2.29 → pyfunceble_dev-4.3.0}/PyFunceble/helpers/file.py +8 -4
  221. {pyfunceble_dev-4.2.29 → pyfunceble_dev-4.3.0}/PyFunceble/helpers/hash.py +11 -19
  222. {pyfunceble_dev-4.2.29 → pyfunceble_dev-4.3.0}/PyFunceble/helpers/list.py +11 -8
  223. {pyfunceble_dev-4.2.29 → pyfunceble_dev-4.3.0}/PyFunceble/helpers/merge.py +3 -3
  224. {pyfunceble_dev-4.2.29 → pyfunceble_dev-4.3.0}/PyFunceble/helpers/regex.py +10 -12
  225. {pyfunceble_dev-4.2.29 → pyfunceble_dev-4.3.0}/PyFunceble/logger.py +34 -11
  226. {pyfunceble_dev-4.2.29 → pyfunceble_dev-4.3.0}/PyFunceble/query/__init__.py +1 -1
  227. {pyfunceble_dev-4.2.29 → pyfunceble_dev-4.3.0}/PyFunceble/query/dns/__init__.py +1 -1
  228. {pyfunceble_dev-4.2.29 → pyfunceble_dev-4.3.0}/PyFunceble/query/dns/nameserver.py +22 -26
  229. {pyfunceble_dev-4.2.29 → pyfunceble_dev-4.3.0}/PyFunceble/query/dns/query_tool.py +67 -206
  230. {pyfunceble_dev-4.2.29 → pyfunceble_dev-4.3.0}/PyFunceble/query/dns/resolver.py +65 -52
  231. {pyfunceble_dev-4.2.29 → pyfunceble_dev-4.3.0}/PyFunceble/query/http_status_code.py +10 -8
  232. {pyfunceble_dev-4.2.29 → pyfunceble_dev-4.3.0}/PyFunceble/query/netinfo/__init__.py +1 -1
  233. {pyfunceble_dev-4.2.29 → pyfunceble_dev-4.3.0}/PyFunceble/query/netinfo/address.py +5 -7
  234. {pyfunceble_dev-4.2.29 → pyfunceble_dev-4.3.0}/PyFunceble/query/netinfo/base.py +2 -2
  235. {pyfunceble_dev-4.2.29 → pyfunceble_dev-4.3.0}/PyFunceble/query/netinfo/hostbyaddr.py +6 -9
  236. {pyfunceble_dev-4.2.29 → pyfunceble_dev-4.3.0}/PyFunceble/query/platform.py +8 -9
  237. {pyfunceble_dev-4.2.29 → pyfunceble_dev-4.3.0}/PyFunceble/query/record/__init__.py +1 -1
  238. {pyfunceble_dev-4.2.29 → pyfunceble_dev-4.3.0}/PyFunceble/query/record/base.py +1 -1
  239. {pyfunceble_dev-4.2.29 → pyfunceble_dev-4.3.0}/PyFunceble/query/record/dns.py +1 -1
  240. {pyfunceble_dev-4.2.29 → pyfunceble_dev-4.3.0}/PyFunceble/query/record/whois.py +1 -1
  241. {pyfunceble_dev-4.2.29 → pyfunceble_dev-4.3.0}/PyFunceble/query/requests/__init__.py +1 -1
  242. {pyfunceble_dev-4.2.29 → pyfunceble_dev-4.3.0}/PyFunceble/query/requests/adapter/__init__.py +1 -1
  243. {pyfunceble_dev-4.2.29 → pyfunceble_dev-4.3.0}/PyFunceble/query/requests/adapter/base.py +39 -7
  244. {pyfunceble_dev-4.2.29 → pyfunceble_dev-4.3.0}/PyFunceble/query/requests/adapter/http.py +3 -5
  245. {pyfunceble_dev-4.2.29 → pyfunceble_dev-4.3.0}/PyFunceble/query/requests/adapter/https.py +3 -3
  246. {pyfunceble_dev-4.2.29 → pyfunceble_dev-4.3.0}/PyFunceble/query/requests/requester.py +77 -48
  247. {pyfunceble_dev-4.2.29 → pyfunceble_dev-4.3.0}/PyFunceble/query/whois/__init__.py +1 -1
  248. {pyfunceble_dev-4.2.29 → pyfunceble_dev-4.3.0}/PyFunceble/query/whois/converter/__init__.py +1 -1
  249. {pyfunceble_dev-4.2.29 → pyfunceble_dev-4.3.0}/PyFunceble/query/whois/converter/base.py +1 -1
  250. {pyfunceble_dev-4.2.29 → pyfunceble_dev-4.3.0}/PyFunceble/query/whois/converter/digit2digits.py +1 -1
  251. {pyfunceble_dev-4.2.29 → pyfunceble_dev-4.3.0}/PyFunceble/query/whois/converter/expiration_date.py +20 -9
  252. {pyfunceble_dev-4.2.29 → pyfunceble_dev-4.3.0}/PyFunceble/query/whois/converter/month2unified.py +5 -7
  253. {pyfunceble_dev-4.2.29 → pyfunceble_dev-4.3.0}/PyFunceble/query/whois/converter/registrar.py +19 -6
  254. {pyfunceble_dev-4.2.29 → pyfunceble_dev-4.3.0}/PyFunceble/query/whois/query_tool.py +17 -19
  255. {pyfunceble_dev-4.2.29 → pyfunceble_dev-4.3.0}/PyFunceble/sessions.py +1 -1
  256. {pyfunceble_dev-4.2.29 → pyfunceble_dev-4.3.0}/PyFunceble/storage.py +4 -23
  257. {pyfunceble_dev-4.2.29 → pyfunceble_dev-4.3.0}/PyFunceble/storage_facility.py +1 -1
  258. {pyfunceble_dev-4.2.29 → pyfunceble_dev-4.3.0}/PyFunceble/utils/__init__.py +1 -1
  259. {pyfunceble_dev-4.2.29 → pyfunceble_dev-4.3.0}/PyFunceble/utils/platform.py +1 -1
  260. {pyfunceble_dev-4.2.29 → pyfunceble_dev-4.3.0}/PyFunceble/utils/profile.py +1 -1
  261. {pyfunceble_dev-4.2.29 → pyfunceble_dev-4.3.0}/PyFunceble/utils/version.py +1 -1
  262. {pyfunceble_dev-4.2.29 → pyfunceble_dev-4.3.0}/PyFunceble_dev.egg-info/PKG-INFO +194 -66
  263. {pyfunceble_dev-4.2.29 → pyfunceble_dev-4.3.0}/PyFunceble_dev.egg-info/SOURCES.txt +1 -0
  264. pyfunceble_dev-4.3.0/PyFunceble_dev.egg-info/requires.txt +179 -0
  265. {pyfunceble_dev-4.2.29 → pyfunceble_dev-4.3.0}/README.md +39 -11
  266. {pyfunceble_dev-4.2.29 → pyfunceble_dev-4.3.0}/requirements.txt +4 -4
  267. {pyfunceble_dev-4.2.29 → pyfunceble_dev-4.3.0}/requirements.win.txt +3 -4
  268. {pyfunceble_dev-4.2.29 → pyfunceble_dev-4.3.0}/setup.cfg +2 -1
  269. {pyfunceble_dev-4.2.29 → pyfunceble_dev-4.3.0}/setup.py +28 -6
  270. {pyfunceble_dev-4.2.29 → pyfunceble_dev-4.3.0}/version.yaml +2 -1
  271. pyfunceble_dev-4.2.29/PyFunceble/cli/processes/base.py +0 -500
  272. pyfunceble_dev-4.2.29/PyFunceble/cli/processes/workers/base.py +0 -417
  273. pyfunceble_dev-4.2.29/PyFunceble_dev.egg-info/requires.txt +0 -90
  274. {pyfunceble_dev-4.2.29 → pyfunceble_dev-4.3.0}/CODE_OF_CONDUCT.md +0 -0
  275. {pyfunceble_dev-4.2.29 → pyfunceble_dev-4.3.0}/CONTRIBUTING.md +0 -0
  276. {pyfunceble_dev-4.2.29 → pyfunceble_dev-4.3.0}/MANIFEST.in +0 -0
  277. {pyfunceble_dev-4.2.29 → pyfunceble_dev-4.3.0}/PyFunceble/data/__init__.py +0 -0
  278. {pyfunceble_dev-4.2.29 → pyfunceble_dev-4.3.0}/PyFunceble/data/alembic/mysql/script.py.mako +0 -0
  279. {pyfunceble_dev-4.2.29 → pyfunceble_dev-4.3.0}/PyFunceble/data/alembic/mysql/versions/35c79626ecb9_fix_some_columns.py +0 -0
  280. {pyfunceble_dev-4.2.29 → pyfunceble_dev-4.3.0}/PyFunceble/data/alembic/mysql/versions/3a4c55a9320d_add_continue_table.py +0 -0
  281. {pyfunceble_dev-4.2.29 → pyfunceble_dev-4.3.0}/PyFunceble/data/alembic/mysql/versions/3d6f4a33cdb2_add_inactive_table.py +0 -0
  282. {pyfunceble_dev-4.2.29 → pyfunceble_dev-4.3.0}/PyFunceble/data/alembic/mysql/versions/45713fea8097_deletion_uneeded_columns_from_whois_.py +0 -0
  283. {pyfunceble_dev-4.2.29 → pyfunceble_dev-4.3.0}/PyFunceble/data/alembic/mysql/versions/459a0d7b8f09_add_idna_subject_column_into_whois.py +0 -0
  284. {pyfunceble_dev-4.2.29 → pyfunceble_dev-4.3.0}/PyFunceble/data/alembic/mysql/versions/6f4729deaf03_delete_inactive_source_column.py +0 -0
  285. {pyfunceble_dev-4.2.29 → pyfunceble_dev-4.3.0}/PyFunceble/data/alembic/mysql/versions/7bcf7fa64ba1_rename_created_to_created_at_and.py +0 -0
  286. {pyfunceble_dev-4.2.29 → pyfunceble_dev-4.3.0}/PyFunceble/data/alembic/mysql/versions/83ada95132bf_delete_the_file_table.py +0 -0
  287. {pyfunceble_dev-4.2.29 → pyfunceble_dev-4.3.0}/PyFunceble/data/alembic/mysql/versions/912bbcb77a6c_add_registrar_column.py +0 -0
  288. {pyfunceble_dev-4.2.29 → pyfunceble_dev-4.3.0}/PyFunceble/data/alembic/mysql/versions/95dc17ddd729_introduction_of_the_session_id_column.py +0 -0
  289. {pyfunceble_dev-4.2.29 → pyfunceble_dev-4.3.0}/PyFunceble/data/alembic/mysql/versions/ade87195b0a0_base.py +0 -0
  290. {pyfunceble_dev-4.2.29 → pyfunceble_dev-4.3.0}/PyFunceble/data/alembic/mysql/versions/bef7bcaac3f2_make_id_a_bigint.py +0 -0
  291. {pyfunceble_dev-4.2.29 → pyfunceble_dev-4.3.0}/PyFunceble/data/alembic/mysql/versions/d8893cd406db_allow_whois_record_to_be_empty_null.py +0 -0
  292. {pyfunceble_dev-4.2.29 → pyfunceble_dev-4.3.0}/PyFunceble/data/alembic/mysql/versions/e04e8301d1a2_deletion_of_the_mined_table.py +0 -0
  293. {pyfunceble_dev-4.2.29 → pyfunceble_dev-4.3.0}/PyFunceble/data/alembic/postgresql/script.py.mako +0 -0
  294. {pyfunceble_dev-4.2.29 → pyfunceble_dev-4.3.0}/PyFunceble/data/alembic/postgresql/versions/a32ac5d66eee_initial_version.py +0 -0
  295. {pyfunceble_dev-4.2.29 → pyfunceble_dev-4.3.0}/PyFunceble/data/infrastructure/__init__.py +0 -0
  296. {pyfunceble_dev-4.2.29 → pyfunceble_dev-4.3.0}/PyFunceble/data/infrastructure/dir_structure_production.json +0 -0
  297. {pyfunceble_dev-4.2.29 → pyfunceble_dev-4.3.0}/PyFunceble_dev.egg-info/dependency_links.txt +0 -0
  298. {pyfunceble_dev-4.2.29 → pyfunceble_dev-4.3.0}/PyFunceble_dev.egg-info/entry_points.txt +0 -0
  299. {pyfunceble_dev-4.2.29 → pyfunceble_dev-4.3.0}/PyFunceble_dev.egg-info/top_level.txt +0 -0
  300. {pyfunceble_dev-4.2.29 → pyfunceble_dev-4.3.0}/requirements.dev.txt +0 -0
  301. {pyfunceble_dev-4.2.29 → pyfunceble_dev-4.3.0}/requirements.docs.txt +0 -0
  302. {pyfunceble_dev-4.2.29 → pyfunceble_dev-4.3.0}/requirements.test.txt +0 -0
@@ -6,6 +6,7 @@ contribution(s) and or issue report which made or make PyFunceble a better tool.
6
6
  <!-- ALL-CONTRIBUTORS-LIST:START - Do not remove or modify this section -->
7
7
  <!-- prettier-ignore-start -->
8
8
  <!-- markdownlint-disable -->
9
+
9
10
  <table>
10
11
  <tbody>
11
12
  <tr>
@@ -23,34 +24,35 @@ contribution(s) and or issue report which made or make PyFunceble a better tool.
23
24
  <td align="center" valign="top" width="20%"><a href="https://github.com/ybreza"><img src="https://avatars.githubusercontent.com/u/35470865?v=4?s=100" width="100px;" alt="Reza Rizqullah"/><br /><sub><b>Reza Rizqullah</b></sub></a><br /><a href="#design-ybreza" title="Design">🎨</a> <a href="https://github.com/funilrys/PyFunceble/commits?author=ybreza" title="Code">💻</a></td>
24
25
  </tr>
25
26
  <tr>
27
+ <td align="center" valign="top" width="20%"><a href="https://github.com/techdragon"><img src="https://avatars.githubusercontent.com/u/2115079?v=4?s=100" width="100px;" alt="Samuel Bishop"/><br /><sub><b>Samuel Bishop</b></sub></a><br /><a href="https://github.com/funilrys/PyFunceble/issues?q=author%3Atechdragon" title="Bug reports">🐛</a> <a href="#ideas-techdragon" title="Ideas, Planning, & Feedback">🤔</a></td>
26
28
  <td align="center" valign="top" width="20%"><a href="https://scripttiger.github.io/"><img src="https://avatars.githubusercontent.com/u/29940916?v=4?s=100" width="100px;" alt="ScriptTiger"/><br /><sub><b>ScriptTiger</b></sub></a><br /><a href="https://github.com/funilrys/PyFunceble/issues?q=author%3AScriptTiger" title="Bug reports">🐛</a> <a href="#ideas-ScriptTiger" title="Ideas, Planning, & Feedback">🤔</a> <a href="https://github.com/funilrys/PyFunceble/commits?author=ScriptTiger" title="Tests">⚠️</a></td>
27
29
  <td align="center" valign="top" width="20%"><a href="https://github.com/sjhgvr"><img src="https://avatars.githubusercontent.com/u/51121527?v=4?s=100" width="100px;" alt="Stephan van Ruth"/><br /><sub><b>Stephan van Ruth</b></sub></a><br /><a href="https://github.com/funilrys/PyFunceble/issues?q=author%3Asjhgvr" title="Bug reports">🐛</a> <a href="https://github.com/funilrys/PyFunceble/commits?author=sjhgvr" title="Tests">⚠️</a></td>
28
30
  <td align="center" valign="top" width="20%"><a href="http://stevenblack.com/"><img src="https://avatars.githubusercontent.com/u/80144?v=4?s=100" width="100px;" alt="Steven Black"/><br /><sub><b>Steven Black</b></sub></a><br /><a href="#ideas-StevenBlack" title="Ideas, Planning, & Feedback">🤔</a> <a href="#financial-StevenBlack" title="Financial">💵</a></td>
29
31
  <td align="center" valign="top" width="20%"><a href="https://github.com/T145"><img src="https://avatars.githubusercontent.com/u/1214129?v=4?s=100" width="100px;" alt="T145"/><br /><sub><b>T145</b></sub></a><br /><a href="https://github.com/funilrys/PyFunceble/issues?q=author%3AT145" title="Bug reports">🐛</a> <a href="#ideas-T145" title="Ideas, Planning, & Feedback">🤔</a></td>
30
- <td align="center" valign="top" width="20%"><a href="https://infosec.exchange/@wally3k"><img src="https://avatars.githubusercontent.com/u/3049142?v=4?s=100" width="100px;" alt="WaLLy3K"/><br /><sub><b>WaLLy3K</b></sub></a><br /><a href="https://github.com/funilrys/PyFunceble/issues?q=author%3AWaLLy3K" title="Bug reports">🐛</a> <a href="#ideas-WaLLy3K" title="Ideas, Planning, & Feedback">🤔</a></td>
31
32
  </tr>
32
33
  <tr>
34
+ <td align="center" valign="top" width="20%"><a href="https://infosec.exchange/@wally3k"><img src="https://avatars.githubusercontent.com/u/3049142?v=4?s=100" width="100px;" alt="WaLLy3K"/><br /><sub><b>WaLLy3K</b></sub></a><br /><a href="https://github.com/funilrys/PyFunceble/issues?q=author%3AWaLLy3K" title="Bug reports">🐛</a> <a href="#ideas-WaLLy3K" title="Ideas, Planning, & Feedback">🤔</a></td>
33
35
  <td align="center" valign="top" width="20%"><a href="https://github.com/Yuki2718"><img src="https://avatars.githubusercontent.com/u/58900598?v=4?s=100" width="100px;" alt="Yuki2718"/><br /><sub><b>Yuki2718</b></sub></a><br /><a href="https://github.com/funilrys/PyFunceble/issues?q=author%3AYuki2718" title="Bug reports">🐛</a> <a href="https://github.com/funilrys/PyFunceble/commits?author=Yuki2718" title="Tests">⚠️</a></td>
34
36
  <td align="center" valign="top" width="20%"><a href="https://github.com/Zachinquarantine"><img src="https://avatars.githubusercontent.com/u/69423184?v=4?s=100" width="100px;" alt="Zachinquarantine"/><br /><sub><b>Zachinquarantine</b></sub></a><br /><a href="https://github.com/funilrys/PyFunceble/commits?author=Zachinquarantine" title="Code">💻</a></td>
35
37
  <td align="center" valign="top" width="20%"><a href="http://bit.ly/cBWeb"><img src="https://avatars.githubusercontent.com/u/28985171?v=4?s=100" width="100px;" alt="ZeroDot1"/><br /><sub><b>ZeroDot1</b></sub></a><br /><a href="https://github.com/funilrys/PyFunceble/issues?q=author%3AZeroDot1" title="Bug reports">🐛</a> <a href="#ideas-ZeroDot1" title="Ideas, Planning, & Feedback">🤔</a> <a href="#question-ZeroDot1" title="Answering Questions">💬</a> <a href="https://github.com/funilrys/PyFunceble/commits?author=ZeroDot1" title="Tests">⚠️</a> <a href="https://github.com/funilrys/PyFunceble/commits?author=ZeroDot1" title="Code">💻</a></td>
36
38
  <td align="center" valign="top" width="20%"><a href="https://github.com/avatartw"><img src="https://avatars.githubusercontent.com/u/69660730?v=4?s=100" width="100px;" alt="avatartw"/><br /><sub><b>avatartw</b></sub></a><br /><a href="https://github.com/funilrys/PyFunceble/issues?q=author%3Aavatartw" title="Bug reports">🐛</a></td>
37
- <td align="center" valign="top" width="20%"><a href="https://github.com/dnmTX"><img src="https://avatars.githubusercontent.com/u/34774426?v=4?s=100" width="100px;" alt="dnmTX"/><br /><sub><b>dnmTX</b></sub></a><br /><a href="https://github.com/funilrys/PyFunceble/issues?q=author%3AdnmTX" title="Bug reports">🐛</a> <a href="#ideas-dnmTX" title="Ideas, Planning, & Feedback">🤔</a> <a href="#question-dnmTX" title="Answering Questions">💬</a> <a href="https://github.com/funilrys/PyFunceble/pulls?q=is%3Apr+reviewed-by%3AdnmTX" title="Reviewed Pull Requests">👀</a> <a href="#data-dnmTX" title="Data">🔣</a> <a href="https://github.com/funilrys/PyFunceble/commits?author=dnmTX" title="Tests">⚠️</a></td>
38
39
  </tr>
39
40
  <tr>
41
+ <td align="center" valign="top" width="20%"><a href="https://github.com/dnmTX"><img src="https://avatars.githubusercontent.com/u/34774426?v=4?s=100" width="100px;" alt="dnmTX"/><br /><sub><b>dnmTX</b></sub></a><br /><a href="https://github.com/funilrys/PyFunceble/issues?q=author%3AdnmTX" title="Bug reports">🐛</a> <a href="#ideas-dnmTX" title="Ideas, Planning, & Feedback">🤔</a> <a href="#question-dnmTX" title="Answering Questions">💬</a> <a href="https://github.com/funilrys/PyFunceble/pulls?q=is%3Apr+reviewed-by%3AdnmTX" title="Reviewed Pull Requests">👀</a> <a href="#data-dnmTX" title="Data">🔣</a> <a href="https://github.com/funilrys/PyFunceble/commits?author=dnmTX" title="Tests">⚠️</a></td>
40
42
  <td align="center" valign="top" width="20%"><a href="https://github.com/gwarser"><img src="https://avatars.githubusercontent.com/u/886325?v=4?s=100" width="100px;" alt="gwarser"/><br /><sub><b>gwarser</b></sub></a><br /><a href="https://github.com/funilrys/PyFunceble/issues?q=author%3Agwarser" title="Bug reports">🐛</a> <a href="#data-gwarser" title="Data">🔣</a> <a href="https://github.com/funilrys/PyFunceble/commits?author=gwarser" title="Tests">⚠️</a></td>
41
43
  <td align="center" valign="top" width="20%"><a href="https://github.com/hawkeye116477"><img src="https://avatars.githubusercontent.com/u/19818572?v=4?s=100" width="100px;" alt="hawkeye116477"/><br /><sub><b>hawkeye116477</b></sub></a><br /><a href="https://github.com/funilrys/PyFunceble/issues?q=author%3Ahawkeye116477" title="Bug reports">🐛</a></td>
42
44
  <td align="center" valign="top" width="20%"><a href="https://github.com/jawz101"><img src="https://avatars.githubusercontent.com/u/14151703?v=4?s=100" width="100px;" alt="jawz101"/><br /><sub><b>jawz101</b></sub></a><br /><a href="https://github.com/funilrys/PyFunceble/issues?q=author%3Ajawz101" title="Bug reports">🐛</a> <a href="#ideas-jawz101" title="Ideas, Planning, & Feedback">🤔</a> <a href="#question-jawz101" title="Answering Questions">💬</a> <a href="#data-jawz101" title="Data">🔣</a></td>
43
45
  <td align="center" valign="top" width="20%"><a href="https://github.com/keczuppp"><img src="https://avatars.githubusercontent.com/u/74409207?v=4?s=100" width="100px;" alt="keczuppp"/><br /><sub><b>keczuppp</b></sub></a><br /><a href="https://github.com/funilrys/PyFunceble/issues?q=author%3Akeczuppp" title="Bug reports">🐛</a> <a href="#ideas-keczuppp" title="Ideas, Planning, & Feedback">🤔</a> <a href="#question-keczuppp" title="Answering Questions">💬</a> <a href="https://github.com/funilrys/PyFunceble/commits?author=keczuppp" title="Tests">⚠️</a> <a href="#data-keczuppp" title="Data">🔣</a></td>
44
- <td align="center" valign="top" width="20%"><a href="https://github.com/opav"><img src="https://avatars.githubusercontent.com/u/6770347?v=4?s=100" width="100px;" alt="opav"/><br /><sub><b>opav</b></sub></a><br /><a href="https://github.com/funilrys/PyFunceble/issues?q=author%3Aopav" title="Bug reports">🐛</a> <a href="https://github.com/funilrys/PyFunceble/commits?author=opav" title="Tests">⚠️</a></td>
45
46
  </tr>
46
47
  <tr>
48
+ <td align="center" valign="top" width="20%"><a href="https://github.com/opav"><img src="https://avatars.githubusercontent.com/u/6770347?v=4?s=100" width="100px;" alt="opav"/><br /><sub><b>opav</b></sub></a><br /><a href="https://github.com/funilrys/PyFunceble/issues?q=author%3Aopav" title="Bug reports">🐛</a> <a href="https://github.com/funilrys/PyFunceble/commits?author=opav" title="Tests">⚠️</a></td>
47
49
  <td align="center" valign="top" width="20%"><a href="https://github.com/rusty-snake"><img src="https://avatars.githubusercontent.com/u/41237666?v=4?s=100" width="100px;" alt="rusty-snake"/><br /><sub><b>rusty-snake</b></sub></a><br /><a href="https://github.com/funilrys/PyFunceble/issues?q=author%3Arusty-snake" title="Bug reports">🐛</a> <a href="https://github.com/funilrys/PyFunceble/commits?author=rusty-snake" title="Documentation">📖</a></td>
48
50
  <td align="center" valign="top" width="20%"><a href="https://github.com/smed79"><img src="https://avatars.githubusercontent.com/u/1873139?v=4?s=100" width="100px;" alt="smed79"/><br /><sub><b>smed79</b></sub></a><br /><a href="https://github.com/funilrys/PyFunceble/issues?q=author%3Asmed79" title="Bug reports">🐛</a> <a href="#ideas-smed79" title="Ideas, Planning, & Feedback">🤔</a> <a href="https://github.com/funilrys/PyFunceble/commits?author=smed79" title="Code">💻</a> <a href="#question-smed79" title="Answering Questions">💬</a> <a href="https://github.com/funilrys/PyFunceble/commits?author=smed79" title="Tests">⚠️</a></td>
49
51
  <td align="center" valign="top" width="20%"><a href="https://speedmann.de/"><img src="https://avatars.githubusercontent.com/u/424659?v=4?s=100" width="100px;" alt="speedmann"/><br /><sub><b>speedmann</b></sub></a><br /><a href="https://github.com/funilrys/PyFunceble/issues?q=author%3Aspeedmann" title="Bug reports">🐛</a> <a href="https://github.com/funilrys/PyFunceble/commits?author=speedmann" title="Tests">⚠️</a></td>
50
52
  <td align="center" valign="top" width="20%"><a href="https://www.mypdns.org/"><img src="https://avatars.githubusercontent.com/u/44526987?v=4?s=100" width="100px;" alt="spirillen"/><br /><sub><b>spirillen</b></sub></a><br /><a href="#a11y-spirillen" title="Accessibility">️️️️♿️</a> <a href="https://github.com/funilrys/PyFunceble/issues?q=author%3Aspirillen" title="Bug reports">🐛</a> <a href="https://github.com/funilrys/PyFunceble/commits?author=spirillen" title="Code">💻</a> <a href="#content-spirillen" title="Content">🖋</a> <a href="#data-spirillen" title="Data">🔣</a> <a href="https://github.com/funilrys/PyFunceble/commits?author=spirillen" title="Documentation">📖</a> <a href="#example-spirillen" title="Examples">💡</a> <a href="#ideas-spirillen" title="Ideas, Planning, & Feedback">🤔</a> <a href="#maintenance-spirillen" title="Maintenance">🚧</a> <a href="#mentoring-spirillen" title="Mentoring">🧑‍🏫</a> <a href="#promotion-spirillen" title="Promotion">📣</a> <a href="#question-spirillen" title="Answering Questions">💬</a> <a href="https://github.com/funilrys/PyFunceble/pulls?q=is%3Apr+reviewed-by%3Aspirillen" title="Reviewed Pull Requests">👀</a> <a href="#tool-spirillen" title="Tools">🔧</a> <a href="https://github.com/funilrys/PyFunceble/commits?author=spirillen" title="Tests">⚠️</a> <a href="#tutorial-spirillen" title="Tutorials">✅</a> <a href="#talk-spirillen" title="Talks">📢</a> <a href="#userTesting-spirillen" title="User Testing">📓</a></td>
51
- <td align="center" valign="top" width="20%"><a href="https://github.com/NeolithEra"><img src="https://avatars.githubusercontent.com/u/52778917?v=4?s=100" width="100px;" alt="watchman-pypi"/><br /><sub><b>watchman-pypi</b></sub></a><br /><a href="https://github.com/funilrys/PyFunceble/issues?q=author%3ANeolithEra" title="Bug reports">🐛</a></td>
52
53
  </tr>
53
54
  <tr>
55
+ <td align="center" valign="top" width="20%"><a href="https://github.com/NeolithEra"><img src="https://avatars.githubusercontent.com/u/52778917?v=4?s=100" width="100px;" alt="watchman-pypi"/><br /><sub><b>watchman-pypi</b></sub></a><br /><a href="https://github.com/funilrys/PyFunceble/issues?q=author%3ANeolithEra" title="Bug reports">🐛</a></td>
54
56
  <td align="center" valign="top" width="20%"><a href="https://github.com/xxcriticxx"><img src="https://avatars.githubusercontent.com/u/15007183?v=4?s=100" width="100px;" alt="xxcriticxx"/><br /><sub><b>xxcriticxx</b></sub></a><br /><a href="https://github.com/funilrys/PyFunceble/issues?q=author%3Axxcriticxx" title="Bug reports">🐛</a> <a href="#ideas-xxcriticxx" title="Ideas, Planning, & Feedback">🤔</a> <a href="https://github.com/funilrys/PyFunceble/commits?author=xxcriticxx" title="Tests">⚠️</a></td>
55
57
  </tr>
56
58
  </tbody>
@@ -175,7 +175,7 @@
175
175
 
176
176
  END OF TERMS AND CONDITIONS
177
177
 
178
- Copyright 2017, 2018, 2019, 2020, 2022, 2023, 2024 Nissar Chababy
178
+ Copyright 2017, 2018, 2019, 2020, 2022, 2023, 2024, 2025 Nissar Chababy
179
179
 
180
180
  Licensed under the Apache License, Version 2.0 (the "License");
181
181
  you may not use this file except in compliance with the License.
@@ -1,6 +1,6 @@
1
- Metadata-Version: 2.1
1
+ Metadata-Version: 2.4
2
2
  Name: PyFunceble-dev
3
- Version: 4.2.29
3
+ Version: 4.3.0
4
4
  Summary: The tool to check the availability or syntax of domain, IP or URL.
5
5
  Home-page: https://github.com/funilrys/PyFunceble
6
6
  Author: funilrys
@@ -19,94 +19,194 @@ Classifier: Intended Audience :: Developers
19
19
  Classifier: Programming Language :: Python
20
20
  Classifier: Programming Language :: Python :: 3
21
21
  Classifier: License :: OSI Approved
22
- Requires-Python: >=3.8, <4
22
+ Requires-Python: >=3.9, <4
23
23
  Description-Content-Type: text/markdown
24
24
  License-File: LICENSE
25
25
  Requires-Dist: domain2idna~=1.12.0
26
- Requires-Dist: dnspython[DOH]~=2.6.0
26
+ Requires-Dist: alembic
27
+ Requires-Dist: PyMySQL
27
28
  Requires-Dist: requests[socks]<3
29
+ Requires-Dist: setuptools>=65.5.1
30
+ Requires-Dist: dnspython[DOH]~=2.7.0
31
+ Requires-Dist: python-dotenv
32
+ Requires-Dist: colorama
28
33
  Requires-Dist: PyYAML
34
+ Requires-Dist: python-box[all]~=7.3.2
35
+ Requires-Dist: SQLAlchemy~=2.0
29
36
  Requires-Dist: inflection
30
- Requires-Dist: python-dotenv
37
+ Requires-Dist: pyfunceble-process-manager==1.0.10
31
38
  Requires-Dist: shtab
32
- Requires-Dist: SQLAlchemy[postgresql-psycopg2binary]~=2.0
33
- Requires-Dist: python-box[all]~=6.0.0
34
- Requires-Dist: setuptools>=65.5.1
35
- Requires-Dist: cryptography~=42.0
36
- Requires-Dist: PyMySQL
37
39
  Requires-Dist: packaging
38
- Requires-Dist: alembic
39
- Requires-Dist: colorama
40
40
  Provides-Extra: docs
41
- Requires-Dist: zipp>=3.19.1; extra == "docs"
42
- Requires-Dist: mkdocstrings[python]~=0.26; extra == "docs"
43
- Requires-Dist: mkdocs-gen-files~=0.5; extra == "docs"
44
- Requires-Dist: mkdocs-literate-nav~=0.6; extra == "docs"
41
+ Requires-Dist: mkdocs-material~=9.5; extra == "docs"
45
42
  Requires-Dist: mkdocs-section-index~=0.3; extra == "docs"
46
- Requires-Dist: mkdocs-git-authors-plugin~=0.9; extra == "docs"
43
+ Requires-Dist: pymdown-extensions~=10.9; extra == "docs"
44
+ Requires-Dist: zipp>=3.19.1; extra == "docs"
47
45
  Requires-Dist: mkdocs-git-revision-date-localized-plugin~=1.2; extra == "docs"
46
+ Requires-Dist: mkdocs-literate-nav~=0.6; extra == "docs"
47
+ Requires-Dist: mkdocs-gen-files~=0.5; extra == "docs"
48
48
  Requires-Dist: mkdocs~=1.5; extra == "docs"
49
- Requires-Dist: mkdocs-material~=9.5; extra == "docs"
50
49
  Requires-Dist: mkdocs-macros-plugin~=1.2; extra == "docs"
51
- Requires-Dist: pymdown-extensions~=10.9; extra == "docs"
50
+ Requires-Dist: mkdocstrings[python]~=0.26; extra == "docs"
51
+ Requires-Dist: mkdocs-git-authors-plugin~=0.9; extra == "docs"
52
52
  Provides-Extra: dev
53
- Requires-Dist: black; extra == "dev"
53
+ Requires-Dist: flake8; extra == "dev"
54
54
  Requires-Dist: pylint; extra == "dev"
55
55
  Requires-Dist: isort; extra == "dev"
56
- Requires-Dist: flake8; extra == "dev"
56
+ Requires-Dist: black; extra == "dev"
57
57
  Provides-Extra: test
58
- Requires-Dist: coverage; extra == "test"
59
58
  Requires-Dist: tox; extra == "test"
59
+ Requires-Dist: coverage; extra == "test"
60
60
  Provides-Extra: psql
61
61
  Requires-Dist: domain2idna~=1.12.0; extra == "psql"
62
- Requires-Dist: dnspython[DOH]~=2.6.0; extra == "psql"
62
+ Requires-Dist: alembic; extra == "psql"
63
+ Requires-Dist: PyMySQL; extra == "psql"
63
64
  Requires-Dist: requests[socks]<3; extra == "psql"
65
+ Requires-Dist: setuptools>=65.5.1; extra == "psql"
66
+ Requires-Dist: dnspython[DOH]~=2.7.0; extra == "psql"
67
+ Requires-Dist: psycopg2; extra == "psql"
68
+ Requires-Dist: python-dotenv; extra == "psql"
69
+ Requires-Dist: colorama; extra == "psql"
64
70
  Requires-Dist: PyYAML; extra == "psql"
71
+ Requires-Dist: python-box[all]~=7.3.2; extra == "psql"
72
+ Requires-Dist: SQLAlchemy~=2.0; extra == "psql"
65
73
  Requires-Dist: inflection; extra == "psql"
66
- Requires-Dist: python-dotenv; extra == "psql"
74
+ Requires-Dist: pyfunceble-process-manager==1.0.10; extra == "psql"
67
75
  Requires-Dist: shtab; extra == "psql"
68
- Requires-Dist: SQLAlchemy[postgresql-psycopg2binary]~=2.0; extra == "psql"
69
- Requires-Dist: python-box[all]~=6.0.0; extra == "psql"
70
- Requires-Dist: setuptools>=65.5.1; extra == "psql"
71
- Requires-Dist: cryptography~=42.0; extra == "psql"
72
- Requires-Dist: PyMySQL; extra == "psql"
73
- Requires-Dist: psycopg2; extra == "psql"
74
76
  Requires-Dist: packaging; extra == "psql"
75
- Requires-Dist: alembic; extra == "psql"
76
- Requires-Dist: colorama; extra == "psql"
77
+ Provides-Extra: psql-binary
78
+ Requires-Dist: domain2idna~=1.12.0; extra == "psql-binary"
79
+ Requires-Dist: alembic; extra == "psql-binary"
80
+ Requires-Dist: PyMySQL; extra == "psql-binary"
81
+ Requires-Dist: requests[socks]<3; extra == "psql-binary"
82
+ Requires-Dist: setuptools>=65.5.1; extra == "psql-binary"
83
+ Requires-Dist: dnspython[DOH]~=2.7.0; extra == "psql-binary"
84
+ Requires-Dist: python-dotenv; extra == "psql-binary"
85
+ Requires-Dist: colorama; extra == "psql-binary"
86
+ Requires-Dist: psycopg2-binary; extra == "psql-binary"
87
+ Requires-Dist: PyYAML; extra == "psql-binary"
88
+ Requires-Dist: python-box[all]~=7.3.2; extra == "psql-binary"
89
+ Requires-Dist: SQLAlchemy~=2.0; extra == "psql-binary"
90
+ Requires-Dist: inflection; extra == "psql-binary"
91
+ Requires-Dist: pyfunceble-process-manager==1.0.10; extra == "psql-binary"
92
+ Requires-Dist: shtab; extra == "psql-binary"
93
+ Requires-Dist: packaging; extra == "psql-binary"
94
+ Provides-Extra: postgresql
95
+ Requires-Dist: domain2idna~=1.12.0; extra == "postgresql"
96
+ Requires-Dist: alembic; extra == "postgresql"
97
+ Requires-Dist: PyMySQL; extra == "postgresql"
98
+ Requires-Dist: requests[socks]<3; extra == "postgresql"
99
+ Requires-Dist: setuptools>=65.5.1; extra == "postgresql"
100
+ Requires-Dist: dnspython[DOH]~=2.7.0; extra == "postgresql"
101
+ Requires-Dist: psycopg2; extra == "postgresql"
102
+ Requires-Dist: python-dotenv; extra == "postgresql"
103
+ Requires-Dist: colorama; extra == "postgresql"
104
+ Requires-Dist: PyYAML; extra == "postgresql"
105
+ Requires-Dist: python-box[all]~=7.3.2; extra == "postgresql"
106
+ Requires-Dist: SQLAlchemy~=2.0; extra == "postgresql"
107
+ Requires-Dist: inflection; extra == "postgresql"
108
+ Requires-Dist: pyfunceble-process-manager==1.0.10; extra == "postgresql"
109
+ Requires-Dist: shtab; extra == "postgresql"
110
+ Requires-Dist: packaging; extra == "postgresql"
111
+ Provides-Extra: postgresql-binary
112
+ Requires-Dist: domain2idna~=1.12.0; extra == "postgresql-binary"
113
+ Requires-Dist: alembic; extra == "postgresql-binary"
114
+ Requires-Dist: PyMySQL; extra == "postgresql-binary"
115
+ Requires-Dist: requests[socks]<3; extra == "postgresql-binary"
116
+ Requires-Dist: setuptools>=65.5.1; extra == "postgresql-binary"
117
+ Requires-Dist: dnspython[DOH]~=2.7.0; extra == "postgresql-binary"
118
+ Requires-Dist: python-dotenv; extra == "postgresql-binary"
119
+ Requires-Dist: colorama; extra == "postgresql-binary"
120
+ Requires-Dist: psycopg2-binary; extra == "postgresql-binary"
121
+ Requires-Dist: PyYAML; extra == "postgresql-binary"
122
+ Requires-Dist: python-box[all]~=7.3.2; extra == "postgresql-binary"
123
+ Requires-Dist: SQLAlchemy~=2.0; extra == "postgresql-binary"
124
+ Requires-Dist: inflection; extra == "postgresql-binary"
125
+ Requires-Dist: pyfunceble-process-manager==1.0.10; extra == "postgresql-binary"
126
+ Requires-Dist: shtab; extra == "postgresql-binary"
127
+ Requires-Dist: packaging; extra == "postgresql-binary"
77
128
  Provides-Extra: full
78
- Requires-Dist: zipp>=3.19.1; extra == "full"
129
+ Requires-Dist: mkdocs-material~=9.5; extra == "full"
79
130
  Requires-Dist: domain2idna~=1.12.0; extra == "full"
80
- Requires-Dist: dnspython[DOH]~=2.6.0; extra == "full"
81
- Requires-Dist: requests[socks]<3; extra == "full"
82
- Requires-Dist: inflection; extra == "full"
83
- Requires-Dist: python-dotenv; extra == "full"
84
- Requires-Dist: pylint; extra == "full"
85
- Requires-Dist: mkdocs-macros-plugin~=1.2; extra == "full"
131
+ Requires-Dist: PyMySQL; extra == "full"
132
+ Requires-Dist: setuptools>=65.5.1; extra == "full"
86
133
  Requires-Dist: PyYAML; extra == "full"
87
- Requires-Dist: mkdocs-gen-files~=0.5; extra == "full"
88
134
  Requires-Dist: coverage; extra == "full"
135
+ Requires-Dist: pylint; extra == "full"
136
+ Requires-Dist: black; extra == "full"
137
+ Requires-Dist: SQLAlchemy~=2.0; extra == "full"
138
+ Requires-Dist: mkdocstrings[python]~=0.26; extra == "full"
89
139
  Requires-Dist: shtab; extra == "full"
90
- Requires-Dist: setuptools>=65.5.1; extra == "full"
91
- Requires-Dist: cryptography~=42.0; extra == "full"
92
- Requires-Dist: colorama; extra == "full"
93
140
  Requires-Dist: flake8; extra == "full"
94
- Requires-Dist: tox; extra == "full"
95
- Requires-Dist: mkdocstrings[python]~=0.26; extra == "full"
96
- Requires-Dist: mkdocs-literate-nav~=0.6; extra == "full"
97
- Requires-Dist: mkdocs-git-revision-date-localized-plugin~=1.2; extra == "full"
98
141
  Requires-Dist: isort; extra == "full"
99
- Requires-Dist: pymdown-extensions~=10.9; extra == "full"
100
- Requires-Dist: packaging; extra == "full"
101
142
  Requires-Dist: alembic; extra == "full"
102
- Requires-Dist: mkdocs-section-index~=0.3; extra == "full"
143
+ Requires-Dist: dnspython[DOH]~=2.7.0; extra == "full"
144
+ Requires-Dist: colorama; extra == "full"
145
+ Requires-Dist: zipp>=3.19.1; extra == "full"
146
+ Requires-Dist: mkdocs-gen-files~=0.5; extra == "full"
147
+ Requires-Dist: python-box[all]~=7.3.2; extra == "full"
148
+ Requires-Dist: mkdocs-macros-plugin~=1.2; extra == "full"
149
+ Requires-Dist: requests[socks]<3; extra == "full"
150
+ Requires-Dist: tox; extra == "full"
103
151
  Requires-Dist: mkdocs-git-authors-plugin~=0.9; extra == "full"
104
- Requires-Dist: SQLAlchemy[postgresql-psycopg2binary]~=2.0; extra == "full"
152
+ Requires-Dist: mkdocs-section-index~=0.3; extra == "full"
153
+ Requires-Dist: pymdown-extensions~=10.9; extra == "full"
105
154
  Requires-Dist: mkdocs~=1.5; extra == "full"
106
- Requires-Dist: python-box[all]~=6.0.0; extra == "full"
107
- Requires-Dist: PyMySQL; extra == "full"
108
- Requires-Dist: mkdocs-material~=9.5; extra == "full"
109
- Requires-Dist: black; extra == "full"
155
+ Requires-Dist: pyfunceble-process-manager==1.0.10; extra == "full"
156
+ Requires-Dist: python-dotenv; extra == "full"
157
+ Requires-Dist: mkdocs-git-revision-date-localized-plugin~=1.2; extra == "full"
158
+ Requires-Dist: mkdocs-literate-nav~=0.6; extra == "full"
159
+ Requires-Dist: inflection; extra == "full"
160
+ Requires-Dist: packaging; extra == "full"
161
+ Provides-Extra: all
162
+ Requires-Dist: mkdocs-material~=9.5; extra == "all"
163
+ Requires-Dist: domain2idna~=1.12.0; extra == "all"
164
+ Requires-Dist: PyMySQL; extra == "all"
165
+ Requires-Dist: setuptools>=65.5.1; extra == "all"
166
+ Requires-Dist: PyYAML; extra == "all"
167
+ Requires-Dist: coverage; extra == "all"
168
+ Requires-Dist: pylint; extra == "all"
169
+ Requires-Dist: black; extra == "all"
170
+ Requires-Dist: SQLAlchemy~=2.0; extra == "all"
171
+ Requires-Dist: mkdocstrings[python]~=0.26; extra == "all"
172
+ Requires-Dist: shtab; extra == "all"
173
+ Requires-Dist: flake8; extra == "all"
174
+ Requires-Dist: isort; extra == "all"
175
+ Requires-Dist: alembic; extra == "all"
176
+ Requires-Dist: dnspython[DOH]~=2.7.0; extra == "all"
177
+ Requires-Dist: colorama; extra == "all"
178
+ Requires-Dist: psycopg2-binary; extra == "all"
179
+ Requires-Dist: zipp>=3.19.1; extra == "all"
180
+ Requires-Dist: mkdocs-gen-files~=0.5; extra == "all"
181
+ Requires-Dist: python-box[all]~=7.3.2; extra == "all"
182
+ Requires-Dist: mkdocs-macros-plugin~=1.2; extra == "all"
183
+ Requires-Dist: requests[socks]<3; extra == "all"
184
+ Requires-Dist: tox; extra == "all"
185
+ Requires-Dist: mkdocs-git-authors-plugin~=0.9; extra == "all"
186
+ Requires-Dist: mkdocs-section-index~=0.3; extra == "all"
187
+ Requires-Dist: pymdown-extensions~=10.9; extra == "all"
188
+ Requires-Dist: mkdocs~=1.5; extra == "all"
189
+ Requires-Dist: pyfunceble-process-manager==1.0.10; extra == "all"
190
+ Requires-Dist: python-dotenv; extra == "all"
191
+ Requires-Dist: mkdocs-git-revision-date-localized-plugin~=1.2; extra == "all"
192
+ Requires-Dist: mkdocs-literate-nav~=0.6; extra == "all"
193
+ Requires-Dist: inflection; extra == "all"
194
+ Requires-Dist: packaging; extra == "all"
195
+ Dynamic: author
196
+ Dynamic: author-email
197
+ Dynamic: classifier
198
+ Dynamic: description
199
+ Dynamic: description-content-type
200
+ Dynamic: home-page
201
+ Dynamic: keywords
202
+ Dynamic: license
203
+ Dynamic: license-file
204
+ Dynamic: platform
205
+ Dynamic: project-url
206
+ Dynamic: provides-extra
207
+ Dynamic: requires-dist
208
+ Dynamic: requires-python
209
+ Dynamic: summary
110
210
 
111
211
  ![image](https://raw.githubusercontent.com/PyFunceble/logo/dev/Green/HD/RM.png)
112
212
 
@@ -115,6 +215,7 @@ Requires-Dist: black; extra == "full"
115
215
  [![image](https://img.shields.io/badge/code%20style-black-000000.png)](https://github.com/ambv/black)
116
216
  [![image](https://coveralls.io/repos/github/funilrys/PyFunceble/badge.png?branch=dev)](https://coveralls.io/github/funilrys/PyFunceble?branch=dev)
117
217
  [![image](https://img.shields.io/github/license/funilrys/PyFunceble.png)](https://github.com/funilrys/PyFunceble/blob/dev/LICENSE)
218
+ [![FOSSA Status](https://app.fossa.com/api/projects/git%2Bgithub.com%2Ffunilrys%2FPyFunceble.svg?type=shield&issueType=license)](https://app.fossa.com/projects/git%2Bgithub.com%2Ffunilrys%2FPyFunceble?ref=badge_shield&issueType=license)
118
219
  [![image](https://img.shields.io/pypi/v/pyfunceble-dev.png)](https://pypi.org/project/pyfunceble-dev)
119
220
  [![image](https://img.shields.io/github/issues/funilrys/PyFunceble.png)](https://github.com/funilrys/PyFunceble/issues)
120
221
 
@@ -153,11 +254,10 @@ Happy testing with PyFunceble!
153
254
 
154
255
  # Table of Content
155
256
 
156
- - [The tool to check the availability or syntax of domain, IP or URL](#the-tool-to-check-the-availability-or-syntax-of-domain-ip-or-url)
157
- - [Table of Content](#table-of-content)
158
257
  - [Installation](#installation)
159
258
  - [Packages \& Versioning](#packages--versioning)
160
259
  - [PyPi - Python Package Index](#pypi---python-package-index)
260
+ - [Optional Dependencies](#optional-dependencies)
161
261
  - [pyfunceble](#pyfunceble)
162
262
  - [pyfunceble-dev](#pyfunceble-dev)
163
263
  - [Container Image Registry](#container-image-registry)
@@ -221,10 +321,36 @@ the OS specific packages _(see below)_.
221
321
  Here is an overview of the packages and where they are hosted.
222
322
 
223
323
  | Package | PyPi Link |
224
- |----------------|------------------------------------------|
324
+ | -------------- | ---------------------------------------- |
225
325
  | pyfunceble | https://pypi.org/project/PyFunceble |
226
326
  | pyfunceble-dev | https://pypi.org/project/PyFunceblee-dev |
227
327
 
328
+ ### Optional Dependencies
329
+
330
+ The following dependencies are optional and can be installed if you need them.
331
+
332
+ | Dependency | Description |
333
+ | ---------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
334
+ | `all` | Install all functional dependencies. Basically all but `dev`, `test` and `docs`. _When a binary and non binary version is available, the binary version is installed._ |
335
+ | `full` | Install all dependencies listed below. _When a binary and non binary version is available, the binary version is installed._ |
336
+ | `psql`, `postgresql` | **Build** and install the dependencies required to interact with PostgreSQL. |
337
+ | `psql-binary`, `postgresql-binary` | **Install** the dependencies required to interact with PostgreSQL - from binary. |
338
+ | `docs` | Install the dependencies required to build the documentation. |
339
+ | `test` | Install the dependencies required to run the tests. |
340
+ | `dev` | Install the dependencies required to develop PyFunceble. |
341
+
342
+ They are intended to be installed through the following syntax:
343
+
344
+ ```shell
345
+ pip3 install --user {pkg}[{dependency}]
346
+ ```
347
+
348
+ As an example if you want to install the `docs` and `test` dependencies, you should run:
349
+
350
+ ```shell
351
+ pip3 install --user pyfunceble[docs,test]
352
+ ```
353
+
228
354
  ### pyfunceble
229
355
 
230
356
  You can install the **pyfunceble** through `pip3`:
@@ -257,7 +383,7 @@ is available. :smile:
257
383
  Here is an overview of the packages and where they are hosted.
258
384
 
259
385
  | Host | Package | Link |
260
- |------------|----------------|----------------------------------------------------------------------------------------------------------|
386
+ | ---------- | -------------- | -------------------------------------------------------------------------------------------------------- |
261
387
  | Docker Hub | pyfunceble | [https://hub.docker.com/r/pyfunceble/pyfunceble](https://hub.docker.com/r/pyfunceble/pyfunceble) |
262
388
  | Docker Hub | pyfunceble-dev | [https://hub.docker.com/r/pyfunceble/pyfunceble-dev](https://hub.docker.com/r/pyfunceble/pyfunceble-dev) |
263
389
 
@@ -307,7 +433,7 @@ this is probably for you.
307
433
  Here is an overview of the packages and where they are hosted.
308
434
 
309
435
  | Host | Package | Repository |
310
- |--------|----------------|-------------------------------------------------------------------------|
436
+ | ------ | -------------- | ----------------------------------------------------------------------- |
311
437
  | GitHub | pyfunceble | `git+https://github.com/funilrys/PyFunceble.git@master#egg=PyFunceble` |
312
438
  | GitHub | pyfunceble-dev | `git+https://github.com/funilrys/PyFunceble.git@dev#egg=PyFunceble-dev` |
313
439
  | GitLab | pyfunceble | `git+https://gitlab.com/funilrys/PyFunceble.git@master#egg=PyFunceble` |
@@ -476,7 +602,7 @@ From source:
476
602
 
477
603
  ```shell
478
604
  # Install dependencies.
479
- pip install --user -r requirements.docs.txt
605
+ pip install --user .[docs]
480
606
  # Serve documentation locally.
481
607
  mkdocs serve
482
608
  # Open Documentation with browser.
@@ -507,6 +633,7 @@ contribution(s) and or issue report which made or make
507
633
  <!-- ALL-CONTRIBUTORS-LIST:START - Do not remove or modify this section -->
508
634
  <!-- prettier-ignore-start -->
509
635
  <!-- markdownlint-disable -->
636
+
510
637
  <table>
511
638
  <tbody>
512
639
  <tr>
@@ -524,34 +651,35 @@ contribution(s) and or issue report which made or make
524
651
  <td align="center" valign="top" width="20%"><a href="https://github.com/ybreza"><img src="https://avatars.githubusercontent.com/u/35470865?v=4?s=100" width="100px;" alt="Reza Rizqullah"/><br /><sub><b>Reza Rizqullah</b></sub></a><br /><a href="#design-ybreza" title="Design">🎨</a> <a href="https://github.com/funilrys/PyFunceble/commits?author=ybreza" title="Code">💻</a></td>
525
652
  </tr>
526
653
  <tr>
654
+ <td align="center" valign="top" width="20%"><a href="https://github.com/techdragon"><img src="https://avatars.githubusercontent.com/u/2115079?v=4?s=100" width="100px;" alt="Samuel Bishop"/><br /><sub><b>Samuel Bishop</b></sub></a><br /><a href="https://github.com/funilrys/PyFunceble/issues?q=author%3Atechdragon" title="Bug reports">🐛</a> <a href="#ideas-techdragon" title="Ideas, Planning, & Feedback">🤔</a></td>
527
655
  <td align="center" valign="top" width="20%"><a href="https://scripttiger.github.io/"><img src="https://avatars.githubusercontent.com/u/29940916?v=4?s=100" width="100px;" alt="ScriptTiger"/><br /><sub><b>ScriptTiger</b></sub></a><br /><a href="https://github.com/funilrys/PyFunceble/issues?q=author%3AScriptTiger" title="Bug reports">🐛</a> <a href="#ideas-ScriptTiger" title="Ideas, Planning, & Feedback">🤔</a> <a href="https://github.com/funilrys/PyFunceble/commits?author=ScriptTiger" title="Tests">⚠️</a></td>
528
656
  <td align="center" valign="top" width="20%"><a href="https://github.com/sjhgvr"><img src="https://avatars.githubusercontent.com/u/51121527?v=4?s=100" width="100px;" alt="Stephan van Ruth"/><br /><sub><b>Stephan van Ruth</b></sub></a><br /><a href="https://github.com/funilrys/PyFunceble/issues?q=author%3Asjhgvr" title="Bug reports">🐛</a> <a href="https://github.com/funilrys/PyFunceble/commits?author=sjhgvr" title="Tests">⚠️</a></td>
529
657
  <td align="center" valign="top" width="20%"><a href="http://stevenblack.com/"><img src="https://avatars.githubusercontent.com/u/80144?v=4?s=100" width="100px;" alt="Steven Black"/><br /><sub><b>Steven Black</b></sub></a><br /><a href="#ideas-StevenBlack" title="Ideas, Planning, & Feedback">🤔</a> <a href="#financial-StevenBlack" title="Financial">💵</a></td>
530
658
  <td align="center" valign="top" width="20%"><a href="https://github.com/T145"><img src="https://avatars.githubusercontent.com/u/1214129?v=4?s=100" width="100px;" alt="T145"/><br /><sub><b>T145</b></sub></a><br /><a href="https://github.com/funilrys/PyFunceble/issues?q=author%3AT145" title="Bug reports">🐛</a> <a href="#ideas-T145" title="Ideas, Planning, & Feedback">🤔</a></td>
531
- <td align="center" valign="top" width="20%"><a href="https://infosec.exchange/@wally3k"><img src="https://avatars.githubusercontent.com/u/3049142?v=4?s=100" width="100px;" alt="WaLLy3K"/><br /><sub><b>WaLLy3K</b></sub></a><br /><a href="https://github.com/funilrys/PyFunceble/issues?q=author%3AWaLLy3K" title="Bug reports">🐛</a> <a href="#ideas-WaLLy3K" title="Ideas, Planning, & Feedback">🤔</a></td>
532
659
  </tr>
533
660
  <tr>
661
+ <td align="center" valign="top" width="20%"><a href="https://infosec.exchange/@wally3k"><img src="https://avatars.githubusercontent.com/u/3049142?v=4?s=100" width="100px;" alt="WaLLy3K"/><br /><sub><b>WaLLy3K</b></sub></a><br /><a href="https://github.com/funilrys/PyFunceble/issues?q=author%3AWaLLy3K" title="Bug reports">🐛</a> <a href="#ideas-WaLLy3K" title="Ideas, Planning, & Feedback">🤔</a></td>
534
662
  <td align="center" valign="top" width="20%"><a href="https://github.com/Yuki2718"><img src="https://avatars.githubusercontent.com/u/58900598?v=4?s=100" width="100px;" alt="Yuki2718"/><br /><sub><b>Yuki2718</b></sub></a><br /><a href="https://github.com/funilrys/PyFunceble/issues?q=author%3AYuki2718" title="Bug reports">🐛</a> <a href="https://github.com/funilrys/PyFunceble/commits?author=Yuki2718" title="Tests">⚠️</a></td>
535
663
  <td align="center" valign="top" width="20%"><a href="https://github.com/Zachinquarantine"><img src="https://avatars.githubusercontent.com/u/69423184?v=4?s=100" width="100px;" alt="Zachinquarantine"/><br /><sub><b>Zachinquarantine</b></sub></a><br /><a href="https://github.com/funilrys/PyFunceble/commits?author=Zachinquarantine" title="Code">💻</a></td>
536
664
  <td align="center" valign="top" width="20%"><a href="http://bit.ly/cBWeb"><img src="https://avatars.githubusercontent.com/u/28985171?v=4?s=100" width="100px;" alt="ZeroDot1"/><br /><sub><b>ZeroDot1</b></sub></a><br /><a href="https://github.com/funilrys/PyFunceble/issues?q=author%3AZeroDot1" title="Bug reports">🐛</a> <a href="#ideas-ZeroDot1" title="Ideas, Planning, & Feedback">🤔</a> <a href="#question-ZeroDot1" title="Answering Questions">💬</a> <a href="https://github.com/funilrys/PyFunceble/commits?author=ZeroDot1" title="Tests">⚠️</a> <a href="https://github.com/funilrys/PyFunceble/commits?author=ZeroDot1" title="Code">💻</a></td>
537
665
  <td align="center" valign="top" width="20%"><a href="https://github.com/avatartw"><img src="https://avatars.githubusercontent.com/u/69660730?v=4?s=100" width="100px;" alt="avatartw"/><br /><sub><b>avatartw</b></sub></a><br /><a href="https://github.com/funilrys/PyFunceble/issues?q=author%3Aavatartw" title="Bug reports">🐛</a></td>
538
- <td align="center" valign="top" width="20%"><a href="https://github.com/dnmTX"><img src="https://avatars.githubusercontent.com/u/34774426?v=4?s=100" width="100px;" alt="dnmTX"/><br /><sub><b>dnmTX</b></sub></a><br /><a href="https://github.com/funilrys/PyFunceble/issues?q=author%3AdnmTX" title="Bug reports">🐛</a> <a href="#ideas-dnmTX" title="Ideas, Planning, & Feedback">🤔</a> <a href="#question-dnmTX" title="Answering Questions">💬</a> <a href="https://github.com/funilrys/PyFunceble/pulls?q=is%3Apr+reviewed-by%3AdnmTX" title="Reviewed Pull Requests">👀</a> <a href="#data-dnmTX" title="Data">🔣</a> <a href="https://github.com/funilrys/PyFunceble/commits?author=dnmTX" title="Tests">⚠️</a></td>
539
666
  </tr>
540
667
  <tr>
668
+ <td align="center" valign="top" width="20%"><a href="https://github.com/dnmTX"><img src="https://avatars.githubusercontent.com/u/34774426?v=4?s=100" width="100px;" alt="dnmTX"/><br /><sub><b>dnmTX</b></sub></a><br /><a href="https://github.com/funilrys/PyFunceble/issues?q=author%3AdnmTX" title="Bug reports">🐛</a> <a href="#ideas-dnmTX" title="Ideas, Planning, & Feedback">🤔</a> <a href="#question-dnmTX" title="Answering Questions">💬</a> <a href="https://github.com/funilrys/PyFunceble/pulls?q=is%3Apr+reviewed-by%3AdnmTX" title="Reviewed Pull Requests">👀</a> <a href="#data-dnmTX" title="Data">🔣</a> <a href="https://github.com/funilrys/PyFunceble/commits?author=dnmTX" title="Tests">⚠️</a></td>
541
669
  <td align="center" valign="top" width="20%"><a href="https://github.com/gwarser"><img src="https://avatars.githubusercontent.com/u/886325?v=4?s=100" width="100px;" alt="gwarser"/><br /><sub><b>gwarser</b></sub></a><br /><a href="https://github.com/funilrys/PyFunceble/issues?q=author%3Agwarser" title="Bug reports">🐛</a> <a href="#data-gwarser" title="Data">🔣</a> <a href="https://github.com/funilrys/PyFunceble/commits?author=gwarser" title="Tests">⚠️</a></td>
542
670
  <td align="center" valign="top" width="20%"><a href="https://github.com/hawkeye116477"><img src="https://avatars.githubusercontent.com/u/19818572?v=4?s=100" width="100px;" alt="hawkeye116477"/><br /><sub><b>hawkeye116477</b></sub></a><br /><a href="https://github.com/funilrys/PyFunceble/issues?q=author%3Ahawkeye116477" title="Bug reports">🐛</a></td>
543
671
  <td align="center" valign="top" width="20%"><a href="https://github.com/jawz101"><img src="https://avatars.githubusercontent.com/u/14151703?v=4?s=100" width="100px;" alt="jawz101"/><br /><sub><b>jawz101</b></sub></a><br /><a href="https://github.com/funilrys/PyFunceble/issues?q=author%3Ajawz101" title="Bug reports">🐛</a> <a href="#ideas-jawz101" title="Ideas, Planning, & Feedback">🤔</a> <a href="#question-jawz101" title="Answering Questions">💬</a> <a href="#data-jawz101" title="Data">🔣</a></td>
544
672
  <td align="center" valign="top" width="20%"><a href="https://github.com/keczuppp"><img src="https://avatars.githubusercontent.com/u/74409207?v=4?s=100" width="100px;" alt="keczuppp"/><br /><sub><b>keczuppp</b></sub></a><br /><a href="https://github.com/funilrys/PyFunceble/issues?q=author%3Akeczuppp" title="Bug reports">🐛</a> <a href="#ideas-keczuppp" title="Ideas, Planning, & Feedback">🤔</a> <a href="#question-keczuppp" title="Answering Questions">💬</a> <a href="https://github.com/funilrys/PyFunceble/commits?author=keczuppp" title="Tests">⚠️</a> <a href="#data-keczuppp" title="Data">🔣</a></td>
545
- <td align="center" valign="top" width="20%"><a href="https://github.com/opav"><img src="https://avatars.githubusercontent.com/u/6770347?v=4?s=100" width="100px;" alt="opav"/><br /><sub><b>opav</b></sub></a><br /><a href="https://github.com/funilrys/PyFunceble/issues?q=author%3Aopav" title="Bug reports">🐛</a> <a href="https://github.com/funilrys/PyFunceble/commits?author=opav" title="Tests">⚠️</a></td>
546
673
  </tr>
547
674
  <tr>
675
+ <td align="center" valign="top" width="20%"><a href="https://github.com/opav"><img src="https://avatars.githubusercontent.com/u/6770347?v=4?s=100" width="100px;" alt="opav"/><br /><sub><b>opav</b></sub></a><br /><a href="https://github.com/funilrys/PyFunceble/issues?q=author%3Aopav" title="Bug reports">🐛</a> <a href="https://github.com/funilrys/PyFunceble/commits?author=opav" title="Tests">⚠️</a></td>
548
676
  <td align="center" valign="top" width="20%"><a href="https://github.com/rusty-snake"><img src="https://avatars.githubusercontent.com/u/41237666?v=4?s=100" width="100px;" alt="rusty-snake"/><br /><sub><b>rusty-snake</b></sub></a><br /><a href="https://github.com/funilrys/PyFunceble/issues?q=author%3Arusty-snake" title="Bug reports">🐛</a> <a href="https://github.com/funilrys/PyFunceble/commits?author=rusty-snake" title="Documentation">📖</a></td>
549
677
  <td align="center" valign="top" width="20%"><a href="https://github.com/smed79"><img src="https://avatars.githubusercontent.com/u/1873139?v=4?s=100" width="100px;" alt="smed79"/><br /><sub><b>smed79</b></sub></a><br /><a href="https://github.com/funilrys/PyFunceble/issues?q=author%3Asmed79" title="Bug reports">🐛</a> <a href="#ideas-smed79" title="Ideas, Planning, & Feedback">🤔</a> <a href="https://github.com/funilrys/PyFunceble/commits?author=smed79" title="Code">💻</a> <a href="#question-smed79" title="Answering Questions">💬</a> <a href="https://github.com/funilrys/PyFunceble/commits?author=smed79" title="Tests">⚠️</a></td>
550
678
  <td align="center" valign="top" width="20%"><a href="https://speedmann.de/"><img src="https://avatars.githubusercontent.com/u/424659?v=4?s=100" width="100px;" alt="speedmann"/><br /><sub><b>speedmann</b></sub></a><br /><a href="https://github.com/funilrys/PyFunceble/issues?q=author%3Aspeedmann" title="Bug reports">🐛</a> <a href="https://github.com/funilrys/PyFunceble/commits?author=speedmann" title="Tests">⚠️</a></td>
551
679
  <td align="center" valign="top" width="20%"><a href="https://www.mypdns.org/"><img src="https://avatars.githubusercontent.com/u/44526987?v=4?s=100" width="100px;" alt="spirillen"/><br /><sub><b>spirillen</b></sub></a><br /><a href="#a11y-spirillen" title="Accessibility">️️️️♿️</a> <a href="https://github.com/funilrys/PyFunceble/issues?q=author%3Aspirillen" title="Bug reports">🐛</a> <a href="https://github.com/funilrys/PyFunceble/commits?author=spirillen" title="Code">💻</a> <a href="#content-spirillen" title="Content">🖋</a> <a href="#data-spirillen" title="Data">🔣</a> <a href="https://github.com/funilrys/PyFunceble/commits?author=spirillen" title="Documentation">📖</a> <a href="#example-spirillen" title="Examples">💡</a> <a href="#ideas-spirillen" title="Ideas, Planning, & Feedback">🤔</a> <a href="#maintenance-spirillen" title="Maintenance">🚧</a> <a href="#mentoring-spirillen" title="Mentoring">🧑‍🏫</a> <a href="#promotion-spirillen" title="Promotion">📣</a> <a href="#question-spirillen" title="Answering Questions">💬</a> <a href="https://github.com/funilrys/PyFunceble/pulls?q=is%3Apr+reviewed-by%3Aspirillen" title="Reviewed Pull Requests">👀</a> <a href="#tool-spirillen" title="Tools">🔧</a> <a href="https://github.com/funilrys/PyFunceble/commits?author=spirillen" title="Tests">⚠️</a> <a href="#tutorial-spirillen" title="Tutorials">✅</a> <a href="#talk-spirillen" title="Talks">📢</a> <a href="#userTesting-spirillen" title="User Testing">📓</a></td>
552
- <td align="center" valign="top" width="20%"><a href="https://github.com/NeolithEra"><img src="https://avatars.githubusercontent.com/u/52778917?v=4?s=100" width="100px;" alt="watchman-pypi"/><br /><sub><b>watchman-pypi</b></sub></a><br /><a href="https://github.com/funilrys/PyFunceble/issues?q=author%3ANeolithEra" title="Bug reports">🐛</a></td>
553
680
  </tr>
554
681
  <tr>
682
+ <td align="center" valign="top" width="20%"><a href="https://github.com/NeolithEra"><img src="https://avatars.githubusercontent.com/u/52778917?v=4?s=100" width="100px;" alt="watchman-pypi"/><br /><sub><b>watchman-pypi</b></sub></a><br /><a href="https://github.com/funilrys/PyFunceble/issues?q=author%3ANeolithEra" title="Bug reports">🐛</a></td>
555
683
  <td align="center" valign="top" width="20%"><a href="https://github.com/xxcriticxx"><img src="https://avatars.githubusercontent.com/u/15007183?v=4?s=100" width="100px;" alt="xxcriticxx"/><br /><sub><b>xxcriticxx</b></sub></a><br /><a href="https://github.com/funilrys/PyFunceble/issues?q=author%3Axxcriticxx" title="Bug reports">🐛</a> <a href="#ideas-xxcriticxx" title="Ideas, Planning, & Feedback">🤔</a> <a href="https://github.com/funilrys/PyFunceble/commits?author=xxcriticxx" title="Tests">⚠️</a></td>
556
684
  </tr>
557
685
  </tbody>
@@ -615,7 +743,7 @@ which helped and/or still help me build, test and or make
615
743
 
616
744
  # License
617
745
 
618
- Copyright 2017, 2018, 2019, 2020, 2022, 2023, 2024 Nissar Chababy
746
+ Copyright 2017, 2018, 2019, 2020, 2022, 2023, 2024, 2025 Nissar Chababy
619
747
 
620
748
  Licensed under the Apache License, Version 2.0 (the "License");
621
749
  you may not use this file except in compliance with the License.
@@ -34,7 +34,7 @@ License:
34
34
  ::
35
35
 
36
36
 
37
- Copyright 2017, 2018, 2019, 2020, 2022, 2023, 2024 Nissar Chababy
37
+ Copyright 2017, 2018, 2019, 2020, 2022, 2023, 2024, 2025 Nissar Chababy
38
38
 
39
39
  Licensed under the Apache License, Version 2.0 (the "License");
40
40
  you may not use this file except in compliance with the License.
@@ -35,7 +35,7 @@ License:
35
35
  ::
36
36
 
37
37
 
38
- Copyright 2017, 2018, 2019, 2020, 2022, 2023, 2024 Nissar Chababy
38
+ Copyright 2017, 2018, 2019, 2020, 2022, 2023, 2024, 2025 Nissar Chababy
39
39
 
40
40
  Licensed under the Apache License, Version 2.0 (the "License");
41
41
  you may not use this file except in compliance with the License.
@@ -35,7 +35,7 @@ License:
35
35
  ::
36
36
 
37
37
 
38
- Copyright 2017, 2018, 2019, 2020, 2022, 2023, 2024 Nissar Chababy
38
+ Copyright 2017, 2018, 2019, 2020, 2022, 2023, 2024, 2025 Nissar Chababy
39
39
 
40
40
  Licensed under the Apache License, Version 2.0 (the "License");
41
41
  you may not use this file except in compliance with the License.