# 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.10, 3.11, 3.12, 3.13
- Poetry for dependency management
## Installation
1. Clone the repository:
```bash
git clone https://github.com/yourusername/sucolo-database_services.git
cd sucolo-database_services
```
1. Install dependencies using Poetry:
```bash
poetry install
```
1. Set up your environment variables in `.env` file:
```bash
# 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
```bash
sucolo_database_services/
├── elasticsearch_client/ # Elasticsearch client implementation
├── redis_client/ # Redis client implementation
├── services/ # Service layer (feature, metadata, management, etc.)
├── utils/ # Utility functions and helpers
├── tests/ # Test suite for all services and modules
├── data_access.py # Aggregated data access layer
└── __init__.py
```
## Dependencies
Main dependencies:
- elasticsearch
- redis
- pandas
- geopandas
- h3
- pydantic
- python-dotenv
## License
[Add your license information here]
## Contributing
[Add contribution guidelines here]
Raw data
{
"_id": null,
"home_page": "https://github.com/Stashq/sucolo-database_services",
"name": "sucolo-database-services",
"maintainer": null,
"docs_url": null,
"requires_python": "<3.14,>=3.10",
"maintainer_email": null,
"keywords": "database, elasticsearch, redis, geospatial",
"author": "Stanislaw Straburzynski",
"author_email": "sstraburzynski@gmail.com",
"download_url": "https://files.pythonhosted.org/packages/ee/53/e0a4215627e4f51dff31782d94c47e2e25334c2e3d8892ce5619725efbc6/sucolo_database_services-0.4.3.tar.gz",
"platform": null,
"description": "# Sucolo Database Services\n\nA Python package providing database services for the Sucolo project, including Elasticsearch and Redis clients with additional utilities for data processing and analysis.\n\n## Features\n\n- Elasticsearch client integration\n- Redis client integration\n- Data processing utilities\n- H3 geospatial indexing support\n- Type-safe data handling with Pydantic\n\n## Requirements\n\n- Python 3.10, 3.11, 3.12, 3.13\n- Poetry for dependency management\n\n## Installation\n\n1. Clone the repository:\n\n```bash\ngit clone https://github.com/yourusername/sucolo-database_services.git\ncd sucolo-database_services\n```\n\n1. Install dependencies using Poetry:\n\n```bash\npoetry install\n```\n\n1. Set up your environment variables in `.env` file:\n\n```bash\n# Example .env configuration\nELASTICSEARCH_HOST=localhost\nELASTICSEARCH_PORT=9200\nREDIS_HOST=localhost\nREDIS_PORT=6379\n```\n\n## Development\n\n### Code Style\n\nThis project uses several tools to maintain code quality:\n\n- Black for code formatting\n- Flake8 for linting\n- MyPy for type checking\n- isort for import sorting\n\nRun the following command to format and check the code:\n\n```bash\nmake format\n```\n\n### Testing\n\nRun tests using pytest:\n\n```bash\nmake test\n```\n\n## Project Structure\n\n```bash\nsucolo_database_services/\n\u251c\u2500\u2500 elasticsearch_client/ # Elasticsearch client implementation\n\u251c\u2500\u2500 redis_client/ # Redis client implementation\n\u251c\u2500\u2500 services/ # Service layer (feature, metadata, management, etc.)\n\u251c\u2500\u2500 utils/ # Utility functions and helpers\n\u251c\u2500\u2500 tests/ # Test suite for all services and modules\n\u251c\u2500\u2500 data_access.py # Aggregated data access layer\n\u2514\u2500\u2500 __init__.py\n```\n\n## Dependencies\n\nMain dependencies:\n\n- elasticsearch\n- redis\n- pandas\n- geopandas\n- h3\n- pydantic\n- python-dotenv\n\n## License\n\n[Add your license information here]\n\n## Contributing\n\n[Add contribution guidelines here]\n",
"bugtrack_url": null,
"license": "MIT",
"summary": "A Python client for Sucolo's database services.",
"version": "0.4.3",
"project_urls": {
"Documentation": "https://github.com/Stashq/sucolo-database_services#readme",
"Homepage": "https://github.com/Stashq/sucolo-database_services",
"Repository": "https://github.com/Stashq/sucolo-database_services.git"
},
"split_keywords": [
"database",
" elasticsearch",
" redis",
" geospatial"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "d1f177b62187cd218b984fff31368c52d1493bd1cbeaa7667210dd5579901762",
"md5": "3390bad3f06c0464fbb87efdc420f3a6",
"sha256": "941c74cc65dac81908e79db9d8a6b7280b56ed854f53542618d928cc51a01de1"
},
"downloads": -1,
"filename": "sucolo_database_services-0.4.3-py3-none-any.whl",
"has_sig": false,
"md5_digest": "3390bad3f06c0464fbb87efdc420f3a6",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": "<3.14,>=3.10",
"size": 42489,
"upload_time": "2025-07-24T16:25:29",
"upload_time_iso_8601": "2025-07-24T16:25:29.572106Z",
"url": "https://files.pythonhosted.org/packages/d1/f1/77b62187cd218b984fff31368c52d1493bd1cbeaa7667210dd5579901762/sucolo_database_services-0.4.3-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "ee53e0a4215627e4f51dff31782d94c47e2e25334c2e3d8892ce5619725efbc6",
"md5": "af51ec7b2c831afa7948478fe1751825",
"sha256": "ad19feaa08f88e3734c27d52455853c64ddd6d1ba085f13611eb543973486460"
},
"downloads": -1,
"filename": "sucolo_database_services-0.4.3.tar.gz",
"has_sig": false,
"md5_digest": "af51ec7b2c831afa7948478fe1751825",
"packagetype": "sdist",
"python_version": "source",
"requires_python": "<3.14,>=3.10",
"size": 77116,
"upload_time": "2025-07-24T16:25:31",
"upload_time_iso_8601": "2025-07-24T16:25:31.015058Z",
"url": "https://files.pythonhosted.org/packages/ee/53/e0a4215627e4f51dff31782d94c47e2e25334c2e3d8892ce5619725efbc6/sucolo_database_services-0.4.3.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2025-07-24 16:25:31",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "Stashq",
"github_project": "sucolo-database_services",
"travis_ci": false,
"coveralls": true,
"github_actions": false,
"lcname": "sucolo-database-services"
}