desertislandutils 0.4.2__tar.gz → 0.4.3__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 (48) hide show
  1. desertislandutils-0.4.3/PKG-INFO +179 -0
  2. desertislandutils-0.4.3/README.md +159 -0
  3. {desertislandutils-0.4.2 → desertislandutils-0.4.3}/pyproject.toml +6 -1
  4. desertislandutils-0.4.2/PKG-INFO +0 -96
  5. desertislandutils-0.4.2/README.md +0 -79
  6. {desertislandutils-0.4.2 → desertislandutils-0.4.3}/.github/workflows/main.yml +0 -0
  7. {desertislandutils-0.4.2 → desertislandutils-0.4.3}/.github/workflows/release.yml +0 -0
  8. {desertislandutils-0.4.2 → desertislandutils-0.4.3}/.github/workflows/test.yml +0 -0
  9. {desertislandutils-0.4.2 → desertislandutils-0.4.3}/.gitignore +0 -0
  10. {desertislandutils-0.4.2 → desertislandutils-0.4.3}/__init__.py +0 -0
  11. {desertislandutils-0.4.2 → desertislandutils-0.4.3}/base.justfile +0 -0
  12. {desertislandutils-0.4.2 → desertislandutils-0.4.3}/justfile +0 -0
  13. {desertislandutils-0.4.2 → desertislandutils-0.4.3}/notes/CICD-notes.md +0 -0
  14. {desertislandutils-0.4.2 → desertislandutils-0.4.3}/notes/GHA.actions-handy.yml +0 -0
  15. {desertislandutils-0.4.2 → desertislandutils-0.4.3}/notes/example-gha-workflow.on-push.yaml +0 -0
  16. {desertislandutils-0.4.2 → desertislandutils-0.4.3}/notes/package-log.md +0 -0
  17. {desertislandutils-0.4.2 → desertislandutils-0.4.3}/notes/poetry-packaging-notes.md +0 -0
  18. {desertislandutils-0.4.2 → desertislandutils-0.4.3}/notes/toobigdatadoc-dev-log.md +0 -0
  19. {desertislandutils-0.4.2 → desertislandutils-0.4.3}/notes/toobigdatadoc-packaging-log.md +0 -0
  20. {desertislandutils-0.4.2 → desertislandutils-0.4.3}/notes/toobigdatadoc.poetry-pytest-problem.md +0 -0
  21. {desertislandutils-0.4.2 → desertislandutils-0.4.3}/notes/weeknumber/weeknumber.md +0 -0
  22. {desertislandutils-0.4.2 → desertislandutils-0.4.3}/notes/why-parallel-file-systems.md +0 -0
  23. {desertislandutils-0.4.2 → desertislandutils-0.4.3}/notes/workflow.publish-update.md +0 -0
  24. {desertislandutils-0.4.2 → desertislandutils-0.4.3}/notes/workflow.unit-testing.md +0 -0
  25. {desertislandutils-0.4.2 → desertislandutils-0.4.3}/notes/workflows/archive/github-actions-demo.yml +0 -0
  26. {desertislandutils-0.4.2 → desertislandutils-0.4.3}/notes/workflows/github.actions.auto-merge-back-to-dev.yml +0 -0
  27. {desertislandutils-0.4.2 → desertislandutils-0.4.3}/notes/workflows/github.actions.setup-python.yml +0 -0
  28. {desertislandutils-0.4.2 → desertislandutils-0.4.3}/notes/workflows/github.example.python-simple.yml +0 -0
  29. {desertislandutils-0.4.2 → desertislandutils-0.4.3}/notes/workflows/github.python-app.yml +0 -0
  30. {desertislandutils-0.4.2 → desertislandutils-0.4.3}/notes/workflows/github.python-package.yml +0 -0
  31. {desertislandutils-0.4.2 → desertislandutils-0.4.3}/notes/workflows/poetry.abatilo.CI-actions.yml +0 -0
  32. {desertislandutils-0.4.2 → desertislandutils-0.4.3}/notes/workflows/poetry.abatilo.release-on-push.yml +0 -0
  33. {desertislandutils-0.4.2 → desertislandutils-0.4.3}/src/__init__.py +0 -0
  34. {desertislandutils-0.4.2 → desertislandutils-0.4.3}/src/toobigdatadoc/__init__.py +0 -0
  35. {desertislandutils-0.4.2 → desertislandutils-0.4.3}/src/toobigdatadoc/too.py +0 -0
  36. {desertislandutils-0.4.2 → desertislandutils-0.4.3}/src/weeknumber/__init__.py +0 -0
  37. {desertislandutils-0.4.2 → desertislandutils-0.4.3}/src/weeknumber/wn.py +0 -0
  38. {desertislandutils-0.4.2 → desertislandutils-0.4.3}/tests/README.md +0 -0
  39. {desertislandutils-0.4.2 → desertislandutils-0.4.3}/tests/__init__.py +0 -0
  40. {desertislandutils-0.4.2 → desertislandutils-0.4.3}/tests/test_unit.py +0 -0
  41. {desertislandutils-0.4.2 → desertislandutils-0.4.3}/tests/toobigdatadoc/test_pytest.py +0 -0
  42. {desertislandutils-0.4.2 → desertislandutils-0.4.3}/tests/toobigdatadoc/test_too.py +0 -0
  43. {desertislandutils-0.4.2 → desertislandutils-0.4.3}/tests/wn/test_wn.py +0 -0
  44. {desertislandutils-0.4.2 → desertislandutils-0.4.3}/todo/RESUME.manual-build-bump-formula.md +0 -0
  45. {desertislandutils-0.4.2 → desertislandutils-0.4.3}/todo/TODO.md +0 -0
  46. {desertislandutils-0.4.2 → desertislandutils-0.4.3}/todo/bash-to-python-migrate.md +0 -0
  47. {desertislandutils-0.4.2 → desertislandutils-0.4.3}/todo/desertislandutils.markdowner.md +0 -0
  48. {desertislandutils-0.4.2 → desertislandutils-0.4.3}/todo/poetry-build-github-actions.md +0 -0
