# Volute-XLS: Excel Integration for AI Applications
[](https://badge.fury.io/py/volute-xls)
[](https://www.python.org/downloads/)
[](https://opensource.org/licenses/MIT)
A comprehensive **Model Context Protocol (MCP) server** that enables AI agents to interact with Microsoft Excel spreadsheets through advanced metadata extraction, content analysis, and multimodal sheet image capture.
## π Features
### π **Excel Analysis & Metadata Extraction**
- **Comprehensive workbook analysis** - File properties, sheet structure, named ranges
- **Detailed sheet content analysis** - Cell data, formulas, data types, merged cells
- **Chart and image detection** - Identify visual elements in spreadsheets
- **Sample data extraction** - Get representative cell data for content understanding
- **Cross-platform support** - Works on Windows, macOS, and Linux
### πΌοΈ **Multimodal Sheet Image Capture** (Windows + xlwings)
- **Full sheet capture** - Export entire worksheets as PNG images
- **Range-specific capture** - Target specific cell ranges for focused analysis
- **Zoom control** - Adjust capture zoom levels (10% to 400%)
- **Base64 encoding** - Ready for multimodal LLM analysis
- **Thread-safe operations** - Reliable concurrent Excel automation
### π§ **Dual Architecture**
- **Local Server** - Full COM automation with xlwings for Windows Excel integration
- **Cloud Server** - Cross-platform openpyxl-based analysis without local requirements
- **FastMCP Integration** - Built on the Model Context Protocol standard
- **SDK Client Library** - Easy programmatic access to all tools
## π¦ Installation
### Basic Installation (Cross-platform)
```bash
pip install volute-xls
```
### Full Windows Installation (with image capture)
```bash
pip install volute-xls[windows]
# or for all features
pip install volute-xls[full]
```
### Development Installation
```bash
pip install volute-xls[dev]
```
## πββοΈ Quick Start
### 1. Start the Local Server
```bash
# HTTP server (default)
volute-xls-local
# STDIO for MCP clients
volute-xls-local --transport stdio
```
### 2. Use with MCP Configuration
Add to your MCP client configuration:
**Option A: Using installed package command**
```json
{
"volute-xls-local": {
"command": "volute-xls-local",
"args": ["--transport", "stdio"],
"env": {},
"working_directory": null
}
}
```
**Option B: Using Python module (alternative)**
```json
{
"volute-xls-local": {
"command": "python",
"args": [
"-m",
"volute_xls.server_local",
"--transport",
"stdio"
],
"env": {},
"working_directory": null
}
}
```
### 3. Programmatic Usage
```python
from volute_xls import create_client
# Extract Excel metadata
async with create_client("local") as client:
metadata = await client.extract_excel_metadata(
"path/to/workbook.xlsx",
include_sheet_content=True,
include_sheet_data=True
)
print(f"Found {len(metadata['data']['sheets'])} sheets")
# Capture sheet images (Windows + xlwings)
async with create_client("local") as client:
images = await client.capture_excel_sheets(
"path/to/workbook.xlsx",
sheet_names=["Sheet1", "Dashboard"],
image_width=1200,
image_height=800
)
# Images returned as base64-encoded PNG data
```
## π οΈ Available Tools
### `extract_excel_metadata`
Extract comprehensive metadata from Excel workbooks including file properties, sheet structure, cell content summary, and named ranges.
**Parameters:**
- `excel_path` (str): Path to Excel file (.xlsx, .xlsm, .xls)
- `include_sheet_content` (bool): Include detailed sheet analysis
- `include_sheet_data` (bool): Include sample cell data
- `output_format` (str): "json" or "summary"
### `analyze_excel_sheets`
Perform focused analysis of specific worksheets with detailed content extraction and optional sample data.
**Parameters:**
- `excel_path` (str): Path to Excel file
- `sheet_names` (list): Specific sheets to analyze (None for all)
- `include_data_sample` (bool): Include sample data
- `max_rows` (int): Maximum rows in sample
- `include_formatting` (bool): Include cell formatting
### `capture_excel_sheets` (Windows + xlwings)
Capture Excel worksheets as PNG images for multimodal analysis.
**Parameters:**
- `excel_path` (str): Path to Excel file
- `sheet_names` (list): Sheet names to capture
- `image_width` (int): Image width (200-4000px)
- `image_height` (int): Image height (200-4000px)
- `zoom_level` (float): Zoom percentage (10-400%)
### `capture_excel_ranges` (Windows + xlwings)
Capture specific cell ranges as images for detailed analysis.
**Parameters:**
- `excel_path` (str): Path to Excel file
- `sheet_ranges` (dict): {"SheetName": ["A1:C10", "E1:G5"]}
- `image_width` (int): Image width (100-2000px)
- `image_height` (int): Image height (100-2000px)
## π Architecture
### Local Server (`volute-xls-local`)
- **Full Excel Integration** - COM automation via xlwings
- **Image Capture** - Native Excel sheet-to-image export
- **Local File Access** - Direct file system operations
- **Thread Safety** - Concurrent Excel operations
- **Windows Optimized** - Best performance on Windows with Excel installed
### Cloud Server (`volute-xls-server`)
- **Cross-Platform** - Pure Python openpyxl-based analysis
- **No Excel Required** - Works without Microsoft Excel
- **Scalable** - Cloud deployment ready
- **Limited Features** - Metadata and analysis only (no image capture)
## π Requirements
### Basic Requirements (All Platforms)
- Python 3.8+
- fastmcp >= 2.0.0
- openpyxl >= 3.0.0
- Pillow >= 9.0.0
### Windows Image Capture Requirements
- Microsoft Excel installed
- xlwings >= 0.30.0
- pywin32 >= 306
### Supported File Formats
- **.xlsx** - Excel 2007+ workbooks
- **.xlsm** - Excel macro-enabled workbooks
- **.xls** - Legacy Excel workbooks (limited support)
## π§ Configuration
### Environment Variables
```bash
# Local server configuration
LOCAL_SERVER_NAME="Volute-XLS-Local"
LOCAL_SERVER_HOST="127.0.0.1"
LOCAL_SERVER_PORT="8002"
# Cloud server configuration
CLOUD_SERVER_NAME="Volute-XLS-Cloud"
CLOUD_SERVER_HOST="0.0.0.0"
CLOUD_SERVER_PORT="8000"
```
### Server Options
```bash
# Start local server with custom settings
volute-xls-local --host 0.0.0.0 --port 8080
# Start cloud server
volute-xls-server --port 8000
```
## π§ͺ Testing
```bash
# Install development dependencies
pip install volute-xls[dev]
# Run tests
pytest tests/
# Test with sample Excel file
python -c "
import asyncio
from volute_xls import create_client
async def test():
async with create_client('local') as client:
caps = await client.get_excel_capabilities()
print('Excel capabilities:', caps)
asyncio.run(test())
"
```
## π€ Integration Examples
### Claude Desktop MCP Configuration
```json
{
"mcpServers": {
"volute-xls-local": {
"command": "volute-xls-local",
"args": ["--transport", "stdio"]
}
}
}
```
### Programmatic Analysis Pipeline
```python
import asyncio
from volute_xls import VoluteXLSLocalClient
async def analyze_workbook(file_path):
async with VoluteXLSLocalClient() as client:
# 1. Extract metadata
metadata = await client.extract_excel_metadata(file_path)
# 2. Analyze key sheets
key_sheets = ["Summary", "Data", "Charts"]
analysis = await client.analyze_excel_sheets(
file_path,
sheet_names=key_sheets,
include_data_sample=True
)
# 3. Capture images for multimodal analysis
if analysis.get('success'):
images = await client.capture_excel_sheets(
file_path,
sheet_names=key_sheets
)
return {
'metadata': metadata,
'analysis': analysis,
'images': images
}
# Usage
result = asyncio.run(analyze_workbook("financial_report.xlsx"))
```
## π Documentation
- **API Reference** - [docs/api.md](docs/api.md)
- **Developer Guide** - [DEVELOPER_GUIDE.md](DEVELOPER_GUIDE.md)
- **Examples** - [examples/](examples/)
- **Troubleshooting** - [docs/troubleshooting.md](docs/troubleshooting.md)
## π‘οΈ Security & Privacy
- **Local Processing** - All Excel analysis happens locally
- **No Data Upload** - Files never leave your machine with local server
- **Thread Safety** - Concurrent operations are protected
- **Resource Management** - Automatic cleanup of temporary files and Excel instances
## πΊοΈ Roadmap
- [ ] **Enhanced Chart Analysis** - Detailed chart metadata extraction
- [ ] **Pivot Table Support** - Analysis of pivot tables and data models
- [ ] **VBA Code Detection** - Identify and analyze VBA macros
- [ ] **Performance Optimization** - Faster processing of large workbooks
- [ ] **Additional Image Formats** - Support for JPEG, SVG export
- [ ] **Cloud Image Capture** - Server-side image generation without xlwings
## π€ Contributing
We welcome contributions! Please see [CONTRIBUTING.md](CONTRIBUTING.md) for guidelines.
### Development Setup
```bash
git clone https://gitlab.com/coritan/volute-xls.git
cd volute-xls
pip install -e .[dev,full]
pre-commit install
```
## π License
This project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.
## π Acknowledgments
- **FastMCP** - For the excellent Model Context Protocol framework
- **openpyxl** - For cross-platform Excel file processing
- **xlwings** - For Windows Excel COM automation
- **Pillow** - For image processing capabilities
- **Model Context Protocol** - For the agent integration standard
---
**Created with β€οΈ for the AI agent community**
For questions, issues, or feature requests, please visit our [GitLab repository](https://gitlab.com/coritan/volute-xls) or [open an issue](https://gitlab.com/coritan/volute-xls/-/issues).
Raw data
{
"_id": null,
"home_page": "https://gitlab.com/coritan/volute-xls",
"name": "volute-xls",
"maintainer": null,
"docs_url": null,
"requires_python": ">=3.8",
"maintainer_email": null,
"keywords": "mcp, excel, ai, agents, desktop, automation, xlwings, multimodal, vision, spreadsheet, image-capture, openpyxl",
"author": "Coritan",
"author_email": "Coritan <your-email@example.com>",
"download_url": "https://files.pythonhosted.org/packages/b0/ac/0a2069cd866f4ec2e810773b5d9301aadd8cd7bd71e56df29e3a740acb1a/volute_xls-1.1.3.tar.gz",
"platform": null,
"description": "# Volute-XLS: Excel Integration for AI Applications\r\n\r\n[](https://badge.fury.io/py/volute-xls)\r\n[](https://www.python.org/downloads/)\r\n[](https://opensource.org/licenses/MIT)\r\n\r\nA comprehensive **Model Context Protocol (MCP) server** that enables AI agents to interact with Microsoft Excel spreadsheets through advanced metadata extraction, content analysis, and multimodal sheet image capture.\r\n\r\n## \ud83d\ude80 Features\r\n\r\n### \ud83d\udcca **Excel Analysis & Metadata Extraction**\r\n- **Comprehensive workbook analysis** - File properties, sheet structure, named ranges\r\n- **Detailed sheet content analysis** - Cell data, formulas, data types, merged cells\r\n- **Chart and image detection** - Identify visual elements in spreadsheets \r\n- **Sample data extraction** - Get representative cell data for content understanding\r\n- **Cross-platform support** - Works on Windows, macOS, and Linux\r\n\r\n### \ud83d\uddbc\ufe0f **Multimodal Sheet Image Capture** (Windows + xlwings)\r\n- **Full sheet capture** - Export entire worksheets as PNG images\r\n- **Range-specific capture** - Target specific cell ranges for focused analysis\r\n- **Zoom control** - Adjust capture zoom levels (10% to 400%)\r\n- **Base64 encoding** - Ready for multimodal LLM analysis\r\n- **Thread-safe operations** - Reliable concurrent Excel automation\r\n\r\n### \ud83d\udd27 **Dual Architecture**\r\n- **Local Server** - Full COM automation with xlwings for Windows Excel integration\r\n- **Cloud Server** - Cross-platform openpyxl-based analysis without local requirements\r\n- **FastMCP Integration** - Built on the Model Context Protocol standard\r\n- **SDK Client Library** - Easy programmatic access to all tools\r\n\r\n## \ud83d\udce6 Installation\r\n\r\n### Basic Installation (Cross-platform)\r\n```bash\r\npip install volute-xls\r\n```\r\n\r\n### Full Windows Installation (with image capture)\r\n```bash\r\npip install volute-xls[windows]\r\n# or for all features\r\npip install volute-xls[full]\r\n```\r\n\r\n### Development Installation\r\n```bash\r\npip install volute-xls[dev]\r\n```\r\n\r\n## \ud83c\udfc3\u200d\u2642\ufe0f Quick Start\r\n\r\n### 1. Start the Local Server\r\n```bash\r\n# HTTP server (default)\r\nvolute-xls-local\r\n\r\n# STDIO for MCP clients \r\nvolute-xls-local --transport stdio\r\n```\r\n\r\n### 2. Use with MCP Configuration\r\nAdd to your MCP client configuration:\r\n\r\n**Option A: Using installed package command**\r\n```json\r\n{\r\n \"volute-xls-local\": {\r\n \"command\": \"volute-xls-local\",\r\n \"args\": [\"--transport\", \"stdio\"],\r\n \"env\": {},\r\n \"working_directory\": null\r\n }\r\n}\r\n```\r\n\r\n**Option B: Using Python module (alternative)**\r\n```json\r\n{\r\n \"volute-xls-local\": {\r\n \"command\": \"python\",\r\n \"args\": [\r\n \"-m\",\r\n \"volute_xls.server_local\",\r\n \"--transport\",\r\n \"stdio\"\r\n ],\r\n \"env\": {},\r\n \"working_directory\": null\r\n }\r\n}\r\n```\r\n\r\n### 3. Programmatic Usage\r\n```python\r\nfrom volute_xls import create_client\r\n\r\n# Extract Excel metadata\r\nasync with create_client(\"local\") as client:\r\n metadata = await client.extract_excel_metadata(\r\n \"path/to/workbook.xlsx\",\r\n include_sheet_content=True,\r\n include_sheet_data=True\r\n )\r\n print(f\"Found {len(metadata['data']['sheets'])} sheets\")\r\n\r\n# Capture sheet images (Windows + xlwings)\r\nasync with create_client(\"local\") as client:\r\n images = await client.capture_excel_sheets(\r\n \"path/to/workbook.xlsx\",\r\n sheet_names=[\"Sheet1\", \"Dashboard\"],\r\n image_width=1200,\r\n image_height=800\r\n )\r\n # Images returned as base64-encoded PNG data\r\n```\r\n\r\n## \ud83d\udee0\ufe0f Available Tools\r\n\r\n### `extract_excel_metadata`\r\nExtract comprehensive metadata from Excel workbooks including file properties, sheet structure, cell content summary, and named ranges.\r\n\r\n**Parameters:**\r\n- `excel_path` (str): Path to Excel file (.xlsx, .xlsm, .xls)\r\n- `include_sheet_content` (bool): Include detailed sheet analysis\r\n- `include_sheet_data` (bool): Include sample cell data \r\n- `output_format` (str): \"json\" or \"summary\"\r\n\r\n### `analyze_excel_sheets`\r\nPerform focused analysis of specific worksheets with detailed content extraction and optional sample data.\r\n\r\n**Parameters:**\r\n- `excel_path` (str): Path to Excel file\r\n- `sheet_names` (list): Specific sheets to analyze (None for all)\r\n- `include_data_sample` (bool): Include sample data\r\n- `max_rows` (int): Maximum rows in sample\r\n- `include_formatting` (bool): Include cell formatting\r\n\r\n### `capture_excel_sheets` (Windows + xlwings)\r\nCapture Excel worksheets as PNG images for multimodal analysis.\r\n\r\n**Parameters:**\r\n- `excel_path` (str): Path to Excel file\r\n- `sheet_names` (list): Sheet names to capture\r\n- `image_width` (int): Image width (200-4000px)\r\n- `image_height` (int): Image height (200-4000px)\r\n- `zoom_level` (float): Zoom percentage (10-400%)\r\n\r\n### `capture_excel_ranges` (Windows + xlwings)\r\nCapture specific cell ranges as images for detailed analysis.\r\n\r\n**Parameters:**\r\n- `excel_path` (str): Path to Excel file\r\n- `sheet_ranges` (dict): {\"SheetName\": [\"A1:C10\", \"E1:G5\"]}\r\n- `image_width` (int): Image width (100-2000px)\r\n- `image_height` (int): Image height (100-2000px)\r\n\r\n## \ud83c\udf10 Architecture\r\n\r\n### Local Server (`volute-xls-local`)\r\n- **Full Excel Integration** - COM automation via xlwings\r\n- **Image Capture** - Native Excel sheet-to-image export\r\n- **Local File Access** - Direct file system operations\r\n- **Thread Safety** - Concurrent Excel operations\r\n- **Windows Optimized** - Best performance on Windows with Excel installed\r\n\r\n### Cloud Server (`volute-xls-server`)\r\n- **Cross-Platform** - Pure Python openpyxl-based analysis\r\n- **No Excel Required** - Works without Microsoft Excel\r\n- **Scalable** - Cloud deployment ready\r\n- **Limited Features** - Metadata and analysis only (no image capture)\r\n\r\n## \ud83d\udccb Requirements\r\n\r\n### Basic Requirements (All Platforms)\r\n- Python 3.8+\r\n- fastmcp >= 2.0.0\r\n- openpyxl >= 3.0.0\r\n- Pillow >= 9.0.0\r\n\r\n### Windows Image Capture Requirements\r\n- Microsoft Excel installed\r\n- xlwings >= 0.30.0\r\n- pywin32 >= 306\r\n\r\n### Supported File Formats\r\n- **.xlsx** - Excel 2007+ workbooks\r\n- **.xlsm** - Excel macro-enabled workbooks \r\n- **.xls** - Legacy Excel workbooks (limited support)\r\n\r\n## \ud83d\udd27 Configuration\r\n\r\n### Environment Variables\r\n```bash\r\n# Local server configuration\r\nLOCAL_SERVER_NAME=\"Volute-XLS-Local\"\r\nLOCAL_SERVER_HOST=\"127.0.0.1\"\r\nLOCAL_SERVER_PORT=\"8002\"\r\n\r\n# Cloud server configuration \r\nCLOUD_SERVER_NAME=\"Volute-XLS-Cloud\"\r\nCLOUD_SERVER_HOST=\"0.0.0.0\"\r\nCLOUD_SERVER_PORT=\"8000\"\r\n```\r\n\r\n### Server Options\r\n```bash\r\n# Start local server with custom settings\r\nvolute-xls-local --host 0.0.0.0 --port 8080\r\n\r\n# Start cloud server\r\nvolute-xls-server --port 8000\r\n```\r\n\r\n## \ud83e\uddea Testing\r\n\r\n```bash\r\n# Install development dependencies\r\npip install volute-xls[dev]\r\n\r\n# Run tests\r\npytest tests/\r\n\r\n# Test with sample Excel file\r\npython -c \"\r\nimport asyncio\r\nfrom volute_xls import create_client\r\n\r\nasync def test():\r\n async with create_client('local') as client:\r\n caps = await client.get_excel_capabilities()\r\n print('Excel capabilities:', caps)\r\n\r\nasyncio.run(test())\r\n\"\r\n```\r\n\r\n## \ud83e\udd1d Integration Examples\r\n\r\n### Claude Desktop MCP Configuration\r\n```json\r\n{\r\n \"mcpServers\": {\r\n \"volute-xls-local\": {\r\n \"command\": \"volute-xls-local\",\r\n \"args\": [\"--transport\", \"stdio\"]\r\n }\r\n }\r\n}\r\n```\r\n\r\n### Programmatic Analysis Pipeline\r\n```python\r\nimport asyncio\r\nfrom volute_xls import VoluteXLSLocalClient\r\n\r\nasync def analyze_workbook(file_path):\r\n async with VoluteXLSLocalClient() as client:\r\n # 1. Extract metadata\r\n metadata = await client.extract_excel_metadata(file_path)\r\n \r\n # 2. Analyze key sheets\r\n key_sheets = [\"Summary\", \"Data\", \"Charts\"]\r\n analysis = await client.analyze_excel_sheets(\r\n file_path, \r\n sheet_names=key_sheets,\r\n include_data_sample=True\r\n )\r\n \r\n # 3. Capture images for multimodal analysis \r\n if analysis.get('success'):\r\n images = await client.capture_excel_sheets(\r\n file_path,\r\n sheet_names=key_sheets\r\n )\r\n return {\r\n 'metadata': metadata,\r\n 'analysis': analysis, \r\n 'images': images\r\n }\r\n\r\n# Usage\r\nresult = asyncio.run(analyze_workbook(\"financial_report.xlsx\"))\r\n```\r\n\r\n## \ud83d\udcda Documentation\r\n\r\n- **API Reference** - [docs/api.md](docs/api.md)\r\n- **Developer Guide** - [DEVELOPER_GUIDE.md](DEVELOPER_GUIDE.md)\r\n- **Examples** - [examples/](examples/)\r\n- **Troubleshooting** - [docs/troubleshooting.md](docs/troubleshooting.md)\r\n\r\n## \ud83d\udee1\ufe0f Security & Privacy\r\n\r\n- **Local Processing** - All Excel analysis happens locally\r\n- **No Data Upload** - Files never leave your machine with local server\r\n- **Thread Safety** - Concurrent operations are protected\r\n- **Resource Management** - Automatic cleanup of temporary files and Excel instances\r\n\r\n## \ud83d\uddfa\ufe0f Roadmap\r\n\r\n- [ ] **Enhanced Chart Analysis** - Detailed chart metadata extraction\r\n- [ ] **Pivot Table Support** - Analysis of pivot tables and data models\r\n- [ ] **VBA Code Detection** - Identify and analyze VBA macros\r\n- [ ] **Performance Optimization** - Faster processing of large workbooks\r\n- [ ] **Additional Image Formats** - Support for JPEG, SVG export\r\n- [ ] **Cloud Image Capture** - Server-side image generation without xlwings\r\n\r\n## \ud83e\udd1d Contributing\r\n\r\nWe welcome contributions! Please see [CONTRIBUTING.md](CONTRIBUTING.md) for guidelines.\r\n\r\n### Development Setup\r\n```bash\r\ngit clone https://gitlab.com/coritan/volute-xls.git\r\ncd volute-xls\r\npip install -e .[dev,full]\r\npre-commit install\r\n```\r\n\r\n## \ud83d\udcc4 License\r\n\r\nThis project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.\r\n\r\n## \ud83d\ude4f Acknowledgments\r\n\r\n- **FastMCP** - For the excellent Model Context Protocol framework\r\n- **openpyxl** - For cross-platform Excel file processing \r\n- **xlwings** - For Windows Excel COM automation\r\n- **Pillow** - For image processing capabilities\r\n- **Model Context Protocol** - For the agent integration standard\r\n\r\n---\r\n\r\n**Created with \u2764\ufe0f for the AI agent community**\r\n\r\nFor questions, issues, or feature requests, please visit our [GitLab repository](https://gitlab.com/coritan/volute-xls) or [open an issue](https://gitlab.com/coritan/volute-xls/-/issues).\r\n",
"bugtrack_url": null,
"license": "MIT",
"summary": "MCP server for Excel analysis and multimodal AI integration - comprehensive metadata extraction and sheet image capture for agents",
"version": "1.1.3",
"project_urls": {
"Documentation": "https://gitlab.com/coritan/volute-xls/-/blob/main/DEVELOPER_GUIDE.md",
"Homepage": "https://gitlab.com/coritan/volute-xls",
"Issues": "https://gitlab.com/coritan/volute-xls/-/issues",
"Repository": "https://gitlab.com/coritan/volute-xls.git"
},
"split_keywords": [
"mcp",
" excel",
" ai",
" agents",
" desktop",
" automation",
" xlwings",
" multimodal",
" vision",
" spreadsheet",
" image-capture",
" openpyxl"
],
"urls": [
{
"comment_text": null,
"digests": {
"blake2b_256": "b5d97b4663da6372dbe2368668761e95db095776d493f6ce245151d9d66c556b",
"md5": "41f062a79fb35eafb6eab0721bb4178a",
"sha256": "a35577c610467acdc0f48fa0eb883e9396749141f703deb8298fc58dc72ab0b8"
},
"downloads": -1,
"filename": "volute_xls-1.1.3-py3-none-any.whl",
"has_sig": false,
"md5_digest": "41f062a79fb35eafb6eab0721bb4178a",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.8",
"size": 34865,
"upload_time": "2025-08-27T06:29:21",
"upload_time_iso_8601": "2025-08-27T06:29:21.914068Z",
"url": "https://files.pythonhosted.org/packages/b5/d9/7b4663da6372dbe2368668761e95db095776d493f6ce245151d9d66c556b/volute_xls-1.1.3-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "b0ac0a2069cd866f4ec2e810773b5d9301aadd8cd7bd71e56df29e3a740acb1a",
"md5": "cef407d0d38702adfb42c82638184db9",
"sha256": "c5b65f3cc61be708c54984fae57705b5607aa5d49657d1f20040d587b6e3be64"
},
"downloads": -1,
"filename": "volute_xls-1.1.3.tar.gz",
"has_sig": false,
"md5_digest": "cef407d0d38702adfb42c82638184db9",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.8",
"size": 34439,
"upload_time": "2025-08-27T06:29:23",
"upload_time_iso_8601": "2025-08-27T06:29:23.077510Z",
"url": "https://files.pythonhosted.org/packages/b0/ac/0a2069cd866f4ec2e810773b5d9301aadd8cd7bd71e56df29e3a740acb1a/volute_xls-1.1.3.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2025-08-27 06:29:23",
"github": false,
"gitlab": true,
"bitbucket": false,
"codeberg": false,
"gitlab_user": "coritan",
"gitlab_project": "volute-xls",
"lcname": "volute-xls"
}