openconvert 0.1.0__tar.gz β†’ 1.0.0__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (88) hide show
  1. openconvert-1.0.0/.readthedocs.yaml +23 -0
  2. openconvert-1.0.0/LICENSE +21 -0
  3. openconvert-1.0.0/MANIFEST.in +19 -0
  4. openconvert-1.0.0/PKG-INFO +504 -0
  5. openconvert-1.0.0/PYPI_UPLOAD.md +293 -0
  6. openconvert-1.0.0/README.md +448 -0
  7. openconvert-1.0.0/demo.py +129 -0
  8. openconvert-1.0.0/docs/_build/html/_sources/api/cli.rst.txt +7 -0
  9. openconvert-1.0.0/docs/_build/html/_sources/api/client.rst.txt +15 -0
  10. openconvert-1.0.0/docs/_build/html/_sources/api/openconvert.rst.txt +27 -0
  11. openconvert-1.0.0/docs/_build/html/_sources/deployment/network-setup.rst.txt +581 -0
  12. openconvert-1.0.0/docs/_build/html/_sources/development/contributing.rst.txt +551 -0
  13. openconvert-1.0.0/docs/_build/html/_sources/examples/batch-processing.rst.txt +580 -0
  14. openconvert-1.0.0/docs/_build/html/_sources/examples/python-integration.rst.txt +692 -0
  15. openconvert-1.0.0/docs/_build/html/_sources/getting-started/basic-usage.rst.txt +342 -0
  16. openconvert-1.0.0/docs/_build/html/_sources/getting-started/installation.rst.txt +143 -0
  17. openconvert-1.0.0/docs/_build/html/_sources/getting-started/quickstart.rst.txt +206 -0
  18. openconvert-1.0.0/docs/_build/html/_sources/index.rst.txt +99 -0
  19. openconvert-1.0.0/docs/_build/html/_sources/user-guide/advanced-usage.rst.txt +757 -0
  20. openconvert-1.0.0/docs/_build/html/_sources/user-guide/cli-reference.rst.txt +434 -0
  21. openconvert-1.0.0/docs/_build/html/_sources/user-guide/python-api.rst.txt +516 -0
  22. openconvert-1.0.0/docs/_build/html/_sources/user-guide/supported-formats.rst.txt +588 -0
  23. openconvert-1.0.0/docs/_build/html/_sources/user-guide/troubleshooting.rst.txt +476 -0
  24. openconvert-1.0.0/docs/api/cli.rst +7 -0
  25. openconvert-1.0.0/docs/api/client.rst +15 -0
  26. openconvert-1.0.0/docs/api/openconvert.rst +27 -0
  27. openconvert-1.0.0/docs/conf.py +119 -0
  28. openconvert-1.0.0/docs/deployment/network-setup.rst +581 -0
  29. openconvert-1.0.0/docs/development/contributing.rst +551 -0
  30. openconvert-1.0.0/docs/examples/batch-processing.rst +580 -0
  31. openconvert-1.0.0/docs/examples/python-integration.rst +692 -0
  32. openconvert-1.0.0/docs/getting-started/basic-usage.rst +342 -0
  33. openconvert-1.0.0/docs/getting-started/installation.rst +165 -0
  34. openconvert-1.0.0/docs/getting-started/quickstart.rst +206 -0
  35. openconvert-1.0.0/docs/index.rst +112 -0
  36. openconvert-1.0.0/docs/requirements.txt +8 -0
  37. openconvert-1.0.0/docs/user-guide/advanced-usage.rst +757 -0
  38. openconvert-1.0.0/docs/user-guide/cli-reference.rst +434 -0
  39. openconvert-1.0.0/docs/user-guide/python-api.rst +516 -0
  40. openconvert-1.0.0/docs/user-guide/supported-formats.rst +588 -0
  41. openconvert-1.0.0/docs/user-guide/troubleshooting.rst +483 -0
  42. openconvert-1.0.0/openconvert/__init__.py +112 -0
  43. openconvert-1.0.0/openconvert/__main__.py +13 -0
  44. openconvert-1.0.0/openconvert/client.py +392 -0
  45. openconvert-1.0.0/openconvert/openconvert_cli.py +543 -0
  46. openconvert-1.0.0/openconvert.egg-info/SOURCES.txt +54 -0
  47. openconvert-1.0.0/pyproject.toml +125 -0
  48. openconvert-1.0.0/scripts/README.md +197 -0
  49. openconvert-1.0.0/scripts/launch_agents.py +329 -0
  50. openconvert-1.0.0/scripts/launch_agents.sh +308 -0
  51. openconvert-1.0.0/service/README.md +162 -0
  52. openconvert-1.0.0/service/network_config.yaml +97 -0
  53. openconvert-1.0.0/service/run_agent.py +509 -0
  54. openconvert-1.0.0/service/test_end_to_end.py +416 -0
  55. openconvert-1.0.0/service/test_txt_to_md.py +117 -0
  56. openconvert-1.0.0/setup.py +93 -0
  57. openconvert-0.1.0/PKG-INFO +0 -232
  58. openconvert-0.1.0/README.md +0 -171
  59. openconvert-0.1.0/setup.py +0 -77
  60. openconvert-0.1.0/src/openconvert/__init__.py +0 -7
  61. openconvert-0.1.0/src/openconvert/cli.py +0 -145
  62. openconvert-0.1.0/src/openconvert/converter.py +0 -152
  63. openconvert-0.1.0/src/openconvert/converters/__init__.py +0 -3
  64. openconvert-0.1.0/src/openconvert/converters/archive_converter.py +0 -277
  65. openconvert-0.1.0/src/openconvert/converters/audio_converter.py +0 -223
  66. openconvert-0.1.0/src/openconvert/converters/code_converter.py +0 -412
  67. openconvert-0.1.0/src/openconvert/converters/document_converter.py +0 -596
  68. openconvert-0.1.0/src/openconvert/converters/image_converter.py +0 -214
  69. openconvert-0.1.0/src/openconvert/converters/model_converter.py +0 -208
  70. openconvert-0.1.0/src/openconvert/converters/video_converter.py +0 -259
  71. openconvert-0.1.0/src/openconvert/launcher.py +0 -0
  72. openconvert-0.1.0/src/openconvert.egg-info/PKG-INFO +0 -232
  73. openconvert-0.1.0/src/openconvert.egg-info/SOURCES.txt +0 -30
  74. openconvert-0.1.0/src/openconvert.egg-info/dependency_links.txt +0 -1
  75. openconvert-0.1.0/src/openconvert.egg-info/entry_points.txt +0 -2
  76. openconvert-0.1.0/src/openconvert.egg-info/requires.txt +0 -45
  77. openconvert-0.1.0/src/openconvert.egg-info/top_level.txt +0 -1
  78. openconvert-0.1.0/tests/test_archive_converter.py +0 -253
  79. openconvert-0.1.0/tests/test_audio_converter.py +0 -230
  80. openconvert-0.1.0/tests/test_base.py +0 -227
  81. openconvert-0.1.0/tests/test_cli.py +0 -216
  82. openconvert-0.1.0/tests/test_code_converter.py +0 -453
  83. openconvert-0.1.0/tests/test_converter.py +0 -142
  84. openconvert-0.1.0/tests/test_document_converter.py +0 -317
  85. openconvert-0.1.0/tests/test_image_converter.py +0 -240
  86. openconvert-0.1.0/tests/test_model_converter.py +0 -246
  87. openconvert-0.1.0/tests/test_video_converter.py +0 -227
  88. {openconvert-0.1.0 β†’ openconvert-1.0.0}/setup.cfg +0 -0
