Scalable and efficient approach for reverse geocoding using Uber H3
- Clone this repository
git clone https://github.com/a1d4r/reverse-geocoding-uber-h3.git
cd reverse-geocoding-uber-h3
- If you don't have
Poetry
installed run:
make poetry-download
- Install dependencies:
make install
Install pre-commit hooks:
make pre-commit-install
Format source code:
make format
Check codestyle and run static linters:
make lint
Run tests:
make test
Or everything in one command:
make format lint test
Makefile
contains a lot of functions for faster development.
1. Download and remove Poetry
To download and install Poetry run:
make poetry-download
To uninstall
make poetry-remove
2. Install all dependencies and pre-commit hooks
Install requirements:
make install
Pre-commit hooks coulb be installed after git init
via
make pre-commit-install
3. Codestyle
Automatic formatting uses pyupgrade
, isort
and black
.
make codestyle
# or use synonym
make format
Codestyle checks only, without rewriting files:
make check-codestyle
Note:
check-codestyle
usesisort
,black
anddarglint
library
Update all dev libraries to the latest version using one comand
make update-dev-deps
4. Code security
make check-security
This command identifies security issues with Safety
and Bandit
.
make check-security
To validate pyproject.toml
use
make check-poetry
5. Linting and type checks
Run static linting with pylint
and mypy
:
make static-lint
6. Tests
Run pytest
make test
7. All linters
Of course there is a command to rule run all linters in one:
make lint
the same as:
make format lint test
8. Cleanup
Delete pycache files
make pycache-remove
Remove package build
make build-remove
Delete .DS_STORE files
make dsstore-remove
Remove .mypycache
make mypycache-remove
Or to remove all above run:
make cleanup
This project is licensed under the terms of the MIT
license. See LICENSE for more details.
@misc{geocoding,
author = {a1d4r},
title = {Reverse geocoding algorithm based on Uber H3},
year = {2022},
publisher = {GitHub},
journal = {GitHub repository},
howpublished = {\url{https://github.com/a1d4r/thesis-project}}
}
This project was generated with python-package-template