forked from pysal/pysal
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathCHANGELOG.txt
5976 lines (4913 loc) · 249 KB
/
CHANGELOG.txt
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
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
v<2.0.0>, 2019-01-30
# Release Notes for PySAL 2.0
This release represents over 15 months of hard work on PySAL. It brings major transitions in the project together with many new enhancements, improved documentation, and many bug fixes and optimizations.
<!-- markdown-toc start - Don't edit this section. Run M-x markdown-toc-generate-toc again -->
**Table of Contents**
- [Release Notes for PySAL 2.0](#release-notes-for-pysal-20)
- [Major Changes](#major-changes)
- [Entirely New Packages](#entirely-new-packages)
- [Significant Enhancements to Existing Packages](#significant-enhancements-to-existing-packages)
- [Changes by Package](#changes-by-package)
- [libpysal](#libpysal)
- [esda](#esda)
- [giddy](#giddy)
- [inequality](#inequality)
- [pointpats](#pointpats)
- [spaghetti](#spaghetti)
- [mapclassify](#mapclassify)
- [splot](#splot)
- [spreg](#spreg)
- [spglm](#spglm)
- [spint](#spint)
- [mgwr](#mgwr)
- [spvcm](#spvcm)
- [Summary Statistics](#summary-statistics)
- [Package Activity](#package-activity)
- [Contributor Activity](#contributor-activity)
- [Contributor by Package Activity](#contributor-by-package-activity)
<!-- markdown-toc end -->
<a name="major-changes"></a>
## Major Changes
This release, we've had a ton of activity in PySAL, much of which has been conducted in our *subpackages*, the independently-released components of our library. Because it is too onerous to list all the changes to the API here, please consult the [Migrating to PySAL 2.0](http://pysal.org/about.html#migrating-to-pysal-2-0) page for a detailed discussion of all reorganization-related changes. This document will focus *only* on improvements to functionality, enhancements, and additional modules added to `2.0`, over and above the last stable release of the `1.0` series, PySAL `1.14.4`.
<a name="entirely-new-packages"></a>
### Entirely New Packages
For starters, we've added some entirely-new subpackages to this release candidate:
- `mgwr`, **the multi-scale Geographically-weighted regression package for Python.**
Don't worry, `mgwr` fits single-scale geographically-weighted regressions, too. Geographically-weighted regression is a kind of generalized additive model that uses kernel functions in the geographic area around each observation to predict outcomes at that area more accuratly, kind of like Gaussian Process regression for geographic data.
- `spvcm`, for spatially-correlated multilevel models.
Spatially-correlated multilevel models are models that allow for random effects of nearby areas, regions, or groups to be correlated with one another. This is a Gibbs sampling framework plus diagnostics & plotting tools for general Bayesian analysis of Gibbs samplers. The package also contains simple tools to implement new samplers on top of the infrastructure provided, which is fast, parallel, serializable, iterative-write, and interruptible.
- `spint`, for estimating spatial interaction models, such as the production-constrained or consumption-constrained gravity models.
- `spglm`, a package for fitting sparse GLMs, focused on performance over sparse categorical data.
- `splot`, for spatial vizualization in Python, built on top of the excellent [`geopandas`](https://github.com/geopandas/geopandas). This is headed by our Google Summer of Code (2018) student, [Stefanie Lumnitz](https://github.com/slumnitz), and will be ongoing throughout the release candidate maturation cycle.
- `pointpats`, a package for the statistical analysis of point patterns, geographical colocation, and dispersion.
<a name="significant-enhancements-to-existing-packages"></a>
### Significant Enhancements to Existing Packages
We've also had a ton of activity adding new features in our *submodules*:
- [alpha shapes](https://github.com/pysal/libpysal/blob/master/libpysal/cg/alpha_shapes.py), a fast implementation (numba-enabled) of the [original algorithm](https://ieeexplore.ieee.org/document/1056714) generalizing convex hulls to allow for non-convex hulls
- [Contiguity weights from voronoi tesselations/delaunay triangulation graphs](https://github.com/pysal/libpysal/blob/master/libpysal/weights/contiguity.py#L318) for point patterns
- [Fuzzy contiguity weights](https://github.com/pysal/libpysal/blob/master/libpysal/weights/util.py#L1328), for polygonal data where planarity is not strictly enforced (provided in part by [`geopandas`](https://github.com/geopandas/geopandas))
- A family of spatially explicit indicators of mobility association including the [inter- and intra-regional indicators](https://github.com/pysal/giddy/blob/master/giddy/rank.py#L798) as well as the [local indicators](https://github.com/pysal/giddy/blob/master/giddy/rank.py#L493). The inter- and intra-regional indicators provide a meso-level view on the exchange mobility pattern, shedding light on specific regions hosting frequent rank exchanges while the local indicators examine the concordance relationship between a focal spatial unit and its neighbors for revealing the role of space in shaping the exchange mobility pattern over time.
- [Categorical Spatial Markov](https://github.com/pysal/giddy/blob/master/giddy/markov.py#L200), a generalization of the Spatial_Markov class previously implemented to interrogate the role of space in shaping regional income distribution dynamics to incorporate direct variables. Here, the [categorical spatial lag](https://github.com/pysal/libpysal/blob/master/libpysal/weights/spatial_lag.py#L90) is adopted for formalizing the neighborhood.
- [Connected Components checks](https://github.com/pysal/libpysal/blob/2843eeaaff4efa0b1816077d9e76d15ccbd81929/libpysal/weights/weights.py#L340) for our spatial graph matrices
- [Pandas Adjacency list constructors](https://github.com/pysal/libpysal/blob/2843eeaaff4efa0b1816077d9e76d15ccbd81929/libpysal/weights/weights.py#L200) and [NetworkX adapters](https://github.com/pysal/libpysal/blob/2843eeaaff4efa0b1816077d9e76d15ccbd81929/libpysal/weights/weights.py#L265) for PySAL graph objects
- [Attach islands](https://github.com/pysal/libpysal/blob/master/libpysal/weights/util.py#L1280), tooling to merge isolated observations into existing spatial graphs
- [Construct Contiguity graphs from linestrings](https://github.com/pysal/libpysal/blob/ea2d44da797659904000e20ddbb0f3d52efd1ad2/libpysal/weights/tests/test_contiguity.py#L110), allowing for easy and fast access to road network data in PySAL
<a name="changes-by-package"></a>
## Changes by Package
Overall, there were 1636 commits that closed 368 issues, together with 236 pull requests since our last release on 2017-11-03.
<a name="libpysal"></a>
### libpysal
* weights.distance.KNN.from_dataframe ignoring radius [(#116)](https://github.com/pysal/libpysal/issues/116)
* Always make spherical KDTrees if radius is passed [(#117)](https://github.com/pysal/libpysal/pull/117)
* [ENH] should `weights.util.get_ids()` also accept a geodataframe? [(#97)](https://github.com/pysal/libpysal/issues/97)
* enh: add doctests to travis (#2) [(#112)](https://github.com/pysal/libpysal/pull/112)
* sphinx docs need updating [(#49)](https://github.com/pysal/libpysal/issues/49)
* Add notebooks for subpackage contract [(#108)](https://github.com/pysal/libpysal/issues/108)
* Api docs complete [(#110)](https://github.com/pysal/libpysal/pull/110)
* Doctests and start of documentation for libpysal [(#109)](https://github.com/pysal/libpysal/pull/109)
* Add dependencies to requirements_plus.txt for test_db [(#107)](https://github.com/pysal/libpysal/pull/107)
* Weights/util/get ids gdf [(#101)](https://github.com/pysal/libpysal/pull/101)
* missing adjustments to lower case module names [(#106)](https://github.com/pysal/libpysal/pull/106)
* Rel.4.0.0 [(#105)](https://github.com/pysal/libpysal/pull/105)
* REL: 3.0.8 [(#104)](https://github.com/pysal/libpysal/pull/104)
* error importing v3.0.7 [(#100)](https://github.com/pysal/libpysal/issues/100)
* Lower case module names [(#98)](https://github.com/pysal/libpysal/pull/98)
* remove function regime_weights [(#96)](https://github.com/pysal/libpysal/pull/96)
* depreciating regime_weights in the new release? [(#94)](https://github.com/pysal/libpysal/issues/94)
* inconsistency in api? [(#93)](https://github.com/pysal/libpysal/issues/93)
* Ensure consistency in `from .module import *` in components of libpysal [(#95)](https://github.com/pysal/libpysal/pull/95)
* [WIP] cleanup [(#88)](https://github.com/pysal/libpysal/pull/88)
* docstrings for attributes are defined in properties [(#87)](https://github.com/pysal/libpysal/pull/87)
* docstrings in W class need editing [(#64)](https://github.com/pysal/libpysal/issues/64)
* version name as __version__ [(#92)](https://github.com/pysal/libpysal/pull/92)
* remove `del` statements and modify alphashape __all__ [(#89)](https://github.com/pysal/libpysal/pull/89)
* libpysal/libpysal/cg/__init__.py not importing `rtree` [(#90)](https://github.com/pysal/libpysal/issues/90)
* including rtree in imports [(#91)](https://github.com/pysal/libpysal/pull/91)
* BUG: test_weights_IO.py is using pysal and hard-coded paths [(#85)](https://github.com/pysal/libpysal/issues/85)
* fix hardcoded swm test [(#86)](https://github.com/pysal/libpysal/pull/86)
* check for spatial index if nonplanar neighbors [(#84)](https://github.com/pysal/libpysal/pull/84)
* nonplanar_neighbors fails when sindex is not constructed. [(#63)](https://github.com/pysal/libpysal/issues/63)
* increment version number and add bugfixes, api changes [(#79)](https://github.com/pysal/libpysal/pull/79)
* Spherebug [(#82)](https://github.com/pysal/libpysal/pull/82)
* only warn once for islands/disconnected components [(#83)](https://github.com/pysal/libpysal/pull/83)
* only warn on disconnected components if there are no islands [(#81)](https://github.com/pysal/libpysal/issues/81)
* LEP: Stuff/use pysal/network stuff to provide queen weights on linestring dataframes [(#59)](https://github.com/pysal/libpysal/issues/59)
* swm fix not ported forward from pysal. [(#66)](https://github.com/pysal/libpysal/issues/66)
* import scipy syntax typo in the new issue template [(#68)](https://github.com/pysal/libpysal/issues/68)
* deletion of extra spaces in warning message [(#78)](https://github.com/pysal/libpysal/pull/78)
* Nightli.es build permissions [(#77)](https://github.com/pysal/libpysal/issues/77)
* name of geometry column is hardcoded in nonplanar_neighbors [(#75)](https://github.com/pysal/libpysal/issues/75)
* changed geometry column name from a str to an attribute [(#76)](https://github.com/pysal/libpysal/pull/76)
* Missing example file [(#71)](https://github.com/pysal/libpysal/issues/71)
* if numba isn't present, libpysal warns every time imported [(#73)](https://github.com/pysal/libpysal/issues/73)
* add check for disconnected components [(#65)](https://github.com/pysal/libpysal/pull/65)
* clean up for release [(#74)](https://github.com/pysal/libpysal/pull/74)
* update for new examples [(#72)](https://github.com/pysal/libpysal/pull/72)
* Swm [(#70)](https://github.com/pysal/libpysal/pull/70)
* Remaining concerns left unfixed in #61 [(#62)](https://github.com/pysal/libpysal/pull/62)
* [WIP] Alpha shapes (2D) code [(#58)](https://github.com/pysal/libpysal/pull/58)
* [WIP]: add linestring/multilinestring functionality [(#61)](https://github.com/pysal/libpysal/pull/61)
* Fuzzy contiguity [(#57)](https://github.com/pysal/libpysal/pull/57)
* add berlin example [(#56)](https://github.com/pysal/libpysal/pull/56)
* force UTF8 encoding for the long description read [(#55)](https://github.com/pysal/libpysal/pull/55)
* add guerry example dataset [(#45)](https://github.com/pysal/libpysal/pull/45)
* update georgia shapefile [(#53)](https://github.com/pysal/libpysal/pull/53)
* fix typo add `non_planar_joins` instead of `non_planar_neighbor` attr… [(#54)](https://github.com/pysal/libpysal/pull/54)
* add voronoi to the API [(#46)](https://github.com/pysal/libpysal/pull/46)
* ENH: Neighbor detection for nonplanar enforced polygon collections. [(#51)](https://github.com/pysal/libpysal/pull/51)
* Missing example used by gwr tests [(#43)](https://github.com/pysal/libpysal/pull/43)
* Wplot [(#50)](https://github.com/pysal/libpysal/pull/50)
* close the door on 2 for libpysal [(#44)](https://github.com/pysal/libpysal/pull/44)
* To networkx argument name changed [(#40)](https://github.com/pysal/libpysal/issues/40)
* bump micro version [(#42)](https://github.com/pysal/libpysal/pull/42)
* fix networkx adapters [(#41)](https://github.com/pysal/libpysal/pull/41)
* minor version bump for release [(#39)](https://github.com/pysal/libpysal/pull/39)
* Plot weights [(#38)](https://github.com/pysal/libpysal/pull/38)
* forward port of legacy fix #1028 [(#37)](https://github.com/pysal/libpysal/pull/37)
* Adding Voronoi generator for cg as well as Voronoi weights from 2-d points [(#36)](https://github.com/pysal/libpysal/pull/36)
* bump version for release [(#34)](https://github.com/pysal/libpysal/pull/34)
* attach_islands correction: incorporate pr #32 [(#33)](https://github.com/pysal/libpysal/pull/33)
* change data type of contiguity W.neighbors value from set to list (consistent with other weights) [(#32)](https://github.com/pysal/libpysal/pull/32)
* add a function to attach the nearest neighbor to island [(#30)](https://github.com/pysal/libpysal/pull/30)
* fix id2i lookup for string names and make better names [(#31)](https://github.com/pysal/libpysal/pull/31)
* two modules “Wsets.py” and "util.py" depend on each other [(#26)](https://github.com/pysal/libpysal/issues/26)
* add unittest for Wset.w_clip [(#29)](https://github.com/pysal/libpysal/pull/29)
* resolve circular import in Wsets and util [(#28)](https://github.com/pysal/libpysal/pull/28)
* update doctests in weights module to use libpysal instead of pysal [(#27)](https://github.com/pysal/libpysal/pull/27)
* bump stable date [(#25)](https://github.com/pysal/libpysal/pull/25)
* bump version for point release of lag cat fix [(#24)](https://github.com/pysal/libpysal/pull/24)
<a name="esda"></a>
### esda
* enh: updating travis build and rtd [(#40)](https://github.com/pysal/esda/pull/40)
* BUG: missing rtd file [(#39)](https://github.com/pysal/esda/pull/39)
* REL: 2.0.1 [(#38)](https://github.com/pysal/esda/pull/38)
* Prepping for a doc release [(#37)](https://github.com/pysal/esda/pull/37)
* docstrings are using pysal legacy [(#4)](https://github.com/pysal/esda/issues/4)
* add zenodo doi badge [(#36)](https://github.com/pysal/esda/pull/36)
* REL: 2.0.0 [(#34)](https://github.com/pysal/esda/pull/34)
* Changing esda setup to handle version programatically [(#33)](https://github.com/pysal/esda/pull/33)
* port legacy esda fix for 1013 [(#12)](https://github.com/pysal/esda/issues/12)
* notebook links broken [(#29)](https://github.com/pysal/esda/issues/29)
* include /tests in release [(#32)](https://github.com/pysal/esda/pull/32)
* Add tests to release [(#27)](https://github.com/pysal/esda/issues/27)
* Accounting for incoming API changes to `libpysal` and adding testing against `libpysal`'s master branch [(#26)](https://github.com/pysal/esda/pull/26)
* no `varnames` in `Moran_BV_matrix` [(#22)](https://github.com/pysal/esda/issues/22)
* add `.varnames` attribute to `Moran_BV` objects in `Moran_BV_Matrix` results [(#23)](https://github.com/pysal/esda/pull/23)
* Inconsistent metadata in setup.py [(#28)](https://github.com/pysal/esda/issues/28)
* Update license [(#30)](https://github.com/pysal/esda/pull/30)
* esda has no readme [(#14)](https://github.com/pysal/esda/issues/14)
* Readme added [(#25)](https://github.com/pysal/esda/pull/25)
* move api into __init__ and remove api [(#24)](https://github.com/pysal/esda/pull/24)
* `.z` attribute divided by standard deviation [(#21)](https://github.com/pysal/esda/pull/21)
* offer standardised and non-standardised `.z`, `.x` and `.y` attributes [(#20)](https://github.com/pysal/esda/issues/20)
* get sjsrey's changes into a release [(#16)](https://github.com/pysal/esda/pull/16)
* esda's namespace is broken [(#17)](https://github.com/pysal/esda/issues/17)
* update api.py [(#18)](https://github.com/pysal/esda/pull/18)
* Update docstrings to use libpysal not pysal [(#13)](https://github.com/pysal/esda/pull/13)
* esda needs an api.py module [(#9)](https://github.com/pysal/esda/issues/9)
* chore: Update setup for 3+ [(#15)](https://github.com/pysal/esda/pull/15)
* Master [(#10)](https://github.com/pysal/esda/pull/10)
<a name="giddy"></a>
### giddy
* remove giddy.api in README.rst [(#66)](https://github.com/pysal/giddy/pull/66)
* chore: update for libpysal lower case module name changes [(#65)](https://github.com/pysal/giddy/pull/65)
* remove api.py [(#62)](https://github.com/pysal/giddy/issues/62)
* set up travis dual testing against mapclassify and esda [(#63)](https://github.com/pysal/giddy/issues/63)
* replace `libpysal.api` imports with new imports in `markov.py` and `d… [(#61)](https://github.com/pysal/giddy/pull/61)
* Remove api.py and account for changes in (incoming) API of mapclassify, esda, and libpysal [(#64)](https://github.com/pysal/giddy/pull/64)
* version giddy only in giddy/__ini__.py [(#60)](https://github.com/pysal/giddy/pull/60)
* remove duplicate makefile for sphinx build [(#59)](https://github.com/pysal/giddy/pull/59)
* add zenodo doi badge to README [(#58)](https://github.com/pysal/giddy/pull/58)
* add changelog for the release 1.2.0 [(#57)](https://github.com/pysal/giddy/pull/57)
* prepare for release 1.2.0 [(#56)](https://github.com/pysal/giddy/pull/56)
* set up dual travis tests for libpysal (pip and github) [(#55)](https://github.com/pysal/giddy/pull/55)
* ENH: Allow for more flexible specification of Spatial Markov [(#54)](https://github.com/pysal/giddy/pull/54)
* Update notebooks to rely on geopandas for mapping [(#52)](https://github.com/pysal/giddy/pull/52)
* ENH to docs [(#51)](https://github.com/pysal/giddy/pull/51)
* include /tests in the release and correct for the directional doctests [(#50)](https://github.com/pysal/giddy/pull/50)
* add doc building badge to README [(#49)](https://github.com/pysal/giddy/pull/49)
* Tests and documentation for `rose.plot()` and `rose.plot_vectors()` [(#47)](https://github.com/pysal/giddy/pull/47)
* A tentative version of giddy documentation website with sphinx [(#48)](https://github.com/pysal/giddy/pull/48)
* encoding issue in README.rst [(#45)](https://github.com/pysal/giddy/issues/45)
* force utf8 for the install description read [(#46)](https://github.com/pysal/giddy/pull/46)
* implement `rose.plot()` and `rose.plot_vectors()` method using `splot` [(#43)](https://github.com/pysal/giddy/pull/43)
* More on building doc webpages using sphinx [(#44)](https://github.com/pysal/giddy/pull/44)
* Gallery [(#42)](https://github.com/pysal/giddy/pull/42)
* new features for sphinx documentation website [(#41)](https://github.com/pysal/giddy/pull/41)
* typo - email notifications [(#40)](https://github.com/pysal/giddy/pull/40)
* fix for python 3 [(#38)](https://github.com/pysal/giddy/pull/38)
* first draft of sphinx gallery [(#39)](https://github.com/pysal/giddy/pull/39)
* add docstring for categorical spatial Markov [(#37)](https://github.com/pysal/giddy/pull/37)
* add changelog for the release 1.1.0 [(#36)](https://github.com/pysal/giddy/pull/36)
* prepare for release [(#35)](https://github.com/pysal/giddy/pull/35)
* code 2to3 [(#34)](https://github.com/pysal/giddy/pull/34)
* chore: update for python 3+ only [(#33)](https://github.com/pysal/giddy/pull/33)
* How to use the 'development' version [(#31)](https://github.com/pysal/giddy/issues/31)
* KeyError: 1 in spatial_lag.py [(#30)](https://github.com/pysal/giddy/issues/30)
* giddy needs an api.py module [(#26)](https://github.com/pysal/giddy/issues/26)
* add inequality to api [(#28)](https://github.com/pysal/giddy/pull/28)
* adding discretized Spatial_Markov [(#29)](https://github.com/pysal/giddy/pull/29)
<a name="inequality"></a>
### inequality
* Change setup to handle version pragmatically [(#6)](https://github.com/pysal/inequality/pull/6)
* accounting for libpysal api changes in unittests [(#5)](https://github.com/pysal/inequality/pull/5)
* missing parenthesis in call to print [(#2)](https://github.com/pysal/inequality/issues/2)
* setting up dual testing [(#4)](https://github.com/pysal/inequality/pull/4)
* 2to3 for _indices.py [(#3)](https://github.com/pysal/inequality/pull/3)
* Initial setup [(#1)](https://github.com/pysal/inequality/pull/1)
<a name="pointpats"></a>
### pointpats
* add changelog for release 2.0.0 [(#21)](https://github.com/pysal/pointpats/pull/21)
* remove api.py & adjust notebooks and doctests for changes in libpysal [(#19)](https://github.com/pysal/pointpats/pull/19)
* version pointpats only in pointpats/__ini__.py [(#18)](https://github.com/pysal/pointpats/pull/18)
* include /tests in the release [(#17)](https://github.com/pysal/pointpats/pull/17)
* configure dual testing [(#16)](https://github.com/pysal/pointpats/pull/16)
* install stable released libpysal for travis testing [(#15)](https://github.com/pysal/pointpats/pull/15)
* force UTF8 encoding for the long description read [(#14)](https://github.com/pysal/pointpats/pull/14)
* Prepare for the release [(#13)](https://github.com/pysal/pointpats/pull/13)
* chore: libpysal is 3 only now so removing travis tests on python 2 [(#12)](https://github.com/pysal/pointpats/pull/12)
* try removing conversion and see if this passes [(#11)](https://github.com/pysal/pointpats/pull/11)
<a name="spaghetti"></a>
### spaghetti
* refreshing documentation [(#124)](https://github.com/pysal/spaghetti/pull/124)
* option to add distance from point to snapped location [(#75)](https://github.com/pysal/spaghetti/issues/75)
* attempting pyproj_fix [(#122)](https://github.com/pysal/spaghetti/pull/122)
* [WIP] Add snap dist [(#123)](https://github.com/pysal/spaghetti/pull/123)
* travis CI build failing with `KeyError: 'PROJ_LIB'` [(#121)](https://github.com/pysal/spaghetti/issues/121)
* resolving obs_to_node question [(#120)](https://github.com/pysal/spaghetti/pull/120)
* why convert obs_to_node from defaultdict to list? [(#93)](https://github.com/pysal/spaghetti/issues/93)
* network.PointPatterns condense code chunk [(#74)](https://github.com/pysal/spaghetti/issues/74)
* condensing idvariable code chunk [(#119)](https://github.com/pysal/spaghetti/pull/119)
* Network Cross Nearest Neighbor [(#102)](https://github.com/pysal/spaghetti/issues/102)
* refreshing docs [(#117)](https://github.com/pysal/spaghetti/pull/117)
* shortest path look up from allneighborsdistances? [(#115)](https://github.com/pysal/spaghetti/issues/115)
* adding shortest path traceback for point patterns [(#116)](https://github.com/pysal/spaghetti/pull/116)
* ImportError: No module named 'boto3' [(#113)](https://github.com/pysal/spaghetti/issues/113)
* adding boto3 test req for current fiona bug [(#114)](https://github.com/pysal/spaghetti/pull/114)
* [WIP] cleanup_nearest_neighbor [(#112)](https://github.com/pysal/spaghetti/pull/112)
* duplicate neighbor distance functions? [(#91)](https://github.com/pysal/spaghetti/issues/91)
* network.allneighbordistances documentation not accurate [(#111)](https://github.com/pysal/spaghetti/issues/111)
* [WIP] General package maintenance [(#109)](https://github.com/pysal/spaghetti/pull/109)
* new badges [(#96)](https://github.com/pysal/spaghetti/issues/96)
* tools/ [(#99)](https://github.com/pysal/spaghetti/issues/99)
* updating thumbnails in docs [(#108)](https://github.com/pysal/spaghetti/pull/108)
* [WIP] updating docs, badges, tools, etc. [(#107)](https://github.com/pysal/spaghetti/pull/107)
* initializing new sphinx docs based on submodule_template [(#98)](https://github.com/pysal/spaghetti/pull/98)
* new labels for issues [(#105)](https://github.com/pysal/spaghetti/issues/105)
* populating sphinx docs [(#37)](https://github.com/pysal/spaghetti/issues/37)
* tests for analysis and util [(#44)](https://github.com/pysal/spaghetti/issues/44)
* NetworkF [(#94)](https://github.com/pysal/spaghetti/issues/94)
* rename functions to be more pythonic [(#104)](https://github.com/pysal/spaghetti/issues/104)
* add poisson distribution to tests [(#106)](https://github.com/pysal/spaghetti/issues/106)
* initial sphix docs attempt [(#67)](https://github.com/pysal/spaghetti/pull/67)
* bumping version to 1.1.0 [(#97)](https://github.com/pysal/spaghetti/pull/97)
* adding in new tests for utils.py [(#95)](https://github.com/pysal/spaghetti/pull/95)
* add flag for util.generatetree() [(#92)](https://github.com/pysal/spaghetti/issues/92)
* [completed atm] - docstrings cleanup [(#89)](https://github.com/pysal/spaghetti/pull/89)
* clean docstrings [(#77)](https://github.com/pysal/spaghetti/issues/77)
* adding MANIFEST.in [(#88)](https://github.com/pysal/spaghetti/pull/88)
* clearing Facility_Location.ipynb [(#87)](https://github.com/pysal/spaghetti/pull/87)
* removing typo in Facility_Location [(#86)](https://github.com/pysal/spaghetti/pull/86)
* clearing Facility_Location.ipynb [(#85)](https://github.com/pysal/spaghetti/pull/85)
* updating Facility_Location.ipynb for typos [(#84)](https://github.com/pysal/spaghetti/pull/84)
* adding Facility_Location.ipynb [(#83)](https://github.com/pysal/spaghetti/pull/83)
* new notebook ideas [(#48)](https://github.com/pysal/spaghetti/issues/48)
* adding windows functionality for 'last updated' [(#82)](https://github.com/pysal/spaghetti/pull/82)
* ensure nearest nodes are returned as np.array() [(#73)](https://github.com/pysal/spaghetti/pull/73)
* snapping trouble when the initial node in KDtree is the nearest [(#72)](https://github.com/pysal/spaghetti/issues/72)
* add Github version badge [(#80)](https://github.com/pysal/spaghetti/issues/80)
* add open issues badge [(#79)](https://github.com/pysal/spaghetti/issues/79)
* update notebooks as per pysal/pysal#1057 [(#81)](https://github.com/pysal/spaghetti/issues/81)
* [Complete/Needs Review] updating `in_shp` parameter in spaghetti.Network [(#69)](https://github.com/pysal/spaghetti/pull/69)
* [ENH] geopandas.GeoDataFrame for PointPattern [(#28)](https://github.com/pysal/spaghetti/issues/28)
* update in_shp kwarg in spaghetti.Network [(#68)](https://github.com/pysal/spaghetti/issues/68)
* removing undeclared edge_time attribute [(#65)](https://github.com/pysal/spaghetti/pull/65)
* update README.txt [(#33)](https://github.com/pysal/spaghetti/issues/33)
* [ENH] Add badges [(#31)](https://github.com/pysal/spaghetti/issues/31)
* Publish on Zenodo [(#36)](https://github.com/pysal/spaghetti/issues/36)
* Some errors in node_distance_matrix() [(#64)](https://github.com/pysal/spaghetti/issues/64)
* declare SMALL as np.finfo(float).eps [(#63)](https://github.com/pysal/spaghetti/pull/63)
* smallest numpy epsilon float? [(#61)](https://github.com/pysal/spaghetti/issues/61)
* [WIP] Prep for next pypi [(#60)](https://github.com/pysal/spaghetti/pull/60)
* mimic other pysal submodules for api removal [(#50)](https://github.com/pysal/spaghetti/issues/50)
* PEP8 compliant [(#38)](https://github.com/pysal/spaghetti/issues/38)
* update notebooks [(#43)](https://github.com/pysal/spaghetti/issues/43)
* api testing [(#59)](https://github.com/pysal/spaghetti/issues/59)
* DRY version documentation [(#53)](https://github.com/pysal/spaghetti/issues/53)
* configure travis dual testing for "Allowed Failures" to work [(#58)](https://github.com/pysal/spaghetti/pull/58)
* adding geopandas for dual travis testing [(#56)](https://github.com/pysal/spaghetti/pull/56)
* New tests required for new in_shp parameter option [(#30)](https://github.com/pysal/spaghetti/issues/30)
* fix or remove code_health badge [(#54)](https://github.com/pysal/spaghetti/issues/54)
* add .landscape.yml for code health [(#51)](https://github.com/pysal/spaghetti/issues/51)
* removing code health badge from README [(#55)](https://github.com/pysal/spaghetti/pull/55)
* adding .landscape.yml for code health [(#52)](https://github.com/pysal/spaghetti/pull/52)
* adding additional pip install instructions/options [(#35)](https://github.com/pysal/spaghetti/pull/35)
* dual testing [(#45)](https://github.com/pysal/spaghetti/issues/45)
* change libpysal imports in tests [(#46)](https://github.com/pysal/spaghetti/issues/46)
* change weights variable name [(#47)](https://github.com/pysal/spaghetti/issues/47)
* update notebooks for reorg [(#1)](https://github.com/pysal/spaghetti/issues/1)
* spaghetti/analysis.py:182: RuntimeWarning [(#42)](https://github.com/pysal/spaghetti/issues/42)
* change xrange to range [(#40)](https://github.com/pysal/spaghetti/issues/40)
* summation error in computeobserved() of spaghetti.analysis.py [(#41)](https://github.com/pysal/spaghetti/issues/41)
* TypeError: can't pickle dict_keys objects [(#39)](https://github.com/pysal/spaghetti/issues/39)
* add CHANGELOG [(#34)](https://github.com/pysal/spaghetti/issues/34)
* update import scheme for new package name [(#5)](https://github.com/pysal/spaghetti/issues/5)
* Prepare a release of spaghetti for pypi [(#26)](https://github.com/pysal/spaghetti/issues/26)
* pip [(#32)](https://github.com/pysal/spaghetti/issues/32)
* preparing for pypi release [(#25)](https://github.com/pysal/spaghetti/pull/25)
* api.py tests [(#19)](https://github.com/pysal/spaghetti/issues/19)
* trailing comma not allowed with surrounding parenthesis [(#29)](https://github.com/pysal/spaghetti/issues/29)
* Necessity of __future__? [(#27)](https://github.com/pysal/spaghetti/issues/27)
* `spaghetti` currently only python 2.7.x compatible [(#21)](https://github.com/pysal/spaghetti/issues/21)
* Geopandas read [(#22)](https://github.com/pysal/spaghetti/pull/22)
* Py2topy3 [(#23)](https://github.com/pysal/spaghetti/pull/23)
* Spaghetti/update travis [(#24)](https://github.com/pysal/spaghetti/pull/24)
* Generalize the Network input API for libpysal/#59 [(#20)](https://github.com/pysal/spaghetti/issues/20)
<a name="mapclassify"></a>
### mapclassify
* fix doctests (interactive examples in inline docstrings) [(#19)](https://github.com/pysal/mapclassify/pull/19)
* complete readthedocs configuration & add Slocum 2009 reference [(#17)](https://github.com/pysal/mapclassify/pull/17)
* prepping for a doc based release [(#15)](https://github.com/pysal/mapclassify/pull/15)
* new release on pypi [(#10)](https://github.com/pysal/mapclassify/issues/10)
* prepare for release 2.0.0 [(#13)](https://github.com/pysal/mapclassify/pull/13)
* Clean up for next pypi release [(#12)](https://github.com/pysal/mapclassify/pull/12)
* move notebooks outside of the package [(#11)](https://github.com/pysal/mapclassify/pull/11)
* ENH: move classifiers up into init [(#9)](https://github.com/pysal/mapclassify/pull/9)
* Moving to python 3+ [(#8)](https://github.com/pysal/mapclassify/pull/8)
<a name="splot"></a>
### splot
* merge Sprint with master branch [(#39)](https://github.com/pysal/splot/pull/39)
* Change documentation style [(#38)](https://github.com/pysal/splot/pull/38)
* add travis build badge to README.md [(#37)](https://github.com/pysal/splot/pull/37)
* fix current documentation for sprint [(#36)](https://github.com/pysal/splot/pull/36)
* `value_by_alpha` prototype [(#28)](https://github.com/pysal/splot/pull/28)
* Clean up of current code base [(#30)](https://github.com/pysal/splot/pull/30)
* Value By Alpha specification [(#24)](https://github.com/pysal/splot/issues/24)
* nonplanar example update [(#33)](https://github.com/pysal/splot/issues/33)
* add README.md [(#29)](https://github.com/pysal/splot/pull/29)
* issues in some docstrings for giddy [(#26)](https://github.com/pysal/splot/issues/26)
* debug `splot` documentation [(#25)](https://github.com/pysal/splot/pull/25)
* collection of cleanups for`splot.giddy` [(#23)](https://github.com/pysal/splot/pull/23)
* created `esda.moran.Moran_Local_BV` visualisations [(#20)](https://github.com/pysal/splot/pull/20)
* add `esda.moran.Moran_BV` visualizations to `splot.esda` [(#18)](https://github.com/pysal/splot/pull/18)
* add `seaborn` and `matplotlib` to `install_requirements` in `setup.py` [(#19)](https://github.com/pysal/splot/pull/19)
* prototype `moran_scatterplot()`, `plot_moran_simulation()` and `plot_moran()` for `esda` [(#17)](https://github.com/pysal/splot/pull/17)
* include utility functions `shift_colormap` and `truncate_colormap` [(#15)](https://github.com/pysal/splot/pull/15)
* fix setup.py so files are installed with "pip install ." [(#16)](https://github.com/pysal/splot/pull/16)
* `plot_spatial_weights` including network joins for `non_planar_joins` [(#14)](https://github.com/pysal/splot/pull/14)
* adapting existing `esda` functionality to `splot.esda` namespace and allow `.plot()` method [(#13)](https://github.com/pysal/splot/pull/13)
* adding license [(#4)](https://github.com/pysal/splot/pull/4)
* add `giddy` dynamic LISA functionality under `splot.giddy` [(#11)](https://github.com/pysal/splot/pull/11)
* start sphinx html documentation [(#12)](https://github.com/pysal/splot/pull/12)
* add visualization option with significance to mplot [(#7)](https://github.com/pysal/splot/pull/7)
* Visualising Local Autocorrelation [(#8)](https://github.com/pysal/splot/pull/8)
* Copy new changes made to viz module into split [(#5)](https://github.com/pysal/splot/pull/5)
* run 2to3 for splot [(#6)](https://github.com/pysal/splot/pull/6)
<a name="spreg"></a>
### spreg
* update docstrings for libpysal API changes [(#9)](https://github.com/pysal/spreg/pull/9)
* Merging in spanel & spreg2 code necessary for new spatial panel & GeoDaSpace [(#10)](https://github.com/pysal/spreg/pull/10)
* move to silence_warnings from current libpysal [(#7)](https://github.com/pysal/spreg/pull/7)
* add init to ensure tests are shipped [(#6)](https://github.com/pysal/spreg/pull/6)
* weights typechecking will only accept things from `pysal`. [(#3)](https://github.com/pysal/spreg/issues/3)
* relax error checking in check_weights [(#4)](https://github.com/pysal/spreg/pull/4)
* simplify testing [(#5)](https://github.com/pysal/spreg/pull/5)
* Convert spreg to common subset 2,3 code [(#2)](https://github.com/pysal/spreg/pull/2)
<a name="spglm"></a>
### spglm
* fix docstrings (as well as some within interactive examples) [(#14)](https://github.com/pysal/spglm/pull/14)
* Fix docs [(#17)](https://github.com/pysal/spglm/pull/17)
* Submodule [(#16)](https://github.com/pysal/spglm/pull/16)
* submodule_contract [(#13)](https://github.com/pysal/spglm/pull/13)
* Inconsistent metadata in setup.py [(#10)](https://github.com/pysal/spglm/issues/10)
* adapting spglm to new libpysal [(#12)](https://github.com/pysal/spglm/pull/12)
* move to using libpysal.io.open rather than just libpysal.open [(#11)](https://github.com/pysal/spglm/pull/11)
* Freeze [(#8)](https://github.com/pysal/spglm/pull/8)
* add tr_S attribute for use in GWR [(#7)](https://github.com/pysal/spglm/pull/7)
* remove pysal requirements [(#6)](https://github.com/pysal/spglm/pull/6)
* remove v 2.x tests from CI [(#5)](https://github.com/pysal/spglm/pull/5)
* houskeeping of new basefiles needed as a submodule [(#4)](https://github.com/pysal/spglm/pull/4)
<a name="spint"></a>
### spint
* add changelog [(#15)](https://github.com/pysal/spint/pull/15)
* pypi files do not include tests [(#9)](https://github.com/pysal/spint/issues/9)
* Submodule [(#14)](https://github.com/pysal/spint/pull/14)
* adapting spint to newest version of libpysal [(#13)](https://github.com/pysal/spint/pull/13)
* Reorg [(#12)](https://github.com/pysal/spint/pull/12)
* spint has pysal as a dependency, should be libpysal [(#2)](https://github.com/pysal/spint/issues/2)
* api.py syntax error [(#10)](https://github.com/pysal/spint/issues/10)
* removed trailing api comma [(#11)](https://github.com/pysal/spint/pull/11)
* Freeze [(#8)](https://github.com/pysal/spint/pull/8)
* update dependencies [(#7)](https://github.com/pysal/spint/pull/7)
* remove v 2.x test from CI [(#6)](https://github.com/pysal/spint/pull/6)
* version bump [(#5)](https://github.com/pysal/spint/pull/5)
* Common subset [(#4)](https://github.com/pysal/spint/pull/4)
* houskeeping of basefiles needed for submodule [(#3)](https://github.com/pysal/spint/pull/3)
<a name="mgwr"></a>
### mgwr
* add solve from scipy instead of inv [(#45)](https://github.com/pysal/mgwr/pull/45)
* bool variables and singular matrix error [(#42)](https://github.com/pysal/mgwr/issues/42)
* update travis.yml for matrix testing [(#44)](https://github.com/pysal/mgwr/pull/44)
* add changelog [(#43)](https://github.com/pysal/mgwr/pull/43)
* fix compare_surfaces docstrings [(#40)](https://github.com/pysal/mgwr/pull/40)
* add docs for viz function compare_surfaces [(#39)](https://github.com/pysal/mgwr/pull/39)
* add compare_surfaces docstring and bump version [(#38)](https://github.com/pysal/mgwr/pull/38)
* add viz functions to docs [(#37)](https://github.com/pysal/mgwr/pull/37)
* add_map_func [(#36)](https://github.com/pysal/mgwr/pull/36)
* add badges to README [(#35)](https://github.com/pysal/mgwr/pull/35)
* (ENH) prepare online docs [(#33)](https://github.com/pysal/mgwr/pull/33)
* Revert "move notebooks outside of the package folder and fix notebooks" [(#34)](https://github.com/pysal/mgwr/pull/34)
* move notebooks outside of the package folder and fix notebooks [(#32)](https://github.com/pysal/mgwr/pull/32)
* Georgia main example patch [(#31)](https://github.com/pysal/mgwr/pull/31)
* format gwr.py following PEP 8 style and fix docstrings [(#30)](https://github.com/pysal/mgwr/pull/30)
* use libpysal in docstrings and adapt to python 3 syntax [(#29)](https://github.com/pysal/mgwr/pull/29)
* Inconsistent metadata info on setup.py [(#25)](https://github.com/pysal/mgwr/issues/25)
* rebuild rights access? [(#28)](https://github.com/pysal/mgwr/issues/28)
* swap to libpysal.io.open [(#26)](https://github.com/pysal/mgwr/pull/26)
* adapting mgwr to newest libpysal [(#27)](https://github.com/pysal/mgwr/pull/27)
* change spreg import pattern [(#24)](https://github.com/pysal/mgwr/pull/24)
* change imports from spreg [(#22)](https://github.com/pysal/mgwr/issues/22)
* rework pickles in the tests [(#21)](https://github.com/pysal/mgwr/issues/21)
* Swap to use more portable types than pickles [(#23)](https://github.com/pysal/mgwr/pull/23)
* Output summary [(#17)](https://github.com/pysal/mgwr/issues/17)
* Adding summary output [(#18)](https://github.com/pysal/mgwr/pull/18)
* Freeze [(#20)](https://github.com/pysal/mgwr/pull/20)
* Allow user-set BW's for MGWR [(#7)](https://github.com/pysal/mgwr/issues/7)
* Set mgwr bw [(#15)](https://github.com/pysal/mgwr/pull/15)
* adds py27 to ci [(#16)](https://github.com/pysal/mgwr/pull/16)
* Gwr to mgwr [(#14)](https://github.com/pysal/mgwr/pull/14)
* Standard errors and t-vals [(#8)](https://github.com/pysal/mgwr/issues/8)
* Redundant calculation of Aj [(#10)](https://github.com/pysal/mgwr/issues/10)
* question about final fit in MGWR class? [(#1)](https://github.com/pysal/mgwr/issues/1)
* change main directory from gwr to mgwr [(#13)](https://github.com/pysal/mgwr/pull/13)
* Update mgwr [(#12)](https://github.com/pysal/mgwr/pull/12)
* clean up MGWR [(#11)](https://github.com/pysal/mgwr/pull/11)
* Consolidate MGWR [(#5)](https://github.com/pysal/mgwr/pull/5)
* hat matrices [(#2)](https://github.com/pysal/mgwr/issues/2)
<a name="spvcm"></a>
### spvcm
* change the API to reflect up-to-date libpysal api [(#7)](https://github.com/pysal/spvcm/pull/7)
* Test failures in effective size & geweke diagnostics [(#2)](https://github.com/pysal/spvcm/issues/2)
* update plotting and diagnostics for pandas deprecation [(#3)](https://github.com/pysal/spvcm/pull/3)
<a name="summary-statistics"></a>
## Summary Statistics
<a name="package-activity"></a>
### Package Activity
<table border="1" class="dataframe">
<thead>
<tr style="text-align: right;">
<th>package</th>
<th>commits</th>
<th>total issues</th>
<th>pulls</th>
</tr>
</thead>
<tbody>
<tr>
<td>spaghetti</td>
<td>282</td>
<td>94</td>
<td>34</td>
</tr>
<tr>
<td>libpysal</td>
<td>276</td>
<td>79</td>
<td>57</td>
</tr>
<tr>
<td>splot</td>
<td>247</td>
<td>27</td>
<td>21</td>
</tr>
<tr>
<td>mgwr</td>
<td>245</td>
<td>39</td>
<td>24</td>
</tr>
<tr>
<td>giddy</td>
<td>137</td>
<td>38</td>
<td>31</td>
</tr>
<tr>
<td>esda</td>
<td>80</td>
<td>29</td>
<td>19</td>
</tr>
<tr>
<td>spglm</td>
<td>70</td>
<td>12</td>
<td>9</td>
</tr>
<tr>
<td>spint</td>
<td>63</td>
<td>14</td>
<td>11</td>
</tr>
<tr>
<td>spreg</td>
<td>57</td>
<td>8</td>
<td>6</td>
</tr>
<tr>
<td>spvcm</td>
<td>55</td>
<td>3</td>
<td>1</td>
</tr>
<tr>
<td>mapclassify</td>
<td>48</td>
<td>9</td>
<td>8</td>
</tr>
<tr>
<td>pointpats</td>
<td>40</td>
<td>10</td>
<td>10</td>
</tr>
<tr>
<td>inequality</td>
<td>36</td>
<td>6</td>
<td>5</td>
</tr>
</tbody>
</table>
<a name="contributor-activity"></a>
### Contributor Activity
<table border="1" class="dataframe">
<thead>
<tr style="text-align: right;">
<th></th>
<th>commits</th>
</tr>
</thead>
<tbody>
<tr>
<th>Dani Arribas-Bel</th>
<td>25</td>
</tr>
<tr>
<th>Eli Knaap</th>
<td>14</td>
</tr>
<tr>
<th>Hu Shao</th>
<td>5</td>
</tr>
<tr>
<th>James Gaboardi</th>
<td>314</td>
</tr>
<tr>
<th>Jsignell</th>
<td>1</td>
</tr>
<tr>
<th>Levi John Wolf</th>
<td>262</td>
</tr>
<tr>
<th>Philip Kahn</th>
<td>2</td>
</tr>
<tr>
<th>Serge Rey</th>
<td>239</td>
</tr>
<tr>
<th>Stefanie Lumnitz</th>
<td>240</td>
</tr>
<tr>
<th>Taylor Oshan</th>
<td>243</td>
</tr>
<tr>
<th>Thequackdaddy</th>
<td>1</td>
</tr>
<tr>
<th>Wei Kang</th>
<td>225</td>
</tr>
<tr>
<th>Ziqi Li</th>
<td>51</td>
</tr>
</tbody>
</table>
<a name="contributor-by-package-activity"></a>
### Contributor by Package Activity
<table border="1" class="dataframe">
<thead>
<tr style="text-align: right;">
<th></th>
<th>Dani Arribas-Bel</th>
<th>Eli Knaap</th>
<th>Hu Shao</th>
<th>James Gaboardi</th>
<th>Jsignell</th>
<th>Levi John Wolf</th>
<th>Philip Kahn</th>
<th>Serge Rey</th>
<th>Stefanie Lumnitz</th>
<th>Taylor Oshan</th>
<th>Thequackdaddy</th>
<th>Wei Kang</th>
<th>Ziqi Li</th>
</tr>
</thead>
<tbody>
<tr>
<th>lib.libpysal</th>
<td>19</td>
<td>12</td>
<td>0</td>
<td>8</td>
<td>0</td>
<td>112</td>
<td>0</td>
<td>101</td>
<td>2</td>
<td>4</td>
<td>0</td>
<td>18</td>
<td>0</td>
</tr>
<tr>
<th>explore.esda</th>
<td>0</td>
<td>0</td>
<td>0</td>
<td>1</td>
<td>0</td>
<td>11</td>
<td>0</td>
<td>50</td>
<td>10</td>
<td>0</td>
<td>0</td>
<td>8</td>
<td>0</td>
</tr>
<tr>
<th>explore.giddy</th>
<td>0</td>
<td>2</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>1</td>
<td>0</td>
<td>18</td>
<td>10</td>
<td>0</td>
<td>0</td>
<td>103</td>
<td>0</td>
</tr>
<tr>
<th>explore.inequality</th>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>1</td>
<td>0</td>
<td>20</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>11</td>
<td>0</td>
</tr>
<tr>
<th>explore.pointpats</th>
<td>0</td>
<td>0</td>
<td>5</td>
<td>0</td>
<td>0</td>
<td>7</td>
<td>0</td>
<td>2</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>26</td>
<td>0</td>
</tr>
<tr>
<th>explore.spaghetti</th>
<td>0</td>
<td>0</td>
<td>0</td>
<td>278</td>
<td>0</td>
<td>3</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>1</td>
<td>0</td>
</tr>
<tr>
<th>viz.mapclassify</th>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>3</td>
<td>0</td>
<td>22</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>23</td>
<td>0</td>
</tr>
<tr>
<th>viz.splot</th>
<td>6</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>1</td>
<td>9</td>
<td>0</td>
<td>7</td>
<td>218</td>
<td>0</td>
<td>1</td>
<td>0</td>
<td>0</td>
</tr>
<tr>
<th>model.spreg</th>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>40</td>
<td>0</td>
<td>17</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
</tr>
<tr>
<th>model.spglm</th>
<td>0</td>
<td>0</td>
<td>0</td>
<td>7</td>
<td>0</td>
<td>1</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>60</td>
<td>0</td>
<td>1</td>
<td>0</td>
</tr>
<tr>
<th>model.spint</th>
<td>0</td>
<td>0</td>
<td>0</td>
<td>7</td>
<td>0</td>
<td>9</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>42</td>
<td>0</td>
<td>4</td>
<td>0</td>
</tr>
<tr>
<th>model.mgwr</th>
<td>0</td>
<td>0</td>
<td>0</td>
<td>12</td>
<td>0</td>
<td>13</td>
<td>2</td>
<td>0</td>
<td>0</td>
<td>137</td>
<td>0</td>
<td>30</td>
<td>51</td>
</tr>
<tr>
<th>model.spvcm</th>
<td>0</td>
<td>0</td>
<td>0</td>
<td>1</td>
<td>0</td>
<td>52</td>
<td>0</td>
<td>2</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
</tr>
</tbody>
</table>
v<1.14.3>, 2017-11-2
GitHub stats for 2017/09/23 - 2017/11/02
These lists are automatically generated, and may be incomplete or contain duplicates.
We closed a total of 31 issues, 8 pull requests and 23 regular issues;
this is the full list (generated with the script
:file:`tools/github_stats.py`):
Pull Requests (8):
* :ghpull:`997`: b'edit README.md for example datasets'
* :ghpull:`999`: b'Raise ImportError on missing palettable and PEP8'
* :ghpull:`983`: b'Fix inconsistent use of tabs and spaces in indentation.'
* :ghpull:`995`: b'Foliumfix'
* :ghpull:`993`: b'B991'
* :ghpull:`988`: b'Resolve issue of "False" "id_order_set" when building contiguity weights from shapefile even if `idVariable` is given in initialization'
* :ghpull:`982`: b'update release instructions for new test.pypi'
* :ghpull:`979`: b'Rel 1.14.2'
Issues (23):
* :ghissue:`997`: b'edit README.md for example datasets'
* :ghissue:`970`: b'Odd pysal.Moran() randomisation VI'
* :ghissue:`999`: b'Raise ImportError on missing palettable and PEP8'
* :ghissue:`998`: b'Should missing palettable be a warning or error? '
* :ghissue:`981`: b'mixed indentation in `iwls`'
* :ghissue:`987`: b"discrepancy in EB Local Moran's I with PySAL vs. GeoDa results"
* :ghissue:`992`: b'Scipy 1.0.0 Compat issues'
* :ghissue:`991`: b'Chisqprob is deprecated'
* :ghissue:`983`: b'Fix inconsistent use of tabs and spaces in indentation.'
* :ghissue:`996`: b'edit README for example datasets'
* :ghissue:`989`: b"resolve discrepancy of estimating Moran's I corrected for rates between GeoDa and pysal"
* :ghissue:`995`: b'Foliumfix'
* :ghissue:`994`: b'folium breakage'
* :ghissue:`971`: b'base_lisa_cluster function call does not pass p_thresh'
* :ghissue:`993`: b'B991'
* :ghissue:`984`: b'Level dev & master, incorporate 983'
* :ghissue:`990`: b'problem with open shp file'
* :ghissue:`988`: b'Resolve issue of "False" "id_order_set" when building contiguity weights from shapefile even if `idVariable` is given in initialization'
* :ghissue:`980`: b'release documentation test pypi is out of date'
* :ghissue:`982`: b'update release instructions for new test.pypi'
* :ghissue:`978`: b'Coordinate releases on pypi and github'
* :ghissue:`976`: b'bump pysal/pysal/version.py please'
* :ghissue:`979`: b'Rel 1.14.2'
v<1.14.2>, 2017-09-23
This is a bug fix release for the 1.14 Python 2.x. series of PySAL.
We closed a total of 8 issues, 3 pull requests and 5 regular issues;
this is the full list (generated with the script
:file:`tools/github_stats.py`):
Pull Requests (3):
* :ghpull:`975`: Correction of Geary's C under randomization
* :ghpull:`972`: Bug Fix for #970
* :ghpull:`973`: Passing p_thres in plot_lisa_cluster. This fixes #971
Issues (5):
* :ghissue:`974`: Re: #979
* :ghissue:`975`: Correction of Geary's C under randomization
* :ghissue:`972`: Bug Fix for #970
* :ghissue:`973`: Passing p_thres in plot_lisa_cluster. This fixes #971
* :ghissue:`968`: find_bin does not include top value
v<1.14.0>, 2017-07-13
This is the last version of PySAL that will officially support Python 2.x.
This version will also receive only bug fixes going forward. All new PySAL
functionality will be added using the new structure documented at pysal.org.
We closed a total of 114 issues, 36 pull requests and 78 regular issues;
this is the full list (generated with the script
:file:`tools/github_stats.py`):
Pull Requests (36):
* :ghpull:`915`: Network dev
* :ghpull:`911`: coverage change
* :ghpull:`931`: Fix for negative values of ebi_v in assancao_rate smoother function
* :ghpull:`955`: Minor corrections to issue template
* :ghpull:`888`: Fix unusual interpreter path.
* :ghpull:`926`: DOC: fix a broken link (HTTP 404) in documentation
* :ghpull:`951`: Order enforce
* :ghpull:`953`: deprecating headbanging
* :ghpull:`952`: fix for #932 coordinates need to be (lon, lat) not (lat, lon)
* :ghpull:`946`: [WIP] add Distance bugfix
* :ghpull:`942`: fixed the bug in reading the new ArcGIS .swm file
* :ghpull:`947`: [WIP] fix bug #944
* :ghpull:`950`: Lag cat fix
* :ghpull:`928`: Fixed incorrect file path in fileio.rst
* :ghpull:`927`: DOC: fix formatting of a code block in the documentation
* :ghpull:`934`: Added String_Type values to unsupported file types
* :ghpull:`929`: DOC: make code snippet in documentation compatible to Python 3
* :ghpull:`924`: add pseudocode makefile
* :ghpull:`916`: Util.compute length
* :ghpull:`919`: Dijkstra mp
* :ghpull:`921`: Mapping: allow tips parameter even if col not passed
* :ghpull:`912`: adjust the formula for calculating local Moran's I in the docs
* :ghpull:`913`: 0. Fixed docstring that was causing latex error
* :ghpull:`910`: add new weights classes & methods to docs & tutorials