Parses and creates COinS metadata tags. Can be used with Zotero.
Project description
coins-parser
Parses and creates COinS metadata tags. Can be used with Zotero.
Table of Contents
Installation
pip install coins-parser
Usage
Zotero allows you to export references as COinS tags. You can use this package to parse them and use them in your Python packages. This package offers a CoinsParser class that can parse an HTML string containing COinS tags into a Python list. This list contains a list of COinS metadata for each COinS span tag found in the HTML string.
# parse a single COinS tag
from coins_parser import CoinsParser
html_with_coins_tags: str = ""
# print metadata for each COinS tag
coins = CoinsParser.parse(html_with_coins_tags)
for coin in coins:
print(coin)
You can covert COinS objects back into HTML. This can be useful if you want to inject one or more COinS span tags into your webpage so Zotero can recognize one or more items on a single page.
# Create two COinS objects
from coins_parser import CoinsParser
coin_1: list[tuple[str, str]] = [
("url_ver", "Z39.88-2004"),
("ctx_ver", "Z39.88-2004"),
("rfr_id", "info:sid/zotero.org:2"),
("rft_val_fmt", "info:ofi/fmt:kev:mtx:dc"),
("rft.type", "computerProgram"),
("rft.title", "MyApp"),
("rft.publisher", "Some Company"),
("rft.description", "This is an example dummy software for testing."),
("rft.identifier", "https://zenodo.org/records/somenumber1"),
("rft.aufirst", "Willa"),
("rft.aulast", "Biley"),
("rft.au", "Willa Biley"),
("rft.au", "Wilò Rilü"),
("rft.au", "Jil van Hilo"),
("rft.date", "2025-04-15"),
]
coin_2: list[tuple[str, str]] = [
("url_ver", "Z39.88-2004"),
("ctx_ver", "Z39.88-2004"),
("rfr_id", "info:sid/zotero.org:2"),
("rft_val_fmt", "info:ofi/fmt:kev:mtx:dc"),
("rft.type", "computerProgram"),
("rft.title", "MyOtherApp"),
("rft.publisher", "Some Company"),
("rft.description", "This is another example dummy software for testing."),
("rft.identifier", "https://zenodo.org/records/somenumber2"),
("rft.aufirst", "Willa"),
("rft.aulast", "Biley"),
("rft.au", "Willa Biley"),
("rft.au", "Wilò Rilü"),
("rft.au", "Jil van Hilo"),
("rft.date", "2025-04-11"),
]
coins: list[list[tuple[str, str]]] = [coin_1, coin_2]
html: str = CoinsParser.html(coins)
print(html)
License
coins-parser is distributed under the terms of the Apache 2.0 license
Contribution
Contributions in the form of feature requests, bug reports, bug fixes, tests, and feature implementations are welcome. To contribute code, please fork the project, and then do a pull request.
Developer Notes
Building Locally
To build the tool locally, please follow the general advice from here.
python3 -m pip install --upgrade build
python3 -m build
Deploying
To deploy the tool, use the Github Action defined in .github/workflows/python-publish.yml
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file coins_parser-1.0.2.tar.gz.
File metadata
- Download URL: coins_parser-1.0.2.tar.gz
- Upload date:
- Size: 9.6 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.9.22
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
9bcd7ed12befde2505d2b096f87669501982acb2a2dac8bf1cb591d0fa1da5dc
|
|
| MD5 |
acbe318eab3c21b24486ef5dbfac86f0
|
|
| BLAKE2b-256 |
3c887ca26dbfc0d444bc7bab0576189bed79304bf37843078ef3fb0cad96ea9e
|
File details
Details for the file coins_parser-1.0.2-py3-none-any.whl.
File metadata
- Download URL: coins_parser-1.0.2-py3-none-any.whl
- Upload date:
- Size: 8.1 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.9.22
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
3bd551aeffaffd9f095a99c670115b47618bfa3625c1af9c6acd3e6796f0a06c
|
|
| MD5 |
86b3d78bf2a6ea2d526f9debffb2f7f0
|
|
| BLAKE2b-256 |
551d408cbd3da5f1ffffa4cab6eaad73a7c8f91581d4b3c633fda3ab92c7caec
|