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
1 change: 1 addition & 0 deletions .gitattributes
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
* text=auto eol=lf
41 changes: 41 additions & 0 deletions .github/ISSUE_TEMPLATE/bug_report.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,41 @@
---
name: Bug report
about: Report a reproducible problem with Geocoder
title: "[Bug]: "
labels: bug
assignees: ""
---

## Summary

<!-- Describe the problem and its impact. -->

## Steps To Reproduce

1.
2.
3.

## Expected Behavior

<!-- What should have happened? -->

## Actual Behavior

<!-- What happened instead? Include the complete error or traceback if applicable. -->

## Environment

- OS:
- Python version:
- Geocoder version or commit:
- Provider and command used:

## Input And Logs

<!-- Attach a minimal sanitized workbook or sample rows, plus relevant output.
Do not include API keys, credentials, or sensitive address data. -->

## Additional Context

<!-- Add any other useful details, such as whether the issue is intermittent. -->
27 changes: 27 additions & 0 deletions .github/ISSUE_TEMPLATE/feature_request.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
---
name: Feature request
about: Suggest an improvement to Geocoder
title: "[Feature]: "
labels: enhancement
assignees: ""
---

## Problem

<!-- What user need or workflow is not adequately supported? -->

## Proposed Solution

<!-- Describe the behavior or interface you would like. -->

## Alternatives Considered

<!-- What other approaches or workarounds have you considered? -->

## Example

<!-- Show an example command, workbook shape, or expected output when useful. -->

## Additional Context

<!-- Include provider constraints, compatibility considerations, or related issues. -->
18 changes: 9 additions & 9 deletions .github/dependabot.yml
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
version: 2
updates:
- package-ecosystem: "github-actions"
directory: "/"
schedule:
interval: "daily"
time: "11:00"
commit-message:
prefix: "[Build]"
version: 2
updates:
- package-ecosystem: "github-actions"
directory: "/"
schedule:
interval: "daily"
time: "11:00"
commit-message:
prefix: "[Build]"
22 changes: 22 additions & 0 deletions .github/pull_request_template.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
## Summary

<!-- What changed and why? Link the issue when applicable. -->

Closes #

## Changes

<!-- List the user-visible or technical changes. -->

## Validation

<!-- List commands run and their results. Include manual validation where relevant. -->

- [ ] Tests added or updated where behavior changed.
- [ ] Documentation updated where needed.
- [ ] `poetry run pytest` passes.
- [ ] `poetry run pylint src test` passes.

## Review Notes

<!-- Call out follow-up work, compatibility concerns, provider/API behavior, or risks. -->
16 changes: 8 additions & 8 deletions .github/renovate.json
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
{
"$schema": "https://docs.renovatebot.com/renovate-schema.json",
"extends": ["github>pangaeatech/.github", "customManagers:githubActionsVersions"],
"baseBranchPatterns": ["main"],
"branchPrefix": "renovate/",
"enabledManagers": ["poetry", "custom.regex"],
"lockFileMaintenance": { "enabled": true }
}
{
"$schema": "https://docs.renovatebot.com/renovate-schema.json",
"extends": ["github>pangaeatech/.github", "customManagers:githubActionsVersions"],
"baseBranchPatterns": ["main"],
"branchPrefix": "renovate/",
"enabledManagers": ["poetry", "custom.regex"],
"lockFileMaintenance": { "enabled": true }
}
26 changes: 0 additions & 26 deletions .github/workflows/add-to-redmine.yml

This file was deleted.

84 changes: 0 additions & 84 deletions .github/workflows/auto-add-to-pr-and-redmine.yml

This file was deleted.

138 changes: 73 additions & 65 deletions .github/workflows/build-and-test.yml
Original file line number Diff line number Diff line change
@@ -1,65 +1,73 @@
name: Test
concurrency: test-${{ github.head_ref || github.ref }}
on:
push:
branches: [main]
pull_request:
types: [opened, synchronize, reopened, ready_for_review]
branches: [main]

permissions:
contents: read

jobs:
build-and-test:
if: ${{ github.event_name == 'push' || (!github.event.pull_request.draft && !startsWith(github.event.pull_request.title, 'WIP ')) }}
runs-on: ubuntu-latest

name: Build and Test
steps:
- uses: actions/checkout@v7
with:
clean: true
lfs: true
submodules: true
ref: ${{ github.head_ref }}

- name: Set up Python
uses: actions/setup-python@v7
with:
python-version-file: "pyproject.toml"

- name: Install poetry
uses: abatilo/actions-poetry@v4

- name: Set up local venv
run: |
poetry config virtualenvs.create true --local
poetry config virtualenvs.in-project true --local

- run: poetry install

- run: poetry run black --check .

- run: poetry run pylint *.py */*.py

- name: Run Coverage
run: |
poetry run coverage run --branch -m pytest test
poetry run coverage report --fail-under=85 ./*.py src/*.py
poetry run coverage html ./*.py src/*.py

- name: Upload coverage artifacts
if: ${{ !cancelled() }}
uses: actions/upload-artifact@v7
with:
name: coverage
path: htmlcov/

- run: poetry run pdoc -o ./docs *.py

- name: Upload documentation
uses: actions/upload-artifact@v7
with:
name: documentation
path: docs/
name: Test
concurrency: test-${{ github.head_ref || github.ref }}
on:
push:
branches: [main]
pull_request:
types: [opened, synchronize, reopened, ready_for_review]
branches: [main]

permissions:
contents: read

jobs:
build-and-test:
if: ${{ github.event_name == 'push' || (!github.event.pull_request.draft && !startsWith(github.event.pull_request.title, 'WIP ')) }}
runs-on: ubuntu-latest

name: Build and Test (Python ${{ matrix.python-version }})
strategy:
matrix:
python-version: ["3.10", "3.11", "3.12", "3.13", "3.14"]

steps:
- uses: actions/checkout@v7
with:
clean: true
lfs: true
submodules: true
ref: ${{ github.head_ref }}

- name: Set up Python
uses: actions/setup-python@v7
with:
python-version: ${{ matrix.python-version }}

- name: Install poetry
uses: abatilo/actions-poetry@v4

- name: Set up local venv
run: |
poetry config virtualenvs.create true --local
poetry config virtualenvs.in-project true --local

- run: poetry install

- run: poetry run black --check .

- name: Check docstrings and lint
run: poetry run pylint *.py */*.py

- name: Check type hints
run: poetry run mypy src

- name: Run Coverage
run: |
poetry run coverage run --branch -m pytest test
poetry run coverage report --fail-under=95 ./*.py src/*.py
poetry run coverage html ./*.py src/*.py

- name: Upload coverage artifacts
if: ${{ !cancelled() }}
uses: actions/upload-artifact@v7
with:
name: coverage-python-${{ matrix.python-version }}
path: htmlcov/

- run: poetry run pdoc -o ./docs *.py

- name: Upload documentation
uses: actions/upload-artifact@v7
with:
name: documentation-python-${{ matrix.python-version }}
path: docs/
Loading
Loading