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