kanban-python 0.6.0__tar.gz → 0.6.2__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.
- {kanban_python-0.6.0 → kanban_python-0.6.2}/.github/workflows/ci.yml +2 -2
- kanban_python-0.6.2/.python-version +1 -0
- {kanban_python-0.6.0 → kanban_python-0.6.2}/CHANGELOG.md +7 -1
- kanban_python-0.6.2/Makefile +21 -0
- {kanban_python-0.6.0 → kanban_python-0.6.2}/PKG-INFO +10 -3
- {kanban_python-0.6.0 → kanban_python-0.6.2}/README.md +7 -0
- {kanban_python-0.6.0 → kanban_python-0.6.2}/pyproject.toml +5 -5
- {kanban_python-0.6.0 → kanban_python-0.6.2}/src/kanban_python/config.py +2 -2
- {kanban_python-0.6.0 → kanban_python-0.6.2}/src/kanban_python/controls.py +2 -2
- {kanban_python-0.6.0 → kanban_python-0.6.2}/src/kanban_python/utils.py +2 -2
- {kanban_python-0.6.0 → kanban_python-0.6.2}/tests/test_utils.py +1 -1
- kanban_python-0.6.2/uv.lock +534 -0
- kanban_python-0.6.0/.python-version +0 -1
- kanban_python-0.6.0/uv.lock +0 -446
- {kanban_python-0.6.0 → kanban_python-0.6.2}/.coveragerc +0 -0
- {kanban_python-0.6.0 → kanban_python-0.6.2}/.gitignore +0 -0
- {kanban_python-0.6.0 → kanban_python-0.6.2}/.pre-commit-config.yaml +0 -0
- {kanban_python-0.6.0 → kanban_python-0.6.2}/AUTHORS.md +0 -0
- {kanban_python-0.6.0 → kanban_python-0.6.2}/LICENSE.txt +0 -0
- {kanban_python-0.6.0 → kanban_python-0.6.2}/images/image_config.PNG +0 -0
- {kanban_python-0.6.0 → kanban_python-0.6.2}/images/image_header.PNG +0 -0
- {kanban_python-0.6.0 → kanban_python-0.6.2}/images/image_kanban.PNG +0 -0
- {kanban_python-0.6.0 → kanban_python-0.6.2}/images/image_kanban_change.PNG +0 -0
- {kanban_python-0.6.0 → kanban_python-0.6.2}/images/image_kanban_configure.PNG +0 -0
- {kanban_python-0.6.0 → kanban_python-0.6.2}/images/image_kanban_init.PNG +0 -0
- {kanban_python-0.6.0 → kanban_python-0.6.2}/images/image_kanban_report.PNG +0 -0
- {kanban_python-0.6.0 → kanban_python-0.6.2}/images/image_kanban_report_document.PNG +0 -0
- {kanban_python-0.6.0 → kanban_python-0.6.2}/images/image_scan_table.PNG +0 -0
- {kanban_python-0.6.0 → kanban_python-0.6.2}/images/image_scan_view.PNG +0 -0
- {kanban_python-0.6.0 → kanban_python-0.6.2}/images/image_task_example.PNG +0 -0
- {kanban_python-0.6.0 → kanban_python-0.6.2}/src/kanban_python/__init__.py +0 -0
- {kanban_python-0.6.0 → kanban_python-0.6.2}/src/kanban_python/app.py +0 -0
- {kanban_python-0.6.0 → kanban_python-0.6.2}/src/kanban_python/cli_parser.py +0 -0
- {kanban_python-0.6.0 → kanban_python-0.6.2}/src/kanban_python/constants.py +0 -0
- {kanban_python-0.6.0 → kanban_python-0.6.2}/src/kanban_python/interface.py +0 -0
- {kanban_python-0.6.0 → kanban_python-0.6.2}/tests/conftest.py +0 -0
- {kanban_python-0.6.0 → kanban_python-0.6.2}/tests/test_config.py +0 -0
- {kanban_python-0.6.0 → kanban_python-0.6.2}/tests/test_interface.py +0 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
3.14
|
|
@@ -1,6 +1,12 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
-
## Version 0.6
|
|
3
|
+
## Version 0.6.2
|
|
4
|
+
- Drop Python 3.9 Support, update dependencies to fix vulnerability due to filelock package
|
|
5
|
+
|
|
6
|
+
## Version 0.6.1
|
|
7
|
+
- Fix encoding to use utf-8 in all file operations
|
|
8
|
+
|
|
9
|
+
## Version 0.6.0
|
|
4
10
|
- Added proper console clear, to prevent multiple board versions being in view
|
|
5
11
|
|
|
6
12
|
## Version 0.5.2
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
.PHONY: all
|
|
2
|
+
MAKE := make --no-print-directory
|
|
3
|
+
RUN := uv run
|
|
4
|
+
VERSION := v$(shell uv version --short)
|
|
5
|
+
|
|
6
|
+
|
|
7
|
+
# -- Testing ---
|
|
8
|
+
test:
|
|
9
|
+
$(RUN) pytest $(ARGS) --no-cov
|
|
10
|
+
|
|
11
|
+
check:
|
|
12
|
+
$(RUN) ruff check . $(ARGS)
|
|
13
|
+
$(RUN) mypy . $(ARGS)
|
|
14
|
+
|
|
15
|
+
release:
|
|
16
|
+
git tag $(VERSION)
|
|
17
|
+
git push origin $(VERSION)
|
|
18
|
+
|
|
19
|
+
notes:
|
|
20
|
+
# Thanks Will
|
|
21
|
+
gh release create --generate-notes $(VERSION)
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: kanban-python
|
|
3
|
-
Version: 0.6.
|
|
3
|
+
Version: 0.6.2
|
|
4
4
|
Summary: Terminal Kanban App written in Python
|
|
5
5
|
Project-URL: Repository, https://github.com/Zaloog/kanban-python
|
|
6
6
|
Project-URL: Changelog, https://github.com/Zaloog/kanban-python/blob/main/CHANGELOG.md
|
|
@@ -33,12 +33,12 @@ Classifier: License :: OSI Approved :: MIT License
|
|
|
33
33
|
Classifier: Operating System :: OS Independent
|
|
34
34
|
Classifier: Programming Language :: Python
|
|
35
35
|
Classifier: Programming Language :: Python :: 3 :: Only
|
|
36
|
-
Classifier: Programming Language :: Python :: 3.9
|
|
37
36
|
Classifier: Programming Language :: Python :: 3.10
|
|
38
37
|
Classifier: Programming Language :: Python :: 3.11
|
|
39
38
|
Classifier: Programming Language :: Python :: 3.12
|
|
40
39
|
Classifier: Programming Language :: Python :: 3.13
|
|
41
|
-
|
|
40
|
+
Classifier: Programming Language :: Python :: 3.14
|
|
41
|
+
Requires-Python: >=3.10
|
|
42
42
|
Requires-Dist: platformdirs>=4.3.6
|
|
43
43
|
Requires-Dist: rich>=13.9.4
|
|
44
44
|
Description-Content-Type: text/markdown
|
|
@@ -66,6 +66,10 @@ Description-Content-Type: text/markdown
|
|
|
66
66
|
> A Terminal Kanban Application written in Python to boost your productivity :rocket:
|
|
67
67
|
|
|
68
68
|
## Introduction
|
|
69
|
+
> Note: I am no longer actively working on this project (besides bug fixes),
|
|
70
|
+
you might take a look at the next iteration [kanban-tui],
|
|
71
|
+
which offers a better kanban experience with a full TUI build with [textual]
|
|
72
|
+
|
|
69
73
|
Welcome to **kanban-python**, your Terminal Kanban-Board Manager.
|
|
70
74
|
|
|
71
75
|

