Universal File Editor for XML/SVG/HTML with XPath and CSS selector support
Project description
FileX - Universal File Editor
🛠️ Powerful CLI tool and library for editing XML, SVG, and HTML files using XPath and CSS selectors.
✨ Features
- XPath & CSS Selectors - Precise element targeting
- Multiple Formats - XML, SVG, HTML support
- Local & Remote Files - Edit files locally or from URLs
- Data URI Extraction - Extract and decode embedded content (PDFs, images)
- Multiple Interfaces - CLI commands, interactive shell, HTTP server
- Web Interface - Browser-based editor with API
🚀 Quick Start
Installation
# Basic installation
pip install filex
# Full installation with all features
pip install filex[full]
# Specific features
pip install filex[xpath] # XPath support
pip install filex[css] # CSS selectors
pip install filex[remote] # Remote file support
[XPath File Editing CLI Tool - Claude](https://claude.ai/chat/c8910e64-c97a-448f-bee7-7b6237b8145f)
> ### Usage
>
> bash
>
> # CLI Commands
> filex load example.svg
> filex query "//svg:text[@id='title']"
> filex set "//svg:text[@id='title']" "New Title"
> filex extract "//svg:image/@xlink:href" --output document.pdf
> filex save --output modified.svg
>
> # Interactive Shell
> filex shell
>
> # HTTP Server
> filex server --port 8080
>
> ### Python API
>
> python
>
> from filex import FileEditor
>
> # Load and edit file
> editor = FileEditor('example.svg')
> editor.set_element_text("//svg:text[@id='title']", "New Title")
> editor.save('modified.svg')
>
> # Extract Data URI
> result = editor.extract_data_uri("//svg:image/@xlink:href")
> print(f"Found {result['mime_type']} ({result['size']} bytes)")
>
> ## 📖 Documentation
>
> - [CLI Reference](https://claude.ai/chat/docs/cli.md)
> - [API Documentation](https://claude.ai/chat/docs/api.md)
> - [Examples](https://claude.ai/chat/docs/examples.md)
>
> ## 🤝 Contributing
>
> 1. Fork the repository
> 2. Create feature branch (`git checkout -b feature/amazing-feature`)
> 3. Commit changes (`git commit -m 'Add amazing feature'`)
> 4. Push to branch (`git push origin feature/amazing-feature`)
> 5. Open Pull Request
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
xsl-0.1.5.tar.gz
(19.2 kB
view details)
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
xsl-0.1.5-py3-none-any.whl
(19.5 kB
view details)
File details
Details for the file xsl-0.1.5.tar.gz.
File metadata
- Download URL: xsl-0.1.5.tar.gz
- Upload date:
- Size: 19.2 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/2.1.3 CPython/3.11.12 Linux/6.15.3-200.fc42.x86_64
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
bb7985410256a0c2466acb66f043d3d0eb11f0c054d962c5523cef13b5cbfc4e
|
|
| MD5 |
abfde5547da9d1e255c7963216660237
|
|
| BLAKE2b-256 |
a3dcc560e6add147e2afd19cf60434b8b8b213285d4d667f19cf993f50b0d4e3
|
File details
Details for the file xsl-0.1.5-py3-none-any.whl.
File metadata
- Download URL: xsl-0.1.5-py3-none-any.whl
- Upload date:
- Size: 19.5 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/2.1.3 CPython/3.11.12 Linux/6.15.3-200.fc42.x86_64
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
ff80025b0524c1e4b7b31d89b1be617b6110ade456c5659d51dd57f2f5353267
|
|
| MD5 |
de61b5b713dc8585f31b1036a953361d
|
|
| BLAKE2b-256 |
4a0cb3e07124166f7fd18bee176bbcf0990f48eda693b1956a0bc7148ec06c81
|