{"id":20240017,"url":"https://github.com/thavarshan/composer-upgrade-helper","last_synced_at":"2026-05-03T23:36:53.103Z","repository":{"id":232929129,"uuid":"774922251","full_name":"Thavarshan/composer-upgrade-helper","owner":"Thavarshan","description":"📦 Python CLI app that automatically update the composer.json file in PHP projects with the latest versions of dependencies available on Packagist.","archived":false,"fork":false,"pushed_at":"2024-04-26T20:44:19.000Z","size":10,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-03-03T15:13:04.916Z","etag":null,"topics":["cli","composer-package","php","python","shell","upgrade"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Thavarshan.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"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":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-03-20T12:52:21.000Z","updated_at":"2024-04-26T20:44:22.000Z","dependencies_parsed_at":null,"dependency_job_id":"1896732b-4999-425d-93ab-11f894247afa","html_url":"https://github.com/Thavarshan/composer-upgrade-helper","commit_stats":null,"previous_names":["thavarshan/composer-upgrade-helper"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/Thavarshan/composer-upgrade-helper","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Thavarshan%2Fcomposer-upgrade-helper","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Thavarshan%2Fcomposer-upgrade-helper/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Thavarshan%2Fcomposer-upgrade-helper/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Thavarshan%2Fcomposer-upgrade-helper/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Thavarshan","download_url":"https://codeload.github.com/Thavarshan/composer-upgrade-helper/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Thavarshan%2Fcomposer-upgrade-helper/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":262628044,"owners_count":23339717,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","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":["cli","composer-package","php","python","shell","upgrade"],"created_at":"2024-11-14T08:42:39.861Z","updated_at":"2026-05-03T23:36:48.068Z","avatar_url":"https://github.com/Thavarshan.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# PHP Composer Package Updater\n\nThis project provides a Python tool to automatically update the `composer.json` file in a PHP project with the latest versions of dependencies from Packagist. It aims to streamline the maintenance of PHP project dependencies, ensuring they are always up to date with the latest releases.\n\n## Features\n\n- **Automatic Updates**: Automatically updates your `composer.json` with the latest versions of dependencies.\n- **Packagist Integration**: Fetches version information directly from Packagist, the main Composer repository.\n- **Logging and Error Handling**: Robust error handling and logging for smooth operation and troubleshooting.\n\n## Requirements\n\n- Python 3.6 or higher\n- `requests` library\n- `packaging` library\n\n## Installation\n\nClone this repository to your local machine using:\n\n```bash\ngit clone https://yourrepository.com/path/to/repo.git\n```\n\nNavigate into the project directory:\n\n```bash\ncd path/to/repo\n```\n\nIt's recommended to use a virtual environment for Python projects. Create and activate one with:\n\n```bash\npython3 -m venv venv\nsource venv/bin/activate  # On Windows use `venv\\Scripts\\activate`\n```\n\nInstall the required Python packages:\n\n```bash\npip install -r requirements.txt\n```\n\n## Usage\n\nTo use the package updater, execute the `app.py` script from the command line:\n\n```bash\npython app.py\n```\n\nMake sure to adjust the `composer_file_path` in `app.py` to point to your `composer.json` file:\n\n```python\ncomposer_file_path = 'path/to/your/composer.json'\n```\n\n## Configuration\n\nNo additional configuration is needed. However, you can customize the logging level and other settings by modifying the Python scripts directly.\n\n## How It Works\n\nThe `PackageUpdater` class in `package_updater.py` reads your `composer.json`, queries Packagist for the latest versions of each package, and updates your `composer.json` file accordingly. It differentiates between PHP extensions and regular packages to only update what's necessary.\n\n## Contributing\n\nContributions are welcome! Please feel free to submit a pull request or open an issue for any bugs, feature requests, or improvements.\n\n## License\n\nThis project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fthavarshan%2Fcomposer-upgrade-helper","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fthavarshan%2Fcomposer-upgrade-helper","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fthavarshan%2Fcomposer-upgrade-helper/lists"}