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 audio)
23
  #:use-module (gnu packages compression)
24
  #:use-module (gnu packages databases)
25
  #:use-module (gnu packages maths)
26
  #:use-module (gnu packages networking)
27
  #:use-module (gnu packages python)
28
  #:use-module (gnu packages tls)
29
  #:use-module (guix packages)
30
  #:use-module (guix download)
31
  #:use-module (guix git-download)
32
  #:use-module (guix utils)
33
  #:use-module (guix build-system python))
34
35
(define-public python-cooldict
36
  (package
37
    (name "python-cooldict")
38
    (version "1.02")
39
    (source (origin
40
              (method url-fetch)
41
              (uri (pypi-uri "cooldict" version))
42
              (sha256
43
               (base32
44
                "084if0s504576nph0f6glmg3mmvijq7nbnf65hh22gwwdwrjss83"))))
45
    (build-system python-build-system)
46
    (native-inputs
47
     `(("ana" ,python-ana)))
48
    (home-page "https://github.com/zardus/cooldict")
49
    (synopsis "Some useful dict-like structures")
50
    (description "Some useful dict-like structures.")
51
    (license license:bsd-2)))
52
53
(define-public python2-cooldict
54
  (package-with-python2 python-cooldict))
55
 
56
(define-public python-cachetools
57
  (package
58
    (name "python-cachetools")
59
    (version "2.0.0")
60
    (source (origin
61
              (method url-fetch)
62
              (uri (pypi-uri "cachetools" version))
63
              (sha256
64
               (base32
65
                "0a56ydsvsri1r19ny55g0x7jsgjl9n02vnxbhfz0vhhd4h174nki"))))
66
    (build-system python-build-system)
67
    (home-page "https://github.com/tkem/cachetools")
68
    (synopsis "Memoizing collections and decorators including lru_cache")
69
    (description "This module provides various memoizing collections and
70
decorators, including variants of the Python 3 Standard Library @code{lru_cache}
71
function decorator.")
72
    (license license:expat)))
73
74
(define-public python2-cachetools
75
  (package-with-python2 python-cachetools))
76
77
(define-public python-bintrees
78
  (package
79
    (name "python-bintrees")
80
    (version "2.0.7")
81
    (source (origin
82
              (method url-fetch)
83
              (uri (pypi-uri "bintrees" version ".zip"))
84
              (sha256
85
               (base32
86
                "0w0js514awl9qwamcr71spi8mmv7q3n4mgrqrnmr9w6f09k5wrv0"))))
87
    (build-system python-build-system)
88
    (native-inputs `(("unzip" ,unzip)))
89
    (home-page "https://github.com/mozman/bintrees")
90
    (synopsis "Provides Binary- RedBlack- and AVL-Trees written in Python and Cython/C")
91
    (description "This package provides Binary- RedBlack- and AVL-Trees written
92
in Python and Cython/C.
93
94
This Classes are much slower than the built-in dict class, but all
95
iterators/generators yielding data in sorted key order. Trees can be uses as
96
drop in replacement for dicts in most cases.")
97
    (license license:expat)))
98
99
(define-public python2-bintrees
100
  (package-with-python2 python-bintrees))
101
 
102
(define-public python2-dpkt
103
  (package
104
    (name "python2-dpkt")
105
    (version "1.9.1")
106
    (source (origin
107
              (method url-fetch)
108
              (uri (pypi-uri "dpkt" version))
109
              (sha256
110
               (base32
111
                "0rr9ygczhxkfb61778jx0cxs0sq46zwlcj5l3wn6xmd3iy3yx9y6"))
112
              (modules '((guix build utils)))
113
              (snippet
114
               '(substitute* "setup.py"
115
                  (("os.system\\('py2dsc-deb ' + sdist_file\\)") "")))))
116
    (build-system python-build-system)
117
    (arguments
118
     `(#:python ,python-2))
119
    (home-page "https://github.com/kbandla/dpkt")
120
    (synopsis "Fast, simple network packet creation / parsing")
121
    (description "Fast, simple packet creation / parsing, with definitions for
122
the basic TCP/IP protocols.")
123
    (license license:bsd-3)))
124
125
(define-public python2-rpyc
126
  (package
127
    (name "python2-rpyc")
128
    (version "3.3.0")
129
    (source (origin
130
              (method url-fetch)
131
              (uri (pypi-uri "rpyc" version))
132
              (sha256
133
               (base32
134
                "0jwbxxf5f8l05pwh7ilg380y4pqv3nxibaszbwpl9gzh2i9q9yj3"))))
135
    (build-system python-build-system)
136
    (native-inputs
137
     `(("nose" ,python2-nose)))
138
    (propagated-inputs
139
     `(("plumbum" ,python2-plumbum)
140
       ("progressbar" ,python2-progressbar)))
141
    (arguments
142
     `(#:python ,python-2))
143
    (home-page "https://github.com/tomerfiliba/rpyc")
144
    (synopsis "Remote procedure call for Python")
145
    (description "Remote Python Call is a transparent library for symmetrical
146
remote procedure calls, clustering, and distributed-computing.  RPyC makes use
147
of object-proxying, a technique that employs python's dynamic nature, to
148
overcome the physical boundaries between processes and computers, so that
149
remote objects can be manipulated as if they were local.")
150
    (license license:expat)))
151
152
(define-public python2-progressbar
153
  (package
154
    (name "python2-progressbar")
155
    (version "2.3")
156
    (source (origin
157
              (method url-fetch)
158
              (uri (pypi-uri "progressbar" version))
159
              (sha256
160
               (base32
161
                "0m0j93yfvbd8pw8cz2vdb9hyk9d0zkkd509k69jrw545jxr8mlxj"))))
162
    (build-system python-build-system)
163
    (arguments
164
     `(#:python ,python-2))
165
    (home-page "https://github.com/niltonvolpato/python-progressbar")
166
    (synopsis "Text progress bar library for Python")
167
    (description
168
      "A text progress bar is typically used to display the progress of a long
169
running operation, providing a visual cue that processing is underway.
170
171
The ProgressBar class manages the current progress, and the format of the line
172
is given by a number of widgets. A widget is an object that may display
173
differently depending on the state of the progress bar. There are three types
174
of widgets:
175
176
@enumerate
177
@item a string, which always shows itself
178
@item a ProgressBarWidget, which may return a different value every time its
179
update method is called
180
@item a ProgressBarWidgetHFill, which is like ProgressBarWidget, except it
181
expands to fill the remaining width of the line.
182
@end enumerate
183
184
The progressbar module is very easy to use, yet very powerful. It will also
185
automatically enable features like auto-resizing when the system supports it.")
186
    (license (list license:lgpl2.1+ license:bsd-3))))
187
188
(define-public python-progressbar2
189
  (package
190
    (name "python-progressbar2")
191
    (version "3.20.0")
192
    (source (origin
193
              (method url-fetch)
194
              (uri (pypi-uri "progressbar2" version))
195
              (sha256
196
               (base32
197
                "1xz5l3598bl2r1j8h6dqljbjf44f2d137ppi0l381adz4zd38vd1"))))
198
    (build-system python-build-system)
199
    (native-inputs
200
     `(("pytest-runner" ,python-pytest-runner)
201
       ("pytest" ,python-pytest)))
202
    (propagated-inputs
203
     `(("six" ,python-six)
204
       ("utils" ,python-utils)))
205
    (home-page "https://github.com/WoLpH/python-progressbar")
206
    (synopsis "A text progress bar for python")
207
    (description "A text progress bar is typically used to display the progress
208
of a long running operation, providing a visual cue that processing is underway.
209
210
The ProgressBar class manages the current progress, and the format of the line
211
is given by a number of widgets.  A widget is an object that may display
212
differently depending on the state of the progress bar.")
213
    (license license:bsd-2)))
214
215
(define-public python2-progressbar2
216
  (package-with-python2 python-progressbar2))
217
 
218
(define-public python-mulpyplexer
219
  (package
220
    (name "python-mulpyplexer")
221
    (version "0.07")
222
    (source (origin
223
              (method url-fetch)
224
              (uri (pypi-uri "mulpyplexer" version))
225
              (sha256
226
               (base32
227
                "1j5gm913adc8f0mn9y6a9wm9h78jb7ykr8i00yysfcy6ah2ilp9v"))))
228
    (build-system python-build-system)
229
    (home-page "https://github.com/zardus/mulpyplexer")
230
    (synopsis "Multiplex interactions with lists of python objects")
231
    (description "Mulpyplexer is a piece of code that can multiplex interactions with lists of python objects.")
232
    (license license:bsd-2)))
233
234
(define-public python2-mulpyplexer
235
  (package-with-python2 python-mulpyplexer))
236
237
(define-public python-ana
238
  (package
239
    (name "python-ana")
240
    (version "0")
241
    (source (origin
242
              (method git-fetch)
243
              (uri (git-reference
244
                    (url "https://github.com/zardus/ana.git")
245
                    (commit "94928f773661eaa5a6c2dec40dad199c70daedab")))
246
              (sha256
247
               (base32
248
                "0f2wdhs0xwpnk9lznxl96b2yzcz1641wbqrh1aid7q2pm60v6dhv"))
249
              (file-name (string-append name "-" version))))
250
    (build-system python-build-system)
251
    (native-inputs
252
     `(("nose" ,python-nose)))
253
    (arguments
254
     `(#:phases
255
       (modify-phases %standard-phases
256
         (add-before 'build 'fix-python3-import
257
           (lambda _
258
             (substitute* "ana/datalayer.py"
259
               (("import cPickle as pickle") "import pickle")))))))
260
    (home-page "https://github.com/zardus/ana")
261
    (synopsis "Provide easy distributed data storage for python objects")
262
    (description "ANA is a project to provide easy distributed data storage for
263
stuff.  It provides every object with a UUID and, when pickled, will first
264
serialize the object's state to a central location and then \"pickle\" the
265
object into just its UUID.  This is really handy when you have to distribute
266
objects in some distributed system, and you'd rather not pickle the whole
267
object every time you need to send it.")
268
    (license license:bsd-2)))
269
270
(define-public python2-ana
271
  (package
272
    (inherit (package-with-python2 python-ana))
273
    (arguments
274
     `(#:python ,python-2))))
275
276
(define-public python-plumbum
277
  (package
278
    (name "python-plumbum")
279
    (version "1.6.3")
280
    (source
281
     (origin
282
       (method url-fetch)
283
       (uri (pypi-uri "plumbum" version))
284
       (sha256
285
        (base32 "083kikr1f7qzpp5jllss97dy8d6249v7ia3wg9i0a6wz8l4ffj82"))))
286
    (build-system python-build-system)
287
    (native-inputs
288
     `(("pytest" ,python-pytest)))
289
    (home-page "https://plumbum.readthedocs.io/en/latest")
290
    (synopsis "Shell script-like programs in Python")
291
    (description
292
      "Plumbum (Latin for lead, which was used to create pipes back in the day)
293
is a small yet feature-rich library for shell script-like programs in Python.
294
The motto of the library is “Never write shell scripts again”, and thus it
295
attempts to mimic the shell syntax (“shell combinators”) where it makes sense,
296
while keeping it all Pythonic and cross-platform.")
297
    (license license:expat)))
298
299
(define-public python2-plumbum
300
  (package-with-python2 python-plumbum))
301
302
(define-public python-trollius
303
  (package
304
    (name "python-trollius")
305
    (version "2.1")
306
    (source (origin
307
              (method url-fetch)
308
              (uri (pypi-uri "trollius" version))
309
              (sha256
310
               (base32
311
                "146c60hgcmgjkbf2hmiag52f9i3hka6shwbfybdsmlvqjnfms5nd"))))
312
    (build-system python-build-system)
313
    (home-page "https://github.com/haypo/trollius")
314
    (propagated-inputs
315
     `(("mock" ,python-mock)
316
       ("six" ,python-six)))
317
    (arguments
318
     `(#:tests? #f))
319
    (synopsis "")
320
    (description "")
321
    (license license:asl2.0)))
322
323
(define-public python2-trollius
324
  (package-with-python2 python-trollius))
325
326
(define-public python-neovim
327
  (package
328
    (name "python-neovim")
329
    (version "0.1.13")
330
    (source (origin
331
              (method url-fetch)
332
              (uri (pypi-uri "neovim" version))
333
              (sha256
334
               (base32
335
                "0pzk5639jjjx46a6arkwy31falmk5w1061icbml8njm3rbrwwhgx"))))
336
    (build-system python-build-system)
337
    (propagated-inputs
338
     `(("python-greenlet" ,python-greenlet)
339
       ("python-msgpack" ,python-msgpack)))
340
    (arguments
341
     `(#:tests? #f))
342
    (home-page "https://github.com/neovim/python-client")
343
    (synopsis "")
344
    (description "")
345
    (license license:asl2.0)))
346
347
(define-public python2-neovim
348
  (let ((parent (package-with-python2 python-neovim)))
349
    (package
350
      (inherit parent)
351
      (propagated-inputs
352
       `(("trollius" ,python2-trollius)
353
         ,@(package-propagated-inputs parent))))))
354
355
(define-public python-cymruwhois
356
  (package
357
    (name "python-cymruwhois")
358
    (version "1.6")
359
    (source (origin
360
	      (method url-fetch)
361
	      (uri (pypi-uri "cymruwhois" version))
362
	      (sha256
363
	       (base32
364
		"0m7jgpglkjd0lsyw64lfw6qxdm0fg0f54145f79kq4rk1vjqbh5n"))))
365
    (build-system python-build-system)
366
    (native-inputs
367
     `(("python-nose" ,python-nose)))
368
    (home-page "")
369
    (synopsis "")
370
    (description "")
371
    (license license:expat)))
372
373
(define-public python2-cymruwhois
374
  (package-with-python2 python-cymruwhois))
375
376
(define-public python-ripe-atlas-sagan
377
  (package
378
    (name "python-ripe-atlas-sagan")
379
    (version "1.2.1")
380
    (source (origin
381
	      (method url-fetch)
382
	      (uri (pypi-uri "ripe.atlas.sagan" version))
383
	      (sha256
384
	       (base32
385
		"0mc5f50jj61q5z92765gnqhifila2bdngaybzrh6hycz1x6lz0ra"))))
386
    (build-system python-build-system)
387
    (propagated-inputs
388
     `(("cryptography" ,python-cryptography)
389
       ("dateutil" ,python-dateutil)
390
       ("python-nose" ,python-nose)
391
       ("pytz" ,python-pytz)))
392
    (home-page "")
393
    (synopsis "")
394
    (description "")
395
    (license license:gpl3+)))
396
397
(define-public python2-ripe-atlas-sagan
398
  (package-with-python2 python-ripe-atlas-sagan))
399
400
(define-public python-socketio-client
401
  (package
402
    (name "python-socketio-client")
403
    (version "0.7.2")
404
    (source (origin
405
	      (method url-fetch)
406
	      (uri (pypi-uri "socketIO-client" version))
407
	      (sha256
408
	       (base32
409
		"1hfjfhyxgql1ndda1bagg8niy8m28byd2r0yq4l7zycwlzxq9kb4"))))
410
    (build-system python-build-system)
411
    (propagated-inputs
412
      `(("websocket-client" ,python-websocket-client)
413
        ("requests" ,python-requests)))
414
    (native-inputs
415
      `(("coverage" ,python-coverage)
416
	("nose" ,python-nose)))
417
    (arguments '(#:tests? #f)); requires network
418
    (home-page "")
419
    (synopsis "")
420
    (description "")
421
    (license license:gpl3+)))
422
423
(define-public python2-socketio-client
424
  (package-with-python2 python-socketio-client))
425
426
(define-public python-linecache2
427
  (package
428
    (name "python-linecache2")
429
    (version "1.0.0")
430
    (source (origin
431
	      (method url-fetch)
432
	      (uri (pypi-uri "linecache2" version))
433
	      (sha256
434
	       (base32
435
		"0z79g3ds5wk2lvnqw0y2jpakjf32h95bd9zmnvp7dnqhf57gy9jb"))))
436
    (build-system python-build-system)
437
    (arguments '(#:tests? #f)); circular dependency with unittest2
438
    (propagated-inputs
439
      `(("pbr" ,python-pbr)))
440
    (home-page "")
441
    (synopsis "")
442
    (description "")
443
    (license license:gpl3+)))
444
445
(define-public python2-linecache2
446
  (package-with-python2 python-linecache2))
447
448
(define-public python-traceback2
449
  (package
450
    (name "python-traceback2")
451
    (version "1.4.0")
452
    (source (origin
453
	      (method url-fetch)
454
	      (uri (pypi-uri "traceback2" version))
455
	      (sha256
456
	       (base32
457
		"0c1h3jas1jp1fdbn9z2mrgn3jj0hw1x3yhnkxp7jw34q15xcdb05"))))
458
    (build-system python-build-system)
459
    (arguments '(#:tests? #f)); circular dependency with unittest2
460
    (propagated-inputs
461
      `(("linecache2" ,python-linecache2)
462
        ("pbr" ,python-pbr)))
463
    (home-page "")
464
    (synopsis "")
465
    (description "")
466
    (license license:gpl3+)))
467
468
(define-public python2-traceback2
469
  (package-with-python2 python-traceback2))
470
471
(define-public python-argparse
472
  (package
473
    (name "python-argparse")
474
    (version "1.4.0")
475
    (source (origin
476
	      (method url-fetch)
477
	      (uri (pypi-uri "argparse" version))
478
	      (sha256
479
	       (base32
480
		"1r6nznp64j68ih1k537wms7h57nvppq0szmwsaf99n71bfjqkc32"))))
481
    (build-system python-build-system)
482
    (home-page "")
483
    (synopsis "")
484
    (description "")
485
    (license license:gpl3+)))
486
487
(define-public python2-argparse
488
  (package-with-python2 python-argparse))
489
490
(define-public python-unittest2-fix
491
  (package
492
    (inherit python-unittest2)
493
    (version "1.1.0")
494
    (source (origin
495
	      (method url-fetch)
496
	      (uri (pypi-uri "unittest2" version))
497
	      (sha256
498
	       (base32
499
		"0y855kmx7a8rnf81d3lh5lyxai1908xjp0laf4glwa4c8472m212"))))
500
    (arguments
501
      `(#:phases
502
	(modify-phases %standard-phases
503
	  (add-before 'check 'disable-failures
504
	    (lambda _
505
	      (substitute* "unittest2/test/test_result.py"
506
		(("testGet") "dontTestGet"))
507
	      (substitute* "unittest2/test/test_loader.py"
508
		(("test_loadTestsFromNames__relative_malformed_name") "dontTest")
509
		(("test_loadTestsFromName__relative_malformed_name") "dontTest2")))))))
510
    (propagated-inputs
511
      `(("traceback2" ,python-traceback2)
512
	("six" ,python-six)
513
	("argparse" ,python-argparse)))))
514
515
(define-public python2-unittest2-fix
516
  (package-with-python2 python-unittest2-fix))
517
518
(define-public python-funcsigs
519
  (package
520
    (name "python-funcsigs")
521
    (version "1.0.2")
522
    (source (origin
523
	      (method url-fetch)
524
	      (uri (pypi-uri "funcsigs" version))
525
	      (sha256
526
	       (base32
527
		"0l4g5818ffyfmfs1a924811azhjj8ax9xd1cffr1mzd3ycn0zfx7"))))
528
    (build-system python-build-system)
529
    (native-inputs
530
      `(("unittest2" ,python-unittest2-fix)))
531
    (home-page "")
532
    (synopsis "")
533
    (description "")
534
    (license license:asl2.0)))
535
536
(define-public python2-funcsigs
537
  (package-with-python2 python-funcsigs))
538
539
(define-public python-ripe-atlas-cousteau
540
  (package
541
    (name "python-ripe-atlas-cousteau")
542
    (version "1.4")
543
    (source (origin
544
	      (method url-fetch)
545
	      (uri (pypi-uri "ripe.atlas.cousteau" version))
546
	      (sha256
547
	       (base32
548
		"0lhaanxs3hxlw1d0ma6rpx54p91v0kxvmxa82h86r6j5whdckq21"))))
549
    (build-system python-build-system)
550
    (propagated-inputs
551
      `(("websocket-client" ,python-websocket-client)
552
        ("socketIO-client" ,python-socketio-client)
553
        ("dateutil" ,python-dateutil)
554
        ("jsonschema" ,python-jsonschema)
555
        ("requests" ,python-requests)))
556
    (native-inputs
557
      `(("mock" ,python-mock)
558
        ("nose" ,python-nose)
559
        ("funcsigs" ,python-funcsigs)
560
        ("coverage" ,python-coverage)))
561
    (home-page "")
562
    (synopsis "")
563
    (description "")
564
    (license license:gpl3+)))
565
566
(define-public python2-ripe-atlas-cousteau
567
  (package-with-python2 python-ripe-atlas-cousteau))
568
569
(define-public python-ripe-atlas-tools
570
  (package
571
    (name "python-ripe-atlas-tools")
572
    (version "2.1")
573
    (source (origin
574
	      (method url-fetch)
575
	      (uri (pypi-uri "ripe.atlas.tools" version))
576
	      (sha256
577
	       (base32
578
		"07h9cjxxp0dx4p32dhf5j3cciiap7sc32hb1byljkll5lv4vm9l5"))))
579
    (build-system python-build-system)
580
    (propagated-inputs
581
     `(("pyopenssl" ,python-pyopenssl)
582
       ("sagan" ,python-ripe-atlas-sagan)
583
       ("cousteau" ,python-ripe-atlas-cousteau)
584
       ("pyaml" ,python-pyaml)
585
       ("ipy" ,python-ipy)
586
       ("tzlocal" ,python-tzlocal)))
587
    (native-inputs
588
     `(("mock" ,python-mock)
589
       ("coverage" ,python-coverage)))
590
    (arguments
591
      `(#:tests? #f; tests can't load dependencies
592
	#:phases
593
	(modify-phases %standard-phases
594
	  (add-before 'check 'update-dependency
595
	    (lambda _
596
	      (substitute* "setup.py"
597
		(("==1.2") "==1.2.1")))))))
598
    (home-page "")
599
    (synopsis "")
600
    (description "")
601
    (license license:gpl3+)))
602
603
(define-public python2-ripe-atlas-tools
604
  (package-with-python2 python-ripe-atlas-tools))
605
606
(define-public python-pyaudio
607
  (package
608
    (name "python-pyaudio")
609
    (version "0.2.11")
610
    (source (origin
611
              (method url-fetch)
612
              (uri (pypi-uri "PyAudio" version))
613
              (sha256
614
               (base32
615
                "0x7vdsigm7xgvyg3shd3lj113m8zqj2pxmrgdyj66kmnw0qdxgwk"))))
616
    (build-system python-build-system)
617
    (inputs
618
     `(("portaudio" ,portaudio)))
619
    (home-page "https://people.csail.mit.edu/hubert/pyaudio/")
620
    (synopsis "")
621
    (description "")
622
    (license license:asl2.0)))
623
624
(define-public bitshuffle
625
  (package
626
    (name "bitshuffle")
627
    (version "0.3.2")
628
    (source (origin
629
              (method url-fetch)
630
              (uri (string-append "https://github.com/kiyo-masui/bitshuffle/archive/"
631
                                  version ".tar.gz"))
632
              (sha256
633
               (base32
634
                "1r3jar8vsqar9ikw6jsdbydngh85miqdlkv3n9ywc9ngzlr7dff0"))))
635
    (build-system python-build-system)
636
    (arguments
637
     `(#:tests? #f
638
       #:phases
639
       (modify-phases %standard-phases
640
         (add-before 'check 'make-required-dir
641
           (lambda _
642
             (mkdir-p "bitshuffle/plugin"))))))
643
    (inputs
644
     `(("numpy" ,python-numpy)
645
       ("h5py" ,python-h5py)
646
       ("hdf5" ,hdf5)))
647
    (native-inputs
648
     `(("cython" ,python-cython)))
649
    (home-page "https://github.com/kiyo-masui/bitshuffle")
650
    (synopsis "")
651
    (description "")
652
    (license license:expat)))
653