@sjsrey sjsrey released this Jan 30, 2019 · 8 commits to master since this release

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 numerous bug fixes and optimizations.

Table of Contents

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 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.

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. This is headed by our Google Summer of Code (2018) student, Stefanie Lumnitz, and will be ongoing throughout the release candidate maturation cycle.

  • pointpats, a package for the statistical analysis of point patterns, geographical colocation, and dispersion.

Significant Enhancements to Existing Packages

We've also had a ton of activity adding new features in our submodules:

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.

libpysal

  • weights.distance.KNN.from_dataframe ignoring radius (#116)
  • Always make spherical KDTrees if radius is passed (#117)
  • [ENH] should weights.util.get_ids() also accept a geodataframe? (#97)
  • enh: add doctests to travis (#2) (#112)
  • sphinx docs need updating (#49)
  • Add notebooks for subpackage contract (#108)
  • Api docs complete (#110)
  • Doctests and start of documentation for libpysal (#109)
  • Add dependencies to requirements_plus.txt for test_db (#107)
  • Weights/util/get ids gdf (#101)
  • missing adjustments to lower case module names (#106)
  • Rel.4.0.0 (#105)
  • REL: 3.0.8 (#104)
  • error importing v3.0.7 (#100)
  • Lower case module names (#98)
  • remove function regime_weights (#96)
  • depreciating regime_weights in the new release? (#94)
  • inconsistency in api? (#93)
  • Ensure consistency in from .module import * in components of libpysal (#95)
  • [WIP] cleanup (#88)
  • docstrings for attributes are defined in properties (#87)
  • docstrings in W class need editing (#64)
  • version name as version (#92)
  • remove del statements and modify alphashape all (#89)
  • libpysal/libpysal/cg/init.py not importing rtree (#90)
  • including rtree in imports (#91)
  • BUG: test_weights_IO.py is using pysal and hard-coded paths (#85)
  • fix hardcoded swm test (#86)
  • check for spatial index if nonplanar neighbors (#84)
  • nonplanar_neighbors fails when sindex is not constructed. (#63)
  • increment version number and add bugfixes, api changes (#79)
  • Spherebug (#82)
  • only warn once for islands/disconnected components (#83)
  • only warn on disconnected components if there are no islands (#81)
  • LEP: Stuff/use pysal/network stuff to provide queen weights on linestring dataframes (#59)
  • swm fix not ported forward from pysal. (#66)
  • import scipy syntax typo in the new issue template (#68)
  • deletion of extra spaces in warning message (#78)
  • Nightli.es build permissions (#77)
  • name of geometry column is hardcoded in nonplanar_neighbors (#75)
  • changed geometry column name from a str to an attribute (#76)
  • Missing example file (#71)
  • if numba isn't present, libpysal warns every time imported (#73)
  • add check for disconnected components (#65)
  • clean up for release (#74)
  • update for new examples (#72)
  • Swm (#70)
  • Remaining concerns left unfixed in #61 (#62)
  • [WIP] Alpha shapes (2D) code (#58)
  • [WIP]: add linestring/multilinestring functionality (#61)
  • Fuzzy contiguity (#57)
  • add berlin example (#56)
  • force UTF8 encoding for the long description read (#55)
  • add guerry example dataset (#45)
  • update georgia shapefile (#53)
  • fix typo add non_planar_joins instead of non_planar_neighbor attr… (#54)
  • add voronoi to the API (#46)
  • ENH: Neighbor detection for nonplanar enforced polygon collections. (#51)
  • Missing example used by gwr tests (#43)
  • Wplot (#50)
  • close the door on 2 for libpysal (#44)
  • To networkx argument name changed (#40)
  • bump micro version (#42)
  • fix networkx adapters (#41)
  • minor version bump for release (#39)
  • Plot weights (#38)
  • forward port of legacy fix #1028 (#37)
  • Adding Voronoi generator for cg as well as Voronoi weights from 2-d points (#36)
  • bump version for release (#34)
  • attach_islands correction: incorporate pr #32 (#33)
  • change data type of contiguity W.neighbors value from set to list (consistent with other weights) (#32)
  • add a function to attach the nearest neighbor to island (#30)
  • fix id2i lookup for string names and make better names (#31)
  • two modules “Wsets.py” and "util.py" depend on each other (#26)
  • add unittest for Wset.w_clip (#29)
  • resolve circular import in Wsets and util (#28)
  • update doctests in weights module to use libpysal instead of pysal (#27)
  • bump stable date (#25)
  • bump version for point release of lag cat fix (#24)

esda

  • enh: updating travis build and rtd (#40)
  • BUG: missing rtd file (#39)
  • REL: 2.0.1 (#38)
  • Prepping for a doc release (#37)
  • docstrings are using pysal legacy (#4)
  • add zenodo doi badge (#36)
  • REL: 2.0.0 (#34)
  • Changing esda setup to handle version programatically (#33)
  • port legacy esda fix for 1013 (#12)
  • notebook links broken (#29)
  • include /tests in release (#32)
  • Add tests to release (#27)
  • Accounting for incoming API changes to libpysal and adding testing against libpysal's master branch (#26)
  • no varnames in Moran_BV_matrix (#22)
  • add .varnames attribute to Moran_BV objects in Moran_BV_Matrix results (#23)
  • Inconsistent metadata in setup.py (#28)
  • Update license (#30)
  • esda has no readme (#14)
  • Readme added (#25)
  • move api into init and remove api (#24)
  • .z attribute divided by standard deviation (#21)
  • offer standardised and non-standardised .z, .x and .y attributes (#20)
  • get sjsrey's changes into a release (#16)
  • esda's namespace is broken (#17)
  • update api.py (#18)
  • Update docstrings to use libpysal not pysal (#13)
  • esda needs an api.py module (#9)
  • chore: Update setup for 3+ (#15)
  • Master (#10)

giddy

  • remove giddy.api in README.rst (#66)
  • chore: update for libpysal lower case module name changes (#65)
  • remove api.py (#62)
  • set up travis dual testing against mapclassify and esda (#63)
  • replace libpysal.api imports with new imports in markov.py and `d… (#61)
  • Remove api.py and account for changes in (incoming) API of mapclassify, esda, and libpysal (#64)
  • version giddy only in giddy/ini.py (#60)
  • remove duplicate makefile for sphinx build (#59)
  • add zenodo doi badge to README (#58)
  • add changelog for the release 1.2.0 (#57)
  • prepare for release 1.2.0 (#56)
  • set up dual travis tests for libpysal (pip and github) (#55)
  • ENH: Allow for more flexible specification of Spatial Markov (#54)
  • Update notebooks to rely on geopandas for mapping (#52)
  • ENH to docs (#51)
  • include /tests in the release and correct for the directional doctests (#50)
  • add doc building badge to README (#49)
  • Tests and documentation for rose.plot() and rose.plot_vectors() (#47)
  • A tentative version of giddy documentation website with sphinx (#48)
  • encoding issue in README.rst (#45)
  • force utf8 for the install description read (#46)
  • implement rose.plot() and rose.plot_vectors() method using splot (#43)
  • More on building doc webpages using sphinx (#44)
  • Gallery (#42)
  • new features for sphinx documentation website (#41)
  • typo - email notifications (#40)
  • fix for python 3 (#38)
  • first draft of sphinx gallery (#39)
  • add docstring for categorical spatial Markov (#37)
  • add changelog for the release 1.1.0 (#36)
  • prepare for release (#35)
  • code 2to3 (#34)
  • chore: update for python 3+ only (#33)
  • How to use the 'development' version (#31)
  • KeyError: 1 in spatial_lag.py (#30)
  • giddy needs an api.py module (#26)
  • add inequality to api (#28)
  • adding discretized Spatial_Markov (#29)

inequality

  • Change setup to handle version pragmatically (#6)
  • accounting for libpysal api changes in unittests (#5)
  • missing parenthesis in call to print (#2)
  • setting up dual testing (#4)
  • 2to3 for _indices.py (#3)
  • Initial setup (#1)

pointpats

  • add changelog for release 2.0.0 (#21)
  • remove api.py & adjust notebooks and doctests for changes in libpysal (#19)
  • version pointpats only in pointpats/ini.py (#18)
  • include /tests in the release (#17)
  • configure dual testing (#16)
  • install stable released libpysal for travis testing (#15)
  • force UTF8 encoding for the long description read (#14)
  • Prepare for the release (#13)
  • chore: libpysal is 3 only now so removing travis tests on python 2 (#12)
  • try removing conversion and see if this passes (#11)

spaghetti

  • refreshing documentation (#124)
  • option to add distance from point to snapped location (#75)
  • attempting pyproj_fix (#122)
  • [WIP] Add snap dist (#123)
  • travis CI build failing with KeyError: 'PROJ_LIB' (#121)
  • resolving obs_to_node question (#120)
  • why convert obs_to_node from defaultdict to list? (#93)
  • network.PointPatterns condense code chunk (#74)
  • condensing idvariable code chunk (#119)
  • Network Cross Nearest Neighbor (#102)
  • refreshing docs (#117)
  • shortest path look up from allneighborsdistances? (#115)
  • adding shortest path traceback for point patterns (#116)
  • ImportError: No module named 'boto3' (#113)
  • adding boto3 test req for current fiona bug (#114)
  • [WIP] cleanup_nearest_neighbor (#112)
  • duplicate neighbor distance functions? (#91)
  • network.allneighbordistances documentation not accurate (#111)
  • [WIP] General package maintenance (#109)
  • new badges (#96)
  • tools/ (#99)
  • updating thumbnails in docs (#108)
  • [WIP] updating docs, badges, tools, etc. (#107)
  • initializing new sphinx docs based on submodule_template (#98)
  • new labels for issues (#105)
  • populating sphinx docs (#37)
  • tests for analysis and util (#44)
  • NetworkF (#94)
  • rename functions to be more pythonic (#104)
  • add poisson distribution to tests (#106)
  • initial sphix docs attempt (#67)
  • bumping version to 1.1.0 (#97)
  • adding in new tests for utils.py (#95)
  • add flag for util.generatetree() (#92)
  • [completed atm] - docstrings cleanup (#89)
  • clean docstrings (#77)
  • adding MANIFEST.in (#88)
  • clearing Facility_Location.ipynb (#87)
  • removing typo in Facility_Location (#86)
  • clearing Facility_Location.ipynb (#85)
  • updating Facility_Location.ipynb for typos (#84)
  • adding Facility_Location.ipynb (#83)
  • new notebook ideas (#48)
  • adding windows functionality for 'last updated' (#82)
  • ensure nearest nodes are returned as np.array() (#73)
  • snapping trouble when the initial node in KDtree is the nearest (#72)
  • add Github version badge (#80)
  • add open issues badge (#79)
  • update notebooks as per #1057 (#81)
  • [Complete/Needs Review] updating in_shp parameter in spaghetti.Network (#69)
  • [ENH] geopandas.GeoDataFrame for PointPattern (#28)
  • update in_shp kwarg in spaghetti.Network (#68)
  • removing undeclared edge_time attribute (#65)
  • update README.txt (#33)
  • [ENH] Add badges (#31)
  • Publish on Zenodo (#36)
  • Some errors in node_distance_matrix() (#64)
  • declare SMALL as np.finfo(float).eps (#63)
  • smallest numpy epsilon float? (#61)
  • [WIP] Prep for next pypi (#60)
  • mimic other pysal submodules for api removal (#50)
  • PEP8 compliant (#38)
  • update notebooks (#43)
  • api testing (#59)
  • DRY version documentation (#53)
  • configure travis dual testing for "Allowed Failures" to work (#58)
  • adding geopandas for dual travis testing (#56)
  • New tests required for new in_shp parameter option (#30)
  • fix or remove code_health badge (#54)
  • add .landscape.yml for code health (#51)
  • removing code health badge from README (#55)
  • adding .landscape.yml for code health (#52)
  • adding additional pip install instructions/options (#35)
  • dual testing (#45)
  • change libpysal imports in tests (#46)
  • change weights variable name (#47)
  • update notebooks for reorg (#1)
  • spaghetti/analysis.py:182: RuntimeWarning (#42)
  • change xrange to range (#40)
  • summation error in computeobserved() of spaghetti.analysis.py (#41)
  • TypeError: can't pickle dict_keys objects (#39)
  • add CHANGELOG (#34)
  • update import scheme for new package name (#5)
  • Prepare a release of spaghetti for pypi (#26)
  • pip (#32)
  • preparing for pypi release (#25)
  • api.py tests (#19)
  • trailing comma not allowed with surrounding parenthesis (#29)
  • Necessity of future? (#27)
  • spaghetti currently only python 2.7.x compatible (#21)
  • Geopandas read (#22)
  • Py2topy3 (#23)
  • Spaghetti/update travis (#24)
  • Generalize the Network input API for libpysal/#59 (#20)

mapclassify

  • fix doctests (interactive examples in inline docstrings) (#19)
  • complete readthedocs configuration & add Slocum 2009 reference (#17)
  • prepping for a doc based release (#15)
  • new release on pypi (#10)
  • prepare for release 2.0.0 (#13)
  • Clean up for next pypi release (#12)
  • move notebooks outside of the package (#11)
  • ENH: move classifiers up into init (#9)
  • Moving to python 3+ (#8)

splot

  • merge Sprint with master branch (#39)
  • Change documentation style (#38)
  • add travis build badge to README.md (#37)
  • fix current documentation for sprint (#36)
  • value_by_alpha prototype (#28)
  • Clean up of current code base (#30)
  • Value By Alpha specification (#24)
  • nonplanar example update (#33)
  • add README.md (#29)
  • issues in some docstrings for giddy (#26)
  • debug splot documentation (#25)
  • collection of cleanups forsplot.giddy (#23)
  • created esda.moran.Moran_Local_BV visualisations (#20)
  • add esda.moran.Moran_BV visualizations to splot.esda (#18)
  • add seaborn and matplotlib to install_requirements in setup.py (#19)
  • prototype moran_scatterplot(), plot_moran_simulation() and plot_moran() for esda (#17)
  • include utility functions shift_colormap and truncate_colormap (#15)
  • fix setup.py so files are installed with "pip install ." (#16)
  • plot_spatial_weights including network joins for non_planar_joins (#14)
  • adapting existing esda functionality to splot.esda namespace and allow .plot() method (#13)
  • adding license (#4)
  • add giddy dynamic LISA functionality under splot.giddy (#11)
  • start sphinx html documentation (#12)
  • add visualization option with significance to mplot (#7)
  • Visualising Local Autocorrelation (#8)
  • Copy new changes made to viz module into split (#5)
  • run 2to3 for splot (#6)

spreg

  • update docstrings for libpysal API changes (#9)
  • Merging in spanel & spreg2 code necessary for new spatial panel & GeoDaSpace (#10)
  • move to silence_warnings from current libpysal (#7)
  • add init to ensure tests are shipped (#6)
  • weights typechecking will only accept things from pysal. (#3)
  • relax error checking in check_weights (#4)
  • simplify testing (#5)
  • Convert spreg to common subset 2,3 code (#2)

spglm

  • fix docstrings (as well as some within interactive examples) (#14)
  • Fix docs (#17)
  • Submodule (#16)
  • submodule_contract (#13)
  • Inconsistent metadata in setup.py (#10)
  • adapting spglm to new libpysal (#12)
  • move to using libpysal.io.open rather than just libpysal.open (#11)
  • Freeze (#8)
  • add tr_S attribute for use in GWR (#7)
  • remove pysal requirements (#6)
  • remove v 2.x tests from CI (#5)
  • houskeeping of new basefiles needed as a submodule (#4)

spint

  • add changelog (#15)
  • pypi files do not include tests (#9)
  • Submodule (#14)
  • adapting spint to newest version of libpysal (#13)
  • Reorg (#12)
  • spint has pysal as a dependency, should be libpysal (#2)
  • api.py syntax error (#10)
  • removed trailing api comma (#11)
  • Freeze (#8)
  • update dependencies (#7)
  • remove v 2.x test from CI (#6)
  • version bump (#5)
  • Common subset (#4)
  • houskeeping of basefiles needed for submodule (#3)

mgwr

  • add solve from scipy instead of inv (#45)
  • bool variables and singular matrix error (#42)
  • update travis.yml for matrix testing (#44)
  • add changelog (#43)
  • fix compare_surfaces docstrings (#40)
  • add docs for viz function compare_surfaces (#39)
  • add compare_surfaces docstring and bump version (#38)
  • add viz functions to docs (#37)
  • add_map_func (#36)
  • add badges to README (#35)
  • (ENH) prepare online docs (#33)
  • Revert "move notebooks outside of the package folder and fix notebooks" (#34)
  • move notebooks outside of the package folder and fix notebooks (#32)
  • Georgia main example patch (#31)
  • format gwr.py following PEP 8 style and fix docstrings (#30)
  • use libpysal in docstrings and adapt to python 3 syntax (#29)
  • Inconsistent metadata info on setup.py (#25)
  • rebuild rights access? (#28)
  • swap to libpysal.io.open (#26)
  • adapting mgwr to newest libpysal (#27)
  • change spreg import pattern (#24)
  • change imports from spreg (#22)
  • rework pickles in the tests (#21)
  • Swap to use more portable types than pickles (#23)
  • Output summary (#17)
  • Adding summary output (#18)
  • Freeze (#20)
  • Allow user-set BW's for MGWR (#7)
  • Set mgwr bw (#15)
  • adds py27 to ci (#16)
  • Gwr to mgwr (#14)
  • Standard errors and t-vals (#8)
  • Redundant calculation of Aj (#10)
  • question about final fit in MGWR class? (#1)
  • change main directory from gwr to mgwr (#13)
  • Update mgwr (#12)
  • clean up MGWR (#11)
  • Consolidate MGWR (#5)
  • hat matrices (#2)

spvcm

  • change the API to reflect up-to-date libpysal api (#7)
  • Test failures in effective size & geweke diagnostics (#2)
  • update plotting and diagnostics for pandas deprecation (#3)

Summary Statistics

Package Activity

package commits total issues pulls
spaghetti 282 94 34
libpysal 276 79 57
splot 247 27 21
mgwr 245 39 24
giddy 137 38 31
esda 80 29 19
spglm 70 12 9
spint 63 14 11
spreg 57 8 6
spvcm 55 3 1
mapclassify 48 9 8
pointpats 40 10 10
inequality 36 6 5

Contributor Activity

commits
Dani Arribas-Bel 25
Eli Knaap 14
Hu Shao 5
James Gaboardi 314
Jsignell 1
Levi John Wolf 262
Philip Kahn 2
Serge Rey 239
Stefanie Lumnitz 240
Taylor Oshan 243
Thequackdaddy 1
Wei Kang 225
Ziqi Li 51

Contributor by Package Activity

Dani Arribas-Bel Eli Knaap Hu Shao James Gaboardi Jsignell Levi John Wolf Philip Kahn Serge Rey Stefanie Lumnitz Taylor Oshan Thequackdaddy Wei Kang Ziqi Li
lib.libpysal 19 12 0 8 0 112 0 101 2 4 0 18 0
explore.esda 0 0 0 1 0 11 0 50 10 0 0 8 0
explore.giddy 0 2 0 0 0 1 0 18 10 0 0 103 0
explore.inequality 0 0 0 0 0 1 0 20 0 0 0 11 0
explore.pointpats 0 0 5 0 0 7 0 2 0 0 0 26 0
explore.spaghetti 0 0 0 278 0 3 0 0 0 0 0 1 0
viz.mapclassify 0 0 0 0 0 3 0 22 0 0 0 23 0
viz.splot 6 0 0 0 1 9 0 7 218 0 1 0 0
model.spreg 0 0 0 0 0 40 0 17 0 0 0 0 0
model.spglm 0 0 0 7 0 1 0 0 0 60 0 1 0
model.spint 0 0 0 7 0 9 0 0 0 42 0 4 0
model.mgwr 0 0 0 12 0 13 2 0 0 137 0 30 51
model.spvcm 0 0 0 1 0 52 0 2 0 0 0 0 0
Assets 2
Pre-release
Pre-release

@sjsrey sjsrey released this Jan 13, 2019 · 4 commits to rel2.0 since this release

Release Notes for PySAL2.0rc3

This is the third release candidate for PySAL 2.0.

Overall, there were 1636 commits that closed 368 issues, together with 236 pull requests since our last release on 2017-11-03.

Changes by package

libpysal:

  • weights.distance.KNN.from_dataframe ignoring radius (#116)
  • Always make spherical KDTrees if radius is passed (#117)
  • [ENH] should weights.util.get_ids() also accept a geodataframe? (#97)
  • enh: add doctests to travis (#2) (#112)
  • sphinx docs need updating (#49)
  • Add notebooks for subpackage contract (#108)
  • Api docs complete (#110)
  • Doctests and start of documentation for libpysal (#109)
  • Add dependencies to requirements_plus.txt for test_db (#107)
  • Weights/util/get ids gdf (#101)
  • missing adjustments to lower case module names (#106)
  • Rel.4.0.0 (#105)
  • REL: 3.0.8 (#104)
  • error importing v3.0.7 (#100)
  • Lower case module names (#98)
  • remove function regime_weights (#96)
  • depreciating regime_weights in the new release? (#94)
  • inconsistency in api? (#93)
  • Ensure consistency in from .module import * in components of libpysal (#95)
  • [WIP] cleanup (#88)
  • docstrings for attributes are defined in properties (#87)
  • docstrings in W class need editing (#64)
  • version name as version (#92)
  • remove del statements and modify alphashape all (#89)
  • libpysal/libpysal/cg/init.py not importing rtree (#90)
  • including rtree in imports (#91)
  • BUG: test_weights_IO.py is using pysal and hard-coded paths (#85)
  • fix hardcoded swm test (#86)
  • check for spatial index if nonplanar neighbors (#84)
  • nonplanar_neighbors fails when sindex is not constructed. (#63)
  • increment version number and add bugfixes, api changes (#79)
  • Spherebug (#82)
  • only warn once for islands/disconnected components (#83)
  • only warn on disconnected components if there are no islands (#81)
  • LEP: Stuff/use pysal/network stuff to provide queen weights on linestring dataframes (#59)
  • swm fix not ported forward from pysal. (#66)
  • import scipy syntax typo in the new issue template (#68)
  • deletion of extra spaces in warning message (#78)
  • Nightli.es build permissions (#77)
  • name of geometry column is hardcoded in nonplanar_neighbors (#75)
  • changed geometry column name from a str to an attribute (#76)
  • Missing example file (#71)
  • if numba isn't present, libpysal warns every time imported (#73)
  • add check for disconnected components (#65)
  • clean up for release (#74)
  • update for new examples (#72)
  • Swm (#70)
  • Remaining concerns left unfixed in #61 (#62)
  • [WIP] Alpha shapes (2D) code (#58)
  • [WIP]: add linestring/multilinestring functionality (#61)
  • Fuzzy contiguity (#57)
  • add berlin example (#56)
  • force UTF8 encoding for the long description read (#55)
  • add guerry example dataset (#45)
  • update georgia shapefile (#53)
  • fix typo add non_planar_joins instead of non_planar_neighbor attr… (#54)
  • add voronoi to the API (#46)
  • ENH: Neighbor detection for nonplanar enforced polygon collections. (#51)
  • Missing example used by gwr tests (#43)
  • Wplot (#50)
  • close the door on 2 for libpysal (#44)
  • To networkx argument name changed (#40)
  • bump micro version (#42)
  • fix networkx adapters (#41)
  • minor version bump for release (#39)
  • Plot weights (#38)
  • forward port of legacy fix #1028 (#37)
  • Adding Voronoi generator for cg as well as Voronoi weights from 2-d points (#36)
  • bump version for release (#34)
  • attach_islands correction: incorporate pr #32 (#33)
  • change data type of contiguity W.neighbors value from set to list (consistent with other weights) (#32)
  • add a function to attach the nearest neighbor to island (#30)
  • fix id2i lookup for string names and make better names (#31)
  • two modules “Wsets.py” and "util.py" depend on each other (#26)
  • add unittest for Wset.w_clip (#29)
  • resolve circular import in Wsets and util (#28)
  • update doctests in weights module to use libpysal instead of pysal (#27)
  • bump stable date (#25)
  • bump version for point release of lag cat fix (#24)

esda:

  • enh: updating travis build and rtd (#40)
  • BUG: missing rtd file (#39)
  • REL: 2.0.1 (#38)
  • Prepping for a doc release (#37)
  • docstrings are using pysal legacy (#4)
  • add zenodo doi badge (#36)
  • REL: 2.0.0 (#34)
  • Changing esda setup to handle version programatically (#33)
  • port legacy esda fix for 1013 (#12)
  • notebook links broken (#29)
  • include /tests in release (#32)
  • Add tests to release (#27)
  • Accounting for incoming API changes to libpysal and adding testing against libpysal's master branch (#26)
  • no varnames in Moran_BV_matrix (#22)
  • add .varnames attribute to Moran_BV objects in Moran_BV_Matrix results (#23)
  • Inconsistent metadata in setup.py (#28)
  • Update license (#30)
  • esda has no readme (#14)
  • Readme added (#25)
  • move api into init and remove api (#24)
  • .z attribute divided by standard deviation (#21)
  • offer standardised and non-standardised .z, .x and .y attributes (#20)
  • get sjsrey's changes into a release (#16)
  • esda's namespace is broken (#17)
  • update api.py (#18)
  • Update docstrings to use libpysal not pysal (#13)
  • esda needs an api.py module (#9)
  • chore: Update setup for 3+ (#15)
  • Master (#10)

giddy:

  • remove giddy.api in README.rst (#66)
  • chore: update for libpysal lower case module name changes (#65)
  • remove api.py (#62)
  • set up travis dual testing against mapclassify and esda (#63)
  • replace libpysal.api imports with new imports in markov.py and `d… (#61)
  • Remove api.py and account for changes in (incoming) API of mapclassify, esda, and libpysal (#64)
  • version giddy only in giddy/ini.py (#60)
  • remove duplicate makefile for sphinx build (#59)
  • add zenodo doi badge to README (#58)
  • add changelog for the release 1.2.0 (#57)
  • prepare for release 1.2.0 (#56)
  • set up dual travis tests for libpysal (pip and github) (#55)
  • ENH: Allow for more flexible specification of Spatial Markov (#54)
  • Update notebooks to rely on geopandas for mapping (#52)
  • ENH to docs (#51)
  • include /tests in the release and correct for the directional doctests (#50)
  • add doc building badge to README (#49)
  • Tests and documentation for rose.plot() and rose.plot_vectors() (#47)
  • A tentative version of giddy documentation website with sphinx (#48)
  • encoding issue in README.rst (#45)
  • force utf8 for the install description read (#46)
  • implement rose.plot() and rose.plot_vectors() method using splot (#43)
  • More on building doc webpages using sphinx (#44)
  • Gallery (#42)
  • new features for sphinx documentation website (#41)
  • typo - email notifications (#40)
  • fix for python 3 (#38)
  • first draft of sphinx gallery (#39)
  • add docstring for categorical spatial Markov (#37)
  • add changelog for the release 1.1.0 (#36)
  • prepare for release (#35)
  • code 2to3 (#34)
  • chore: update for python 3+ only (#33)
  • How to use the 'development' version (#31)
  • KeyError: 1 in spatial_lag.py (#30)
  • giddy needs an api.py module (#26)
  • add inequality to api (#28)
  • adding discretized Spatial_Markov (#29)

inequality:

  • Change setup to handle version pragmatically (#6)
  • accounting for libpysal api changes in unittests (#5)
  • missing parenthesis in call to print (#2)
  • setting up dual testing (#4)
  • 2to3 for _indices.py (#3)
  • Initial setup (#1)

pointpats:

  • add changelog for release 2.0.0 (#21)
  • remove api.py & adjust notebooks and doctests for changes in libpysal (#19)
  • version pointpats only in pointpats/ini.py (#18)
  • include /tests in the release (#17)
  • configure dual testing (#16)
  • install stable released libpysal for travis testing (#15)
  • force UTF8 encoding for the long description read (#14)
  • Prepare for the release (#13)
  • chore: libpysal is 3 only now so removing travis tests on python 2 (#12)
  • try removing conversion and see if this passes (#11)

spaghetti:

  • refreshing documentation (#124)
  • option to add distance from point to snapped location (#75)
  • attempting pyproj_fix (#122)
  • [WIP] Add snap dist (#123)
  • travis CI build failing with KeyError: 'PROJ_LIB' (#121)
  • resolving obs_to_node question (#120)
  • why convert obs_to_node from defaultdict to list? (#93)
  • network.PointPatterns condense code chunk (#74)
  • condensing idvariable code chunk (#119)
  • Network Cross Nearest Neighbor (#102)
  • refreshing docs (#117)
  • shortest path look up from allneighborsdistances? (#115)
  • adding shortest path traceback for point patterns (#116)
  • ImportError: No module named 'boto3' (#113)
  • adding boto3 test req for current fiona bug (#114)
  • [WIP] cleanup_nearest_neighbor (#112)
  • duplicate neighbor distance functions? (#91)
  • network.allneighbordistances documentation not accurate (#111)
  • [WIP] General package maintenance (#109)
  • new badges (#96)
  • tools/ (#99)
  • updating thumbnails in docs (#108)
  • [WIP] updating docs, badges, tools, etc. (#107)
  • initializing new sphinx docs based on submodule_template (#98)
  • new labels for issues (#105)
  • populating sphinx docs (#37)
  • tests for analysis and util (#44)
  • NetworkF (#94)
  • rename functions to be more pythonic (#104)
  • add poisson distribution to tests (#106)
  • initial sphix docs attempt (#67)
  • bumping version to 1.1.0 (#97)
  • adding in new tests for utils.py (#95)
  • add flag for util.generatetree() (#92)
  • [completed atm] - docstrings cleanup (#89)
  • clean docstrings (#77)
  • adding MANIFEST.in (#88)
  • clearing Facility_Location.ipynb (#87)
  • removing typo in Facility_Location (#86)
  • clearing Facility_Location.ipynb (#85)
  • updating Facility_Location.ipynb for typos (#84)
  • adding Facility_Location.ipynb (#83)
  • new notebook ideas (#48)
  • adding windows functionality for 'last updated' (#82)
  • ensure nearest nodes are returned as np.array() (#73)
  • snapping trouble when the initial node in KDtree is the nearest (#72)
  • add Github version badge (#80)
  • add open issues badge (#79)
  • update notebooks as per #1057 (#81)
  • [Complete/Needs Review] updating in_shp parameter in spaghetti.Network (#69)
  • [ENH] geopandas.GeoDataFrame for PointPattern (#28)
  • update in_shp kwarg in spaghetti.Network (#68)
  • removing undeclared edge_time attribute (#65)
  • update README.txt (#33)
  • [ENH] Add badges (#31)
  • Publish on Zenodo (#36)
  • Some errors in node_distance_matrix() (#64)
  • declare SMALL as np.finfo(float).eps (#63)
  • smallest numpy epsilon float? (#61)
  • [WIP] Prep for next pypi (#60)
  • mimic other pysal submodules for api removal (#50)
  • PEP8 compliant (#38)
  • update notebooks (#43)
  • api testing (#59)
  • DRY version documentation (#53)
  • configure travis dual testing for "Allowed Failures" to work (#58)
  • adding geopandas for dual travis testing (#56)
  • New tests required for new in_shp parameter option (#30)
  • fix or remove code_health badge (#54)
  • add .landscape.yml for code health (#51)
  • removing code health badge from README (#55)
  • adding .landscape.yml for code health (#52)
  • adding additional pip install instructions/options (#35)
  • dual testing (#45)
  • change libpysal imports in tests (#46)
  • change weights variable name (#47)
  • update notebooks for reorg (#1)
  • spaghetti/analysis.py:182: RuntimeWarning (#42)
  • change xrange to range (#40)
  • summation error in computeobserved() of spaghetti.analysis.py (#41)
  • TypeError: can't pickle dict_keys objects (#39)
  • add CHANGELOG (#34)
  • update import scheme for new package name (#5)
  • Prepare a release of spaghetti for pypi (#26)
  • pip (#32)
  • preparing for pypi release (#25)
  • api.py tests (#19)
  • trailing comma not allowed with surrounding parenthesis (#29)
  • Necessity of future? (#27)
  • spaghetti currently only python 2.7.x compatible (#21)
  • Geopandas read (#22)
  • Py2topy3 (#23)
  • Spaghetti/update travis (#24)
  • Generalize the Network input API for libpysal/#59 (#20)

mapclassify:

  • fix doctests (interactive examples in inline docstrings) (#19)
  • complete readthedocs configuration & add Slocum 2009 reference (#17)
  • prepping for a doc based release (#15)
  • new release on pypi (#10)
  • prepare for release 2.0.0 (#13)
  • Clean up for next pypi release (#12)
  • move notebooks outside of the package (#11)
  • ENH: move classifiers up into init (#9)
  • Moving to python 3+ (#8)

splot:

  • merge Sprint with master branch (#39)
  • Change documentation style (#38)
  • add travis build badge to README.md (#37)
  • fix current documentation for sprint (#36)
  • value_by_alpha prototype (#28)
  • Clean up of current code base (#30)
  • Value By Alpha specification (#24)
  • nonplanar example update (#33)
  • add README.md (#29)
  • issues in some docstrings for giddy (#26)
  • debug splot documentation (#25)
  • collection of cleanups forsplot.giddy (#23)
  • created esda.moran.Moran_Local_BV visualisations (#20)
  • add esda.moran.Moran_BV visualizations to splot.esda (#18)
  • add seaborn and matplotlib to install_requirements in setup.py (#19)
  • prototype moran_scatterplot(), plot_moran_simulation() and plot_moran() for esda (#17)
  • include utility functions shift_colormap and truncate_colormap (#15)
  • fix setup.py so files are installed with "pip install ." (#16)
  • plot_spatial_weights including network joins for non_planar_joins (#14)
  • adapting existing esda functionality to splot.esda namespace and allow .plot() method (#13)
  • adding license (#4)
  • add giddy dynamic LISA functionality under splot.giddy (#11)
  • start sphinx html documentation (#12)
  • add visualization option with significance to mplot (#7)
  • Visualising Local Autocorrelation (#8)
  • Copy new changes made to viz module into split (#5)
  • run 2to3 for splot (#6)

spreg:

  • update docstrings for libpysal API changes (#9)
  • Merging in spanel & spreg2 code necessary for new spatial panel & GeoDaSpace (#10)
  • move to silence_warnings from current libpysal (#7)
  • add init to ensure tests are shipped (#6)
  • weights typechecking will only accept things from pysal. (#3)
  • relax error checking in check_weights (#4)
  • simplify testing (#5)
  • Convert spreg to common subset 2,3 code (#2)

spglm:

  • fix docstrings (as well as some within interactive examples) (#14)
  • Fix docs (#17)
  • Submodule (#16)
  • submodule_contract (#13)
  • Inconsistent metadata in setup.py (#10)
  • adapting spglm to new libpysal (#12)
  • move to using libpysal.io.open rather than just libpysal.open (#11)
  • Freeze (#8)
  • add tr_S attribute for use in GWR (#7)
  • remove pysal requirements (#6)
  • remove v 2.x tests from CI (#5)
  • houskeeping of new basefiles needed as a submodule (#4)

spint:

  • add changelog (#15)
  • pypi files do not include tests (#9)
  • Submodule (#14)
  • adapting spint to newest version of libpysal (#13)
  • Reorg (#12)
  • spint has pysal as a dependency, should be libpysal (#2)
  • api.py syntax error (#10)
  • removed trailing api comma (#11)
  • Freeze (#8)
  • update dependencies (#7)
  • remove v 2.x test from CI (#6)
  • version bump (#5)
  • Common subset (#4)
  • houskeeping of basefiles needed for submodule (#3)

mgwr:

  • add solve from scipy instead of inv (#45)
  • bool variables and singular matrix error (#42)
  • update travis.yml for matrix testing (#44)
  • add changelog (#43)
  • fix compare_surfaces docstrings (#40)
  • add docs for viz function compare_surfaces (#39)
  • add compare_surfaces docstring and bump version (#38)
  • add viz functions to docs (#37)
  • add_map_func (#36)
  • add badges to README (#35)
  • (ENH) prepare online docs (#33)
  • Revert "move notebooks outside of the package folder and fix notebooks" (#34)
  • move notebooks outside of the package folder and fix notebooks (#32)
  • Georgia main example patch (#31)
  • format gwr.py following PEP 8 style and fix docstrings (#30)
  • use libpysal in docstrings and adapt to python 3 syntax (#29)
  • Inconsistent metadata info on setup.py (#25)
  • rebuild rights access? (#28)
  • swap to libpysal.io.open (#26)
  • adapting mgwr to newest libpysal (#27)
  • change spreg import pattern (#24)
  • change imports from spreg (#22)
  • rework pickles in the tests (#21)
  • Swap to use more portable types than pickles (#23)
  • Output summary (#17)
  • Adding summary output (#18)
  • Freeze (#20)
  • Allow user-set BW's for MGWR (#7)
  • Set mgwr bw (#15)
  • adds py27 to ci (#16)
  • Gwr to mgwr (#14)
  • Standard errors and t-vals (#8)
  • Redundant calculation of Aj (#10)
  • question about final fit in MGWR class? (#1)
  • change main directory from gwr to mgwr (#13)
  • Update mgwr (#12)
  • clean up MGWR (#11)
  • Consolidate MGWR (#5)
  • hat matrices (#2)

spvcm:

  • change the API to reflect up-to-date libpysal api (#7)
  • Test failures in effective size & geweke diagnostics (#2)
  • update plotting and diagnostics for pandas deprecation (#3)

Contributions

The following individuals contributed to this release:

commits
Dani Arribas-Bel 25
Eli Knaap 14
Hu Shao 5
James Gaboardi 314
Jsignell 1
Levi John Wolf 263
Philip Kahn 2
Serge Rey 241
Stefanie Lumnitz 240
Taylor Oshan 243
Thequackdaddy 1
Wei Kang 227
Ziqi Li 51

Contributions by Package

Dani Arribas-Bel Eli Knaap Hu Shao James Gaboardi Jsignell Levi John Wolf Philip Kahn Serge Rey Stefanie Lumnitz Taylor Oshan Thequackdaddy Wei Kang Ziqi Li
lib.libpysal 19 12 0 8 0 112 0 101 2 4 0 18 0
explore.esda 0 0 0 1 0 11 0 50 10 0 0 8 0
explore.giddy 0 2 0 0 0 1 0 18 10 0 0 103 0
explore.inequality 0 0 0 0 0 1 0 22 0 0 0 13 0
explore.pointpats 0 0 5 0 0 7 0 2 0 0 0 26 0
explore.spaghetti 0 0 0 278 0 3 0 0 0 0 0 1 0
viz.mapclassify 0 0 0 0 0 3 0 22 0 0 0 23 0
viz.splot 6 0 0 0 1 9 0 7 218 0 1 0 0
model.spreg 0 0 0 0 0 40 0 17 0 0 0 0 0
model.spglm 0 0 0 7 0 1 0 0 0 60 0 1 0
model.spint 0 0 0 7 0 10 0 0 0 42 0 4 0
model.mgwr 0 0 0 12 0 13 2 0 0 137 0 30 51
model.spvcm 0 0 0 1 0 52 0 2 0 0 0 0 0
tags: pysal, changelog, release candidate, spatial statistics, statistics, networks, graphs
Assets 2

Release Notes for PySAL2.0rc2

For starters, these change notes are only for this release candidate, which is like a typical release of PySAL, but considered a preview. This release candidate, 2.0rc2, signifies that our API will change (the 2.0 part) and that we want to ensure users can opt-in to these changes with a longer time delay than a usual release (the rc2 part). We will make a full release of PySAL 2.0 by 2018-12-31, which will largely follow the API reorganization in this release candidate (and any subsequent release candidates). For more information on how to migrate to the 2.0-API, please check out migrating.pysal.org.

Feature Changes in 2.0rc2

This release, we've had a ton of activity in PySAL, but it has all 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.pysal.org website 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.0rc2, over and above the last stable release of the 1.0 series, PySAL 1.14.4.

Overall, there were 719 commits that closed 240 issues, together with 105 pull requests across 12 packages since our last release on 2017-11-03.

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. This is headed by our Google Summer of Code (2018) student, Stefanie Lumnitz, and will be ongoing throughout the release candidate maturation cycle.

  • pointpats, a package for the statistical analysis of point patterns, geographical colocation, and dispersion.

Significant Enhancements to Existing Packages

We've also had a ton of activity adding new features in our submodules:

Contributor Statistics

Below, you'll find some contribution statistics from users, how active each subpackage is, and how active users are within each subpackage:

Developer commits

commits
Dani Arribas-Bel 20
Eli Knaap 7
Hu Shao 2
James Gaboardi 10
Jsignell 1
Levi John Wolf 140
Serge Rey 96
Stefanie Lumnitz 157
Taylor Oshan 85
Thequackdaddy 1
Wei Kang 67
Ziqi Li 52

Subpackage Activity

package commits total issues pulls
mgwr 165 22 7
splot 163 30 14
libpysal 161 76 35
giddy 94 43 19
spreg 32 11 5
spint 21 12 6
spglm 20 10 5
spvcm 20 3 1
pointpats 15 8 4
spaghetti 10 8 2
esda 9 13 5
inequality 7 2 1
mapclassify 2 2 1

Committers by Subpackage

Dani Arribas-Bel Eli Knaap Hu Shao James Gaboardi Jsignell Levi John Wolf Serge Rey Stefanie Lumnitz Taylor Oshan Thequackdaddy Wei Kang Ziqi Li
lib.libpysal 19 5 0 2 0 73 48 2 4 0 8 0
explore.esda 0 0 0 0 0 4 5 0 0 0 0 0
explore.pointpats 0 0 2 0 0 7 2 0 0 0 4 0
explore.spaghetti 0 0 0 8 0 2 0 0 0 0 0 0
dynamics.giddy 0 2 0 0 0 1 18 8 0 0 55 0
viz.mapclassify 0 0 0 0 0 1 1 0 0 0 0 0
viz.splot 1 0 0 0 1 8 5 147 0 1 0 0
model.gwr 0 0 0 0 0 5 0 0 46 0 0 52
model.spglm 0 0 0 0 0 1 0 0 19 0 0 0
model.spint 0 0 0 0 0 5 0 0 16 0 0 0
model.spreg 0 0 0 0 0 13 17 0 0 0 0 0
model.spvcm 0 0 0 0 0 20 0 0 0 0 0 0
tags: pysal, changelog, release candidate, spatial statistics, statistics, networks, graphs
Assets 2

@ljwolf ljwolf released this Jul 18, 2018 · 146 commits to master since this release

This is the final release of PySAL with the legacy version of the API. All subsequent releases will adopt a new API.

This release contains only docfixes and bugfixes. All new functionality has been implemented in the various subpackages, documented in migrating.pysal.org.

Please consult that documentation for more information about this package, and what is coming next.

We thank our contributors, supporters, and funding agencies.

Assets 2

@sjsrey sjsrey released this Nov 6, 2017 · 191 commits to master since this release

This is a minor point release incorporating corrections required for changes introduced in scipy and jupyter notebooks. Full details are reported in CHANGELOG.txt.

Assets 2

@ljwolf ljwolf released this Sep 23, 2017 · 237 commits to master since this release

This is a minor point release incorporating corrections to Geary's C and Moran's I, as well as changes to Map_Classifier.find_bin and plot_lisa_cluster. It is also the first tagged release on Github since 1.13.0, so includes all major release notes from the last major release, PySAL 1.14.0. As such, it contains a large number of enhancements and resolutions since 1.13.0, such as:

  • deprecation of Headbanging methods in pysal.esda.smoothing
  • update of .swm file reader
  • bugfix to lag_categorical
  • multiprocessing options for shortest path computation in pysal.network.
  • Geographically weighted regression (in pysal.contrib)
  • spatial interaction modeling methods

This is a rolling release consisting of enhancements, bug fixes, and documentation updates including over 122 issues, 39 pull requests, and 83 regular issues since the last release.

Assets 2

@sjsrey sjsrey released this Dec 9, 2016 · 473 commits to master since this release

PySAL 1.13.0

Enhancements

  • Spatial Interaction: New primer
  • visualization: geoplot: geotable-enabled plotting with matplotlib and bokeh backends, providing a high-level layer to integrate PySAL geometries in the plotting workflow. Choropleth mapping supported using palettable.

This is a rolling release consisting of enhancements, bug fixes, and documentation updates including 77 commits, 7 closed pull requests and 31 issues since the last release.

Python Spatial Analysis Library

image

image

PySAL is an open source cross-platform library of spatial analysis functions written in Python. It is intended to support the development of high level applications for spatial analysis.

LISA Maps of US County Homicide Rates

Above: Local Indicators of Spatial Association for Homicide Rates in US Counties 1990.

PySAL modules

  • pysal.cg Computational geometry
  • pysal.contrib Contributed modules
  • pysal.core Core data structures and IO
  • pysal.esda Exploratory spatial data analysis
  • pysal.examples Data sets
  • pysal.inequality Spatial inequality analysis
  • pysal.network Spatial analysis on networks
  • pysal.region Spatially constrained clustering
  • pysal.spatial_dynamics Spatial dynamics
  • pysal.spreg Spatial econometrics and diagnostics
  • pysal.weights Spatial weights

Installation

PySAL can be installed using pip:

$ pip install pysal

PySAL is also available through Anaconda and Enthought Canopy.

Documentation

For help on using PySAL, check out the following resources:

Development

PySAL development is hosted on github.

Discussions of development occurs on the developer list as well as gitter.

Getting Involved

If you are interested in contributing to PySAL please see our development guidelines.

Bug reports

To search for or report bugs, please see PySAL's issues.

License information

See the file "LICENSE.txt" for information on the history of this
software, terms & conditions for usage, and a DISCLAIMER OF ALL
WARRANTIES.

Assets 2

@sjsrey sjsrey released this Sep 26, 2016 · 566 commits to master since this release

PySAL 1.12.0

Enhancements

  • Numerically roubst centroid computation (possibly resolves #767)
  • Moran plot function
  • Bugfix of Distance Band Weights where named weights failed because indexing was not label-based
  • GSOC weights
    • from_iterable/array: weights from any geo-interfaced iterable collection
    • from_shapefile: supersedes weights.*_from_shapefile
    • from_dataframe: weights from any dataframe-like with column with geometric elements
    • from_? others
    • incorporated @jlaura's optimized contiguity builder
  • Geotable module - extending the shapely extension to apply tabularly, and add some adapters between geopandas and pysal+pandas
  • GSOC esda
    • all methods now take series/frames natively
    • by_col method for bulk computation over a specific dataframe
    • to_df for file handles with tabular dimensions
    • .make partial application for classifiers
  • Numba autojit
  • Soft dependency testing for pysal+
  • sparse distance band weights code
  • Network docfixes
  • GSOC spint
    • spatial interaction OD weights
      -vector-based Moran's I
    • sparse generalized linear modeling (GLM) module
    • unconstrained, production-constrained, attraction-constrained, and doubly-constrained gravity-type spatial interaction models (calibrated using Poisson GLM)
    • Tests for overdispersion of Poisson GLM

This is a rolling release consisting of enhancements, bug fixes, and documentation updates including 277 commits, 33 closed pull requests and 67 issues since the last release.

Python Spatial Analysis Library

image

image

PySAL is an open source cross-platform library of spatial analysis functions written in Python. It is intended to support the development of high level applications for spatial analysis.

LISA Maps of US County Homicide Rates

Above: Local Indicators of Spatial Association for Homicide Rates in US Counties 1990.

PySAL modules

  • pysal.cg Computational geometry
  • pysal.contrib Contributed modules
  • pysal.core Core data structures and IO
  • pysal.esda Exploratory spatial data analysis
  • pysal.examples Data sets
  • pysal.inequality Spatial inequality analysis
  • pysal.network Spatial analysis on networks
  • pysal.region Spatially constrained clustering
  • pysal.spatial_dynamics Spatial dynamics
  • pysal.spreg Spatial econometrics and diagnostics
  • pysal.weights Spatial weights

Installation

PySAL can be installed using pip:

$ pip install pysal

PySAL is also available through Anaconda and Enthought Canopy.

Documentation

For help on using PySAL, check out the following resources:

Development

PySAL development is hosted on github.

Discussions of development occurs on the developer list as well as gitter.

Getting Involved

If you are interested in contributing to PySAL please see our development guidelines.

Bug reports

To search for or report bugs, please see PySAL's issues.

License information

See the file "LICENSE.txt" for information on the history of this
software, terms & conditions for usage, and a DISCLAIMER OF ALL
WARRANTIES.

Assets 2

@sjsrey sjsrey released this May 18, 2016 · 844 commits to master since this release

PySAL 1.11.2 is the second rolling release of PySAL following twelve previous time-specified releases.

Enhancements

This is primarily a maintenance release consisting of bug fixes and documentation updates including 35 commits and the closing of 14 issues since the last release.

Python Spatial Analysis Library

image

image

PySAL is an open source cross-platform library of spatial analysis functions written in Python. It is intended to support the development of high level applications for spatial analysis.

LISA Maps of US County Homicide Rates

Above: Local Indicators of Spatial Association for Homicide Rates in US Counties 1990.

PySAL modules

  • pysal.cg Computational geometry
  • pysal.contrib Contributed modules
  • pysal.core Core data structures and IO
  • pysal.esda Exploratory spatial data analysis
  • pysal.examples Data sets
  • pysal.inequality Spatial inequality analysis
  • pysal.network Spatial analysis on networks
  • pysal.region Spatially constrained clustering
  • pysal.spatial_dynamics Spatial dynamics
  • pysal.spreg Spatial econometrics and diagnostics
  • pysal.weights Spatial weights

Installation

PySAL can be installed using pip:

$ pip install pysal

PySAL is also available through Anaconda and Enthought Canopy.

Documentation

For help on using PySAL, check out the following resources:

Development

PySAL development is hosted on github.

Discussions of development occurs on the developer list as well as gitter.

Getting Involved

If you are interested in contributing to PySAL please see our development guidelines.

Bug reports

To search for or report bugs, please see PySAL's issues.

License information

See the file "LICENSE.txt" for information on the history of this
software, terms & conditions for usage, and a DISCLAIMER OF ALL
WARRANTIES.

Assets 2

@sjsrey sjsrey released this Apr 6, 2016 · 880 commits to master since this release

PySAL 1.11.1, is the first rolling release of PySAL following twelve previous time-specified releases.

Enhancements

  • Enhanced dynamic map classification system
  • Well Known Binary support
  • Spatial lag for categorical variables
  • Unpinning from SciPy 0.16

Among the 66 commits and bug fixes since the last release since the last release.

Python Spatial Analysis Library

image

image

PySAL is an open source cross-platform library of spatial analysis functions written in Python. It is intended to support the development of high level applications for spatial analysis.

LISA Maps of US County Homicide Rates

Above: Local Indicators of Spatial Association for Homicide Rates in US Counties 1990.

PySAL modules

  • pysal.cg Computational geometry
  • pysal.contrib Contributed modules
  • pysal.core Core data structures and IO
  • pysal.esda Exploratory spatial data analysis
  • pysal.examples Data sets
  • pysal.inequality Spatial inequality analysis
  • pysal.network Spatial analysis on networks
  • pysal.region Spatially constrained clustering
  • pysal.spatial_dynamics Spatial dynamics
  • pysal.spreg Spatial econometrics and diagnostics
  • pysal.weights Spatial weights

Installation

PySAL can be installed using pip:

$ pip install pysal

PySAL is also available through Anaconda and Enthought Canopy.

Documentation

For help on using PySAL, check out the following resources:

Development

PySAL development is hosted on github.

Discussions of development occurs on the developer list as well as gitter.

Getting Involved

If you are interested in contributing to PySAL please see our development guidelines.

Bug reports

To search for or report bugs, please see PySAL's issues.

License information

See the file "LICENSE.txt" for information on the history of this
software, terms & conditions for usage, and a DISCLAIMER OF ALL
WARRANTIES.

Assets 2