diff --git a/pkgs/development/python-modules/cashaddress/default.nix b/pkgs/development/python-modules/cashaddress/default.nix new file mode 100644 index 000000000000..8458f9b7fba6 --- /dev/null +++ b/pkgs/development/python-modules/cashaddress/default.nix @@ -0,0 +1,42 @@ +{ lib +, buildPythonPackage +, fetchFromGitHub +, setuptools +, pythonOlder +, pytestCheckHook +}: + +buildPythonPackage rec { + pname = "cashaddress"; + version = "1.0.6-unstable-2015-05-19"; + pyproject = true; + + disabled = pythonOlder "3.7"; + + src = fetchFromGitHub { + owner = "oskyk"; + repo = "cashaddress"; + rev = "0ca44cff6bd3e63a67b494296c0d1eeaf6cc120d"; + hash = "sha256-4izWD2KZqy1F7CAgdbe1fpjMlMZC0clrkHKS9IIQuoc="; + }; + + nativeBuildInputs = [ + setuptools + ]; + + nativeCheckInputs = [ + pytestCheckHook + ]; + + pythonImportsCheck = [ + "cashaddress" + ]; + + meta = with lib; { + description = "Python tool for convert bitcoin cash legacy addresses"; + homepage = "https://github.com/oskyk/cashaddress"; + changelog = "https://github.com/oskyk/cashaddress/releases/tag/${version}"; + license = licenses.gpl3Only; + maintainers = with maintainers; [ fab ]; + }; +} diff --git a/pkgs/development/python-modules/iocsearcher/default.nix b/pkgs/development/python-modules/iocsearcher/default.nix new file mode 100644 index 000000000000..a3f7e910664c --- /dev/null +++ b/pkgs/development/python-modules/iocsearcher/default.nix @@ -0,0 +1,70 @@ +{ lib +, beautifulsoup4 +, buildPythonPackage +, fetchFromGitHub +, base58 +, bech32 +, cashaddress +, cbor +, eth-hash +, intervaltree +, langdetect +, lxml +, pdfminer-six +, phonenumbers +, python-magic +, readabilipy +, pytestCheckHook +, pythonOlder +, setuptools +}: + +buildPythonPackage rec { + pname = "iocsearcher"; + version = "2.3-unstable-2024-03-04"; + pyproject = true; + + disabled = pythonOlder "3.7"; + + src = fetchFromGitHub { + owner = "malicialab"; + repo = "iocsearcher"; + rev = "5f7b87761f2195eb358006f3492f0beac7ecc4b0"; + hash = "sha256-SYh0+JEZa95iBznNzXut/9Vwof6VFeSlt0/g+XmMPC0="; + }; + + nativeBuildInputs = [ + setuptools + ]; + + propagatedBuildInputs = [ + base58 + beautifulsoup4 + bech32 + cashaddress + cbor + eth-hash + intervaltree + langdetect + lxml + pdfminer-six + phonenumbers + python-magic + readabilipy + ] ++ eth-hash.optional-dependencies.pycryptodome; + + # Module has no tests + doCheck = false; + + pythonImportsCheck = [ + "iocsearcher" + ]; + + meta = with lib; { + description = "Library and command line tool for extracting indicators of compromise (IOCs)"; + homepage = "https://github.com/malicialab/iocsearcher"; + changelog = "https://github.com/malicialab/iocsearcher/releases/tag/v${version}"; + license = licenses.mit; + maintainers = with maintainers; [ fab ]; + }; +} diff --git a/pkgs/development/python-modules/readabilipy/default.nix b/pkgs/development/python-modules/readabilipy/default.nix new file mode 100644 index 000000000000..0bf33623cb86 --- /dev/null +++ b/pkgs/development/python-modules/readabilipy/default.nix @@ -0,0 +1,66 @@ +{ lib +, beautifulsoup4 +, buildPythonPackage +, fetchFromGitHub +, html5lib +, lxml +, pytestCheckHook +, pythonOlder +, regex +, setuptools +}: + +buildPythonPackage rec { + pname = "readabilipy"; + version = "0.2.0"; + pyproject = true; + + disabled = pythonOlder "3.7"; + + src = fetchFromGitHub { + owner = "alan-turing-institute"; + repo = "ReadabiliPy"; + rev = "refs/tags/v${version}"; + hash = "sha256-XrmdQjLFYdadWeO5DoKAQeEdta+6T6BqfvGlDkzLMyM="; + }; + + nativeBuildInputs = [ + setuptools + ]; + + propagatedBuildInputs = [ + beautifulsoup4 + html5lib + lxml + regex + ]; + + nativeCheckInputs = [ + pytestCheckHook + ]; + + pythonImportsCheck = [ + "readabilipy" + ]; + + disabledTests = [ + # AssertionError + "test_extract_simple_article_with_readability_js" + "test_extract_article_from_page_with_readability_js" + "test_plain_element_with_comments" + "test_content_digest_on_filled_and_empty_elements" + ]; + + disabledTestPaths = [ + # Exclude benchmarks + "tests/test_benchmarking.py" + ]; + + meta = with lib; { + description = "HTML content extractor"; + homepage = "https://github.com/alan-turing-institute/ReadabiliPy"; + changelog = "https://github.com/alan-turing-institute/ReadabiliPy/blob/${version}/CHANGELOG.md"; + license = licenses.mit; + maintainers = with maintainers; [ fab ]; + }; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 9d7def6e2153..208d30b4f96d 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -9382,6 +9382,8 @@ with pkgs; iocextract = with python3Packages; toPythonApplication iocextract; + iocsearcher = with python3Packages; toPythonApplication iocsearcher; + ioping = callPackage ../tools/system/ioping { }; ior = callPackage ../tools/system/ior { }; diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index 04261a8c4137..b90813500e44 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -1884,6 +1884,8 @@ self: super: with self; { case = callPackage ../development/python-modules/case { }; + cashaddress = callPackage ../development/python-modules/cashaddress { }; + cassandra-driver = callPackage ../development/python-modules/cassandra-driver { }; castepxbin = callPackage ../development/python-modules/castepxbin { }; @@ -5702,6 +5704,8 @@ self: super: with self; { invoke = callPackage ../development/python-modules/invoke { }; + iocsearcher = callPackage ../development/python-modules/iocsearcher { }; + iodata = callPackage ../development/python-modules/iodata { }; iocapture = callPackage ../development/python-modules/iocapture { }; @@ -12718,6 +12722,8 @@ self: super: with self; { readability-lxml = callPackage ../development/python-modules/readability-lxml { }; + readabilipy = callPackage ../development/python-modules/readabilipy { }; + readchar = callPackage ../development/python-modules/readchar { }; readlike = callPackage ../development/python-modules/readlike { };