summaryrefslogtreecommitdiffstats
path: root/sherlock.scm
blob: e99c5b66bd0cdc81117c6279d04dcf6341d65ac4 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
(define-module (sherlock)
               #:use-module (gnu packages python)
               #:use-module (gnu packages python-xyz)
               #:use-module (gnu packages compression)
               #:use-module (guix build-system python)
               #:use-module (guix build-system pyproject)
               #:use-module (guix build utils)
               #:use-module (guix git-download)
               #:use-module (guix packages)
               #:use-module (guix gexp)
               #:use-module (gnu packages)
               #:use-module (gnu packages python-crypto)
               #:use-module (gnu packages python-science)
               #:use-module (gnu packages python-web)
               #:use-module (gnu packages check)
               #:use-module (gnu packages certs)
               #:use-module (guix download)
               #:use-module (guix licenses)
               )
(define-public python-requests-futures
               (package
                 (name "python-requests-futures")
                 (version "1.0.1")
                 (source
                   (origin
                     (method url-fetch)
                     (uri (pypi-uri "requests-futures" version))
                     (sha256
                       (base32 "0wv3cwmqw56zim6khd7xjddz5sps5cyi4wqygn78bqkh03w4wnpm"))))
                 (build-system pyproject-build-system)
                 (arguments
                   (list
                     #:phases #~(modify-phases %standard-phases (delete 'check))))
                 (propagated-inputs (list python-requests))
                 (native-inputs (list python-black
                                      python-isort
                                      python-pyflakes
                                      python-pytest
                                      python-pytest-cov
                                      ;python-pytest-network
                                      python-readme-renderer
                                      python-twine))
                 (home-page "https://github.com/ross/requests-futures")
                 (synopsis "Asynchronous Python HTTP for Humans.")
                 (description "Asynchronous Python HTTP for Humans.")
                 (license asl2.0)))

(define-public python-exrex
               (package
                 (name "python-exrex")
                 (version "0.11.0")
                 (source
                   (origin
                     (method url-fetch)
                     (uri (pypi-uri "exrex" version))
                     (sha256
                       (base32 "1284g3p3lz6wq1vqw5gx80b7zq4zr8vkr5hdn5k5jyjn6h12z4ar"))))
                 (build-system pyproject-build-system)
                 (home-page "https://github.com/asciimoo/exrex")
                 (synopsis "Irregular methods for regular expressions")
                 (description "Irregular methods for regular expressions")
                 (license agpl3)))

(define-public python-torrequest
  (package
    (name "python-torrequest")
    (version "0.1.0")
    (source
     (origin
       (method url-fetch)
       (uri (pypi-uri "torrequest" version))
       (sha256
        (base32 "10mf9p6r4wwk9m50jh5bpmvsnymkmn3wfqs30dx8vagx7zmd8i9p"))))
    (build-system pyproject-build-system)
    (propagated-inputs (list python-pysocks python-requests python-stem))
    (home-page "http://github.com/erdiaker/torrequest")
    (synopsis "A simple interface for HTTP(s) requests over Tor")
    (description
     "This package provides a simple interface for HTTP(s) requests over Tor")
    (license expat)))

(define-public python-sherlock
               (package
                 (name "sherlock")
                 (version "501cb3dce27494265a0993335dab517070dadab5")
                 (source
                   (origin
                     (method git-fetch)
                     (uri (git-reference
                            (url "https://github.com/sherlock-project/sherlock.git")
                            (commit version)
                            ))
                     (sha256
                       (base32 "0lb1r5fkwxm1zyxsax5aq3gp77gjz22i0agz6zyw5j9zrwb7c5g9"))
                     (modules '((guix build utils)))
                     (patches
                       (search-patches "aux-files/sherlock/setuppy-support.patch"))
                     (snippet
                       '(begin
                          (delete-file-recursively "images") #t))
                     ))
                 (build-system pyproject-build-system)
                 (arguments
                   (list
                     #:tests? #f
                     #:phases #~(modify-phases %standard-phases 
                                                 (delete 'sanity-check) ;we're going crazy, since sanity crashes.        
                                               )))
                 (native-inputs (list
                                  poetry
                                  ))
                 (propagated-inputs (list python-certifi
                                          python-pandas
                                          python-colorama
                                          python-pysocks
                                          python-requests
                                          python-exrex
                                          python-torrequest
                                          python-requests
                                          python-requests-futures
                                          python-stem))
                 (home-page "https://sherlock-project.github.io/")
                 (synopsis
                   "Hunt down social media accounts by username across social networks.")
                 (description
                   "Hunt down social media accounts by username across social networks.")
                 (license expat)))