• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

freeeve / rustychickpeas / 19492616474
89%

Build:
DEFAULT BRANCH: main
Ran 19 Nov 2025 07:00AM UTC
Jobs 1
Files 7
Run time 1min
Badge
Embed ▾
README BADGES
x

If you need to use a raster PNG badge, change the '.svg' to '.png' in the link

Markdown

Textile

RDoc

HTML

Rst

19 Nov 2025 06:54AM UTC coverage: 68.972% (+3.8%) from 65.154%
19492616474

push

github

freeeve
feat: major API improvements and new traversal functions (v0.4.0)

BREAKING CHANGE: This release includes significant API improvements and new features.

## Major Changes

### API Naming Improvements
- Renamed methods to follow Pythonic/Rustic conventions:
  - `n_nodes()` → `node_count()`
  - `n_rels()` → `relationship_count()`
  - `get_neighbors()` → `neighbors()` (returns Node objects)
  - `get_neighbor_ids()` → `neighbor_ids()` (returns IDs)
  - `get_rels()` → `relationships()`
  - `get_node()` → `node()`
  - `get_labels()` → `labels()`
  - `get_type()` → `reltype()`
  - `get_start_node()` → `start_node()`
  - `get_end_node()` → `end_node()`
  - `get_graph_snapshot()` → `graph_snapshot()`
- Removed deprecated aliases (`n_nodes()`, `n_rels()`)

### New Traversal Functions
- Added `bfs()` function for breadth-first search traversal:
  - Supports direction (Outgoing, Incoming, Both)
  - Optional relationship type filtering
  - Optional node and relationship filters
  - Optional max depth limit
  - Returns (node_bitmap, rel_bitmap)
- Added `bidirectional_bfs()` function for finding paths between node sets:
  - Performs BFS from both source and target simultaneously
  - Supports direction parameter
  - Optional relationship type filtering
  - Optional node and relationship filters
  - Optional max depth limit
  - Returns intersection of nodes and relationships on paths

### Optional Node IDs
- Made `node_id` optional in `add_node()` - auto-generates if not provided
- `add_rel()` still requires node IDs (or Node objects in Python)

### File Reorganization
- Renamed source files to match class names:
  - `builder.rs` → `graph_builder.rs`
  - `snapshot.rs` → `graph_snapshot.rs`
  - `builder_parquet.rs` → `graph_builder_parquet.rs`
- Reorganized Python tests to match module structure

### Benchmarks
- Added comprehensive benchmarks for `bfs()` and `bidirectional_bfs()`
- Updated existing benchmarks to use new API names
- Added benchmarks for different filte... (continued)

391 of 524 new or added lines in 4 files covered. (74.62%)

1047 of 1518 relevant lines covered (68.97%)

1.26 hits per line

New Missed Lines in Diff

Lines Coverage ∆ File
14
45.5
rustychickpeas-core/src/graph_builder_parquet.rs
44
66.51
rustychickpeas-core/src/graph_builder.rs
75
82.19
rustychickpeas-core/src/graph_snapshot.rs
Jobs
ID Job ID Ran Files Coverage
1 rust - 19492616474.1 19 Nov 2025 07:00AM UTC 7
68.97
GitHub Action Run
Source Files on build 19492616474
  • Tree
  • List 7
  • Changed 2
  • Source Changed 2
  • Coverage Changed 0
Coverage ∆ File Lines Relevant Covered Missed Hits/Line
  • Back to Repo
  • Github Actions Build #19492616474
  • 9f1a3f5d on github
  • Prev Build on main (#19453215860)
  • Next Build on main (#19492862230)
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2025 Coveralls, Inc