pyzotero 1.6.11__tar.gz → 1.6.13__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 (61) hide show
  1. {pyzotero-1.6.11 → pyzotero-1.6.13}/PKG-INFO +46 -56
  2. {pyzotero-1.6.11 → pyzotero-1.6.13}/README.md +1 -1
  3. {pyzotero-1.6.11 → pyzotero-1.6.13}/pyproject.toml +18 -19
  4. {pyzotero-1.6.11 → pyzotero-1.6.13}/src/pyzotero/zotero.py +10 -12
  5. pyzotero-1.6.11/.coveragerc +0 -3
  6. pyzotero-1.6.11/.github/ISSUE_TEMPLATE/bug_report.md +0 -34
  7. pyzotero-1.6.11/.github/ISSUE_TEMPLATE/usage_question.md +0 -15
  8. pyzotero-1.6.11/.github/dependabot.yml +0 -16
  9. pyzotero-1.6.11/.github/pull_request_template.md +0 -23
  10. pyzotero-1.6.11/.github/workflows/tests.yml +0 -115
  11. pyzotero-1.6.11/.gitignore +0 -6
  12. pyzotero-1.6.11/.readthedocs.yaml +0 -26
  13. pyzotero-1.6.11/AUTHORS +0 -2
  14. pyzotero-1.6.11/CITATION.cff +0 -16
  15. pyzotero-1.6.11/CONTRIBUTING.md +0 -100
  16. pyzotero-1.6.11/CONTRIBUTORS.md +0 -22
  17. pyzotero-1.6.11/__init__.py +0 -0
  18. pyzotero-1.6.11/doc/Makefile +0 -130
  19. pyzotero-1.6.11/doc/_templates/layout.html +0 -23
  20. pyzotero-1.6.11/doc/cat.png +0 -0
  21. pyzotero-1.6.11/doc/conf.py +0 -273
  22. pyzotero-1.6.11/doc/index.rst +0 -1111
  23. pyzotero-1.6.11/dump_contributors.py +0 -13
  24. pyzotero-1.6.11/example/.gitignore +0 -3
  25. pyzotero-1.6.11/example/local_base_use.py +0 -7
  26. pyzotero-1.6.11/example/local_copy_pdf.py +0 -63
  27. pyzotero-1.6.11/example/local_get_item_detail.py +0 -68
  28. pyzotero-1.6.11/example/local_search_title.py +0 -43
  29. pyzotero-1.6.11/setup.cfg +0 -4
  30. pyzotero-1.6.11/setup.py +0 -12
  31. pyzotero-1.6.11/src/_version.py +0 -21
  32. pyzotero-1.6.11/src/pyzotero.egg-info/PKG-INFO +0 -163
  33. pyzotero-1.6.11/src/pyzotero.egg-info/SOURCES.txt +0 -59
  34. pyzotero-1.6.11/src/pyzotero.egg-info/dependency_links.txt +0 -1
  35. pyzotero-1.6.11/src/pyzotero.egg-info/requires.txt +0 -12
  36. pyzotero-1.6.11/src/pyzotero.egg-info/top_level.txt +0 -2
  37. pyzotero-1.6.11/tests/api_responses/__init__.py +0 -0
  38. pyzotero-1.6.11/tests/api_responses/attachments_doc.json +0 -54
  39. pyzotero-1.6.11/tests/api_responses/citation_doc.xml +0 -21
  40. pyzotero-1.6.11/tests/api_responses/collection_doc.json +0 -19
  41. pyzotero-1.6.11/tests/api_responses/collection_tags.json +0 -53
  42. pyzotero-1.6.11/tests/api_responses/collection_versions.json +0 -4
  43. pyzotero-1.6.11/tests/api_responses/collections_doc.json +0 -564
  44. pyzotero-1.6.11/tests/api_responses/creation_doc.json +0 -7
  45. pyzotero-1.6.11/tests/api_responses/groups_doc.json +0 -33
  46. pyzotero-1.6.11/tests/api_responses/item_doc.json +0 -105
  47. pyzotero-1.6.11/tests/api_responses/item_fields.json +0 -406
  48. pyzotero-1.6.11/tests/api_responses/item_file.pdf +0 -1
  49. pyzotero-1.6.11/tests/api_responses/item_template.json +0 -13
  50. pyzotero-1.6.11/tests/api_responses/item_types.json +0 -106
  51. pyzotero-1.6.11/tests/api_responses/item_versions.json +0 -4
  52. pyzotero-1.6.11/tests/api_responses/items_doc.json +0 -1690
  53. pyzotero-1.6.11/tests/api_responses/keys_doc.txt +0 -10
  54. pyzotero-1.6.11/tests/api_responses/tags_doc.json +0 -19
  55. pyzotero-1.6.11/tests/test_async.py +0 -24
  56. pyzotero-1.6.11/tests/test_zotero.py +0 -751
  57. pyzotero-1.6.11/uv.lock +0 -590
  58. {pyzotero-1.6.11 → pyzotero-1.6.13}/LICENSE.md +0 -0
  59. {pyzotero-1.6.11 → pyzotero-1.6.13}/src/pyzotero/__init__.py +0 -0
  60. {pyzotero-1.6.11 → pyzotero-1.6.13}/src/pyzotero/filetransport.py +0 -0
  61. {pyzotero-1.6.11 → pyzotero-1.6.13}/src/pyzotero/zotero_errors.py +0 -0
