Metadata-Version: 2.4
Name: agentic-sdlc
Version: 3.0.0
Summary: AI-powered SDLC framework with self-learning brain, automated workflows, and intelligent knowledge management
Author-email: Dao Quang Truong <truongnat@gmail.com>
Maintainer-email: Dao Quang Truong <truongnat@gmail.com>
License: MIT
Project-URL: Homepage, https://github.com/truongnat/agentic-sdlc
Project-URL: Documentation, https://github.com/truongnat/agentic-sdlc#readme
Project-URL: Repository, https://github.com/truongnat/agentic-sdlc
Project-URL: Issues, https://github.com/truongnat/agentic-sdlc/issues
Keywords: ai,sdlc,workflow,automation,agent,brain,knowledge-management,kit,sdk,agentic,orchestration,intelligence
Classifier: Development Status :: 4 - Beta
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: MIT License
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Topic :: Software Development :: Libraries :: Python Modules
Classifier: Topic :: Software Development :: Quality Assurance
Classifier: Topic :: Scientific/Engineering :: Artificial Intelligence
Classifier: Operating System :: OS Independent
Requires-Python: >=3.10
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: pydantic<3.0.0,>=2.0.0
Requires-Dist: python-dotenv<2.0.0,>=1.2.0
Requires-Dist: requests<3.0.0,>=2.32.0
Requires-Dist: PyYAML<7.0.0,>=6.0.0
Requires-Dist: PyGithub<3.0.0,>=2.1.1
Requires-Dist: openai<3.0.0,>=2.16.0
Requires-Dist: anthropic<1.0.0,>=0.7.0
Requires-Dist: streamlit<2.0.0,>=1.28.0
Requires-Dist: dspy-ai<3.0.0,>=2.1.0
Requires-Dist: docker<7.0.0,>=6.1.0
Requires-Dist: googlesearch-python<2.0.0,>=1.2.0
Requires-Dist: autogen-agentchat<1.0.0,>=0.4.0
Requires-Dist: neo4j<6.0.0,>=5.15.0
Requires-Dist: PyMuPDF<2.0.0,>=1.26.0
Requires-Dist: torch<3.0.0,>=2.1.0
Requires-Dist: transformers<5.0.0,>=4.45.0
Requires-Dist: sentencepiece<0.3.0,>=0.2.0
Requires-Dist: Pillow<12.0.0,>=10.0.0
Requires-Dist: unstructured<1.0.0,>=0.10.0
Requires-Dist: aiohttp<4.0.0,>=3.9.0
Requires-Dist: aiosignal<2.0.0,>=1.3.0
Requires-Dist: anyio<5.0.0,>=4.0.0
Requires-Dist: httpx<1.0.0,>=0.27.0
Requires-Dist: urllib3<3.0.0,>=2.0.0
Requires-Dist: pandas<3.0.0,>=2.0.0
Requires-Dist: numpy<3.0.0,>=1.26.0
Requires-Dist: scipy<2.0.0,>=1.10.0
Requires-Dist: msgpack<2.0.0,>=1.0.0
Requires-Dist: dirtyjson<2.0.0,>=1.0.0
Requires-Dist: accelerate<2.0.0,>=0.25.0
Requires-Dist: huggingface_hub<0.37.0,>=0.36.0
Requires-Dist: sentence_transformers<6.0.0,>=5.2.0
Requires-Dist: nltk<4.0.0,>=3.9.0
Requires-Dist: tiktoken<0.13.0,>=0.12.0
Requires-Dist: pdfplumber<0.12.0,>=0.11.0
Requires-Dist: pdfminer_six>=20231228
Requires-Dist: pypdfium2<6.0.0,>=4.0.0
Requires-Dist: striprtf<0.1.0,>=0.0.26
Requires-Dist: certifi>=2024.0.0
Requires-Dist: cffi<3.0.0,>=2.0.0
Requires-Dist: charset_normalizer<4.0.0,>=3.4.0
Requires-Dist: colorama<0.5.0,>=0.4.6
Requires-Dist: defusedxml<0.8.0,>=0.7.1
Requires-Dist: deprecated<2.0.0,>=1.3.0
Requires-Dist: distro<2.0.0,>=1.9.0
Requires-Dist: fastjsonschema<3.0.0,>=2.21.0
Requires-Dist: filetype<2.0.0,>=1.2.0
Requires-Dist: frozenlist<2.0.0,>=1.8.0
Requires-Dist: gitignore_parser<0.2.0,>=0.1.13
Requires-Dist: greenlet<4.0.0,>=3.3.0
Requires-Dist: griffe<2.0.0,>=1.15.0
Requires-Dist: h11<0.17.0,>=0.16.0
Requires-Dist: jinja2<4.0.0,>=3.1.0
Requires-Dist: joblib<2.0.0,>=1.5.0
Requires-Dist: jsonschema<5.0.0,>=4.26.0
Requires-Dist: jupyter_client<9.0.0,>=8.8.0
Requires-Dist: jupyter_core<6.0.0,>=5.9.0
Requires-Dist: markupsafe<4.0.0,>=3.0.0
Requires-Dist: mistune<4.0.0,>=3.2.0
Requires-Dist: mpmath<2.0.0,>=1.3.0
Requires-Dist: multidict<7.0.0,>=6.7.0
Requires-Dist: nbclient<0.11.0,>=0.10.0
Requires-Dist: nbconvert<8.0.0,>=7.17.0
Requires-Dist: nbformat<6.0.0,>=5.10.0
Requires-Dist: nest_asyncio<2.0.0,>=1.6.0
Requires-Dist: networkx<4.0.0,>=3.0.0
Requires-Dist: pandocfilters<2.0.0,>=1.5.0
Requires-Dist: propcache<0.5.0,>=0.2.0
Requires-Dist: psutil<8.0.0,>=5.9.0
Requires-Dist: pycparser<3.0.0,>=2.21
Requires-Dist: pygments<3.0.0,>=2.17.0
Requires-Dist: pytz>=2024.1
Requires-Dist: pyzmq<28.0.0,>=25.1.0
Requires-Dist: regex>=2024.1.1
Requires-Dist: setuptools>=68.0.0
Requires-Dist: six<2.0.0,>=1.16.0
Requires-Dist: sniffio<2.0.0,>=1.3.0
Requires-Dist: sqlalchemy<3.0.0,>=2.0.0
Requires-Dist: sympy<2.0.0,>=1.12.0
Requires-Dist: tenacity<10.0.0,>=8.5.0
Requires-Dist: tornado<7.0.0,>=6.3.0
Requires-Dist: tqdm<5.0.0,>=4.66.0
Requires-Dist: typing_inspect<0.10.0,>=0.8.0
Requires-Dist: tzdata>=2024.1
Requires-Dist: webencodings<0.6.0,>=0.5.0
Requires-Dist: wrapt<3.0.0,>=2.0.0
Requires-Dist: yarl<2.0.0,>=1.22.0
Requires-Dist: bleach<7.0.0,>=6.3.0
Requires-Dist: click<9.0.0,>=8.3.0
Provides-Extra: cli
Requires-Dist: click<9.0.0,>=8.3.0; extra == "cli"
Requires-Dist: rich<14.0.0,>=13.0.0; extra == "cli"
Provides-Extra: dev
Requires-Dist: pytest<8.0.0,>=7.4.0; extra == "dev"
Requires-Dist: pytest-cov<5.0.0,>=4.1.0; extra == "dev"
Requires-Dist: pytest-asyncio<0.22.0,>=0.21.0; extra == "dev"
Requires-Dist: pytest-mock<4.0.0,>=3.12.0; extra == "dev"
Requires-Dist: pytest-benchmark<5.0.0,>=4.0.0; extra == "dev"
Requires-Dist: hypothesis<7.0.0,>=6.92.0; extra == "dev"
Requires-Dist: black<24.0.0,>=23.0.0; extra == "dev"
Requires-Dist: ruff<0.2.0,>=0.1.0; extra == "dev"
Requires-Dist: pylint<4.0.0,>=3.0.0; extra == "dev"
Requires-Dist: flake8<7.0.0,>=6.1.0; extra == "dev"
Requires-Dist: isort<6.0.0,>=5.12.0; extra == "dev"
Requires-Dist: mypy<2.0.0,>=1.7.0; extra == "dev"
Requires-Dist: types-requests<3.0.0,>=2.31.0; extra == "dev"
Requires-Dist: types-PyYAML<7.0.0,>=6.0.0; extra == "dev"
Requires-Dist: types-python-dateutil<3.0.0,>=2.8.0; extra == "dev"
Requires-Dist: sphinx<8.0.0,>=7.2.0; extra == "dev"
Requires-Dist: sphinx-rtd-theme<3.0.0,>=2.0.0; extra == "dev"
Requires-Dist: mkdocs<2.0.0,>=1.5.0; extra == "dev"
Requires-Dist: mkdocs-material<10.0.0,>=9.5.0; extra == "dev"
Requires-Dist: build<2.0.0,>=1.0.0; extra == "dev"
Requires-Dist: twine<5.0.0,>=4.0.0; extra == "dev"
Requires-Dist: wheel<0.43.0,>=0.42.0; extra == "dev"
Requires-Dist: ipython<9.0.0,>=8.18.0; extra == "dev"
Requires-Dist: ipdb<0.14.0,>=0.13.0; extra == "dev"
Requires-Dist: pre-commit<4.0.0,>=3.6.0; extra == "dev"
Requires-Dist: tomli-w<2.0.0,>=1.0.0; extra == "dev"
Requires-Dist: bandit<2.0.0,>=1.7.0; extra == "dev"
Requires-Dist: safety<4.0.0,>=3.0.0; extra == "dev"
Provides-Extra: graph
Requires-Dist: neo4j<6.0.0,>=5.14.0; extra == "graph"
Provides-Extra: mcp
Requires-Dist: tavily-python<0.4.0,>=0.3.0; extra == "mcp"
Requires-Dist: brave-search<2.0.0,>=1.0.0; extra == "mcp"
Provides-Extra: tools
Requires-Dist: PyGithub<3.0.0,>=2.1.1; extra == "tools"
Requires-Dist: python-dotenv<2.0.0,>=1.2.0; extra == "tools"
Requires-Dist: neo4j<6.0.0,>=5.14.0; extra == "tools"
Requires-Dist: requests<3.0.0,>=2.32.0; extra == "tools"
Requires-Dist: autogen-agentchat<1.0.0,>=0.4.2; extra == "tools"
Requires-Dist: autogen-ext<1.0.0,>=0.4.2; extra == "tools"
Requires-Dist: pyyaml<7.0.0,>=6.0.0; extra == "tools"
Requires-Dist: pytest<8.0.0,>=7.4.0; extra == "tools"
Requires-Dist: pytest-cov<5.0.0,>=4.1.0; extra == "tools"
Requires-Dist: black<24.0.0,>=23.0.0; extra == "tools"
Requires-Dist: pylint<4.0.0,>=3.0.0; extra == "tools"
Requires-Dist: mypy<2.0.0,>=1.7.0; extra == "tools"
Provides-Extra: all
Requires-Dist: agentic-sdlc[cli,dev,graph,mcp,tools]; extra == "all"
Dynamic: license-file

