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.
@@ -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
+ ```
@@ -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"
@@ -0,0 +1,4 @@
1
+ [egg_info]
2
+ tag_build =
3
+ tag_date = 0
4
+
@@ -0,0 +1,4 @@
1
+ from .cli import ChronicleLogger, UniversalProjectSyncer
2
+
3
+ __version__ = "1.0.0"
4
+ __all__ = ["ChronicleLogger", "UniversalProjectSyncer"]
@@ -0,0 +1,4 @@
1
+ from .cli import main
2
+
3
+ if __name__ == "__main__":
4
+ main()