dsap-cli 1.0.0__tar.gz → 1.0.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 (32) hide show
  1. {dsap_cli-1.0.0 → dsap_cli-1.0.2}/.github/workflows/ci.yml +1 -1
  2. {dsap_cli-1.0.0 → dsap_cli-1.0.2}/.pre-commit-config.yaml +0 -5
  3. {dsap_cli-1.0.0 → dsap_cli-1.0.2}/PKG-INFO +4 -5
  4. {dsap_cli-1.0.0 → dsap_cli-1.0.2}/README.md +3 -4
  5. {dsap_cli-1.0.0 → dsap_cli-1.0.2}/pyproject.toml +5 -4
  6. {dsap_cli-1.0.0 → dsap_cli-1.0.2}/src/dsap/__init__.py +1 -0
  7. {dsap_cli-1.0.0 → dsap_cli-1.0.2}/src/dsap/_version.py +2 -2
  8. {dsap_cli-1.0.0 → dsap_cli-1.0.2}/src/dsap/database.py +5 -4
  9. dsap_cli-1.0.0/mypy.ini +0 -7
  10. {dsap_cli-1.0.0 → dsap_cli-1.0.2}/.gitignore +0 -0
  11. {dsap_cli-1.0.0 → dsap_cli-1.0.2}/CHANGELOG.md +0 -0
  12. {dsap_cli-1.0.0 → dsap_cli-1.0.2}/LICENSE +0 -0
  13. {dsap_cli-1.0.0 → dsap_cli-1.0.2}/USER_GUIDE.md +0 -0
  14. {dsap_cli-1.0.0 → dsap_cli-1.0.2}/assets/dsap-cli.gif +0 -0
  15. {dsap_cli-1.0.0 → dsap_cli-1.0.2}/src/dsap/__main__.py +0 -0
  16. {dsap_cli-1.0.0 → dsap_cli-1.0.2}/src/dsap/cli.py +0 -0
  17. {dsap_cli-1.0.0 → dsap_cli-1.0.2}/src/dsap/config.py +0 -0
  18. {dsap_cli-1.0.0 → dsap_cli-1.0.2}/src/dsap/data/blind75.yaml +0 -0
  19. {dsap_cli-1.0.0 → dsap_cli-1.0.2}/src/dsap/data/grind75.yaml +0 -0
  20. {dsap_cli-1.0.0 → dsap_cli-1.0.2}/src/dsap/data/neetcode150.yaml +0 -0
  21. {dsap_cli-1.0.0 → dsap_cli-1.0.2}/src/dsap/models.py +0 -0
  22. {dsap_cli-1.0.0 → dsap_cli-1.0.2}/src/dsap/problem_sets.py +0 -0
  23. {dsap_cli-1.0.0 → dsap_cli-1.0.2}/src/dsap/py.typed +0 -0
  24. {dsap_cli-1.0.0 → dsap_cli-1.0.2}/src/dsap/sm2.py +0 -0
  25. {dsap_cli-1.0.0 → dsap_cli-1.0.2}/src/dsap/ui.py +0 -0
  26. {dsap_cli-1.0.0 → dsap_cli-1.0.2}/tests/__init__.py +0 -0
  27. {dsap_cli-1.0.0 → dsap_cli-1.0.2}/tests/test_config.py +0 -0
  28. {dsap_cli-1.0.0 → dsap_cli-1.0.2}/tests/test_database.py +0 -0
  29. {dsap_cli-1.0.0 → dsap_cli-1.0.2}/tests/test_models.py +0 -0
  30. {dsap_cli-1.0.0 → dsap_cli-1.0.2}/tests/test_problem_sets.py +0 -0
  31. {dsap_cli-1.0.0 → dsap_cli-1.0.2}/tests/test_sm2.py +0 -0
  32. {dsap_cli-1.0.0 → dsap_cli-1.0.2}/uv.lock +0 -0
@@ -33,7 +33,7 @@ jobs:
33
33
  run: uv run ruff check .
34
34
 
35
35
  - name: Type check
36
- run: uv run mypy --config-file mypy.ini src
36
+ run: uv run mypy src
37
37
 
38
38
  - name: Run tests with coverage
39
39
  run: uv run pytest --cov=src/dsap --cov-report=xml
@@ -5,8 +5,3 @@ repos:
5
5
  - id: ruff
6
6
  args: ["--fix"]
7
7
  - id: ruff-format
8
-
9
- - repo: https://github.com/pre-commit/mirrors-mypy
10
- rev: v1.10.0
11
- hooks:
12
- - id: mypy
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: dsap-cli
3
- Version: 1.0.0
3
+ Version: 1.0.2
4
4
  Summary: CLI tool for practicing data structures and algorithms using spaced repetition.
5
5
  Project-URL: Repository, https://github.com/juma-paul/dsap-cli
6
6
  Project-URL: Issues, https://github.com/juma-paul/dsap-cli/issues