@@ -1,48 +1,45 @@
1
- Metadata-Version: 2.4
1
+ Metadata-Version: 2.3
2
2
  Name: pyzotero
3
- Version: 1.6.11
3
+ Version: 1.6.13
4
4
  Summary: Python wrapper for the Zotero API
5
+ Keywords: Zotero,DH
6
+ Author: Stephan Hügel
5
7
  Author-email: Stephan Hügel <urschrei@gmail.com>
6
8
  License: # Blue Oak Model License
7
-
8
- Version 1.0.0
9
-
10
- ## Purpose
11
-
12
- This license gives everyone as much permission to work with this software as possible, while protecting contributors from liability.
13
-
14
- ## Acceptance
15
-
16
- In order to receive this license, you must agree to its rules. The rules of this license are both obligations under that agreement and conditions to your license. You must not do anything with this software that triggers a rule that you cannot or will not follow.
17
-
18
- ## Copyright
19
-
20
- Each contributor licenses you to do everything with this software that would otherwise infringe that contributor's copyright in it.
21
-
22
- ## Notices
23
-
24
- You must ensure that everyone who gets a copy of any part of this software from you, with or without changes, also gets the text of this license or a link to <https://blueoakcouncil.org/license/1.0.0>.
25
-
26
- ## Excuse
27
-
28
- If anyone notifies you in writing that you have not complied with [Notices](#notices), you can keep your license by taking all practical steps to comply within 30 days after the notice. If you do not do so, your license ends immediately.
29
-
30
- ## Patent
31
-
32
- Each contributor licenses you to do everything with this software that would otherwise infringe any patent claims they can license or become able to license.
33
-
34
- ## Reliability
35
-
36
- No contributor can revoke this license.
37
-
38
- ## No Liability
39
-
40
- ***As far as the law allows, this software comes as is, without any warranty or condition, and no contributor will be liable to anyone for any damages related to this software or this license, under any kind of legal claim.***
41
-
42
- Project-URL: Repository, https://github.com/urschrei/pyzotero
43
- Project-URL: Tracker, https://github.com/urschrei/pyzotero/issues
44
- Project-URL: documentation, https://pyzotero.readthedocs.org
45
- Keywords: Zotero,DH
9
+
10
+ Version 1.0.0
11
+
12
+ ## Purpose
13
+
14
+ This license gives everyone as much permission to work with this software as possible, while protecting contributors from liability.
15
+
16
+ ## Acceptance
17
+
18
+ In order to receive this license, you must agree to its rules. The rules of this license are both obligations under that agreement and conditions to your license. You must not do anything with this software that triggers a rule that you cannot or will not follow.
19
+
20
+ ## Copyright
21
+
22
+ Each contributor licenses you to do everything with this software that would otherwise infringe that contributor's copyright in it.
23
+
24
+ ## Notices
25
+
26
+ You must ensure that everyone who gets a copy of any part of this software from you, with or without changes, also gets the text of this license or a link to <https://blueoakcouncil.org/license/1.0.0>.
27
+
28
+ ## Excuse
29
+
30
+ If anyone notifies you in writing that you have not complied with [Notices](#notices), you can keep your license by taking all practical steps to comply within 30 days after the notice. If you do not do so, your license ends immediately.
31
+
32
+ ## Patent
33
+
34
+ Each contributor licenses you to do everything with this software that would otherwise infringe any patent claims they can license or become able to license.
35
+
36
+ ## Reliability
37
+
38
+ No contributor can revoke this license.
39
+
40
+ ## No Liability
41
+
42
+ ***As far as the law allows, this software comes as is, without any warranty or condition, and no contributor will be liable to anyone for any damages related to this software or this license, under any kind of legal claim.***
46
43
  Classifier: Programming Language :: Python
47
44
  Classifier: Programming Language :: Python :: 3.9
48
45
  Classifier: Programming Language :: Python :: 3.10
@@ -56,22 +53,15 @@ Classifier: Intended Audience :: Education
56
53
  Classifier: License :: OSI Approved :: Blue Oak Model License (BlueOak-1.0.0)
57
54
  Classifier: Operating System :: OS Independent
58
55
  Classifier: Topic :: Software Development :: Libraries :: Python Modules
56
+ Requires-Dist: feedparser>=6.0.12
57
+ Requires-Dist: bibtexparser>=1.4.3,<2.0.0
58
+ Requires-Dist: httpx>=0.28.1
59
+ Requires-Dist: whenever>=0.8.8
59
60
  Requires-Python: >=3.9
61
+ Project-URL: Repository, https://github.com/urschrei/pyzotero
62
+ Project-URL: Tracker, https://github.com/urschrei/pyzotero/issues
63
+ Project-URL: documentation, https://pyzotero.readthedocs.org
60
64
  Description-Content-Type: text/markdown
61
- License-File: LICENSE.md
62
- License-File: AUTHORS
63
- Requires-Dist: feedparser>=6.0.11
64
- Requires-Dist: pytz
65
- Requires-Dist: bibtexparser
66
- Requires-Dist: httpx>=0.28.1
67
- Provides-Extra: test
68
- Requires-Dist: pytest>=7.4.2; extra == "test"
69
- Requires-Dist: httpretty; extra == "test"
70
- Requires-Dist: python-dateutil; extra == "test"
71
- Requires-Dist: ipython; extra == "test"
72
- Requires-Dist: pytest-asyncio; extra == "test"
73
- Requires-Dist: pytest-cov>=6.0.0; extra == "test"
74
- Dynamic: license-file
75
65
 
76
66
  [![Supported Python versions](https://img.shields.io/pypi/pyversions/Pyzotero.svg?style=flat)](https://pypi.python.org/pypi/Pyzotero/) [![Docs](https://readthedocs.org/projects/pyzotero/badge/?version=latest)](http://pyzotero.readthedocs.org/en/latest/?badge=latest) [![PyPI Version](https://img.shields.io/pypi/v/Pyzotero.svg)](https://pypi.python.org/pypi/Pyzotero) [![Anaconda-Server Badge](https://anaconda.org/conda-forge/pyzotero/badges/version.svg)](https://anaconda.org/conda-forge/pyzotero) [![Downloads](https://pepy.tech/badge/pyzotero)](https://pepy.tech/project/pyzotero)
77
67
 
@@ -79,7 +69,7 @@ Dynamic: license-file
79
69
 
80
70
  # Quickstart
81
71
 
82
- 1. `pip install pyzotero` **or** `conda config --add channels conda-forge && conda install pyzotero`
72
+ 1. `uv add pyzotero` **or** `pip install pyzotero` **or** `conda install conda-forge::pyzotero`
83
73
  2. You'll need the ID of the personal or group library you want to access:
84
74
  - Your **personal library ID** is available [here](https://www.zotero.org/settings/keys), in the section `Your userID for use in API calls`
85
75
  - For **group libraries**, the ID can be found by opening the group's page: `https://www.zotero.org/groups/groupname`, and hovering over the `group settings` link. The ID is the integer after `/groups/`
@@ -4,7 +4,7 @@
4
4
 
5
5
  # Quickstart
6
6
 
7
- 1. `pip install pyzotero` **or** `conda config --add channels conda-forge && conda install pyzotero`
7
+ 1. `uv add pyzotero` **or** `pip install pyzotero` **or** `conda install conda-forge::pyzotero`
8
8
  2. You'll need the ID of the personal or group library you want to access:
9
9
  - Your **personal library ID** is available [here](https://www.zotero.org/settings/keys), in the section `Your userID for use in API calls`
10
10
  - For **group libraries**, the ID can be found by opening the group's page: `https://www.zotero.org/groups/groupname`, and hovering over the `group settings` link. The ID is the integer after `/groups/`
@@ -1,13 +1,14 @@
1
1
  [project]
2
2
  name = "pyzotero"
3
- dynamic = ["version", "readme"]
3
+ version = "1.6.13"
4
4
  description = "Python wrapper for the Zotero API"
5
+ readme = "README.md"
5
6
  requires-python = ">=3.9"
6
7
  dependencies = [
7
- "feedparser >= 6.0.11",
8
- "pytz",
9
- "bibtexparser",
8
+ "feedparser >= 6.0.12",
9
+ "bibtexparser>=1.4.3,<2.0.0",
10
10
  "httpx>=0.28.1",
11
+ "whenever>=0.8.8",
11
12
  ]
12
13
  authors = [{ name = "Stephan Hügel", email = "urschrei@gmail.com" }]
13
14
  license = {file = "LICENSE.md"}
@@ -32,28 +33,28 @@ Repository = "https://github.com/urschrei/pyzotero"
32
33
  Tracker = "https://github.com/urschrei/pyzotero/issues"
33
34
  documentation = "https://pyzotero.readthedocs.org"
34
35
 
35
- [project.optional-dependencies]
36
- test = [
37
- "pytest >= 7.4.2",
38
- "httpretty",
36
+ [dependency-groups]
37
+ dev = [
38
+ "pytest >= 8.4.2",
39
+ "pytz>=2025.2",
40
+ "httpretty >= 1.1.4",
39
41
  "python-dateutil",
40
42
  "ipython",
41
43
  "pytest-asyncio",
42
44
  "pytest-cov>=6.0.0",
45
+ "tzdata>=2025.2"
46
+ ]
47
+ doc = [
48
+ "sphinx",
49
+ "sphinx-rtd-theme"
43
50
  ]
44
-
45
- [tool.setuptools.dynamic]
46
- readme = {file = "README.md", content-type = "text/markdown"}
47
51
 
48
52
  [build-system]
49
- build-backend = "setuptools.build_meta"
50
- requires = [
51
- "setuptools >= 45",
52
- "setuptools-scm[toml] >= 6.2",
53
- ]
53
+ requires = ["uv_build>=0.8.14,<0.9.0"]
54
+ build-backend = "uv_build"
54
55
 
55
56
  [tool.pytest.ini_options]
56
- minversion = "6.2.2"
57
+ minversion = "8.3.0"
57
58
  addopts = [
58
59
  "--import-mode=importlib", "--cov=pyzotero", "--cov-report=xml",
59
60
  ]
@@ -63,8 +64,6 @@ testpaths = [
63
64
  asyncio_mode = "strict"
64
65
  asyncio_default_fixture_loop_scope = "function"
65
66
 
66
- [tool.setuptools_scm]
67
- write_to = "src/_version.py"
68
67
 
69
68
  [tool.ruff]
70
69
  exclude = [
@@ -7,7 +7,6 @@ __author__ = "Stephan Hügel"
7
7
  __api_version__ = "3"
8
8
 
9
9
  import copy
10
- import datetime
11
10
  import hashlib
12
11
  import io
13
12
  import json
@@ -33,7 +32,7 @@ from urllib.parse import (
33
32
  import bibtexparser
34
33
  import feedparser
35
34
  import httpx
36
- import pytz
35
+ import whenever
37
36
  from httpx import Request
38
37
 
39
38
  import pyzotero as pz
@@ -361,6 +360,11 @@ class Zotero:
361
360
  if c := self.client:
362
361
  c.close()
363
362
 
363
+ @property
364
+ def __version__(self):
365
+ """Return the version of the pyzotero library"""
366
+ return pz.__version__
367
+
364
368
  def _check_for_component(self, url, component):
365
369
  """Check a url path query fragment for a specific query parameter"""
366
370
  return bool(parse_qs(url).get(component))
@@ -419,13 +423,9 @@ class Zotero:
419
423
  """
420
424
  # cache template and retrieval time for subsequent calls
421
425
  try:
422
- thetime = datetime.datetime.now(datetime.UTC).replace(
423
- tzinfo=pytz.timezone("GMT"),
424
- )
426
+ thetime = whenever.ZonedDateTime.now("Europe/London").py_datetime()
425
427
  except AttributeError:
426
- thetime = datetime.datetime.now(tz=datetime.timezone.utc).replace(
427
- tzinfo=pytz.timezone("GMT"),
428
- )
428
+ thetime = whenever.ZonedDateTime.now("Europe/London").py_datetime()
429
429
  self.templates[key] = {"tmplt": response.json(), "updated": thetime}
430
430
  return copy.deepcopy(response.json())
431
431
 
@@ -470,7 +470,7 @@ class Zotero:
470
470
  params = {}
471
471
  if not self.url_params:
472
472
  self.url_params = {}
473
- merged_params = params | self.url_params
473
+ merged_params = {**params, **self.url_params}
474
474
  # our incoming url might be from the "links" dict, in which case it will contain url parameters.
475
475
  # Unfortunately, httpx doesn't like to merge query paramaters in the url string and passed params
476
476
  # so we strip the url params, combining them with our existing url_params
@@ -545,9 +545,7 @@ class Zotero:
545
545
  # If the template is more than an hour old, try a 304
546
546
  if (
547
547
  abs(
548
- datetime.datetime.now(tz=datetime.timezone.utc).replace(
549
- tzinfo=pytz.timezone("GMT"),
550
- )
548
+ whenever.ZonedDateTime.now("Europe/London").py_datetime()
551
549
  - self.templates[template]["updated"],
552
550
  ).seconds
553
551
  > ONE_HOUR
@@ -1,3 +0,0 @@
1
- [run]
2
- omit = pyzotero/zotero_errors.py, pyzotero/test.py, test/test_zotero.py, dump_contributors.py, pre-deploy.py, setup.py, shell.py
3
- relative_files = True
@@ -1,34 +0,0 @@
1
- ---
2
- name: Bug report
3
- about: Found a bug in Pyzotero?
4
- title: ''
5
- labels: ''
6
- assignees: urschrei
7
-
8
- ---
9
-
10
- # Note
11
- This issue tracker is for bug reports. Please don't ask about how to use the library here – the docs are comprehensive and include examples: https://pyzotero.readthedocs.io.
12
-
13
- You can also ask questions on the forum: https://forums.zotero.org/discussions
14
-
15
- # Reporting Bugs
16
- If at all possible, provide a [MVCE](https://stackoverflow.com/help/minimal-reproducible-example). If this is inappropriate (e.g. it's obviously a bug), just fill in the below:
17
-
18
- Platform:
19
- Python version:
20
- Pyzotero version:
21
-
22
- # Problem Description
23
- - What were you trying to do?
24
- - What API call did it involve
25
- - What error was raised?
26
-
27
- # More Details
28
- If possible, paste the full traceback in a code block below, and fill in the summary
29
- <details>
30
- <summary>Traceback</summary>
31
-
32
- code goes here, indented with four spaces
33
-
34
- </details>
@@ -1,15 +0,0 @@
1
- ---
2
- name: Usage question
3
- about: How do I use the library and API?
4
- title: ''
5
- labels: ''
6
- assignees:
7
-
8
- ---
9
-
10
- # Note
11
- This issue tracker is for **bug reports**. Please don't ask about how to use the library here – the docs are comprehensive and include examples: https://pyzotero.readthedocs.io.
12
-
13
- You can also ask questions on the forum: https://forums.zotero.org/discussions
14
-
15
- A guide to the Zotero API itself is here: https://www.zotero.org/support/dev/web_api/v3/start
@@ -1,16 +0,0 @@
1
- version: 2
2
- updates:
3
- - package-ecosystem: "pip"
4
- directory: "/"
5
- schedule:
6
- interval: "weekly"
7
- open-pull-requests-limit: 20
8
- groups:
9
- # Specify a name for the group, which will be used in pull request titles
10
- # and branch names
11
- python-dependencies:
12
- # Define patterns to include dependencies in the group (based on
13
- # dependency name)
14
- applies-to: version-updates # Applies the group rule to version updates
15
- patterns:
16
- - "*"
@@ -1,23 +0,0 @@
1
- <!-- Thanks for opening a PR. Please read the following:
2
-
3
- - **Base your changes on the `main` branch**
4
- - If necessary, rebase against `main` before opening a pull request
5
- - This codebase uses Ruff. PRs that reformat code will not be accepted.
6
- - Ensure that all methods added have a proper docstring. **Please do not use Doctest**
7
- - If at all possible, don't add dependencies
8
- - If it is unavoidable, you must ensure that the dependency is maintained, and supported
9
- - Ensure that you add your dependency to [pyproject.toml](pyproject.toml)
10
- - Run the tests and ensure that they pass. If you are adding a feature **you must add tests that exercise it**
11
- - If your pull request is a feature **document the feature**
12
- - One feature per pull request
13
- - [squash](http://git-scm.com/book/en/Git-Tools-Rewriting-History#Squashing-Commits) your commits before opening a pull request unless it makes no sense to do so
14
- - If in doubt, comment your code.
15
-
16
- ## License of Contributed Code
17
- Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you shall be licensed under the Blua Oak Model License 1.0, without any additional terms or conditions.
18
- Please note that pull requests with licenses that are more restrictive than or otherwise incompatible with the license will not be accepted. -->
19
-
20
- Description of changes:
21
- Issue reference (if applicable):
22
-
23
- - [ ] I have read [the CONTRIBUTING doc](CONTRIBUTING.md)
@@ -1,115 +0,0 @@
1
- name: Build wheel, release and publish on new tag
2
-
3
- on: [push, pull_request]
4
-
5
- jobs:
6
- lint:
7
- name: run Ruff
8
- runs-on: ubuntu-latest
9
- steps:
10
- - uses: actions/checkout@v4
11
- with:
12
- fetch-depth: 0 # Optional, use if you use setuptools_scm
13
- submodules: false # Optional, use if you have submodules
14
- name: Check out repo
15
- - uses: astral-sh/ruff-action@v3
16
- with:
17
- args: "check --verbose"
18
-
19
- build:
20
- name: Build and test
21
- runs-on: ubuntu-latest
22
- strategy:
23
- matrix:
24
- python-version: [3.9, 3.10.9, 3.11, 3.12, 3.13]
25
-
26
- steps:
27
- - name: check out repo
28
- uses: actions/checkout@v4
29
- with:
30
- fetch-depth: 0 # Optional, use if you use setuptools_scm
31
- submodules: false # Optional, use if you have submodules
32
-
33
- - name: Install uv and set the python version
34
- uses: astral-sh/setup-uv@v5
35
- with:
36
- python-version: ${{ matrix.python-version }}
37
-
38
- - name: Install the project and deps
39
- run: uv sync --all-extras --dev
40
-
41
- - name: Run tests
42
- run: uv run pytest
43
-
44
- - name: Build wheel
45
- run: uv build --no-sources --wheel -o dist
46
-
47
- - uses: actions/upload-artifact@v4
48
- name: Upload wheel as artifact
49
- with:
50
- name: wheels-${{ strategy.job-index }}
51
- path: |
52
- ./dist/*.whl
53
-
54
- make_sdist:
55
- name: Make SDist
56
- runs-on: ubuntu-latest
57
- steps:
58
- - uses: actions/checkout@v4
59
- with:
60
- fetch-depth: 0 # Optional, use if you use setuptools_scm
61
- submodules: true # Optional, use if you have submodules
62
-
63
- - name: Install uv
64
- uses: astral-sh/setup-uv@v5
65
-
66
- - name: Build SDist
67
- run: uv build --no-sources --sdist -o dist
68
-
69
- - uses: actions/upload-artifact@v4
70
- with:
71
- path: dist/*.tar.gz
72
-
73
- status_check:
74
- name: All Checks
75
- needs: [lint, build]
76
- runs-on: ubuntu-latest
77
- if: always()
78
- steps:
79
- - name: Check status
80
- if: contains(needs.*.result, 'failure') || contains(needs.*.result, 'cancelled')
81
- run: exit 1
82
-
83
-
84
- release_artifacts:
85
- if: github.event_name == 'push' && contains(github.ref, 'refs/tags/')
86
- name: Release repaired and tested wheels
87
- needs: [status_check, make_sdist]
88
- runs-on: ubuntu-latest
89
- environment: release
90
- permissions:
91
- # IMPORTANT: this permission is mandatory for trusted publishing
92
- id-token: write
93
- contents: write
94
-
95
- steps:
96
- - uses: actions/checkout@v4
97
-
98
- - name: Download compressed artifacts
99
- id: download
100
- uses: actions/download-artifact@v4
101
- with:
102
- path: ./artifacts
103
- merge-multiple: true
104
-
105
- - name: Create release and upload wheels
106
- uses: ncipollo/release-action@v1
107
- with:
108
- allowUpdates: true
109
- artifacts: "${{ steps.download.outputs.download-path }}/*.whl,${{ steps.download.outputs.download-path }}/*.gz,${{ steps.download.outputs.download-path }}/*.so,${{ steps.download.outputs.download-path }}/*.dylib,${{ steps.download.outputs.download-path }}/*.lib,${{ steps.download.outputs.download-path }}/*.dll"
110
- token: ${{ secrets.GITHUB_TOKEN }}
111
-
112
- - name: PyPI Publish
113
- uses: pypa/gh-action-pypi-publish@release/v1
114
- with:
115
- packages-dir: ${{ steps.download.outputs.download-path }}
@@ -1,6 +0,0 @@
1
- **/__pycache__
2
- Pyzotero.egg-info
3
- Pyzotero.egg-info
4
- __pycache__
5
- .eggs
6
- src/_version.py
@@ -1,26 +0,0 @@
1
- # .readthedocs.yaml
2
- # Read the Docs configuration file
3
- # See https://docs.readthedocs.io/en/stable/config-file/v2.html for details
4
-
5
- # Required
6
- version: 2
7
-
8
- # Set the version of Python and other tools you might need
9
- build:
10
- os: ubuntu-22.04
11
- tools:
12
- python: "3.11"
13
-
14
- jobs:
15
- post_create_environment:
16
- - python -m pip install sphinx_rtd_theme
17
-
18
- python:
19
- install:
20
- - method: pip
21
- path: .
22
-
23
-
24
- # Build documentation in the docs/ directory with Sphinx
25
- sphinx:
26
- configuration: doc/conf.py
pyzotero-1.6.11/AUTHORS DELETED
@@ -1,2 +0,0 @@
1
- # This is the official list of Pyzotero authors for copyright purposes.
2
- Stephan Hügel (<urschrei@gmail.com>)
@@ -1,16 +0,0 @@
1
- cff-version: 1.1.0
2
- message: "If you use this software, please cite it using these metadata."
3
- abstract: "Pyzotero: a Python client for the Zotero API"
4
- authors:
5
- -
6
- family-names: "Hügel"
7
- given-names: Stephan
8
- orcid: "https://orcid.org/0000-0003-4379-2450"
9
- title: "Pyzotero"
10
- date-released: 2019-05-18
11
- doi: "10.5281/zenodo.2917290"
12
- keywords:
13
- - zotero
14
- license: BlueOak-1.0.0
15
- repository-code: "https://github.com/urschrei/pyzotero"
16
- version: "1.3.15"
@@ -1,100 +0,0 @@
1
- # Contributing
2
- Contributions are welcome. Please bear the following in mind:
3
-
4
- - **Base your changes on the `main` branch**
5
- - If necessary, rebase against `main` before opening a pull request
6
- - This codebase uses Ruff, and PRs are gated on `ruff check` passing. Run `ruff check` locally before opening a PR
7
- - PRs that reformat code will not be accepted.
8
- - Ensure that all methods added have a proper docstring. **Please do not use Doctest**
9
- - If at all possible, don't add dependencies
10
- - If it is unavoidable, you must ensure that the dependency is maintained, and supported
11
- - Ensure that you add your dependency to [pyproject.toml](pyproject.toml)
12
- - Run the tests and ensure that they pass. If you are adding a feature **you must add tests that exercise it**
13
- - If your pull request is a feature **document the feature**
14
- - One feature per pull request
15
- - [squash](http://git-scm.com/book/en/Git-Tools-Rewriting-History#Squashing-Commits) your commits before opening a pull request unless it makes no sense to do so
16
- - If in doubt, comment your code.
17
-
18
- # License of Contributed Code
19
- Contributions are licensed under the Blue Oak Contributor Licence 1.0.0. See below
20
-
21
- # Blue Oak Contributor License
22
-
23
- Version 1.0.0
24
-
25
- ## Purpose
26
-
27
- This license gives the steward of a software project
28
- the legal rights and assurances it needs to accept
29
- contributions covered by intellectual property rights.
30
-
31
- ## Copyright
32
-
33
- The contributor licenses the steward to do everything with
34
- their contributions that would otherwise infringe their
35
- copyrights in them.
36
-
37
- ## Patent
38
-
39
- The contributor licenses the steward to do everything with
40
- their contributions that would otherwise infringe any patent
41
- claims they can license or become able to license.
42
-
43
- ## Sublicensing
44
-
45
- The steward can license the contributions to others in
46
- turn, under whatever terms it chooses.
47
-
48
- ## Reliability
49
-
50
- The contributor cannot revoke this license.
51
-
52
- ## Termination
53
-
54
- The contributor can stop this license from covering
55
- contributions submitted in the future by writing the steward
56
- through one of the channels it uses to receive contributions.
57
- Contributions the contributor submitted before remain under
58
- this license.
59
-
60
- ## Awareness
61
-
62
- The contributor is aware that because of legal rules and
63
- contracts, they may need to get someone else's permission to
64
- submit contributions, even of their own work. For example,
65
- "work made for hire" rules can make employers and clients
66
- the owners of copyrights in the contributor's work.
67
- Contracts with clients, or to form new companies, may make
68
- them the owners of copyrights in the contributor's work.
69
-
70
- ## Rights
71
-
72
- All work in contributions the contributor submits for
73
- inclusion in the project will be either:
74
-
75
- - their own work, which they own the copyrights in or
76
- have permission to submit
77
-
78
- - work licensed by others under permissive license
79
- terms that Blue Oak Council rates "bronze" or better at
80
- <https://blueoakcouncil.org/list>
81
-
82
- ## Notices
83
-
84
- The contributor promises to copy copyright notices,
85
- license terms, and other licensing-related notices for
86
- work licensed by others in their contributions, so the
87
- steward can tell what work is licensed by others under
88
- what terms and follow their notice requirements.
89
-
90
- ## No Liability
91
-
92
- ***As far as the law allows, contributions under this
93
- license come as is, without any warranty or condition,
94
- except those under "Rights" above.***
95
-
96
- ***As far as the law allows, the contributor will not be
97
- liable to anyone for any damages related to contributions
98
- under this license, under any kind of legal claim, except
99
- for claims under "Rights" above.***
100
-
@@ -1,22 +0,0 @@
1
- # This is the list of people (as distinct from [AUTHORS](AUTHORS)) who have contributed code to Pyzotero.
2
-
3
- | **Commits** | **Contributor**<br/> |
4
- | --- |--- |
5
- | 13 | [TruePath](https://github.com/urschrei/pyzotero/commits?author=TruePath) |
6
- | 5 | [patrickfournier](https://github.com/urschrei/pyzotero/commits?author=patrickfournier) |
7
- | 3 | [davidlesieur](https://github.com/urschrei/pyzotero/commits?author=davidlesieur) |
8
- | 2 | [ptgolden](https://github.com/urschrei/pyzotero/commits?author=ptgolden) |
9
- | 2 | [bemuzie](https://github.com/urschrei/pyzotero/commits?author=bemuzie) |
10
- | 2 | [skybristol](https://github.com/urschrei/pyzotero/commits?author=skybristol) |
11
- | 1 | [akx](https://github.com/urschrei/pyzotero/commits?author=akx) |
12
- | 1 | [alee](https://github.com/urschrei/pyzotero/commits?author=alee) |
13
- | 1 | [avram](https://github.com/urschrei/pyzotero/commits?author=avram) |
14
- | 1 | [christianbrodbeck](https://github.com/urschrei/pyzotero/commits?author=christianbrodbeck) |
15
- | 1 | [egh](https://github.com/urschrei/pyzotero/commits?author=egh) |
16
- | 1 | [fmagin](https://github.com/urschrei/pyzotero/commits?author=fmagin) |
17
- | 1 | [pnb](https://github.com/urschrei/pyzotero/commits?author=pnb) |
18
- | 1 | [porduna](https://github.com/urschrei/pyzotero/commits?author=porduna) |
19
- | 1 | [stakats](https://github.com/urschrei/pyzotero/commits?author=stakats) |
20
- | 1 | [epistemery](https://github.com/urschrei/pyzotero/commits?author=epistemery) |
21
- | 1 | [tnajdek](https://github.com/urschrei/pyzotero/commits?author=tnajdek) |
22
- | 1 | [jghauser](https://github.com/urschrei/pyzotero/commits?author=jghauser) |
File without changes