Metadata-Version: 2.4
Name: naylence-factory
Version: 0.1.6
Summary: Naylence resource factory and extension management framework
License: Apache-2.0
License-File: LICENSE
License-File: NOTICE
Keywords: messaging,ai,agents,platform,naylence
Author: Naylence Dev
Author-email: naylencedev@gmail.com
Requires-Python: >=3.12
Classifier: Development Status :: 3 - Alpha
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: Apache Software License
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.12
Classifier: Topic :: Software Development :: Libraries :: Python Modules
Classifier: Topic :: System :: Distributed Computing
Requires-Dist: pydantic (>=2.11.4,<3.0.0)
Project-URL: Bug Tracker, https://github.com/naylence/naylence-factory-python/issues
Project-URL: Documentation, https://github.com/naylence/naylence-factory-python#readme
Project-URL: Homepage, https://github.com/naylence/naylence-factory-python
Project-URL: Repository, https://github.com/naylence/naylence-factory-python
Description-Content-Type: text/markdown

[![Join our Discord](https://img.shields.io/badge/Discord-Join%20Chat-blue?logo=discord)](https://discord.gg/nwZAeqdv7y)

# Naylence factory

**Naylence factory** is the resource factory and extension management framework for the [Naylence](https://github.com/naylence) ecosystem.
It provides a structured way to define, register, and instantiate resources (connectors, stores, clients, etc.) using Pydantic-based configuration, priority-based defaults, and plugin-style extension loading.

---

## Features

* 🏭 **Resource Factories** — Define factories that build typed resources from configs.
* 🔌 **Extension Management** — Discover and register implementations via Python entry points.
* ⚡ **Priority-based Defaults** — Automatically select the “best” default implementation.
* 🧩 **Composable Configs** — Pydantic models with expression support (`${env:VAR:default}`).
* 🔒 **Policy-driven Evaluation** — Control how config expressions are handled: evaluate, literal, or error.
* 🔄 **Polymorphic Dispatch** — Automatically instantiate subclasses based on `type` fields.

---

## Installation

```bash
pip install naylence-factory
```

Requires **Python 3.12+**.

---
## License

Apache 2.0 © Naylence Dev

