Skip to content

Commit f52e6a7

Browse files
authored
Merge branch 'master' into self-neighbors
2 parents bf5ad0a + 7bca065 commit f52e6a7

File tree

489 files changed

+20443
-95729
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

489 files changed

+20443
-95729
lines changed

.gitattributes

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
*.ipynb linguist-language=Python
2+
libpysal/_version.py export-subst

.github/CONTRIBUTING.md

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,8 @@
11
Thank you for your interest in contributing! We work primarily on Github. Please
22
review the [contributing procedures](https://github.com/pysal/pysal/wiki/GitHub-Standard-Operating-Procedures) so that we can accept your contributions! Alternatively, contact someone in the [development chat channel](https://gitter.im/pysal.pysal).
3+
4+
## Style and format
5+
6+
1. Python 3.6, 3.7, and 3.8 are the officially supported versions.
7+
2. This project follows the formatting conventions of [`black`](https://black.readthedocs.io/en/stable/) and utilizes [`pre-commit`](https://pre-commit.com) to format commits prior to pull requests being made.
8+
* LJ Miranda provides an [excellent, concise guide](https://ljvmiranda921.github.io/notebook/2018/06/21/precommits-using-black-and-flake8/) on setting up and implementing a `pre-commit` hook for `black`.

.github/PULL_REQUEST_TEMPLATE.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ Hello! Please make sure to check all these boxes before submitting a Pull Reques
22
(PR). Once you have checked the boxes, feel free to remove all text except the
33
justification in point 5.
44

5-
1. [ ] You have run tests on this submission, either by using [Travis Continuous Integration testing](https://github.com/pysal/pysal/wiki/GitHub-Standard-Operating-Procedures#automated-testing-w-travis-ci) testing or running `nosetests` on your changes?
5+
1. [ ] You have run tests on this submission locally using `pytest` on your changes. Continuous integration will be run on all PRs with [GitHub Actions](https://github.com/pysal/libpysal/blob/master/.github/workflows/unittests.yml), but it is good practice to test changes locally prior to a making a PR.
66
2. [ ] This pull request is directed to the `pysal/master` branch.
77
3. [ ] This pull introduces new functionality covered by
88
[docstrings](https://en.wikipedia.org/wiki/Docstring#Python) and

.github/dependabot.yml

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
# To get started with Dependabot version updates, you'll need to specify which
2+
# package ecosystems to update and where the package manifests are located.
3+
# Please see the documentation for all configuration options:
4+
# https://help.github.com/github/administering-a-repository/configuration-options-for-dependency-updates
5+
6+
version: 2
7+
updates:
8+
- package-ecosystem: "github-actions"
9+
directory: "/"
10+
schedule:
11+
interval: "daily"
12+
reviewers:
13+
- "sjsrey"
14+
- "jGaboardi"
15+
16+
- package-ecosystem: "pip"
17+
directory: "/"
18+
schedule:
19+
interval: "daily"
20+
reviewers:
21+
- "sjsrey"
22+
- "jGaboardi"

.github/workflows/build_docs.yml

Lines changed: 60 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,60 @@
1+
2+
name: Build Docs
3+
on:
4+
push:
5+
# Sequence of patterns matched against refs/tags
6+
tags:
7+
- 'v*' # Push events to matching v*, i.e. v1.0, v20.15.10
8+
workflow_dispatch:
9+
inputs:
10+
version:
11+
description: Manual Doc Build Reason
12+
default: test
13+
required: false
14+
15+
jobs:
16+
docs:
17+
name: Build & Push Docs
18+
runs-on: ${{ matrix.os }}
19+
timeout-minutes: 90
20+
strategy:
21+
matrix:
22+
os: ['ubuntu-latest']
23+
environment-file: [ci/39.yaml]
24+
experimental: [false]
25+
defaults:
26+
run:
27+
shell: bash -l {0}
28+
29+
steps:
30+
- name: Checkout repo
31+
uses: actions/checkout@v2
32+
33+
- name: Setup micromamba
34+
uses: mamba-org/provision-with-micromamba@main
35+
with:
36+
environment-file: ${{ matrix.environment-file }}
37+
micromamba-version: 'latest'
38+
39+
- name: Make Docs
40+
run: cd docs; make html
41+
42+
- name: Commit Docs
43+
run: |
44+
git clone https://github.com/ammaraskar/sphinx-action-test.git --branch gh-pages --single-branch gh-pages
45+
cp -r docs/_build/html/* gh-pages/
46+
cd gh-pages
47+
git config --local user.email "action@github.com"
48+
git config --local user.name "GitHub Action"
49+
git add .
50+
git commit -m "Update documentation" -a || true
51+
# The above command will fail if no changes were present,
52+
# so we ignore the return code.
53+
54+
- name: push to gh-pages
55+
uses: ad-m/github-push-action@master
56+
with:
57+
branch: gh-pages
58+
directory: gh-pages
59+
github_token: ${{ secrets.GITHUB_TOKEN }}
60+
force: true
Lines changed: 65 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,65 @@
1+
# Release package on GitHub and publish to PyPI
2+
3+
# Important: In order to trigger this workflow for the organization
4+
# repo (organzation-name/repo-name vs. user-name/repo-name), a tagged
5+
# commit must be made to *organzation-name/repo-name*. If the tagged
6+
# commit is made to *user-name/repo-name*, a release will be published
7+
# under the user's name, not the organzation.
8+
9+
#--------------------------------------------------
10+
name: Release & Publish
11+
12+
on:
13+
push:
14+
# Sequence of patterns matched against refs/tags
15+
tags:
16+
- "v*" # Push events to matching v*, i.e. v1.0, v20.15.10
17+
18+
jobs:
19+
build:
20+
name: Create release & publish to PyPI
21+
runs-on: ubuntu-latest
22+
steps:
23+
- name: Checkout repo
24+
uses: actions/checkout@v2
25+
26+
- name: Set up python
27+
uses: actions/setup-python@v2
28+
with:
29+
python-version: "3.x"
30+
31+
- name: Install Dependencies
32+
run: |
33+
python -m pip install --upgrade pip
34+
pip install setuptools wheel twine jupyter urllib3 pandas pyyaml
35+
python setup.py sdist bdist_wheel
36+
37+
- name: run Changelog
38+
run: |
39+
jupyter nbconvert --to notebook --execute --inplace --ExecutePreprocessor.timeout=-1 --ExecutePreprocessor.kernel_name=python3 tools/gitcount.ipynb
40+
41+
- name: cat Changelog
42+
uses: pCYSl5EDgo/cat@master
43+
id: changetxt
44+
with:
45+
path: ./tools/changelog.md
46+
env:
47+
TEXT: ${{ steps.changetxt.outputs.text }}
48+
49+
- name: Get the tag name
50+
run: echo "TAG=${GITHUB_REF/refs\/tags\//}" >> $GITHUB_ENV
51+
52+
- name: Release
53+
uses: softprops/action-gh-release@v1
54+
with:
55+
body: ${{ steps.changetxt.outputs.text }}
56+
body_path: ${{ steps.changetxt.outputs.path }}
57+
name: Release ${{ env.TAG }}
58+
env:
59+
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
60+
61+
- name: Publish distribution 📦 to PyPI
62+
uses: pypa/gh-action-pypi-publish@master
63+
with:
64+
user: __token__
65+
password: ${{ secrets.PYPI_PASSWORD }}

.github/workflows/unittests.yml

Lines changed: 28 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -10,36 +10,40 @@
1010

1111
jobs:
1212
unittests:
13-
name: conda (${{ matrix.os }}, ${{ matrix.environment-file }})
13+
name: ${{ matrix.os }}, ${{ matrix.environment-file }}
1414
runs-on: ${{ matrix.os }}
15-
timeout-minutes: 15
15+
#timeout-minutes: 25
1616
strategy:
1717
matrix:
1818
os: ['macos-latest', 'ubuntu-latest', 'windows-latest']
19-
environment-file: [ci/36.yaml, ci/37.yaml, ci/38.yaml]
19+
environment-file: [ci/37.yaml, ci/38.yaml, ci/39.yaml]
20+
2021
steps:
21-
- uses: actions/checkout@v2
22-
- uses: goanpeca/setup-miniconda@v1
22+
- name: checkout repo
23+
uses: actions/checkout@v2
24+
25+
- name: setup micromamba
26+
uses: mamba-org/provision-with-micromamba@main
2327
with:
24-
miniconda-version: 'latest'
25-
auto-update-conda: true
26-
auto-activate-base: false
27-
environment-file: ${{ matrix.environment-file }}
28-
activate-environment: test
29-
- shell: bash -l {0}
30-
run: conda info --all
31-
- shell: bash -l {0}
32-
run: conda list
33-
- shell: bash -l {0}
34-
run: conda config --show-sources
35-
- shell: bash -l {0}
36-
run: conda config --show
37-
- shell: bash -l {0}
38-
run: python -c 'import libpysal; libpysal.examples.fetch_all()'
39-
- shell: bash -l {0}
40-
run: py.test -v libpysal --cov=libpysal --cov-report=xml
41-
- name: codecov (${{ matrix.os }}, ${{ matrix.environment-file }})
42-
uses: codecov/codecov-action@v1
28+
environment-file: ${{ matrix.environment-file }}
29+
micromamba-version: 'latest'
30+
31+
- name: run tests - bash
32+
shell: bash -l {0}
33+
run: |
34+
python -c 'import libpysal; libpysal.examples.fetch_all()'
35+
pytest -v libpysal --cov=libpysal --cov-report=xml
36+
if: matrix.os != 'windows-latest'
37+
38+
- name: run tests - powershell
39+
shell: powershell
40+
run: |
41+
python -c 'import libpysal; libpysal.examples.fetch_all()'
42+
pytest -v libpysal --cov=libpysal --cov-report=xml
43+
if: matrix.os == 'windows-latest'
44+
45+
- name: ${{ matrix.os }}, ${{ matrix.environment-file }}
46+
uses: codecov/codecov-action@v2
4347
with:
4448
token: ${{ secrets.CODECOV_TOKEN }}
4549
file: ./coverage.xml

.pre-commit-config.yaml

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
repos:
2+
- repo: https://github.com/ambv/black
3+
rev: stable
4+
hooks:
5+
- id: black
6+
language_version: python3.8

CHANGELOG.md

Lines changed: 105 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,108 @@
1+
# Version 4.3.0 (2020-06-28)
2+
3+
We closed a total of 85 issues (enhancements and bug fixes) through 27 pull requests, since our last release on 2020-02-01.
4+
5+
## Issues Closed
6+
- Standardize libpysal/examples/*.py docstrings (#294)
7+
- Fetch (#295)
8+
- Mac builds seem to take longer — bump up timeout (#273)
9+
- Voronoi_frames function causes jupyter notebook kernel to die (#281)
10+
- ENH: allow specific buffer in fuzzy_contiguity (#280)
11+
- Return alpha option & use pygeos for alphashaping if available (#278)
12+
- add weights writing as a method on weights. (#276)
13+
- Docs ci badge (#277)
14+
- [rough edge] libpysal.examples w/o internet? (#259)
15+
- removing six from ci (#275)
16+
- Handle connection errors for remote datasets (#274)
17+
- examples directory prevents installing with pyInstaller (#263)
18+
- GH-263: Don't implicitly import examples when importing base library (#264)
19+
- Error in the internal hack for the Arc_KDTree class inheritance and the KDTree function (#254)
20+
- GitHub Actions failures (#271)
21+
- Bugfix (#255)
22+
- dropping nose in ci/36.yml (#270)
23+
- Follow-up To Do for GH Actions (#268)
24+
- Polish up GitHub Action residuals (#269)
25+
- TEST: turning off 3.6 on github actions (#266)
26+
- Initializing complete Github Actions CI (#267)
27+
- fix for issue #153 (#256)
28+
- DOC: Udpdating citations, minor description editing (#265)
29+
- Cleaning up weights/weights.py docs (#262)
30+
- Unused code in weights.from_networkx()? (#261)
31+
- redirect pysal/#934 to libpysal (#9)
32+
- defaulting to using the dataframe index as the id set (#35)
33+
- Handling coincident points in KNN (#23)
34+
- MGWR_Georgia_example.ipynb fails due to different sample data shapes (#67)
35+
- Kernel docstring does not mention unique Gaussian kernel behavior (#47)
36+
- MGWR_Georgia_example.ipynb missing pickle import statement (#69)
37+
- weights.Voronoi is a function, not a class. (#99)
38+
- some weights util functions are lost in __ini__.py (#121)
39+
- Current weight plot method is time consuming for a large data set (#123)
40+
- [ENH][WIP] Adding a `rasterW` to extract `W` from raster and align values (#150)
41+
- network kernel weights (#151)
42+
- Add `from_sparse` and `from_numpy` methods, to match the other `from_` methods (#173)
43+
- Weight Object Question (#208)
44+
- ENH: setting up github actions (#258)
45+
- deprecate or test shapely_ext (#114)
46+
- Tests failures under Python 3.8 (#177)
47+
- Update reqs for tests (#250)
48+
- Nbdocs (#253)
49+
- test_fiiter fails on 3.8 but passes on < 3.8 (#249)
50+
- 3.8 (#251)
51+
- rebuild docs; (#235)
52+
- DOC: Fix invalid section headings. (#243)
53+
- Fix syntax errors (#242)
54+
- Remove calls to deprecated/removed time.clock. (#240)
55+
- Fix and simplify filter_adjlist. (#244)
56+
- set up appveyor or circle ci for multiplatform testing (#219)
57+
- Nose is unmaintained (#241)
58+
- Add appveyor badge (#248)
59+
- Appveyor (#247)
60+
- correct name for beautifulsoup4 (#239)
61+
- REL: version bump for bug fix release (#238)
62+
- test_map breakage due to pandas 1.0 deprecation of ufunc.outer (#236)
63+
- BUG: ufunc.outer deprecated (#237)
64+
65+
## Pull Requests
66+
- Standardize libpysal/examples/*.py docstrings (#294)
67+
- Fetch (#295)
68+
- Mac builds seem to take longer — bump up timeout (#273)
69+
- ENH: allow specific buffer in fuzzy_contiguity (#280)
70+
- Return alpha option & use pygeos for alphashaping if available (#278)
71+
- add weights writing as a method on weights. (#276)
72+
- Docs ci badge (#277)
73+
- removing six from ci (#275)
74+
- Handle connection errors for remote datasets (#274)
75+
- GH-263: Don't implicitly import examples when importing base library (#264)
76+
- Bugfix (#255)
77+
- dropping nose in ci/36.yml (#270)
78+
- Polish up GitHub Action residuals (#269)
79+
- Initializing complete Github Actions CI (#267)
80+
- DOC: Udpdating citations, minor description editing (#265)
81+
- Cleaning up weights/weights.py docs (#262)
82+
- ENH: setting up github actions (#258)
83+
- Update reqs for tests (#250)
84+
- Nbdocs (#253)
85+
- 3.8 (#251)
86+
- DOC: Fix invalid section headings. (#243)
87+
- Fix syntax errors (#242)
88+
- Fix and simplify filter_adjlist. (#244)
89+
- Appveyor (#247)
90+
- correct name for beautifulsoup4 (#239)
91+
- REL: version bump for bug fix release (#238)
92+
- BUG: ufunc.outer deprecated (#237)
93+
94+
The following individuals contributed to this release:
95+
96+
- Serge Rey
97+
- James Gaboardi
98+
- Martin Fleischmann
99+
- Dani Arribas-Bel
100+
- Levi John Wolf
101+
- Bryan Bennett
102+
- Jeffery Sauer
103+
- Elliott Sales De Andrade
104+
- Joshua Wagner
105+
1106
# Version 4.2.2 (2020-02-01)
2107

3108
This is a bug fix release.

MANIFEST.in

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,4 @@
11
include authors.txt LICENSE.txt THANKS.txt CHANGELOG.md MANIFEST.in pysal/COPYING requirements_dev.txt requirements_plus.txt requirements.txt requirements_plus_conda.txt requirements_plus_pip.txt requirements_docs.txt
22

3+
include versioneer.py
4+
include libpysal/_version.py

0 commit comments

Comments
 (0)