PHPackages                             qoliber/m2-catalog-generator - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Utility &amp; Helpers](/categories/utility)
4. /
5. qoliber/m2-catalog-generator

ActiveMagento2-module[Utility &amp; Helpers](/categories/utility)

qoliber/m2-catalog-generator
============================

Magento 2 Catalog Generator

2.0.0(3mo ago)24117↓75%4[1 issues](https://github.com/qoliber/m2-catalog-generator/issues)MITPHPPHP &gt;=8.1

Since Dec 16Pushed 3mo agoCompare

[ Source](https://github.com/qoliber/m2-catalog-generator)[ Packagist](https://packagist.org/packages/qoliber/m2-catalog-generator)[ RSS](/packages/qoliber-m2-catalog-generator/feed)WikiDiscussions main Synced 3w ago

READMEChangelogDependencies (1)Versions (6)Used By (0)

Magento 2 Catalog Generator Module
==================================

[](#magento-2-catalog-generator-module)

This is a Magento 2 module for generating catalogs efficiently based on YAML configuration files. It supports the creation of categories, products, customer groups, websites, and more, directly using SQL queries for improved performance.

---

Installation
------------

[](#installation)

1. Install the module using `composer`

    ```
    composer require qoliber/m2-catalog-generator
    ```
2. Run the following commands to enable the module and clear cache:

    ```
    php bin/magento module:enable Qoliber_CatalogGenerator
    php bin/magento setup:upgrade
    php bin/magento cache:flush
    ```

How to use:
-----------

[](#how-to-use)

### Command Usage

[](#command-usage)

To generate a catalog, use the following console command:

```
php bin/magento qoliber:catalog:generate [file.yml]
```

### Important information

[](#important-information)

**Entire product catalog and related tables are completely wiped out of all testing / live data.**\*\*You can view `CleanUp` class in `Sql` directory

Replace `[file.yml]` with the path to your YAML configuration file. Sample configurations can be found in the `_samples` directory (`small.yml`, `medium.yml`, and `large.yml`).

Example:

```
php bin/magento qoliber:catalog:generate vendor/qoliber/m2-catalog-generator/_samples/small.yml
```

Module Features
---------------

[](#module-features)

- Flexible Configuration: Define catalogs using YAML configuration files.
- Optimized Performance: Leverages direct SQL queries for faster data population.
- Modular Architecture: Easily extendable and well-organized codebase.
- Customizable Entities:
    - Products (Simple, Configurable, Bundle, Grouped)
    - Categories
    - Websites
    - Store Views
- Attribute Handling: Populates and combines configurable attributes efficiently.
- Attribute Handling: Populates and combines configurable attributes efficiently.
- Creating randomized product images
- Product

Module Structure
----------------

[](#module-structure)

Below is an overview of the module’s directory structure:

### Key Components

[](#key-components)

- Api: Defines interfaces for extensibility and loose coupling.
- Config: Handles configuration parsing and validation.
- Console: Contains `CLI` commands to trigger catalog generation.
- Data: Implements data generation and population logic.
- Generators: Logic for creating entities (e.g. products, categories).
- Populators: Populates entity attributes.
- Reader: Reads `YAML` configuration files.
- Resolver: Resolves entity names and dependencies.
- Service: Orchestrates catalog generation and cleanup.
- Sql: Handles raw `SQL` operations for optimal performance.
- Task: Executes specific tasks like assigning products to categories and generating URLs.

### Sample YAML Files

[](#sample-yaml-files)

Example YAML files are available in the \_samples directory:

- `small.yml`: Minimal configuration for quick testing.
- `medium.yml`: Moderate configuration for medium-sized catalogs.
- `large.yml`: Comprehensive configuration for large catalogs.

Developer Notes
---------------

[](#developer-notes)

- `Dependency Injection`: The module follows Magento’s DI pattern for better flexibility
- `Testing`: Unit tests are available under `Test/Unit`.
- Code is passing `phpstan-8` and `phpcs magento-coding-standards`

    [![img.png](img.png)](img.png)

### Example Classes:

[](#example-classes)

- Generators: Found in Data/Generators, these create catalog entities.
- Populators: Found in Data/Populators, these populate attributes for entities.
- Tasks: Found in Task, these handle specific catalog operations.

License
-------

[](#license)

This module is open-source and distributed under the MIT License.

---

For further questions or contributions, feel free to contact us or submit a pull request!

###  Health Score

44

—

FairBetter than 91% of packages

Maintenance81

Actively maintained with recent releases

Popularity22

Limited adoption so far

Community11

Small or concentrated contributor base

Maturity51

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 53.8% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~153 days

Total

4

Last Release

97d ago

Major Versions

1.0.2 → 2.0.02026-03-20

### Community

Maintainers

![](https://www.gravatar.com/avatar/e1127b1eba3c8b9dce8b6f329f14afb6af88aafa8f1e08aac8f23f97ec8f68b5?d=identicon)[qoliber](/maintainers/qoliber)

---

Top Contributors

[![jakwinkler](https://avatars.githubusercontent.com/u/4256191?v=4)](https://github.com/jakwinkler "jakwinkler (7 commits)")[![pykettk](https://avatars.githubusercontent.com/u/40261741?v=4)](https://github.com/pykettk "pykettk (4 commits)")[![lowczarczuk](https://avatars.githubusercontent.com/u/190525316?v=4)](https://github.com/lowczarczuk "lowczarczuk (2 commits)")

### Embed Badge

![Health badge](/badges/qoliber-m2-catalog-generator/health.svg)

```
[![Health](https://phpackages.com/badges/qoliber-m2-catalog-generator/health.svg)](https://phpackages.com/packages/qoliber-m2-catalog-generator)
```

###  Alternatives

[elgentos/regenerate-catalog-urls

Regenerate Catalog URL Rewrites (products, categories, cms pages)

2842.6M](/packages/elgentos-regenerate-catalog-urls)[run-as-root/magento2-prometheus-exporter

Magento2 Prometheus Exporter

68353.9k](/packages/run-as-root-magento2-prometheus-exporter)[myparcelnl/magento

A Magento 2 module that creates MyParcel labels

1859.0k](/packages/myparcelnl-magento)[loki/magento2-components

Core module for defining Alpine.js components with advanced AJAX features

1010.0k22](/packages/loki-magento2-components)[magepal/magento2-form-field-manager

Customer and Address Form Fields Manager for Magento2

273.9k](/packages/magepal-magento2-form-field-manager)[mage-os/module-llm-txt

AI-powered LLMs.txt generation for Magento 2 / Mage-OS stores. Help AI systems understand your store with OpenAI-generated content.

223.3k](/packages/mage-os-module-llm-txt)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
