Metadata-Version: 2.4
Name: lance-namespace
Version: 0.6.1
Summary: Lance Namespace interface and plugin registry
Project-URL: Repository, https://github.com/lance-format/lance-namespace
Project-URL: Documentation, https://lance.org/format/namespace/
Author-email: LanceDB Devs <dev@lancedb.com>
License: Apache-2.0
Keywords: lance,lancedb,namespace,vector-database
Requires-Python: >=3.8
Requires-Dist: lance-namespace-urllib3-client==0.6.1
Description-Content-Type: text/markdown

# lance-namespace

Lance Namespace interface and plugin registry.

## Overview

This package provides:
- `LanceNamespace` ABC interface for namespace implementations
- `connect()` factory function for creating namespace instances
- `register_namespace_impl()` for external implementation registration
- Re-exported model types from `lance_namespace_urllib3_client`

## Installation

```bash
pip install lance-namespace
```

## Usage

```python
import lance_namespace

# Connect using native implementations (requires lance package)
ns = lance_namespace.connect("dir", {"root": "/path/to/data"})
ns = lance_namespace.connect("rest", {"uri": "http://localhost:4099"})

# Register a custom implementation
lance_namespace.register_namespace_impl("glue", "lance_glue.GlueNamespace")
ns = lance_namespace.connect("glue", {"catalog": "my_catalog"})
```

## Creating Custom Implementations

```python
from lance_namespace import LanceNamespace

class MyNamespace(LanceNamespace):
    def namespace_id(self) -> str:
        return "MyNamespace { ... }"

    # Override other methods as needed
```

## License

Apache-2.0
