PyperCache 0.1.0__tar.gz → 0.1.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 (50) hide show
  1. {pypercache-0.1.0 → pypercache-0.1.2}/PKG-INFO +6 -3
  2. {pypercache-0.1.0 → pypercache-0.1.2}/PyperCache/__init__.py +1 -1
  3. {pypercache-0.1.0 → pypercache-0.1.2}/PyperCache/models/apimodel.py +4 -2
  4. {pypercache-0.1.0 → pypercache-0.1.2}/PyperCache/query/json_injester.py +0 -25
  5. {pypercache-0.1.0 → pypercache-0.1.2}/PyperCache.egg-info/PKG-INFO +6 -3
  6. {pypercache-0.1.0 → pypercache-0.1.2}/README.md +3 -1
  7. {pypercache-0.1.0 → pypercache-0.1.2}/docs/README.md +8 -4
  8. {pypercache-0.1.0 → pypercache-0.1.2}/pyproject.toml +3 -2
  9. {pypercache-0.1.0 → pypercache-0.1.2}/LICENSE +0 -0
  10. {pypercache-0.1.0 → pypercache-0.1.2}/MANIFEST.in +0 -0
  11. {pypercache-0.1.0 → pypercache-0.1.2}/PyperCache/core/__init__.py +0 -0
  12. {pypercache-0.1.0 → pypercache-0.1.2}/PyperCache/core/cache.py +0 -0
  13. {pypercache-0.1.0 → pypercache-0.1.2}/PyperCache/core/cache_record.py +0 -0
  14. {pypercache-0.1.0 → pypercache-0.1.2}/PyperCache/core/request_logger.py +0 -0
  15. {pypercache-0.1.0 → pypercache-0.1.2}/PyperCache/py.typed +0 -0
  16. {pypercache-0.1.0 → pypercache-0.1.2}/PyperCache/query/__init__.py +0 -0
  17. {pypercache-0.1.0 → pypercache-0.1.2}/PyperCache/storage/__init__.py +0 -0
  18. {pypercache-0.1.0 → pypercache-0.1.2}/PyperCache/storage/backends.py +0 -0
  19. {pypercache-0.1.0 → pypercache-0.1.2}/PyperCache/storage/base.py +0 -0
  20. {pypercache-0.1.0 → pypercache-0.1.2}/PyperCache/storage/chunked_dictionary.py +0 -0
  21. {pypercache-0.1.0 → pypercache-0.1.2}/PyperCache/storage/factory.py +0 -0
  22. {pypercache-0.1.0 → pypercache-0.1.2}/PyperCache/storage/sqlite_storage.py +0 -0
  23. {pypercache-0.1.0 → pypercache-0.1.2}/PyperCache/utils/__init__.py +0 -0
  24. {pypercache-0.1.0 → pypercache-0.1.2}/PyperCache/utils/collections.py +0 -0
  25. {pypercache-0.1.0 → pypercache-0.1.2}/PyperCache/utils/fs.py +0 -0
  26. {pypercache-0.1.0 → pypercache-0.1.2}/PyperCache/utils/patterns.py +0 -0
  27. {pypercache-0.1.0 → pypercache-0.1.2}/PyperCache/utils/profiling.py +0 -0
  28. {pypercache-0.1.0 → pypercache-0.1.2}/PyperCache/utils/sentinel.py +0 -0
  29. {pypercache-0.1.0 → pypercache-0.1.2}/PyperCache/utils/serialization.py +0 -0
  30. {pypercache-0.1.0 → pypercache-0.1.2}/PyperCache/utils/typing_cast.py +0 -0
  31. {pypercache-0.1.0 → pypercache-0.1.2}/PyperCache.egg-info/SOURCES.txt +0 -0
  32. {pypercache-0.1.0 → pypercache-0.1.2}/PyperCache.egg-info/dependency_links.txt +0 -0
  33. {pypercache-0.1.0 → pypercache-0.1.2}/PyperCache.egg-info/not-zip-safe +0 -0
  34. {pypercache-0.1.0 → pypercache-0.1.2}/PyperCache.egg-info/requires.txt +0 -0
  35. {pypercache-0.1.0 → pypercache-0.1.2}/PyperCache.egg-info/top_level.txt +0 -0
  36. {pypercache-0.1.0 → pypercache-0.1.2}/docs/CACHE.md +0 -0
  37. {pypercache-0.1.0 → pypercache-0.1.2}/docs/QUERY.md +0 -0
  38. {pypercache-0.1.0 → pypercache-0.1.2}/docs/STORAGE.md +0 -0
  39. {pypercache-0.1.0 → pypercache-0.1.2}/pytest.ini +0 -0
  40. {pypercache-0.1.0 → pypercache-0.1.2}/setup.cfg +0 -0
  41. {pypercache-0.1.0 → pypercache-0.1.2}/tests/test_apimodel.py +0 -0
  42. {pypercache-0.1.0 → pypercache-0.1.2}/tests/test_cache.py +0 -0
  43. {pypercache-0.1.0 → pypercache-0.1.2}/tests/test_cache_record.py +0 -0
  44. {pypercache-0.1.0 → pypercache-0.1.2}/tests/test_json_injester.py +0 -0
  45. {pypercache-0.1.0 → pypercache-0.1.2}/tests/test_patterns.py +0 -0
  46. {pypercache-0.1.0 → pypercache-0.1.2}/tests/test_request_logger.py +0 -0
  47. {pypercache-0.1.0 → pypercache-0.1.2}/tests/test_sentinel.py +0 -0
  48. {pypercache-0.1.0 → pypercache-0.1.2}/tests/test_serialization.py +0 -0
  49. {pypercache-0.1.0 → pypercache-0.1.2}/tests/test_sqlite_storage.py +0 -0
  50. {pypercache-0.1.0 → pypercache-0.1.2}/tests/test_storage.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: PyperCache
