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 libreoffice)
29
  #:use-module (gnu packages maths)
30
  #:use-module (gnu packages networking)
31
  #:use-module (gnu packages python)
32
  #:use-module (gnu packages python-crypto)
33
  #:use-module (gnu packages python-web)
34
  #:use-module (gnu packages time)
35
  #:use-module (gnu packages tls)
36
  #:use-module (guix packages)
37
  #:use-module (guix download)
38
  #:use-module (guix git-download)
39
  #:use-module (guix utils)
40
  #:use-module (guix build-system python))
41
42
(define-public python-cooldict
43
  (package
44
    (name "python-cooldict")
45
    (version "1.02")
46
    (source (origin
47
              (method url-fetch)
48
              (uri (pypi-uri "cooldict" version))
49
              (sha256
50
               (base32
51
                "084if0s504576nph0f6glmg3mmvijq7nbnf65hh22gwwdwrjss83"))))
52
    (build-system python-build-system)
53
    (native-inputs
54
     `(("ana" ,python-ana)))
55
    (home-page "https://github.com/zardus/cooldict")
56
    (synopsis "Some useful dict-like structures")
57
    (description "Some useful dict-like structures.")
58
    (license license:bsd-2)))
59
60
(define-public python2-cooldict
61
  (package-with-python2 python-cooldict))
62
 
63
(define-public python-cachetools
64
  (package
65
    (name "python-cachetools")
66
    (version "2.0.1")
67
    (source (origin
68
              (method url-fetch)
69
              (uri (pypi-uri "cachetools" version))
70
              (sha256
71
               (base32
72
                "0pdw2fr29pxlyn1g5fhdrrqbpn0iw062nv716ngdqvdx7hnizq7d"))))
73
    (build-system python-build-system)
74
    (home-page "https://github.com/tkem/cachetools")
75
    (synopsis "Memoizing collections and decorators including lru_cache")
76
    (description "This module provides various memoizing collections and
77
decorators, including variants of the Python 3 Standard Library @code{lru_cache}
78
function decorator.")
79
    (license license:expat)))
80
81
(define-public python2-cachetools
82
  (package-with-python2 python-cachetools))
83
84
(define-public python-bintrees
85
  (package
86
    (name "python-bintrees")
87
    (version "2.0.7")
88
    (source (origin
89
              (method url-fetch)
90
              (uri (pypi-uri "bintrees" version ".zip"))
91
              (sha256
92
               (base32
93
                "0w0js514awl9qwamcr71spi8mmv7q3n4mgrqrnmr9w6f09k5wrv0"))))
94
    (build-system python-build-system)
95
    (native-inputs `(("unzip" ,unzip)))
96
    (home-page "https://github.com/mozman/bintrees")
97
    (synopsis "Provides Binary- RedBlack- and AVL-Trees written in Python and Cython/C")
98
    (description "This package provides Binary- RedBlack- and AVL-Trees written
99
in Python and Cython/C.
100
101
This Classes are much slower than the built-in dict class, but all
102
iterators/generators yielding data in sorted key order. Trees can be uses as
103
drop in replacement for dicts in most cases.")
104
    (license license:expat)))
105
106
(define-public python2-bintrees
107
  (package-with-python2 python-bintrees))
108
 
109
(define-public python2-dpkt
110
  (package
111
    (name "python2-dpkt")
112
    (version "1.9.1")
113
    (source (origin
114
              (method url-fetch)
115
              (uri (pypi-uri "dpkt" version))
116
              (sha256
117
               (base32
118
                "0rr9ygczhxkfb61778jx0cxs0sq46zwlcj5l3wn6xmd3iy3yx9y6"))
119
              (modules '((guix build utils)))
120
              (snippet
121
               '(substitute* "setup.py"
122
                  (("os.system\\('py2dsc-deb ' + sdist_file\\)") "")))))
123
    (build-system python-build-system)
124
    (arguments
125
     `(#:python ,python-2))
126
    (home-page "https://github.com/kbandla/dpkt")
127
    (synopsis "Fast, simple network packet creation / parsing")
128
    (description "Fast, simple packet creation / parsing, with definitions for
129
the basic TCP/IP protocols.")
130
    (license license:bsd-3)))
131
132
;; According to pypi, should work with py3
133
(define-public python2-rpyc
134
  (package
135
    (name "python2-rpyc")
136
    (version "3.4.4")
137
    (source (origin
138
              (method url-fetch)
139
              (uri (pypi-uri "rpyc" version))
140
              (sha256
141
               (base32
142
                "1iw1nkyh8r55xqafl14lp7lih38b5fdqid05s6cp4zd62821v6d8"))))
143
    (build-system python-build-system)
144
    (native-inputs
145
     `(("nose" ,python2-nose)))
146
    (propagated-inputs
147
     `(("plumbum" ,python2-plumbum)
148
       ("progressbar" ,python2-progressbar)))
149
    (arguments
150
     `(#:python ,python-2))
151
    (home-page "https://github.com/tomerfiliba/rpyc")
152
    (synopsis "Remote procedure call for Python")
153
    (description "Remote Python Call is a transparent library for symmetrical
154
remote procedure calls, clustering, and distributed-computing.  RPyC makes use
155
of object-proxying, a technique that employs python's dynamic nature, to
156
overcome the physical boundaries between processes and computers, so that
157
remote objects can be manipulated as if they were local.")
158
    (license license:expat)))
159
160
;; According to pypi, should work with py3
161
(define-public python2-progressbar
162
  (package
163
    (name "python2-progressbar")
164
    (version "2.3")
165
    (source (origin
166
              (method url-fetch)
167
              (uri (pypi-uri "progressbar" version))
168
              (sha256
169
               (base32
170
                "0m0j93yfvbd8pw8cz2vdb9hyk9d0zkkd509k69jrw545jxr8mlxj"))))
171
    (build-system python-build-system)
172
    (arguments
173
     `(#:python ,python-2))
174
    (home-page "https://github.com/niltonvolpato/python-progressbar")
175
    (synopsis "Text progress bar library for Python")
176
    (description
177
      "A text progress bar is typically used to display the progress of a long
178
running operation, providing a visual cue that processing is underway.
179
180
The ProgressBar class manages the current progress, and the format of the line
181
is given by a number of widgets. A widget is an object that may display
182
differently depending on the state of the progress bar. There are three types
183
of widgets:
184
185
@enumerate
186
@item a string, which always shows itself
187
@item a ProgressBarWidget, which may return a different value every time its
188
update method is called
189
@item a ProgressBarWidgetHFill, which is like ProgressBarWidget, except it
190
expands to fill the remaining width of the line.
191
@end enumerate
192
193
The progressbar module is very easy to use, yet very powerful. It will also
194
automatically enable features like auto-resizing when the system supports it.")
195
    (license (list license:lgpl2.1+ license:bsd-3))))
196
197
(define-public python-progressbar2
198
  (package
199
    (name "python-progressbar2")
200
    (version "3.34.3")
201
    (source (origin
202
              (method url-fetch)
203
              (uri (pypi-uri "progressbar2" version))
204
              (sha256
205
               (base32
206
                "1gigwmr60bgvjg2b4w93nww065dc4af8bq40b4hr9n9f54jp3w5x"))))
207
    (build-system python-build-system)
208
    (native-inputs
209
     `(("pytest-runner" ,python-pytest-runner)
210
       ("pytest" ,python-pytest)))
211
    (propagated-inputs
212
     `(("six" ,python-six)
213
       ("utils" ,python-utils)))
214
    (home-page "https://github.com/WoLpH/python-progressbar")
215
    (synopsis "A text progress bar for python")
216
    (description "A text progress bar is typically used to display the progress
217
of a long running operation, providing a visual cue that processing is underway.
218
219
The ProgressBar class manages the current progress, and the format of the line
220
is given by a number of widgets.  A widget is an object that may display
221
differently depending on the state of the progress bar.")
222
    (license license:bsd-2)))
223
224
(define-public python2-progressbar2
225
  (package-with-python2 python-progressbar2))
226
 
227
(define-public python-mulpyplexer
228
  (package
229
    (name "python-mulpyplexer")
230
    (version "0.08")
231
    (source (origin
232
              (method url-fetch)
233
              (uri (pypi-uri "mulpyplexer" version))
234
              (sha256
235
               (base32
236
                "1zn5d1vyhfjp8x9z5mr9gv8m8gmi3s3jv3kqb790xzi1kqi0p4ya"))))
237
    (build-system python-build-system)
238
    (home-page "https://github.com/zardus/mulpyplexer")
239
    (synopsis "Multiplex interactions with lists of python objects")
240
    (description "Mulpyplexer is a piece of code that can multiplex interactions with lists of python objects.")
241
    (license license:bsd-2)))
242
243
(define-public python2-mulpyplexer
244
  (package-with-python2 python-mulpyplexer))
245
246
(define-public python-ana
247
  (package
248
    (name "python-ana")
249
    (version "0")
250
    (source (origin
251
              (method git-fetch)
252
              (uri (git-reference
253
                    (url "https://github.com/zardus/ana.git")
254
                    (commit "6d37cf9288839c5536ed2075f206d8d2a80c5906")))
255
              (sha256
256
               (base32
257
                "15mvylgfzmsj0n62m6r5xpqzp6qp4nmp9r3j93g0f64z894kqk0q"))
258
              (file-name (string-append name "-" version))))
259
    (build-system python-build-system)
260
    (native-inputs
261
     `(("nose" ,python-nose)))
262
    (home-page "https://github.com/zardus/ana")
263
    (synopsis "Provide easy distributed data storage for python objects")
264
    (description "ANA is a project to provide easy distributed data storage for
265
stuff.  It provides every object with a UUID and, when pickled, will first
266
serialize the object's state to a central location and then \"pickle\" the
267
object into just its UUID.  This is really handy when you have to distribute
268
objects in some distributed system, and you'd rather not pickle the whole
269
object every time you need to send it.")
270
    (license license:bsd-2)))
271
272
(define-public python2-ana
273
  (package-with-python2 python-ana))
274
275
(define-public python-plumbum
276
  (package
277
    (name "python-plumbum")
278
    (version "1.6.5")
279
    (source (origin
280
              (method url-fetch)
281
              (uri (pypi-uri "plumbum" version))
282
              (sha256
283
               (base32
284
                "1vjbl9qy9fkl3vwiiwpaafmyxfks2sc3b3dhkp4vdgk2pdcv1ayq"))))
285
    (build-system python-build-system)
286
    (native-inputs
287
     `(("pytest" ,python-pytest)))
288
    (home-page "https://plumbum.readthedocs.io/en/latest")
289
    (synopsis "Shell script-like programs in Python")
290
    (description
291
      "Plumbum (Latin for lead, which was used to create pipes back in the day)
292
is a small yet feature-rich library for shell script-like programs in Python.
293
The motto of the library is “Never write shell scripts again”, and thus it
294
attempts to mimic the shell syntax (“shell combinators”) where it makes sense,
295
while keeping it all Pythonic and cross-platform.")
296
    (license license:expat)))
297
298
(define-public python2-plumbum
299
  (package-with-python2 python-plumbum))
300
301
(define-public python-trollius
302
  (package
303
    (name "python-trollius")
304
    (version "2.1")
305
    (source (origin
306
              (method url-fetch)
307
              (uri (pypi-uri "trollius" version))
308
              (sha256
309
               (base32
310
                "146c60hgcmgjkbf2hmiag52f9i3hka6shwbfybdsmlvqjnfms5nd"))))
311
    (build-system python-build-system)
312
    (home-page "https://github.com/haypo/trollius")
313
    (propagated-inputs
314
     `(("mock" ,python-mock)
315
       ("six" ,python-six)))
316
    (arguments
317
     `(#:tests? #f))
318
    (synopsis "")
319
    (description "")
320
    (license license:asl2.0)))
321
322
(define-public python2-trollius
323
  (package-with-python2 python-trollius))
324
325
(define-public python-neovim
326
  (package
327
    (name "python-neovim")
328
    (version "0.2.4")
329
    (source (origin
330
              (method url-fetch)
331
              (uri (pypi-uri "neovim" version))
332
              (sha256
333
               (base32
334
                "0accfgyvihs08bwapgakx6w93p4vbrq2448n2z6gw88m2hja9jm3"))))
335
    (build-system python-build-system)
336
    (propagated-inputs
337
     `(("python-greenlet" ,python-greenlet)
338
       ("python-msgpack" ,python-msgpack)))
339
    (arguments
340
     `(#:tests? #f))
341
    (home-page "https://github.com/neovim/python-client")
342
    (synopsis "")
343
    (description "")
344
    (license license:asl2.0)))
345
346
(define-public python2-neovim
347
  (let ((parent (package-with-python2 python-neovim)))
348
    (package
349
      (inherit parent)
350
      (propagated-inputs
351
       `(("trollius" ,python2-trollius)
352
         ,@(package-propagated-inputs parent))))))
353
354
(define-public python-cymruwhois
355
  (package
356
    (name "python-cymruwhois")
357
    (version "1.6")
358
    (source (origin
359
          (method url-fetch)
360
          (uri (pypi-uri "cymruwhois" version))
361
          (sha256
362
           (base32
363
        "0m7jgpglkjd0lsyw64lfw6qxdm0fg0f54145f79kq4rk1vjqbh5n"))))
364
    (build-system python-build-system)
365
    (native-inputs
366
     `(("python-nose" ,python-nose)))
367
    (home-page "")
368
    (synopsis "")
369
    (description "")
370
    (license license:expat)))
371
372
(define-public python2-cymruwhois
373
  (package-with-python2 python-cymruwhois))
374
375
(define-public python-ripe-atlas-sagan
376
  (package
377
    (name "python-ripe-atlas-sagan")
378
    (version "1.2.2")
379
    (source (origin
380
          (method url-fetch)
381
          (uri (pypi-uri "ripe.atlas.sagan" version))
382
          (sha256
383
           (base32
384
        "1pww7f4kh9cgd9qm7hbnkxg2cvj7mcmwhsan97cl5pd0xqxxnvw3"))))
385
    (build-system python-build-system)
386
    (propagated-inputs
387
     `(("cryptography" ,python-cryptography)
388
       ("dateutil" ,python-dateutil)
389
       ("python-nose" ,python-nose)
390
       ("pytz" ,python-pytz)))
391
    (home-page "")
392
    (synopsis "")
393
    (description "")
394
    (license license:gpl3+)))
395
396
(define-public python2-ripe-atlas-sagan
397
  (package-with-python2 python-ripe-atlas-sagan))
398
399
(define-public python-socketio-client
400
  (package
401
    (name "python-socketio-client")
402
    (version "0.7.2")
403
    (source (origin
404
          (method url-fetch)
405
          (uri (pypi-uri "socketIO-client" version))
406
          (sha256
407
           (base32
408
        "1hfjfhyxgql1ndda1bagg8niy8m28byd2r0yq4l7zycwlzxq9kb4"))))
409
    (build-system python-build-system)
410
    (propagated-inputs
411
      `(("websocket-client" ,python-websocket-client)
412
        ("requests" ,python-requests)))
413
    (native-inputs
414
      `(("coverage" ,python-coverage)
415
    ("nose" ,python-nose)))
416
    (arguments '(#:tests? #f)); requires network
417
    (home-page "")
418
    (synopsis "")
419
    (description "")
420
    (license license:gpl3+)))
421
422
(define-public python2-socketio-client
423
  (package-with-python2 python-socketio-client))
424
425
(define-public python-linecache2
426
  (package
427
    (name "python-linecache2")
428
    (version "1.0.0")
429
    (source (origin
430
          (method url-fetch)
431
          (uri (pypi-uri "linecache2" version))
432
          (sha256
433
           (base32
434
        "0z79g3ds5wk2lvnqw0y2jpakjf32h95bd9zmnvp7dnqhf57gy9jb"))))
435
    (build-system python-build-system)
436
    (arguments '(#:tests? #f)); circular dependency with unittest2
437
    (propagated-inputs
438
      `(("pbr" ,python-pbr)))
439
    (home-page "")
440
    (synopsis "")
441
    (description "")
442
    (license license:gpl3+)))
443
444
(define-public python2-linecache2
445
  (package-with-python2 python-linecache2))
446
447
(define-public python-traceback2
448
  (package
449
    (name "python-traceback2")
450
    (version "1.4.0")
451
    (source (origin
452
          (method url-fetch)
453
          (uri (pypi-uri "traceback2" version))
454
          (sha256
455
           (base32
456
        "0c1h3jas1jp1fdbn9z2mrgn3jj0hw1x3yhnkxp7jw34q15xcdb05"))))
457
    (build-system python-build-system)
458
    (arguments '(#:tests? #f)); circular dependency with unittest2
459
    (propagated-inputs
460
      `(("linecache2" ,python-linecache2)
461
        ("pbr" ,python-pbr)))
462
    (home-page "")
463
    (synopsis "")
464
    (description "")
465
    (license license:gpl3+)))
466
467
(define-public python2-traceback2
468
  (package-with-python2 python-traceback2))
469
470
(define-public python-argparse
471
  (package
472
    (name "python-argparse")
473
    (version "1.4.0")
474
    (source (origin
475
          (method url-fetch)
476
          (uri (pypi-uri "argparse" version))
477
          (sha256
478
           (base32
479
        "1r6nznp64j68ih1k537wms7h57nvppq0szmwsaf99n71bfjqkc32"))))
480
    (build-system python-build-system)
481
    (home-page "")
482
    (synopsis "")
483
    (description "")
484
    (license license:gpl3+)))
485
486
(define-public python2-argparse
487
  (package-with-python2 python-argparse))
488
489
(define-public python-unittest2-fix
490
  (package
491
    (inherit python-unittest2)
492
    (version "1.1.0")
493
    (source (origin
494
          (method url-fetch)
495
          (uri (pypi-uri "unittest2" version))
496
          (sha256
497
           (base32
498
        "0y855kmx7a8rnf81d3lh5lyxai1908xjp0laf4glwa4c8472m212"))))
499
    (arguments
500
      `(#:phases
501
    (modify-phases %standard-phases
502
      (add-before 'check 'disable-failures
503
        (lambda _
504
          (substitute* "unittest2/test/test_result.py"
505
        (("testGet") "dontTestGet"))
506
          (substitute* "unittest2/test/test_loader.py"
507
        (("test_loadTestsFromNames__relative_malformed_name") "dontTest")
508
        (("test_loadTestsFromName__relative_malformed_name") "dontTest2")))))))
509
    (propagated-inputs
510
      `(("traceback2" ,python-traceback2)
511
    ("six" ,python-six)
512
    ("argparse" ,python-argparse)))))
513
514
(define-public python2-unittest2-fix
515
  (package-with-python2 python-unittest2-fix))
516
517
(define-public python-funcsigs
518
  (package
519
    (name "python-funcsigs")
520
    (version "1.0.2")
521
    (source (origin
522
          (method url-fetch)
523
          (uri (pypi-uri "funcsigs" version))
524
          (sha256
525
           (base32
526
        "0l4g5818ffyfmfs1a924811azhjj8ax9xd1cffr1mzd3ycn0zfx7"))))
527
    (build-system python-build-system)
528
    (native-inputs
529
      `(("unittest2" ,python-unittest2-fix)))
530
    (home-page "")
531
    (synopsis "")
532
    (description "")
533
    (license license:asl2.0)))
534
535
(define-public python2-funcsigs
536
  (package-with-python2 python-funcsigs))
537
538
(define-public python-ripe-atlas-cousteau
539
  (package
540
    (name "python-ripe-atlas-cousteau")
541
    (version "1.4.1")
542
    (source (origin
543
          (method url-fetch)
544
          (uri (pypi-uri "ripe.atlas.cousteau" version))
545
          (sha256
546
           (base32
547
        "1964qllddqqh1sz9psmmb84ahqdy499vavm9wdn0k2v7q6y0vm0p"))))
548
    (build-system python-build-system)
549
    (propagated-inputs
550
      `(("websocket-client" ,python-websocket-client)
551
        ("socketIO-client" ,python-socketio-client)
552
        ("dateutil" ,python-dateutil)
553
        ("jsonschema" ,python-jsonschema)
554
        ("requests" ,python-requests)))
555
    (native-inputs
556
      `(("mock" ,python-mock)
557
        ("nose" ,python-nose)
558
        ("funcsigs" ,python-funcsigs)
559
        ("coverage" ,python-coverage)))
560
    (home-page "")
561
    (synopsis "")
562
    (description "")
563
    (license license:gpl3+)))
564
565
(define-public python2-ripe-atlas-cousteau
566
  (package-with-python2 python-ripe-atlas-cousteau))
567
568
(define-public python-ripe-atlas-tools
569
  (package
570
    (name "python-ripe-atlas-tools")
571
    (version "2.2.3")
572
    (source (origin
573
              (method url-fetch)
574
              (uri (pypi-uri "ripe.atlas.tools" version))
575
              (sha256
576
               (base32
577
                "1afcf56fyvsxb0i15v43804rqnn0xdp33achds84axnd1rl1375g"))))
578
    (build-system python-build-system)
579
    (propagated-inputs
580
     `(("pyopenssl" ,python-pyopenssl)
581
       ("sagan" ,python-ripe-atlas-sagan)
582
       ("cousteau" ,python-ripe-atlas-cousteau)
583
       ("pyaml" ,python-pyaml)
584
       ("ipy" ,python-ipy)
585
       ("tzlocal" ,python-tzlocal)))
586
    (native-inputs
587
     `(("mock" ,python-mock)
588
       ("coverage" ,python-coverage)))
589
    (arguments
590
      `(#:tests? #f; tests can't load dependencies
591
        #:phases
592
        (modify-phases %standard-phases
593
          (add-before 'check 'update-dependency
594
            (lambda _
595
              ;; Change dependency version to match what we have in guix
596
              (substitute* "setup.py"
597
                (("==1.2") "==1.2.2")
598
                (("==1.4") "==1.4.1"))
599
              #t)))))
600
    (home-page "")
601
    (synopsis "")
602
    (description "")
603
    (license license:gpl3+)))
604
605
(define-public python2-ripe-atlas-tools
606
  (package-with-python2 python-ripe-atlas-tools))
607
608
(define-public python-web.py
609
  (package
610
    (name "python-web.py")
611
    (version "0.40.dev0")
612
    (source (origin
613
              (method url-fetch)
614
              (uri (pypi-uri "web.py" version))
615
              (sha256
616
               (base32
617
                "18v91c4s683r7a797a8k9p56r1avwplbbcb3l6lc746xgj6zlr6l"))))
618
    (build-system python-build-system)
619
    (home-page "http://webpy.org/")
620
    (synopsis "")
621
    (description "")
622
    (license license:public-domain)))
623
624
(define-public python2-web.py
625
  (package-with-python2 python-web.py))
626
627
(define-public python-bitstring
628
  (package
629
    (name "python-bitstring")
630
    (version "3.1.5")
631
    (source (origin
632
              (method url-fetch)
633
              (uri (pypi-uri "bitstring" version ".zip"))
634
              (sha256
635
               (base32
636
                "1algq30j6rz12b1902bpw7iijx5lhrfqhl80d4ac6xzkrrpshqy1"))))
637
    (build-system python-build-system)
638
    (native-inputs
639
     `(("unzip" ,unzip)))
640
    (home-page "https://github.com/scott-griffiths/bitstring")
641
    (synopsis "Simple construction, analysis and modification of binary data")
642
    (description "Bitstring is a pure Python module designed to help make the
643
creation and analysis of binary data as simple and natural as possible.
644
645
Bitstrings can be constructed from integers (big and little endian), hex, octal,
646
binary, strings or files.  They can be sliced, joined, reversed, inserted into,
647
overwritten, etc.  They can also be read from, searched and replaced, and
648
navigated in, similar to a file or stream.")
649
    (license license:expat)))
650
651
(define-public python2-bitstring
652
  (package-with-python2 python-bitstring))
653
654
(define-public python-android-stringslib
655
  (package
656
    (name "python-android-stringslib")
657
    (version "0.1.1")
658
    (source (origin
659
              (method url-fetch)
660
              (uri (pypi-uri "android-stringslib" version))
661
              (sha256
662
               (base32
663
                "00k0nzjvym984805ikq22fzd81cr23j74lhamd50p2vf4yalw76n"))))
664
    (build-system python-build-system)
665
    (arguments
666
     `(#:tests? #f)); no tests
667
    (native-inputs
668
     `(("python-sphinx" ,python-sphinx)))
669
    (home-page "https://framagit.org/tyreunom/python-android-strings-lib")
670
    (synopsis "")
671
    (description "")
672
    (license license:expat)))
673
674
(define-public transmon
675
  (package
676
    (name "transmon")
677
    (version "0.1")
678
    (source (origin
679
              (method url-fetch)
680
              (uri (pypi-uri "transmon" version))
681
              (sha256
682
               (base32
683
                "1l7lxp4xwymyb1wqhycqg33ry6gza4660k12xkja04kmw4aqv0az"))))
684
    (build-system python-build-system)
685
    (arguments
686
     `(#:tests? #f)); no tests
687
    (propagated-inputs
688
     `(("python-android-stringslib" ,python-android-stringslib)
689
       ("python-polib" ,python-polib)
690
       ("python-pygit2" ,python-pygit2)))
691
    (home-page "https://framagit.org/tyreunom/transmon")
692
    (synopsis "")
693
    (description "")
694
    (license license:agpl3+)))
695
696
(define-public python-pyenchant
697
  (package
698
    (name "python-pyenchant")
699
    (version "2.0.0")
700
    (source (origin
701
              (method url-fetch)
702
              (uri (pypi-uri "pyenchant" version))
703
              (sha256
704
               (base32
705
                "1872ckgdip8nj9rnh167m0gsj5754qfg2hjxzsl1s06f5akwscgw"))))
706
    (build-system python-build-system)
707
    (arguments
708
     `(#:tests? #f; FIXME: Dictionary for language 'en_US' could not be found
709
       #:phases
710
       (modify-phases %standard-phases
711
         (add-before 'build 'setenv
712
           (lambda* (#:key inputs #:allow-other-keys)
713
             (setenv "PYENCHANT_LIBRARY_PATH"
714
                     (string-append (assoc-ref inputs "enchant") "/lib/libenchant.so")))))))
715
    (inputs
716
     `(("enchant" ,enchant)
717
       ("hunspell" ,hunspell)))
718
    (native-inputs
719
     `(("hunspell-dict-en-us" ,hunspell-dict-en-us)))
720
    (home-page "")
721
    (synopsis "")
722
    (description "")
723
    (license license:lgpl2.1+)))
724
725
(define-public offlate
726
  (package
727
    (name "offlate")
728
    (version "0.1")
729
    (source (origin
730
              (method git-fetch)
731
              (uri (git-reference
732
                     (url "https://framagit.org/tyreunom/offlate")
733
                     (commit "ed8579552331ecdf5975c4bcbbf1f17651282b30")))
734
              (sha256
735
               (base32
736
                "0hisx9x5a15yk3y18ra4mvca5iv7rcsnijcaly4z3aqc56bg1rm0"))))
737
    ;(source (origin
738
    ;          (method url-fetch)
739
    ;          (uri (pypi-uri "offlate" version))
740
    ;          (sha256
741
    ;           (base32
742
    ;            "1872ckgdip8nj9rnh167m0gsj5754qfg2hjxzsl1s06f5akwscgw"))))
743
    (build-system python-build-system)
744
    (arguments
745
     `(#:tests? #f
746
       #:phases
747
       (modify-phases %standard-phases
748
         (add-before 'build 'fix-setup
749
           (lambda _
750
             (substitute* "setup.py"
751
               (("config', \\['d") "offlate', ['offlate/d"))
752
             #t)))))
753
    (propagated-inputs
754
     `(("python-android-stringslib" ,python-android-stringslib)
755
       ("python-dateutil" ,python-dateutil)
756
       ("python-pyenchant" ,python-pyenchant)))
757
    (home-page "https://framagit.org/tyreunom/offlate")
758
    (synopsis "")
759
    (description "")
760
    (license license:gpl3+)))
761