Simyan 2.0.0__tar.gz → 3.0.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.
- {simyan-2.0.0 → simyan-3.0.0}/.gitignore +1 -0
- {simyan-2.0.0 → simyan-3.0.0}/PKG-INFO +21 -10
- {simyan-2.0.0 → simyan-3.0.0}/README.md +14 -4
- {simyan-2.0.0 → simyan-3.0.0}/docs/index.md +14 -9
- simyan-3.0.0/prek.toml +53 -0
- simyan-3.0.0/pylock.toml +1474 -0
- {simyan-2.0.0 → simyan-3.0.0}/pyproject.toml +24 -25
- {simyan-2.0.0 → simyan-3.0.0}/simyan/__init__.py +1 -1
- {simyan-2.0.0 → simyan-3.0.0}/simyan/comicvine.py +90 -101
- simyan-3.0.0/tests/cache.sqlite +0 -0
- simyan-3.0.0/tests/comicvine_test.py +28 -0
- simyan-3.0.0/tests/conftest.py +44 -0
- simyan-3.0.0/tests/errors_test.py +67 -0
- {simyan-2.0.0 → simyan-3.0.0}/tests/schemas/characters_test.py +19 -6
- {simyan-2.0.0 → simyan-3.0.0}/tests/schemas/concepts_test.py +18 -5
- {simyan-2.0.0 → simyan-3.0.0}/tests/schemas/creators_test.py +21 -8
- {simyan-2.0.0 → simyan-3.0.0}/tests/schemas/issues_test.py +17 -4
- {simyan-2.0.0 → simyan-3.0.0}/tests/schemas/items_test.py +19 -6
- {simyan-2.0.0 → simyan-3.0.0}/tests/schemas/locations_test.py +16 -3
- {simyan-2.0.0 → simyan-3.0.0}/tests/schemas/origins_test.py +19 -4
- {simyan-2.0.0 → simyan-3.0.0}/tests/schemas/powers_test.py +19 -6
- {simyan-2.0.0 → simyan-3.0.0}/tests/schemas/publishers_test.py +20 -7
- {simyan-2.0.0 → simyan-3.0.0}/tests/schemas/story_arcs_test.py +16 -3
- {simyan-2.0.0 → simyan-3.0.0}/tests/schemas/teams_test.py +16 -3
- {simyan-2.0.0 → simyan-3.0.0}/tests/schemas/volumes_test.py +19 -4
- simyan-3.0.0/uv.lock +1316 -0
- {simyan-2.0.0 → simyan-3.0.0}/zensical.toml +2 -5
- simyan-2.0.0/.pre-commit-config.yaml +0 -70
- simyan-2.0.0/docs/simyan/cache/schemas.md +0 -3
- simyan-2.0.0/docs/simyan/cache/sqlite_cache.md +0 -3
- simyan-2.0.0/docs/simyan/schemas/index.md +0 -1
- simyan-2.0.0/simyan/cache/__init__.py +0 -3
- simyan-2.0.0/simyan/cache/schemas.py +0 -20
- simyan-2.0.0/simyan/cache/sqlite_cache.py +0 -139
- simyan-2.0.0/tests/README.md +0 -9
- simyan-2.0.0/tests/cache.sqlite +0 -0
- simyan-2.0.0/tests/comicvine_test.py +0 -39
- simyan-2.0.0/tests/conftest.py +0 -19
- simyan-2.0.0/tests/errors_test.py +0 -21
- simyan-2.0.0/tests/limiter_test.py +0 -275
- simyan-2.0.0/uv.lock +0 -1209
- {simyan-2.0.0 → simyan-3.0.0}/.gitattributes +0 -0
- {simyan-2.0.0 → simyan-3.0.0}/.readthedocs.yaml +0 -0
- {simyan-2.0.0 → simyan-3.0.0}/LICENSE +0 -0
- {simyan-2.0.0 → simyan-3.0.0}/docs/simyan/comicvine.md +0 -0
- {simyan-2.0.0 → simyan-3.0.0}/docs/simyan/errors.md +0 -0
- {simyan-2.0.0 → simyan-3.0.0}/docs/simyan/index.md +0 -0
- {simyan-2.0.0 → simyan-3.0.0}/docs/simyan/schemas/_base.md +0 -0
- {simyan-2.0.0 → simyan-3.0.0}/docs/simyan/schemas/character.md +0 -0
- {simyan-2.0.0 → simyan-3.0.0}/docs/simyan/schemas/concept.md +0 -0
- {simyan-2.0.0 → simyan-3.0.0}/docs/simyan/schemas/creator.md +0 -0
- {simyan-2.0.0 → simyan-3.0.0}/docs/simyan/schemas/generic_entries.md +0 -0
- {simyan-2.0.0/docs/simyan/cache → simyan-3.0.0/docs/simyan/schemas}/index.md +0 -0
- {simyan-2.0.0 → simyan-3.0.0}/docs/simyan/schemas/issue.md +0 -0
- {simyan-2.0.0 → simyan-3.0.0}/docs/simyan/schemas/item.md +0 -0
- {simyan-2.0.0 → simyan-3.0.0}/docs/simyan/schemas/location.md +0 -0
- {simyan-2.0.0 → simyan-3.0.0}/docs/simyan/schemas/origin.md +0 -0
- {simyan-2.0.0 → simyan-3.0.0}/docs/simyan/schemas/power.md +0 -0
- {simyan-2.0.0 → simyan-3.0.0}/docs/simyan/schemas/publisher.md +0 -0
- {simyan-2.0.0 → simyan-3.0.0}/docs/simyan/schemas/story_arc.md +0 -0
- {simyan-2.0.0 → simyan-3.0.0}/docs/simyan/schemas/team.md +0 -0
- {simyan-2.0.0 → simyan-3.0.0}/docs/simyan/schemas/volume.md +0 -0
- {simyan-2.0.0 → simyan-3.0.0}/simyan/errors.py +0 -0
- {simyan-2.0.0 → simyan-3.0.0}/simyan/schemas/__init__.py +0 -0
- {simyan-2.0.0 → simyan-3.0.0}/simyan/schemas/_base.py +0 -0
- {simyan-2.0.0 → simyan-3.0.0}/simyan/schemas/character.py +0 -0
- {simyan-2.0.0 → simyan-3.0.0}/simyan/schemas/concept.py +0 -0
- {simyan-2.0.0 → simyan-3.0.0}/simyan/schemas/creator.py +0 -0
- {simyan-2.0.0 → simyan-3.0.0}/simyan/schemas/generic_entries.py +0 -0
- {simyan-2.0.0 → simyan-3.0.0}/simyan/schemas/issue.py +0 -0
- {simyan-2.0.0 → simyan-3.0.0}/simyan/schemas/item.py +0 -0
- {simyan-2.0.0 → simyan-3.0.0}/simyan/schemas/location.py +0 -0
- {simyan-2.0.0 → simyan-3.0.0}/simyan/schemas/origin.py +0 -0
- {simyan-2.0.0 → simyan-3.0.0}/simyan/schemas/power.py +0 -0
- {simyan-2.0.0 → simyan-3.0.0}/simyan/schemas/publisher.py +0 -0
- {simyan-2.0.0 → simyan-3.0.0}/simyan/schemas/story_arc.py +0 -0
- {simyan-2.0.0 → simyan-3.0.0}/simyan/schemas/team.py +0 -0
- {simyan-2.0.0 → simyan-3.0.0}/simyan/schemas/volume.py +0 -0
- {simyan-2.0.0 → simyan-3.0.0}/tests/__init__.py +0 -0
- {simyan-2.0.0 → simyan-3.0.0}/tests/schemas/__init__.py +0 -0
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: Simyan
|
|
3
|
-
Version:
|
|
3
|
+
Version: 3.0.0
|
|
4
4
|
Summary: A Python wrapper for the Comicvine API.
|
|
5
5
|
Project-URL: Documentation, https://simyan.readthedocs.io/en/stable/
|
|
6
6
|
Project-URL: Homepage, https://pypi.org/project/Simyan
|
|
7
7
|
Project-URL: Issues, https://github.com/Metron-Project/Simyan/issues
|
|
8
8
|
Project-URL: Source, https://github.com/Metron-Project/Simyan
|
|
9
|
-
Author-email: BuriedInCode <
|
|
10
|
-
Maintainer-email: BuriedInCode <
|
|
9
|
+
Author-email: BuriedInCode <buriedincode@duckpond.nz>
|
|
10
|
+
Maintainer-email: BuriedInCode <buriedincode@duckpond.nz>
|
|
11
11
|
License-Expression: GPL-3.0-or-later
|
|
12
12
|
License-File: LICENSE
|
|
13
13
|
Keywords: comic,comics,metadata
|
|
@@ -26,9 +26,10 @@ Classifier: Programming Language :: Python :: 3.14
|
|
|
26
26
|
Classifier: Topic :: Internet
|
|
27
27
|
Classifier: Typing :: Typed
|
|
28
28
|
Requires-Python: >=3.10
|
|
29
|
-
Requires-Dist:
|
|
30
|
-
Requires-Dist:
|
|
31
|
-
Requires-Dist:
|
|
29
|
+
Requires-Dist: pydantic>=2.13.0
|
|
30
|
+
Requires-Dist: requests-cache>=1.3.0
|
|
31
|
+
Requires-Dist: requests-ratelimiter>=0.10.0
|
|
32
|
+
Requires-Dist: requests>=2.34.0
|
|
32
33
|
Description-Content-Type: text/markdown
|
|
33
34
|
|
|
34
35
|
# Simyan
|
|
@@ -38,8 +39,9 @@ Description-Content-Type: text/markdown
|
|
|
38
39
|
[](https://pypi.python.org/pypi/Simyan/)
|
|
39
40
|
[](https://opensource.org/licenses/GPL-3.0)
|
|
40
41
|
|
|
41
|
-
[](https://github.com/j178/prek)
|
|
43
|
+
[](https://github.com/astral-sh/ruff)
|
|
44
|
+
[](https://github.com/astral-sh/ty)
|
|
43
45
|
|
|
44
46
|
[](https://github.com/Metron-Project/Simyan/actions/workflows/linting.yaml)
|
|
45
47
|
[](https://github.com/Metron-Project/Simyan/actions/workflows/testing.yaml)
|
|
@@ -57,10 +59,19 @@ pip install Simyan
|
|
|
57
59
|
### Example Usage
|
|
58
60
|
|
|
59
61
|
```python
|
|
60
|
-
from
|
|
62
|
+
from datetime import timedelta
|
|
63
|
+
from pathlib import Path
|
|
64
|
+
|
|
61
65
|
from simyan.comicvine import Comicvine
|
|
62
66
|
|
|
63
|
-
session = Comicvine(
|
|
67
|
+
session = Comicvine(
|
|
68
|
+
api_key="Comicvine API Key",
|
|
69
|
+
cache_path=Path("cache.sqlite"), # Optional, defaults to ~/.cache/simyan/cache.sqlite
|
|
70
|
+
cache_expiry=timedelta(days=1), # Optional, defaults to 14 days
|
|
71
|
+
ratelimit_path=Path(
|
|
72
|
+
"ratelimits.sqlite"
|
|
73
|
+
), # Optional, defaults to ~/.cache/simyan/ratelimits.sqlite
|
|
74
|
+
)
|
|
64
75
|
|
|
65
76
|
# Search for Publisher
|
|
66
77
|
results = session.list_publishers(params={"filter": "name:DC Comics"})
|
|
@@ -5,8 +5,9 @@
|
|
|
5
5
|
[](https://pypi.python.org/pypi/Simyan/)
|
|
6
6
|
[](https://opensource.org/licenses/GPL-3.0)
|
|
7
7
|
|
|
8
|
-
[](https://github.com/j178/prek)
|
|
9
|
+
[](https://github.com/astral-sh/ruff)
|
|
10
|
+
[](https://github.com/astral-sh/ty)
|
|
10
11
|
|
|
11
12
|
[](https://github.com/Metron-Project/Simyan/actions/workflows/linting.yaml)
|
|
12
13
|
[](https://github.com/Metron-Project/Simyan/actions/workflows/testing.yaml)
|
|
@@ -24,10 +25,19 @@ pip install Simyan
|
|
|
24
25
|
### Example Usage
|
|
25
26
|
|
|
26
27
|
```python
|
|
27
|
-
from
|
|
28
|
+
from datetime import timedelta
|
|
29
|
+
from pathlib import Path
|
|
30
|
+
|
|
28
31
|
from simyan.comicvine import Comicvine
|
|
29
32
|
|
|
30
|
-
session = Comicvine(
|
|
33
|
+
session = Comicvine(
|
|
34
|
+
api_key="Comicvine API Key",
|
|
35
|
+
cache_path=Path("cache.sqlite"), # Optional, defaults to ~/.cache/simyan/cache.sqlite
|
|
36
|
+
cache_expiry=timedelta(days=1), # Optional, defaults to 14 days
|
|
37
|
+
ratelimit_path=Path(
|
|
38
|
+
"ratelimits.sqlite"
|
|
39
|
+
), # Optional, defaults to ~/.cache/simyan/ratelimits.sqlite
|
|
40
|
+
)
|
|
31
41
|
|
|
32
42
|
# Search for Publisher
|
|
33
43
|
results = session.list_publishers(params={"filter": "name:DC Comics"})
|
|
@@ -5,8 +5,9 @@
|
|
|
5
5
|
[](https://pypi.python.org/pypi/Simyan/)
|
|
6
6
|
[](https://opensource.org/licenses/GPL-3.0)
|
|
7
7
|
|
|
8
|
-
[](https://github.com/j178/prek)
|
|
9
|
+
[](https://github.com/astral-sh/ruff)
|
|
10
|
+
[](https://github.com/astral-sh/ty)
|
|
10
11
|
|
|
11
12
|
[](https://github.com/Metron-Project/Simyan/actions/workflows/linting.yaml)
|
|
12
13
|
[](https://github.com/Metron-Project/Simyan/actions/workflows/testing.yaml)
|
|
@@ -24,10 +25,19 @@ pip install Simyan
|
|
|
24
25
|
### Example Usage
|
|
25
26
|
|
|
26
27
|
```python
|
|
27
|
-
from
|
|
28
|
+
from datetime import timedelta
|
|
29
|
+
from pathlib import Path
|
|
30
|
+
|
|
28
31
|
from simyan.comicvine import Comicvine
|
|
29
32
|
|
|
30
|
-
session = Comicvine(
|
|
33
|
+
session = Comicvine(
|
|
34
|
+
api_key="Comicvine API Key",
|
|
35
|
+
cache_path=Path("cache.sqlite"), # Optional, defaults to ~/.cache/simyan/cache.sqlite
|
|
36
|
+
cache_expiry=timedelta(days=1), # Optional, defaults to 14 days
|
|
37
|
+
ratelimit_path=Path(
|
|
38
|
+
"ratelimits.sqlite"
|
|
39
|
+
), # Optional, defaults to ~/.cache/simyan/ratelimits.sqlite
|
|
40
|
+
)
|
|
31
41
|
|
|
32
42
|
# Search for Publisher
|
|
33
43
|
results = session.list_publishers(params={"filter": "name:DC Comics"})
|
|
@@ -47,8 +57,3 @@ print(result.summary)
|
|
|
47
57
|
## Bugs/Requests
|
|
48
58
|
|
|
49
59
|
Please use the [GitHub issue tracker](https://github.com/Metron-Project/Simyan/issues) to submit bugs or request features.
|
|
50
|
-
|
|
51
|
-
## Contributing
|
|
52
|
-
|
|
53
|
-
- When running a new test for the first time, set the environment variable `COMICVINE__API_KEY` to your Comicvine API key.
|
|
54
|
-
The responses will be cached in the `tests/cache.sqlite` database without your key.
|
simyan-3.0.0/prek.toml
ADDED
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
[[repos]]
|
|
2
|
+
hooks = [
|
|
3
|
+
{args = ["--all", "--in-place"], entry = "toml-sort", exclude = ".*.lock", id = "toml-sort", language = "system", name = "toml sort", types = ["toml"]},
|
|
4
|
+
{args = ["--number", "--wrap=keep"], entry = "mdformat", exclude = "(.github/ISSUE_TEMPLATE/.*|docs/simyan/schemas/_base).md", id = "mdformat", language = "system", name = "mdformat", types = ["markdown"]},
|
|
5
|
+
{entry = "ruff check .", id = "ruff-check", language = "system", name = "ruff check", pass_filenames = false, types = ["python"]},
|
|
6
|
+
{entry = "ruff format .", id = "ruff-format", language = "system", name = "ruff format", pass_filenames = false, types = ["python"]},
|
|
7
|
+
{entry = "ty check .", id = "ty", language = "system", name = "ty", pass_filenames = false, types = ["python"]},
|
|
8
|
+
]
|
|
9
|
+
repo = "local"
|
|
10
|
+
|
|
11
|
+
[[repos]]
|
|
12
|
+
hooks = [
|
|
13
|
+
{args = ["--allow-multiple-documents"], id = "check-yaml"},
|
|
14
|
+
{args = ["--assume-in-merge"], id = "check-merge-conflict"},
|
|
15
|
+
{args = ["--markdown-linebreak-ext=md"], id = "trailing-whitespace"},
|
|
16
|
+
{exclude_types = ["json", "svg", "xml"], id = "end-of-file-fixer"},
|
|
17
|
+
{id = "check-added-large-files"},
|
|
18
|
+
{id = "check-case-conflict"},
|
|
19
|
+
{id = "check-executables-have-shebangs"},
|
|
20
|
+
{id = "check-json"},
|
|
21
|
+
{id = "check-json5"},
|
|
22
|
+
{id = "check-symlinks"},
|
|
23
|
+
{id = "check-toml"},
|
|
24
|
+
{id = "check-xml"},
|
|
25
|
+
{id = "detect-private-key"},
|
|
26
|
+
{id = "fix-byte-order-marker"},
|
|
27
|
+
{id = "mixed-line-ending"},
|
|
28
|
+
]
|
|
29
|
+
repo = "builtin"
|
|
30
|
+
|
|
31
|
+
[[repos]]
|
|
32
|
+
hooks = [
|
|
33
|
+
{args = ["--autofix", "--indent=2"], id = "pretty-format-json"},
|
|
34
|
+
{id = "check-ast"},
|
|
35
|
+
{id = "check-builtin-literals"},
|
|
36
|
+
{id = "check-docstring-first"},
|
|
37
|
+
{id = "check-illegal-windows-names"},
|
|
38
|
+
{id = "check-merge-conflict"},
|
|
39
|
+
{id = "check-shebang-scripts-are-executable"},
|
|
40
|
+
{id = "check-vcs-permalinks"},
|
|
41
|
+
{id = "debug-statements"},
|
|
42
|
+
{id = "forbid-submodules"},
|
|
43
|
+
{id = "name-tests-test"},
|
|
44
|
+
]
|
|
45
|
+
repo = "https://github.com/pre-commit/pre-commit-hooks"
|
|
46
|
+
rev = "v6.0.0"
|
|
47
|
+
|
|
48
|
+
[[repos]]
|
|
49
|
+
hooks = [
|
|
50
|
+
# {id = "check-hooks-apply"},
|
|
51
|
+
{id = "check-useless-excludes"},
|
|
52
|
+
]
|
|
53
|
+
repo = "meta"
|