A powerful, open-source file converter supporting 15+ formats
Project description
🔄 Multi-Format File Converter
A powerful, open-source file converter supporting 15+ formats
Features • Installation • Usage • Supported Formats • Contributing
🌟 Features
- Multi-Format Support: Convert between 15+ file formats
- Batch Processing: Convert multiple files at once
- Preserve Quality: Maintain original formatting and quality
- CLI & GUI: Command-line and web interface options
- Cross-Platform: Works on Windows, macOS, and Linux
- Open Source: Free and extensible
📦 Installation
Using pip
pip install file-converter
From source
git clone https://github.com/ab0jwad/file-converter.git
cd file-converter
pip install -e .
🚀 Usage
Command Line Interface
# Convert PDF to Word
file-converter convert document.pdf --format docx --output converted.docx
# Convert CSV to JSON
file-converter convert data.csv --format json --output data.json
# Batch convert all files in a directory
file-converter batch ./input --output ./output --format json
# List supported formats
file-converter formats
Python API
from file_converter import FileConverter
# Simple conversion
converter = FileConverter()
converter.convert('document.pdf', 'document.docx')
# Batch conversion
converter.convert_batch(['file1.csv', 'file2.csv'], format='json')
# Get supported formats
formats = converter.get_supported_formats()
📋 Supported Formats
📄 Documents
| From | To |
|---|---|
| Text (TXT) | |
| Word (DOCX) | Text (TXT) |
| Text (TXT) | Word (DOCX), Markdown |
📊 Data
| From | To |
|---|---|
| CSV | JSON, XML, Excel (XLSX), YAML |
| JSON | CSV, XML, YAML, HTML |
| XML | JSON, CSV, YAML |
| Excel (XLSX) | CSV, JSON, XML |
| YAML | JSON, CSV, XML |
🖼️ Images
| From | To |
|---|---|
| PNG | JPG, WEBP |
| JPG | PNG, WEBP |
| WEBP | PNG, JPG |
📝 Text & Code
| From | To |
|---|---|
| Markdown | HTML, Text |
| HTML | Markdown, Text |
| Text (TXT) | Markdown, HTML |
🔧 Requirements
- Python 3.8 or higher
- Dependencies listed in
requirements.txt
🧪 Testing
# Run all tests
pytest
# Run specific test
pytest tests/test_converter.py -v
# Test coverage
pytest --cov=src tests/
🤝 Contributing
We welcome contributions! Please see CONTRIBUTING.md for details.
- Fork the repository
- Create a feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'Add amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
📝 License
This project is licensed under the MIT License - see the LICENSE file for details.
🙏 Acknowledgments
- Open source community
- Contributors and users
- File format libraries and tools
📞 Support
- Issues: GitHub Issues
- Discussions: GitHub Discussions
- Email: support@fileconverter.dev
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file file_converter_tool-1.0.0.tar.gz.
File metadata
- Download URL: file_converter_tool-1.0.0.tar.gz
- Upload date:
- Size: 16.5 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.14.4
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
4dfb6b85b316f4b28706be7e1ed43d5c540c0f8a1e5e0e6e6fb9b5940e15b956
|
|
| MD5 |
02bbdf3d73b81038ba1508b35f8a0217
|
|
| BLAKE2b-256 |
72d5aca4a3d53a15b5ac69232f9de263941c386240b95be92a66f135adb68cb2
|
File details
Details for the file file_converter_tool-1.0.0-py3-none-any.whl.
File metadata
- Download URL: file_converter_tool-1.0.0-py3-none-any.whl
- Upload date:
- Size: 15.9 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.14.4
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
4cdc4f9ebf659d67647000ab13a999e0d9b3d7e3235b2b4ea86130cae0ba22e7
|
|
| MD5 |
03a2b58a9baddaba466e6934e3910245
|
|
| BLAKE2b-256 |
be7fa7ea5dcf339a5dd18b5d7b56dccb64df208fd57ccdf819e24f2edbae0c22
|