Metadata-Version: 2.4
Name: naylence-core
Version: 0.3.2
Summary: Naylence Core
License: Apache-2.0
License-File: LICENSE
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: naylence-factory (>=0.1.3,<0.2.0)
Requires-Dist: pydantic (>=2.11.4,<3.0.0)
Project-URL: Bug Tracker, https://github.com/naylence/naylence-core-python/issues
Project-URL: Documentation, https://github.com/naylence/naylence-core-python#readme
Project-URL: Homepage, https://github.com/naylence/naylence-core-python
Project-URL: Repository, https://github.com/naylence/naylence-core-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 Fame Core

**Fame Core** is the low-level messaging backbone for the [Naylence](https://github.com/naylence) platform, providing the essential types, protocols, and interfaces for high-performance, addressable, and semantically routable message passing between AI agents and services.

> Part of the Naylence stack. See the full platform [here](https://github.com/naylence).

## Development & Publishing

This project uses Poetry for dependency management and GitHub Actions for automated testing and publishing.

### Local Development

```bash
# Install dependencies
poetry install

# Run tests
poetry run pytest

# Run linting
poetry run ruff check .
poetry run black --check .

# Build package
poetry build
```

#### Using local sibling dependencies during development

This project depends on `naylence-factory`. In development, you can point Poetry to a local checkout without changing `pyproject.toml`:

```bash
# Option A: temporary override (current venv only)
poetry run pip install -e ../naylence-factoria-python

# Option B: Poetry path override (persisted in poetry.lock)
poetry add --path ../naylence-factoria-python naylence-factoria

# Option C: PEP 582 editable via uv (optional)
uv pip install -e ../naylence-factoria-python
```

When committing, keep `pyproject.toml` referencing the normal package (not the local path). CI will install from PyPI/TestPyPI via configured sources.

### Publishing

- **Automatic**: Create a GitHub release to automatically publish to PyPI
- **Manual**: Use the "Publish to PyPI" workflow dispatch to publish to TestPyPI or PyPI
- **Local**: Use `poetry publish -r testpypi` or `poetry publish` for local testing

