Skip to main content

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)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

xsl-0.1.5-py3-none-any.whl (19.5 kB view details)

Uploaded Python 3

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

Hashes for xsl-0.1.5.tar.gz
Algorithm Hash digest
SHA256 bb7985410256a0c2466acb66f043d3d0eb11f0c054d962c5523cef13b5cbfc4e
MD5 abfde5547da9d1e255c7963216660237
BLAKE2b-256 a3dcc560e6add147e2afd19cf60434b8b8b213285d4d667f19cf993f50b0d4e3

See more details on using hashes here.

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

Hashes for xsl-0.1.5-py3-none-any.whl
Algorithm Hash digest
SHA256 ff80025b0524c1e4b7b31d89b1be617b6110ade456c5659d51dd57f2f5353267
MD5 de61b5b713dc8585f31b1036a953361d
BLAKE2b-256 4a0cb3e07124166f7fd18bee176bbcf0990f48eda693b1956a0bc7148ec06c81

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page