@@ -0,0 +1,23 @@
1
+ # .readthedocs.yaml
2
+ # Read the Docs configuration file
3
+ # See https://docs.readthedocs.io/en/stable/config-file/v2.html for details
4
+
5
+ # Required
6
+ version: 2
7
+
8
+ # Set the OS, set of tools, and Python version
9
+ build:
10
+ os: ubuntu-22.04
11
+ tools:
12
+ python: "3.11"
13
+
14
+ # Build documentation in the "docs/" directory with Sphinx
15
+ sphinx:
16
+ configuration: docs/conf.py
17
+
18
+ # Declare the Python requirements required to build the docs
19
+ python:
20
+ install:
21
+ - requirements: docs/requirements.txt
22
+ - method: pip
23
+ path: .
@@ -0,0 +1,21 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2024 OpenAgents Team
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
@@ -0,0 +1,19 @@
1
+ # Include the license and readme
2
+ include LICENSE
3
+ include README.md
4
+
5
+ # Include documentation
6
+ recursive-include docs *.rst *.md *.txt *.yaml *.yml
7
+ include docs/conf.py
8
+ include .readthedocs.yaml
9
+
10
+ # Include scripts
11
+ recursive-include scripts *.py *.sh *.md
12
+
13
+ # Exclude unnecessary files
14
+ global-exclude *.pyc
15
+ global-exclude __pycache__
16
+ global-exclude .git*
17
+ global-exclude .pytest_cache
18
+ global-exclude *.egg-info
19
+ prune openconvert.egg-info
@@ -0,0 +1,504 @@
1
+ Metadata-Version: 2.4
2
+ Name: openconvert
3
+ Version: 1.0.0
4
+ Summary: CLI tool for connecting to OpenConvert OpenAgents network for file conversion
5
+ Home-page: https://github.com/acenta-ai/openconvert
6
+ Author: OpenAgents Team
7
+ Author-email: OpenAgents Team <team@openagents.com>
8
+ Maintainer: OpenAgents Team
9
+ Maintainer-email: OpenAgents Team <team@openagents.com>
10
+ License: MIT
11
+ Project-URL: Homepage, https://github.com/acenta-ai/openconvert
12
+ Project-URL: Documentation, https://openconvert.readthedocs.io/
13
+ Project-URL: Repository, https://github.com/acenta-ai/openconvert
14
+ Project-URL: Bug Reports, https://github.com/acenta-ai/openconvert/issues
15
+ Keywords: file conversion,openagents,cli,network,format conversion,document conversion
16
+ Classifier: Development Status :: 4 - Beta
17
+ Classifier: Intended Audience :: Developers
18
+ Classifier: Intended Audience :: End Users/Desktop
19
+ Classifier: License :: OSI Approved :: MIT License
20
+ Classifier: Operating System :: OS Independent
21
+ Classifier: Programming Language :: Python :: 3
22
+ Classifier: Programming Language :: Python :: 3.8
23
+ Classifier: Programming Language :: Python :: 3.9
24
+ Classifier: Programming Language :: Python :: 3.10
25
+ Classifier: Programming Language :: Python :: 3.11
26
+ Classifier: Programming Language :: Python :: 3.12
27
+ Classifier: Topic :: Software Development :: Libraries :: Python Modules
28
+ Classifier: Topic :: Communications
29
+ Classifier: Topic :: Internet
30
+ Classifier: Topic :: Multimedia :: Graphics :: Graphics Conversion
31
+ Classifier: Topic :: Office/Business :: Office Suites
32
+ Classifier: Topic :: Text Processing :: Markup
33
+ Classifier: Topic :: Utilities
34
+ Requires-Python: >=3.8
35
+ Description-Content-Type: text/markdown
36
+ License-File: LICENSE
37
+ Requires-Dist: pyyaml>=5.4.0
38
+ Requires-Dist: openagents>=0.5.0
39
+ Provides-Extra: dev
40
+ Requires-Dist: pytest>=6.0.0; extra == "dev"
41
+ Requires-Dist: pytest-asyncio>=0.18.0; extra == "dev"
42
+ Requires-Dist: black>=22.0.0; extra == "dev"
43
+ Requires-Dist: flake8>=4.0.0; extra == "dev"
44
+ Requires-Dist: mypy>=0.910; extra == "dev"
45
+ Provides-Extra: docs
46
+ Requires-Dist: sphinx>=4.0.0; extra == "docs"
47
+ Requires-Dist: sphinx-rtd-theme>=1.0.0; extra == "docs"
48
+ Requires-Dist: myst-parser>=0.17.0; extra == "docs"
49
+ Provides-Extra: service
50
+ Requires-Dist: agconvert; extra == "service"
51
+ Dynamic: author
52
+ Dynamic: home-page
53
+ Dynamic: license-file
54
+ Dynamic: maintainer
55
+ Dynamic: requires-python
56
+
57
+ <div align="center">
58
+
59
+ # πŸ”„ OpenConvert CLI
60
+
61
+ ### *Intelligent File Conversion for the Distributed Age*
62
+
63
+ [![Python 3.8+](https://img.shields.io/badge/python-3.8+-blue.svg)](https://www.python.org/downloads/)
64
+ [![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)
65
+ [![PRs Welcome](https://img.shields.io/badge/PRs-welcome-brightgreen.svg)](http://makeapullrequest.com)
66
+ [![OpenAgents](https://img.shields.io/badge/powered%20by-OpenAgents-orange.svg)](https://github.com/openagents/openagents)
67
+
68
+ *Transform any file to any format using distributed AI agents*
69
+
70
+ [πŸš€ Quick Start](#-quick-start) β€’ [πŸ“– Documentation](#-usage) β€’ [🀝 Contributing](#-contributing) β€’ [πŸ’¬ Community](#-community)
71
+
72
+ </div>
73
+
74
+ ---
75
+
76
+ ## 🌟 **What is OpenConvert?**
77
+
78
+ OpenConvert CLI is a command-line tool that connects to distributed OpenAgents networks to discover and utilize file conversion services. Instead of installing multiple conversion tools, OpenConvert leverages distributed agents to handle various file conversion tasks.
79
+
80
+ ### βœ… **Currently Implemented**
81
+
82
+ πŸ”— **Network-Powered** β€’ Connect to OpenAgents conversion networks
83
+ πŸ€– **Prompt Support** β€’ Use natural language prompts (agent-dependent)
84
+ πŸ“ **Batch Processing** β€’ Convert files and directories
85
+ πŸ” **Auto-Detection** β€’ Automatic MIME type detection
86
+ πŸ›‘οΈ **Error Handling** β€’ Comprehensive error reporting
87
+ ⚑ **Async Operations** β€’ Non-blocking network operations
88
+ πŸ”§ **Python API** β€’ Import and use `from openconvert import convert`
89
+ πŸ“Š **Format Discovery** β€’ `--list-formats` to see available conversions
90
+
91
+ ### 🚧 **Planned Features**
92
+
93
+ πŸš€ **Enhanced Format Support** β€’ Expand to 50+ formats as agents join
94
+ 🐳 **Easy Deployment** β€’ Docker and Kubernetes support
95
+ βš™οΈ **Configuration Files** β€’ YAML config for defaults and preferences
96
+
97
+ ---
98
+
99
+ ## 🎬 **See It In Action**
100
+
101
+ ```bash
102
+ # Convert a document with AI enhancement
103
+ openconvert -i data.csv -o report.pdf --prompt "Create a professional report with charts"
104
+
105
+ # Batch convert an entire photo library
106
+ openconvert -i photos/ -o pdfs/ --from image/jpeg --to application/pdf
107
+
108
+ # Simple format conversion
109
+ openconvert -i document.txt -o document.pdf
110
+
111
+ # Discover available conversions
112
+ openconvert --list-formats
113
+ ```
114
+
115
+ > πŸ’‘ **Pro Tip**: Use natural language prompts to guide conversions (depends on agent capabilities)!
116
+
117
+ ---
118
+
119
+ ## πŸš€ **Quick Start**
120
+
121
+ ### Installation
122
+
123
+ ```bash
124
+ # Currently: Install from source
125
+ git clone https://github.com/openagents/openconvert.git
126
+ cd openconvert
127
+ pip install -e .
128
+
129
+ # Future: PyPI package (planned)
130
+ # pip install openconvert
131
+ ```
132
+
133
+ ### Your First Conversion
134
+
135
+ ```bash
136
+ # Start an OpenConvert network (one-time setup)
137
+ openagents launch-network demos/openconvert/network_config.yaml
138
+
139
+ # Launch some conversion agents
140
+ python demos/openconvert/run_agent.py doc &
141
+ python demos/openconvert/run_agent.py image &
142
+
143
+ # Convert your first file!
144
+ openconvert -i document.txt -o document.pdf
145
+ ```
146
+
147
+ That's it! πŸŽ‰
148
+
149
+ > ⚠️ **Current Status**: This is an early-stage project. Basic functionality works, but many advanced features are still in development.
150
+
151
+ ---
152
+
153
+ ## πŸ“– **Usage**
154
+
155
+ ### **Basic Syntax**
156
+
157
+ ```bash
158
+ openconvert -i INPUT -o OUTPUT [OPTIONS]
159
+ ```
160
+
161
+ ### **Real-World Examples**
162
+
163
+ <details>
164
+ <summary><b>πŸ“„ Document Conversions</b></summary>
165
+
166
+ ```bash
167
+ # Text to PDF with custom styling
168
+ openconvert -i notes.txt -o notes.pdf --prompt "Use a professional layout with headers"
169
+
170
+ # Markdown to Word document
171
+ openconvert -i README.md -o README.docx
172
+
173
+ # CSV to formatted Excel with charts
174
+ openconvert -i sales.csv -o sales.xlsx --prompt "Add charts and formatting"
175
+ ```
176
+ </details>
177
+
178
+ <details>
179
+ <summary><b>πŸ–ΌοΈ Image Processing</b></summary>
180
+
181
+ ```bash
182
+ # Convert and compress images
183
+ openconvert -i photos/ -o thumbnails/ --from image/jpeg --to image/webp --prompt "Resize to 800px width"
184
+
185
+ # Create PDF from images
186
+ openconvert -i scans/ -o document.pdf --from image/png --to application/pdf
187
+
188
+ # Batch image format conversion
189
+ openconvert -i raw_images/ -o processed/ --from image/tiff --to image/png
190
+ ```
191
+ </details>
192
+
193
+ <details>
194
+ <summary><b>🎡 Media Files</b></summary>
195
+
196
+ ```bash
197
+ # Audio format conversion
198
+ openconvert -i music.wav -o music.mp3 --prompt "High quality encoding"
199
+
200
+ # Video format conversion
201
+ openconvert -i video.avi -o video.mp4 --prompt "Optimize for web streaming"
202
+
203
+ # Extract audio from video
204
+ openconvert -i movie.mp4 -o soundtrack.mp3
205
+ ```
206
+ </details>
207
+
208
+ <details>
209
+ <summary><b>πŸ—‚οΈ Archives & Data</b></summary>
210
+
211
+ ```bash
212
+ # Create compressed archives
213
+ openconvert -i project/ -o project.zip
214
+
215
+ # Convert between archive formats
216
+ openconvert -i backup.rar -o backup.tar.gz
217
+
218
+ # JSON to other formats
219
+ openconvert -i data.json -o data.xlsx --prompt "Create tables with proper headers"
220
+ ```
221
+ </details>
222
+
223
+ ### **Command-Line Options**
224
+
225
+ | Option | Description | Example |
226
+ |--------|-------------|---------|
227
+ | `-i, --input` | Input file or directory | `-i documents/` |
228
+ | `-o, --output` | Output file or directory | `-o converted/` |
229
+ | `--from` | Source MIME type | `--from image/png` |
230
+ | `--to` | Target MIME type | `--to application/pdf` |
231
+ | `--prompt` | AI conversion instructions | `--prompt "Compress by 50%"` |
232
+ | `--host` | Network host | `--host remote.example.com` |
233
+ | `--port` | Network port | `--port 8765` |
234
+ | `-v, --verbose` | Detailed output | `-v` |
235
+ | `-q, --quiet` | Minimal output | `-q` |
236
+ | `--list-formats` | Discover available conversions | `--list-formats` |
237
+
238
+ ---
239
+
240
+ ## 🌐 **Supported Formats**
241
+
242
+ <div align="center">
243
+
244
+ | Category | Formats | Count |
245
+ |----------|---------|-------|
246
+ | **πŸ“„ Documents** | txt, pdf, docx, html, md, rtf, csv, xlsx, epub | 9+ |
247
+ | **πŸ–ΌοΈ Images** | png, jpg, gif, bmp, tiff, svg, webp, ico | 8+ |
248
+ | **🎡 Audio** | mp3, wav, ogg, flac, aac, m4a | 6+ |
249
+ | **🎬 Video** | mp4, avi, mkv, mov, webm, gif | 6+ |
250
+ | **πŸ—œοΈ Archives** | zip, rar, 7z, tar, gz, bz2 | 6+ |
251
+ | **πŸ’» Code** | json, xml, yaml, html, css, js, py | 7+ |
252
+ | **🎯 3D Models** | stl, obj, fbx, ply, glb | 5+ |
253
+
254
+ **Total: 50+ formats supported!**
255
+
256
+ </div>
257
+
258
+ > πŸ“ˆ **Growing Library**: New formats added regularly as agents join the network
259
+
260
+ ---
261
+
262
+ ## πŸ—οΈ **Network Setup**
263
+
264
+ ### **Quick Network Setup**
265
+
266
+ ```bash
267
+ # 1. Clone the OpenAgents repository
268
+ git clone https://github.com/openagents/openagents.git
269
+ cd openagents
270
+
271
+ # 2. Start the network
272
+ openagents launch-network demos/openconvert/network_config.yaml
273
+
274
+ # 3. Launch conversion agents (in separate terminals)
275
+ python demos/openconvert/run_agent.py doc # Document conversions
276
+ python demos/openconvert/run_agent.py image # Image processing
277
+ python demos/openconvert/run_agent.py audio # Audio conversions
278
+ python demos/openconvert/run_agent.py video # Video processing
279
+ ```
280
+
281
+ ### **Production Deployment (Planned)**
282
+
283
+ > 🚧 **Coming Soon**: Docker and Kubernetes deployment configurations are being developed.
284
+ >
285
+ > Currently: Use the manual setup method above for development and testing.
286
+
287
+ ---
288
+
289
+ ## πŸ”§ **Advanced Usage**
290
+
291
+ ### **Batch Processing Power**
292
+
293
+ ```bash
294
+ # Convert all images in a folder structure
295
+ find ./photos -name "*.raw" -exec openconvert -i {} -o {}.jpg \;
296
+
297
+ # Parallel processing with xargs
298
+ ls *.txt | xargs -I {} -P 4 openconvert -i {} -o {}.pdf
299
+
300
+ # Directory-wide conversions
301
+ openconvert -i ./documents --from text/plain --to application/pdf --prompt "Professional formatting"
302
+ ```
303
+
304
+ ### **Python Integration**
305
+
306
+ ```python
307
+ # Simple file conversion
308
+ from openconvert import convert_file
309
+
310
+ success = convert_file("document.txt", "document.pdf")
311
+ if success:
312
+ print("βœ… Conversion successful!")
313
+
314
+ # Advanced batch conversion
315
+ from openconvert import convert
316
+ from pathlib import Path
317
+
318
+ success = convert(
319
+ input_files=[Path("file1.txt"), Path("file2.txt")],
320
+ output_path=Path("merged.pdf"),
321
+ from_format="text/plain",
322
+ to_format="application/pdf",
323
+ prompt="Merge into single document with table of contents"
324
+ )
325
+
326
+ # Advanced async usage (for custom integrations)
327
+ from openconvert.client import OpenConvertClient
328
+
329
+ async def custom_conversion():
330
+ client = OpenConvertClient()
331
+ await client.connect("my-network.com", 8765)
332
+
333
+ result = await client.convert_file(
334
+ input_file=Path("data.xlsx"),
335
+ output_file=Path("report.pdf"),
336
+ source_format="application/vnd.openxmlformats-officedocument.spreadsheetml.sheet",
337
+ target_format="application/pdf",
338
+ prompt="Create executive summary with charts"
339
+ )
340
+
341
+ await client.disconnect()
342
+ return result
343
+ ```
344
+
345
+ ### **Configuration Files (Planned)**
346
+
347
+ > 🚧 **Coming Soon**: Configuration file support is planned for future releases.
348
+
349
+ ---
350
+
351
+ ## πŸ› οΈ **Development**
352
+
353
+ ### **Project Structure**
354
+
355
+ ```
356
+ openconvert/
357
+ β”œβ”€β”€ πŸ“ openconvert/ # Main package
358
+ β”‚ β”œβ”€β”€ 🐍 __init__.py # Package init
359
+ β”‚ β”œβ”€β”€ πŸ–₯️ openconvert_cli.py # CLI interface
360
+ β”‚ β”œβ”€β”€ 🌐 client.py # Network client
361
+ β”‚ └── πŸ“„ __main__.py # Module entry
362
+ β”œβ”€β”€ πŸ§ͺ tests/ # Test suite
363
+ β”œβ”€β”€ πŸ“– docs/ # Documentation
364
+ β”œβ”€β”€ 🐳 docker/ # Docker configs
365
+ β”œβ”€β”€ βš™οΈ setup.py # Installation
366
+ └── πŸ“‹ README.md # This file
367
+ ```
368
+
369
+ ### **Contributing Workflow**
370
+
371
+ ```bash
372
+ # 1. Fork & clone
373
+ git clone https://github.com/yourusername/openconvert.git
374
+ cd openconvert
375
+
376
+ # 2. Create feature branch
377
+ git checkout -b feature/amazing-feature
378
+
379
+ # 3. Set up development environment
380
+ pip install -e ".[dev]"
381
+ pre-commit install
382
+
383
+ # 4. Make changes & test
384
+ pytest tests/
385
+ black openconvert/
386
+ flake8 openconvert/
387
+
388
+ # 5. Submit PR
389
+ git push origin feature/amazing-feature
390
+ ```
391
+
392
+ ### **Running Tests**
393
+
394
+ ```bash
395
+ # Unit tests
396
+ pytest tests/
397
+
398
+ # Integration tests (requires network)
399
+ pytest tests/integration/ --network
400
+
401
+ # Performance tests
402
+ pytest tests/performance/ --benchmark
403
+
404
+ # Coverage report
405
+ pytest --cov=openconvert --cov-report=html
406
+ ```
407
+
408
+ ---
409
+
410
+ ## 🀝 **Contributing**
411
+
412
+ We ❀️ contributions! Here's how you can help:
413
+
414
+ ### **πŸ› Found a Bug?**
415
+ - [Open an issue](https://github.com/openagents/openconvert/issues/new?template=bug_report.md)
416
+ - Include reproduction steps
417
+ - Mention your OS and Python version
418
+
419
+ ### **πŸ’‘ Have an Idea?**
420
+ - [Start a discussion](https://github.com/openagents/openconvert/discussions)
421
+ - Propose new features or improvements
422
+ - Share your use cases
423
+
424
+ ### **πŸ› οΈ Want to Code?**
425
+ - Check [good first issues](https://github.com/openagents/openconvert/labels/good%20first%20issue)
426
+ - Read our [contributing guide](CONTRIBUTING.md)
427
+ - Join our [developer Discord](https://discord.gg/openagents)
428
+
429
+ ### **πŸ“ Improve Documentation?**
430
+ - Fix typos or unclear sections
431
+ - Add examples and tutorials
432
+ - Translate to other languages
433
+
434
+ ---
435
+
436
+ ## πŸ’¬ **Community**
437
+
438
+ <div align="center">
439
+
440
+ [![Discord](https://img.shields.io/discord/123456789?logo=discord&label=Discord)](https://discord.gg/openagents)
441
+ [![Twitter Follow](https://img.shields.io/twitter/follow/openagents?style=social)](https://twitter.com/openagents)
442
+ [![GitHub Discussions](https://img.shields.io/github/discussions/openagents/openconvert)](https://github.com/openagents/openconvert/discussions)
443
+
444
+ </div>
445
+
446
+ - **πŸ’¬ Chat**: [Discord Server](https://discord.gg/openagents)
447
+ - **🐦 Updates**: [@openagents](https://twitter.com/openagents)
448
+ - **πŸ’‘ Discussions**: [GitHub Discussions](https://github.com/openagents/openconvert/discussions)
449
+ - **πŸ“§ Email**: hello@openagents.org
450
+
451
+ ---
452
+
453
+ ## πŸ—ΊοΈ **Roadmap**
454
+
455
+ ### **πŸš€ Coming Soon**
456
+
457
+ - [ ] **Plugin System** - Custom conversion agents
458
+ - [ ] **Web Interface** - Browser-based UI
459
+ - [ ] **API Gateway** - REST API for integrations
460
+ - [ ] **Cloud Hosting** - Managed OpenConvert service
461
+ - [ ] **Mobile Apps** - iOS and Android clients
462
+
463
+ ### **🎯 Long Term**
464
+
465
+ - [ ] **AI-Generated Agents** - Automatic agent creation
466
+ - [ ] **Blockchain Integration** - Decentralized agent rewards
467
+ - [ ] **Real-time Collaboration** - Multi-user conversion workflows
468
+ - [ ] **Format Prediction** - ML-powered format suggestions
469
+
470
+ ---
471
+
472
+ ## πŸ† **Acknowledgments**
473
+
474
+ Special thanks to:
475
+
476
+ - **OpenAgents Team** - For the amazing framework
477
+ - **Contributors** - Everyone who helps improve OpenConvert
478
+ - **Community** - Users who provide feedback and ideas
479
+ - **Dependencies** - All the great open source libraries we use
480
+
481
+ ### **Built With**
482
+
483
+ - [OpenAgents](https://github.com/openagents/openagents) - Distributed agent framework
484
+ - [Click](https://click.palletsprojects.com/) - Command line interface
485
+ - [AsyncIO](https://docs.python.org/3/library/asyncio.html) - Asynchronous programming
486
+ - [Typer](https://typer.tiangolo.com/) - CLI framework
487
+
488
+ ---
489
+
490
+ ## πŸ“„ **License**
491
+
492
+ This project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.
493
+
494
+ ---
495
+
496
+ <div align="center">
497
+
498
+ **[⭐ Star this repo](https://github.com/openagents/openconvert) if you found it helpful!**
499
+
500
+ Made with ❀️ by the OpenAgents community
501
+
502
+ *Transforming files, one conversion at a time* πŸ”„
503
+
504
+ </div>