{"id":28586065,"url":"https://github.com/compose-x/compose-x-render","last_synced_at":"2026-04-28T17:05:18.170Z","repository":{"id":43406841,"uuid":"352120419","full_name":"compose-x/compose-x-render","owner":"compose-x","description":null,"archived":false,"fork":false,"pushed_at":"2024-03-05T08:29:45.000Z","size":887,"stargazers_count":1,"open_issues_count":4,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-01-19T03:26:40.485Z","etag":null,"topics":["docker-compose"],"latest_commit_sha":null,"homepage":null,"language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mpl-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/compose-x.png","metadata":{"files":{"readme":"README.rst","changelog":"HISTORY.rst","contributing":"CONTRIBUTING.rst","funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":"AUTHORS.rst","dei":null}},"created_at":"2021-03-27T16:24:18.000Z","updated_at":"2021-12-29T12:24:49.000Z","dependencies_parsed_at":"2024-03-05T09:51:51.727Z","dependency_job_id":null,"html_url":"https://github.com/compose-x/compose-x-render","commit_stats":null,"previous_names":[],"tags_count":24,"template":false,"template_full_name":null,"purl":"pkg:github/compose-x/compose-x-render","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/compose-x%2Fcompose-x-render","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/compose-x%2Fcompose-x-render/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/compose-x%2Fcompose-x-render/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/compose-x%2Fcompose-x-render/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/compose-x","download_url":"https://codeload.github.com/compose-x/compose-x-render/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/compose-x%2Fcompose-x-render/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32390128,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-28T14:34:11.604Z","status":"ssl_error","status_checked_at":"2026-04-28T14:32:37.009Z","response_time":56,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["docker-compose"],"created_at":"2025-06-11T06:30:42.849Z","updated_at":"2026-04-28T17:05:18.154Z","avatar_url":"https://github.com/compose-x.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"================\nCompose-X Render\n================\n\n-------------------------------------------------------------------------------\nLibrary \u0026 Tool to compile/merge compose files with top level extension fields\n-------------------------------------------------------------------------------\n\nUsage\n=======\n\n.. code-block:: bash\n\n    usage: compose-x-render [-h] -f COMPOSEFILES [-o OUTPUT_FILE] [-x] [_ [_ ...]]\n\n    positional arguments:\n      _\n\n    optional arguments:\n      -h, --help            show this help message and exit\n      -f COMPOSEFILES, --docker-compose-file COMPOSEFILES\n                            Path to the Docker compose file\n      -o OUTPUT_FILE, --output-file OUTPUT_FILE\n                            Output directory to write all the templates to.\n      -x, --compose-x-macro\n                            Auto-Format for ECS Compose-X CFN Macro\n\n\nExamples\n=========\n\n.. code-block:: bash\n\n    # Simply merge two files and render into a 3rd\n    compose-x-render -f docker-compose.yaml -f envs/aws.yaml -o aws.yaml\n\n    # Merge two files and render in a ECS Compose-X Format for CFN Macro\n    compose-x-render -x -f docker-compose.yaml -f envs/aws-prod.yml -o aws-prod.yaml\n\n\nWhy use compose_x_render ?\n===========================\n\nWhen using `docker-compose`_ you can merge multiple docker-compose files together which are going to override or add settings\nfrom one definition file to the next one (with the last one having the highest priority in override).\n\nWhilst `docker-compose`_ **config** execution is very useful to validate the definition of a file against a given revision,\nthe top level extensions files, marked with **x-** (i.e. *x-my_config*) get removed whilst the ones set at the services level\nare left intact.\n\nDocker Compose also does not offer a particular API in order to re-use the same validator and merge process.\n\n\nCompose-X Render aims to bridge that gap, by providing both the CLI option for people to merge multiple config files with top level\nx-extension fields, and simply provide them with ability to provide an API input to read files, and provide the merged YAML content.\n\nIf you happen to use `ECS Compose-X`_ (off which this sub-library was created) you can render your compose files that you plan to use with\nthe AWS CloudFormation Macro for Compose-X which allows you use it from within AWS and no CLI.\n\n\nFeatures\n========\n\n* Allows to assemble multiple docker-compose definitions together\n* Allows to preserve top-level x-fields\n* For use with ECS Compose-X specifically, allows to automatically generate the final ComposeFile and use the CFN macro for it.\n\nDocker compose definitions support\n\n* 3.7\n* 3.8\n* 3.9\n\n\nCredits\n-------\n\nThis package was created with Cookiecutter_ and the `audreyr/cookiecutter-pypackage`_ project template.\n\n.. _Cookiecutter: https://github.com/audreyr/cookiecutter\n.. _`audreyr/cookiecutter-pypackage`: https://github.com/audreyr/cookiecutter-pypackage\n.. _docker-compose: https://docs.docker.com/compose/\n.. _ECS Compose-X: https://github.com/compose-x/ecs_composex\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcompose-x%2Fcompose-x-render","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fcompose-x%2Fcompose-x-render","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcompose-x%2Fcompose-x-render/lists"}