docker-orb 1.0.0__tar.gz → 1.0.1__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (75) hide show
  1. docker_orb-1.0.1/.github/workflows/publish.yml +78 -0
  2. {docker_orb-1.0.0 → docker_orb-1.0.1}/CLAUDE.md +24 -0
  3. {docker_orb-1.0.0 → docker_orb-1.0.1}/PKG-INFO +5 -8
  4. {docker_orb-1.0.0 → docker_orb-1.0.1}/README.md +4 -7
  5. {docker_orb-1.0.0 → docker_orb-1.0.1}/pyproject.toml +1 -1
  6. {docker_orb-1.0.0 → docker_orb-1.0.1}/.gitignore +0 -0
  7. {docker_orb-1.0.0 → docker_orb-1.0.1}/LICENSE +0 -0
  8. {docker_orb-1.0.0 → docker_orb-1.0.1}/docs/USER_GUIDE.md +0 -0
  9. {docker_orb-1.0.0 → docker_orb-1.0.1}/docs/demo.tape +0 -0
  10. {docker_orb-1.0.0 → docker_orb-1.0.1}/docs/screenshot-viewer.png +0 -0
  11. {docker_orb-1.0.0 → docker_orb-1.0.1}/infra/Makefile +0 -0
  12. {docker_orb-1.0.0 → docker_orb-1.0.1}/infra/README.md +0 -0
  13. {docker_orb-1.0.0 → docker_orb-1.0.1}/infra/docker-compose.yml +0 -0
  14. {docker_orb-1.0.0 → docker_orb-1.0.1}/infra/services/api-gateway/Dockerfile +0 -0
  15. {docker_orb-1.0.0 → docker_orb-1.0.1}/infra/services/api-gateway/app.py +0 -0
  16. {docker_orb-1.0.0 → docker_orb-1.0.1}/infra/services/auth-service/Dockerfile +0 -0
  17. {docker_orb-1.0.0 → docker_orb-1.0.1}/infra/services/auth-service/app.py +0 -0
  18. {docker_orb-1.0.0 → docker_orb-1.0.1}/infra/services/cache/Dockerfile +0 -0
  19. {docker_orb-1.0.0 → docker_orb-1.0.1}/infra/services/cache/app.py +0 -0
  20. {docker_orb-1.0.0 → docker_orb-1.0.1}/infra/services/database/Dockerfile +0 -0
  21. {docker_orb-1.0.0 → docker_orb-1.0.1}/infra/services/database/app.py +0 -0
  22. {docker_orb-1.0.0 → docker_orb-1.0.1}/infra/services/notification-service/Dockerfile +0 -0
  23. {docker_orb-1.0.0 → docker_orb-1.0.1}/infra/services/notification-service/app.py +0 -0
  24. {docker_orb-1.0.0 → docker_orb-1.0.1}/infra/services/scheduler/Dockerfile +0 -0
  25. {docker_orb-1.0.0 → docker_orb-1.0.1}/infra/services/scheduler/app.py +0 -0
  26. {docker_orb-1.0.0 → docker_orb-1.0.1}/infra/services/user-service/Dockerfile +0 -0
  27. {docker_orb-1.0.0 → docker_orb-1.0.1}/infra/services/user-service/app.py +0 -0
  28. {docker_orb-1.0.0 → docker_orb-1.0.1}/infra/services/worker/Dockerfile +0 -0
  29. {docker_orb-1.0.0 → docker_orb-1.0.1}/infra/services/worker/app.py +0 -0
  30. {docker_orb-1.0.0 → docker_orb-1.0.1}/scripts/run-safe.sh +0 -0
  31. {docker_orb-1.0.0 → docker_orb-1.0.1}/src/docker_orb/__init__.py +0 -0
  32. {docker_orb-1.0.0 → docker_orb-1.0.1}/src/docker_orb/__main__.py +0 -0
  33. {docker_orb-1.0.0 → docker_orb-1.0.1}/src/docker_orb/_scrollbar.py +0 -0
  34. {docker_orb-1.0.0 → docker_orb-1.0.1}/src/docker_orb/cli.py +0 -0
  35. {docker_orb-1.0.0 → docker_orb-1.0.1}/src/docker_orb/colors.py +0 -0
  36. {docker_orb-1.0.0 → docker_orb-1.0.1}/src/docker_orb/compose.py +0 -0
  37. {docker_orb-1.0.0 → docker_orb-1.0.1}/src/docker_orb/config.py +0 -0
  38. {docker_orb-1.0.0 → docker_orb-1.0.1}/src/docker_orb/inject.py +0 -0
  39. {docker_orb-1.0.0 → docker_orb-1.0.1}/src/docker_orb/jsonlog.py +0 -0
  40. {docker_orb-1.0.0 → docker_orb-1.0.1}/src/docker_orb/models.py +0 -0
  41. {docker_orb-1.0.0 → docker_orb-1.0.1}/src/docker_orb/viewer/__init__.py +0 -0
  42. {docker_orb-1.0.0 → docker_orb-1.0.1}/src/docker_orb/viewer/app.py +0 -0
  43. {docker_orb-1.0.0 → docker_orb-1.0.1}/src/docker_orb/viewer/panels/__init__.py +0 -0
  44. {docker_orb-1.0.0 → docker_orb-1.0.1}/src/docker_orb/viewer/panels/health.py +0 -0
  45. {docker_orb-1.0.0 → docker_orb-1.0.1}/src/docker_orb/viewer/panels/main_stream.py +0 -0
  46. {docker_orb-1.0.0 → docker_orb-1.0.1}/src/docker_orb/viewer/panels/monitor.py +0 -0
  47. {docker_orb-1.0.0 → docker_orb-1.0.1}/src/docker_orb/viewer/panels/search.py +0 -0
  48. {docker_orb-1.0.0 → docker_orb-1.0.1}/src/docker_orb/viewer/viewer.tcss +0 -0
  49. {docker_orb-1.0.0 → docker_orb-1.0.1}/src/docker_orb/viewer/widgets.py +0 -0
  50. {docker_orb-1.0.0 → docker_orb-1.0.1}/src/docker_orb/wizard/__init__.py +0 -0
  51. {docker_orb-1.0.0 → docker_orb-1.0.1}/src/docker_orb/wizard/app.py +0 -0
  52. {docker_orb-1.0.0 → docker_orb-1.0.1}/src/docker_orb/wizard/screens.py +0 -0
  53. {docker_orb-1.0.0 → docker_orb-1.0.1}/src/docker_orb/wizard/wizard.tcss +0 -0
  54. {docker_orb-1.0.0 → docker_orb-1.0.1}/tests/__init__.py +0 -0
  55. {docker_orb-1.0.0 → docker_orb-1.0.1}/tests/features/wizard.feature +0 -0
  56. {docker_orb-1.0.0 → docker_orb-1.0.1}/tests/test_colors.py +0 -0
  57. {docker_orb-1.0.0 → docker_orb-1.0.1}/tests/test_compose.py +0 -0
  58. {docker_orb-1.0.0 → docker_orb-1.0.1}/tests/test_config.py +0 -0
  59. {docker_orb-1.0.0 → docker_orb-1.0.1}/tests/test_health_panel.py +0 -0
  60. {docker_orb-1.0.0 → docker_orb-1.0.1}/tests/test_jsonlog.py +0 -0
  61. {docker_orb-1.0.0 → docker_orb-1.0.1}/tests/test_scrollbar.py +0 -0
  62. {docker_orb-1.0.0 → docker_orb-1.0.1}/tests/test_viewer_backfill.py +0 -0
  63. {docker_orb-1.0.0 → docker_orb-1.0.1}/tests/test_viewer_collapse_repeats.py +0 -0
  64. {docker_orb-1.0.0 → docker_orb-1.0.1}/tests/test_viewer_color_mode.py +0 -0
  65. {docker_orb-1.0.0 → docker_orb-1.0.1}/tests/test_viewer_edit_behaviors.py +0 -0
  66. {docker_orb-1.0.0 → docker_orb-1.0.1}/tests/test_viewer_json_format.py +0 -0
  67. {docker_orb-1.0.0 → docker_orb-1.0.1}/tests/test_viewer_keybindings.py +0 -0
  68. {docker_orb-1.0.0 → docker_orb-1.0.1}/tests/test_viewer_monitor_context.py +0 -0
  69. {docker_orb-1.0.0 → docker_orb-1.0.1}/tests/test_viewer_monitor_double_click.py +0 -0
  70. {docker_orb-1.0.0 → docker_orb-1.0.1}/tests/test_viewer_pane_size_modal.py +0 -0
  71. {docker_orb-1.0.0 → docker_orb-1.0.1}/tests/test_viewer_pause_resume.py +0 -0
  72. {docker_orb-1.0.0 → docker_orb-1.0.1}/tests/test_viewer_resize.py +0 -0
  73. {docker_orb-1.0.0 → docker_orb-1.0.1}/tests/test_viewer_string_edit_modal.py +0 -0
  74. {docker_orb-1.0.0 → docker_orb-1.0.1}/tests/test_wizard_bdd_scenarios.py +0 -0
  75. {docker_orb-1.0.0 → docker_orb-1.0.1}/tests/test_wizard_screens.py +0 -0
