Metadata-Version: 2.1
Name: sucolo-database-services
Version: 0.1.2
Summary: A Python client for Sucolo's database services.
Home-page: https://github.com/Stashq/sucolo-database_services
License: MIT
Keywords: database,elasticsearch,redis,geospatial
Author: Stanislaw Straburzynski
Author-email: sstraburzynski@gmail.com
Requires-Python: >=3.10,<3.14
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.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Classifier: Topic :: Database
Classifier: Topic :: Software Development :: Libraries :: Python Modules
Requires-Dist: elasticsearch (>=8.17.2,<9.0.0)
Requires-Dist: geopandas (>=1.0.1,<2.0.0)
Requires-Dist: h3 (>=4.2.2,<5.0.0)
Requires-Dist: pandas (>=2.2.3,<3.0.0)
Requires-Dist: pydantic (>=2.11.3,<3.0.0)
Requires-Dist: redis (>=5.2.1,<6.0.0)
Project-URL: Documentation, https://github.com/Stashq/sucolo-database_services#readme
Project-URL: Repository, https://github.com/Stashq/sucolo-database_services.git
Description-Content-Type: text/markdown

# Sucolo Database Services

A Python package providing database services for the Sucolo project, including Elasticsearch and Redis clients with additional utilities for data processing and analysis.

## Features

- Elasticsearch client integration
- Redis client integration
- Data processing utilities
- H3 geospatial indexing support
- Type-safe data handling with Pydantic

## Requirements

- Python 3.11
- Poetry for dependency management

## Installation

1. Clone the repository:
```bash
git clone https://github.com/yourusername/sucolo-database_services.git
cd sucolo-database_services
```

2. Install dependencies using Poetry:
```bash
poetry install
```

3. Set up your environment variables in `.env` file:
```
# Example .env configuration
ELASTICSEARCH_HOST=localhost
ELASTICSEARCH_PORT=9200
REDIS_HOST=localhost
REDIS_PORT=6379
```

## Development

### Code Style

This project uses several tools to maintain code quality:

- Black for code formatting
- Flake8 for linting
- MyPy for type checking
- isort for import sorting

Run the following command to format and check the code:
```bash
make format
```

### Testing

Run tests using pytest:
```bash
make test
```

## Project Structure

```
sucolo_database_services/
├── elasticsearch_client/  # Elasticsearch client implementation
├── redis_client/         # Redis client implementation
├── utils/                # Utility functions and helpers
├── tests/                # Test suite
└── db_service.py         # Main database service implementation
```

## Dependencies

Main dependencies:
- elasticsearch
- redis
- pandas
- geopandas
- h3
- pydantic
- python-dotenv

## License

[Add your license information here]

## Contributing

[Add contribution guidelines here]

