Metadata-Version: 2.4
Name: egrc-core
Version: 1.0.0
Summary: EGRC Core - Shared functionality and GraphQL support for Enterprise Governance, Risk, and Compliance platform
License: MIT
License-File: LICENSE
Author: EGRC Team
Author-email: team@egrc.com
Requires-Python: >=3.11,<4.0
Classifier: Development Status :: 5 - Production/Stable
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: MIT License
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Topic :: Software Development :: Libraries :: Python Modules
Classifier: Topic :: Office/Business :: Financial :: Investment
Classifier: Topic :: Security
Classifier: Framework :: FastAPI
Classifier: Framework :: Pydantic
Provides-Extra: dev
Requires-Dist: aiohttp (>=3.9.1)
Requires-Dist: alembic (>=1.13.0)
Requires-Dist: asyncpg (>=0.29.0)
Requires-Dist: azure-storage-blob (>=12.19.0)
Requires-Dist: bandit (>=1.7.5) ; extra == "dev"
Requires-Dist: bcrypt (>=4.0.1)
Requires-Dist: black (>=23.11.0) ; extra == "dev"
Requires-Dist: boto3 (>=1.34.0)
Requires-Dist: celery (>=5.3.4)
Requires-Dist: click (>=8.1.7)
Requires-Dist: commitizen (>=3.13.0) ; extra == "dev"
Requires-Dist: cryptography (>=3.4.8)
Requires-Dist: emails (>=0.6.0)
Requires-Dist: fastapi (>=0.104.1)
Requires-Dist: flake8 (>=6.1.0) ; extra == "dev"
Requires-Dist: google-cloud-storage (>=2.10.0)
Requires-Dist: httpx (>=0.25.2)
Requires-Dist: ipython (>=8.18.1) ; extra == "dev"
Requires-Dist: isort (>=5.12.0) ; extra == "dev"
Requires-Dist: jupyter (>=1.0.0) ; extra == "dev"
Requires-Dist: kafka-python (>=2.0.2)
Requires-Dist: marshmallow (>=3.20.1)
Requires-Dist: memory-profiler (>=0.61.0) ; extra == "dev"
Requires-Dist: mypy (>=1.7.1) ; extra == "dev"
Requires-Dist: numpy (>=1.26.2)
Requires-Dist: openpyxl (>=3.1.2)
Requires-Dist: pandas (>=2.1.4)
Requires-Dist: passlib (>=1.7.4)
Requires-Dist: pika (>=1.3.2)
Requires-Dist: pre-commit (>=3.6.0) ; extra == "dev"
Requires-Dist: psycopg2-binary (>=2.9.9)
Requires-Dist: py-spy (>=0.3.14) ; extra == "dev"
Requires-Dist: pydantic (>=2.5.0)
Requires-Dist: pydantic-settings (>=2.1.0)
Requires-Dist: pydocstyle (>=6.3.0) ; extra == "dev"
Requires-Dist: pylint (>=3.0.3) ; extra == "dev"
Requires-Dist: pytest (>=7.4.3) ; extra == "dev"
Requires-Dist: pytest-asyncio (>=0.21.1) ; extra == "dev"
Requires-Dist: pytest-benchmark (>=4.0.0) ; extra == "dev"
Requires-Dist: pytest-cov (>=4.1.0) ; extra == "dev"
Requires-Dist: pytest-mock (>=3.12.0) ; extra == "dev"
Requires-Dist: pytest-postgresql (>=5.0.0) ; extra == "dev"
Requires-Dist: pytest-xdist (>=3.5.0) ; extra == "dev"
Requires-Dist: python-dateutil (>=2.8.2)
Requires-Dist: python-dotenv (>=1.0.0)
Requires-Dist: python-jose (>=3.3.0)
Requires-Dist: python-multipart (>=0.0.6)
Requires-Dist: pytz (>=2023.3)
Requires-Dist: redis (>=5.0.1)
Requires-Dist: rich (>=13.7.0)
Requires-Dist: safety (>=2.3.5) ; extra == "dev"
Requires-Dist: sphinx (>=7.2.6) ; extra == "dev"
Requires-Dist: sphinx-autodoc-typehints (>=1.25.0) ; extra == "dev"
Requires-Dist: sphinx-rtd-theme (>=1.3.0) ; extra == "dev"
Requires-Dist: sqlalchemy (>=2.0.23)
Requires-Dist: strawberry-graphql (>=0.215.0)
Requires-Dist: strawberry-graphql-django (>=0.15.0)
Requires-Dist: structlog (>=23.2.0)
Requires-Dist: typer (>=0.9.0)
Project-URL: Bug Tracker, https://github.com/egrc/egrc-core/issues
Project-URL: Documentation, https://egrc-core.readthedocs.io
Project-URL: Homepage, https://github.com/egrc/egrc-core
Project-URL: Repository, https://github.com/egrc/egrc-core.git
Description-Content-Type: text/markdown

# EGRC Core

EGRC Core is a comprehensive, production-grade foundation service for the Enterprise Governance, Risk, and Compliance (EGRC) platform. It provides shared functionality, utilities, and infrastructure components that other microservices can use to build robust, scalable, and maintainable applications.

## Features

- **Multi-Tenant Database Management**: Automatic tenant database creation and management
- **Comprehensive Caching**: Redis-based caching with decorators and utilities
- **Security**: Encryption, JWT handling, input validation, and security middleware
- **Monitoring**: Metrics collection, health checks, and observability
- **File Handling**: Cloud storage integration and file processing utilities
- **Inter-Service Communication**: HTTP clients with retry and circuit breaker patterns
- **Message Queues**: RabbitMQ and Kafka integration for event-driven architecture
- **Testing**: Comprehensive testing utilities and fixtures
- **GraphQL Support**: Complete GraphQL implementation with filtering, sorting, and pagination
- **Audit System**: Comprehensive audit logging and event tracking

## Installation

```bash
pip install egrc-core
```

## Quick Start

```python
from egrc_core import get_service_factory, Settings

# Initialize with settings
settings = Settings(
    database_url="postgresql://user:pass@localhost:5432/mydb",
    redis_url="redis://localhost:6379/0"
)

# Get service factory
factory = get_service_factory(settings)

# Use services
tenant_manager = factory.get_tenant_manager()
redis_client = factory.get_redis_client()
```

## Documentation

For detailed usage instructions, see the [Usage Guide](docs/EGRC_CORE_USAGE_GUIDE.md).

## License

MIT License - see LICENSE file for details.