@@ -0,0 +1,78 @@
1
+ name: Publish to PyPI
2
+
3
+ # Runs the test suite on every push/PR to main; only builds and publishes
4
+ # to PyPI when a GitHub Release is published (or manually via
5
+ # workflow_dispatch, for re-running a failed publish without cutting a new
6
+ # release). Publishing uses PyPI's Trusted Publishing (OIDC) — no API token
7
+ # stored anywhere here.
8
+ #
9
+ # ⚠ ONE-TIME SETUP STILL NEEDED (see CLAUDE.md "Release process"): register
10
+ # this workflow as a trusted publisher on the PyPI project page
11
+ # (pypi.org/manage/project/docker-orb/settings/publishing/) with owner
12
+ # "adlidev", repo "docker-orb", workflow filename "publish.yml", and
13
+ # Environment name left BLANK (no GitHub environment gate is configured
14
+ # here). Publishing will fail with an auth error until that's done.
15
+
16
+ on:
17
+ push:
18
+ branches: [main]
19
+ pull_request:
20
+ branches: [main]
21
+ release:
22
+ types: [published]
23
+ workflow_dispatch:
24
+
25
+ jobs:
26
+ test:
27
+ name: Test (Python ${{ matrix.python-version }})
28
+ runs-on: ubuntu-latest
29
+ strategy:
30
+ matrix:
31
+ python-version: ["3.10", "3.11", "3.12"]
32
+ steps:
33
+ - uses: actions/checkout@v4
34
+
35
+ - name: Set up Python ${{ matrix.python-version }}
36
+ uses: actions/setup-python@v5
37
+ with:
38
+ python-version: ${{ matrix.python-version }}
39
+
40
+ - name: Install
41
+ run: python -m pip install -e . --group dev
42
+
43
+ - name: Run tests
44
+ run: pytest -q
45
+
46
+ publish:
47
+ name: Build and publish to PyPI
48
+ needs: test
49
+ if: github.event_name == 'release' || github.event_name == 'workflow_dispatch'
50
+ runs-on: ubuntu-latest
51
+ permissions:
52
+ id-token: write # required for PyPI Trusted Publishing (OIDC)
53
+ steps:
54
+ - uses: actions/checkout@v4
55
+
56
+ - name: Set up Python
57
+ uses: actions/setup-python@v5
58
+ with:
59
+ python-version: "3.12"
60
+
61
+ - name: Build sdist and wheel
62
+ run: |
63
+ python -m pip install --upgrade build
64
+ python -m build
65
+
66
+ - name: Check package metadata
67
+ run: |
68
+ python -m pip install --upgrade twine
69
+ python -m twine check dist/*
70
+
71
+ - name: Publish to PyPI
72
+ uses: pypa/gh-action-pypi-publish@release/v1
73
+ with:
74
+ # Safety net for re-running this job (workflow_dispatch, or a
75
+ # retried run) after a version already made it to PyPI — skips
76
+ # re-upload instead of failing, rather than actually enabling
77
+ # re-publishing the same version's files.
78
+ skip-existing: true
@@ -74,6 +74,30 @@ them depended on anything Kubernetes-specific), just wired up with
74
74
  works fine, of course, to point docker-orb at any other real
75
75
  `docker-compose.yml` project you have running.
76
76
 
77
+ ## Release process
78
+
79
+ `.github/workflows/publish.yml` tests on 3.10/3.11/3.12 on every push/PR to
80
+ `main`, and builds + publishes to PyPI whenever a GitHub Release is
81
+ published, via PyPI Trusted Publishing (OIDC) — no stored token.
82
+
83
+ **⚠ TODO, still pending:** register this workflow as a trusted publisher on
84
+ PyPI before the first automated publish will work — pypi.org → docker-orb
85
+ project → Manage → Publishing → "Add a new publisher":
86
+ - Owner: `adlidev`
87
+ - Repository name: `docker-orb`
88
+ - Workflow filename: `publish.yml`
89
+ - Environment name: leave **blank** (no GitHub environment gate is
90
+ configured in the workflow — that step was intentionally skipped for
91
+ now; add `environment: pypi` back in publish.yml plus a matching
92
+ environment under repo Settings → Environments if a manual-approval gate
93
+ is wanted later).
94
+
95
+ Until that's done, a release will run the build/check steps fine but fail
96
+ on the actual `pypi-publish` upload step with an auth error.
97
+
98
+ Going forward, a release is: bump `version` in `pyproject.toml` → commit →
99
+ tag and publish a GitHub Release → the workflow does the rest.
100
+
77
101
  ## Architecture
78
102
 
79
103
  docker-orb is a **Textual TUI** app with two entry points:
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: docker-orb
3
- Version: 1.0.0
3
+ Version: 1.0.1
4
4
  Summary: Interactive terminal UI for streaming and filtering Docker Compose container logs across multiple services
5
5
  Project-URL: Homepage, https://github.com/adlidev/docker-orb
6
6
  Project-URL: Repository, https://github.com/adlidev/docker-orb
@@ -105,14 +105,11 @@ Requires Python 3.10+, and `docker` with the Compose v2 plugin on your
105
105
  Docker SDK involved.
106
106
 
107
107
  ```bash
108
- # Recommended — pipx keeps CLI tools in isolated environments. Not on PyPI
109
- # yet, so install straight from GitHub:
110
- pipx install git+https://github.com/adlidev/docker-orb
108
+ # Recommended — pipx keeps CLI tools in isolated environments
109
+ pipx install docker-orb
111
110
 
112
- # Or with plain pip, inside your own venv:
113
- git clone https://github.com/adlidev/docker-orb.git
114
- cd docker-orb
115
- pip install -e .
111
+ # Or with plain pip
112
+ pip install docker-orb
116
113
  ```
117
114
 
118
115
  This installs two commands: `docker-orb` and `docker-orb-inject` (a small
@@ -52,14 +52,11 @@ Requires Python 3.10+, and `docker` with the Compose v2 plugin on your
52
52
  Docker SDK involved.
53
53
 
54
54
  ```bash
55
- # Recommended — pipx keeps CLI tools in isolated environments. Not on PyPI
56
- # yet, so install straight from GitHub:
57
- pipx install git+https://github.com/adlidev/docker-orb
55
+ # Recommended — pipx keeps CLI tools in isolated environments
56
+ pipx install docker-orb
58
57
 
59
- # Or with plain pip, inside your own venv:
60
- git clone https://github.com/adlidev/docker-orb.git
61
- cd docker-orb
62
- pip install -e .
58
+ # Or with plain pip
59
+ pip install docker-orb
63
60
  ```
64
61
 
65
62
  This installs two commands: `docker-orb` and `docker-orb-inject` (a small
@@ -4,7 +4,7 @@ build-backend = "hatchling.build"
4
4
 
5
5
  [project]
6
6
  name = "docker-orb"
7
- version = "1.0.0"
7
+ version = "1.0.1"
8
8
  description = "Interactive terminal UI for streaming and filtering Docker Compose container logs across multiple services"
9
9
  readme = "README.md"
10
10
  requires-python = ">=3.10"
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes