Metadata-Version: 2.4
Name: qdbase
Version: 0.3.0
Summary: Foundation utilities for Python development with zero external dependencies
Home-page: https://github.com/almargolis/qdbase
Author: Albert Margolis
Author-email: almargolis@gmail.com
Project-URL: Bug Tracker, https://github.com/almargolis/qdbase/issues
Project-URL: Source Code, https://github.com/almargolis/qdbase
Keywords: utilities development tools dictionary sqlite cli
Classifier: Development Status :: 4 - Beta
Classifier: Intended Audience :: Developers
Classifier: Topic :: Software Development :: Libraries :: Python Modules
Classifier: Topic :: Utilities
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.9
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Classifier: License :: OSI Approved :: MIT License
Classifier: Operating System :: OS Independent
Requires-Python: >=3.9
Description-Content-Type: text/markdown
License-File: LICENSE
Dynamic: author
Dynamic: author-email
Dynamic: classifier
Dynamic: description
Dynamic: description-content-type
Dynamic: home-page
Dynamic: keywords
Dynamic: license-file
Dynamic: project-url
Dynamic: requires-python
Dynamic: summary

# qdbase

Foundation utilities for Python development with zero external dependencies.

## Overview

`qdbase` is the foundation layer of the QuickDev metaprogramming toolkit, providing a collection of utilities for common development tasks. It has **zero external dependencies** beyond the Python standard library, making it lightweight and easy to integrate into any project.

## Key Modules

### exenv - Execution Environment
Detection and normalization of execution environments:
- Path manipulation with safety checks
- Directory and file utilities
- Environment detection

### pdict - Enhanced Dictionary
Extended dictionary functionality with additional utilities for data manipulation.

### qdsqlite - SQLite Helpers
Simplified SQLite database operations:
- Connection management
- Query helpers
- Schema utilities

### CLI Utilities
- `cliargs` - Command-line argument parsing
- `cliinput` - Interactive command-line input handling

### qdconf - Configuration Management
TOML-based configuration management with cache and validation.

### qdcheck - Check/Validation Framework
Pluggable check runners for validating service configuration and health.

### qdos - OS Operations
Safe filesystem operations with error handling (directory creation, file operations).

## Installation

```bash
pip install qdbase
```

Or install in development mode from a local clone:

```bash
pip install -e /path/to/qdbase
```

## Usage

```python
from qdbase import pdict, qdsqlite, exenv

# Enhanced dictionary operations
data = pdict.PDict()

# SQLite helpers
db = qdsqlite.QdSqlite("mydb.db")

# Environment utilities
safe_path = exenv.safe_join("/base/path", "subdir")
```

## Part of QuickDev

`qdbase` is part of the QuickDev metaprogramming toolkit. Other packages include:
- **xsynth** - Preprocessor for generating Python from high-level declarations
- **qdflask** - Flask authentication with role-based access control
- **qdimages** - Flask image management with hierarchical storage

## License

MIT License - Copyright (C) Albert B. Margolis

## Requirements

- Python >= 3.9
- No external dependencies (stdlib only)