@@ -0,0 +1,179 @@
1
+ Metadata-Version: 2.4
2
+ Name: desertislandutils
3
+ Version: 0.4.3
4
+ Summary: A collection of personal convenience utilities
5
+ Project-URL: Homepage, https://github.com/mahiki/desertislandutils
6
+ Project-URL: Repository, https://github.com/mahiki/desertislandutils
7
+ Project-URL: Issues, https://github.com/mahiki/desertislandutils/issues
8
+ Author-email: mahiki <mahiki@users.noreply.github.com>
9
+ License: MIT
10
+ Requires-Python: >=3.11
11
+ Requires-Dist: argparse>=1.4.0
12
+ Requires-Dist: gitpython>=3.1.27
13
+ Requires-Dist: pendulum>=3.0.0
14
+ Requires-Dist: typer>=0.12.0
15
+ Provides-Extra: dev
16
+ Requires-Dist: ptpython>=3.0.23; extra == 'dev'
17
+ Provides-Extra: test
18
+ Requires-Dist: pytest>=7.2.2; extra == 'test'
19
+ Description-Content-Type: text/markdown
20
+
21
+ # desertislandutils
22
+
23
+ A collection of personal convenience utilities for managing parallel directory structures and ISO week numbers. Written in Python because it's far better than shell scripting!
24
+
25
+ ## Installation
26
+
27
+ Install globally using `uv`:
28
+
29
+ ```sh
30
+ uv tool install desertislandutils
31
+ ```
32
+
33
+ Update to the latest version:
34
+
35
+ ```sh
36
+ uv tool upgrade desertislandutils
37
+ ```
38
+
39
+ ## The Utils
40
+
41
+ ### toobigdatadoc (`too`)
42
+
43
+ Manage parallel directory structures for separating text files from large binary files and datasets. Creates symlinked folders under `HOME/{toobig|toodata|toodoc}`:
44
+
45
+ - `toobig` - Large files excluded from backups
46
+ - `toodata` - Small-ish data files
47
+ - `toodoc` - Binary files like PDFs and images
48
+
49
+ ```
50
+ $HOME
51
+ |-- toobig
52
+ |-- # replicated folder paths with large files here, assume not to be backed up
53
+ |-- toodata
54
+ |-- # small-ish data files in support of the parallel root
55
+ |-- toodoc
56
+ |-- # usually pdfs or image files
57
+ ```
58
+
59
+ **Usage:**
60
+
61
+ ```sh
62
+ too --help
63
+
64
+ usage: too [-h] {big,data,doc}
65
+
66
+ Create symlinked parallel folders under HOME/{toobig|toodata|toodoc}, to
67
+ contain data/binary files outside of git repo or away from source/text files.
68
+
69
+ positional arguments:
70
+ {big,data,doc} large files to exclude from backup, smallish datasets,
71
+ binary files like pdf
72
+
73
+ options:
74
+ -h, --help show this help message and exit
75
+ ```
76
+
77
+ ### weeknumber (`wn`)
78
+
79
+ Get ISO year week numbers in YYYY-WDD format. Default weekend day is Saturday.
80
+
81
+ **Usage:**
82
+
83
+ ```sh
84
+ wn --help
85
+
86
+ Usage: wn [OPTIONS] [DATE]
87
+
88
+ ISO year week number of a date as YYYY-"W"WW. Default weekend day is Saturday.
89
+
90
+ Example:
91
+
92
+ $> wn 'Jul 22 2020' --last
93
+
94
+ 2020-W29
95
+
96
+ ╭─ Arguments ────────────────────────────────────────────────────────────────╮
97
+ │ date [DATE] A text expression of date, ex: 'November 27', or │
98
+ │ 2112-07-29. Default is today's in current TZ. │
99
+ │ [default: (dynamic)] │
100
+ ╰────────────────────────────────────────────────────────────────────────────╯
101
+ ╭─ Options ──────────────────────────────────────────────────────────────────╮
102
+ │ --sunday Week end is Saturday by default, this flag sets │
103
+ │ Sunday weekend day (ISO standard). │
104
+ │ --last Give week number of most recently completed week │
105
+ │ (overrides DATE argument). │
106
+ │ --verbose -v Full parsed date details for verification. │
107
+ │ --install-completion Install completion for the current shell. │
108
+ │ --show-completion Show completion for the current shell, to copy it │
109
+ │ or customize the installation. │
110
+ │ --help Show this message and exit. │
111
+ ╰────────────────────────────────────────────────────────────────────────────╯
112
+ ```
113
+
114
+ **Examples:**
115
+
116
+ ```sh
117
+ # Get current week number
118
+ wn
119
+
120
+ # Get week number for a specific date
121
+ wn 'Jul 22'
122
+
123
+ # Get last completed week number
124
+ wn --last
125
+
126
+ # Parse a specific date with details
127
+ wn 'November 27 2024' --verbose
128
+ ```
129
+
130
+ ---
131
+
132
+ ## Development
133
+
134
+ Built with modern Python tooling:
135
+
136
+ - **Build system:** `uv`
137
+ - **Deploy:** PyPI via GitHub Actions CI/CD
138
+ - **Package manager:** `uv`
139
+
140
+ ### Setup
141
+
142
+ ```sh
143
+ # Clone the repository
144
+ git clone https://github.com/mahiki/desertislandutils.git
145
+ cd desertislandutils
146
+
147
+ # Install dependencies (including dev extras)
148
+ uv sync --all-extras
149
+ ```
150
+
151
+ ### Testing
152
+
153
+ ```sh
154
+ # Run tests
155
+ just test
156
+
157
+ # Or directly with uv
158
+ uv run --extra test pytest --disable-warnings --verbose
159
+ ```
160
+
161
+ ### Local Development
162
+
163
+ ```sh
164
+ # Run commands directly from source
165
+ uv run wn --help
166
+ uv run too --help
167
+ ```
168
+
169
+ ### Project Tasks
170
+
171
+ See the `justfile` for available commands:
172
+
173
+ ```sh
174
+ just --list
175
+ ```
176
+
177
+ ## License
178
+
179
+ MIT
@@ -0,0 +1,159 @@
1
+ # desertislandutils
2
+
3
+ A collection of personal convenience utilities for managing parallel directory structures and ISO week numbers. Written in Python because it's far better than shell scripting!
4
+
5
+ ## Installation
6
+
7
+ Install globally using `uv`:
8
+
9
+ ```sh
10
+ uv tool install desertislandutils
11
+ ```
12
+
13
+ Update to the latest version:
14
+
15
+ ```sh
16
+ uv tool upgrade desertislandutils
17
+ ```
18
+
19
+ ## The Utils
20
+
21
+ ### toobigdatadoc (`too`)
22
+
23
+ Manage parallel directory structures for separating text files from large binary files and datasets. Creates symlinked folders under `HOME/{toobig|toodata|toodoc}`:
24
+
25
+ - `toobig` - Large files excluded from backups
26
+ - `toodata` - Small-ish data files
27
+ - `toodoc` - Binary files like PDFs and images
28
+
29
+ ```
30
+ $HOME
31
+ |-- toobig
32
+ |-- # replicated folder paths with large files here, assume not to be backed up
33
+ |-- toodata
34
+ |-- # small-ish data files in support of the parallel root
35
+ |-- toodoc
36
+ |-- # usually pdfs or image files
37
+ ```
38
+
39
+ **Usage:**
40
+
41
+ ```sh
42
+ too --help
43
+
44
+ usage: too [-h] {big,data,doc}
45
+
46
+ Create symlinked parallel folders under HOME/{toobig|toodata|toodoc}, to
47
+ contain data/binary files outside of git repo or away from source/text files.
48
+
49
+ positional arguments:
50
+ {big,data,doc} large files to exclude from backup, smallish datasets,
51
+ binary files like pdf
52
+
53
+ options:
54
+ -h, --help show this help message and exit
55
+ ```
56
+
57
+ ### weeknumber (`wn`)
58
+
59
+ Get ISO year week numbers in YYYY-WDD format. Default weekend day is Saturday.
60
+
61
+ **Usage:**
62
+
63
+ ```sh
64
+ wn --help
65
+
66
+ Usage: wn [OPTIONS] [DATE]
67
+
68
+ ISO year week number of a date as YYYY-"W"WW. Default weekend day is Saturday.
69
+
70
+ Example:
71
+
72
+ $> wn 'Jul 22 2020' --last
73
+
74
+ 2020-W29
75
+
76
+ ╭─ Arguments ────────────────────────────────────────────────────────────────╮
77
+ │ date [DATE] A text expression of date, ex: 'November 27', or │
78
+ │ 2112-07-29. Default is today's in current TZ. │
79
+ │ [default: (dynamic)] │
80
+ ╰────────────────────────────────────────────────────────────────────────────╯
81
+ ╭─ Options ──────────────────────────────────────────────────────────────────╮
82
+ │ --sunday Week end is Saturday by default, this flag sets │
83
+ │ Sunday weekend day (ISO standard). │
84
+ │ --last Give week number of most recently completed week │
85
+ │ (overrides DATE argument). │
86
+ │ --verbose -v Full parsed date details for verification. │
87
+ │ --install-completion Install completion for the current shell. │
88
+ │ --show-completion Show completion for the current shell, to copy it │
89
+ │ or customize the installation. │
90
+ │ --help Show this message and exit. │
91
+ ╰────────────────────────────────────────────────────────────────────────────╯
92
+ ```
93
+
94
+ **Examples:**
95
+
96
+ ```sh
97
+ # Get current week number
98
+ wn
99
+
100
+ # Get week number for a specific date
101
+ wn 'Jul 22'
102
+
103
+ # Get last completed week number
104
+ wn --last
105
+
106
+ # Parse a specific date with details
107
+ wn 'November 27 2024' --verbose
108
+ ```
109
+
110
+ ---
111
+
112
+ ## Development
113
+
114
+ Built with modern Python tooling:
115
+
116
+ - **Build system:** `uv`
117
+ - **Deploy:** PyPI via GitHub Actions CI/CD
118
+ - **Package manager:** `uv`
119
+
120
+ ### Setup
121
+
122
+ ```sh
123
+ # Clone the repository
124
+ git clone https://github.com/mahiki/desertislandutils.git
125
+ cd desertislandutils
126
+
127
+ # Install dependencies (including dev extras)
128
+ uv sync --all-extras
129
+ ```
130
+
131
+ ### Testing
132
+
133
+ ```sh
134
+ # Run tests
135
+ just test
136
+
137
+ # Or directly with uv
138
+ uv run --extra test pytest --disable-warnings --verbose
139
+ ```
140
+
141
+ ### Local Development
142
+
143
+ ```sh
144
+ # Run commands directly from source
145
+ uv run wn --help
146
+ uv run too --help
147
+ ```
148
+
149
+ ### Project Tasks
150
+
151
+ See the `justfile` for available commands:
152
+
153
+ ```sh
154
+ just --list
155
+ ```
156
+
157
+ ## License
158
+
159
+ MIT
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "desertislandutils"
3
- version = "0.4.2"
3
+ version = "0.4.3"
4
4
  description = "A collection of personal convenience utilities"
