lastread 0.20.0__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 (120) hide show
  1. lastread-0.20.0/.gitignore +10 -0
  2. lastread-0.20.0/CHANGELOG.md +721 -0
  3. lastread-0.20.0/LICENSE +21 -0
  4. lastread-0.20.0/PKG-INFO +546 -0
  5. lastread-0.20.0/README.md +514 -0
  6. lastread-0.20.0/THIRD-PARTY-NOTICES.md +114 -0
  7. lastread-0.20.0/docs/hardcover-api.md +153 -0
  8. lastread-0.20.0/docs/how-it-works.md +206 -0
  9. lastread-0.20.0/docs/img/books.png +0 -0
  10. lastread-0.20.0/docs/img/match.png +0 -0
  11. lastread-0.20.0/docs/img/phone-night.png +0 -0
  12. lastread-0.20.0/docs/img/sync.svg +34 -0
  13. lastread-0.20.0/docs/local-mode.md +225 -0
  14. lastread-0.20.0/docs/macos-app.md +491 -0
  15. lastread-0.20.0/docs/plans/2026-10-24-mac-app-native-books-design.md +157 -0
  16. lastread-0.20.0/docs/plans/2026-10-24-mac-app-window-design.md +129 -0
  17. lastread-0.20.0/docs/plans/2026-10-26-mac-app-server-books-and-covers-design.md +162 -0
  18. lastread-0.20.0/docs/releasing.md +110 -0
  19. lastread-0.20.0/docs/site.md +109 -0
  20. lastread-0.20.0/docs/sync-rules.md +373 -0
  21. lastread-0.20.0/docs/webhook.md +118 -0
  22. lastread-0.20.0/examples/docker-compose.example.yml +52 -0
  23. lastread-0.20.0/packaging/homebrew/README.md +105 -0
  24. lastread-0.20.0/pyproject.toml +90 -0
  25. lastread-0.20.0/src/lastread/__init__.py +21 -0
  26. lastread-0.20.0/src/lastread/__main__.py +3 -0
  27. lastread-0.20.0/src/lastread/appbooks.py +153 -0
  28. lastread-0.20.0/src/lastread/booklist.py +302 -0
  29. lastread-0.20.0/src/lastread/cli.py +1296 -0
  30. lastread-0.20.0/src/lastread/computer/__init__.py +10 -0
  31. lastread-0.20.0/src/lastread/computer/config.py +98 -0
  32. lastread-0.20.0/src/lastread/computer/history.py +69 -0
  33. lastread-0.20.0/src/lastread/computer/linux.py +222 -0
  34. lastread-0.20.0/src/lastread/computer/macos.py +330 -0
  35. lastread-0.20.0/src/lastread/computer/page.py +238 -0
  36. lastread-0.20.0/src/lastread/computer/platform.py +98 -0
  37. lastread-0.20.0/src/lastread/computer/remote.py +123 -0
  38. lastread-0.20.0/src/lastread/computer/runner.py +494 -0
  39. lastread-0.20.0/src/lastread/computer/update.py +139 -0
  40. lastread-0.20.0/src/lastread/computer/webhook.py +84 -0
  41. lastread-0.20.0/src/lastread/doctor.py +480 -0
  42. lastread-0.20.0/src/lastread/engine/__init__.py +0 -0
  43. lastread-0.20.0/src/lastread/engine/collection.py +613 -0
  44. lastread-0.20.0/src/lastread/engine/export.py +156 -0
  45. lastread-0.20.0/src/lastread/engine/hardcover.py +616 -0
  46. lastread-0.20.0/src/lastread/engine/job.py +270 -0
  47. lastread-0.20.0/src/lastread/engine/kobo_db.py +180 -0
  48. lastread-0.20.0/src/lastread/engine/oauth.py +351 -0
  49. lastread-0.20.0/src/lastread/engine/plan.py +109 -0
  50. lastread-0.20.0/src/lastread/engine/state.py +365 -0
  51. lastread-0.20.0/src/lastread/engine/syncback.py +149 -0
  52. lastread-0.20.0/src/lastread/env.py +9 -0
  53. lastread-0.20.0/src/lastread/logs.py +71 -0
  54. lastread-0.20.0/src/lastread/server/__init__.py +0 -0
  55. lastread-0.20.0/src/lastread/server/accounts.py +506 -0
  56. lastread-0.20.0/src/lastread/server/proxy.py +50 -0
  57. lastread-0.20.0/src/lastread/server/stats.py +53 -0
  58. lastread-0.20.0/src/lastread/server/upload.py +109 -0
  59. lastread-0.20.0/src/lastread/start.py +132 -0
  60. lastread-0.20.0/src/lastread/term.py +129 -0
  61. lastread-0.20.0/src/lastread/tip.py +72 -0
  62. lastread-0.20.0/src/lastread/web/__init__.py +0 -0
  63. lastread-0.20.0/src/lastread/web/account_pages.py +506 -0
  64. lastread-0.20.0/src/lastread/web/app.py +1818 -0
  65. lastread-0.20.0/src/lastread/web/covers.py +60 -0
  66. lastread-0.20.0/src/lastread/web/fmt.py +49 -0
  67. lastread-0.20.0/src/lastread/web/marks.py +57 -0
  68. lastread-0.20.0/src/lastread/web/static/apple-touch-icon.png +0 -0
  69. lastread-0.20.0/src/lastread/web/static/favicon.svg +10 -0
  70. lastread-0.20.0/src/lastread/web/static/fonts/README.txt +19 -0
  71. lastread-0.20.0/src/lastread/web/static/fonts/SchibstedGrotesk-LICENSE.txt +93 -0
  72. lastread-0.20.0/src/lastread/web/static/fonts/SchibstedGrotesk-italic-latin-ext.woff2 +0 -0
  73. lastread-0.20.0/src/lastread/web/static/fonts/SchibstedGrotesk-italic-latin.woff2 +0 -0
  74. lastread-0.20.0/src/lastread/web/static/fonts/SchibstedGrotesk-latin-ext.woff2 +0 -0
  75. lastread-0.20.0/src/lastread/web/static/fonts/SchibstedGrotesk-latin.woff2 +0 -0
  76. lastread-0.20.0/src/lastread/web/static/fonts/SourceSerif4-LICENSE.txt +93 -0
  77. lastread-0.20.0/src/lastread/web/static/fonts/SourceSerif4-latin-ext.woff2 +0 -0
  78. lastread-0.20.0/src/lastread/web/static/fonts/SourceSerif4-latin.woff2 +0 -0
  79. lastread-0.20.0/src/lastread/web/static/kobo.css +699 -0
  80. lastread-0.20.0/src/lastread/web/static/kobo.js +278 -0
  81. lastread-0.20.0/src/lastread/web/strings.py +502 -0
  82. lastread-0.20.0/tests/__init__.py +22 -0
  83. lastread-0.20.0/tests/conftest.py +31 -0
  84. lastread-0.20.0/tests/kobo_fixture.py +109 -0
  85. lastread-0.20.0/tests/picture.py +164 -0
  86. lastread-0.20.0/tests/test_accounts.py +476 -0
  87. lastread-0.20.0/tests/test_app_answers.py +486 -0
  88. lastread-0.20.0/tests/test_booklist.py +76 -0
  89. lastread-0.20.0/tests/test_collection.py +555 -0
  90. lastread-0.20.0/tests/test_computer.py +616 -0
  91. lastread-0.20.0/tests/test_core.py +158 -0
  92. lastread-0.20.0/tests/test_covers.py +93 -0
  93. lastread-0.20.0/tests/test_design_tokens.py +71 -0
  94. lastread-0.20.0/tests/test_doctor.py +315 -0
  95. lastread-0.20.0/tests/test_env.py +10 -0
  96. lastread-0.20.0/tests/test_export.py +135 -0
  97. lastread-0.20.0/tests/test_hardcover.py +400 -0
  98. lastread-0.20.0/tests/test_hardcover_client.py +270 -0
  99. lastread-0.20.0/tests/test_homebrew.py +109 -0
  100. lastread-0.20.0/tests/test_licences.py +74 -0
  101. lastread-0.20.0/tests/test_linux.py +260 -0
  102. lastread-0.20.0/tests/test_local.py +620 -0
  103. lastread-0.20.0/tests/test_logs.py +151 -0
  104. lastread-0.20.0/tests/test_macos_app.py +335 -0
  105. lastread-0.20.0/tests/test_matching.py +119 -0
  106. lastread-0.20.0/tests/test_oauth.py +671 -0
  107. lastread-0.20.0/tests/test_package.py +87 -0
  108. lastread-0.20.0/tests/test_proxy.py +119 -0
  109. lastread-0.20.0/tests/test_publishable.py +102 -0
  110. lastread-0.20.0/tests/test_readme.py +76 -0
  111. lastread-0.20.0/tests/test_rules.py +439 -0
  112. lastread-0.20.0/tests/test_rules_document.py +40 -0
  113. lastread-0.20.0/tests/test_site.py +41 -0
  114. lastread-0.20.0/tests/test_start.py +42 -0
  115. lastread-0.20.0/tests/test_stats.py +39 -0
  116. lastread-0.20.0/tests/test_term.py +209 -0
  117. lastread-0.20.0/tests/test_tip.py +89 -0
  118. lastread-0.20.0/tests/test_upload.py +114 -0
  119. lastread-0.20.0/tests/test_web.py +638 -0
  120. lastread-0.20.0/tests/test_webhook.py +158 -0
@@ -0,0 +1,10 @@
1
+ data/
2
+ config/
3
+ __pycache__/
4
+ .pytest_cache/
5
+ .venv/
6
+ .ruff_cache/
7
+ dist/
8
+ *.egg-info/
9
+ build/
10
+ .impeccable/review/