Name | container-registry-card-catalog JSON |
Version |
0.0.0b1
JSON |
| download |
home_page | None |
Summary | A Terminal User Interface for browsing container registries |
upload_time | 2025-08-29 21:44:31 |
maintainer | None |
docs_url | None |
author | None |
requires_python | >=3.8 |
license | MIT License
Note: This work was entirely AI-generated with human review and may not be subject to traditional copyright protection in some jurisdictions.
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
AI ATTRIBUTION NOTICE:
This software was generated with AI assistance (Claude by Anthropic) with
human guidance, review, and acceptance. While AI-generated content may not
be subject to copyright in some jurisdictions, this notice acknowledges the
collaborative nature of the development process. |
keywords |
container
docker
podman
registry
terminal
tui
|
VCS |
 |
bugtrack_url |
|
requirements |
textual
httpx
aiohttp
pyyaml
pytest
pytest-asyncio
black
flake8
|
Travis-CI |
No Travis.
|
coveralls test coverage |
No coveralls.
|
# Container Registry Card Catalog

A Terminal User Interface (TUI) application for browsing and exploring container registries built with [Textual](https://textual.textualize.io/).
## Screenshots
<p align="center">
<img src="https://raw.githubusercontent.com/vibe-code-zone/container-registry-card-catalog/main/images/container-registry-card-catalog-tui-001.png" alt="Main Registry View" width="400"/>
<img src="https://raw.githubusercontent.com/vibe-code-zone/container-registry-card-catalog/main/images/container-registry-card-catalog-tui-002.png" alt="Repository Browser" width="400"/>
</p>
<p align="center">
<img src="https://raw.githubusercontent.com/vibe-code-zone/container-registry-card-catalog/main/images/container-registry-card-catalog-tui-002-filter.png" alt="Repository Filtering" width="400"/>
<img src="https://raw.githubusercontent.com/vibe-code-zone/container-registry-card-catalog/main/images/container-registry-card-catalog-tui-003.png" alt="Tag Explorer" width="400"/>
</p>
<p align="center">
<img src="https://raw.githubusercontent.com/vibe-code-zone/container-registry-card-catalog/main/images/container-registry-card-catalog-tui-004.png" alt="Tag Detail Modal" width="400"/>
<img src="https://raw.githubusercontent.com/vibe-code-zone/container-registry-card-catalog/main/images/container-registry-card-catalog-tui-005.png" alt="Configuration Modal" width="400"/>
</p>
<p align="center">
<img src="https://raw.githubusercontent.com/vibe-code-zone/container-registry-card-catalog/main/images/container-registry-card-catalog-tui-006.png" alt="Debug Console" width="400"/>
<img src="https://raw.githubusercontent.com/vibe-code-zone/container-registry-card-catalog/main/images/container-registry-card-catalog-tui-007.png" alt="API Call Detail Modal" width="400"/>
</p>
## Features
๐ **Multi-Registry Support** - Connect to multiple container registries simultaneously
๐ **Local Container Support** - Browse local podman/docker containers with full metadata
๐ **Authentication Support** - Configure credentials for registries (basic, bearer, token auth)
โญ **Monitored Repositories** - Priority repositories always fetched first with full tag info and visual indicators
๐ **Smart Repository Counts** - Display format shows total(monitored) e.g., "1003(3)" for comprehensive status
๐พ **Persistent Configuration** - Registry settings and monitored repositories survive application restarts
๐ฆ **Repository Browsing** - Navigate through repositories with an intuitive interface
๐ท๏ธ **Tag Exploration** - View and explore container image tags with chronological sorting and real timestamps
๐ **Manifest Details** - Deep dive into image manifests, layers, and digests (local & remote)
๐ **Layer Inspection** - View layer information, media types, and sizes
๐ **Clipboard Integration** - Copy digests to clipboard with platform detection
๐ **Debug Console** - Monitor API calls and responses for troubleshooting
๐งช **Mock Mode** - Test with realistic mock data without real registry connections
๐ **Auto-Loading** - Smart pagination for datasets over 1000 items with cursor preservation
๐ฑ๏ธ **Double-Click Navigation** - Double-click any row to navigate or view details
โจ๏ธ **Flexible Navigation** - Multiple ways to navigate (keyboard, mouse, shortcuts)
## Quick Start
### Basic Usage
```bash
# Run with mock data (no real registry connections)
python container_registry_card_catalog.py --mock
# Browse local podman containers
python container_registry_card_catalog.py --local podman
# Browse local docker containers
python container_registry_card_catalog.py --local docker
# Connect to specific registries
python container_registry_card_catalog.py --registry registry.example.com --registry quay.io
# Mix local and remote registries
python container_registry_card_catalog.py --local podman --registry quay.io
# View help
python container_registry_card_catalog.py --help
```
### Navigation
- **Arrow Keys**: Navigate through lists
- **Enter**: Select item or view details
- **Double-Click**: Navigate or view details (same as Enter)
- **Escape/Backspace**: Go back or close modals
- **Ctrl+Q**: Quit application (works everywhere)
- **Ctrl+D**: Open debug console
- **C**: Configure registry with authentication and monitored repositories (remote registries only)
- **R**: Refresh current view
- **L**: Load more items
- **Ctrl+X**: Purge debug log (debug console only)
- **Ctrl+C**: Copy digest to clipboard (tag detail modal)
- **Ctrl+F**: Focus repository filter
- **Tab**: Toggle focus between filter and table
### Modal Navigation
- **Page Up/Down**: Navigate between items in modals
- **Up/Down**: Same as Page Up/Down in modals
- **Enter**: Close modal
- **Escape**: Close modal
### Visual Indicators
- **โญ**: Monitored repositories (always appear first with full tag information)
- **๐ฆ**: Regular catalog repositories
- **โ**: Failed/error repositories
- **Repository counts**: `total(monitored)` format - e.g., "1003(3)" shows 1003 total repositories with 3 monitored
## Installation
### Preferred Method: Install from PyPI
Optional: Create a virtual environment first
```bash
python -m venv container-registry-env
source container-registry-env/bin/activate # On Windows: container-registry-env\Scripts\activate
```
Install the package:
```bash
pip install container-registry-card-catalog
```
Then run:
```bash
container-registry-card-catalog --help
container-registry-card-catalog --mock
```
### Alternative: Run from Source
#### Requirements
- Python 3.8+
- **For local container support**: podman or docker CLI tools
#### Clone and Run
```bash
git clone <repository-url>
cd container-registry-card-catalog
python container_registry_card_catalog.py --mock
```
## Architecture
The application follows a modular architecture:
```
container_registry_card_catalog.py # Main application and registry view
โโโ registry_client.py # Registry API client and manager
โโโ local_container_client.py # Local podman/docker container support
โโโ mock_data.py # Mock registry data for testing
โโโ debug_console.py # Debug console for API monitoring
โโโ tags_view.py # Tags listing and navigation
โโโ tag_detail_modal.py # Detailed tag information modal
โโโ api_detail_modal.py # API call details modal
```
## Mock Mode
The application includes comprehensive mock data for testing and development:
- **5 Mock Registries**: Public, Quay.io, GCR, Local Dev, Enterprise
- **Realistic Repository Data**: Common base images and application containers
- **Diverse Tag Patterns**: Version tags, environment tags, architecture variants
- **Manifest Compatibility**: Both Docker and OCI manifest formats
- **Layered Images**: Realistic layer sizes and hierarchies
- **Full Configuration Support**: Mock mode supports all configuration features including monitored repositories with immediate UI updates
- **Accurate Repository Counting**: Proper de-duplication logic ensures repository counts match real registry behavior
## Registry Support
The application supports multiple registry types:
### Remote Registries (Docker Registry HTTP API v2)
โ
**Authentication Support** - Basic, Bearer, and Token authentication implemented
- **Docker Hub** - Bearer token authentication
- **Quay.io** - Token auth with robot accounts
- **Google Container Registry (GCR)** - OAuth token support
- **Amazon Elastic Container Registry (ECR)** - AWS token support
- **Azure Container Registry (ACR)** - Standard authentication
- **Harbor** - Basic auth and robot accounts
- **Self-hosted registries** - Generic authentication support
### Local Container Runtimes
- **Podman** - Full support with metadata extraction (tested and verified)
- **Docker** - Full support with metadata extraction โ ๏ธ **(untested - podman-compatible implementation)**
- Automatic detection of container runtime capabilities
## API Compatibility
- **Docker Registry HTTP API v2**: Full support for catalog, tags, and manifest endpoints
- **OCI Distribution Specification**: Compatible with OCI manifest formats
## Development
### Adding New Features
1. Follow the existing patterns in the codebase
2. Update mock data in `mock_data.py` for testing
3. Add appropriate error handling
4. Update this README if needed
### Testing
Use mock mode extensively during development:
```bash
python container_registry_card_catalog.py --mock
```
## Attribution
This project was generated with AI assistance (Claude by Anthropic) with human guidance and acceptance. All code is provided under the chosen open source license.
**AI Attribution (AIA) Notice:**
- [AIA: EAI Hin R Claude Code v1.0](https://aiattribution.github.io/statements/AIA-EAI-Hin-R-?model=Claude%20Code-v1.0)
- Full: [AIA Entirely AI, Human-initiated, Reviewed, Claude Code v1.0](https://aiattribution.github.io/statements/AIA-EAI-Hin-R-?model=Claude%20Code-v1.0)
- Expanded: This work was entirely AI-generated. AI was prompted for its contributions, or AI assistance was enabled. AI-generated content was reviewed and approved. The following model(s) or application(s) were used: Claude Code.
- Interpretation: https://aiattribution.github.io/interpret-attribution
- More: https://aiattribution.github.io/
- Vibe-Coder: Andrew Potozniak <potozniak@redhat.com>
- Session Date: 2025-08-15 (Original), 2025-08-16 (Enhanced), 2025-08-27 (Auth & Monitoring)
## Licensing
This project is dual-licensed under:
- [**MIT License**](https://opensource.org/license/mit) - For strict legal certainty
- [**Vibe-Coder License (VCL-0.1-Experimental)**](https://github.com/tyraziel/vibe-coder-license) - [For those who serve the vibe](https://github.com/tyraziel/vibe-coder-license/blob/main/CODEX.md)
See [LICENSE](LICENSE) and [LICENSE-VCL](LICENSE-VCL.md) files for full terms.
## Contributing
Contributions are welcome! Please feel free to submit a Pull Request.
## Roadmap
- [x] **Authentication support** - Basic, bearer, and token authentication โ
- [x] **Search and filtering capabilities** - Repository name filtering โ
- [x] **Monitored repositories** - Priority repo configuration โ
- [x] **Configuration file support** - Persistent monitored repos and settings storage โ
- [ ] **Encrypted credential storage** - Secure authentication persistence (Phase 2)
- [ ] **TLS/HTTPS with certificate validation** - Currently disabled for compatibility
- [ ] **Export functionality** - Save repository lists, tag information
- [ ] **Image comparison features** - Compare tags and manifests
- [ ] **Registry state persistence** - Remember pagination/position when navigating
Raw data
{
"_id": null,
"home_page": null,
"name": "container-registry-card-catalog",
"maintainer": null,
"docs_url": null,
"requires_python": ">=3.8",
"maintainer_email": null,
"keywords": "container, docker, podman, registry, terminal, tui",
"author": null,
"author_email": "Andrew Potozniak <potozniak@redhat.com>",
"download_url": "https://files.pythonhosted.org/packages/f6/6d/87115848b378827584bc64b3eabee91550bae23010561fda2b376a151652/container_registry_card_catalog-0.0.0b1.tar.gz",
"platform": null,
"description": "# Container Registry Card Catalog\n\n\n\nA Terminal User Interface (TUI) application for browsing and exploring container registries built with [Textual](https://textual.textualize.io/).\n\n## Screenshots\n\n<p align=\"center\">\n <img src=\"https://raw.githubusercontent.com/vibe-code-zone/container-registry-card-catalog/main/images/container-registry-card-catalog-tui-001.png\" alt=\"Main Registry View\" width=\"400\"/>\n <img src=\"https://raw.githubusercontent.com/vibe-code-zone/container-registry-card-catalog/main/images/container-registry-card-catalog-tui-002.png\" alt=\"Repository Browser\" width=\"400\"/>\n</p>\n\n<p align=\"center\">\n <img src=\"https://raw.githubusercontent.com/vibe-code-zone/container-registry-card-catalog/main/images/container-registry-card-catalog-tui-002-filter.png\" alt=\"Repository Filtering\" width=\"400\"/>\n <img src=\"https://raw.githubusercontent.com/vibe-code-zone/container-registry-card-catalog/main/images/container-registry-card-catalog-tui-003.png\" alt=\"Tag Explorer\" width=\"400\"/>\n</p>\n\n<p align=\"center\">\n <img src=\"https://raw.githubusercontent.com/vibe-code-zone/container-registry-card-catalog/main/images/container-registry-card-catalog-tui-004.png\" alt=\"Tag Detail Modal\" width=\"400\"/>\n <img src=\"https://raw.githubusercontent.com/vibe-code-zone/container-registry-card-catalog/main/images/container-registry-card-catalog-tui-005.png\" alt=\"Configuration Modal\" width=\"400\"/>\n</p>\n\n<p align=\"center\">\n <img src=\"https://raw.githubusercontent.com/vibe-code-zone/container-registry-card-catalog/main/images/container-registry-card-catalog-tui-006.png\" alt=\"Debug Console\" width=\"400\"/>\n <img src=\"https://raw.githubusercontent.com/vibe-code-zone/container-registry-card-catalog/main/images/container-registry-card-catalog-tui-007.png\" alt=\"API Call Detail Modal\" width=\"400\"/>\n</p>\n\n## Features\n\n\ud83c\udf10 **Multi-Registry Support** - Connect to multiple container registries simultaneously \n\ud83c\udfe0 **Local Container Support** - Browse local podman/docker containers with full metadata \n\ud83d\udd10 **Authentication Support** - Configure credentials for registries (basic, bearer, token auth) \n\u2b50 **Monitored Repositories** - Priority repositories always fetched first with full tag info and visual indicators \n\ud83d\udcca **Smart Repository Counts** - Display format shows total(monitored) e.g., \"1003(3)\" for comprehensive status \n\ud83d\udcbe **Persistent Configuration** - Registry settings and monitored repositories survive application restarts \n\ud83d\udce6 **Repository Browsing** - Navigate through repositories with an intuitive interface \n\ud83c\udff7\ufe0f **Tag Exploration** - View and explore container image tags with chronological sorting and real timestamps \n\ud83d\udccb **Manifest Details** - Deep dive into image manifests, layers, and digests (local & remote) \n\ud83d\udccb **Layer Inspection** - View layer information, media types, and sizes \n\ud83d\udcce **Clipboard Integration** - Copy digests to clipboard with platform detection \n\ud83d\udd0d **Debug Console** - Monitor API calls and responses for troubleshooting \n\ud83e\uddea **Mock Mode** - Test with realistic mock data without real registry connections \n\ud83d\ude80 **Auto-Loading** - Smart pagination for datasets over 1000 items with cursor preservation \n\ud83d\uddb1\ufe0f **Double-Click Navigation** - Double-click any row to navigate or view details \n\u2328\ufe0f **Flexible Navigation** - Multiple ways to navigate (keyboard, mouse, shortcuts) \n\n## Quick Start\n\n### Basic Usage\n\n```bash\n# Run with mock data (no real registry connections)\npython container_registry_card_catalog.py --mock\n\n# Browse local podman containers\npython container_registry_card_catalog.py --local podman\n\n# Browse local docker containers \npython container_registry_card_catalog.py --local docker\n\n# Connect to specific registries\npython container_registry_card_catalog.py --registry registry.example.com --registry quay.io\n\n# Mix local and remote registries\npython container_registry_card_catalog.py --local podman --registry quay.io\n\n# View help\npython container_registry_card_catalog.py --help\n```\n\n### Navigation\n\n- **Arrow Keys**: Navigate through lists\n- **Enter**: Select item or view details\n- **Double-Click**: Navigate or view details (same as Enter)\n- **Escape/Backspace**: Go back or close modals\n- **Ctrl+Q**: Quit application (works everywhere)\n- **Ctrl+D**: Open debug console\n- **C**: Configure registry with authentication and monitored repositories (remote registries only)\n- **R**: Refresh current view\n- **L**: Load more items\n- **Ctrl+X**: Purge debug log (debug console only)\n- **Ctrl+C**: Copy digest to clipboard (tag detail modal)\n- **Ctrl+F**: Focus repository filter\n- **Tab**: Toggle focus between filter and table\n\n### Modal Navigation\n\n- **Page Up/Down**: Navigate between items in modals\n- **Up/Down**: Same as Page Up/Down in modals\n- **Enter**: Close modal\n- **Escape**: Close modal\n\n### Visual Indicators\n\n- **\u2b50**: Monitored repositories (always appear first with full tag information)\n- **\ud83d\udce6**: Regular catalog repositories \n- **\u274c**: Failed/error repositories\n- **Repository counts**: `total(monitored)` format - e.g., \"1003(3)\" shows 1003 total repositories with 3 monitored\n\n## Installation\n\n### Preferred Method: Install from PyPI\n\nOptional: Create a virtual environment first\n```bash\npython -m venv container-registry-env\nsource container-registry-env/bin/activate # On Windows: container-registry-env\\Scripts\\activate\n```\n\nInstall the package:\n```bash\npip install container-registry-card-catalog\n```\n\nThen run:\n```bash\ncontainer-registry-card-catalog --help\ncontainer-registry-card-catalog --mock\n```\n\n### Alternative: Run from Source\n\n#### Requirements\n\n- Python 3.8+\n- **For local container support**: podman or docker CLI tools\n\n#### Clone and Run\n\n```bash\ngit clone <repository-url>\ncd container-registry-card-catalog\npython container_registry_card_catalog.py --mock\n```\n\n## Architecture\n\nThe application follows a modular architecture:\n\n```\ncontainer_registry_card_catalog.py # Main application and registry view\n\u251c\u2500\u2500 registry_client.py # Registry API client and manager\n\u251c\u2500\u2500 local_container_client.py # Local podman/docker container support\n\u251c\u2500\u2500 mock_data.py # Mock registry data for testing\n\u251c\u2500\u2500 debug_console.py # Debug console for API monitoring\n\u251c\u2500\u2500 tags_view.py # Tags listing and navigation\n\u251c\u2500\u2500 tag_detail_modal.py # Detailed tag information modal\n\u2514\u2500\u2500 api_detail_modal.py # API call details modal\n```\n\n## Mock Mode\n\nThe application includes comprehensive mock data for testing and development:\n\n- **5 Mock Registries**: Public, Quay.io, GCR, Local Dev, Enterprise\n- **Realistic Repository Data**: Common base images and application containers\n- **Diverse Tag Patterns**: Version tags, environment tags, architecture variants\n- **Manifest Compatibility**: Both Docker and OCI manifest formats\n- **Layered Images**: Realistic layer sizes and hierarchies\n- **Full Configuration Support**: Mock mode supports all configuration features including monitored repositories with immediate UI updates\n- **Accurate Repository Counting**: Proper de-duplication logic ensures repository counts match real registry behavior\n\n## Registry Support\n\nThe application supports multiple registry types:\n\n### Remote Registries (Docker Registry HTTP API v2)\n\u2705 **Authentication Support** - Basic, Bearer, and Token authentication implemented\n\n- **Docker Hub** - Bearer token authentication\n- **Quay.io** - Token auth with robot accounts \n- **Google Container Registry (GCR)** - OAuth token support\n- **Amazon Elastic Container Registry (ECR)** - AWS token support\n- **Azure Container Registry (ACR)** - Standard authentication\n- **Harbor** - Basic auth and robot accounts\n- **Self-hosted registries** - Generic authentication support\n\n### Local Container Runtimes\n- **Podman** - Full support with metadata extraction (tested and verified)\n- **Docker** - Full support with metadata extraction \u26a0\ufe0f **(untested - podman-compatible implementation)**\n- Automatic detection of container runtime capabilities\n\n## API Compatibility\n\n- **Docker Registry HTTP API v2**: Full support for catalog, tags, and manifest endpoints\n- **OCI Distribution Specification**: Compatible with OCI manifest formats\n\n## Development\n\n### Adding New Features\n\n1. Follow the existing patterns in the codebase\n2. Update mock data in `mock_data.py` for testing\n3. Add appropriate error handling\n4. Update this README if needed\n\n### Testing\n\nUse mock mode extensively during development:\n\n```bash\npython container_registry_card_catalog.py --mock\n```\n\n## Attribution\n\nThis project was generated with AI assistance (Claude by Anthropic) with human guidance and acceptance. All code is provided under the chosen open source license.\n\n**AI Attribution (AIA) Notice:**\n- [AIA: EAI Hin R Claude Code v1.0](https://aiattribution.github.io/statements/AIA-EAI-Hin-R-?model=Claude%20Code-v1.0)\n- Full: [AIA Entirely AI, Human-initiated, Reviewed, Claude Code v1.0](https://aiattribution.github.io/statements/AIA-EAI-Hin-R-?model=Claude%20Code-v1.0)\n- Expanded: This work was entirely AI-generated. AI was prompted for its contributions, or AI assistance was enabled. AI-generated content was reviewed and approved. The following model(s) or application(s) were used: Claude Code.\n- Interpretation: https://aiattribution.github.io/interpret-attribution\n- More: https://aiattribution.github.io/\n- Vibe-Coder: Andrew Potozniak <potozniak@redhat.com>\n- Session Date: 2025-08-15 (Original), 2025-08-16 (Enhanced), 2025-08-27 (Auth & Monitoring)\n\n## Licensing\n\nThis project is dual-licensed under:\n- [**MIT License**](https://opensource.org/license/mit) - For strict legal certainty\n- [**Vibe-Coder License (VCL-0.1-Experimental)**](https://github.com/tyraziel/vibe-coder-license) - [For those who serve the vibe](https://github.com/tyraziel/vibe-coder-license/blob/main/CODEX.md)\n\nSee [LICENSE](LICENSE) and [LICENSE-VCL](LICENSE-VCL.md) files for full terms.\n\n## Contributing\n\nContributions are welcome! Please feel free to submit a Pull Request.\n\n## Roadmap\n\n- [x] **Authentication support** - Basic, bearer, and token authentication \u2705\n- [x] **Search and filtering capabilities** - Repository name filtering \u2705\n- [x] **Monitored repositories** - Priority repo configuration \u2705\n- [x] **Configuration file support** - Persistent monitored repos and settings storage \u2705\n- [ ] **Encrypted credential storage** - Secure authentication persistence (Phase 2)\n- [ ] **TLS/HTTPS with certificate validation** - Currently disabled for compatibility\n- [ ] **Export functionality** - Save repository lists, tag information\n- [ ] **Image comparison features** - Compare tags and manifests\n- [ ] **Registry state persistence** - Remember pagination/position when navigating\n",
"bugtrack_url": null,
"license": "MIT License\n \n Note: This work was entirely AI-generated with human review and may not be subject to traditional copyright protection in some jurisdictions.\n \n Permission is hereby granted, free of charge, to any person obtaining a copy\n of this software and associated documentation files (the \"Software\"), to deal\n in the Software without restriction, including without limitation the rights\n to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n copies of the Software, and to permit persons to whom the Software is\n furnished to do so, subject to the following conditions:\n \n The above copyright notice and this permission notice shall be included in all\n copies or substantial portions of the Software.\n \n THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\n SOFTWARE.\n \n AI ATTRIBUTION NOTICE:\n This software was generated with AI assistance (Claude by Anthropic) with \n human guidance, review, and acceptance. While AI-generated content may not \n be subject to copyright in some jurisdictions, this notice acknowledges the \n collaborative nature of the development process.",
"summary": "A Terminal User Interface for browsing container registries",
"version": "0.0.0b1",
"project_urls": {
"Homepage": "https://github.com/vibe-code-zone/container-registry-card-catalog",
"Issues": "https://github.com/vibe-code-zone/container-registry-card-catalog/issues",
"Repository": "https://github.com/vibe-code-zone/container-registry-card-catalog"
},
"split_keywords": [
"container",
" docker",
" podman",
" registry",
" terminal",
" tui"
],
"urls": [
{
"comment_text": null,
"digests": {
"blake2b_256": "8ff8f3a6af5aa91e788c6670af2888a7b9a5a477aa9cd5991ec774c0172a5de6",
"md5": "b25e7f6f19640d535d1917f2a3bc97e9",
"sha256": "3fcca0b36763843fee50d5738516c5ae2b06c9d69ed18745ab145e019a23c2c6"
},
"downloads": -1,
"filename": "container_registry_card_catalog-0.0.0b1-py3-none-any.whl",
"has_sig": false,
"md5_digest": "b25e7f6f19640d535d1917f2a3bc97e9",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.8",
"size": 81809,
"upload_time": "2025-08-29T21:44:30",
"upload_time_iso_8601": "2025-08-29T21:44:30.070502Z",
"url": "https://files.pythonhosted.org/packages/8f/f8/f3a6af5aa91e788c6670af2888a7b9a5a477aa9cd5991ec774c0172a5de6/container_registry_card_catalog-0.0.0b1-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "f66d87115848b378827584bc64b3eabee91550bae23010561fda2b376a151652",
"md5": "70639c4fa62f26013da1e3aceabae31b",
"sha256": "8587ce15051ff6d9bf68e5f1b1a75916313c20b1c70ea60084f31ce46131acd1"
},
"downloads": -1,
"filename": "container_registry_card_catalog-0.0.0b1.tar.gz",
"has_sig": false,
"md5_digest": "70639c4fa62f26013da1e3aceabae31b",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.8",
"size": 73668,
"upload_time": "2025-08-29T21:44:31",
"upload_time_iso_8601": "2025-08-29T21:44:31.643756Z",
"url": "https://files.pythonhosted.org/packages/f6/6d/87115848b378827584bc64b3eabee91550bae23010561fda2b376a151652/container_registry_card_catalog-0.0.0b1.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2025-08-29 21:44:31",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "vibe-code-zone",
"github_project": "container-registry-card-catalog",
"travis_ci": false,
"coveralls": false,
"github_actions": false,
"requirements": [
{
"name": "textual",
"specs": [
[
">=",
"0.45.0"
]
]
},
{
"name": "httpx",
"specs": [
[
">=",
"0.25.0"
]
]
},
{
"name": "aiohttp",
"specs": [
[
">=",
"3.8.0"
]
]
},
{
"name": "pyyaml",
"specs": [
[
">=",
"6.0"
]
]
},
{
"name": "pytest",
"specs": [
[
">=",
"7.4.0"
]
]
},
{
"name": "pytest-asyncio",
"specs": [
[
">=",
"0.21.0"
]
]
},
{
"name": "black",
"specs": [
[
">=",
"23.0.0"
]
]
},
{
"name": "flake8",
"specs": [
[
">=",
"6.0.0"
]
]
}
],
"lcname": "container-registry-card-catalog"
}