@@ -30,11 +30,10 @@ Description-Content-Type: text/markdown
30
30
  ![PyPI downloads](https://img.shields.io/pypi/dm/dsap-cli)
31
31
  ![Python Versions](https://img.shields.io/pypi/pyversions/dsap-cli)
32
32
  ![License](https://img.shields.io/pypi/l/dsap-cli)
33
- ![Version](https://img.shields.io/github/v/tag/juma-paul/dsap-cli?label=version)
34
33
 
35
34
  DSAP is a terminal-first CLI that schedules coding interview problems using the **SM-2 spaced repetition algorithm**, <br />helping you retain patterns long-term instead of forgetting them after solving once.
36
35
 
37
- ## ![dsap-cli Demo](assets/dsap-cli.gif)
36
+ ![dsap-cli Demo](https://raw.githubusercontent.com/juma-paul/dsap-cli/main/assets/dsap-cli.gif)
38
37
 
39
38
  # Why DSAP?
40
39
 
@@ -258,13 +257,13 @@ uv run pytest
258
257
 
259
258
  See the full release history in:
260
259
 
261
- [CHANGELOG.md](./CHANGELOG.md)
260
+ [CHANGELOG.md](https://github.com/juma-paul/dsap-cli/blob/main/CHANGELOG.md)
262
261
 
263
262
  ---
264
263
 
265
264
  # License
266
265
 
267
- This project is open source and available under the [MIT License](./LICENSE).
266
+ This project is open source and available under the [MIT License](https://github.com/juma-paul/dsap-cli/blob/main/LICENSE).
268
267
 
269
268
  ---
270
269
 
@@ -6,11 +6,10 @@
6
6
  ![PyPI downloads](https://img.shields.io/pypi/dm/dsap-cli)
7
7
  ![Python Versions](https://img.shields.io/pypi/pyversions/dsap-cli)
8
8
  ![License](https://img.shields.io/pypi/l/dsap-cli)
9
- ![Version](https://img.shields.io/github/v/tag/juma-paul/dsap-cli?label=version)
10
9
 
11
10
  DSAP is a terminal-first CLI that schedules coding interview problems using the **SM-2 spaced repetition algorithm**, <br />helping you retain patterns long-term instead of forgetting them after solving once.
12
11
 
13
- ## ![dsap-cli Demo](assets/dsap-cli.gif)
12
+ ![dsap-cli Demo](https://raw.githubusercontent.com/juma-paul/dsap-cli/main/assets/dsap-cli.gif)
14
13
 
15
14
  # Why DSAP?
16
15
 
@@ -234,13 +233,13 @@ uv run pytest
234
233
 
235
234
  See the full release history in:
236
235
 
237
- [CHANGELOG.md](./CHANGELOG.md)
236
+ [CHANGELOG.md](https://github.com/juma-paul/dsap-cli/blob/main/CHANGELOG.md)
238
237
 
239
238
  ---
240
239
 
241
240
  # License
242
241
 
243
- This project is open source and available under the [MIT License](./LICENSE).
242
+ This project is open source and available under the [MIT License](https://github.com/juma-paul/dsap-cli/blob/main/LICENSE).
244
243
 
245
244
  ---
246
245
 
@@ -75,7 +75,8 @@ select = ["E", "F", "I", "B"]
75
75
  [tool.mypy]
76
76
  python_version = "3.10"
77
77
  pretty = true
78
- strict = false
79
- ignore_missing_imports = true
80
- disallow_untyped_decorators = false
81
- disallow_untyped_defs = false
78
+ strict = true
79
+
80
+ [[tool.mypy.overrides]]
81
+ module = "tests.*"
82
+ ignore_errors = true
@@ -23,3 +23,4 @@ except ImportError:
23
23
  __version__ = "0.0.0.dev"
24
24
 
25
25
  __author__ = "Juma Paul"
26
+ __all__ = ["__version__", "__author__"]
@@ -18,7 +18,7 @@ version_tuple: tuple[int | str, ...]
18
18
  commit_id: str | None
19
19
  __commit_id__: str | None
20
20
 
21
- __version__ = version = '1.0.0'
22
- __version_tuple__ = version_tuple = (1, 0, 0)
21
+ __version__ = version = '1.0.2'
22
+ __version_tuple__ = version_tuple = (1, 0, 2)
23
23
 
24
24
  __commit_id__ = commit_id = None
@@ -13,6 +13,7 @@ from collections.abc import Iterator
13
13
  from contextlib import contextmanager
14
14
  from datetime import datetime, timedelta
15
15
  from pathlib import Path
16
+ from typing import Any
16
17
 
17
18
  from dsap.models import (
18
19
  Difficulty,
@@ -221,7 +222,7 @@ class Database:
221
222
  List of (Problem, ProblemProgress or None) tuples
222
223
  """
223
224
  conditions = []
224
- params: list = []
225
+ params: list[Any] = []
225
226
 
226
227
  if difficulty:
227
228
  conditions.append("p.difficulty = ?")
@@ -323,7 +324,7 @@ class Database:
323
324
  """
324
325
  now = datetime.now().isoformat()
325
326
  conditions = ["(pr.next_review <= ? OR pr.next_review IS NULL)"]
326
- params: list = [now]
327
+ params: list[Any] = [now]
327
328
 
328
329
  if difficulty:
329
330
  conditions.append("p.difficulty = ?")
@@ -362,7 +363,7 @@ class Database:
362
363
  ) -> list[Problem]:
363
364
  """Get problems that have never been reviewed."""
364
365
  conditions = ["pr.problem_id IS NULL"]
365
- params: list = []
366
+ params: list[Any] = []
366
367
 
367
368
  if problem_set:
368
369
  conditions.append("p.problem_set = ?")
@@ -401,7 +402,7 @@ class Database:
401
402
  with self._connect() as conn:
402
403
  # Build common WHERE conditions
403
404
  conditions = []
404
- params: list = []
405
+ params: list[Any] = []
405
406
 
406
407
  if difficulty:
407
408
  conditions.append("p.difficulty = ?")
dsap_cli-1.0.0/mypy.ini DELETED
@@ -1,7 +0,0 @@
1
- [mypy]
2
-
3
- [mypy-tests.*]
4
- ignore_errors = True
5
-
6
- [mypy-yaml.*]
7
- ignore_missing_imports = True
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes