DB(SQLite)内の住所データをGeocodingして地図にプロットする。
- Geocoding API - 住所から緯度経度を検索
- APIコールは、10秒に1回に抑える必要がある
- 地図データ可視化に使用
- Geocoding APIコール、解析に使用
- requests
- beautifulsoup4
- lxml
- プログレスバー表示に使用
- tqdm
ツール種類 | ツール名 |
---|---|
依存関係管理 | Poetry |
テストフレームワーク | pytest |
リンター | flake8 |
フォーマッター | black |
型チェック | mypy |
python ./app.py
# もしくは
make start
- プロジェクトディレクトリの
places_test.db
を読み込む - 地図を
map.html
として出力
Poetry導入
開発環境に無ければ入れる。使い方まとめはこちら。
> curl -sSL https://raw.githubusercontent.com/python-poetry/poetry/master/get-poetry.py | python
> (Invoke-WebRequest -Uri https://raw.githubusercontent.com/python-poetry/poetry/master/get-poetry.py -UseBasicParsing).Content | python
poetry install
lintやunit testは仮想環境に入って実行する。出るのはexit
。
poetry shell
make lint
make ut
make start
全部実行
pytest
pytest -v # verbose
pytest -s # 標準出力を出す (--capture=noと同じ)
pytest -ra # サマリーを表示 (テストをpassしたもの以外)
pytest -rA # サマリーを表示 (テストをpassしたものも含む)
指定して実行
(テストファイル名, パッケージ名, テストクラス名, メソッド名, 割と何でも拾ってくれる。部分一致でも。)
pytest -k app
pytest -k test_app.py
pytest -k my
マーカーを指定して実行
pytest -m 'slow'
pytest -m 'not slow'
カバレッジレポートも作成
pytest -v --capture=no --cov-config .coveragerc --cov=main --cov-report=xml --cov-report=term-missing .
もしくは
make ut
VSCodeでコードカバレッジを見るには、Coverage Gutters (プラグイン) を入れる。表示されない場合は、コマンドパレットでCoverage Gutters: Display Coverage
する。
flake8 --max-line-length=100 --ignore=E203,W503 ./main
もしくは
make lint