SyncPrjs 1.0.0__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.
- syncprjs-1.0.0/PKG-INFO +159 -0
- syncprjs-1.0.0/README.md +145 -0
- syncprjs-1.0.0/pyproject.toml +29 -0
- syncprjs-1.0.0/setup.cfg +4 -0
- syncprjs-1.0.0/src/SyncPrjs/__init__.py +4 -0
- syncprjs-1.0.0/src/SyncPrjs/__main__.py +4 -0
- syncprjs-1.0.0/src/SyncPrjs/cli.py +2128 -0
- syncprjs-1.0.0/src/SyncPrjs.egg-info/PKG-INFO +159 -0
- syncprjs-1.0.0/src/SyncPrjs.egg-info/SOURCES.txt +12 -0
- syncprjs-1.0.0/src/SyncPrjs.egg-info/dependency_links.txt +1 -0
- syncprjs-1.0.0/src/SyncPrjs.egg-info/entry_points.txt +2 -0
- syncprjs-1.0.0/src/SyncPrjs.egg-info/requires.txt +1 -0
- syncprjs-1.0.0/src/SyncPrjs.egg-info/top_level.txt +2 -0
- syncprjs-1.0.0/src/setup.py +7 -0
syncprjs-1.0.0/PKG-INFO
ADDED
|
@@ -0,0 +1,159 @@
|
|
|
1
|
+
Metadata-Version: 2.4
|
|
2
|
+
Name: SyncPrjs
|
|
3
|
+
Version: 1.0.0
|
|
4
|
+
Summary: A robust command-line tool for managing multiple projects that follow a prefix-suffix naming convention.
|
|
5
|
+
Author-email: Wilgat Wong <wilgat.wong@gmail.com>
|
|
6
|
+
License: MIT
|
|
7
|
+
Project-URL: Homepage, https://github.com/Wilgat/LoggedExample
|
|
8
|
+
Project-URL: Repository, https://github.com/Wilgat/LoggedExample
|
|
9
|
+
Project-URL: Issues, https://github.com/Wilgat/LoggedExample/issues
|
|
10
|
+
Keywords: logging,sudo,chronicle,example
|
|
11
|
+
Requires-Python: !=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,!=3.4.*,>=2.7
|
|
12
|
+
Description-Content-Type: text/markdown
|
|
13
|
+
Requires-Dist: ChronicleLogger>=1.1.0
|
|
14
|
+
|
|
15
|
+
# SyncPrjs - Universal Multi-Prefix Project Manager
|
|
16
|
+
|
|
17
|
+
**Powered by ChronicleLogger**
|
|
18
|
+
A robust command-line tool for managing multiple projects that follow a **prefix-suffix** naming convention.
|
|
19
|
+
|
|
20
|
+
---
|
|
21
|
+
|
|
22
|
+
## Overview
|
|
23
|
+
|
|
24
|
+
SyncPrjs is a universal project manager designed to handle a large number of similarly structured projects (e.g. `grok-example`, `poe-chatbot`, `gm-assistant`, etc.).
|
|
25
|
+
|
|
26
|
+
It is specifically optimized for **ANT-ready GNOME C/GTK applications** that use:
|
|
27
|
+
- A `WebKitWebView` as the main UI component
|
|
28
|
+
- `build.xml` + `autoreconf` + `make` build system
|
|
29
|
+
- Cookie/session storage in `~/.app/`
|
|
30
|
+
|
|
31
|
+
The tool follows strict **CIAO defensive coding** principles for maximum reliability and auditability.
|
|
32
|
+
|
|
33
|
+
## Features
|
|
34
|
+
|
|
35
|
+
- **Multi-prefix support** — easily group and operate on projects by prefix (`grok-*`, `poe-*`, `gm-*`, etc.)
|
|
36
|
+
- Project discovery and validation
|
|
37
|
+
- Batch operations across related projects
|
|
38
|
+
- Secure cookie/session management
|
|
39
|
+
- Detailed logging via ChronicleLogger
|
|
40
|
+
- Defensive coding style (CIAO) for production-grade reliability
|
|
41
|
+
|
|
42
|
+
## Project Structure
|
|
43
|
+
|
|
44
|
+
```
|
|
45
|
+
SyncPrjs/
|
|
46
|
+
├── src/
|
|
47
|
+
│ └── SyncPrjs/
|
|
48
|
+
│ └── cli.py # Main CLI entry point
|
|
49
|
+
├── docs/
|
|
50
|
+
├── update-log.md
|
|
51
|
+
│ └── folder-structure.md
|
|
52
|
+
├── tests/
|
|
53
|
+
├── pyproject.toml
|
|
54
|
+
├── README.md
|
|
55
|
+
└── ...
|
|
56
|
+
```
|
|
57
|
+
|
|
58
|
+
## Installation
|
|
59
|
+
|
|
60
|
+
### From Source (Recommended for Development)
|
|
61
|
+
|
|
62
|
+
```bash
|
|
63
|
+
git clone https://github.com/Wilgat/SyncPrjs.git
|
|
64
|
+
cd SyncPrjs
|
|
65
|
+
|
|
66
|
+
# Create virtual environment
|
|
67
|
+
python3 -m venv venv
|
|
68
|
+
source venv/bin/activate
|
|
69
|
+
|
|
70
|
+
# Install in editable mode
|
|
71
|
+
pip install -e .
|
|
72
|
+
```
|
|
73
|
+
|
|
74
|
+
### As a Standalone Script
|
|
75
|
+
|
|
76
|
+
Make the CLI executable:
|
|
77
|
+
|
|
78
|
+
```bash
|
|
79
|
+
chmod +x src/SyncPrjs/cli.py
|
|
80
|
+
sudo ln -s $(pwd)/src/SyncPrjs/cli.py /usr/local/bin/syncprjs
|
|
81
|
+
```
|
|
82
|
+
|
|
83
|
+
## Usage
|
|
84
|
+
|
|
85
|
+
```bash
|
|
86
|
+
syncprjs --help
|
|
87
|
+
```
|
|
88
|
+
|
|
89
|
+
### Basic Commands (examples)
|
|
90
|
+
|
|
91
|
+
```bash
|
|
92
|
+
# List all projects
|
|
93
|
+
syncprjs list
|
|
94
|
+
|
|
95
|
+
# List only projects with specific prefix
|
|
96
|
+
syncprjs list --prefix grok
|
|
97
|
+
|
|
98
|
+
# Sync / update all projects
|
|
99
|
+
syncprjs sync --all
|
|
100
|
+
|
|
101
|
+
# Build projects
|
|
102
|
+
syncprjs build --prefix poe
|
|
103
|
+
|
|
104
|
+
# Clean build artifacts
|
|
105
|
+
syncprjs clean
|
|
106
|
+
|
|
107
|
+
# Show detailed status
|
|
108
|
+
syncprjs status
|
|
109
|
+
```
|
|
110
|
+
|
|
111
|
+
> **Note**: Exact commands depend on the final implementation in `cli.py`. The tool is designed around common workflows: list, sync, build, clean, status.
|
|
112
|
+
|
|
113
|
+
## Project Naming Convention
|
|
114
|
+
|
|
115
|
+
All managed projects follow the pattern:
|
|
116
|
+
|
|
117
|
+
```
|
|
118
|
+
<prefix>-<suffix>
|
|
119
|
+
```
|
|
120
|
+
|
|
121
|
+
**Examples**:
|
|
122
|
+
- `grok-examplet`
|
|
123
|
+
- `gm-assistant`
|
|
124
|
+
- `poe-webview`
|
|
125
|
+
- `claude-research`
|
|
126
|
+
|
|
127
|
+
## Cookie Storage
|
|
128
|
+
|
|
129
|
+
Cookies and session data are stored in:
|
|
130
|
+
|
|
131
|
+
```
|
|
132
|
+
~/.app/
|
|
133
|
+
```
|
|
134
|
+
|
|
135
|
+
This location is intentionally outside individual project folders for better security and sharing across related apps.
|
|
136
|
+
|
|
137
|
+
## Development Philosophy
|
|
138
|
+
|
|
139
|
+
- **CIAO Defensive Coding** — Every critical section is protected and auditable.
|
|
140
|
+
- Full traceability via ChronicleLogger.
|
|
141
|
+
- Header protection against accidental AI modification.
|
|
142
|
+
- Designed for long-term maintainability.
|
|
143
|
+
|
|
144
|
+
## Requirements
|
|
145
|
+
|
|
146
|
+
- Python 3.8+
|
|
147
|
+
- ChronicleLogger (included as dependency or submodule)
|
|
148
|
+
- Standard build tools: `make`, `autoreconf`, `gtk+-3.0`, `webkit2gtk-4.1`, etc. (for the managed C/GTK projects)
|
|
149
|
+
|
|
150
|
+
## Links
|
|
151
|
+
|
|
152
|
+
- CIAO Philosophy: [github.com/Wilgat/ciao](https://github.com/Wilgat/ciao)
|
|
153
|
+
- Related projects: [gitlab-nginx](https://github.com/Wilgat/gitlab-nginx)
|
|
154
|
+
|
|
155
|
+
---
|
|
156
|
+
|
|
157
|
+
**Made with ❤️ for power users managing large collections of AI-related desktop clients.**
|
|
158
|
+
|
|
159
|
+
```
|
syncprjs-1.0.0/README.md
ADDED
|
@@ -0,0 +1,145 @@
|
|
|
1
|
+
# SyncPrjs - Universal Multi-Prefix Project Manager
|
|
2
|
+
|
|
3
|
+
**Powered by ChronicleLogger**
|
|
4
|
+
A robust command-line tool for managing multiple projects that follow a **prefix-suffix** naming convention.
|
|
5
|
+
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
## Overview
|
|
9
|
+
|
|
10
|
+
SyncPrjs is a universal project manager designed to handle a large number of similarly structured projects (e.g. `grok-example`, `poe-chatbot`, `gm-assistant`, etc.).
|
|
11
|
+
|
|
12
|
+
It is specifically optimized for **ANT-ready GNOME C/GTK applications** that use:
|
|
13
|
+
- A `WebKitWebView` as the main UI component
|
|
14
|
+
- `build.xml` + `autoreconf` + `make` build system
|
|
15
|
+
- Cookie/session storage in `~/.app/`
|
|
16
|
+
|
|
17
|
+
The tool follows strict **CIAO defensive coding** principles for maximum reliability and auditability.
|
|
18
|
+
|
|
19
|
+
## Features
|
|
20
|
+
|
|
21
|
+
- **Multi-prefix support** — easily group and operate on projects by prefix (`grok-*`, `poe-*`, `gm-*`, etc.)
|
|
22
|
+
- Project discovery and validation
|
|
23
|
+
- Batch operations across related projects
|
|
24
|
+
- Secure cookie/session management
|
|
25
|
+
- Detailed logging via ChronicleLogger
|
|
26
|
+
- Defensive coding style (CIAO) for production-grade reliability
|
|
27
|
+
|
|
28
|
+
## Project Structure
|
|
29
|
+
|
|
30
|
+
```
|
|
31
|
+
SyncPrjs/
|
|
32
|
+
├── src/
|
|
33
|
+
│ └── SyncPrjs/
|
|
34
|
+
│ └── cli.py # Main CLI entry point
|
|
35
|
+
├── docs/
|
|
36
|
+
├── update-log.md
|
|
37
|
+
│ └── folder-structure.md
|
|
38
|
+
├── tests/
|
|
39
|
+
├── pyproject.toml
|
|
40
|
+
├── README.md
|
|
41
|
+
└── ...
|
|
42
|
+
```
|
|
43
|
+
|
|
44
|
+
## Installation
|
|
45
|
+
|
|
46
|
+
### From Source (Recommended for Development)
|
|
47
|
+
|
|
48
|
+
```bash
|
|
49
|
+
git clone https://github.com/Wilgat/SyncPrjs.git
|
|
50
|
+
cd SyncPrjs
|
|
51
|
+
|
|
52
|
+
# Create virtual environment
|
|
53
|
+
python3 -m venv venv
|
|
54
|
+
source venv/bin/activate
|
|
55
|
+
|
|
56
|
+
# Install in editable mode
|
|
57
|
+
pip install -e .
|
|
58
|
+
```
|
|
59
|
+
|
|
60
|
+
### As a Standalone Script
|
|
61
|
+
|
|
62
|
+
Make the CLI executable:
|
|
63
|
+
|
|
64
|
+
```bash
|
|
65
|
+
chmod +x src/SyncPrjs/cli.py
|
|
66
|
+
sudo ln -s $(pwd)/src/SyncPrjs/cli.py /usr/local/bin/syncprjs
|
|
67
|
+
```
|
|
68
|
+
|
|
69
|
+
## Usage
|
|
70
|
+
|
|
71
|
+
```bash
|
|
72
|
+
syncprjs --help
|
|
73
|
+
```
|
|
74
|
+
|
|
75
|
+
### Basic Commands (examples)
|
|
76
|
+
|
|
77
|
+
```bash
|
|
78
|
+
# List all projects
|
|
79
|
+
syncprjs list
|
|
80
|
+
|
|
81
|
+
# List only projects with specific prefix
|
|
82
|
+
syncprjs list --prefix grok
|
|
83
|
+
|
|
84
|
+
# Sync / update all projects
|
|
85
|
+
syncprjs sync --all
|
|
86
|
+
|
|
87
|
+
# Build projects
|
|
88
|
+
syncprjs build --prefix poe
|
|
89
|
+
|
|
90
|
+
# Clean build artifacts
|
|
91
|
+
syncprjs clean
|
|
92
|
+
|
|
93
|
+
# Show detailed status
|
|
94
|
+
syncprjs status
|
|
95
|
+
```
|
|
96
|
+
|
|
97
|
+
> **Note**: Exact commands depend on the final implementation in `cli.py`. The tool is designed around common workflows: list, sync, build, clean, status.
|
|
98
|
+
|
|
99
|
+
## Project Naming Convention
|
|
100
|
+
|
|
101
|
+
All managed projects follow the pattern:
|
|
102
|
+
|
|
103
|
+
```
|
|
104
|
+
<prefix>-<suffix>
|
|
105
|
+
```
|
|
106
|
+
|
|
107
|
+
**Examples**:
|
|
108
|
+
- `grok-examplet`
|
|
109
|
+
- `gm-assistant`
|
|
110
|
+
- `poe-webview`
|
|
111
|
+
- `claude-research`
|
|
112
|
+
|
|
113
|
+
## Cookie Storage
|
|
114
|
+
|
|
115
|
+
Cookies and session data are stored in:
|
|
116
|
+
|
|
117
|
+
```
|
|
118
|
+
~/.app/
|
|
119
|
+
```
|
|
120
|
+
|
|
121
|
+
This location is intentionally outside individual project folders for better security and sharing across related apps.
|
|
122
|
+
|
|
123
|
+
## Development Philosophy
|
|
124
|
+
|
|
125
|
+
- **CIAO Defensive Coding** — Every critical section is protected and auditable.
|
|
126
|
+
- Full traceability via ChronicleLogger.
|
|
127
|
+
- Header protection against accidental AI modification.
|
|
128
|
+
- Designed for long-term maintainability.
|
|
129
|
+
|
|
130
|
+
## Requirements
|
|
131
|
+
|
|
132
|
+
- Python 3.8+
|
|
133
|
+
- ChronicleLogger (included as dependency or submodule)
|
|
134
|
+
- Standard build tools: `make`, `autoreconf`, `gtk+-3.0`, `webkit2gtk-4.1`, etc. (for the managed C/GTK projects)
|
|
135
|
+
|
|
136
|
+
## Links
|
|
137
|
+
|
|
138
|
+
- CIAO Philosophy: [github.com/Wilgat/ciao](https://github.com/Wilgat/ciao)
|
|
139
|
+
- Related projects: [gitlab-nginx](https://github.com/Wilgat/gitlab-nginx)
|
|
140
|
+
|
|
141
|
+
---
|
|
142
|
+
|
|
143
|
+
**Made with ❤️ for power users managing large collections of AI-related desktop clients.**
|
|
144
|
+
|
|
145
|
+
```
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
[build-system]
|
|
2
|
+
requires = ["setuptools>=61", "wheel"]
|
|
3
|
+
build-backend = "setuptools.build_meta"
|
|
4
|
+
|
|
5
|
+
[project]
|
|
6
|
+
name = "SyncPrjs"
|
|
7
|
+
version = "1.0.0"
|
|
8
|
+
description = "A robust command-line tool for managing multiple projects that follow a prefix-suffix naming convention."
|
|
9
|
+
readme = "README.md"
|
|
10
|
+
requires-python = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*"
|
|
11
|
+
license = {text = "MIT"}
|
|
12
|
+
authors = [
|
|
13
|
+
{name = "Wilgat Wong", email = "wilgat.wong@gmail.com"}
|
|
14
|
+
]
|
|
15
|
+
keywords = ["logging", "sudo", "chronicle", "example"]
|
|
16
|
+
|
|
17
|
+
dependencies = [
|
|
18
|
+
"ChronicleLogger>=1.1.0",
|
|
19
|
+
]
|
|
20
|
+
|
|
21
|
+
# Official project links (this is what shows on PyPI!)
|
|
22
|
+
[project.urls]
|
|
23
|
+
Homepage = "https://github.com/Wilgat/LoggedExample"
|
|
24
|
+
Repository = "https://github.com/Wilgat/LoggedExample"
|
|
25
|
+
Issues = "https://github.com/Wilgat/LoggedExample/issues"
|
|
26
|
+
|
|
27
|
+
# This makes `logged-example` command available after pip install
|
|
28
|
+
[project.scripts]
|
|
29
|
+
logged-example = "LoggedExample.cli:main"
|
syncprjs-1.0.0/setup.cfg
ADDED