3
- Version: 0.1.0
3
+ Version: 0.1.2
4
4
  Summary: Durable file-backed caching for JSON-like data with pluggable storage backends
5
5
  Author-email: Brandon Bahret <your.email@example.com>
6
6
  Maintainer-email: Brandon Bahret <your.email@example.com>
@@ -26,7 +26,8 @@ License: MIT License
26
26
  OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
27
27
  SOFTWARE.
28
28
  Project-URL: Homepage, https://github.com/BrandonBahret/PyperCache
29
- Project-URL: Documentation, https://github.com/BrandonBahret/PyperCache#readme
29
+ Project-URL: Documentation, https://github.com/BrandonBahret/PyperCache/tree/master/docs
30
+ Project-URL: Source, https://github.com/BrandonBahret/PyperCache
30
31
  Project-URL: Repository, https://github.com/BrandonBahret/PyperCache
31
32
  Project-URL: Issues, https://github.com/BrandonBahret/PyperCache/issues
32
33
  Project-URL: Changelog, https://github.com/BrandonBahret/PyperCache/blob/master/CHANGELOG.md
@@ -71,7 +72,9 @@ pip install .
71
72
 
72
73
  ## Quick Start
73
74
 
74
- See [docs/README.md](docs/README.md) for detailed documentation, examples, and API reference.
75
+ See the full documentation, examples, and API reference on GitHub:
76
+
77
+ https://github.com/BrandonBahret/PyperCache/tree/master/docs
75
78
 
76
79
  ## Features
77
80
 
@@ -15,7 +15,7 @@ from PyperCache.core.cache import Cache
15
15
  from PyperCache.core.cache_record import CacheRecord
16
16
  from PyperCache.core.request_logger import LogRecord, RequestLogger
17
17
 
18
- __version__ = "0.1.0"
18
+ __version__ = "0.1.1"
19
19
 
