Thanks to visit codestin.com
Credit goes to github.com

Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 0 additions & 3 deletions .coveragerc

This file was deleted.

2 changes: 2 additions & 0 deletions .flake8
Original file line number Diff line number Diff line change
Expand Up @@ -12,3 +12,5 @@ ignore =
E201,
# E241 multiple spaces after ','
E241,
# E731 do not assign a lambda expression, use a def
E731,
4 changes: 2 additions & 2 deletions .github/workflows/coverage-lint.yml
Original file line number Diff line number Diff line change
Expand Up @@ -2,9 +2,9 @@ name: coverage-lint

on:
push:
branches: [master]
branches: [master, dev_v4]
pull_request:
branches: [master]
branches: [master, dev_v4]

jobs:
tests:
Expand Down
4 changes: 2 additions & 2 deletions .github/workflows/tests.yml
Original file line number Diff line number Diff line change
Expand Up @@ -2,9 +2,9 @@ name: tests

on:
push:
branches: [master]
branches: [master, dev_v4]
pull_request:
branches: [master]
branches: [master, dev_v4]

jobs:
tests:
Expand Down
18 changes: 14 additions & 4 deletions .github/workflows/wheels.yml
Original file line number Diff line number Diff line change
Expand Up @@ -2,9 +2,9 @@ name: wheels

on:
push:
branches: [master]
branches: [master, dev_v4]
pull_request:
branches: [master]
branches: [master, dev_v4]
types:
# Opened, synchronize, and reopened are the default types
# We add ready_for_review to additionally trigger when converting from draft to non-draft
Expand All @@ -19,22 +19,32 @@ on:

jobs:
make_sdist:
name: SDist
name: "SDist: ${{ matrix.os }}"
if: ${{ github.event_name != 'pull_request' || !github.event.pull_request.draft }}
runs-on: ubuntu-latest
runs-on: ${{ matrix.os }}

strategy:
matrix:
os: [ubuntu-latest]

steps:
- uses: actions/checkout@v3
with:
submodules: recursive

- name: Setup Python
uses: actions/[email protected]

- name: Make sdist
run: |
python --version
pipx --version
pipx run build --sdist

- name: Install from sdist
run: |
pip install --upgrade pip setuptools wheel
pip install pytest
cp dist/h3-*.tar.gz h3.tar.gz
pip install h3.tar.gz[all]

Expand Down
2 changes: 1 addition & 1 deletion CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -65,7 +65,7 @@ avoid adding features or APIs which do not map onto the

## [3.6.2] - 2020-06-02

