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.
Files changed (38) hide show
  1. {kanban_python-0.6.0 → kanban_python-0.6.2}/.github/workflows/ci.yml +2 -2
  2. kanban_python-0.6.2/.python-version +1 -0
  3. {kanban_python-0.6.0 → kanban_python-0.6.2}/CHANGELOG.md +7 -1
  4. kanban_python-0.6.2/Makefile +21 -0
  5. {kanban_python-0.6.0 → kanban_python-0.6.2}/PKG-INFO +10 -3
  6. {kanban_python-0.6.0 → kanban_python-0.6.2}/README.md +7 -0
  7. {kanban_python-0.6.0 → kanban_python-0.6.2}/pyproject.toml +5 -5
  8. {kanban_python-0.6.0 → kanban_python-0.6.2}/src/kanban_python/config.py +2 -2
  9. {kanban_python-0.6.0 → kanban_python-0.6.2}/src/kanban_python/controls.py +2 -2
  10. {kanban_python-0.6.0 → kanban_python-0.6.2}/src/kanban_python/utils.py +2 -2
  11. {kanban_python-0.6.0 → kanban_python-0.6.2}/tests/test_utils.py +1 -1
  12. kanban_python-0.6.2/uv.lock +534 -0
  13. kanban_python-0.6.0/.python-version +0 -1
  14. kanban_python-0.6.0/uv.lock +0 -446
  15. {kanban_python-0.6.0 → kanban_python-0.6.2}/.coveragerc +0 -0
  16. {kanban_python-0.6.0 → kanban_python-0.6.2}/.gitignore +0 -0
  17. {kanban_python-0.6.0 → kanban_python-0.6.2}/.pre-commit-config.yaml +0 -0
  18. {kanban_python-0.6.0 → kanban_python-0.6.2}/AUTHORS.md +0 -0
  19. {kanban_python-0.6.0 → kanban_python-0.6.2}/LICENSE.txt +0 -0
  20. {kanban_python-0.6.0 → kanban_python-0.6.2}/images/image_config.PNG +0 -0
  21. {kanban_python-0.6.0 → kanban_python-0.6.2}/images/image_header.PNG +0 -0
  22. {kanban_python-0.6.0 → kanban_python-0.6.2}/images/image_kanban.PNG +0 -0
  23. {kanban_python-0.6.0 → kanban_python-0.6.2}/images/image_kanban_change.PNG +0 -0
  24. {kanban_python-0.6.0 → kanban_python-0.6.2}/images/image_kanban_configure.PNG +0 -0
  25. {kanban_python-0.6.0 → kanban_python-0.6.2}/images/image_kanban_init.PNG +0 -0
  26. {kanban_python-0.6.0 → kanban_python-0.6.2}/images/image_kanban_report.PNG +0 -0
  27. {kanban_python-0.6.0 → kanban_python-0.6.2}/images/image_kanban_report_document.PNG +0 -0
  28. {kanban_python-0.6.0 → kanban_python-0.6.2}/images/image_scan_table.PNG +0 -0
  29. {kanban_python-0.6.0 → kanban_python-0.6.2}/images/image_scan_view.PNG +0 -0
  30. {kanban_python-0.6.0 → kanban_python-0.6.2}/images/image_task_example.PNG +0 -0
  31. {kanban_python-0.6.0 → kanban_python-0.6.2}/src/kanban_python/__init__.py +0 -0
  32. {kanban_python-0.6.0 → kanban_python-0.6.2}/src/kanban_python/app.py +0 -0
  33. {kanban_python-0.6.0 → kanban_python-0.6.2}/src/kanban_python/cli_parser.py +0 -0
  34. {kanban_python-0.6.0 → kanban_python-0.6.2}/src/kanban_python/constants.py +0 -0
  35. {kanban_python-0.6.0 → kanban_python-0.6.2}/src/kanban_python/interface.py +0 -0
  36. {kanban_python-0.6.0 → kanban_python-0.6.2}/tests/conftest.py +0 -0
  37. {kanban_python-0.6.0 → kanban_python-0.6.2}/tests/test_config.py +0 -0
  38. {kanban_python-0.6.0 → kanban_python-0.6.2}/tests/test_interface.py +0 -0
@@ -18,8 +18,8 @@ jobs:
18
18
  strategy:
19
19
  matrix:
20
20
  python-version:
21
- - "3.9"
22
- - "3.13"
21
+ - "3.10"
22
+ - "3.14"
23
23
  platform:
24
24
  - ubuntu-latest
25
25
  - macos-latest
@@ -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.0
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
- Requires-Python: >=3.9
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
  ![header](https://raw.githubusercontent.com/Zaloog/kanban-python/main/images/image_header.PNG)
@@ -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
  ![header](https://raw.githubusercontent.com/Zaloog/kanban-python/main/images/image_header.PNG)
@@ -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.0"
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"
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
- [tool.uv]
45
- dev-dependencies = [
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]