Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
16 commits
Select commit Hold shift + click to select a range
795dabb
refactor: Modernize Rust codebase with performance improvements
erichutchins Feb 15, 2026
6eb60a2
dependency bumps, including new api for maxminddb
erichutchins Feb 15, 2026
57fd6f0
refactor: Fix code review findings - remove IPv6 type, fix unsafe blo…
erichutchins Feb 21, 2026
cae4dd4
refactor: simplify builder pattern using make_builders macro
erichutchins Feb 21, 2026
97bfad1
using ip-extract crate
erichutchins Feb 24, 2026
bea85bb
feat: add filtered IP extraction with defang support
erichutchins Mar 8, 2026
8619cce
feat: add extract_ips, extract_public_ips, extract_private_ips Python…
erichutchins Mar 8, 2026
5959ef8
test: add tests for extract_ips, defang support, and filter options
erichutchins Mar 8, 2026
6e583cf
chore: remove unused regex dependency
erichutchins Mar 8, 2026
67cf7e5
chore: upgrade ip-extract to 0.2.0 with bracket-wrapped IPv6 fix
erichutchins Mar 9, 2026
fa779df
test: add Parquet/IPC round-trip tests for extension types
erichutchins Mar 9, 2026
58bbf02
feat: add IP extension types, extract_ips filters, and mkdocs API ref…
erichutchins Mar 9, 2026
a18eb68
docs: add IP extension types example to README, fix spur column header
erichutchins Mar 9, 2026
3ce7dd3
docs: add badges to README (docs, Python versions, uv, ruff, ty, lice…
erichutchins Mar 9, 2026
7d71024
ci: drop Python 3.9, remove min-versions job, fix docs workflow for m…
erichutchins Mar 9, 2026
3c3638e
ci: improve caching — debuginfo=0, save-if main only, pin test-os Pyt…
erichutchins Mar 9, 2026
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
15 changes: 8 additions & 7 deletions .github/workflows/docs.yml
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
name: ci
name: ci
on:
push:
branches:
- master
- master
- main
permissions:
contents: write
Expand All @@ -15,15 +15,16 @@ jobs:
run: |
git config user.name github-actions[bot]
git config user.email 41898282+github-actions[bot]@users.noreply.github.com
- uses: actions/setup-python@v5
- name: Install uv
uses: astral-sh/setup-uv@v5
with:
python-version: 3.x
- run: echo "cache_id=$(date --utc '+%V')" >> $GITHUB_ENV
python-version: "3.12"
- run: echo "cache_id=$(date --utc '+%V')" >> $GITHUB_ENV
- uses: actions/cache@v4
with:
key: mkdocs-material-${{ env.cache_id }}
path: .cache
restore-keys: |
mkdocs-material-
- run: pip install mkdocs-material
- run: mkdocs gh-deploy --force
- run: uv sync --group docs
- run: uv run mkdocs gh-deploy --force
56 changes: 14 additions & 42 deletions .github/workflows/publish_to_pypi.yml
Original file line number Diff line number Diff line change
Expand Up @@ -16,9 +16,9 @@ concurrency:
permissions:
contents: read # Default read-only permissions

# Make sure CI fails on all warnings, including Clippy lints
# Treat all Rust warnings as errors; skip debug symbols to reduce compile time/memory
env:
RUSTFLAGS: "-Dwarnings"
RUSTFLAGS: "-Dwarnings -C debuginfo=0"

jobs:
# ------------------------------------------------------------------
Expand All @@ -30,7 +30,6 @@ jobs:
fail-fast: false
matrix:
python-version:
- "3.9"
- "3.10"
- "3.11"
- "3.12"
Expand All @@ -46,11 +45,14 @@ jobs:

- name: Rust Cache
uses: swatinem/rust-cache@v2
with:
save-if: ${{ github.ref_name == 'main' }}

- name: Install uv and Python
uses: astral-sh/setup-uv@v5
with:
python-version: ${{ matrix.python-version }}
enable-cache: true

- name: install deps
run: uv sync --group dev
Expand All @@ -64,41 +66,6 @@ jobs:
- name: Run tests
run: uv run pytest tests -v

# ------------------------------------------------------------------
# Minimum version test (py3.9 + polars 1.3)
# ------------------------------------------------------------------
min-versions-test:
name: Test Min Versions (Python 3.9)
runs-on: ubuntu-latest
needs: test-python
steps:
- uses: actions/checkout@v4

- name: Set up Rust stable toolchain
uses: dtolnay/rust-toolchain@stable

- name: Rust Cache
uses: swatinem/rust-cache@v2

- name: Install uv and Python
uses: astral-sh/setup-uv@v5
with:
python-version: "3.9"

- name: Install with minimum dependencies
run: |
uv sync --group dev
uv lock --upgrade-package polars==1.3.0

- run: uv pip install -e .
env:
RUST_BACKTRACE: 1

- run: uv pip freeze

- name: Run tests with minimum versions
run: uv run pytest tests -v

# ------------------------------------------------------------------
# Test different operating systems
# ------------------------------------------------------------------
Expand All @@ -119,9 +86,14 @@ jobs:

- name: cache rust
uses: Swatinem/rust-cache@v2
with:
save-if: ${{ github.ref_name == 'main' }}

- name: install uv
uses: astral-sh/setup-uv@v5
with:
python-version: "3.12"
enable-cache: true

- name: install deps
run: uv sync --group dev
Expand All @@ -139,7 +111,7 @@ jobs:
# ------------------------------------------------------------------
build-linux:
name: Build Wheels (${{ matrix.os }}, ${{ matrix.target }})
needs: [test-python, test-os, min-versions-test]
needs: [test-python, test-os]
runs-on: ${{ matrix.platform.runner }}

strategy:
Expand Down Expand Up @@ -176,7 +148,7 @@ jobs:

build-musllinux:
name: Build Wheels (${{ matrix.os }}, ${{ matrix.target }})
needs: [test-python, test-os, min-versions-test]
needs: [test-python, test-os]
runs-on: ${{ matrix.platform.runner }}

strategy:
Expand Down Expand Up @@ -212,7 +184,7 @@ jobs:

build-windows:
name: Build Wheels (${{ matrix.os }}, ${{ matrix.target }})
needs: [test-python, test-os, min-versions-test]
needs: [test-python, test-os]
runs-on: ${{ matrix.platform.runner }}

strategy:
Expand Down Expand Up @@ -246,7 +218,7 @@ jobs:

build-macos:
name: Build Wheels (${{ matrix.os }}, ${{ matrix.target }})
needs: [test-python, test-os, min-versions-test]
needs: [test-python, test-os]
runs-on: ${{ matrix.platform.runner }}

strategy:
Expand Down
4 changes: 4 additions & 0 deletions AGENTS.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
Follow the Python Developer Tooling Handbook's recommendations:
- Use uv for all dependency management
- Reference: https://pydevtools.com/handbook/explanation/modern-python-project-setup-guide-for-ai-assistants.md
- For more information: https://pydevtools.com/llms.txt
Loading
Loading