Skip to content

Welcome to the Nala Core API

Build Status Coverage License Python Version

Nala Core API is an opinionated, production-ready engine for building resilient, observable, and scalable microservices in Python. It provides a robust foundation—the Athomic Layer—that handles cross-cutting concerns, allowing developers to focus purely on business logic.

Our philosophy is grounded in battle-tested software engineering principles like SOLID, Single Responsibility (SRP), and Dependency Injection (DI), ensuring that applications built on this engine are maintainable, scalable, and easy to test.


Getting Started

Follow these steps to get a local development environment up and running.

Prerequisites

  • Docker & Docker Compose
  • Python 3.11+
  • Poetry

1. Clone the Repository

git clone [https://github.com/guandaline/athomic-docs.git](https://github.com/guandaline/athomic-docs.git)
cd athomic-docs

2. Start Infrastructure Services

This command will start all necessary services defined in docker-compose.yml, such as MongoDB, Redis, and Vault.

docker-compose up -d

3. Install Dependencies

Install the project's Python dependencies using Poetry.

poetry install

4. Run the Application

Execute the application using uvicorn. The server will start on http://127.0.0.1:8000.

poetry run uvicorn nala.api.main:app --reload

You can now access the API documentation at http://127.0.0.1:8000/docs.


Explore the Documentation

Athomic Layer Modules

Core & Lifecycle

Configuration & Context

Data & Persistence

Artificial Intelligence

  • Agents & RAG: Built-in support for building AI agents and Retrieval-Augmented Generation systems.
  • LLM Abstraction: Agnostic interfaces for various LLM providers to avoid vendor lock-in.
  • Vector Stores: Integration with vector databases (e.g., Qdrant) for semantic search.
  • Document Ingestion: Pipelines for ingesting and processing documents for AI consumption.
  • Memory & Governance: State management for AI conversations and safety policies.

Security

Observability

Cross-Cutting Concerns

Resilience Patterns