Metadata-Version: 2.4
Name: test-common-utils
Version: 0.1.2
Summary: Common utilities using FastAPI and Pydantic
Project-URL: Homepage, https://github.com/YOUR_USERNAME/test-common-utils
Project-URL: Documentation, https://github.com/YOUR_USERNAME/test-common-utils#readme
Project-URL: Repository, https://github.com/YOUR_USERNAME/test-common-utils.git
Project-URL: Issues, https://github.com/YOUR_USERNAME/test-common-utils/issues
Author-email: Your Name <your.email@example.com>
License: MIT
Keywords: fastapi,logging,pydantic,utilities
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.8
Classifier: Programming Language :: Python :: 3.9
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Topic :: Software Development :: Libraries :: Python Modules
Requires-Python: >=3.8
Requires-Dist: fastapi>=0.104.0
Requires-Dist: pydantic>=2.5.0
Requires-Dist: uvicorn>=0.24.0
Provides-Extra: dev
Requires-Dist: black>=23.12.0; extra == 'dev'
Requires-Dist: mypy>=1.8.0; extra == 'dev'
Requires-Dist: pytest-cov>=4.1.0; extra == 'dev'
Requires-Dist: pytest>=7.4.0; extra == 'dev'
Requires-Dist: ruff>=0.1.9; extra == 'dev'
Description-Content-Type: text/markdown

# Test Common Utils

A collection of common utilities including a configurable logger with type hints and Pydantic integration.

## Installation

You can install this package directly from GitHub using pip:

```bash
pip install git+https://github.com/YOUR_USERNAME/test-common-utils.git
```

Or add it to your project's requirements.txt:

```
git+https://github.com/YOUR_USERNAME/test-common-utils.git
```

To install a specific version:

```bash
pip install git+https://github.com/YOUR_USERNAME/test-common-utils.git@v0.1.2
```

## Usage

### Logger

```python
from test_common_utils.utils import create_logger

# Basic usage
logger = create_logger(name="my_app")
logger.info("Hello, world!")

# Custom configuration
logger = create_logger(
    name="my_app",
    level="DEBUG",
    format="%(asctime)s - %(levelname)s - %(message)s"
)
```

## Development

To set up the development environment:

```bash
# Clone the repository
git clone https://github.com/YOUR_USERNAME/test-common-utils.git
cd test-common-utils

# Install with development dependencies
pip install -e ".[dev]"
```

### Running Tests

```bash
pytest
```

### Code Quality

```bash
# Format code
black .

# Lint code
ruff check .

# Type check
mypy src tests
```

### Version Management

To bump the version:

```bash
# Bump patch version (0.1.0 -> 0.1.1)
./scripts/bump_version.py patch

# Bump minor version (0.1.0 -> 0.2.0)
./scripts/bump_version.py minor

# Bump major version (0.1.0 -> 1.0.0)
./scripts/bump_version.py major
```

### CI/CD

The project uses GitHub Actions for:
- Running tests on Python 3.8, 3.9, 3.10, and 3.11
- Code quality checks (black, ruff, mypy)
- Automatic publishing to PyPI when a version tag is pushed

To release a new version:
1. Bump the version using the script
2. Push the changes and tags
3. The CI/CD pipeline will automatically publish to PyPI 