20
20
  __all__ = [
21
21
  "Cache",
@@ -8,14 +8,16 @@ This module provides a light-weight decorator that:
8
8
  """
9
9
  from __future__ import annotations
10
10
 
11
- from typing import Any
11
+ from typing import Any, TypeVar
12
12
 
13
13
  from ..utils.patterns import ClassRepository
14
14
  from ..query.json_injester import JsonInjester
15
15
  from ..utils.typing_cast import instantiate_type
16
16
 
17
17
 
18
- def apimodel(cls: type) -> type:
18
+ T = TypeVar("T")
19
+
20
+ def apimodel(cls: T) -> T:
19
21
  """Decorator that makes a simple model from annotated fields.
20
22
 
21
23
  The generated constructor accepts a single positional ``data`` dict.
@@ -9,31 +9,6 @@ from lark import Lark, Transformer
9
9
  from ..utils.sentinel import UNSET
10
10
  from ..utils.typing_cast import instantiate_type
11
11
 
12
- # # ---------------------------------------------------------------------------
13
- # # Sentinel
14
- # # ---------------------------------------------------------------------------
15
-
16
- # class UNSET:
17
- # """Sentinel type representing a missing or unresolved value.
18
-
19
- # Used instead of None so that None can be a legitimate return value
20
- # from a query.
21
- # """
22
-
23
- # _instance: Optional[UNSET] = None
24
-
25
- # def __new__(cls) -> UNSET:
26
- # # Singleton — there is only ever one UNSET instance.
27
- # if cls._instance is None:
28
- # cls._instance = super().__new__(cls)
29
- # return cls._instance
30
-
31
- # def __repr__(self) -> str:
32
- # return "JsonInjest.UNSET"
33
-
34
-
35
- # # Convenience singleton so callers can write `is UNSET` rather than `== UNSET`.
36
- # UNSET = UNSET()
37
12
 
38
13
  T = TypeVar("T")
39
14
 
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: PyperCache
3
- Version: 0.1.0
3
+ Version: 0.1.2
4
4
  Summary: Durable file-backed caching for JSON-like data with pluggable storage backends
5
5
  Author-email: Brandon Bahret <your.email@example.com>
6
6
  Maintainer-email: Brandon Bahret <your.email@example.com>
@@ -26,7 +26,8 @@ License: MIT License
26
26
  OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
27
27
  SOFTWARE.
28
28
  Project-URL: Homepage, https://github.com/BrandonBahret/PyperCache
29
- Project-URL: Documentation, https://github.com/BrandonBahret/PyperCache#readme
29
+ Project-URL: Documentation, https://github.com/BrandonBahret/PyperCache/tree/master/docs
30
+ Project-URL: Source, https://github.com/BrandonBahret/PyperCache
30
31
  Project-URL: Repository, https://github.com/BrandonBahret/PyperCache
31
32
  Project-URL: Issues, https://github.com/BrandonBahret/PyperCache/issues
32
33
  Project-URL: Changelog, https://github.com/BrandonBahret/PyperCache/blob/master/CHANGELOG.md
@@ -71,7 +72,9 @@ pip install .
71
72
 
72
73
  ## Quick Start
73
74
 
74
- See [docs/README.md](docs/README.md) for detailed documentation, examples, and API reference.
75
+ See the full documentation, examples, and API reference on GitHub:
76
+
77
+ https://github.com/BrandonBahret/PyperCache/tree/master/docs
75
78
 
76
79
  ## Features
77
80
 
@@ -18,7 +18,9 @@ pip install .
18
18
 
19
19
  ## Quick Start
20
20
 
21
- See [docs/README.md](docs/README.md) for detailed documentation, examples, and API reference.
21
+ See the full documentation, examples, and API reference on GitHub:
22
+
23
+ https://github.com/BrandonBahret/PyperCache/tree/master/docs
22
24
 
23
25
  ## Features
24
26
 
@@ -31,15 +31,19 @@
31
31
  ## Requirements
32
32
 
33
33
  - Python 3.10 or newer
34
- - `lark` required for `JsonInjester` query parsing
34
+ - Runtime dependencies are installed automatically when you install the package from PyPI.
35
35
 
36
- Install the runtime dependency:
36
+ Install from PyPI:
37
37
 
38
38
  ```bash
39
- pip install lark
39
+ pip install pypercache
40
40
  ```
41
41
 
42
- For development (includes `lark` and `pytest`):
42
+ Read the full documentation on GitHub:
43
+
44
+ https://github.com/BrandonBahret/PyperCache/tree/master/docs
45
+
46
+ For development, install dev dependencies:
43
47
 
44
48
  ```bash
45
49
  pip install -r requirements-dev.txt
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
4
4
 
5
5
  [project]
6
6
  name = "PyperCache"
7
- version = "0.1.0"
7
+ version = "0.1.2"
8
8
  description = "Durable file-backed caching for JSON-like data with pluggable storage backends"
9
9
  readme = "README.md"
10
10
  license = {file = "LICENSE"}
@@ -38,7 +38,8 @@ dependencies = [
38
38
 
39
39
  [project.urls]
40
40
  Homepage = "https://github.com/BrandonBahret/PyperCache"
41
- Documentation = "https://github.com/BrandonBahret/PyperCache#readme"
41
+ Documentation = "https://github.com/BrandonBahret/PyperCache/tree/master/docs"
42
+ Source = "https://github.com/BrandonBahret/PyperCache"
42
43
  Repository = "https://github.com/BrandonBahret/PyperCache"
43
44
  Issues = "https://github.com/BrandonBahret/PyperCache/issues"
44
45
  Changelog = "https://github.com/BrandonBahret/PyperCache/blob/master/CHANGELOG.md"
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes