Metadata-Version: 2.4
Name: tterp-cores
Version: 0.2.4
Summary: Shared repository for microservices in ERP system
Author-email: Your Name <your.email@example.com>
License-Expression: MIT
Requires-Python: >=3.9
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: aio-pika==9.2.2
Requires-Dist: aiocache==0.12.2
Requires-Dist: aiomcache==0.8.2
Requires-Dist: aioredis==2.0.1
Requires-Dist: aiosqlite==0.19.0
Requires-Dist: alembic==1.8.1
Requires-Dist: asyncmy==0.2.10
Requires-Dist: autoflake==2.3.1
Requires-Dist: billiard==3.6.4.0
Requires-Dist: black==25.1.0
Requires-Dist: click-didyoumean==0.3.1
Requires-Dist: click-repl==0.3.0
Requires-Dist: colorama==0.4.6
Requires-Dist: cryptography==42.0.7
Requires-Dist: Faker==33.3.0
Requires-Dist: fastapi==0.115.6
Requires-Dist: flake8==7.1.2
Requires-Dist: fpdf==1.7.2
Requires-Dist: httpx==0.23.1
Requires-Dist: httpx-sse==0.4.0
Requires-Dist: kombu==5.4.1
Requires-Dist: openpyxl==3.1.2
Requires-Dist: pandas==2.2.2
Requires-Dist: pika==1.3.2
Requires-Dist: pip-tools==7.4.1
Requires-Dist: pydantic-settings==2.9.1
Requires-Dist: PyJWT==2.4.0
Requires-Dist: pylint-sqlalchemy==0.3.0
Requires-Dist: PyMySQL==1.0.2
Requires-Dist: pytest==7.4.4
Requires-Dist: pytest-asyncio==0.21.1
Requires-Dist: pytest-cov==6.1.1
Requires-Dist: pytest-mock==3.11.1
Requires-Dist: pytest-xdist==3.6.1
Requires-Dist: python-decouple==3.6
Requires-Dist: python-docx==0.8.11
Requires-Dist: python-jose==3.3.0
Requires-Dist: python-multipart==0.0.5
Requires-Dist: pythondi==1.2.4
Requires-Dist: redis==5.2.1
Requires-Dist: reportlab==4.3.1
Requires-Dist: sentry-sdk==1.28.1
Requires-Dist: SQLAlchemy-Utils==0.38.3
Requires-Dist: sse-starlette==2.3.6
Requires-Dist: Unidecode==1.3.8
Requires-Dist: uvicorn==0.18.2
Requires-Dist: xlrd==2.0.1
Requires-Dist: XlsxWriter==3.2.2
Dynamic: license-file

# Package `cores`

`cores` là một shared repository chứa các thành phần dùng chung cho các microservice trong hệ thống ERP. Package này cung cấp các module cốt lõi như cấu hình, các thành phần dùng chung (Redis, RabbitMQ, SQLAlchemy, JWT, v.v.), các models, middleware, logger, và các RPC clients để giao tiếp giữa các service.

## Tính năng chính

*   **Cấu hình tập trung:** Quản lý cấu hình ứng dụng một cách linh hoạt thông qua biến môi trường và file `.env`.
*   **Thành phần dùng chung:** Cung cấp các client và handler cho các dịch vụ phổ biến như Redis, RabbitMQ, MongoDB, Firebase, và các công cụ xác thực JWT.
*   **ORM và Database:** Hỗ trợ SQLAlchemy Async cho MySQL/MariaDB và Motor cho MongoDB.
*   **Middleware FastAPI:** Bao gồm các middleware cho xác thực, xử lý lỗi, và logging.
*   **Hệ thống Logging:** Logging tập trung với khả năng tích hợp ELK Stack.
*   **RPC Clients:** Giúp các microservice giao tiếp với nhau một cách dễ dàng và an toàn.

## Tài liệu

*   **[Hướng dẫn sử dụng (USAGE.md)](./USAGE.md):** Hướng dẫn chi tiết cách cài đặt, sử dụng và cấu hình package `cores` trong dự án của bạn.
*   **[Hướng dẫn đóng góp (CONTRIBUTING.md)](./CONTRIBUTING.md):** Dành cho các nhà phát triển muốn đóng góp vào package này, bao gồm quy trình phát triển, tiêu chuẩn code và cách chạy test.
*   **[Kế hoạch đóng gói PyPI (PYPI_PACKAGING_PLAN.md)](./PYPI_PACKAGING_PLAN.md):** Mô tả quy trình và các bước để đóng gói và xuất bản package lên PyPI.

## Cài đặt

Bạn có thể cài đặt package này bằng `pip`:

```bash
pip install cores
```

## Cấu hình

Package `cores` sử dụng các biến môi trường để cấu hình. Vui lòng tham khảo file [USAGE.md](./USAGE.md) để biết chi tiết về cách cấu hình bằng file `.env`.

## Đóng góp

Chúng tôi hoan nghênh mọi đóng góp! Vui lòng xem [CONTRIBUTING.md](./CONTRIBUTING.md) để biết cách đóng góp vào dự án này.
