worklogs 0.1.0__py3-none-any.whl
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.
- worklogs/__init__.py +7 -0
- worklogs/cli.py +31 -0
- worklogs/py.typed +1 -0
- worklogs-0.1.0.dist-info/METADATA +125 -0
- worklogs-0.1.0.dist-info/RECORD +7 -0
- worklogs-0.1.0.dist-info/WHEEL +4 -0
- worklogs-0.1.0.dist-info/entry_points.txt +2 -0
worklogs/__init__.py
ADDED
worklogs/cli.py
ADDED
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
"""Command-line entry point for worklogs."""
|
|
2
|
+
|
|
3
|
+
from __future__ import annotations
|
|
4
|
+
|
|
5
|
+
import argparse
|
|
6
|
+
from typing import TYPE_CHECKING
|
|
7
|
+
|
|
8
|
+
from worklogs import __version__
|
|
9
|
+
|
|
10
|
+
if TYPE_CHECKING:
|
|
11
|
+
from collections.abc import Sequence
|
|
12
|
+
|
|
13
|
+
|
|
14
|
+
def build_parser() -> argparse.ArgumentParser:
|
|
15
|
+
"""Build the command-line parser."""
|
|
16
|
+
parser = argparse.ArgumentParser(
|
|
17
|
+
prog="worklogs",
|
|
18
|
+
description="Create and maintain local worklog files.",
|
|
19
|
+
)
|
|
20
|
+
parser.add_argument(
|
|
21
|
+
"--version",
|
|
22
|
+
action="version",
|
|
23
|
+
version=f"%(prog)s {__version__}",
|
|
24
|
+
)
|
|
25
|
+
return parser
|
|
26
|
+
|
|
27
|
+
|
|
28
|
+
def main(argv: Sequence[str] | None = None) -> int:
|
|
29
|
+
"""Run the worklogs command-line interface."""
|
|
30
|
+
build_parser().parse_args(argv)
|
|
31
|
+
return 0
|
worklogs/py.typed
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
|
|
@@ -0,0 +1,125 @@
|
|
|
1
|
+
Metadata-Version: 2.4
|
|
2
|
+
Name: worklogs
|
|
3
|
+
Version: 0.1.0
|
|
4
|
+
Summary: Local markdown worklog helpers for developer workflows.
|
|
5
|
+
Project-URL: Homepage, https://github.com/alik-git/worklogs
|
|
6
|
+
Project-URL: Repository, https://github.com/alik-git/worklogs
|
|
7
|
+
Project-URL: Issues, https://github.com/alik-git/worklogs/issues
|
|
8
|
+
Author-email: Ali K <alikgithb@gmail.com>
|
|
9
|
+
Maintainer-email: Ali K <alikgithb@gmail.com>
|
|
10
|
+
Keywords: cli,developer-tools,markdown,notes,worklog
|
|
11
|
+
Classifier: Development Status :: 3 - Alpha
|
|
12
|
+
Classifier: Environment :: Console
|
|
13
|
+
Classifier: Intended Audience :: Developers
|
|
14
|
+
Classifier: Programming Language :: Python :: 3
|
|
15
|
+
Classifier: Programming Language :: Python :: 3.11
|
|
16
|
+
Classifier: Programming Language :: Python :: 3.12
|
|
17
|
+
Classifier: Programming Language :: Python :: 3.13
|
|
18
|
+
Classifier: Typing :: Typed
|
|
19
|
+
Requires-Python: >=3.11
|
|
20
|
+
Provides-Extra: dev
|
|
21
|
+
Requires-Dist: build>=1.2; extra == 'dev'
|
|
22
|
+
Requires-Dist: mypy>=1.15; extra == 'dev'
|
|
23
|
+
Requires-Dist: pre-commit>=4.0; extra == 'dev'
|
|
24
|
+
Requires-Dist: pytest>=8.0; extra == 'dev'
|
|
25
|
+
Requires-Dist: ruff>=0.11; extra == 'dev'
|
|
26
|
+
Description-Content-Type: text/markdown
|
|
27
|
+
|
|
28
|
+
# worklogs
|
|
29
|
+
|
|
30
|
+
Local markdown worklog helpers for developer workflows.
|
|
31
|
+
|
|
32
|
+
This initial package release establishes the public package name, metadata,
|
|
33
|
+
typed Python package layout, command entry point, CI, and PyPI trusted
|
|
34
|
+
publishing path. The worklog creation and companion-note workflow will be added
|
|
35
|
+
in follow-up releases.
|
|
36
|
+
|
|
37
|
+
## Installation
|
|
38
|
+
|
|
39
|
+
```bash
|
|
40
|
+
python -m pip install worklogs
|
|
41
|
+
```
|
|
42
|
+
|
|
43
|
+
For local development:
|
|
44
|
+
|
|
45
|
+
```bash
|
|
46
|
+
uv sync --extra dev
|
|
47
|
+
```
|
|
48
|
+
|
|
49
|
+
Standard Python fallback:
|
|
50
|
+
|
|
51
|
+
```bash
|
|
52
|
+
python -m pip install -e ".[dev]"
|
|
53
|
+
```
|
|
54
|
+
|
|
55
|
+
## Usage
|
|
56
|
+
|
|
57
|
+
```bash
|
|
58
|
+
worklogs --version
|
|
59
|
+
```
|
|
60
|
+
|
|
61
|
+
For shorter personal shell usage, add a local alias:
|
|
62
|
+
|
|
63
|
+
```bash
|
|
64
|
+
alias wl='worklogs'
|
|
65
|
+
```
|
|
66
|
+
|
|
67
|
+
The package installs the explicit `worklogs` command; `wl` is intentionally left
|
|
68
|
+
as a shell-level shortcut so it cannot shadow another global command.
|
|
69
|
+
|
|
70
|
+
## Development Workflow
|
|
71
|
+
|
|
72
|
+
Run the standard checks before opening a PR:
|
|
73
|
+
|
|
74
|
+
```bash
|
|
75
|
+
uv run ruff format --check .
|
|
76
|
+
uv run ruff check .
|
|
77
|
+
uv run mypy
|
|
78
|
+
uv run pytest
|
|
79
|
+
uv build
|
|
80
|
+
```
|
|
81
|
+
|
|
82
|
+
If you are using standard Python tools instead of uv:
|
|
83
|
+
|
|
84
|
+
```bash
|
|
85
|
+
python -m ruff format --check .
|
|
86
|
+
python -m ruff check .
|
|
87
|
+
python -m mypy
|
|
88
|
+
python -m pytest
|
|
89
|
+
python -m build
|
|
90
|
+
```
|
|
91
|
+
|
|
92
|
+
## CI / GitHub Actions
|
|
93
|
+
|
|
94
|
+
GitHub Actions runs:
|
|
95
|
+
|
|
96
|
+
- fast Ruff-only checks
|
|
97
|
+
- Ruff, mypy, and pytest
|
|
98
|
+
- package build and wheel smoke test with pip
|
|
99
|
+
- package build and wheel smoke test with uv
|
|
100
|
+
|
|
101
|
+
The release workflow in [`.github/workflows/release.yml`](.github/workflows/release.yml)
|
|
102
|
+
builds and publishes the package to PyPI when a GitHub Release is published.
|
|
103
|
+
|
|
104
|
+
## Publishing
|
|
105
|
+
|
|
106
|
+
This project uses PyPI Trusted Publishing. The PyPI pending publisher should be:
|
|
107
|
+
|
|
108
|
+
```text
|
|
109
|
+
PyPI project name: worklogs
|
|
110
|
+
Owner: alik-git
|
|
111
|
+
Repository name: worklogs
|
|
112
|
+
Workflow name: release.yml
|
|
113
|
+
Environment name: pypi
|
|
114
|
+
```
|
|
115
|
+
|
|
116
|
+
Create a GitHub Release for the version in [`pyproject.toml`](pyproject.toml):
|
|
117
|
+
|
|
118
|
+
```bash
|
|
119
|
+
gh release create v0.1.0 \
|
|
120
|
+
--title "v0.1.0" \
|
|
121
|
+
--notes "Initial package metadata release."
|
|
122
|
+
```
|
|
123
|
+
|
|
124
|
+
Publishing is release-driven on purpose: normal pushes and pull requests build
|
|
125
|
+
and test the package, but only GitHub Releases publish to PyPI.
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
worklogs/__init__.py,sha256=NKFyco1FQJaknzyhjowD0QQ67idyZ67K2PFfNHXTjp8,114
|
|
2
|
+
worklogs/cli.py,sha256=omOG3_mFW0kjet6AOOkUOZv4K-mEd5hKSWHEVR_l5w0,741
|
|
3
|
+
worklogs/py.typed,sha256=AbpHGcgLb-kRsJGnwFEktk7uzpZOCcBY74-YBdrKVGs,1
|
|
4
|
+
worklogs-0.1.0.dist-info/METADATA,sha256=J11tYZTmy6wTLiEIoJ-o_83VlrewS77q2-ikZQqicEc,3144
|
|
5
|
+
worklogs-0.1.0.dist-info/WHEEL,sha256=QccIxa26bgl1E6uMy58deGWi-0aeIkkangHcxk2kWfw,87
|
|
6
|
+
worklogs-0.1.0.dist-info/entry_points.txt,sha256=TE_C0ehBksPfuTVfGvsCX_vb_r_tsBnUctOr-AeuAAg,47
|
|
7
|
+
worklogs-0.1.0.dist-info/RECORD,,
|