5
5
  authors = [{name = "mahiki", email = "mahiki@users.noreply.github.com"}]
6
6
  license = {text = "MIT"}
@@ -13,6 +13,11 @@ dependencies = [
13
13
  "pendulum>=3.0.0",
14
14
  ]
15
15
 
16
+ [project.urls]
17
+ Homepage = "https://github.com/mahiki/desertislandutils"
18
+ Repository = "https://github.com/mahiki/desertislandutils"
19
+ Issues = "https://github.com/mahiki/desertislandutils/issues"
20
+
16
21
  [project.optional-dependencies]
17
22
  dev = [
18
23
  "ptpython>=3.0.23",
@@ -1,96 +0,0 @@
1
- Metadata-Version: 2.4
2
- Name: desertislandutils
3
- Version: 0.4.2
4
- Summary: A collection of personal convenience utilities
5
- Author-email: mahiki <mahiki@users.noreply.github.com>
6
- License: MIT
7
- Requires-Python: >=3.11
8
- Requires-Dist: argparse>=1.4.0
9
- Requires-Dist: gitpython>=3.1.27
10
- Requires-Dist: pendulum>=3.0.0
11
- Requires-Dist: typer>=0.12.0
12
- Provides-Extra: dev
13
- Requires-Dist: ptpython>=3.0.23; extra == 'dev'
14
- Provides-Extra: test
15
- Requires-Dist: pytest>=7.2.2; extra == 'test'
16
- Description-Content-Type: text/markdown
17
-
18
- # desertislandutils
19
- Refactoring my convenience utility bash scripts into python for learning and profit. Deployed for MacOS via homebrew, its really far better than shell scripting, yuck!
20
-
21
- ## INSTALL
22
- brew install mahiki/tap/desertislandutils
23
-
24
- ## THE UTILS
25
- ### toobigdatadoc
26
- I like to keep text files in one directory system, with supporting data files and binary documents in parallel directories from the home folder: `toobig`, `toodata`, `toodoc`. For example, its easy to exclude the whole `toobig` directory structure from backups, since there is nothing but huge files here.
27
-
28
- $HOME
29
- |-- toobig
30
- |-- # replicated folder paths with large files here, assume not to be backed up
31
- |-- toodata
32
- |-- # small-ish data files in support of the parallel root
33
- |-- toodoc
34
- |-- # usually pdfs or image files
35
-
36
- ```sh
37
- $> too --help
38
- usage: too [-h] {big,data,doc}
39
-
40
- Create symlinked parallel folders to contain data/binary files outside of git repo or away from source/text files.
41
-
42
- positional arguments:
43
- {big,data,doc} large files to exclude from backup, smallish datasets, binary files like pdf
44
-
45
- optional arguments:
46
- -h, --help show this help message and exit
47
- Kehena segovia: ~
48
- ```
49
-
50
- ### weeknumber
51
- ```sh
52
- wn --help
53
-
54
- Usage: wn [OPTIONS] [DATE]
55
-
56
- ISO year week number of a date as YYYY-WDD. Default weekend day is Sat.
57
- Example:
58
- $> wn 'Jul 22'
59
- 2023-W29
60
-
61
- ╭─ Arguments ───────────────────────────────────────────────────────────────────────────────────────────────────╮
62
- │ date [DATE] A text expression of date, ex: 'November 27', or 2112-07-29 [default: (dynamic)] │
63
- ╰───────────────────────────────────────────────────────────────────────────────────────────────────────────────╯
64
- ╭─ Options ─────────────────────────────────────────────────────────────────────────────────────────────────────╮
65
- │ --sunday Weekend is Saturday by default, this flag sets Sunday weekend day. │
66
- │ --last Give week number of most recently completed week (overrides DATE argument). │
67
- │ --verbose --no-verbose [default: no-verbose] │
68
- │ --install-completion Install completion for the current shell. │
69
- │ --show-completion Show completion for the current shell, to copy it or customize the installation. │
70
- │ --help Show this message and exit. │
71
- ╰───────────────────────────────────────────────────────────────────────────────────────────────────────────────╯
72
- ```
73
-
74
- ----------
75
- ## DEVELOPMENT
76
- >Trying to automate the merge tag homebrew tap repo upgrade thing. Its not going great.
77
-
78
- * build: poetry
79
- * deploy: poetry -> pypi -> homebrew
80
- * github CI actions
81
-
82
- ### JUSTFILE
83
- >Best documentation is in the Just taskrunner `justfile`.
84
-
85
- ```sh
86
- just info
87
-
88
- just wn --help
89
-
90
- # also direct into poetry environment
91
- poetry shell
92
- (desertislandutils)> wn --help
93
- ```
94
-
95
- ### Testing
96
- just test
@@ -1,79 +0,0 @@
1
- # desertislandutils
2
- Refactoring my convenience utility bash scripts into python for learning and profit. Deployed for MacOS via homebrew, its really far better than shell scripting, yuck!
3
-
4
- ## INSTALL
5
- brew install mahiki/tap/desertislandutils
6
-
7
- ## THE UTILS
8
- ### toobigdatadoc
9
- I like to keep text files in one directory system, with supporting data files and binary documents in parallel directories from the home folder: `toobig`, `toodata`, `toodoc`. For example, its easy to exclude the whole `toobig` directory structure from backups, since there is nothing but huge files here.
10
-
11
- $HOME
12
- |-- toobig
13
- |-- # replicated folder paths with large files here, assume not to be backed up
14
- |-- toodata
15
- |-- # small-ish data files in support of the parallel root
16
- |-- toodoc
17
- |-- # usually pdfs or image files
18
-
19
- ```sh
20
- $> too --help
21
- usage: too [-h] {big,data,doc}
22
-
23
- Create symlinked parallel folders to contain data/binary files outside of git repo or away from source/text files.
24
-
25
- positional arguments:
26
- {big,data,doc} large files to exclude from backup, smallish datasets, binary files like pdf
27
-
28
- optional arguments:
29
- -h, --help show this help message and exit
30
- Kehena segovia: ~
31
- ```
32
-
33
- ### weeknumber
34
- ```sh
35
- wn --help
36
-
37
- Usage: wn [OPTIONS] [DATE]
38
-
39
- ISO year week number of a date as YYYY-WDD. Default weekend day is Sat.
40
- Example:
41
- $> wn 'Jul 22'
42
- 2023-W29
43
-
44
- ╭─ Arguments ───────────────────────────────────────────────────────────────────────────────────────────────────╮
45
- │ date [DATE] A text expression of date, ex: 'November 27', or 2112-07-29 [default: (dynamic)] │
46
- ╰───────────────────────────────────────────────────────────────────────────────────────────────────────────────╯
47
- ╭─ Options ─────────────────────────────────────────────────────────────────────────────────────────────────────╮
48
- │ --sunday Weekend is Saturday by default, this flag sets Sunday weekend day. │
49
- │ --last Give week number of most recently completed week (overrides DATE argument). │
50
- │ --verbose --no-verbose [default: no-verbose] │
51
- │ --install-completion Install completion for the current shell. │
52
- │ --show-completion Show completion for the current shell, to copy it or customize the installation. │
53
- │ --help Show this message and exit. │
54
- ╰───────────────────────────────────────────────────────────────────────────────────────────────────────────────╯
55
- ```
56
-
57
- ----------
58
- ## DEVELOPMENT
59
- >Trying to automate the merge tag homebrew tap repo upgrade thing. Its not going great.
60
-
61
- * build: poetry
62
- * deploy: poetry -> pypi -> homebrew
63
- * github CI actions
64
-
65
- ### JUSTFILE
66
- >Best documentation is in the Just taskrunner `justfile`.
67
-
68
- ```sh
69
- just info
70
-
71
- just wn --help
72
-
73
- # also direct into poetry environment
74
- poetry shell
75
- (desertislandutils)> wn --help
76
- ```
77
-
78
- ### Testing
79
- just test