|
|
@@ -253,3 +257,6 @@ needed to continue working with your already created boards if you update from `
|
|
|
253
257
|
[pipx]: https://github.com/pypa/pipx
|
|
254
258
|
[uv]: https://docs.astral.sh/uv/
|
|
255
259
|
[rye]: https://rye.astral.sh
|
|
260
|
+
|
|
261
|
+
[kanban-tui]: https://github.com/Zaloog/kanban-tui
|
|
262
|
+
[textual]: https://textual.textualize.io/
|
|
@@ -21,6 +21,10 @@
|
|
|
21
21
|
> A Terminal Kanban Application written in Python to boost your productivity :rocket:
|
|
22
22
|
|
|
23
23
|
## Introduction
|
|
24
|
+
> Note: I am no longer actively working on this project (besides bug fixes),
|
|
25
|
+
you might take a look at the next iteration [kanban-tui],
|
|
26
|
+
which offers a better kanban experience with a full TUI build with [textual]
|
|
27
|
+
|
|
24
28
|
Welcome to **kanban-python**, your Terminal Kanban-Board Manager.
|
|
25
29
|
|
|
26
30
|

|
|
@@ -208,3 +212,6 @@ needed to continue working with your already created boards if you update from `
|
|
|
208
212
|
[pipx]: https://github.com/pypa/pipx
|
|
209
213
|
[uv]: https://docs.astral.sh/uv/
|
|
210
214
|
[rye]: https://rye.astral.sh
|
|
215
|
+
|
|
216
|
+
[kanban-tui]: https://github.com/Zaloog/kanban-tui
|
|
217
|
+
[textual]: https://textual.textualize.io/
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
[project]
|
|
2
2
|
name = "kanban-python"
|
|
3
|
-
version = "0.6.
|
|
3
|
+
version = "0.6.2"
|
|
4
4
|
description = "Terminal Kanban App written in Python"
|
|
5
5
|
readme = "README.md"
|
|
6
6
|
authors = [
|
|
7
7
|
{ name = "Zaloog", email = "gramslars@gmail.com" }
|
|
8
8
|
]
|
|
9
|
-
requires-python = ">=3.
|
|
9
|
+
requires-python = ">=3.10"
|
|
10
10
|
license = { file = "LICENSE.txt" }
|
|
11
11
|
dependencies = [
|
|
12
12
|
"platformdirs>=4.3.6",
|
|
@@ -18,11 +18,11 @@ classifiers = [
|
|
|
18
18
|
"License :: OSI Approved :: MIT License",
|
|
19
19
|
"Operating System :: OS Independent",
|
|
20
20
|
"Programming Language :: Python",
|
|
21
|
-
"Programming Language :: Python :: 3.9",
|
|
22
21
|
"Programming Language :: Python :: 3.10",
|
|
23
22
|
"Programming Language :: Python :: 3.11",
|
|
24
23
|
"Programming Language :: Python :: 3.12",
|
|
25
24
|
"Programming Language :: Python :: 3.13",
|
|
25
|
+
"Programming Language :: Python :: 3.14",
|
|
26
26
|
"Programming Language :: Python :: 3 :: Only",
|
|
27
27
|
]
|
|
28
28
|
|
|
@@ -41,8 +41,8 @@ build-backend = "hatchling.build"
|
|
|
41
41
|
addopts = "--cov src/kanban_python --cov-report term-missing --verbose --color=yes"
|
|
42
42
|
testpaths = ["tests"]
|
|
43
43
|
|
|
44
|
-
[
|
|
45
|
-
dev
|
|
44
|
+
[dependency-groups]
|
|
45
|
+
dev = [
|
|
46
46
|
"freezegun>=1.5.1",
|
|
47
47
|
"pre-commit>=4.0.1",
|
|
48
48
|
"pytest>=8.3.3",
|
|
@@ -32,7 +32,7 @@ class KanbanConfig:
|
|
|
32
32
|
return output
|
|
33
33
|
|
|
34
34
|
def save(self):
|
|
35
|
-
with open(self.configpath, "w") as configfile:
|
|
35
|
+
with open(self.configpath, "w", encoding="utf-8") as configfile:
|
|
36
36
|
self.config.write(configfile)
|
|
37
37
|
|
|
38
38
|
@property
|
|
@@ -153,7 +153,7 @@ def create_init_config(conf_path=CONFIG_PATH, data_path=DATA_PATH):
|
|
|
153
153
|
data_path.mkdir(exist_ok=True)
|
|
154
154
|
(data_path / KANBAN_BOARDS_FOLDER_NAME).mkdir(exist_ok=True)
|
|
155
155
|
|
|
156
|
-
with open(conf_path / CONFIG_FILE_NAME, "w") as configfile:
|
|
156
|
+
with open(conf_path / CONFIG_FILE_NAME, "w", encoding="utf-8") as configfile:
|
|
157
157
|
config.write(configfile)
|
|
158
158
|
console.print(
|
|
159
159
|
f"Welcome, I Created a new [orange3]{CONFIG_FILE_NAME}[/] file "
|
|
@@ -122,7 +122,7 @@ def add_tasks_to_db(tasks: dict | list[dict]) -> None:
|
|
|
122
122
|
save_db(data=db_data)
|
|
123
123
|
|
|
124
124
|
|
|
125
|
-
def read_db(path: str = None) -> dict:
|
|
125
|
+
def read_db(path: str | None = None) -> dict:
|
|
126
126
|
if not path:
|
|
127
127
|
path = cfg.active_board_path
|
|
128
128
|
|
|
@@ -147,7 +147,7 @@ def read_db(path: str = None) -> dict:
|
|
|
147
147
|
|
|
148
148
|
|
|
149
149
|
def read_single_board(path):
|
|
150
|
-
with open(path, "r") as file:
|
|
150
|
+
with open(path, "r", encoding="utf-8") as file:
|
|
151
151
|
data = load(file)
|
|
152
152
|
return data
|
|
153
153
|
|
|
@@ -123,7 +123,7 @@ def scan_for_todos(
|
|
|
123
123
|
|
|
124
124
|
for file_path in file_paths:
|
|
125
125
|
prog.update(task_id=task, advance=1)
|
|
126
|
-
with open(file_path, "r") as file:
|
|
126
|
+
with open(file_path, "r", encoding="utf-8") as file:
|
|
127
127
|
try:
|
|
128
128
|
todos += [
|
|
129
129
|
(line.strip(), str(Path(file_path).relative_to(rel_path)))
|
|
@@ -222,7 +222,7 @@ def create_report_document(path: Path, boards_dict: dict):
|
|
|
222
222
|
).date()
|
|
223
223
|
date_dict[completion_date].append(f"- {task['Tag']} {task['Title']}\n")
|
|
224
224
|
|
|
225
|
-
with open(path / REPORT_FILE_NAME, "w") as report_file:
|
|
225
|
+
with open(path / REPORT_FILE_NAME, "w", encoding="utf-8") as report_file:
|
|
226
226
|
last_year = ""
|
|
227
227
|
last_month = ""
|
|
228
228
|
last_day = ""
|
|
@@ -133,7 +133,7 @@ def test_scan_todos(test_config, tmp_path):
|
|
|
133
133
|
cfg = test_config
|
|
134
134
|
file_path = tmp_path / "file.py"
|
|
135
135
|
file_path.touch()
|
|
136
|
-
with open(file_path, "w") as file:
|
|
136
|
+
with open(file_path, "w", encoding="utf-8") as file:
|
|
137
137
|
file.write("# TODO: Pytest is cool")
|
|
138
138
|
|
|
139
139
|
list_input = [file_path]
|