# charmed-analytics-ci
A CLI tool to automate CI-driven integration of updated rock images into consumer Charmed Operator repositories.
This tool is designed for use in Canonical's Charmed Kubeflow stack and enables automated pull request creation after a rock image is built and published. It removes manual effort, reduces errors, and supports scalable release processes.
---
## ✨ Features
- Automatically clones target charm repositories
- Updates image references in YAML/JSON configuration files
- Optionally modifies service spec fields (`user`, `command`)
- Opens pull requests with templated titles and descriptions
- Supports GitHub authentication and branch targeting
- Fully CI-compatible and installable via PyPI
---
## 🚀 Installation
```bash
pip install charmed-analytics-ci
```
Or with Poetry for development:
```bash
git clone https://github.com/canonical/charmed-analytics-ci.git
cd charmed-analytics-ci
poetry install
```
---
## 🔒 License
This project is licensed under the [Apache 2.0 License](LICENSE).
---
## ✍️ Authors
Developed by the [Canonical Charmed Kubeflow team](https://github.com/canonical).
Raw data
{
"_id": null,
"home_page": null,
"name": "charmed-analytics-ci",
"maintainer": null,
"docs_url": null,
"requires_python": "<4.0,>=3.12",
"maintainer_email": null,
"keywords": "charm, ci, rock, automation, github, charmed-kubeflow",
"author": "Charmed Kubeflow",
"author_email": null,
"download_url": "https://files.pythonhosted.org/packages/07/f8/289c46cfdcbdf2116eca70237120c3a49960830126d3f4a4d1018c592ca1/charmed_analytics_ci-0.0.0.tar.gz",
"platform": null,
"description": "# charmed-analytics-ci\n\nA CLI tool to automate CI-driven integration of updated rock images into consumer Charmed Operator repositories.\n\nThis tool is designed for use in Canonical's Charmed Kubeflow stack and enables automated pull request creation after a rock image is built and published. It removes manual effort, reduces errors, and supports scalable release processes.\n\n---\n\n## \u2728 Features\n\n- Automatically clones target charm repositories\n- Updates image references in YAML/JSON configuration files\n- Optionally modifies service spec fields (`user`, `command`)\n- Opens pull requests with templated titles and descriptions\n- Supports GitHub authentication and branch targeting\n- Fully CI-compatible and installable via PyPI\n\n---\n\n## \ud83d\ude80 Installation\n\n```bash\npip install charmed-analytics-ci\n```\n\nOr with Poetry for development:\n\n```bash\ngit clone https://github.com/canonical/charmed-analytics-ci.git\ncd charmed-analytics-ci\npoetry install\n```\n\n---\n\n\n## \ud83d\udd12 License\n\nThis project is licensed under the [Apache 2.0 License](LICENSE).\n\n---\n\n## \u270d\ufe0f Authors\n\nDeveloped by the [Canonical Charmed Kubeflow team](https://github.com/canonical).\n",
"bugtrack_url": null,
"license": "Apache-2.0",
"summary": "A CLI tool for automating CI tasks across Charmed Operator repositories",
"version": "0.0.0",
"project_urls": {
"Homepage": "https://github.com/canonical/charmed-analytics-ci",
"Repository": "https://github.com/canonical/charmed-analytics-ci"
},
"split_keywords": [
"charm",
" ci",
" rock",
" automation",
" github",
" charmed-kubeflow"
],
"urls": [
{
"comment_text": null,
"digests": {
"blake2b_256": "d0dc4b6a9bce12312b74025f338f9340d550d8f6ee10c037a78fa639077c83b1",
"md5": "6bb780d7b8a9a185645c340e78d07087",
"sha256": "1200c5cf501aa6ac8cd6b2baebd96ddef9736b4fbfd400c9d8a553bdcff9eb7a"
},
"downloads": -1,
"filename": "charmed_analytics_ci-0.0.0-py3-none-any.whl",
"has_sig": false,
"md5_digest": "6bb780d7b8a9a185645c340e78d07087",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": "<4.0,>=3.12",
"size": 6825,
"upload_time": "2025-07-08T10:51:32",
"upload_time_iso_8601": "2025-07-08T10:51:32.824982Z",
"url": "https://files.pythonhosted.org/packages/d0/dc/4b6a9bce12312b74025f338f9340d550d8f6ee10c037a78fa639077c83b1/charmed_analytics_ci-0.0.0-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "07f8289c46cfdcbdf2116eca70237120c3a49960830126d3f4a4d1018c592ca1",
"md5": "5b6610851139e3b9666e0a6f7c569538",
"sha256": "d241e02b524093c8fa6756ceee464f6c6de00e5c0d510872bd87f03d77fbad17"
},
"downloads": -1,
"filename": "charmed_analytics_ci-0.0.0.tar.gz",
"has_sig": false,
"md5_digest": "5b6610851139e3b9666e0a6f7c569538",
"packagetype": "sdist",
"python_version": "source",
"requires_python": "<4.0,>=3.12",
"size": 6188,
"upload_time": "2025-07-08T10:51:33",
"upload_time_iso_8601": "2025-07-08T10:51:33.975489Z",
"url": "https://files.pythonhosted.org/packages/07/f8/289c46cfdcbdf2116eca70237120c3a49960830126d3f4a4d1018c592ca1/charmed_analytics_ci-0.0.0.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2025-07-08 10:51:33",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "canonical",
"github_project": "charmed-analytics-ci",
"travis_ci": false,
"coveralls": false,
"github_actions": true,
"tox": true,
"lcname": "charmed-analytics-ci"
}