summaryrefslogtreecommitdiff
path: root/sigils/packages/python-xyz.scm
blob: 7dff2c95cfbbc894ab181e3e244e8edf84b46dc8 (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
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
(define-module (sigils packages python-xyz)
  #:use-module (guix packages)
  #:use-module (guix download)
  #:use-module (guix build-system pyproject)
  #:use-module (guix build-system python)
  #:use-module ((guix licenses)
                #:prefix license:)
  ;; discord.py-self
  #:use-module (gnu packages protobuf)
  #:use-module (gnu packages check)
  #:use-module (gnu packages python-build)
  #:use-module (gnu packages python-web)
  ;; chepy
  #:use-module (gnu packages)
  #:use-module (gnu packages bash)
  #:use-module (gnu packages compression)
  #:use-module (gnu packages python-compression)
  #:use-module (gnu packages python-crypto)
  #:use-module (gnu packages python-check)
  #:use-module (gnu packages python-xyz)
  #:use-module (gnu packages python-web)
  #:use-module (gnu packages xdisorg))
  ;; pyopengl


(define-public python-pyopengl
  (package
    (name "python-pyopengl")
    (version "3.1.6")
    (source
     (origin
       (method url-fetch)
       (uri (pypi-uri "PyOpenGL" version))
       (sha256
        (base32
         "09syrsfrcknr1k2wmj05gfd5d0dyjfxzbipzbd0agv9775vwi9lf"))))
    (build-system python-build-system)
    (inputs
     (list mesa freeglut glu))
    (arguments
     `(#:phases
       (modify-phases %standard-phases
         (add-before 'build 'fix-paths
           (lambda* (#:key inputs outputs #:allow-other-keys)
             (substitute* '("OpenGL/platform/ctypesloader.py")
               (("filenames_to_try = \\[\\]") "filenames_to_try = [name]"))
             (substitute* '("OpenGL/platform/glx.py"
                            "OpenGL/platform/egl.py"
                            "OpenGL/platform/osmesa.py"
                            "OpenGL/platform/darwin.py"
                            "tests/check_glut_load.py")
               (("'GLU'")
                (string-append "'" (assoc-ref inputs "glu") "/lib/libGLU.so'"))
               (("'glut',")
                (string-append "'" (assoc-ref inputs "freeglut") "/lib/libglut.so',"))
               (("'(GL|EGL|GLESv1_CM|GLESv2|OSMesa)'" all gl-library)
                (string-append "'" (assoc-ref inputs "mesa") (string-append "/lib/lib" gl-library ".so'"))))
               ;; Not providing libgle. It seems to be very old.
             #t)))))
    (home-page "https://pyopengl.sourceforge.net")
    (synopsis "Standard OpenGL bindings for Python")
    (description
     "PyOpenGL is the most common cross platform Python binding to OpenGL and
related APIs.  The binding is created using the standard @code{ctypes}
library.")
    (license license:bsd-3)))

;;; Chepy

(define-public python-pretty-errors
  (package
    (name "python-pretty-errors")
    (version "1.2.25")
    (source
     (origin
       (method url-fetch)
       (uri (pypi-uri "pretty_errors" version))
       (sha256
        (base32 "0mb77klqcazicksr34qs4wliwfsfc9c4p2rgz4xjcz68ab3sasx1"))))
    (build-system pyproject-build-system)
    (propagated-inputs (list python-colorama))
    (home-page "https://github.com/onelivesleft/PrettyErrors/")
    (synopsis "Prettifies Python exception output to make it legible.")
    (description "Prettifies Python exception output to make it legible.")
    (arguments
     (list
      #:tests? #f)) ;No target
    (license #f)))

(define-public chepy
  (package
    (name "chepy")
    (version "7.2.0")
    (source
     (origin
       (method url-fetch)
       (uri (pypi-uri "chepy" version))
       (patches
        (parameterize
            ((%patch-path
              (map (lambda (directory)
                     (string-append directory "/sigils/packages/patches"))
                   %load-path)))
          (search-patches "chepy-recent-pyopenssl.patch")))
       (sha256
        (base32 "1f05psh1xbzppb9jdfc26i6bxw3dd7i0c0lqggh6wzmy4cpszybz"))))
    (build-system pyproject-build-system)
    (home-page "https://github.com/securisec/chepy")
    (synopsis "Chepy is a python library equivalent of the CyberChef tool.")
    (description
     "Chepy is a python library with a CLI that is aimed to mirror some of the capabilities of CyberChef.")
    (inputs (list python-base58
                  python-colorama
                  python-crccheck
                  python-decorator
                  python-docstring-parser
                  python-emoji
                  ;; python-exrex
                  python-fire
                  ;; python-lazy-import
                  python-hexdump
                  python-jsonpickle
                  python-jmespath
                  python-prompt-toolkit
                  python-pycipher
                  python-pycryptodome
                  python-pydash
                  python-pyjwt
                  python-pyopenssl
                  python-pyperclip
                  python-pyyaml
                  python-regex
                  python-typing-extensions
                  python-pretty-errors
                  python-lz4
                  python-passlib
                  python-msgpack
                  python-parsel
                  python-setuptools))
    (license license:gpl3)))

(define-public python-hexdump
  (package
    (name "python-hexdump")
    (version "3.3")
    (source
     (origin
       (method url-fetch)
       (uri (pypi-uri "hexdump" version ".zip"))
       (sha256
        (base32 "1nr0dy3m8grdmd2hp3ym6x8vv9yki8zfgbba6vwy7b0n1hxs90fp"))))
    (build-system python-build-system)
    (native-inputs (list unzip))
    (arguments '(#:tests? #f)) ;; No tests.
    (home-page "https://bitbucket.org/techtonik/hexdump/")
    (synopsis "dump binary data to hex format and restore from there")
    (description "dump binary data to hex format and restore from there.")
    (license #f)))

(define-public python-pycipher
  (package
    (name "python-pycipher")
    (version "0.5.2")
    (source
     (origin
       (method url-fetch)
       (uri (pypi-uri "pycipher" version ".zip"))
       (sha256
        (base32 "06yp9kn8x653324b3rdfd038bpvmd94rqbv4w44xl126fgpv7cz5"))))
    (build-system pyproject-build-system)
    (native-inputs (list unzip python-tox))
    (arguments '(#:tests? #f)) ;; See you later, alligator.
    (home-page "https://github.com/jameslyons/pycipher")
    (synopsis "Several simple cipher algorithms")
    (description "Several simple cipher algorithms.")
    (license #f)))

(define-public python-pydash
  (package
    (name "python-pydash")
    (version "8.0.3")
    (source
     (origin
       (method url-fetch)
       (uri (pypi-uri "pydash" version))
       (sha256
        (base32 "1amrz28qs8hvzlgn6bj66rlpkbw2zlx54v3qzzjz0wjvl0yws9qv"))))
    (build-system pyproject-build-system)
    (inputs (list python-typing-extensions))
    ;; (native-inputs (list ;;python-build
    ;;                 python-coverage
    ;;                 ;; python-furo
    ;;                 python-invoke
    ;;                 python-mypy
    ;;                 python-pytest
    ;;                 python-pytest-cov
    ;;                 python-pytest-mypy-testing
    ;;                 ;; python-ruff
    ;;                 ;; python-sphinx
    ;;                 ;; python-sphinx-autodoc-typehints
    ;;                 python-tox
    ;;                 python-twine
    ;;                 python-wheel))
    (arguments '(#:tests? #f)) ;; See you later, alligator.
    (home-page "https://github.com/dgilland/pydash")
    (synopsis "The kitchen sink of Python utility libraries for doing \"stuff\" in a functional way.")
    (description
     "The kitchen sink of Python utility libraries for doing \"stuff\" in a functional
way.  Based on the Lo-Dash Javascript library.")
    (license #f)))

(define-public python-invoke
  (package
    (name "python-invoke")
    (version "2.2.0")
    (source
     (origin
       (method url-fetch)
       (uri (pypi-uri "invoke" version))
       (sha256
        (base32 "1mbbixban0238bwkadgynw60n0jrq1ja5wl4zv3mka7i388bnv7f"))))
    (build-system pyproject-build-system)
    (arguments
     ;; XXX: Tests require invocations, a package that requires... python-invoke.
     `(#:tests? #f
       #:phases
       (modify-phases %standard-phases
         (add-after 'unpack 'fix-bash-path
           (lambda* (#:key inputs #:allow-other-keys)
             (let ((bash (assoc-ref inputs "bash")))
               (substitute* "invoke/config.py"
                 (("shell = \"/bin/bash\"")
                  (string-append "shell = \"" bash "/bin/bash\"")))))))))
    (inputs
     `(("bash" ,bash-minimal)))
    (home-page "https://pyinvoke.org")
    (synopsis "Pythonic task execution")
    (description
     "Invoke is a Python task execution tool and library, drawing inspiration
     from various sources to arrive at a powerful and clean feature set.  It is
     evolved from the Fabric project, but focuses on local and abstract concerns
     instead of servers and network commands.")
    (license license:bsd-3)))

(define-public python-pytest-mypy-testing
  (package
    (name "python-pytest-mypy-testing")
    (version "0.1.3")
    (source
     (origin
       (method url-fetch)
       (uri (pypi-uri "pytest-mypy-testing" version))
       (sha256
        (base32 "10g2r7n3y0pvy6m77qdl3v86k5p229b34d2sp1a6spsx5wil2k5d"))))
    (build-system pyproject-build-system)
    (inputs (list python-mypy))
    (native-inputs (list python-flit-core
                         python-pytest))
    (home-page "https://github.com/davidfritzsche/pytest-mypy-testing")
    (synopsis "Pytest plugin to check mypy output.")
    (description "Pytest plugin to check mypy output.")
    (license license:expat)))

;;; Discord.py-self

(define-public python-discord-protos
  (package
    (name "python-discord-protos")
    (version "0.0.2")
    (source
     (origin
       (method url-fetch)
       (uri (pypi-uri "discord-protos" version))
       (sha256
        (base32 "15y984m2la79g8rmvmy895m1k9ihfm2lpv08nx0dpvibyc2km593"))))
    (build-system pyproject-build-system)
    (inputs (list python-protobuf))
    (home-page "https://github.com/dolfies/discord-protos")
    (synopsis "Discord user settings protobufs.")
    (description "Discord user settings protobufs.")
    (license license:expat)))

(define-public python-discord.py-self
  (package
    (name "python-discord.py-self")
    (version "2.0.0")
    (source
     (origin
       (method url-fetch)
       (uri (pypi-uri "discord.py-self" version))
       (sha256
        (base32 "05xyd7d1mzn3xsw6crl2bp8y0k71dk07jfadvk9w4x880vk3nr4g"))))
    (build-system pyproject-build-system)
    (inputs (list python-aiohttp
                  python-protobuf
                  python-discord-protos
                  python-typing-extensions))
    (native-inputs (list python-coverage
                         python-pytest
                         python-pytest-asyncio
                         python-pytest-cov
                         python-pytest-mock))
    (arguments
     '(#:tests? #f))
    (home-page "https://github.com/dolfies/discord.py-self")
    (synopsis "A Python wrapper for the Discord user API")
    (description
     "This package provides a Python wrapper for the Discord user API.")
    (license license:expat)))

(define-public python-picamera2
  (package
    (name "python-picamera2")
    (version "0.3.22")
    (source
     (origin
       (method url-fetch)
       (uri (pypi-uri "picamera2" version))
       (sha256
        (base32 "0bc3sr3adahddzs3j9i1yndl962qc0dpmpmq9f3wpfs28f0nja49"))))
    (build-system pyproject-build-system)
    (propagated-inputs (list python-av
                             python-numpy
                             python-pidng
                             python-piexif
                             python-pillow
                             python-prctl
                             python-jsonschema
                             python-libarchive-c
                             python-tqdm))
                             ;; python-simplejpeg
                             ;; python-v4l2-python3))
    (home-page "https://github.com/RaspberryPi/picamera2")
    (synopsis
     "libcamera-based Python interface to Raspberry Pi cameras")
    (description
     "The libcamera-based Python interface to Raspberry Pi cameras, based on
the original Picamera library.")
    (license #f)))