- Improve error reporting on `hex2int` (https://github.com/uber/h3-py/pull/127)
- Improve error reporting on `str_to_int` (https://github.com/uber/h3-py/pull/127)
- Build Linux wheels for Python 2.7

## [3.6.1] - 2020-05-29
Expand Down
20 changes: 16 additions & 4 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -7,10 +7,22 @@ set(CMAKE_POSITION_INDEPENDENT_CODE ON)
set(CMAKE_BUILD_TYPE Release)

# Avoid building tooling we won't need for release
set(BUILD_BENCHMARKS OFF CACHE BOOL "" FORCE)
set(BUILD_FILTERS OFF CACHE BOOL "" FORCE)
set(BUILD_GENERATORS OFF CACHE BOOL "" FORCE)
set(BUILD_TESTING OFF CACHE BOOL "" FORCE)
# See all options with `cmake -LA` in an `h3/build` directory,
# or at https://h3geo.org/docs/next/core-library/compilation-options/
macro(turn_off option_name)
set(${option_name} OFF CACHE BOOL "" FORCE)
endmacro()
turn_off(BUILD_ALLOC_TESTS)
turn_off(BUILD_BENCHMARKS)
turn_off(BUILD_FILTERS)
turn_off(BUILD_FUZZERS)
turn_off(BUILD_GENERATORS)
turn_off(BUILD_TESTING)
turn_off(ENABLE_COVERAGE)
turn_off(ENABLE_DOCS)
turn_off(ENABLE_FORMAT)
turn_off(ENABLE_LIBFUZZER)
turn_off(ENABLE_LINTING)

# Build the core library as static
set(BUILD_SHARED_LIBS OFF)
Expand Down
3 changes: 0 additions & 3 deletions MANIFEST.in
Original file line number Diff line number Diff line change
Expand Up @@ -19,9 +19,6 @@ include src/h3lib/README.md
include src/h3lib/VERSION
include src/h3lib/CMakeLists.txt

graft src/h3lib/scripts
graft src/h3lib/examples
graft src/h3lib/cmake
graft src/h3lib/src/h3lib
graft src/h3lib/src/apps
exclude MANIFEST.in
32 changes: 16 additions & 16 deletions docs/api_comparison.md
Original file line number Diff line number Diff line change
Expand Up @@ -37,7 +37,7 @@ needs, based on speed and convenience.

```{tip}
Note that the APIs are all 100% compatible, and it is easy to convert
between them with functions like `h3_to_string` (links!) and `string_to_h3`.
between them with functions like `int_to_str` (links!) and `str_to_int`.

For example, one common pattern is to use `h3.api.numpy_int` for any
computationally-heavy work, and convert the output to `str` and `list`/`set`
Expand All @@ -54,11 +54,11 @@ using `list` and `set` for collections.

```python
>>> import h3
>>> h = h3.geo_to_h3(0, 0, 0)
>>> h = h3.latlng_to_cell(0, 0, 0)
>>> h
'8075fffffffffff'

>>> h3.hex_ring(h, 1)
>>> h3.grid_ring(h, 1)
{'8055fffffffffff',
'8059fffffffffff',
'807dfffffffffff',
Expand Down Expand Up @@ -87,11 +87,11 @@ H3 indexes are represented as Python `int`s, using `list` and `set` for collecti

```python
>>> import h3.api.basic_int as h3
>>> h = h3.geo_to_h3(0, 0, 0)
>>> h = h3.latlng_to_cell(0, 0, 0)
>>> h
578536630256664575

>>> h3.hex_ring(h, 1)
>>> h3.grid_ring(h, 1)
{577973680303243263,
578044049047420927,
578677367745019903,
Expand All @@ -110,11 +110,11 @@ no-copy `numpy` arrays instead of Python `list`s and `set`s.

```python
>>> import h3.api.numpy_int as h3
>>> h = h3.geo_to_h3(0, 0, 0)
>>> h = h3.latlng_to_cell(0, 0, 0)
>>> h
578536630256664575

>>> h3.hex_ring(h, 1)
>>> h3.grid_ring(h, 1)
array([578782920861286399, 578044049047420927, 577973680303243263,
578677367745019903, 579169948954263551], dtype=uint64)
```
Expand All @@ -141,11 +141,11 @@ In fact, `h3.api.numpy_int` is essentially just a light wrapper around

```python
>>> import h3.api.memview_int as h3
>>> h = h3.geo_to_h3(0, 0, 0)
>>> h = h3.latlng_to_cell(0, 0, 0)
>>> h
578536630256664575

>>> mv = h3.hex_ring(h, 1)
>>> mv = h3.grid_ring(h, 1)
>>> mv
<MemoryView of 'array' at 0x11188c710>

Expand Down Expand Up @@ -175,8 +175,8 @@ For example, consider the setup:
```python
>>> import h3.api.memview_int as h3
>>> import numpy as np
>>> h = h3.geo_to_h3(0, 0, 0)
>>> mv = h3.hex_ring(h, 1)
>>> h = h3.latlng_to_cell(0, 0, 0)
>>> mv = h3.grid_ring(h, 1)
>>> list(mv)
[578782920861286399,
578044049047420927,
Expand All @@ -200,7 +200,7 @@ Running `a = np.asarray(mv)` **does not create a copy**, so modifying `mv` also
modifies `a`:

```python
>>> mv = h3.hex_ring(h, 1)
>>> mv = h3.grid_ring(h, 1)
>>> a = np.asarray(mv)
>>> mv[0] = 0
>>> a
Expand Down Expand Up @@ -228,15 +228,15 @@ import h3.api.numpy_int


def compute(h3_lib, N=100):
h = h3_lib.geo_to_h3(0, 0, 9)
out = h3_lib.k_ring(h, N)
out = h3_lib.compact(out)
h = h3_lib.latlng_to_cell(0, 0, 9)
out = h3_lib.grid_disk(h, N)
out = h3_lib.compact_cells(out)

return out

def compute_and_convert(h3_lib, N=100):
out = compute(h3_lib, N)
out = [h3.h3_to_string(h) for h in out]
out = [h3.int_to_str(h) for h in out]

return out
```
Expand Down
83 changes: 38 additions & 45 deletions docs/api_reference.md
Original file line number Diff line number Diff line change
Expand Up @@ -19,11 +19,10 @@ but we'll try to group functions in a reasonably logical manner.
.. currentmodule:: h3

.. autosummary::
h3_is_valid
h3_is_pentagon
h3_is_res_class_III
h3_is_res_class_iii
h3_unidirectional_edge_is_valid
is_valid_cell
is_pentagon
is_res_class_III
is_valid_directed_edge
versions
```

Expand All @@ -33,16 +32,16 @@ but we'll try to group functions in a reasonably logical manner.
.. currentmodule:: h3

.. autosummary::
geo_to_h3
h3_to_geo
h3_to_string
string_to_h3
get_res0_indexes
get_pentagon_indexes
num_hexagons
h3_get_resolution
compact
uncompact
latlng_to_cell
cell_to_latlng
int_to_str
str_to_int
get_res0_cells
get_pentagons
get_num_cells
get_resolution
compact_cells
uncompact_cells
```

### Geographic coordinates
Expand All @@ -53,17 +52,15 @@ Functions relating H3 objects to geographic (lat/lng) coordinates.
.. currentmodule:: h3

.. autosummary::
point_dist
hex_area
great_circle_distance
average_hexagon_area
cell_area
edge_length
exact_edge_length
h3_to_geo_boundary
get_h3_unidirectional_edge_boundary
polyfill
polyfill_geojson
polyfill_polygon
h3_set_to_multi_polygon
average_hexagon_edge_length
cell_to_boundary
directed_edge_to_boundary
polygon_to_cells
cells_to_polygons
```

### Hierarchical relationships
Expand All @@ -72,9 +69,9 @@ Functions relating H3 objects to geographic (lat/lng) coordinates.
.. currentmodule:: h3

.. autosummary::
h3_to_parent
h3_to_children
h3_to_center_child
cell_to_parent
cell_to_children
cell_to_center_child
```

### Cell grid relationships
Expand All @@ -83,15 +80,11 @@ Functions relating H3 objects to geographic (lat/lng) coordinates.
.. currentmodule:: h3

.. autosummary::
hex_range
hex_range_distances
hex_ranges
hex_ring
k_ring
k_ring_distances
h3_distance
h3_indexes_are_neighbors
h3_line
grid_ring
grid_disk
grid_distance
are_neighbor_cells
grid_path_cells
```

### Edges
Expand All @@ -100,11 +93,11 @@ Functions relating H3 objects to geographic (lat/lng) coordinates.
.. currentmodule:: h3

.. autosummary::
get_h3_unidirectional_edge
get_destination_h3_index_from_unidirectional_edge
get_h3_indexes_from_unidirectional_edge
get_h3_unidirectional_edges_from_hexagon
get_origin_h3_index_from_unidirectional_edge
cells_to_directed_edge
get_directed_edge_destination
directed_edge_to_cells
origin_to_directed_edges
get_directed_edge_origin
```

### IJ-indexing
Expand All @@ -113,10 +106,10 @@ Functions relating H3 objects to geographic (lat/lng) coordinates.
.. currentmodule:: h3

.. autosummary::
h3_get_base_cell
h3_get_faces
experimental_h3_to_local_ij
experimental_local_ij_to_h3
get_base_cell_number
get_icosahedron_faces
cell_to_local_ij
local_ij_to_cell
```


Expand Down
Loading