# 📦 Agentic SDLC - AI-Powered Software Development Kit
![Version](https://img.shields.io/badge/version-3.0.0-blue.svg)
![Build](https://img.shields.io/badge/build-passing-brightgreen.svg)
![License](https://img.shields.io/badge/license-MIT-green.svg)

> Professional SDK for AI-powered software development. Clean architecture, extensible design, and production-ready.

**Agentic SDLC** is a Python SDK that provides a comprehensive framework for building AI-powered development tools. It features a clean public API, modular architecture, and support for custom extensions through plugins.

---

## 🚀 Quick Start

### Installation

**Core SDK** (without CLI):
```bash
pip install agentic-sdlc
```

**With CLI tools**:
```bash
pip install agentic-sdlc[cli]
```

**Development**:
```bash
pip install -e ".[dev]"
```

### Basic Usage

```python
from agentic_sdlc import Config, Agent, Workflow, get_logger

# Setup logging
setup_logging(level="INFO")
logger = get_logger(__name__)

# Load configuration
config = Config()

# Create and use agents
agent = Agent(name="Developer", role="implementation")
workflow = Workflow(name="feature-dev", agents=[agent])

# Execute workflow
result = workflow.execute()
logger.info(f"Workflow completed: {result}")
```

### CLI Usage

```bash
# Initialize a project
agentic init

# Run a workflow
agentic run my-workflow

# View configuration
agentic config get log_level
```

---

## 📚 Architecture

### Package Structure

```
agentic_sdlc/
├── core/              # Core functionality (config, exceptions, logging)
├── infrastructure/    # Automation, bridges, execution engines
├── intelligence/      # Learning, monitoring, reasoning, collaboration
├── orchestration/     # Agents, models, workflows, coordination
├── plugins/           # Plugin system and registry
├── cli/               # Command-line interface (optional)
└── _internal/         # Private utilities
```

### Public API

The SDK exposes a clean public API through the top-level `agentic_sdlc` module:

```python
# Core
from agentic_sdlc import (
    Config, load_config, get_config,
    AgenticSDLCError, ConfigurationError, ValidationError,
    setup_logging, get_logger
)

# Infrastructure
from agentic_sdlc import (
    WorkflowEngine, ExecutionEngine, LifecycleManager
)

# Intelligence
from agentic_sdlc import (
    Learner, Monitor, Reasoner, Collaborator
)

# Orchestration
from agentic_sdlc import (
    Agent, AgentRegistry, create_agent,
    ModelClient, Workflow, WorkflowBuilder
)

# Plugins
from agentic_sdlc import (
    Plugin, PluginRegistry, get_plugin_registry
)
```

---

## 🔧 Configuration

Configuration can be loaded from files, environment variables, or set programmatically:

```python
from agentic_sdlc import Config

# Load from file
config = Config("config.yaml")

# Get values with dot notation
log_level = config.get("log_level")
model_name = config.get("models.openai.model_name")

# Set values
config.set("log_level", "DEBUG")

# Validate configuration
config.validate()
```

---

## 🔌 Plugin System

Extend the SDK with custom plugins:

```python
from agentic_sdlc import Plugin, get_plugin_registry

class MyPlugin(Plugin):
    @property
    def name(self) -> str:
        return "my-plugin"
    
    @property
    def version(self) -> str:
        return "1.0.0"
    
    def initialize(self, config: dict) -> None:
        print(f"Initializing {self.name}")
    
    def shutdown(self) -> None:
        print(f"Shutting down {self.name}")

# Register plugin
registry = get_plugin_registry()
registry.register(MyPlugin())
```

---

## 📖 Documentation

- **[Getting Started](docs/GETTING_STARTED.md)** - Installation and basic usage
- **[Migration Guide](docs/MIGRATION.md)** - Upgrading from v2.x to v3.x
- **[Plugin Development](docs/PLUGIN_DEVELOPMENT.md)** - Creating custom plugins
- **[API Reference](docs/api/)** - Complete API documentation
- **[Architecture](docs/architecture/)** - Design and architecture decisions

---

## 💡 Examples

See the `examples/` directory for complete working examples:

- **Programmatic SDK usage**: `examples/programmatic/`
- **CLI usage**: `examples/cli/`
- **Plugin development**: `examples/plugins/`

---

## 🧪 Testing

Run the test suite:

```bash
# All tests
pytest

# Unit tests only
pytest tests/unit/

# Property-based tests
pytest tests/property/

# With coverage
pytest --cov=agentic_sdlc --cov-report=html
```

---

## 🔄 What's New in v3.0.0

### Breaking Changes
- Reorganized package structure (moved to `src/` layout)
- Removed vendored dependencies from `lib/` directory
- CLI is now optional (install with `[cli]` extra)
- Old import paths are deprecated (use new public API)

### New Features
- Clean public API with explicit exports
- Plugin system for extensibility
- Comprehensive configuration management
- Type hints throughout the codebase
- Property-based testing for correctness validation

### Migration
See [MIGRATION.md](docs/MIGRATION.md) for detailed migration instructions from v2.x.

---

## 📄 License
MIT License. See [LICENSE](LICENSE) for details.

---
Developed by **Dao Quang Truong** | [GitHub](https://github.com/truongnat/agentic-sdlc)
