induxx / parsable-file-multi-tool
Package info
github.com/induxx/parsable-file-multi-tool
pkg:composer/induxx/parsable-file-multi-tool
Requires
- php: >=8.1
- ext-curl: *
- ext-iconv: *
- ext-json: *
- ext-simplexml: *
- ext-xmlreader: *
- ext-xmlwriter: *
- ext-zip: *
- adhocore/cli: ^0.9.0
- aspera/xlsx-reader: ^1.1.0
- beberlei/assert: ^3.3
- firebase/php-jwt: ^v6.8
- guzzlehttp/guzzle: ^7.4
- induxx/shared-app-libraries: 1.0.*
- psr/log: ^3.0
- symfony/yaml: 6.*
Requires (Dev)
- jangregor/phpstan-prophecy: *
- phpspec/prophecy: ^1.17
- phpspec/prophecy-phpunit: ^2.0
- phpstan/phpstan: *
- phpstan/phpstan-beberlei-assert: ^0.12.6
- phpunit/phpunit: ~9.6.8
- roave/security-advisories: dev-master
- symfony/var-dumper: *
This package is not auto-updated.
Last update: 2026-02-25 12:46:26 UTC
README
A powerful PHP-based data transformation and processing tool designed for handling complex data pipelines, file format conversions, and integration workflows. This tool provides a flexible framework for transforming data between various formats with support for custom actions, directives, and extensible processing pipelines.
Key Features
- Multi-format Support: Process CSV, XML, JSON, and other structured data formats
- Flexible Transformations: Chain multiple transformation steps with configurable actions
- Extensible Architecture: Create custom actions and extensions for specific use cases
- Integration Ready: Built-in support for Akeneo PIM and other e-commerce platforms
- Debugging Tools: Comprehensive debugging and validation capabilities
- Docker Support: Containerized environment for consistent deployments
Quick Start
Installation
bin/docker/composer install
Basic Usage
Transform a file using a transformation configuration:
bin/docker/console transformation --file examples/transformation.yaml --source data/input --workpath data/output PROJECT=project_name bin/docker/run_example.sh transformation.yaml
For detailed installation and setup instructions, see the Quick Start Guide.
Documentation
📚 Getting Started
- Quick Start Guide - Your first transformation
- Configuration Guide - Setting up accounts and contexts
👥 User Guide
- Running Transformations - Complete workflow guide
- Debug Action - Debugging utilities
- CLI Commands - Command-line reference
📖 Reference Documentation
- Actions - All available transformation actions
- Directives - Configuration directives and options
- Converters - Data format converters
- Tools - Utility tools and helpers
💡 Examples
- Basic Transformations - Common use cases
- Advanced Workflows - Complex transformation patterns
Configuration
Account Setup
Add API credentials and account information to your transformation files:
# secrets.yaml account: name: "my-account" username: "my-username" password: "my-password" domain: "my-domain" client_id: "my-client-id" client_secret: "my-client-secret"
Context Parameters
Define reusable parameters across transformations:
context: my-parameter: "my-value" environment: "production"
Common Commands
Basic Transformation
bin/docker/console transformation --file path/to/config.yaml --source input/dir --workpath output/dir PROJECT=project_name bin/docker/run_example.sh config.yaml
Debugging Options
# Debug first item bin/docker/console transformation --file config.yaml --source input --workpath output --debug PROJECT=project_name bin/docker/run_example.sh config.yaml --debug # Test first 100 items bin/docker/console transformation --file config.yaml --source input --workpath output --try 100 PROJECT=project_name bin/docker/run_example.sh config.yaml --try 100 # Show dynamic mappings bin/docker/console transformation --file config.yaml --source input --workpath output --showMappings PROJECT=project_name bin/docker/run_example.sh config.yaml --showMappings # Process specific line bin/docker/console transformation --file config.yaml --source input --workpath output --line 100 PROJECT=project_name bin/docker/run_example.sh config.yaml --line 100
Help and Options
bin/docker/console transformation --help PROJECT=project_name bin/docker/run_example.sh config.yaml --help
Project Structure
├── docs/ # Documentation
│ ├── getting-started/ # Installation and setup guides
│ ├── reference/ # API and component reference
│ └── examples/ # Tutorials and examples
├── src/ # Source code
├── examples/ # Sample projects and data
├── config/ # Configuration templates
└── tests/ # Test suites
Support
- Documentation: Complete documentation
- Examples: Browse the examples directory for real-world use cases
- Issues: Report bugs and request features via the project issue tracker
License
This project is licensed under the terms specified in the project license file.