---
title: delimiter_model | CodeWeaver Docs
description: API reference for codeweaver.engine.chunker.delimiter_model
url: "https://docs.knitli.com/api/engine/chunker/delimiter_model"
type: static
generatedAt: "2026-04-17T17:21:08.378Z"
---

# delimiter_model
       [Open in ChatGPT](https://chatgpt.com/?q=Read%20https%3A%2F%2Fdocs.knitli.com%2Fcodeweaver%2Fapi%2Fengine%2Fchunker%2Fdelimiter_model%2F.%20I%20want%20to%20ask%20questions%20about%20it.)[Open in Claude](https://claude.ai/new?q=Read%20https%3A%2F%2Fdocs.knitli.com%2Fcodeweaver%2Fapi%2Fengine%2Fchunker%2Fdelimiter_model%2F.%20I%20want%20to%20ask%20questions%20about%20it.)[View in Markdown](/codeweaver/api/engine/chunker/delimiter_model.md)       [Share on LinkedIn](https://www.linkedin.com/sharing/share-offsite/?url=https%3A%2F%2Fdocs.knitli.com%2Fcodeweaver%2Fapi%2Fengine%2Fchunker%2Fdelimiter_model%2F)[Share on X](https://x.com/intent/tweet?url=https%3A%2F%2Fdocs.knitli.com%2Fcodeweaver%2Fapi%2Fengine%2Fchunker%2Fdelimiter_model%2F&text=delimiter_model)[Share on Threads](https://threads.net/intent/post?url=https%3A%2F%2Fdocs.knitli.com%2Fcodeweaver%2Fapi%2Fengine%2Fchunker%2Fdelimiter_model%2F&text=delimiter_model)[Share on Bluesky](https://bsky.app/intent/compose?text=delimiter_model%20https%3A%2F%2Fdocs.knitli.com%2Fcodeweaver%2Fapi%2Fengine%2Fchunker%2Fdelimiter_model%2F)[Share on Facebook](https://www.facebook.com/sharer/sharer.php?u=https%3A%2F%2Fdocs.knitli.com%2Fcodeweaver%2Fapi%2Fengine%2Fchunker%2Fdelimiter_model%2F)[Share on Reddit](https://reddit.com/submit?url=https%3A%2F%2Fdocs.knitli.com%2Fcodeweaver%2Fapi%2Fengine%2Fchunker%2Fdelimiter_model%2F&title=delimiter_model)[Share on Hacker News](https://news.ycombinator.com/submitlink?u=https%3A%2F%2Fdocs.knitli.com%2Fcodeweaver%2Fapi%2Fengine%2Fchunker%2Fdelimiter_model%2F&t=delimiter_model)[Share on Email](mailto:?subject=delimiter_model&body=https%3A%2F%2Fdocs.knitli.com%2Fcodeweaver%2Fapi%2Fengine%2Fchunker%2Fdelimiter_model%2F)[Share on WhatsApp](https://wa.me/?text=delimiter_model%20https%3A%2F%2Fdocs.knitli.com%2Fcodeweaver%2Fapi%2Fengine%2Fchunker%2Fdelimiter_model%2F)[Share on Telegram](https://t.me/share/url?url=https%3A%2F%2Fdocs.knitli.com%2Fcodeweaver%2Fapi%2Fengine%2Fchunker%2Fdelimiter_model%2F&text=delimiter_model)
# `codeweaver.engine.chunker.delimiter_model`
[Section titled “codeweaver.engine.chunker.delimiter_model”](#codeweaverenginechunkerdelimiter_model)
Delimiter model and supporting classes for pattern-based chunking.

This module provides the core data structures for delimiter-based code chunking:

 - Delimiter: Concrete delimiter definition with semantic metadata
 - DelimiterMatch: A matched delimiter occurrence in source code
 - Boundary: A complete delimiter boundary (start + end matched)

These classes work together to implement pattern-based chunking across 170+ languages.

## Class: `Boundary`
[Section titled “Class: Boundary”](#class-boundary)
A complete delimiter boundary (start + end matched).

Represents a fully matched delimiter pair, defining a chunk boundary with both start and end positions. Boundaries are used to extract chunk content and metadata.

Attributes: start: Character position of boundary start end: Character position of boundary end delimiter: The delimiter that defines this boundary nesting_level: Depth of nesting for this boundary (0 = top level)

Raises: ValueError: If start >= end (invalid boundary)

Example: >>> boundary = Boundary(start=0, end=100, delimiter=my_delimiter, nesting_level=0) >>> boundary.length 100

## Class: `Delimiter`
[Section titled “Class: Delimiter”](#class-delimiter)
Concrete delimiter definition with semantic metadata.

Represents a specific delimiter pattern that can be used for code chunking. Delimiters define start/end patterns along with semantic classification and processing rules.

Attributes: start: Start delimiter pattern end: End delimiter pattern kind: Semantic classification of the delimiter priority: Processing priority (higher values processed first) inclusive: Whether to include delimiters in chunk content take_whole_lines: Whether to expand chunks to line boundaries nestable: Whether this delimiter can nest within itself

Example: >>> delimiter = Delimiter( … start=“def ”, … end=”:”, … kind=DelimiterKind.FUNCTION, … priority=70, … inclusive=True, … take_whole_lines=True, … nestable=True, … )

### Method: `from_pattern`
[Section titled “Method: from_pattern”](#method-from_pattern)

**

```
from_pattern()
```

Expand pattern to concrete delimiters.

Converts a DelimiterPattern (which may specify multiple start/end combinations) into a list of concrete Delimiter instances.

Args: pattern: The delimiter pattern to expand

Returns: List of Delimiter instances, one per start/end combination

Example: >>> from codeweaver.engine.chunker.delimiters import DelimiterPattern >>> pattern = DelimiterPattern( … starts=[“if”, “while”], ends=[”:”, “then”], kind=DelimiterKind.CONDITIONAL … ) >>> delimiters = Delimiter.from_pattern(pattern) >>> len(delimiters) 4 # 2 starts * 2 ends

## Class: `DelimiterMatch`
[Section titled “Class: DelimiterMatch”](#class-delimitermatch)
A matched delimiter occurrence in source code.

Represents a single delimiter match found during scanning, tracking its position and nesting context. Matches are paired during boundary extraction to form complete Boundary objects.

Attributes: delimiter: The delimiter that was matched start_pos: Character position of the match start end_pos: Character position of the match end (None for start delimiters) nesting_level: Depth of nesting at this match (0 = top level)

Example: >>> match = DelimiterMatch( … delimiter=my_delimiter, start_pos=42, end_pos=None, nesting_level=0 … ) >>> match.is_start True