guix-more/more/packages/python.scm

python.scm

1
;;; GNU Guix --- Functional package management for GNU
2
;;; Copyright © 2017 Julien Lepiller <julien@lepiller.eu>
3
;;;
4
;;; This file is part of GNU Guix.
5
;;;
6
;;; GNU Guix is free software; you can redistribute it and/or modify it
7
;;; under the terms of the GNU General Public License as published by
8
;;; the Free Software Foundation; either version 3 of the License, or (at
9
;;; your option) any later version.
10
;;;
11
;;; GNU Guix is distributed in the hope that it will be useful, but
12
;;; WITHOUT ANY WARRANTY; without even the implied warranty of
13
;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
14
;;; GNU General Public License for more details.
15
;;;
16
;;; You should have received a copy of the GNU General Public License
17
;;; along with GNU Guix.  If not, see <http://www.gnu.org/licenses/>.
18
19
(define-module (more packages python)
20
  #:use-module ((guix licenses) #:prefix license:)
21
  #:use-module (gnu packages)
22
  #:use-module (gnu packages aspell)
23
  #:use-module (gnu packages audio)
24
  #:use-module (gnu packages check)
25
  #:use-module (gnu packages compression)
26
  #:use-module (gnu packages databases)
27
  #:use-module (gnu packages enchant)
28
  #:use-module (gnu packages libffi)
29
  #:use-module (gnu packages libreoffice)
30
  #:use-module (gnu packages maths)
31
  #:use-module (gnu packages networking)
32
  #:use-module (gnu packages python)
33
  #:use-module (gnu packages python-crypto)
34
  #:use-module (gnu packages python-web)
35
  #:use-module (gnu packages python-xyz)
36
  #:use-module (gnu packages qt)
37
  #:use-module (gnu packages serialization)
38
  #:use-module (gnu packages time)
39
  #:use-module (gnu packages tls)
40
  #:use-module (gnu packages web)
41
  #:use-module (guix packages)
42
  #:use-module (guix download)
43
  #:use-module (guix git-download)
44
  #:use-module (guix utils)
45
  #:use-module (guix build-system python))
46
47
(define-public python-cooldict
48
  (package
49
    (name "python-cooldict")
50
    (version "1.02")
51
    (source (origin
52
              (method url-fetch)
53
              (uri (pypi-uri "cooldict" version))
54
              (sha256
55
               (base32
56
                "084if0s504576nph0f6glmg3mmvijq7nbnf65hh22gwwdwrjss83"))))
57
    (build-system python-build-system)
58
    (native-inputs
59
     `(("ana" ,python-ana)))
60
    (home-page "https://github.com/zardus/cooldict")
61
    (synopsis "Some useful dict-like structures")
62
    (description "Some useful dict-like structures.")
63
    (license license:bsd-2)))
64
65
(define-public python2-cooldict
66
  (package-with-python2 python-cooldict))
67
 
68
(define-public python-cachetools
69
  (package
70
    (name "python-cachetools")
71
    (version "2.0.1")
72
    (source (origin
73
              (method url-fetch)
74
              (uri (pypi-uri "cachetools" version))
75
              (sha256
76
               (base32
77
                "0pdw2fr29pxlyn1g5fhdrrqbpn0iw062nv716ngdqvdx7hnizq7d"))))
78
    (build-system python-build-system)
79
    (home-page "https://github.com/tkem/cachetools")
80
    (synopsis "Memoizing collections and decorators including lru_cache")
81
    (description "This module provides various memoizing collections and
82
decorators, including variants of the Python 3 Standard Library @code{lru_cache}
83
function decorator.")
84
    (license license:expat)))
85
86
(define-public python2-cachetools
87
  (package-with-python2 python-cachetools))
88
89
(define-public python-bintrees
90
  (package
91
    (name "python-bintrees")
92
    (version "2.0.7")
93
    (source (origin
94
              (method url-fetch)
95
              (uri (pypi-uri "bintrees" version ".zip"))
96
              (sha256
97
               (base32
98
                "0w0js514awl9qwamcr71spi8mmv7q3n4mgrqrnmr9w6f09k5wrv0"))))
99
    (build-system python-build-system)
100
    (native-inputs `(("unzip" ,unzip)))
101
    (home-page "https://github.com/mozman/bintrees")
102
    (synopsis "Provides Binary- RedBlack- and AVL-Trees written in Python and Cython/C")
103
    (description "This package provides Binary- RedBlack- and AVL-Trees written
104
in Python and Cython/C.
105
106
This Classes are much slower than the built-in dict class, but all
107
iterators/generators yielding data in sorted key order. Trees can be uses as
108
drop in replacement for dicts in most cases.")
109
    (license license:expat)))
110
111
(define-public python2-bintrees
112
  (package-with-python2 python-bintrees))
113
 
114
(define-public python2-dpkt
115
  (package
116
    (name "python2-dpkt")
117
    (version "1.9.1")
118
    (source (origin
119
              (method url-fetch)
120
              (uri (pypi-uri "dpkt" version))
121
              (sha256
122
               (base32
123
                "0rr9ygczhxkfb61778jx0cxs0sq46zwlcj5l3wn6xmd3iy3yx9y6"))
124
              (modules '((guix build utils)))
125
              (snippet
126
               '(substitute* "setup.py"
127
                  (("os.system\\('py2dsc-deb ' + sdist_file\\)") "")))))
128
    (build-system python-build-system)
129
    (arguments
130
     `(#:python ,python-2))
131
    (home-page "https://github.com/kbandla/dpkt")
132
    (synopsis "Fast, simple network packet creation / parsing")
133
    (description "Fast, simple packet creation / parsing, with definitions for
134
the basic TCP/IP protocols.")
135
    (license license:bsd-3)))
136
137
;; According to pypi, should work with py3
138
(define-public python2-rpyc
139
  (package
140
    (name "python2-rpyc")
141
    (version "3.4.4")
142
    (source (origin
143
              (method url-fetch)
144
              (uri (pypi-uri "rpyc" version))
145
              (sha256
146
               (base32
147
                "1iw1nkyh8r55xqafl14lp7lih38b5fdqid05s6cp4zd62821v6d8"))))
148
    (build-system python-build-system)
149
    (native-inputs
150
     `(("nose" ,python2-nose)))
151
    (propagated-inputs
152
     `(("plumbum" ,python2-plumbum)
153
       ("progressbar" ,python2-progressbar)))
154
    (arguments
155
     `(#:python ,python-2))
156
    (home-page "https://github.com/tomerfiliba/rpyc")
157
    (synopsis "Remote procedure call for Python")
158
    (description "Remote Python Call is a transparent library for symmetrical
159
remote procedure calls, clustering, and distributed-computing.  RPyC makes use
160
of object-proxying, a technique that employs python's dynamic nature, to
161
overcome the physical boundaries between processes and computers, so that
162
remote objects can be manipulated as if they were local.")
163
    (license license:expat)))
164
165
;; According to pypi, should work with py3
166
(define-public python2-progressbar
167
  (package
168
    (name "python2-progressbar")
169
    (version "2.3")
170
    (source (origin
171
              (method url-fetch)
172
              (uri (pypi-uri "progressbar" version))
173
              (sha256
174
               (base32
175
                "0m0j93yfvbd8pw8cz2vdb9hyk9d0zkkd509k69jrw545jxr8mlxj"))))
176
    (build-system python-build-system)
177
    (arguments
178
     `(#:python ,python-2))
179
    (home-page "https://github.com/niltonvolpato/python-progressbar")
180
    (synopsis "Text progress bar library for Python")
181
    (description
182
      "A text progress bar is typically used to display the progress of a long
183
running operation, providing a visual cue that processing is underway.
184
185
The ProgressBar class manages the current progress, and the format of the line
186
is given by a number of widgets. A widget is an object that may display
187
differently depending on the state of the progress bar. There are three types
188
of widgets:
189
190
@enumerate
191
@item a string, which always shows itself
192
@item a ProgressBarWidget, which may return a different value every time its
193
update method is called
194
@item a ProgressBarWidgetHFill, which is like ProgressBarWidget, except it
195
expands to fill the remaining width of the line.
196
@end enumerate
197
198
The progressbar module is very easy to use, yet very powerful. It will also
199
automatically enable features like auto-resizing when the system supports it.")
200
    (license (list license:lgpl2.1+ license:bsd-3))))
201
202
(define-public python-progressbar2
203
  (package
204
    (name "python-progressbar2")
205
    (version "3.34.3")
206
    (source (origin
207
              (method url-fetch)
208
              (uri (pypi-uri "progressbar2" version))
209
              (sha256
210
               (base32
211
                "1gigwmr60bgvjg2b4w93nww065dc4af8bq40b4hr9n9f54jp3w5x"))))
212
    (build-system python-build-system)
213
    (native-inputs
214
     `(("pytest-runner" ,python-pytest-runner)
215
       ("pytest" ,python-pytest)))
216
    (propagated-inputs
217
     `(("six" ,python-six)
218
       ("utils" ,python-utils)))
219
    (home-page "https://github.com/WoLpH/python-progressbar")
220
    (synopsis "A text progress bar for python")
221
    (description "A text progress bar is typically used to display the progress
222
of a long running operation, providing a visual cue that processing is underway.
223
224
The ProgressBar class manages the current progress, and the format of the line
225
is given by a number of widgets.  A widget is an object that may display
226
differently depending on the state of the progress bar.")
227
    (license license:bsd-2)))
228
229
(define-public python2-progressbar2
230
  (package-with-python2 python-progressbar2))
231
 
232
(define-public python-mulpyplexer
233
  (package
234
    (name "python-mulpyplexer")
235
    (version "0.08")
236
    (source (origin
237
              (method url-fetch)
238
              (uri (pypi-uri "mulpyplexer" version))
239
              (sha256
240
               (base32
241
                "1zn5d1vyhfjp8x9z5mr9gv8m8gmi3s3jv3kqb790xzi1kqi0p4ya"))))
242
    (build-system python-build-system)
243
    (home-page "https://github.com/zardus/mulpyplexer")
244
    (synopsis "Multiplex interactions with lists of python objects")
245
    (description "Mulpyplexer is a piece of code that can multiplex interactions with lists of python objects.")
246
    (license license:bsd-2)))
247
248
(define-public python2-mulpyplexer
249
  (package-with-python2 python-mulpyplexer))
250
251
(define-public python-ana
252
  (package
253
    (name "python-ana")
254
    (version "0")
255
    (source (origin
256
              (method git-fetch)
257
              (uri (git-reference
258
                    (url "https://github.com/zardus/ana.git")
259
                    (commit "6d37cf9288839c5536ed2075f206d8d2a80c5906")))
260
              (sha256
261
               (base32
262
                "15mvylgfzmsj0n62m6r5xpqzp6qp4nmp9r3j93g0f64z894kqk0q"))
263
              (file-name (string-append name "-" version))))
264
    (build-system python-build-system)
265
    (native-inputs
266
     `(("nose" ,python-nose)))
267
    (home-page "https://github.com/zardus/ana")
268
    (synopsis "Provide easy distributed data storage for python objects")
269
    (description "ANA is a project to provide easy distributed data storage for
270
stuff.  It provides every object with a UUID and, when pickled, will first
271
serialize the object's state to a central location and then \"pickle\" the
272
object into just its UUID.  This is really handy when you have to distribute
273
objects in some distributed system, and you'd rather not pickle the whole
274
object every time you need to send it.")
275
    (license license:bsd-2)))
276
277
(define-public python2-ana
278
  (package-with-python2 python-ana))
279
280
(define-public python-plumbum
281
  (package
282
    (name "python-plumbum")
283
    (version "1.6.5")
284
    (source (origin
285
              (method url-fetch)
286
              (uri (pypi-uri "plumbum" version))
287
              (sha256
288
               (base32
289
                "1vjbl9qy9fkl3vwiiwpaafmyxfks2sc3b3dhkp4vdgk2pdcv1ayq"))))
290
    (build-system python-build-system)
291
    (native-inputs
292
     `(("pytest" ,python-pytest)))
293
    (home-page "https://plumbum.readthedocs.io/en/latest")
294
    (synopsis "Shell script-like programs in Python")
295
    (description
296
      "Plumbum (Latin for lead, which was used to create pipes back in the day)
297
is a small yet feature-rich library for shell script-like programs in Python.
298
The motto of the library is “Never write shell scripts again”, and thus it
299
attempts to mimic the shell syntax (“shell combinators”) where it makes sense,
300
while keeping it all Pythonic and cross-platform.")
301
    (license license:expat)))
302
303
(define-public python2-plumbum
304
  (package-with-python2 python-plumbum))
305
306
(define-public python-trollius
307
  (package
308
    (name "python-trollius")
309
    (version "2.1")
310
    (source (origin
311
              (method url-fetch)
312
              (uri (pypi-uri "trollius" version))
313
              (sha256
314
               (base32
315
                "146c60hgcmgjkbf2hmiag52f9i3hka6shwbfybdsmlvqjnfms5nd"))))
316
    (build-system python-build-system)
317
    (home-page "https://github.com/haypo/trollius")
318
    (propagated-inputs
319
     `(("mock" ,python-mock)
320
       ("six" ,python-six)))
321
    (arguments
322
     `(#:tests? #f))
323
    (synopsis "")
324
    (description "")
325
    (license license:asl2.0)))
326
327
(define-public python2-trollius
328
  (package-with-python2 python-trollius))
329
330
(define-public python-neovim
331
  (package
332
    (name "python-neovim")
333
    (version "0.2.6")
334
    (source (origin
335
              (method url-fetch)
336
              (uri (pypi-uri "neovim" version))
337
              (sha256
338
               (base32
339
                "0xlj54w9bnmq4vidk6r08hwa6az7drahi08w1qf4j9q45rs8mrbc"))))
340
    (build-system python-build-system)
341
    (propagated-inputs
342
     `(("python-greenlet" ,python-greenlet)
343
       ("python-msgpack" ,python-msgpack)))
344
    (arguments
345
     `(#:tests? #f))
346
    (home-page "https://github.com/neovim/python-client")
347
    (synopsis "")
348
    (description "")
349
    (license license:asl2.0)))
350
351
(define-public python2-neovim
352
  (let ((parent (package-with-python2 python-neovim)))
353
    (package
354
      (inherit parent)
355
      (propagated-inputs
356
       `(("trollius" ,python2-trollius)
357
         ,@(package-propagated-inputs parent))))))
358
359
(define-public python-cymruwhois
360
  (package
361
    (name "python-cymruwhois")
362
    (version "1.6")
363
    (source (origin
364
          (method url-fetch)
365
          (uri (pypi-uri "cymruwhois" version))
366
          (sha256
367
           (base32
368
        "0m7jgpglkjd0lsyw64lfw6qxdm0fg0f54145f79kq4rk1vjqbh5n"))))
369
    (build-system python-build-system)
370
    (native-inputs
371
     `(("python-nose" ,python-nose)))
372
    (home-page "")
373
    (synopsis "")
374
    (description "")
375
    (license license:expat)))
376
377
(define-public python2-cymruwhois
378
  (package-with-python2 python-cymruwhois))
379
380
(define-public python-ripe-atlas-sagan
381
  (package
382
    (name "python-ripe-atlas-sagan")
383
    (version "1.2.2")
384
    (source (origin
385
          (method url-fetch)
386
          (uri (pypi-uri "ripe.atlas.sagan" version))
387
          (sha256
388
           (base32
389
        "1pww7f4kh9cgd9qm7hbnkxg2cvj7mcmwhsan97cl5pd0xqxxnvw3"))))
390
    (build-system python-build-system)
391
    (propagated-inputs
392
     `(("cryptography" ,python-cryptography)
393
       ("dateutil" ,python-dateutil)
394
       ("python-nose" ,python-nose)
395
       ("pytz" ,python-pytz)))
396
    (home-page "")
397
    (synopsis "")
398
    (description "")
399
    (license license:gpl3+)))
400
401
(define-public python2-ripe-atlas-sagan
402
  (package-with-python2 python-ripe-atlas-sagan))
403
404
(define-public python-socketio-client
405
  (package
406
    (name "python-socketio-client")
407
    (version "0.7.2")
408
    (source (origin
409
          (method url-fetch)
410
          (uri (pypi-uri "socketIO-client" version))
411
          (sha256
412
           (base32
413
        "1hfjfhyxgql1ndda1bagg8niy8m28byd2r0yq4l7zycwlzxq9kb4"))))
414
    (build-system python-build-system)
415
    (propagated-inputs
416
      `(("websocket-client" ,python-websocket-client)
417
        ("requests" ,python-requests)))
418
    (native-inputs
419
      `(("coverage" ,python-coverage)
420
    ("nose" ,python-nose)))
421
    (arguments '(#:tests? #f)); requires network
422
    (home-page "")
423
    (synopsis "")
424
    (description "")
425
    (license license:gpl3+)))
426
427
(define-public python2-socketio-client
428
  (package-with-python2 python-socketio-client))
429
430
(define-public python-linecache2
431
  (package
432
    (name "python-linecache2")
433
    (version "1.0.0")
434
    (source (origin
435
          (method url-fetch)
436
          (uri (pypi-uri "linecache2" version))
437
          (sha256
438
           (base32
439
        "0z79g3ds5wk2lvnqw0y2jpakjf32h95bd9zmnvp7dnqhf57gy9jb"))))
440
    (build-system python-build-system)
441
    (arguments '(#:tests? #f)); circular dependency with unittest2
442
    (propagated-inputs
443
      `(("pbr" ,python-pbr)))
444
    (home-page "")
445
    (synopsis "")
446
    (description "")
447
    (license license:gpl3+)))
448
449
(define-public python2-linecache2
450
  (package-with-python2 python-linecache2))
451
452
(define-public python-traceback2
453
  (package
454
    (name "python-traceback2")
455
    (version "1.4.0")
456
    (source (origin
457
          (method url-fetch)
458
          (uri (pypi-uri "traceback2" version))
459
          (sha256
460
           (base32
461
        "0c1h3jas1jp1fdbn9z2mrgn3jj0hw1x3yhnkxp7jw34q15xcdb05"))))
462
    (build-system python-build-system)
463
    (arguments '(#:tests? #f)); circular dependency with unittest2
464
    (propagated-inputs
465
      `(("linecache2" ,python-linecache2)
466
        ("pbr" ,python-pbr)))
467
    (home-page "")
468
    (synopsis "")
469
    (description "")
470
    (license license:gpl3+)))
471
472
(define-public python2-traceback2
473
  (package-with-python2 python-traceback2))
474
475
(define-public python-argparse
476
  (package
477
    (name "python-argparse")
478
    (version "1.4.0")
479
    (source (origin
480
          (method url-fetch)
481
          (uri (pypi-uri "argparse" version))
482
          (sha256
483
           (base32
484
        "1r6nznp64j68ih1k537wms7h57nvppq0szmwsaf99n71bfjqkc32"))))
485
    (build-system python-build-system)
486
    (home-page "")
487
    (synopsis "")
488
    (description "")
489
    (license license:gpl3+)))
490
491
(define-public python2-argparse
492
  (package-with-python2 python-argparse))
493
494
(define-public python-unittest2-fix
495
  (package
496
    (inherit python-unittest2)
497
    (version "1.1.0")
498
    (source (origin
499
          (method url-fetch)
500
          (uri (pypi-uri "unittest2" version))
501
          (sha256
502
           (base32
503
        "0y855kmx7a8rnf81d3lh5lyxai1908xjp0laf4glwa4c8472m212"))))
504
    (arguments
505
      `(#:phases
506
    (modify-phases %standard-phases
507
      (add-before 'check 'disable-failures
508
        (lambda _
509
          (substitute* "unittest2/test/test_result.py"
510
        (("testGet") "dontTestGet"))
511
          (substitute* "unittest2/test/test_loader.py"
512
        (("test_loadTestsFromNames__relative_malformed_name") "dontTest")
513
        (("test_loadTestsFromName__relative_malformed_name") "dontTest2")))))))
514
    (propagated-inputs
515
      `(("traceback2" ,python-traceback2)
516
    ("six" ,python-six)
517
    ("argparse" ,python-argparse)))))
518
519
(define-public python2-unittest2-fix
520
  (package-with-python2 python-unittest2-fix))
521
522
(define-public python-funcsigs
523
  (package
524
    (name "python-funcsigs")
525
    (version "1.0.2")
526
    (source (origin
527
          (method url-fetch)
528
          (uri (pypi-uri "funcsigs" version))
529
          (sha256
530
           (base32
531
        "0l4g5818ffyfmfs1a924811azhjj8ax9xd1cffr1mzd3ycn0zfx7"))))
532
    (build-system python-build-system)
533
    (native-inputs
534
      `(("unittest2" ,python-unittest2-fix)))
535
    (home-page "")
536
    (synopsis "")
537
    (description "")
538
    (license license:asl2.0)))
539
540
(define-public python2-funcsigs
541
  (package-with-python2 python-funcsigs))
542
543
(define-public python-ripe-atlas-cousteau
544
  (package
545
    (name "python-ripe-atlas-cousteau")
546
    (version "1.4.1")
547
    (source (origin
548
          (method url-fetch)
549
          (uri (pypi-uri "ripe.atlas.cousteau" version))
550
          (sha256
551
           (base32
552
        "1964qllddqqh1sz9psmmb84ahqdy499vavm9wdn0k2v7q6y0vm0p"))))
553
    (build-system python-build-system)
554
    (propagated-inputs
555
      `(("websocket-client" ,python-websocket-client)
556
        ("socketIO-client" ,python-socketio-client)
557
        ("dateutil" ,python-dateutil)
558
        ("jsonschema" ,python-jsonschema)
559
        ("requests" ,python-requests)))
560
    (native-inputs
561
      `(("mock" ,python-mock)
562
        ("nose" ,python-nose)
563
        ("funcsigs" ,python-funcsigs)
564
        ("coverage" ,python-coverage)))
565
    (home-page "")
566
    (synopsis "")
567
    (description "")
568
    (license license:gpl3+)))
569
570
(define-public python2-ripe-atlas-cousteau
571
  (package-with-python2 python-ripe-atlas-cousteau))
572
573
(define-public python-ripe-atlas-tools
574
  (package
575
    (name "python-ripe-atlas-tools")
576
    (version "2.2.3")
577
    (source (origin
578
              (method url-fetch)
579
              (uri (pypi-uri "ripe.atlas.tools" version))
580
              (sha256
581
               (base32
582
                "1afcf56fyvsxb0i15v43804rqnn0xdp33achds84axnd1rl1375g"))))
583
    (build-system python-build-system)
584
    (propagated-inputs
585
     `(("pyopenssl" ,python-pyopenssl)
586
       ("sagan" ,python-ripe-atlas-sagan)
587
       ("cousteau" ,python-ripe-atlas-cousteau)
588
       ("pyaml" ,python-pyaml)
589
       ("ipy" ,python-ipy)
590
       ("tzlocal" ,python-tzlocal)))
591
    (native-inputs
592
     `(("mock" ,python-mock)
593
       ("coverage" ,python-coverage)))
594
    (arguments
595
      `(#:tests? #f; tests can't load dependencies
596
        #:phases
597
        (modify-phases %standard-phases
598
          (add-before 'check 'update-dependency
599
            (lambda _
600
              ;; Change dependency version to match what we have in guix
601
              (substitute* "setup.py"
602
                (("==1.2") "==1.2.2")
603
                (("==1.4") "==1.4.1"))
604
              #t)))))
605
    (home-page "")
606
    (synopsis "")
607
    (description "")
608
    (license license:gpl3+)))
609
610
(define-public python2-ripe-atlas-tools
611
  (package-with-python2 python-ripe-atlas-tools))
612
613
(define-public python-web.py
614
  (package
615
    (name "python-web.py")
616
    (version "0.40.dev0")
617
    (source (origin
618
              (method url-fetch)
619
              (uri (pypi-uri "web.py" version))
620
              (sha256
621
               (base32
622
                "18v91c4s683r7a797a8k9p56r1avwplbbcb3l6lc746xgj6zlr6l"))))
623
    (build-system python-build-system)
624
    (home-page "http://webpy.org/")
625
    (synopsis "")
626
    (description "")
627
    (license license:public-domain)))
628
629
(define-public python2-web.py
630
  (package-with-python2 python-web.py))
631
632
(define-public python-bitstring
633
  (package
634
    (name "python-bitstring")
635
    (version "3.1.5")
636
    (source (origin
637
              (method url-fetch)
638
              (uri (pypi-uri "bitstring" version ".zip"))
639
              (sha256
640
               (base32
641
                "1algq30j6rz12b1902bpw7iijx5lhrfqhl80d4ac6xzkrrpshqy1"))))
642
    (build-system python-build-system)
643
    (native-inputs
644
     `(("unzip" ,unzip)))
645
    (home-page "https://github.com/scott-griffiths/bitstring")
646
    (synopsis "Simple construction, analysis and modification of binary data")
647
    (description "Bitstring is a pure Python module designed to help make the
648
creation and analysis of binary data as simple and natural as possible.
649
650
Bitstrings can be constructed from integers (big and little endian), hex, octal,
651
binary, strings or files.  They can be sliced, joined, reversed, inserted into,
652
overwritten, etc.  They can also be read from, searched and replaced, and
653
navigated in, similar to a file or stream.")
654
    (license license:expat)))
655
656
(define-public python2-bitstring
657
  (package-with-python2 python-bitstring))
658
659
(define-public python-android-stringslib
660
  (package
661
    (name "python-android-stringslib")
662
    (version "0.1.1")
663
    (source (origin
664
              (method url-fetch)
665
              (uri (pypi-uri "android-stringslib" version))
666
              (sha256
667
               (base32
668
                "00k0nzjvym984805ikq22fzd81cr23j74lhamd50p2vf4yalw76n"))))
669
    (build-system python-build-system)
670
    (arguments
671
     `(#:tests? #f)); no tests
672
    (native-inputs
673
     `(("python-sphinx" ,python-sphinx)))
674
    (home-page "https://framagit.org/tyreunom/python-android-strings-lib")
675
    (synopsis "")
676
    (description "")
677
    (license license:expat)))
678
679
(define-public transmon
680
  (package
681
    (name "transmon")
682
    (version "0.1")
683
    (source (origin
684
              (method url-fetch)
685
              (uri (pypi-uri "transmon" version))
686
              (sha256
687
               (base32
688
                "1l7lxp4xwymyb1wqhycqg33ry6gza4660k12xkja04kmw4aqv0az"))))
689
    (build-system python-build-system)
690
    (arguments
691
     `(#:tests? #f)); no tests
692
    (propagated-inputs
693
     `(("python-android-stringslib" ,python-android-stringslib)
694
       ("python-polib" ,python-polib)
695
       ("python-pygit2" ,python-pygit2)))
696
    (home-page "https://framagit.org/tyreunom/transmon")
697
    (synopsis "")
698
    (description "")
699
    (license license:agpl3+)))
700
701
(define-public python-pyenchant
702
  (package
703
    (name "python-pyenchant")
704
    (version "2.0.0")
705
    (source (origin
706
              (method url-fetch)
707
              (uri (pypi-uri "pyenchant" version))
708
              (sha256
709
               (base32
710
                "1872ckgdip8nj9rnh167m0gsj5754qfg2hjxzsl1s06f5akwscgw"))))
711
    (build-system python-build-system)
712
    (arguments
713
     `(#:tests? #f; FIXME: Dictionary for language 'en_US' could not be found
714
       #:phases
715
       (modify-phases %standard-phases
716
         (add-before 'build 'setlib
717
           (lambda* (#:key inputs #:allow-other-keys)
718
             (substitute* "enchant/_enchant.py"
719
               (("/opt/local/lib/libenchant.dylib\"")
720
                (string-append "/opt/local/lib/libenchant.dylib\"\n"
721
                               "    yield \"" (assoc-ref inputs "enchant")
722
                               "/lib/libenchant-2.so\""))))))))
723
             ;(setenv "PYENCHANT_LIBRARY_PATH"
724
             ;        (string-append (assoc-ref inputs "enchant") "/lib/libenchant.so")))))))
725
    (propagated-inputs
726
     `(("enchant" ,enchant)
727
       ("hunspell" ,hunspell)))
728
    (native-inputs
729
     `(("hunspell-dict-en-us" ,hunspell-dict-en-us)))
730
    (home-page "")
731
    (synopsis "")
732
    (description "")
733
    (license license:lgpl2.1+)))
734
735
(define-public offlate
736
  (package
737
    (name "offlate")
738
    (version "0.1.dev")
739
    (source (origin
740
              (method git-fetch)
741
              (uri (git-reference
742
                     (url "https://framagit.org/tyreunom/offlate.git")
743
                     (commit "28fa87a163aa40d6770390792ce17e583618fb80")))
744
              (sha256
745
               (base32
746
                "0hcg7fiwa51jfm8jgz65vjakid38kfsrrc805f4imldmv9j9gf3a"))))
747
    (build-system python-build-system)
748
    (arguments
749
     `(#:tests? #f; no tests
750
       #:phases
751
       (modify-phases %standard-phases
752
         (add-before 'build 'generate-translations
753
           (lambda _
754
             (invoke "make" "update-langs")
755
             #t)))))
756
    (propagated-inputs
757
     `(("python-android-stringslib" ,python-android-stringslib)
758
       ("python-dateutil" ,python-dateutil)
759
       ("python-lxml" ,python-lxml)
760
       ("python-pyenchant" ,python-pyenchant)
761
       ("python-ruamel.yaml" ,python-ruamel.yaml)
762
       ("python-polib" ,python-polib)
763
       ("python-pyqt" ,python-pyqt)
764
       ("python-requests" ,python-requests)))
765
    (native-inputs
766
     `(("qt" ,qt)))
767
    (home-page "https://framagit.org/tyreunom/offlate")
768
    (synopsis "")
769
    (description "")
770
    (license license:gpl3+)))
771
772
(define-public python-zope.interface
773
  (package
774
    (name "python-zope.interface")
775
    (version "4.5.0")
776
    (source
777
      (origin
778
        (method url-fetch)
779
        (uri (pypi-uri "zope.interface" version))
780
        (sha256
781
          (base32
782
            "0k67m60ij06wkg82n15qgyn96waf4pmrkhv0njpkfzpmv5q89hsp"))))
783
    (build-system python-build-system)
784
    (arguments
785
     `(#:tests? #f))
786
    (home-page
787
      "https://github.com/zopefoundation/zope.interface")
788
    (synopsis "Interfaces for Python")
789
    (description "Interfaces for Python")
790
    (license #f)))
791
792
(define-public python-hkdf
793
  (package
794
    (name "python-hkdf")
795
    (version "0.0.3")
796
    (source (origin
797
              (method url-fetch)
798
              (uri (pypi-uri "hkdf" version))
799
              (sha256
800
               (base32
801
                "1jhxk5vhxmxxjp3zj526ry521v9inzzl8jqaaf0ma65w6k332ak2"))))
802
    (build-system python-build-system)
803
    (native-inputs
804
     `(("python-nose" ,python-nose)))
805
    (home-page
806
      "https://github.com/casebeer/python-hkdf")
807
    (synopsis
808
      "HMAC-based Extract-and-Expand Key Derivation Function (HKDF)")
809
    (description
810
      "HMAC-based Extract-and-Expand Key Derivation Function (HKDF)")
811
    (license #f)))
812
813
(define-public python-geoip
814
  (package
815
    (name "python-geoip")
816
    (version "1.3.2")
817
    (source (origin
818
              (method url-fetch)
819
              (uri (pypi-uri "geoip" version))
820
              (sha256
821
               (base32
822
                "1rphxf3vrn8wywjgr397f49s0s22m83lpwcq45lm0h2p45mdm458"))))
823
    (build-system python-build-system)
824
    (home-page "http://www.maxmind.com/")
825
    (synopsis
826
      "MaxMind GeoIP Legacy Database - Python API")
827
    (description
828
      "MaxMind GeoIP Legacy Database - Python API")
829
    (license #f)))
830
831
(define-public python-hyperlink
832
  (package
833
    (name "python-hyperlink")
834
    (version "18.0.0")
835
    (source
836
      (origin
837
        (method url-fetch)
838
        (uri (pypi-uri "hyperlink" version))
839
        (sha256
840
          (base32
841
            "01m3y19arfqljksngy8grc966zdb4larysralb8cajzi8kvly6zh"))))
842
    (build-system python-build-system)
843
    (propagated-inputs
844
      `(("python-idna" ,python-idna)))
845
    (home-page
846
      "https://github.com/python-hyper/hyperlink")
847
    (synopsis
848
      "A featureful, immutable, and correct URL for Python.")
849
    (description
850
      "A featureful, immutable, and correct URL for Python.")
851
    (license license:expat)))
852
853
(define-public python-twisted-for-wormhole
854
  (package
855
    (inherit python-twisted)
856
    (name "python-twisted")
857
    (version "18.9.0")
858
    (source (origin
859
              (method url-fetch)
860
              (uri (pypi-uri "Twisted" version ".tar.bz2"))
861
              (sha256
862
               (base32
863
                "15d3gmkrg8g27hyd6ihawv2y2dv5gnpyg67wy9npgbl4pz3f4jr9"))))
864
    (propagated-inputs
865
     `(("python-pyhamcrest" ,python-pyhamcrest)
866
       ("python-service-identity" ,python-service-identity)
867
       ("python-hyperlink" ,python-hyperlink)
868
       ,@(package-propagated-inputs python-twisted)))))
869
870
(define-public python-txaio
871
  (package
872
    (name "python-txaio")
873
    (version "18.8.1")
874
    (source
875
      (origin
876
        (method url-fetch)
877
        (uri (pypi-uri "txaio" version))
878
        (sha256
879
          (base32
880
            "1zmpdph6zddgrnkkcykh6qk5s46l7s5mzfqrh82m4b5iffn61qv7"))))
881
    (build-system python-build-system)
882
    (propagated-inputs
883
      `(;("python-[all]" ,#{python-\x5b;all\x5d;}#)
884
        ;("python-[asyncio]"
885
        ; ,#{python-\x5b;asyncio\x5d;}#)
886
        ;("python-[dev]" ,#{python-\x5b;dev\x5d;}#)
887
        ;("python-[twisted]"
888
        ; ,#{python-\x5b;twisted\x5d;}#)
889
        ("python-mock" ,python-mock)
890
        ("python-pep8" ,python-pep8)
891
        ("python-pyenchant" ,python-pyenchant)
892
        ("python-pytest" ,python-pytest)
893
        ("python-pytest-cov" ,python-pytest-cov)
894
        ("python-six" ,python-six)
895
        ("python-sphinx" ,python-sphinx)
896
        ;("python-sphinx-rtd-theme"
897
        ; ,python-sphinx-rtd-theme)
898
        ;("python-sphinxcontrib-spelling"
899
        ; ,python-sphinxcontrib-spelling)
900
        ("python-tox" ,python-tox)
901
        ("python-twine" ,python-twine)
902
        ("python-twisted" ,python-twisted)
903
        ("python-wheel" ,python-wheel)
904
        ("python-zope.interface" ,python-zope.interface)))
905
    (home-page "https://github.com/crossbario/txaio")
906
    (synopsis
907
      "Compatibility API between asyncio/Twisted/Trollius")
908
    (description
909
      "Compatibility API between asyncio/Twisted/Trollius")
910
    (license #f)))
911
912
(define-public python-txtorcon
913
  (package
914
    (name "python-txtorcon")
915
    (version "18.3.0")
916
    (source (origin
917
              (method url-fetch)
918
              (uri (pypi-uri "txtorcon" version))
919
              (sha256
920
               (base32
921
                "1c7qfpr1zz34whz66lk4xpwdn7d5jqk6ccgas5n54li479mra0an"))))
922
    (build-system python-build-system)
923
    (arguments
924
     `(#:tests? #f))
925
    (propagated-inputs
926
     `(;("python-codecov" ,python-codecov)
927
       ;("python-coverage" ,python-coverage)
928
       ;("python-coveralls" ,python-coveralls)
929
       ;("python-cuvner" ,python-cuvner)
930
       ;("python-geoip" ,python-geoip)
931
       ("python-ipaddress" ,python-ipaddress)
932
       ("python-mock" ,python-mock)
933
       ("python-pycodestyle" ,python-pycodestyle)
934
       ("python-pyflakes" ,python-pyflakes)
935
       ;("python-readme-renderer" ,python-readme-renderer)
936
       ;("python-repoze.sphinx.autointerface" ,python-repoze.sphinx.autointerface)
937
       ("python-setuptools" ,python-setuptools)
938
       ("python-sphinx" ,python-sphinx)
939
       ("python-tox" ,python-tox)
940
       ("python-twine" ,python-twine)
941
       ("python-wheel" ,python-wheel)))
942
    (home-page "")
943
    (synopsis
944
      "Twisted-based Tor controller client, with state-tracking and configuration abstractions. https://txtorcon.readthedocs.org https://github.com/meejah/txtorcon")
945
    (description
946
      "Twisted-based Tor controller client, with state-tracking and configuration abstractions. https://txtorcon.readthedocs.org https://github.com/meejah/txtorcon")
947
    (license #f)))
948
949
(define-public python-spake2
950
  (package
951
    (name "python-spake2")
952
    (version "0.8")
953
    (source (origin
954
              (method url-fetch)
955
              (uri (pypi-uri "spake2" version))
956
              (sha256
957
               (base32
958
                "1x16r7lrbklvfzbacb66qv9iiih6liq1y612dqh2chgf555n2yn1"))))
959
    (build-system python-build-system)
960
    (propagated-inputs
961
     `(("python-hkdf" ,python-hkdf)))
962
    (home-page
963
      "https://github.com/warner/python-spake2")
964
    (synopsis
965
      "SPAKE2 password-authenticated key exchange (pure python)")
966
    (description
967
      "SPAKE2 password-authenticated key exchange (pure python)")
968
    (license license:expat)))
969
970
(define-public python-humanize
971
  (package
972
    (name "python-humanize")
973
    (version "0.5.1")
974
    (source (origin
975
              (method url-fetch)
976
              (uri (pypi-uri "humanize" version))
977
              (sha256
978
               (base32
979
                "06dvhm3k8lf2rayn1gxbd46y0fy1db26m3h9vrq7rb1ib08mfgx4"))))
980
    (build-system python-build-system)
981
    (arguments
982
     `(#:tests? #f))
983
    (home-page "http://github.com/jmoiron/humanize")
984
    (synopsis "python humanize utilities")
985
    (description "python humanize utilities")
986
    (license license:expat)))
987
988
(define-public python-service-identity
989
  (package
990
    (name "python-service-identity")
991
    (version "17.0.0")
992
    (source
993
      (origin
994
        (method url-fetch)
995
        (uri (pypi-uri "service_identity" version))
996
        (sha256
997
          (base32
998
            "1aq24cn3nnsjr9g797dayhx4g653h6bd41ksqhidzq0rvarzn0a0"))))
999
    (build-system python-build-system)
1000
    (propagated-inputs
1001
      `(("python-attrs" ,python-attrs)
1002
        ("python-pyasn1" ,python-pyasn1)
1003
        ("python-pyasn1-modules" ,python-pyasn1-modules)
1004
        ("python-pyopenssl" ,python-pyopenssl)))
1005
    (home-page
1006
      "https://service-identity.readthedocs.io/")
1007
    (synopsis
1008
      "Service identity verification for pyOpenSSL.")
1009
    (description
1010
      "Service identity verification for pyOpenSSL.")
1011
    (license license:expat)))
1012
1013
(define-public python-pyhamcrest
1014
  (package
1015
    (name "python-pyhamcrest")
1016
    (version "1.9.0")
1017
    (source
1018
      (origin
1019
        (method url-fetch)
1020
        (uri (pypi-uri "pyhamcrest" version))
1021
        (sha256
1022
          (base32
1023
            "1kan3nyxs1dz333s7mfvjj47l8j6qxd1imyf2kg8jzm57njs1ylg"))))
1024
    (build-system python-build-system)
1025
    (arguments
1026
     `(#:tests? #f))
1027
    (propagated-inputs
1028
      `(("python-setuptools" ,python-setuptools)
1029
        ("python-six" ,python-six)))
1030
    (home-page
1031
      "https://github.com/hamcrest/PyHamcrest")
1032
    (synopsis
1033
      "Hamcrest framework for matcher objects")
1034
    (description
1035
      "Hamcrest framework for matcher objects")
1036
    (license #f)))
1037
1038
(define-public python-autobahn
1039
  (package
1040
    (name "python-autobahn")
1041
    (version "18.9.2")
1042
    (source (origin
1043
              (method url-fetch)
1044
              (uri (pypi-uri "autobahn" version))
1045
              (sha256
1046
               (base32
1047
                "1mhj64rsnbi6rc0hskmllw280rvd99z045p6dq8h0mw60r7r52yr"))))
1048
    (build-system python-build-system)
1049
    (arguments
1050
     `(#:tests? #f))
1051
    (propagated-inputs
1052
     `(;("python-[accelerate]"
1053
     ;,#{python-\x5b;accelerate\x5d;}#)
1054
     ;("python-[all]" ,#{python-\x5b;all\x5d;}#)
1055
     ;("python-[asyncio]"
1056
     ;,#{python-\x5b;asyncio\x5d;}#)
1057
     ;("python-[compress]"
1058
     ;,#{python-\x5b;compress\x5d;}#)
1059
     ;("python-[dev]" ,#{python-\x5b;dev\x5d;}#)
1060
     ;("python-[encryption]"
1061
     ;,#{python-\x5b;encryption\x5d;}#)
1062
     ;("python-[nvx]" ,#{python-\x5b;nvx\x5d;}#)
1063
     ;("python-[scram]" ,#{python-\x5b;scram\x5d;}#)
1064
     ;("python-[serialization]"
1065
     ;,#{python-\x5b;serialization\x5d;}#)
1066
     ;("python-[twisted]"
1067
     ;,#{python-\x5b;twisted\x5d;}#)
1068
     ;("python-argon2-cffi" ,python-argon2-cffi)
1069
     ;("python-awscli" ,python-awscli)
1070
     ("python-cbor" ,python-cbor)
1071
     ("python-cffi" ,python-cffi)
1072
     ("python-flake8" ,python-flake8)
1073
     ("python-lz4" ,python-lz4)
1074
     ("python-mock" ,python-mock)
1075
     ("python-passlib" ,python-passlib)
1076
     ;("python-pep8-naming" ,python-pep8-naming)
1077
     ("python-py-ubjson" ,python-py-ubjson)
1078
     ("python-pyenchant" ,python-pyenchant)
1079
     ("python-pyflakes" ,python-pyflakes)
1080
     ("python-pynacl" ,python-pynacl)
1081
     ("python-pyopenssl" ,python-pyopenssl)
1082
     ("python-pyqrcode" ,python-pyqrcode)
1083
     ;("python-pytest" ,python-pytest)
1084
     ;("python-pytest-aiohttp" ,python-pytest-aiohttp)
1085
     ;("python-pytest-asyncio" ,python-pytest-asyncio)
1086
     ;("python-pytrie" ,python-pytrie)
1087
     ;("python-qualname" ,python-qualname)
1088
     ("python-service-identity" ,python-service-identity)
1089
     ("python-six" ,python-six)
1090
     ;("python-snappy" ,python-snappy)
1091
     ("python-sphinx" ,python-sphinx)
1092
     ("python-sphinx-rtd-theme" ,python-sphinx-rtd-theme)
1093
     ;("python-sphinxcontrib-spelling" ,python-sphinxcontrib-spelling)
1094
     ("python-twine" ,python-twine)
1095
     ("python-twisted" ,python-twisted-for-wormhole)
1096
     ("python-txaio" ,python-txaio)
1097
     ;("python-u-msgpack-python" ,python-u-msgpack-python)
1098
     ("python-wheel" ,python-wheel)
1099
     ;("python-wsaccel" ,python-wsaccel)
1100
     ("python-zope.interface" ,python-zope.interface)))
1101
    (home-page "http://crossbar.io/autobahn")
1102
    (synopsis
1103
      "WebSocket client & server library, WAMP real-time framework")
1104
    (description
1105
      "WebSocket client & server library, WAMP real-time framework")
1106
    (license #f)))
1107
1108
(define-public magic-wormhole
1109
  (package
1110
    (name "magic-wormhole")
1111
    (version "0.10.5")
1112
    (source
1113
      (origin
1114
        (method url-fetch)
1115
        (uri (pypi-uri "magic-wormhole" version))
1116
        (sha256
1117
          (base32
1118
            "1vhp97pdnqb8nd08pk9fn7mk5jwihdfcsqilxkg3brai6lgyln4m"))))
1119
    (build-system python-build-system)
1120
    (arguments
1121
     `(#:tests? #f))
1122
    (propagated-inputs
1123
      `(("python-attrs" ,python-attrs)
1124
        ("python-autobahn" ,python-autobahn)
1125
        ("python-automat" ,python-automat)
1126
        ("python-click" ,python-click)
1127
        ("python-hkdf" ,python-hkdf)
1128
        ("python-humanize" ,python-humanize)
1129
        ("python-ipaddress" ,python-ipaddress)
1130
        ("python-pynacl" ,python-pynacl)
1131
        ("python-six" ,python-six)
1132
        ("python-spake2" ,python-spake2)
1133
        ("python-tqdm" ,python-tqdm)
1134
        ("python-twisted" ,python-twisted-for-wormhole)
1135
        ("python-txtorcon" ,python-txtorcon)))
1136
    (home-page
1137
      "https://github.com/warner/magic-wormhole")
1138
    (synopsis
1139
      "Securely transfer data between computers")
1140
    (description
1141
      "Securely transfer data between computers")
1142
    (license license:expat)))
1143