-
Notifications
You must be signed in to change notification settings - Fork 2
/
Copy pathrelease_notes.html
965 lines (952 loc) · 84.6 KB
/
release_notes.html
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
<!DOCTYPE html>
<html lang="en" data-content_root="./">
<head>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="generator" content="Docutils 0.18.1: http://docutils.sourceforge.net/" />
<title>Release Notes — SpacePy v0.7.0 Manual</title>
<link rel="stylesheet" type="text/css" href="_static/pygments.css?v=b76e3c8a" />
<link rel="stylesheet" type="text/css" href="_static/sphinxdoc.css?v=92e3d466" />
<link rel="stylesheet" type="text/css" href="_static/graphviz.css?v=fd3f3429" />
<link rel="stylesheet" type="text/css" href="_static/plot_directive.css" />
<script src="_static/documentation_options.js?v=fe7df9b0"></script>
<script src="_static/doctools.js?v=9a2dae69"></script>
<script src="_static/sphinx_highlight.js?v=dc90522c"></script>
<script type="text/javascript" src="_static/copybutton.js"></script>
<link rel="icon" href="_static/spacepy_favicon.ico"/>
<link rel="index" title="Index" href="genindex.html" />
<link rel="search" title="Search" href="search.html" />
<link rel="next" title="SpacePy Case Studies" href="case_studies.html" />
<link rel="prev" title="SpacePy Capabilities" href="capabilities.html" />
</head><body>
<div style="background-color: white; text-align: left; padding: 10px 10px 15px 15px">
<a href="index.html"><img src="_static/spacepy_logo.jpg" border="0" alt="spacepy_logo"/></a>
</div>
<div class="related" role="navigation" aria-label="related navigation">
<h3>Navigation</h3>
<ul>
<li class="right" style="margin-right: 10px">
<a href="genindex.html" title="General Index"
accesskey="I">index</a></li>
<li class="right" >
<a href="py-modindex.html" title="Python Module Index"
>modules</a> |</li>
<li class="right" >
<a href="case_studies.html" title="SpacePy Case Studies"
accesskey="N">next</a> |</li>
<li class="right" >
<a href="capabilities.html" title="SpacePy Capabilities"
accesskey="P">previous</a> |</li>
<li><a href="https://spacepy.github.io/"">homepage</a>| </li>
<li><a href="https://github.com/spacepy/spacepy">development</a>| </li>
<li><a href="search.html">search</a>| </li>
<li><a href="index.html">documentation </a> »</li>
<li class="nav-item nav-item-this"><a href="">Release Notes</a></li>
</ul>
</div>
<div class="document">
<div class="documentwrapper">
<div class="bodywrapper">
<div class="body" role="main">
<section id="release-notes">
<h1>Release Notes<a class="headerlink" href="#release-notes" title="Link to this heading">¶</a></h1>
<p>This document presents user-visible changes in each release of SpacePy.</p>
<nav class="contents local" id="contents">
<ul class="simple">
<li><p><a class="reference internal" href="#series" id="id61">0.7 Series</a></p>
<ul>
<li><p><a class="reference internal" href="#id1" id="id62">0.7.0 (2024-11-08)</a></p></li>
</ul>
</li>
<li><p><a class="reference internal" href="#id2" id="id63">0.6 Series</a></p>
<ul>
<li><p><a class="reference internal" href="#id3" id="id64">0.6.0 (2024-04-25)</a></p></li>
</ul>
</li>
<li><p><a class="reference internal" href="#id5" id="id65">0.5 Series</a></p>
<ul>
<li><p><a class="reference internal" href="#id6" id="id66">0.5.0 (2024-03-11)</a></p></li>
</ul>
</li>
<li><p><a class="reference internal" href="#id12" id="id67">0.4 Series</a></p>
<ul>
<li><p><a class="reference internal" href="#id13" id="id68">0.4.1 (2022-09-15)</a></p></li>
<li><p><a class="reference internal" href="#id15" id="id69">0.4.0 (2022-09-07)</a></p></li>
</ul>
</li>
<li><p><a class="reference internal" href="#id21" id="id70">0.3 Series</a></p>
<ul>
<li><p><a class="reference internal" href="#id22" id="id71">0.3.0 (2022-04-27)</a></p></li>
</ul>
</li>
<li><p><a class="reference internal" href="#id27" id="id72">0.2 Series</a></p>
<ul>
<li><p><a class="reference internal" href="#id28" id="id73">0.2.3 (2021-10-30)</a></p></li>
<li><p><a class="reference internal" href="#id35" id="id74">0.2.2 (2020-12-29)</a></p></li>
<li><p><a class="reference internal" href="#id41" id="id75">0.2.1 (2019-10-02)</a></p></li>
<li><p><a class="reference internal" href="#id47" id="id76">0.2.0 (2019-06-22)</a></p></li>
</ul>
</li>
<li><p><a class="reference internal" href="#id53" id="id77">0.1 Series</a></p>
<ul>
<li><p><a class="reference internal" href="#id54" id="id78">0.1.6 (2016-09-08)</a></p></li>
<li><p><a class="reference internal" href="#id55" id="id79">0.1.5 (2014-12-23)</a></p></li>
<li><p><a class="reference internal" href="#id56" id="id80">0.1.4 (2013-05-21)</a></p></li>
<li><p><a class="reference internal" href="#id57" id="id81">0.1.3 (2012-06-22)</a></p></li>
<li><p><a class="reference internal" href="#id58" id="id82">0.1.2 (2012-05-25)</a></p></li>
<li><p><a class="reference internal" href="#id59" id="id83">0.1.1 (2011-10-31)</a></p></li>
<li><p><a class="reference internal" href="#id60" id="id84">0.1 (2011-08-24)</a></p></li>
</ul>
</li>
</ul>
</nav>
<section id="series">
<h2><a class="toc-backref" href="#id61" role="doc-backlink">0.7 Series</a><a class="headerlink" href="#series" title="Link to this heading">¶</a></h2>
<section id="id1">
<h3><a class="toc-backref" href="#id62" role="doc-backlink">0.7.0 (2024-11-08)</a><a class="headerlink" href="#id1" title="Link to this heading">¶</a></h3>
<p>Binary wheels are now provided for Linux on 64-bit ARM, intended for
Raspberry Pi. Installing <a class="reference internal" href="install_linux.html#linux-dep-apt"><span class="std std-ref">dependencies from system packages</span></a> is recommended.</p>
<section id="new-features">
<h4>New features<a class="headerlink" href="#new-features" title="Link to this heading">¶</a></h4>
<p><a class="reference internal" href="autosummary/spacepy.html#spacepy.help" title="spacepy.help"><code class="xref py py-obj docutils literal notranslate"><span class="pre">help</span></code></a> now supports searching the documentation.</p>
</section>
<section id="dependency-requirements">
<h4>Dependency requirements<a class="headerlink" href="#dependency-requirements" title="Link to this heading">¶</a></h4>
<p>Numpy 2.0 is now fully supported. Several deprecations and errors
using 2.0 were fixed.</p>
<p>Numpy and f2py are no longer required to build SpacePy. This change
will not be noticable to most users. Binary wheels are no longer tied
to numpy or Python version. SpacePy will now build on numpy 1.26 and
later on Python 3.12. Numpy is still required to run SpacePy.</p>
<p>Sphinx 4.0 is now required to build the documentation; this is not
a concern for most users.</p>
<p>Support for Python 3.6 has been removed due to inability to
test. Python 3.7 is the oldest supported Python; as a result, Astropy
2.0 is the oldest supported Astropy (if using Astropy).</p>
</section>
<section id="deprecations-and-removals">
<h4>Deprecations and removals<a class="headerlink" href="#deprecations-and-removals" title="Link to this heading">¶</a></h4>
<p><a class="reference internal" href="autosummary/spacepy.toolbox.html#spacepy.toolbox.timeout_check_call" title="spacepy.toolbox.timeout_check_call"><code class="xref py py-obj docutils literal notranslate"><span class="pre">timeout_check_call</span></code></a> is deprecated as redundant to using
<a class="reference external" href="https://docs.python.org/3/library/subprocess.html#subprocess.check_call" title="(in Python v3.13)"><code class="xref py py-obj docutils literal notranslate"><span class="pre">subprocess.check_call</span></code></a> with the <code class="docutils literal notranslate"><span class="pre">timeout</span></code> argument.</p>
<p>The <code class="docutils literal notranslate"><span class="pre">spacepy.irbempy.irbempylib</span></code> module has been removed. This was
the old internal interface to the IRBEM library and was not intended
for public use.</p>
<p>The <code class="docutils literal notranslate"><span class="pre">data_assimilation</span></code>, <code class="docutils literal notranslate"><span class="pre">radbelt</span></code>, and <code class="docutils literal notranslate"><span class="pre">spacepy_EnKF</span></code> modules
have been moved to the “sandbox”. These modules were undertested and
minimally documented. They may be restored in the future with
appropriate testing and docs.</p>
</section>
<section id="major-bugfixes">
<h4>Major bugfixes<a class="headerlink" href="#major-bugfixes" title="Link to this heading">¶</a></h4>
<p><a class="reference internal" href="autosummary/spacepy.irbempy.html#spacepy.irbempy.find_Bmirror" title="spacepy.irbempy.find_Bmirror"><code class="xref py py-obj docutils literal notranslate"><span class="pre">find_Bmirror</span></code></a> now correctly returns one <code class="docutils literal notranslate"><span class="pre">Bmirr</span></code> per input
pitch angle instead of ignoring all but the first.</p>
</section>
<section id="other-changes">
<h4>Other changes<a class="headerlink" href="#other-changes" title="Link to this heading">¶</a></h4>
<p>Operations on <a class="reference internal" href="autosummary/spacepy.datamodel.dmarray.html#spacepy.datamodel.dmarray" title="spacepy.datamodel.dmarray"><code class="xref py py-obj docutils literal notranslate"><span class="pre">dmarray</span></code></a> which return a scalar value
will now return a numpy <a class="reference external" href="https://numpy.org/doc/stable/glossary.html#term-array-scalar" title="(in NumPy v2.1)"><span class="xref std std-term">array scalar</span></a> rather than the base
Python type. This is consistent with the behavior of <a class="reference external" href="https://numpy.org/doc/stable/reference/generated/numpy.ndarray.html#numpy.ndarray" title="(in NumPy v2.1)"><code class="xref py py-obj docutils literal notranslate"><span class="pre">ndarray</span></code></a>.
<a class="reference internal" href="autosummary/spacepy.datamodel.dmarray.html#spacepy.datamodel.dmarray" title="spacepy.datamodel.dmarray"><code class="xref py py-obj docutils literal notranslate"><span class="pre">dmarray</span></code></a> also supports assigning to its <code class="docutils literal notranslate"><span class="pre">dtype</span></code>
and <code class="docutils literal notranslate"><span class="pre">shape</span></code>. Together these changes should make <code class="docutils literal notranslate"><span class="pre">dmarray</span></code> a much
closer drop-in replacement for <a class="reference external" href="https://numpy.org/doc/stable/reference/generated/numpy.ndarray.html#numpy.ndarray" title="(in NumPy v2.1)"><code class="xref py py-obj docutils literal notranslate"><span class="pre">ndarray</span></code></a>; in particular, these
address known issues with conversion to masked arrays and passing to
<a class="reference external" href="https://matplotlib.org/stable/api/_as_gen/matplotlib.pyplot.pcolormesh.html#matplotlib.pyplot.pcolormesh" title="(in Matplotlib v3.9.2)"><code class="xref py py-obj docutils literal notranslate"><span class="pre">pcolormesh</span></code></a>.</p>
<p>Warnings issued by SpacePy are now associated with the line of the
calling code, not with the SpacePy code itself. The
<code class="docutils literal notranslate"><span class="pre">enable_deprecation_warning</span></code> <a class="reference internal" href="configuration.html"><span class="doc">configuration option</span></a>
has been removed and SpacePy does not force display of deprecation
warnings, as warnings issued by SpacePy cannot be distinguished from
other warnings. It is recommended to occasionally run Python code with
the <a class="reference external" href="https://docs.python.org/3/using/cmdline.html#cmdoption-W" title="(in Python v3.13)"><code class="xref std std-option docutils literal notranslate"><span class="pre">-Wd</span></code></a> option to enable deprecation warnings. See
<a class="reference external" href="https://docs.python.org/3/library/warnings.html#module-warnings" title="(in Python v3.13)"><code class="xref py py-mod docutils literal notranslate"><span class="pre">warnings</span></code></a> for more details.</p>
</section>
</section>
</section>
<section id="id2">
<h2><a class="toc-backref" href="#id63" role="doc-backlink">0.6 Series</a><a class="headerlink" href="#id2" title="Link to this heading">¶</a></h2>
<section id="id3">
<h3><a class="toc-backref" href="#id64" role="doc-backlink">0.6.0 (2024-04-25)</a><a class="headerlink" href="#id3" title="Link to this heading">¶</a></h3>
<p>There are no changes to dependencies, minimum versions, or
installation process with this release.</p>
<section id="id4">
<h4>New features<a class="headerlink" href="#id4" title="Link to this heading">¶</a></h4>
<p><a class="reference internal" href="autosummary/spacepy.datamodel.html#module-spacepy.datamodel" title="spacepy.datamodel"><code class="xref py py-obj docutils literal notranslate"><span class="pre">datamodel</span></code></a> supports output to Pandas
(<a class="reference internal" href="autosummary/spacepy.datamodel.ISTPContainer.html#spacepy.datamodel.ISTPContainer.toDataFrame" title="spacepy.datamodel.ISTPContainer.toDataFrame"><code class="xref py py-obj docutils literal notranslate"><span class="pre">toDataFrame</span></code></a>) and input from Pandas
(<a class="reference internal" href="autosummary/spacepy.datamodel.ISTPContainer.html#spacepy.datamodel.ISTPContainer.fromDataFrame" title="spacepy.datamodel.ISTPContainer.fromDataFrame"><code class="xref py py-obj docutils literal notranslate"><span class="pre">fromDataFrame</span></code></a>). This support requires
pandas 0.18.0, which is not installed by default with SpacePy.</p>
<p><a class="reference internal" href="autosummary/spacepy.datamodel.dmarray.html#spacepy.datamodel.dmarray" title="spacepy.datamodel.dmarray"><code class="xref py py-obj docutils literal notranslate"><span class="pre">dmarray</span></code></a> supports output to Astropy Quantities
(<a class="reference internal" href="autosummary/spacepy.datamodel.ISTPArray.html#spacepy.datamodel.ISTPArray.toQuantity" title="spacepy.datamodel.ISTPArray.toQuantity"><code class="xref py py-obj docutils literal notranslate"><span class="pre">toQuantity</span></code></a>) and input from them
(<a class="reference internal" href="autosummary/spacepy.datamodel.ISTPArray.html#spacepy.datamodel.ISTPArray.fromQuantity" title="spacepy.datamodel.ISTPArray.fromQuantity"><code class="xref py py-obj docutils literal notranslate"><span class="pre">fromQuantity</span></code></a>). This support requires Astropy
1.0, which is not installed by default with SpacePy.</p>
<p><a class="reference internal" href="autosummary/spacepy.pybats.ImfInput.html#spacepy.pybats.ImfInput" title="spacepy.pybats.ImfInput"><code class="xref py py-obj docutils literal notranslate"><span class="pre">ImfInput</span></code></a> now has two new methods:
<a class="reference internal" href="autosummary/spacepy.pybats.ImfInput.html#spacepy.pybats.ImfInput.calc_clock" title="spacepy.pybats.ImfInput.calc_clock"><code class="xref py py-meth docutils literal notranslate"><span class="pre">calc_clock()</span></code></a> which, calculates and stores the IMF
clock angle defined as the angle of the interplanetary magnetic field (IMF) in
the GSM Y-Z plane; and <a class="reference internal" href="autosummary/spacepy.pybats.ImfInput.html#spacepy.pybats.ImfInput.calc_epsilon" title="spacepy.pybats.ImfInput.calc_epsilon"><code class="xref py py-meth docutils literal notranslate"><span class="pre">calc_epsilon()</span></code></a>, which calculates
the epsilon parameter, an approximation of power input into the magnetosphere.</p>
</section>
</section>
</section>
<section id="id5">
<h2><a class="toc-backref" href="#id65" role="doc-backlink">0.5 Series</a><a class="headerlink" href="#id5" title="Link to this heading">¶</a></h2>
<section id="id6">
<h3><a class="toc-backref" href="#id66" role="doc-backlink">0.5.0 (2024-03-11)</a><a class="headerlink" href="#id6" title="Link to this heading">¶</a></h3>
<p>This release marks the end of all support for Python 2. SpacePy now
requires Python 3.6 or later. Minimum supported versions for other
dependencies were also increased; see <a class="reference internal" href="#release-0-5-0-deps"><span class="std std-ref">Dependency requirements</span></a> for details.</p>
<p>The SpacePy team now delivers binary wheels for all supported Python
versions (3.6-3.12) for 64-bit Windows, Linux, and Mac. Most users
will not need to build SpacePy; see <a class="reference internal" href="install.html"><span class="doc">Installing SpacePy</span></a> for details.</p>
<p>Due to changes in f2py, SpacePy 0.5.0 will not build on Python 3.12
with numpy 1.26 or later. It will, however, run fine. The SpacePy team
provides binary wheels for Mac and Windows. Users who wish to build
from source on Python 3.12 should first install numpy (which will
likely be built from source):</p>
<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="n">pip</span> <span class="n">install</span> <span class="o">--</span><span class="n">no</span><span class="o">-</span><span class="n">build</span><span class="o">-</span><span class="n">isolation</span> <span class="s2">"numpy<1.26"</span>
<span class="n">pip</span> <span class="n">install</span> <span class="o">--</span><span class="n">no</span><span class="o">-</span><span class="n">build</span><span class="o">-</span><span class="n">isolation</span> <span class="n">spacepy</span>
</pre></div>
</div>
<section id="release-0-5-0-deps">
<span id="id7"></span><h4>Dependency requirements<a class="headerlink" href="#release-0-5-0-deps" title="Link to this heading">¶</a></h4>
<p>Not all dependencies are required for all functionality; see
<a class="reference internal" href="dependencies.html"><span class="doc">SpacePy Dependencies</span></a> for full details, including what functionality is
lost if a dependency is not installed.</p>
<p>The <code class="docutils literal notranslate"><span class="pre">setup.py</span></code> based install process is no longer supported; as such,
<code class="docutils literal notranslate"><span class="pre">pip</span></code> and <code class="docutils literal notranslate"><span class="pre">setuptools</span></code> are now required. <code class="docutils literal notranslate"><span class="pre">wheel</span></code> is required if
building from source. The vast majority of modern Python distributions
already have these requirements.</p>
<p>Installing from <code class="docutils literal notranslate"><span class="pre">pip</span></code> normally installs all necessary dependencies.</p>
<p>The minimum supported version of all dependencies was updated in
SpacePy 0.5.0. Minimum versions are:</p>
<blockquote>
<div><ul class="simple">
<li><p>CPython 3.6</p></li>
<li><p>AstroPy 1.0</p></li>
<li><p>CDF 3.5</p></li>
<li><p>dateutil 2.1</p></li>
<li><p>h5py 2.10</p></li>
<li><p>matplotlib 3.1</p></li>
<li><p>numpy 1.15.1</p></li>
<li><p>scipy 1.0</p></li>
</ul>
</div></blockquote>
<p>The only supported compiler is the GNU gfortran compiler, aka
“gnu95”. Support for the older g77 compiler, as well as the Portland
Group and Intel compilers, has been removed.</p>
</section>
<section id="id8">
<h4>New features<a class="headerlink" href="#id8" title="Link to this heading">¶</a></h4>
<p><a class="reference internal" href="autosummary/spacepy.datamodel.html#spacepy.datamodel.readJSONheadedASCII" title="spacepy.datamodel.readJSONheadedASCII"><code class="xref py py-obj docutils literal notranslate"><span class="pre">readJSONheadedASCII</span></code></a> and <a class="reference internal" href="autosummary/spacepy.datamodel.html#spacepy.datamodel.readJSONMetadata" title="spacepy.datamodel.readJSONMetadata"><code class="xref py py-obj docutils literal notranslate"><span class="pre">readJSONMetadata</span></code></a>
now support reading from gzipped input files; filenames ending with
<code class="docutils literal notranslate"><span class="pre">.gz</span></code> are assumed to be gzipped.</p>
<p><a class="reference internal" href="autosummary/spacepy.datamodel.html#module-spacepy.datamodel" title="spacepy.datamodel"><code class="xref py py-obj docutils literal notranslate"><span class="pre">datamodel</span></code></a> now has explicit support for operations using
ISTP-compliant metadata; see <a class="reference internal" href="autosummary/spacepy.datamodel.dmarray.html#spacepy.datamodel.dmarray" title="spacepy.datamodel.dmarray"><code class="xref py py-obj docutils literal notranslate"><span class="pre">dmarray</span></code></a> and
<a class="reference internal" href="autosummary/spacepy.datamodel.SpaceData.html#spacepy.datamodel.SpaceData" title="spacepy.datamodel.SpaceData"><code class="xref py py-obj docutils literal notranslate"><span class="pre">SpaceData</span></code></a> for details. In particular note the plotting
support with <a class="reference internal" href="autosummary/spacepy.datamodel.ISTPContainer.html#spacepy.datamodel.ISTPContainer.plot" title="spacepy.datamodel.ISTPContainer.plot"><code class="xref py py-obj docutils literal notranslate"><span class="pre">plot</span></code></a>.</p>
<p><a class="reference internal" href="autosummary/spacepy.irbempy.html#module-spacepy.irbempy" title="spacepy.irbempy"><code class="xref py py-obj docutils literal notranslate"><span class="pre">irbempy</span></code></a> now provides an interface to the SHIELDOSE-2 shielding
radiation dose model. This is implemented through the
<a class="reference internal" href="autosummary/spacepy.irbempy.Shieldose2.html#spacepy.irbempy.Shieldose2" title="spacepy.irbempy.Shieldose2"><code class="xref py py-obj docutils literal notranslate"><span class="pre">Shieldose2</span></code></a> class.</p>
<p><a class="reference internal" href="autosummary/spacepy.plot.spectrogram.html#spacepy.plot.spectrogram.simpleSpectrogram" title="spacepy.plot.spectrogram.simpleSpectrogram"><code class="xref py py-obj docutils literal notranslate"><span class="pre">simpleSpectrogram()</span></code></a> supports treating zeros as
valid data on log plots.</p>
<p><a class="reference internal" href="autosummary/spacepy.pycdf.html#module-spacepy.pycdf" title="spacepy.pycdf"><code class="xref py py-mod docutils literal notranslate"><span class="pre">pycdf</span></code></a> <a class="reference internal" href="autosummary/spacepy.pycdf.Library.html#spacepy.pycdf.Library.set_backward" title="spacepy.pycdf.Library.set_backward"><code class="xref py py-meth docutils literal notranslate"><span class="pre">set_backward()</span></code></a> now returns the prior
state of backward compatibility mode.</p>
<p><a class="reference internal" href="autosummary/spacepy.datamodel.html#spacepy.datamodel.toCDF" title="spacepy.datamodel.toCDF"><code class="xref py py-func docutils literal notranslate"><span class="pre">toCDF()</span></code></a> now supports writing backward-compatible CDFs.</p>
<p><a class="reference internal" href="autosummary/spacepy.pybats.ImfInput.html#spacepy.pybats.ImfInput" title="spacepy.pybats.ImfInput"><code class="xref py py-obj docutils literal notranslate"><span class="pre">ImfInput</span></code></a> has been updated with a more flexible
quick-look plot capability. Variable naming has been unified to remove issues
with temperature and density naming.</p>
<p><a class="reference internal" href="autosummary/spacepy.pybats.bats.Bats2d.html#spacepy.pybats.bats.Bats2d" title="spacepy.pybats.bats.Bats2d"><code class="xref py py-obj docutils literal notranslate"><span class="pre">Bats2d</span></code></a> can now calculate parallel and
perpendicular velocities with new <a class="reference internal" href="autosummary/spacepy.pybats.bats.Bats2d.html#spacepy.pybats.bats.Bats2d.calc_uperp" title="spacepy.pybats.bats.Bats2d.calc_uperp"><code class="xref py py-obj docutils literal notranslate"><span class="pre">calc_uperp</span></code></a>
and <a class="reference internal" href="autosummary/spacepy.pybats.bats.Bats2d.html#spacepy.pybats.bats.Bats2d.calc_upar" title="spacepy.pybats.bats.Bats2d.calc_upar"><code class="xref py py-obj docutils literal notranslate"><span class="pre">calc_upar</span></code></a> methods.</p>
<p><a class="reference internal" href="autosummary/spacepy.pybats.bats.Bats2d.html#spacepy.pybats.bats.Bats2d" title="spacepy.pybats.bats.Bats2d"><code class="xref py py-obj docutils literal notranslate"><span class="pre">Bats2d</span></code></a> objects and the class that handles quad tree building
(<a class="reference internal" href="autosummary/spacepy.pybats.qotree.QTree.html#spacepy.pybats.qotree.QTree" title="spacepy.pybats.qotree.QTree"><code class="xref py py-obj docutils literal notranslate"><span class="pre">QTree</span></code></a>) now accepts a keyword argument to set the size
of each block: <code class="docutils literal notranslate"><span class="pre">blocksize</span></code>. Default value is 8.</p>
<p><a class="reference internal" href="autosummary/spacepy.toolbox.html#spacepy.toolbox.dictree" title="spacepy.toolbox.dictree"><code class="xref py py-obj docutils literal notranslate"><span class="pre">dictree</span></code></a> now supports returning the output instead of printing it.</p>
</section>
<section id="id9">
<h4>Deprecations and removals<a class="headerlink" href="#id9" title="Link to this heading">¶</a></h4>
<p>Since plot styles are no longer applied on import, importing
<code class="docutils literal notranslate"><span class="pre">spacepy.plot.apionly</span></code> has no effect and is deprecated.</p>
<p>The new pip-based install method does not support a separate <code class="docutils literal notranslate"><span class="pre">build</span></code>
step so <a class="reference internal" href="autosummary/spacepy_testing.add_build_to_path.html#spacepy_testing.add_build_to_path" title="spacepy_testing.add_build_to_path"><code class="xref py py-obj docutils literal notranslate"><span class="pre">add_build_to_path</span></code></a> is deprecated. Alternatives
include using an <a class="reference external" href="https://pip.pypa.io/en/stable/cli/pip_install/#install-editable" title="(in pip v24.3)"><span class="xref std std-ref">editable install</span></a> or installing
in a custom location using <a class="reference external" href="https://pip.pypa.io/en/stable/cli/pip_install/#install-prefix" title="(in pip v24.3)"><span class="xref std std-ref">--prefix</span></a> and manually editing <span class="target" id="index-0"></span><a class="reference external" href="https://docs.python.org/3/using/cmdline.html#envvar-PYTHONPATH" title="(in Python v3.13)"><code class="xref std std-envvar docutils literal notranslate"><span class="pre">PYTHONPATH</span></code></a>.</p>
<p><a class="reference internal" href="autosummary/spacepy.coordinates.html#module-spacepy.coordinates" title="spacepy.coordinates"><code class="xref py py-mod docutils literal notranslate"><span class="pre">coordinates</span></code></a> no longer warns if a backend (irbem or
SpacePy) is not specified. The default backend is SpacePy, as it has
been since 0.4.0.</p>
<p>In <a class="reference internal" href="autosummary/spacepy.time.html#module-spacepy.time" title="spacepy.time"><code class="xref py py-obj docutils literal notranslate"><span class="pre">time</span></code></a>, the <code class="docutils literal notranslate"><span class="pre">cls</span></code> argument of
<a class="reference internal" href="autosummary/spacepy.time.Ticktock.html#spacepy.time.Ticktock.update_items" title="spacepy.time.Ticktock.update_items"><code class="xref py py-obj docutils literal notranslate"><span class="pre">update_items</span></code></a> has been removed (deprecated in 0.2.2).
The end-user normally does not call this function.</p>
<p>In <a class="reference internal" href="autosummary/spacepy.pybats.bats.html#module-spacepy.pybats.bats" title="spacepy.pybats.bats"><code class="xref py py-obj docutils literal notranslate"><span class="pre">bats</span></code></a>, removed <code class="docutils literal notranslate"><span class="pre">add_b_magsphere_legacy</span></code> and
<code class="docutils literal notranslate"><span class="pre">add_b_magsphere_new</span></code>, which were deprecated in 0.2.0. Use
<a class="reference internal" href="autosummary/spacepy.pybats.bats.Bats2d.html#spacepy.pybats.bats.Bats2d.add_b_magsphere" title="spacepy.pybats.bats.Bats2d.add_b_magsphere"><code class="xref py py-meth docutils literal notranslate"><span class="pre">add_b_magsphere()</span></code></a> (which is the same as
<code class="docutils literal notranslate"><span class="pre">add_b_magsphere_new</span></code>).</p>
</section>
<section id="id10">
<h4>Major bugfixes<a class="headerlink" href="#id10" title="Link to this heading">¶</a></h4>
<p><a class="reference internal" href="autosummary/spacepy.datamodel.html#spacepy.datamodel.toCDF" title="spacepy.datamodel.toCDF"><code class="xref py py-func docutils literal notranslate"><span class="pre">toCDF()</span></code></a> handling of time types other than TT2000 has
been fixed.</p>
</section>
<section id="id11">
<h4>Other changes<a class="headerlink" href="#id11" title="Link to this heading">¶</a></h4>
<p><a class="reference internal" href="autosummary/spacepy.pybats.IdlFile.html#spacepy.pybats.IdlFile" title="spacepy.pybats.IdlFile"><code class="xref py py-obj docutils literal notranslate"><span class="pre">IdlFile</span></code></a> no longer sorts unstructured data from binary files; see
that documentation for details. Thanks Lutz Rastaetter.</p>
<p><a class="reference internal" href="autosummary/spacepy.datamodel.html#spacepy.datamodel.toCDF" title="spacepy.datamodel.toCDF"><code class="xref py py-func docutils literal notranslate"><span class="pre">toCDF()</span></code></a> now only accepts valid keyword arguments.</p>
<p>Plot styles are not automatically applied on import of <a class="reference internal" href="autosummary/spacepy.plot.html#module-spacepy.plot" title="spacepy.plot"><code class="xref py py-mod docutils literal notranslate"><span class="pre">plot</span></code></a>. Use
<a class="reference internal" href="autosummary/spacepy.plot.html#spacepy.plot.style" title="spacepy.plot.style"><code class="xref py py-obj docutils literal notranslate"><span class="pre">plot.style</span></code></a> directly to apply the desired style.</p>
<p><a class="reference internal" href="autosummary/spacepy.pybats.bats.Bats2d.html#spacepy.pybats.bats.Bats2d" title="spacepy.pybats.bats.Bats2d"><code class="xref py py-obj docutils literal notranslate"><span class="pre">Bats2d</span></code></a> plot functions will no longer raise an exception when
trying to add a planet/inner boundary patch without an ‘rbody’ attribute
present. Rather, the patch will not be applied to the axes object.</p>
</section>
</section>
</section>
<section id="id12">
<h2><a class="toc-backref" href="#id67" role="doc-backlink">0.4 Series</a><a class="headerlink" href="#id12" title="Link to this heading">¶</a></h2>
<section id="id13">
<h3><a class="toc-backref" href="#id68" role="doc-backlink">0.4.1 (2022-09-15)</a><a class="headerlink" href="#id13" title="Link to this heading">¶</a></h3>
<p>This minor release provides no changes in functionality, but fixes
installation problems on some systems. There is no need to upgrade
from a functioning 0.4.0 (and no harm in doing so).</p>
<section id="id14">
<h4>Other changes<a class="headerlink" href="#id14" title="Link to this heading">¶</a></h4>
<p>Unicode characters were removed from the IRBEM sources, fixing
compilation problems for certain user locale settings.</p>
<p>The version of numpy used for building on Apple Silicon Mac was
updated.</p>
<p>Documentation on troubleshooting <code class="docutils literal notranslate"><span class="pre">pip</span></code> problems was improved.</p>
</section>
</section>
<section id="id15">
<h3><a class="toc-backref" href="#id69" role="doc-backlink">0.4.0 (2022-09-07)</a><a class="headerlink" href="#id15" title="Link to this heading">¶</a></h3>
<p>This release marks the end of support and/or fixes for bugs that cannot
be reproduced on Python 3. As with the previous release series, SpacePy
0.4.0 can still be built and installed “by hand” on Python 2, but no
Python 2 binaries are provided and this version will not install on Python 2
using <code class="docutils literal notranslate"><span class="pre">pip</span></code>.</p>
<section id="id16">
<h4>New features<a class="headerlink" href="#id16" title="Link to this heading">¶</a></h4>
<p>The <a class="reference internal" href="autosummary/spacepy.LANLstar.html#module-spacepy.LANLstar" title="spacepy.LANLstar"><code class="xref py py-mod docutils literal notranslate"><span class="pre">LANLstar</span></code></a> module has been rewritten to use numpy to
evaluate the neural networks instead of relying on <code class="docutils literal notranslate"><span class="pre">ffnet</span></code>. The
temporary removal of support for this module in SpacePy 0.3.0 has therefore
been lifted. The new implementation provides a slight performance increase
with no change in results or accuracy.</p>
<p><a class="reference internal" href="autosummary/spacepy.pycdf.istp.VarBundle.html#spacepy.pycdf.istp.VarBundle" title="spacepy.pycdf.istp.VarBundle"><code class="xref py py-class docutils literal notranslate"><span class="pre">VarBundle</span></code></a> now supports output to and input from
<a class="reference internal" href="autosummary/spacepy.datamodel.SpaceData.html#spacepy.datamodel.SpaceData" title="spacepy.datamodel.SpaceData"><code class="xref py py-class docutils literal notranslate"><span class="pre">SpaceData</span></code></a> objects as well as
<a class="reference internal" href="autosummary/spacepy.pycdf.CDF.html#spacepy.pycdf.CDF" title="spacepy.pycdf.CDF"><code class="xref py py-class docutils literal notranslate"><span class="pre">CDF</span></code></a>.</p>
<p>Both <a class="reference internal" href="autosummary/spacepy.coordinates.html#module-spacepy.coordinates" title="spacepy.coordinates"><code class="xref py py-mod docutils literal notranslate"><span class="pre">coordinates</span></code></a> backends now provide access to the TEME
coordinate system (as used by the SGP4 orbit propagator).</p>
</section>
<section id="id17">
<h4>Deprecations and removals<a class="headerlink" href="#id17" title="Link to this heading">¶</a></h4>
<p>The <code class="docutils literal notranslate"><span class="pre">_nelems</span></code> method of <a class="reference internal" href="autosummary/spacepy.pycdf.Var.html#spacepy.pycdf.Var" title="spacepy.pycdf.Var"><code class="xref py py-class docutils literal notranslate"><span class="pre">Var</span></code></a> has been removed;
use the public interface <a class="reference internal" href="autosummary/spacepy.pycdf.Var.html#spacepy.pycdf.Var.nelems" title="spacepy.pycdf.Var.nelems"><code class="xref py py-meth docutils literal notranslate"><span class="pre">nelems()</span></code></a>. (Deprecated
in 0.2.2).</p>
<p><a class="reference internal" href="autosummary/spacepy.irbempy.html#module-spacepy.irbempy" title="spacepy.irbempy"><code class="xref py py-mod docutils literal notranslate"><span class="pre">irbempy</span></code></a> <code class="docutils literal notranslate"><span class="pre">get_sysaxes</span></code>, <code class="docutils literal notranslate"><span class="pre">sph2car</span></code> and <code class="docutils literal notranslate"><span class="pre">car2sph</span></code>
were deprecated in SpacePy 0.2.2 and have been removed. In place
of the latter functions, <a class="reference internal" href="autosummary/spacepy.coordinates.html#spacepy.coordinates.sph2car" title="spacepy.coordinates.sph2car"><code class="xref py py-func docutils literal notranslate"><span class="pre">sph2car()</span></code></a> and
<a class="reference internal" href="autosummary/spacepy.coordinates.html#spacepy.coordinates.car2sph" title="spacepy.coordinates.car2sph"><code class="xref py py-func docutils literal notranslate"><span class="pre">car2sph()</span></code></a> should be used.</p>
</section>
<section id="id18">
<h4>Major bugfixes<a class="headerlink" href="#id18" title="Link to this heading">¶</a></h4>
<p>The installer has been updated to address certain build issues,
particularly on Mac. The Mac <a class="reference internal" href="install_mac.html"><span class="doc">installation directions</span></a> have been completely rewritten.</p>
<p><a class="reference internal" href="autosummary/spacepy.pycdf.html#module-spacepy.pycdf" title="spacepy.pycdf"><code class="xref py py-mod docutils literal notranslate"><span class="pre">pycdf</span></code></a> has been updated for Apple Silicon (ARM/M1);
Python 3.8 is required for this support.</p>
<p><a class="reference internal" href="autosummary/spacepy.pycdf.html#module-spacepy.pycdf" title="spacepy.pycdf"><code class="xref py py-mod docutils literal notranslate"><span class="pre">pycdf</span></code></a> contains a time conversion workaround for
versions of the NASA CDF library before 3.8.0.1. Non-integral epoch
values close to midnight would erroneously return the following day;
<a class="reference internal" href="autosummary/spacepy.pycdf.Library.html#spacepy.pycdf.Library.epoch_to_datetime" title="spacepy.pycdf.Library.epoch_to_datetime"><code class="xref py py-meth docutils literal notranslate"><span class="pre">epoch_to_datetime()</span></code></a> now returns the
correct value on all CDF library versions.</p>
<p>The IRBEM backend for coordinate transformations has been updated to
correct the specification of transformations through the J2000 and TOD
systems, including correctly setting the GEI and TOD systems to be
equivalent. This may change results by a small amount. The IRBEM update
also traps a singularity at the South pole in the conversion to geodetic
(GDZ) coordinates.</p>
</section>
<section id="id19">
<h4>Dependency requirements<a class="headerlink" href="#id19" title="Link to this heading">¶</a></h4>
<p><a class="reference internal" href="autosummary/spacepy.LANLstar.html#module-spacepy.LANLstar" title="spacepy.LANLstar"><code class="xref py py-mod docutils literal notranslate"><span class="pre">LANLstar</span></code></a> now uses a numpy-based implementation (based on
contributions from Aaron Hendry) so neither <code class="docutils literal notranslate"><span class="pre">ffnet</span></code> or <code class="docutils literal notranslate"><span class="pre">networkx</span></code> are
required to use it. These dependencies were removed in SpacePy 0.3.0, but
were still required for use of <code class="docutils literal notranslate"><span class="pre">LANLstar</span></code>. Support for <code class="docutils literal notranslate"><span class="pre">LANLstar</span></code> is
reinstated in SpacePy 0.4.0.</p>
</section>
<section id="id20">
<h4>Other changes<a class="headerlink" href="#id20" title="Link to this heading">¶</a></h4>
<p><a class="reference internal" href="autosummary/spacepy.pycdf.html#module-spacepy.pycdf" title="spacepy.pycdf"><code class="xref py py-mod docutils literal notranslate"><span class="pre">pycdf</span></code></a> no longer warns when defaulting to version 3 CDFs
and TIME_TT2000 time type if not specified; the warning was added in
0.2.2 and the default changed in 0.3.0. Use
<a class="reference internal" href="autosummary/spacepy.pycdf.Library.html#spacepy.pycdf.Library.set_backward" title="spacepy.pycdf.Library.set_backward"><code class="xref py py-meth docutils literal notranslate"><span class="pre">set_backward()</span></code></a> to create version 2 CDFs and
explicitly specify a time type (e.g. with <a class="reference internal" href="autosummary/spacepy.pycdf.CDF.html#spacepy.pycdf.CDF.new" title="spacepy.pycdf.CDF.new"><code class="xref py py-meth docutils literal notranslate"><span class="pre">new()</span></code></a>)
if TT2000 is not desired.</p>
<p>The IRBEM library bundled with SpacePy has been updated to reflect recent
updates and bugfixes, and reflects the upstream repository as of 2022-08-29
(commit dfb9d26).</p>
</section>
</section>
</section>
<section id="id21">
<h2><a class="toc-backref" href="#id70" role="doc-backlink">0.3 Series</a><a class="headerlink" href="#id21" title="Link to this heading">¶</a></h2>
<section id="id22">
<h3><a class="toc-backref" href="#id71" role="doc-backlink">0.3.0 (2022-04-27)</a><a class="headerlink" href="#id22" title="Link to this heading">¶</a></h3>
<p>This release continues the phaseout of Python 2
support. No Python 2 binaries are provided, and 0.3.0 will not install
on Python 2 with <code class="docutils literal notranslate"><span class="pre">pip</span></code>. Installation via <code class="docutils literal notranslate"><span class="pre">setup.py</span></code> from a source
distribution is still available.</p>
<p>This is the last release with Python 2 bugfix support. SpacePy 0.4.0
will make no attempt to maintain functionality for Python 2 and
SpacePy 0.5.0 will not function without Python 3.</p>
<p>Windows binaries are only provided as 64-bit wheels, installable with
<code class="docutils literal notranslate"><span class="pre">pip</span></code>, for Python 3.6 and later. Windows executable installers and
32-bit binaries are no longer provided.</p>
<section id="id23">
<h4>New features<a class="headerlink" href="#id23" title="Link to this heading">¶</a></h4>
<p>The <a class="reference internal" href="autosummary/spacepy.coordinates.html#module-spacepy.coordinates" title="spacepy.coordinates"><code class="xref py py-mod docutils literal notranslate"><span class="pre">coordinates</span></code></a> module has been overhauled with a new,
Python-based backend. This provides comparable performance to the
existing <a class="reference internal" href="autosummary/spacepy.irbempy.html#module-spacepy.irbempy" title="spacepy.irbempy"><code class="xref py py-mod docutils literal notranslate"><span class="pre">irbempy</span></code></a> backend with higher precision and
reduces the dependence on Fortran. By default, irbemlib will still be
built at installation time. The default backend remains IRBEM; in
0.4.0, this will switch to the new <a class="reference internal" href="autosummary/spacepy.ctrans.html#module-spacepy.ctrans" title="spacepy.ctrans"><code class="xref py py-mod docutils literal notranslate"><span class="pre">ctrans</span></code></a> based
backend. The new <a class="reference internal" href="autosummary/spacepy.igrf.html#module-spacepy.igrf" title="spacepy.igrf"><code class="xref py py-mod docutils literal notranslate"><span class="pre">igrf</span></code></a> module is part of this support
but may be of interest on its own.</p>
<p>In accordance with a change from NASA, <a class="reference internal" href="autosummary/spacepy.pycdf.html#module-spacepy.pycdf" title="spacepy.pycdf"><code class="xref py py-mod docutils literal notranslate"><span class="pre">pycdf</span></code></a> now
assumes strings in CDFs are UTF-8. It will no longer raise errors on
reading non-ASCII data from a CDF. See <a class="reference internal" href="pycdf.html#pycdf-string-handling"><span class="std std-ref">String handling</span></a> in
the pycdf documentation for details.</p>
<p><a class="reference internal" href="autosummary/spacepy.ae9ap9.html#module-spacepy.ae9ap9" title="spacepy.ae9ap9"><code class="xref py py-mod docutils literal notranslate"><span class="pre">ae9ap9</span></code></a> now supports the new ephem model file format
(>=1.50.001) via <a class="reference internal" href="autosummary/spacepy.ae9ap9.html#spacepy.ae9ap9.parseHeader" title="spacepy.ae9ap9.parseHeader"><code class="xref py py-func docutils literal notranslate"><span class="pre">parseHeader()</span></code></a>. The old file
format is deprecated.</p>
</section>
<section id="id24">
<h4>Deprecations and removals<a class="headerlink" href="#id24" title="Link to this heading">¶</a></h4>
<p>HTML documentation is no longer installed with
SpacePy. <a class="reference internal" href="autosummary/spacepy.html#spacepy.help" title="spacepy.help"><code class="xref py py-func docutils literal notranslate"><span class="pre">help()</span></code></a> now opens the latest <a class="reference external" href="https://spacepy.github.io/">online
documentation</a>. Offline documentation
are available separately (files named like <code class="docutils literal notranslate"><span class="pre">spacepy-x.y.z-doc.zip</span></code>
and <code class="docutils literal notranslate"><span class="pre">spacepy-x.y.z-doc.pdf</span></code>) and as part of the source distribution
(<code class="docutils literal notranslate"><span class="pre">spacepy-x.y.z.tar.gz</span></code> or <code class="docutils literal notranslate"><span class="pre">spacepy-x.y.z.zip</span></code>). These files can
be downloaded from SpacePy’s <a class="reference external" href="https://github.com/spacepy/spacepy/releases">releases on GitHub</a>; the source can also
be found on <a class="reference external" href="https://pypi.org/project/spacepy/#files">PyPI</a>.</p>
<p><code class="docutils literal notranslate"><span class="pre">LANLstar</span></code> requires <a class="reference external" href="http://ffnet.sourceforge.net/">ffnet</a>, which
does not install properly with current <a class="reference external" href="https://github.com/pypa/setuptools">setuptools</a> (version 58). The SpacePy team
is working on replacing this dependency, but in the meantime
<code class="docutils literal notranslate"><span class="pre">LANLstar</span></code> is unsupported and will require manually installing
<code class="docutils literal notranslate"><span class="pre">ffnet</span></code> and <a class="reference external" href="http://networkx.lanl.gov/">networkx</a>.</p>
<p>As mentioned above, <a class="reference internal" href="autosummary/spacepy.ae9ap9.html#module-spacepy.ae9ap9" title="spacepy.ae9ap9"><code class="xref py py-mod docutils literal notranslate"><span class="pre">ae9ap9</span></code></a> support for the old ephem
model file format is deprecated.</p>
<p>Colourmaps have been removed from <a class="reference internal" href="autosummary/spacepy.plot.html#module-spacepy.plot" title="spacepy.plot"><code class="xref py py-class docutils literal notranslate"><span class="pre">plot</span></code></a>. The same
colourmaps (<code class="docutils literal notranslate"><span class="pre">plasma</span></code> and <code class="docutils literal notranslate"><span class="pre">viridis</span></code>) have been available in
matplotlib since at least 1.5. (Deprecated in 0.2.3.)</p>
<p>The old name <code class="docutils literal notranslate"><span class="pre">spectrogram</span></code> for <a class="reference internal" href="autosummary/spacepy.plot.spectrogram.html#module-spacepy.plot.spectrogram" title="spacepy.plot.spectrogram"><code class="xref py py-class docutils literal notranslate"><span class="pre">spectrogram</span></code></a>
has been removed. (Deprecated in 0.2.2.)</p>
<p>The <code class="docutils literal notranslate"><span class="pre">read_ram_dst</span></code> function has been removed from
<a class="reference internal" href="autosummary/spacepy.pybats.ram.html#module-spacepy.pybats.ram" title="spacepy.pybats.ram"><code class="xref py py-mod docutils literal notranslate"><span class="pre">ram</span></code></a>, as it operates on files that are no longer
written by RAM-SCB. (Deprecated in 0.1.6.)</p>
<p>The <code class="docutils literal notranslate"><span class="pre">fix_format</span></code> function has been removed from
<a class="reference internal" href="autosummary/spacepy.pybats.rim.html#module-spacepy.pybats.rim" title="spacepy.pybats.rim"><code class="xref py py-mod docutils literal notranslate"><span class="pre">rim</span></code></a>; <a class="reference internal" href="autosummary/spacepy.pybats.rim.Iono.html#spacepy.pybats.rim.Iono" title="spacepy.pybats.rim.Iono"><code class="xref py py-class docutils literal notranslate"><span class="pre">Iono</span></code></a> can now
read these files directly. (Deprecated in 0.2.2.)</p>
<p>The <code class="docutils literal notranslate"><span class="pre">from_dict</span></code> method of CDF attribute lists
(<a class="reference internal" href="autosummary/spacepy.pycdf.gAttrList.html#spacepy.pycdf.gAttrList" title="spacepy.pycdf.gAttrList"><code class="xref py py-meth docutils literal notranslate"><span class="pre">gAttrList()</span></code></a>, <a class="reference internal" href="autosummary/spacepy.pycdf.zAttrList.html#spacepy.pycdf.zAttrList" title="spacepy.pycdf.zAttrList"><code class="xref py py-meth docutils literal notranslate"><span class="pre">zAttrList()</span></code></a>)
has been removed. Use <a class="reference internal" href="autosummary/spacepy.pycdf.AttrList.html#spacepy.pycdf.AttrList.clone" title="spacepy.pycdf.AttrList.clone"><code class="xref py py-meth docutils literal notranslate"><span class="pre">clone()</span></code></a>, which
supports cloning from dictionaries. (Deprecated in 0.1.5.)</p>
<p>The <code class="docutils literal notranslate"><span class="pre">feq</span></code> function has been removed from <a class="reference internal" href="autosummary/spacepy.toolbox.html#module-spacepy.toolbox" title="spacepy.toolbox"><code class="xref py py-mod docutils literal notranslate"><span class="pre">toolbox</span></code></a>;
use <a class="reference external" href="https://numpy.org/doc/stable/reference/generated/numpy.isclose.html#numpy.isclose" title="(in NumPy v2.1)"><code class="xref py py-func docutils literal notranslate"><span class="pre">numpy.isclose()</span></code></a>. (Deprecated in 0.2.2.)</p>
<p>Quaternion math functions have been removed from
<a class="reference internal" href="autosummary/spacepy.toolbox.html#module-spacepy.toolbox" title="spacepy.toolbox"><code class="xref py py-mod docutils literal notranslate"><span class="pre">toolbox</span></code></a>; they are available in
<a class="reference internal" href="autosummary/spacepy.coordinates.html#module-spacepy.coordinates" title="spacepy.coordinates"><code class="xref py py-mod docutils literal notranslate"><span class="pre">coordinates</span></code></a>. (Deprecated in 0.2.2.)</p>
</section>
<section id="id25">
<h4>Dependency requirements<a class="headerlink" href="#id25" title="Link to this heading">¶</a></h4>
<p>Due to the new backend, scipy is now required for
<a class="reference internal" href="autosummary/spacepy.coordinates.html#module-spacepy.coordinates" title="spacepy.coordinates"><code class="xref py py-mod docutils literal notranslate"><span class="pre">coordinates</span></code></a> (even if using the old backend). 0.11
remains the minimum version.</p>
<p>Since <code class="docutils literal notranslate"><span class="pre">LANLstar</span></code> is not currently supported, <code class="docutils literal notranslate"><span class="pre">ffnet</span></code> and
<code class="docutils literal notranslate"><span class="pre">networkx</span></code> are no longer treated as SpacePy dependencies.</p>
</section>
<section id="id26">
<h4>Other changes<a class="headerlink" href="#id26" title="Link to this heading">¶</a></h4>
<p><a class="reference internal" href="autosummary/spacepy.pycdf.html#module-spacepy.pycdf" title="spacepy.pycdf"><code class="xref py py-mod docutils literal notranslate"><span class="pre">pycdf</span></code></a> now defaults to creating version 3 (not
backward-compatible) CDFs if the backward compatible mode is not
explicitly set (<a class="reference internal" href="autosummary/spacepy.pycdf.Library.html#spacepy.pycdf.Library.set_backward" title="spacepy.pycdf.Library.set_backward"><code class="xref py py-meth docutils literal notranslate"><span class="pre">set_backward()</span></code></a>). It still
issues a warning when creating a CDF if this is not set; this warning
will be removed in 0.4.0. (Warning added in 0.2.2.)</p>
<p>Similarly, <a class="reference internal" href="autosummary/spacepy.pycdf.html#module-spacepy.pycdf" title="spacepy.pycdf"><code class="xref py py-mod docutils literal notranslate"><span class="pre">pycdf</span></code></a> defaults to TIME_TT2000 when creating
a time variable or attribute without specifying a type (EPOCH or
EPOCH16 are used if TT2000 isn’t available). A warning is issued when
doing so; this warning will be removed in 0.4.0. (Warning added in 0.2.2.)</p>
<p>On Windows, <a class="reference internal" href="autosummary/spacepy.pycdf.html#module-spacepy.pycdf" title="spacepy.pycdf"><code class="xref py py-mod docutils literal notranslate"><span class="pre">pycdf</span></code></a> now looks in more locations for the
NASA CDF library. Newer versions of the library by default install to
a different location (<code class="docutils literal notranslate"><span class="pre">Program</span> <span class="pre">Files</span></code>). The DLL is also now placed
in the <code class="docutils literal notranslate"><span class="pre">bin</span></code> directory instead of <code class="docutils literal notranslate"><span class="pre">lib</span></code>, so <code class="docutils literal notranslate"><span class="pre">bin</span></code> is searched
and the value of environment variable <code class="docutils literal notranslate"><span class="pre">CDF_BIN</span></code> in addition to
<code class="docutils literal notranslate"><span class="pre">lib</span></code> and <code class="docutils literal notranslate"><span class="pre">CDF_LIB</span></code>. The net effect should be to increase the
chance of successfully loading the library, with a small chance of
accidentally loading the wrong one.</p>
<p>The default data source for leapsecond files has been reverted from
NASA/MODIS to the USNO, as USNO data services are back online. If
present, entries in the <a class="reference internal" href="configuration.html"><span class="doc">configuration file</span></a> will
still be used instead of the default.</p>
</section>
</section>
</section>
<section id="id27">
<h2><a class="toc-backref" href="#id72" role="doc-backlink">0.2 Series</a><a class="headerlink" href="#id27" title="Link to this heading">¶</a></h2>
<section id="id28">
<h3><a class="toc-backref" href="#id73" role="doc-backlink">0.2.3 (2021-10-30)</a><a class="headerlink" href="#id28" title="Link to this heading">¶</a></h3>
<p>This is the last release of the 0.2 series and the last with full
support for Python 2. Binary installers (including
wheels) for <a class="reference internal" href="install_windows.html"><span class="doc">32-bit Windows</span></a> will also end
after the 0.2 series, as will Windows installers. The only binaries
for Windows will be 64-bit wheels, installable with <code class="docutils literal notranslate"><span class="pre">pip</span></code>.</p>
<section id="id29">
<h4>New features<a class="headerlink" href="#id29" title="Link to this heading">¶</a></h4>
<p><a class="reference internal" href="autosummary/spacepy.pycdf.html#module-spacepy.pycdf" title="spacepy.pycdf"><code class="xref py py-mod docutils literal notranslate"><span class="pre">pycdf</span></code></a> now supports variables with sparse records, including
enabling/disabling sparse records (<a class="reference internal" href="autosummary/spacepy.pycdf.Var.html#spacepy.pycdf.Var.sparse" title="spacepy.pycdf.Var.sparse"><code class="xref py py-meth docutils literal notranslate"><span class="pre">sparse()</span></code></a>) and
setting the pad value (<a class="reference internal" href="autosummary/spacepy.pycdf.Var.html#spacepy.pycdf.Var.pad" title="spacepy.pycdf.Var.pad"><code class="xref py py-meth docutils literal notranslate"><span class="pre">pad()</span></code></a>). Thanks Antoine Brunet.</p>
</section>
<section id="id30">
<h4>Deprecations and removals<a class="headerlink" href="#id30" title="Link to this heading">¶</a></h4>
<p>The colourmaps provided in the <a class="reference internal" href="autosummary/spacepy.plot.html#module-spacepy.plot" title="spacepy.plot"><code class="xref py py-mod docutils literal notranslate"><span class="pre">plot</span></code></a> module have been
deprecated. The same colourmaps have been available in matplotlib since
at least 1.5, and users who do not directly import the colourmaps should
see no impact.</p>
</section>
<section id="id31">
<h4>Major bugfixes<a class="headerlink" href="#id31" title="Link to this heading">¶</a></h4>
<p>The passing of keyword arguments from <a class="reference internal" href="autosummary/spacepy.toolbox.html#spacepy.toolbox.bootHisto" title="spacepy.toolbox.bootHisto"><code class="xref py py-func docutils literal notranslate"><span class="pre">bootHisto()</span></code></a>
to <a class="reference external" href="https://numpy.org/doc/stable/reference/generated/numpy.histogram.html#numpy.histogram" title="(in NumPy v2.1)"><code class="xref py py-func docutils literal notranslate"><span class="pre">numpy.histogram()</span></code></a> and <a class="reference external" href="https://matplotlib.org/stable/api/_as_gen/matplotlib.pyplot.bar.html#matplotlib.pyplot.bar" title="(in Matplotlib v3.9.2)"><code class="xref py py-func docutils literal notranslate"><span class="pre">matplotlib.pyplot.bar()</span></code></a> has been fixed.</p>
<p>The check for out-of-date leapseconds in <a class="reference internal" href="autosummary/spacepy.time.html#module-spacepy.time" title="spacepy.time"><code class="xref py py-mod docutils literal notranslate"><span class="pre">time</span></code></a> has been
fixed (previously warned even when the file was up to date.)</p>
<p>Fixed installation on new versions of setuptools, which removed
<code class="docutils literal notranslate"><span class="pre">bdist_wininst</span></code> support (<a class="reference external" href="https://github.com/spacepy/spacepy/issues/530">#530</a>).</p>
<p>The handling of library paths on Windows has been updated. This should
fix situations where <a class="reference internal" href="autosummary/spacepy.irbempy.html#module-spacepy.irbempy" title="spacepy.irbempy"><code class="xref py py-mod docutils literal notranslate"><span class="pre">irbempy</span></code></a> would not import on
Windows with Python 3.8 or later. This did not seem to be a problem
with Anaconda, but would sometimes manifest with Python from the app
store or from <a class="reference external" href="http://python.org/">http://python.org/</a> (<a class="reference external" href="https://github.com/spacepy/spacepy/issues/507">#507</a>)</p>
</section>
<section id="id34">
<h4>Other changes<a class="headerlink" href="#id34" title="Link to this heading">¶</a></h4>
<p>Modern leapsecond rules are applied from 1958-1972 rather than
rounding fractional leapseconds. See <a class="reference internal" href="autosummary/spacepy.time.html#module-spacepy.time" title="spacepy.time"><code class="xref py py-mod docutils literal notranslate"><span class="pre">time</span></code></a> for full
discussion of leap seconds and other conversion considerations.</p>
<p>The handling of the <code class="docutils literal notranslate"><span class="pre">.spacepy</span></code> directory (see <a class="reference internal" href="configuration.html"><span class="doc">SpacePy Configuration</span></a>)
has been improved. If the <code class="docutils literal notranslate"><span class="pre">SPACEPY</span></code> environment variable is used,
the directory will be created. The import process also is less fragile
in the case of a partially-created <code class="docutils literal notranslate"><span class="pre">.spacepy</span></code> directory or an
invalid (e.g. empty) <code class="docutils literal notranslate"><span class="pre">spacepy.rc</span></code>.</p>
</section>
</section>
<section id="id35">
<h3><a class="toc-backref" href="#id74" role="doc-backlink">0.2.2 (2020-12-29)</a><a class="headerlink" href="#id35" title="Link to this heading">¶</a></h3>
<p>The 0.2 series will be the last with full support for Python 2;
0.2.3 will likely be the last release. Binary installers
for <a class="reference internal" href="install_windows.html"><span class="doc">32-bit Windows</span></a> will also end after the 0.2
series.</p>
<section id="id36">
<h4>New features<a class="headerlink" href="#id36" title="Link to this heading">¶</a></h4>
<p><a class="reference internal" href="autosummary/spacepy.irbempy.html#module-spacepy.irbempy" title="spacepy.irbempy"><code class="xref py py-mod docutils literal notranslate"><span class="pre">irbempy</span></code></a> incorporates upstream IRBEMlib rev620. This
adds IGRF13 coefficients. <a class="reference internal" href="autosummary/spacepy.coordinates.html#module-spacepy.coordinates" title="spacepy.coordinates"><code class="xref py py-mod docutils literal notranslate"><span class="pre">coordinates</span></code></a> and
<a class="reference internal" href="autosummary/spacepy.irbempy.html#module-spacepy.irbempy" title="spacepy.irbempy"><code class="xref py py-mod docutils literal notranslate"><span class="pre">irbempy</span></code></a> now also support using all supported
coordinate systems as inputs to routines; if a routine does not
support an input system, it will be automatically converted.</p>
<p><a class="reference internal" href="autosummary/spacepy.time.Ticktock.html#spacepy.time.Ticktock" title="spacepy.time.Ticktock"><code class="xref py py-class docutils literal notranslate"><span class="pre">Ticktock</span></code></a> supports conversions to and from
<a class="reference external" href="https://docs.astropy.org/en/stable/api/astropy.time.Time.html#astropy.time.Time" title="(in Astropy v6.1)"><code class="xref py py-class docutils literal notranslate"><span class="pre">astropy.time.Time</span></code></a>.</p>
<p>The following classes, functions, and methods are new:</p>
<table class="autosummary longtable docutils align-default">
<tbody>
<tr class="row-odd"><td><p><a class="reference internal" href="autosummary/spacepy.coordinates.html#spacepy.coordinates.quaternionFromMatrix" title="spacepy.coordinates.quaternionFromMatrix"><code class="xref py py-obj docutils literal notranslate"><span class="pre">quaternionFromMatrix</span></code></a>(matrix[, scalarPos])</p></td>
<td><p>Given an input rotation matrix, return the equivalent quaternion</p></td>
</tr>
<tr class="row-even"><td><p><a class="reference internal" href="autosummary/spacepy.coordinates.html#spacepy.coordinates.quaternionToMatrix" title="spacepy.coordinates.quaternionToMatrix"><code class="xref py py-obj docutils literal notranslate"><span class="pre">quaternionToMatrix</span></code></a>(Qin[, scalarPos, normalize])</p></td>
<td><p>Given an input quaternion, return the equivalent rotation matrix.</p></td>
</tr>
<tr class="row-odd"><td><p><a class="reference internal" href="autosummary/spacepy.datamanager.html#spacepy.datamanager.rebin" title="spacepy.datamanager.rebin"><code class="xref py py-obj docutils literal notranslate"><span class="pre">rebin</span></code></a>(data, bindata, bins[, axis, bintype, ...])</p></td>
<td><p>Rebin one axis of input data based on values of another array</p></td>
</tr>
<tr class="row-even"><td><p><a class="reference internal" href="autosummary/spacepy.plot.utils.html#spacepy.plot.utils.add_arrows" title="spacepy.plot.utils.add_arrows"><code class="xref py py-obj docutils literal notranslate"><span class="pre">add_arrows</span></code></a>(lines[, n, size, style, ...])</p></td>
<td><p>Add directional arrows along a plotted line.</p></td>
</tr>
<tr class="row-odd"><td><p><a class="reference internal" href="autosummary/spacepy.pycdf.html#spacepy.pycdf.concatCDF" title="spacepy.pycdf.concatCDF"><code class="xref py py-obj docutils literal notranslate"><span class="pre">concatCDF</span></code></a>(cdfs[, varnames, raw])</p></td>
<td><p>Concatenate data from multiple CDFs</p></td>
</tr>
<tr class="row-even"><td><p><a class="reference internal" href="autosummary/spacepy.pycdf.istp.html#spacepy.pycdf.istp.nanfill" title="spacepy.pycdf.istp.nanfill"><code class="xref py py-obj docutils literal notranslate"><span class="pre">nanfill</span></code></a>(v)</p></td>
<td><p>Set fill values to NaN</p></td>
</tr>
<tr class="row-odd"><td><p><a class="reference internal" href="autosummary/spacepy.pycdf.istp.FileChecks.html#spacepy.pycdf.istp.FileChecks.empty_entry" title="spacepy.pycdf.istp.FileChecks.empty_entry"><code class="xref py py-obj docutils literal notranslate"><span class="pre">empty_entry</span></code></a>(f)</p></td>
<td><p>Check for attributes with empty string</p></td>
</tr>
<tr class="row-even"><td><p><a class="reference internal" href="autosummary/spacepy.pycdf.istp.VarBundle.html#spacepy.pycdf.istp.VarBundle" title="spacepy.pycdf.istp.VarBundle"><code class="xref py py-obj docutils literal notranslate"><span class="pre">VarBundle</span></code></a>(source[, name])</p></td>
<td><p>Collective handling of ISTP-compliant variable and its dependencies.</p></td>
</tr>
<tr class="row-odd"><td><p><a class="reference internal" href="autosummary/spacepy.pycdf.istp.VariableChecks.html#spacepy.pycdf.istp.VariableChecks.deltas" title="spacepy.pycdf.istp.VariableChecks.deltas"><code class="xref py py-obj docutils literal notranslate"><span class="pre">deltas</span></code></a>(v)</p></td>
<td><p>Check DELTA variables</p></td>
</tr>
<tr class="row-even"><td><p><a class="reference internal" href="autosummary/spacepy.pycdf.istp.VariableChecks.html#spacepy.pycdf.istp.VariableChecks.empty_entry" title="spacepy.pycdf.istp.VariableChecks.empty_entry"><code class="xref py py-obj docutils literal notranslate"><span class="pre">empty_entry</span></code></a>(v)</p></td>
<td><p>Check for attributes with empty string</p></td>
</tr>
</tbody>
</table>
</section>
<section id="id37">
<h4>Deprecations and removals<a class="headerlink" href="#id37" title="Link to this heading">¶</a></h4>
<p><a class="reference internal" href="autosummary/spacepy.pycdf.html#module-spacepy.pycdf" title="spacepy.pycdf"><code class="xref py py-mod docutils literal notranslate"><span class="pre">pycdf</span></code></a> now warns if creating a new CDF file without
explicitly setting backward compatible or not backward compatible
(<a class="reference internal" href="autosummary/spacepy.pycdf.Library.html#spacepy.pycdf.Library.set_backward" title="spacepy.pycdf.Library.set_backward"><code class="xref py py-meth docutils literal notranslate"><span class="pre">set_backward()</span></code></a>). The default is
still to make backward-compatible CDFs, but this will change in
0.3.0. Similarly it now warns if creating a time variable without
specifying a time type; the default is still to use EPOCH or
EPOCH16, but this will change to TIME_TT2000 in 0.3.0.</p>
<p><code class="docutils literal notranslate"><span class="pre">spacepy.pybats.rim.fix_format()</span></code> is now deprecated, as
<a class="reference internal" href="autosummary/spacepy.pybats.rim.Iono.html#spacepy.pybats.rim.Iono" title="spacepy.pybats.rim.Iono"><code class="xref py py-class docutils literal notranslate"><span class="pre">Iono</span></code></a> can now read these files directly.</p>
<p>Quaternion math functions have been moved to
<a class="reference internal" href="autosummary/spacepy.coordinates.html#module-spacepy.coordinates" title="spacepy.coordinates"><code class="xref py py-mod docutils literal notranslate"><span class="pre">coordinates</span></code></a>; using the functions in
<a class="reference internal" href="autosummary/spacepy.toolbox.html#module-spacepy.toolbox" title="spacepy.toolbox"><code class="xref py py-mod docutils literal notranslate"><span class="pre">toolbox</span></code></a> is deprecated.</p>
<p><code class="docutils literal notranslate"><span class="pre">spacepy.toolbox.feq()</span></code> is deprecated; numpy 1.7 added the equivalent
<a class="reference external" href="https://numpy.org/doc/stable/reference/generated/numpy.isclose.html#numpy.isclose" title="(in NumPy v2.1)"><code class="xref py py-func docutils literal notranslate"><span class="pre">isclose()</span></code></a>.</p>
<p>The <a class="reference internal" href="autosummary/spacepy.plot.spectrogram.html#module-spacepy.plot.spectrogram" title="spacepy.plot.spectrogram"><code class="xref py py-class docutils literal notranslate"><span class="pre">spectrogram</span></code></a> class is now capitalized
(<a class="reference internal" href="autosummary/spacepy.plot.spectrogram.html#module-spacepy.plot.spectrogram" title="spacepy.plot.spectrogram"><code class="xref py py-class docutils literal notranslate"><span class="pre">spectrogram</span></code></a>); the old, lower-case variant is
kept for compatibility but will be removed.</p>
</section>
<section id="id38">
<h4>Dependency requirements<a class="headerlink" href="#id38" title="Link to this heading">¶</a></h4>
<p>Not all dependencies are required for all functionality; see
<a class="reference internal" href="dependencies.html"><span class="doc">SpacePy Dependencies</span></a> for full details, including what functionality is
lost if a dependency is not installed.</p>
<p>numpy 1.10 is now required. (Many functions erroneously required it from 0.2.1, but this was not adequately documented.)</p>
<p>scipy 0.11 is now the minimum supported version of SciPy. (Again, this was erroneously required in 0.2.0 without appropriate documentation.)</p>
<p>Several dependencies without an established minimum version were tested.</p>
<dl class="simple">
<dt>As of 0.2.2, minimum supported versions of dependencies are:</dt><dd><ul class="simple">
<li><p>CPython 2 2.7 or CPython 3 3.2</p></li>
<li><p>AstroPy 1.0</p></li>
<li><p>CDF 2.7</p></li>
<li><p>dateutil 1.4 (earlier may work)</p></li>
<li><p>ffnet 0.7 (earlier may work)</p></li>
<li><p>h5py 2.6 (earlier may work)</p></li>
<li><p>matplotlib 1.5</p></li>
<li><p>networkx 1.0 (earlier may work)</p></li>
<li><p>numpy 1.10</p></li>
<li><p>scipy 0.11</p></li>
</ul>
</dd>
</dl>
</section>
<section id="id39">
<h4>Major bugfixes<a class="headerlink" href="#id39" title="Link to this heading">¶</a></h4>
<p>Time conversions between time systems before 1961 now use the proper
number of leapseconds (0).</p>
<p>Many minor bugfixes.</p>
</section>
<section id="id40">
<h4>Other changes<a class="headerlink" href="#id40" title="Link to this heading">¶</a></h4>
<p>Data sources for leapsecond files and <a class="reference internal" href="autosummary/spacepy.omni.html#module-spacepy.omni" title="spacepy.omni"><code class="xref py py-mod docutils literal notranslate"><span class="pre">omni</span></code></a> Qin-Denton
files have been updated to provide current sources. If present,
entries in the <a class="reference internal" href="configuration.html"><span class="doc">configuration file</span></a> will still be
used instead. A (configurable) warning is issued for out-of-date leapsecond
files.</p>
<p>The representation of leap second intervals in time systems which
cannot directly represent them has been changed. Formerly times such
as 2008-12-31T23:59:60 were represented in e.g. UTC datetime as the
the beginning of the next day, e.g. 2009-01-01T00:00:00. They are
now represented by the last possible moment of the same day, e.g.
2008-12-31T23:59:59.999999. Fractional leapsecond counts are now rounded
to the integer instead of truncated; this rounding is applied to the total
TAI - UTC quantity not the individual increments of leap seconds. E.g
successive 0.2, 0.2, 0.2 leap seconds will result in 0, 0, and 1 new
leap seconds.</p>
<p>Similarly, leap seconds are now included in the fractional day
calculation of MJD, so MJD values around a leap second may be different
than in previous versions of SpacePy.</p>
<p>Most time systems are now converted to/from TAI rather than using
datetime. This may cause small differences with previous versions of
SpacePy, on order of a double precision. RDT and JD are particularly
affected for dates in the modern era. Time conversions around
leapseconds may also be different; in many cases they were undefined
in previous versions.</p>
<p><a class="reference internal" href="autosummary/spacepy.time.Ticktock.html#spacepy.time.Ticktock.now" title="spacepy.time.Ticktock.now"><code class="xref py py-meth docutils literal notranslate"><span class="pre">now()</span></code></a> and <a class="reference internal" href="autosummary/spacepy.time.Ticktock.html#spacepy.time.Ticktock.today" title="spacepy.time.Ticktock.today"><code class="xref py py-meth docutils literal notranslate"><span class="pre">today()</span></code></a>
return times in UTC; in previous versions the value returned was local,
but was treated as UTC for all conversions (and thus inaccurate.)</p>
<p>See <a class="reference internal" href="autosummary/spacepy.time.html#module-spacepy.time" title="spacepy.time"><code class="xref py py-mod docutils literal notranslate"><span class="pre">time</span></code></a> for full discussion of leap seconds, time
resolution, and other conversion considerations.</p>
</section>
</section>
<section id="id41">
<h3><a class="toc-backref" href="#id75" role="doc-backlink">0.2.1 (2019-10-02)</a><a class="headerlink" href="#id41" title="Link to this heading">¶</a></h3>
<section id="id42">
<h4>New features<a class="headerlink" href="#id42" title="Link to this heading">¶</a></h4>
<p>The following module is new:</p>
<table class="autosummary longtable docutils align-default">
<tbody>
<tr class="row-odd"><td><p><a class="reference internal" href="autosummary/spacepy.pycdf.istp.html#module-spacepy.pycdf.istp" title="spacepy.pycdf.istp"><code class="xref py py-obj docutils literal notranslate"><span class="pre">istp</span></code></a></p></td>
<td><p>Support for ISTP-compliant CDFs</p></td>
</tr>
</tbody>
</table>
</section>
<section id="id43">
<h4>Deprecations and removals<a class="headerlink" href="#id43" title="Link to this heading">¶</a></h4>
<p>None</p>
</section>
<section id="id44">
<h4>Dependency requirements<a class="headerlink" href="#id44" title="Link to this heading">¶</a></h4>
<p>No changes to minimum dependency versions.</p>
<dl class="simple">
<dt>As of 0.2.1, the minimum versions of dependencies are:</dt><dd><ul class="simple">
<li><p>CPython 2 2.7 or CPython 3 3.2</p></li>
<li><p>CDF 2.7</p></li>
<li><p>matplotlib 1.5</p></li>
<li><p>numpy 1.4</p></li>
<li><p>scipy 0.10</p></li>
</ul>
</dd>
</dl>
<p>Other dependencies have no established minimum. See
<a class="reference internal" href="dependencies.html"><span class="doc">SpacePy Dependencies</span></a> for full details.</p>
</section>
<section id="id45">
<h4>Major bugfixes<a class="headerlink" href="#id45" title="Link to this heading">¶</a></h4>
<p>Fixed compliation of <a class="reference internal" href="autosummary/spacepy.irbempy.html#module-spacepy.irbempy" title="spacepy.irbempy"><code class="xref py py-mod docutils literal notranslate"><span class="pre">irbempy</span></code></a> on several systems.</p>
</section>
<section id="id46">
<h4>Other changes<a class="headerlink" href="#id46" title="Link to this heading">¶</a></h4>
<p>None of note.</p>
</section>
</section>
<section id="id47">
<h3><a class="toc-backref" href="#id76" role="doc-backlink">0.2.0 (2019-06-22)</a><a class="headerlink" href="#id47" title="Link to this heading">¶</a></h3>
<section id="id48">
<h4>New features<a class="headerlink" href="#id48" title="Link to this heading">¶</a></h4>
</section>
<section id="id49">
<h4>Deprecations and removals<a class="headerlink" href="#id49" title="Link to this heading">¶</a></h4>
<p>None</p>
</section>
<section id="id50">
<h4>Dependency requirements<a class="headerlink" href="#id50" title="Link to this heading">¶</a></h4>
<p>Support for Python 2.6 was removed; 2.7 is the only supported version
of Python 2.</p>
<dl class="simple">
<dt>As of 0.2.0, the minimum versions of dependencies are:</dt><dd><ul class="simple">
<li><p>CPython 2 2.6 or CPython 3 3.2</p></li>
<li><p>CDF 2.7</p></li>
<li><p>matplotlib 1.5</p></li>
<li><p>numpy 1.4</p></li>
<li><p>scipy 0.10</p></li>
</ul>
</dd>
</dl>
<p>Other dependencies have no established minimum. See
<a class="reference internal" href="dependencies.html"><span class="doc">SpacePy Dependencies</span></a> for full details.</p>
</section>
<section id="id51">
<h4>Major bugfixes<a class="headerlink" href="#id51" title="Link to this heading">¶</a></h4>
<p><a class="reference internal" href="autosummary/spacepy.toolbox.html#spacepy.toolbox.human_sort" title="spacepy.toolbox.human_sort"><code class="xref py py-meth docutils literal notranslate"><span class="pre">human_sort()</span></code></a> was fixed for non-numeric inputs
(the normal case.) This had been broken since 0.1.6.</p>
<p>Many minor bugfixes as well.</p>
</section>
<section id="id52">
<h4>Other changes<a class="headerlink" href="#id52" title="Link to this heading">¶</a></h4>
<p>Many updates to improve ease of installation, including Windows binary wheels.</p>
</section>
</section>
</section>
<section id="id53">
<h2><a class="toc-backref" href="#id77" role="doc-backlink">0.1 Series</a><a class="headerlink" href="#id53" title="Link to this heading">¶</a></h2>
<p>See the CHANGELOG file in the source distribution for changes in the 0.1
release series.</p>
<section id="id54">
<h3><a class="toc-backref" href="#id78" role="doc-backlink">0.1.6 (2016-09-08)</a><a class="headerlink" href="#id54" title="Link to this heading">¶</a></h3>
</section>
<section id="id55">
<h3><a class="toc-backref" href="#id79" role="doc-backlink">0.1.5 (2014-12-23)</a><a class="headerlink" href="#id55" title="Link to this heading">¶</a></h3>
</section>
<section id="id56">
<h3><a class="toc-backref" href="#id80" role="doc-backlink">0.1.4 (2013-05-21)</a><a class="headerlink" href="#id56" title="Link to this heading">¶</a></h3>
</section>
<section id="id57">
<h3><a class="toc-backref" href="#id81" role="doc-backlink">0.1.3 (2012-06-22)</a><a class="headerlink" href="#id57" title="Link to this heading">¶</a></h3>
</section>
<section id="id58">
<h3><a class="toc-backref" href="#id82" role="doc-backlink">0.1.2 (2012-05-25)</a><a class="headerlink" href="#id58" title="Link to this heading">¶</a></h3>
</section>
<section id="id59">
<h3><a class="toc-backref" href="#id83" role="doc-backlink">0.1.1 (2011-10-31)</a><a class="headerlink" href="#id59" title="Link to this heading">¶</a></h3>
</section>
<section id="id60">
<h3><a class="toc-backref" href="#id84" role="doc-backlink">0.1 (2011-08-24)</a><a class="headerlink" href="#id60" title="Link to this heading">¶</a></h3>
</section>
</section>
</section>
<div class="clearer"></div>
</div>
</div>
</div>
<div class="sphinxsidebar" role="navigation" aria-label="main navigation">
<div class="sphinxsidebarwrapper">
<p class="logo"><a href="index.html">
<img class="logo" src="_static/logo.png" alt="Logo"/>
</a></p>
<div>
<h3><a href="index.html">Table of Contents</a></h3>
<ul>
<li><a class="reference internal" href="#">Release Notes</a><ul>
<li><a class="reference internal" href="#series">0.7 Series</a><ul>
<li><a class="reference internal" href="#id1">0.7.0 (2024-11-08)</a><ul>
<li><a class="reference internal" href="#new-features">New features</a></li>
<li><a class="reference internal" href="#dependency-requirements">Dependency requirements</a></li>
<li><a class="reference internal" href="#deprecations-and-removals">Deprecations and removals</a></li>
<li><a class="reference internal" href="#major-bugfixes">Major bugfixes</a></li>
<li><a class="reference internal" href="#other-changes">Other changes</a></li>
</ul>
</li>
</ul>
</li>
<li><a class="reference internal" href="#id2">0.6 Series</a><ul>
<li><a class="reference internal" href="#id3">0.6.0 (2024-04-25)</a><ul>
<li><a class="reference internal" href="#id4">New features</a></li>
</ul>
</li>
</ul>
</li>
<li><a class="reference internal" href="#id5">0.5 Series</a><ul>
<li><a class="reference internal" href="#id6">0.5.0 (2024-03-11)</a><ul>
<li><a class="reference internal" href="#release-0-5-0-deps">Dependency requirements</a></li>
<li><a class="reference internal" href="#id8">New features</a></li>
<li><a class="reference internal" href="#id9">Deprecations and removals</a></li>
<li><a class="reference internal" href="#id10">Major bugfixes</a></li>
<li><a class="reference internal" href="#id11">Other changes</a></li>
</ul>
</li>
</ul>
</li>
<li><a class="reference internal" href="#id12">0.4 Series</a><ul>
<li><a class="reference internal" href="#id13">0.4.1 (2022-09-15)</a><ul>
<li><a class="reference internal" href="#id14">Other changes</a></li>
</ul>
</li>
<li><a class="reference internal" href="#id15">0.4.0 (2022-09-07)</a><ul>
<li><a class="reference internal" href="#id16">New features</a></li>
<li><a class="reference internal" href="#id17">Deprecations and removals</a></li>
<li><a class="reference internal" href="#id18">Major bugfixes</a></li>
<li><a class="reference internal" href="#id19">Dependency requirements</a></li>
<li><a class="reference internal" href="#id20">Other changes</a></li>
</ul>
</li>
</ul>
</li>
<li><a class="reference internal" href="#id21">0.3 Series</a><ul>
<li><a class="reference internal" href="#id22">0.3.0 (2022-04-27)</a><ul>
<li><a class="reference internal" href="#id23">New features</a></li>
<li><a class="reference internal" href="#id24">Deprecations and removals</a></li>
<li><a class="reference internal" href="#id25">Dependency requirements</a></li>
<li><a class="reference internal" href="#id26">Other changes</a></li>
</ul>
</li>
</ul>
</li>
<li><a class="reference internal" href="#id27">0.2 Series</a><ul>
<li><a class="reference internal" href="#id28">0.2.3 (2021-10-30)</a><ul>
<li><a class="reference internal" href="#id29">New features</a></li>
<li><a class="reference internal" href="#id30">Deprecations and removals</a></li>
<li><a class="reference internal" href="#id31">Major bugfixes</a></li>
<li><a class="reference internal" href="#id34">Other changes</a></li>
</ul>
</li>
<li><a class="reference internal" href="#id35">0.2.2 (2020-12-29)</a><ul>
<li><a class="reference internal" href="#id36">New features</a></li>
<li><a class="reference internal" href="#id37">Deprecations and removals</a></li>
<li><a class="reference internal" href="#id38">Dependency requirements</a></li>
<li><a class="reference internal" href="#id39">Major bugfixes</a></li>
<li><a class="reference internal" href="#id40">Other changes</a></li>
</ul>
</li>
<li><a class="reference internal" href="#id41">0.2.1 (2019-10-02)</a><ul>
<li><a class="reference internal" href="#id42">New features</a></li>
<li><a class="reference internal" href="#id43">Deprecations and removals</a></li>
<li><a class="reference internal" href="#id44">Dependency requirements</a></li>
<li><a class="reference internal" href="#id45">Major bugfixes</a></li>
<li><a class="reference internal" href="#id46">Other changes</a></li>
</ul>
</li>
<li><a class="reference internal" href="#id47">0.2.0 (2019-06-22)</a><ul>
<li><a class="reference internal" href="#id48">New features</a></li>
<li><a class="reference internal" href="#id49">Deprecations and removals</a></li>
<li><a class="reference internal" href="#id50">Dependency requirements</a></li>
<li><a class="reference internal" href="#id51">Major bugfixes</a></li>
<li><a class="reference internal" href="#id52">Other changes</a></li>
</ul>
</li>
</ul>
</li>
<li><a class="reference internal" href="#id53">0.1 Series</a><ul>
<li><a class="reference internal" href="#id54">0.1.6 (2016-09-08)</a></li>
<li><a class="reference internal" href="#id55">0.1.5 (2014-12-23)</a></li>
<li><a class="reference internal" href="#id56">0.1.4 (2013-05-21)</a></li>
<li><a class="reference internal" href="#id57">0.1.3 (2012-06-22)</a></li>
<li><a class="reference internal" href="#id58">0.1.2 (2012-05-25)</a></li>
<li><a class="reference internal" href="#id59">0.1.1 (2011-10-31)</a></li>
<li><a class="reference internal" href="#id60">0.1 (2011-08-24)</a></li>
</ul>
</li>
</ul>
</li>
</ul>
</div>
<div>
<h4>Previous topic</h4>
<p class="topless"><a href="capabilities.html"
title="previous chapter">SpacePy Capabilities</a></p>
</div>
<div>
<h4>Next topic</h4>
<p class="topless"><a href="case_studies.html"
title="next chapter">SpacePy Case Studies</a></p>
</div>
<div role="note" aria-label="source link">
<h3>This Page</h3>
<ul class="this-page-menu">
<li><a href="_sources/release_notes.rst.txt"
rel="nofollow">Show Source</a></li>
</ul>
</div>
<search id="searchbox" style="display: none" role="search">
<h3 id="searchlabel">Quick search</h3>
<div class="searchformwrapper">
<form class="search" action="search.html" method="get">
<input type="text" name="q" aria-labelledby="searchlabel" autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false"/>
<input type="submit" value="Go" />
</form>
</div>
</search>
<script>document.getElementById('searchbox').style.display = "block"</script>
</div>
</div>
<div class="clearer"></div>
</div>
<div class="related" role="navigation" aria-label="related navigation">
<h3>Navigation</h3>
<ul>
<li class="right" style="margin-right: 10px">
<a href="genindex.html" title="General Index"
>index</a></li>
<li class="right" >
<a href="py-modindex.html" title="Python Module Index"
>modules</a> |</li>
<li class="right" >
<a href="case_studies.html" title="SpacePy Case Studies"
>next</a> |</li>
<li class="right" >
<a href="capabilities.html" title="SpacePy Capabilities"
>previous</a> |</li>
<li><a href="https://spacepy.github.io/"">homepage</a>| </li>
<li><a href="https://github.com/spacepy/spacepy">development</a>| </li>
<li><a href="search.html">search</a>| </li>
<li><a href="index.html">documentation </a> »</li>
<li class="nav-item nav-item-this"><a href="">Release Notes</a></li>
</ul>
</div>
<div class="footer" role="contentinfo">
© Copyright 2011-2024, The SpacePy Team.
Created using <a href="https://www.sphinx-doc.org/">Sphinx</a> 7.3.7.
</div>
</body>
</html>