Recent Releases of manubot
manubot - v0.6.1: manubot version 0.6.1
Commits
5cf83a9 TST: update openreview citation pub date 06fcecb ai-revision: support GPT3CompletionModel subclasses e1b1646 ai-revision command --config-directory 7cb3c04 GH actions: upgrade dependencies a8a81d1 pre-commit autoupdate ec70948 pre-commit: use ruff-format instead of black 239f9ab fix or xfail failing tests 7d35034 update bioregistry on 2024-07-20 758683b release action: use PyPI trusted publisher
Code authors
Daniel Himmelstein Faisal Alquaddoomi Joshua Haase
- Python
Published by dhimmel over 1 year ago
manubot - v0.6.0: manubot version 0.6.0
Commits
f62dd4c ai-revision: ModuleNotFoundError error message 6e6f6a5 drop py37, require pyrate-limiter <3
- Python
Published by dhimmel over 2 years ago
manubot - v0.5.6: manubot version 0.5.6
Commits
- f9abd4d pre-commit: replace checks with ruff
- 9d3edb8 lint with ruff & fix errors
- 57c3833 pre-commit autoupdate
- f6c1fcd testgetdoicslitem_zotero: changed author order
- d4242ff manubot ai-revision command
- b2e0bcf Fix broken link to docs (#361)
- ebf49f0 readme: fix CI badge
Code authors
- Anthony Gitter
- Daniel Himmelstein
- Milton Pividori
- Python
Published by dhimmel about 3 years ago
manubot - v0.5.5: manubot version 0.5.5
Commits
- 0533556 jinja2 keeptrailingnewline
- 4283d79 appveyor: reduce pytest to appveyor marked only (#351)
- 86a6903 testwebpagecommand: remove appveyor mark
- 3c1f4a0 getpubmedcsl_item: use retmode=xml (#355)
- e14df43 CSL schema: upgrade to v1.0.2 (#353)
- Python
Published by dhimmel about 3 years ago
manubot - v0.5.4: manubot version 0.5.4
Commits
- c6d02c8 pre-commit autoupdate
- fb39504 Skip citation processing for sec prefix (#334)
- 5fcee80 Use python=3.10 on conda developer environment.
- d919de2 Fix tests failing on main.
- 29dec5b isbnlib default timeout (#342)
- a2ba578 testcitepandoc_filter: updated date (#343)
- 3524f72 Swap first and last name in Citoid ISBN metadata (#345)
- da4161f GH actions: upgrade workflow dependencies
- ea096d3 CI: test on Python 3.11
- e2c5fd4 switch from raterlimiter to throttler
- 6df3ac8 pre-commit autoupdate
- 1729dae switch dependency: toml --> tomllib / tomli
- cbc0557 CI: revert max python version to 3.10
- a5b9acf CI: shorten job name to pytest
- e0a8c11 readme: remove Travis CI badge
- 455842d requesteutils: throttler requires async
- 431daa1 use pyrate_limiter for rate limited requests (#347)
- 0809ff5 manuscript metadata: explicit date (#349)
- 43ef558 update bioregistry on 2022-11-12
- 35178e6 fix bioregistry test for gramene.growthstage:0007133
- 912aa0e Test on Python 3.11
Code authors
- Anthony Gitter
- Daniel Himmelstein
- Joshua Haase
- Matthew Turk
- xihh87
- Python
Published by dhimmel over 3 years ago
manubot - v0.5.3: manubot version 0.5.3
Commits
be8a96f Support metadata.manubot-randomize-author-order (#317) d5779de Use doi.org content negotiation only, fallback to resolved URL (#319) e2896f7 Drop Python 3.6 support, add Python 3.10 support (#318) 90925ee pre-commit: run pyupgrade --py37-plus (#321) 3551dec tool.black.target-version: remove py36 43de2af update bioregistry on 2022-03-02 (#324)
- Python
Published by dhimmel almost 4 years ago
manubot - v0.5.2: manubot version 0.5.2
What's Changed
- Add command-line argument to skip adding the rootstock git remote by @twrightsman in https://github.com/manubot/manubot/pull/292
- gh actions jobid: use GITHUBRUN_ID by @dhimmel in https://github.com/manubot/manubot/pull/300
- pandoc-manubot-cite link reference syntax with newline by @dhimmel in https://github.com/manubot/manubot/pull/302
- Upgrade identifiers.org database on 2021-10-29 by @dhimmel in https://github.com/manubot/manubot/pull/304
- CURIE support: switch to Bioregistry by @dhimmel in https://github.com/manubot/manubot/pull/306
- getdoicsl_item: try crosscite if datacite fails by @dhimmel in https://github.com/manubot/manubot/pull/310
- getdoicslitemnegotiation: do not use partial by @dhimmel in https://github.com/manubot/manubot/pull/312
- update bioregistry on 2022-01-08 by @dhimmel in https://github.com/manubot/manubot/pull/311
- Prepare 0.5.2 release by @dhimmel in https://github.com/manubot/manubot/pull/313
New Contributors
- @twrightsman made their first contribution in https://github.com/manubot/manubot/pull/292
Full Changelog: https://github.com/manubot/manubot/compare/v0.5.1...v0.5.2
- Python
Published by dhimmel about 4 years ago
manubot - v0.5.1: manubot version 0.5.1
Commits
- 0c2e5b2 switch default branch to main from master
- 3a6c41b fix exclusion of tests in wheel distribution (#273)
- 96df839 move common pytest options to pyproject.toml
- 5b865c5 setup options: zip_safe = False
- 55c5e1e update rootstock default branch to main (#275)
- 9d9c2e1 upgrade to pandoc 2.11.3.1 (#276)
- 553090a Infer citekey prefixes (#277)
- 3ff3000 cite requests: better error messages (#279)
- 52aa09f Check pandoc-citeproc version only if required
Code authors
- Daniel Himmelstein
- Sergey Lazarev
- Python
Published by dhimmel almost 5 years ago
manubot - v0.5.0: manubot version 0.5.0
Commits
- 6c40633 update CURIE export on 2020-12-05
- 980cc2e Use pre-commit hooks for formatting and linting (#269)
- 53c69d8 package setup: use declarative config (#268)
- 749f4a1 test_metadata.py: swap skip reasons
- 68556f6 manubot cite: remove --render & cslyaml support (#267)
- aade9e1 Revise CSL Item notes added by Manubot (#265)
- Python
Published by dhimmel about 5 years ago
manubot - v0.4.2: manubot version 0.4.2 release notes
Commits
- 9a958c9 PR #261: cite filter options, bibliography-cache & YAML bibs
- d5227e6 testcitefilter: do not use yamlmetadatablock for wrap
- 4c9e64b util flake8 lazy import type annotation
- 1b3edc7 pandoc-manubot-cite: improve options documentation
- 38b34f4 pandoc testcitefilter: move options to YAML metadata
- 5540b1a testcitationscsl_serialization
- a78dcdc yaml.dump sort_keys=False to retain dict order
- 19e9f45 Citations.writecslitems support for YAML
- 1c44271 disable manubot-bibliography-cache by default
- c6f1a3d manubot-pandoc-cite manubot-bibliography-cache
- c08e1a6 manubot.process.bibliography.load_bibliography docs
- 9858c0c note testcitepandoc_filter skipped on pandoc >= 2.11
- 4323275 do not append duplicate lines to a note
- daf56e6 manubot.cite.csl_item type annotations
- e61e86d ignore ratelimiter DeprecationWarning (#259)
- 5d9e8e4 Support pandoc 2.11 (#256)
- 406eed4 cite_filter.py: panflute<2, typing, doc.manubot (#255)
- 01d69f0 More typing of manubot.cite modules (#252)
- 7c03b4a Add typing to some manubot.cite modules (#251)
- 1c764d0 Support and test on Python 3.9 (#250)
- 0091846 geturlcslitemzotero: set missing URL (#247)
- 1e807db Merge pull request #246 from agitter/update-test-output
- a50ecab black 20.8b1 formatting changes
- 568aa55 Fix failing cite filter text Update authors in Papernot et al. reference
- c543bd9 Fix oai logging (#245)
Code authors
- Anthony Gitter
- Daniel Himmelstein
- James
- Python
Published by dhimmel about 5 years ago
manubot - v0.4.1: manubot version 0.4.1 release notes
Contains enhancements and usability improvements to manubot cite.
Commits
2c4cc8b Prepare 0.4.1 release 3d6d5d4 cite command: preserve order of input citekeys in output (#241) a57ccf0 Testing manuscript with missing CSL JSON fields (#110) 217e514 cite command enhancements (#238) 3bd4aab Fix inspection of CURIEs when namespaceEmbeddedInLui (#237)
- Python
Published by dhimmel over 5 years ago
manubot - v0.4.0: manubot version 0.4.0 release notes
Includes backwards incompatable changes to the manubot.cite API. Major enhancements to the flexibility of citation processing.
Commits
- 12d4537 reduce travis and appveyor CI duties (#232)
- 3196819 one-time reset of the CSL JSON Schema requests cache (#235)
- 1c3c74b Update CSL JSON Schema processing & replace OrderedDicts (#234)
- 2c5fb7a Update README badges
- 47b03e0 apply flexible class-based citation pipeline (#225)
- a2c54c8 Adopt BSD-2-Clause-Patent license
- 20ba7e3 move linting, docs, and releases to github actions (#228)
- f891508 Improve maintainability of cite command tests (#227)
- 04cbe9f fix testwebqueryreturnssingleresultpubmed_url
- 7055bcc Citation refactor: CiteKey & Handle classes, CURIE support (#223)
- 4d3a97f actions: restore python-version functionality (#224)
- 730527f style: ignore F541: f-string without any placeholders
- 7261220 cite.curie module for compact identifiers via identifiers.org (#219)
- dc5ad40 relax testunpaywallfromcslitemwithdoi
- 890b768 webpage_command.py: fix bug in subprocess usage
- 9c33b7a metadata: convert author.funders to list (#221)
- a4c826c getcontinuousintegration_parameters: fix warning (#215)
- b4a6238 subprocess calls: do not accidentally write to stdout (#212)
- ea11343 CI: use r-lib/actions/setup-pandoc to install pandoc
- 10fa21b fix typo in cite.citeproc.removeerror warning message
- a022e71 manubot process: require --skip-citations (#210)
- bc79746 Fix testunpaywallfrom_citekey
- e912856 DOI metadata: use DataCite Content Negotiation (#206)
- 9a8c080 Fix testgetarxivcslitem_oai: new OpenBioLink title
- 68ae7cf yamllint failing YAML files (#205)
- e18fed8 Fix getrootstockcommit on pull requests
- e88055f Update release instruction [skip ci]
- Python
Published by dhimmel almost 6 years ago
manubot - v0.3.1: manubot version 0.3.1 release notes
Manubot version 0.3.1 includes the pandoc-manubot-cite command, which is a Pandoc filter for citation by identifier.
manubot process has a --skip-citations option to leave citation processing for pandoc-manubot-cite.
This option may become required in the future.
See commits for additional enhancements in this release.
Commits
- 95ec387 Do not warn about citation-tags.tsv when missing (#194)
- 6a35918 Fix black formatting error
- 54ed780 getcontinuousintegration_parameters: support GitHub actions (#195)
- b807720 Version citaiton in testing input.md
- 5ac49d7 pandoc-manubot-cite filter (#99)
- 92ad55b CI: do not use pytest --verbose
- 8b6e177 Remove python 3.8 from GH actions test
- 9ce0c62 Add GitHub workflow for tests (#136)
- 87f6314 Configure & enforce flake8 linting (#193)
- 7d6bb21 readme: add documentation badge
- 11d189d process.util: more modular getcitekeysdf & generatecslitems
- 36bc1c4 CSL_Item: add date IO functionality (#189)
- b00e49f CI: Update pandoc to version 2.8 (#178)
- 9c58b4e process: YAML metadata use 'authors' not 'author_info' (#188)
- 82c3d40 Expand urltocitekey support for Sci-Hub links (#185)
- f1772c1 CSL Item: Remove newlines in arXiv abstract (#184)
- a59e73d manubot.cite.citekey.urltocitekey URL parser (#182)
- d223302 Fix minor linter errors
- b3f6a23 zotero searchorweb_query deduces whether URL or ID (#183)
- Python
Published by dhimmel almost 6 years ago
manubot - v0.3.0: manubot version 0.3.0 release notes
Manubot version 0.3.0 updates the schema of output variables & metadata for the manubot process command. Now, Pandoc's header-includes metadata field is set to provide manuscript-specific metadata that improves indexing by bibliographic databases and assists sharing on social media.
The terminology around citations has been updated. We now refer to identifiers for specific references as "citekeys" or "citation keys". The following external-facing functions have updated names: manubot.cite.citekey_to_csl_item and manubot.cite.standardize_citekey.
There is a new subcommand manubot webpage for managing creation of a webpage directory for manuscripts.
Commits
- a9fc2ea Log user-provided variables at debug level (#179)
- 2ffcec1 don't encapsulate header-includes in code block
- e892999 Set Pandoc's header-includes with HTML
<meta>(#138) - 23e687a Revise metadata.yaml processing (#175)
- 74f7a85 Update copyright assertion statement
- 98de2bd miscellaneous edits from gitter reviews
- ebac7ab process: combined pandoc & manubot metadata via load_variables (#173)
- 49343c7 readme: improve development commands (#171)
- 785b4aa move ishttpurl to manubot.util (#174)
- 9023b7f process: set / detect manuscript thumbnail image (#169)
- 0b7c14a Apply black style to Python codebase (#164)
- 43be195 webpage: fix
processreferenced before assignment (#166) - ddd0995 Function to get doi metadata via translation-server
- d5f9871 Travis CI: test on Python 3.8 (#162)
- 2f494fe skip testgetcontinuousintegrationparameters_* on forks (#160)
- 94e3f4c Migrate standardize ids & notes to CSL_Item class (#157)
- 04a3574 Generate docs and deploy to gh-pages (#153)
- 065ae7f Migrate cslitempassthrough to CSL_Item.clean (#156)
- 40e5b7a testcitecommandrenderstdout: version expected files
- 1aa21dc CSL_Item class for bibliographic metadata of a single reference
- 75b259e TST: pytest option to cache requests (#151)
- 0478ce2 Switch pytest to use verbose & colored output (#154)
- cf9564d split cite.util into csl_item & citekey submods
- 307b339 TST: read files as utf-8-sig (#143)
- 71d4d39 Travis: use API token for PyPI authorization
- df480ae Fix webpage warning during ots upgrade (#134)
- 23a0841 Adopt "citekeys" terminology (#129)
- efb0adb webpage redirect-template.html: remove blank line
- 00405aa manubot webpage subcommand (#132)
- 1b885c6 process.ci: generalize CI variables & support AppVeyor
Contributors
Authors of commits included in this release:
- Python
Published by dhimmel over 6 years ago
manubot -
Manubot version 0.2.4 contains various enhancements and improvements to the citation processing workflow.
New features
Create the new manubot.pandoc submodule with code for interacting with the system Pandoc installation (see GH103). This module creates an organized location for Pandoc-related code, which will help with development of creating a Pandoc filter for citation-by-identifier (see GH99).
Manual references can now be supplied in formats other than CSL JSON. Formats supported by pandoc-citeproc --bib2json can now be supplied to manubot process. See GH100 and GH104.
Changes
Additional refactoring of the manubot.cite submodule has moved the package closer to a well-defining processing pipeline for citations (GH113 and GH114). The column names in citations.tsv changed to [manuscript_id, detagged_id, standard_id, short_id].
Make any missing parent directories for the --output-directory and --cache-directory arguments of manubot process. See GH102 and GH115.
Read text files using the utf-8-sig encoding (to strip BOMs if present). Write text files using utf-8 encoding. UTF-8 ensures compatibility with Pandoc, which uses it for I/O. Also keeps operation consistent across files / platforms. See GH125 and GH127.
The README has been updated with improved installation instructions and the Manubot software paper citation. See GH118 and GH121.
- Python
Published by dhimmel over 6 years ago
manubot - manubot version 0.2.3 release notes
Manubot version 0.2.3 contains various enhancements. In addition, the source code location has moved from https://github.com/greenelab/manubot to https://github.com/manubot/manubot (see GH94).
New features
Citations of shortDOIs are now supported (see GH92 and GH93). shortDOIs, which start with 10/ rather than 10., can now be cited just like a DOI. For example, @doi:10/gddkhn is a supported citation. Manubot expands shortDOI citations to their regular DOIs, e.g. @doi:10.1098/rsif.2017.0387, such that manubot process will treat both the short and regular form as the same citation.
Bug fixes
Queries to Manubot's translation-server now specify single=1 to enforce returning a single record per persistent identifier (see GH90). Previously, multiple results were sometimes returned, causing Manubot's JSON CSL retrieval to fail. Furthermore, Zotero child notes are now ignored, fixing another failure mode for CSL export of Zotero metadata.
Null authors are now allowed in metadata.yaml and do not crash Manubot with a TypeError (see GH91).
The codebase has been updated to avoid deprecation warnings in Pandas v0.24 (see GH95).
- Python
Published by dhimmel about 7 years ago
manubot - manubot version 0.2.2
Manubot version 0.2.2 contains citation and web request enhancements.
New features
This release adds citation support for two additional types of identifiers (isbn and wikidata).
ISBNs are the primary persistent identifier for many books, so many books no longer need to be cited by URL (see GH79 and GH14). However, ISBN metadata is sometimes missing or erroneous.
Users may need to still need to set manual CSL JSON, but Manubot can at least produce a reasonable starting template. Try for example manubot cite isbn:9780062316097.
Wikidata is a free and open knowledge base that contains many records of scholarly works. Wikidata can store metadata on records that do not have their own persistent identifiers, and thus can help Manubot users assign a stable identifier to works that otherwise would not have one (see GH67 and GH86). Try for example manubot cite wikidata:Q50051684.
Manubot now uses Zotero's translation-server infrastructure to provide metadata for wikidata, ISBN, and URL citations (see GH70 and GH84). Manubot now hosts its own instance of translation-server at https://translate.manubot.org (see GH82). As such, Manubot users can benefit from Zotero's impressive collection of translators for retrieving metadata from different webpages. Manubot's ISBN and URL citation metadata retrievers now first attempt to generate metadata using translation-server, and fallback to other methods if that fails.
Bug fixes
NCBI E-Utility requests are now rate limited to 2 per second (see GH83). Previously, certain situations that caused rapid E-Utility requests would return status code 429 for "too many requests".
Internal changes
Outgoing web requests made by Manubot now set the User-Agent header (see GH83). These headers provide high-level information of a user's system, as shown in the following examples:
manubot/0.2.2 (Linux; Python/3.6) <contact@manubot.org>
manubot/0.2.2 (Windows; Python/3.7) <contact@manubot.org>
Setting the header will help upstream resources contact the Manubot developers should our requests be problematic or should downtime be anticipated. Furthermore, it will allow Manubot's translation-server to monitor Manubot usage, including which operating system, Python version, and package version are being used.
Manubot's test suite has been reorganized such that testing modules correspond one-to-one with package modules (see GH87).
- Python
Published by dhimmel about 7 years ago
manubot - manubot version 0.2.1
Manubot version 0.2.1 contains several improvements to the package's citation infrastructure.
New features
Support has been added for raw citations for references without supported persistent identifiers (see GH62 and GH74). Raw citations require the user to manually specify the corresponding CSL JSON.
Error messages for invalid citations have been improved (see GH76 and GH71). More types of incorrect citations are now caught internally before any external APIs are queried to retrieve metadata.
The manubot cite command has been updated to generate metadata for all valid citations, while logging error messages for invalid citations (see GH77). Previously, a single invalid citation would cause the program to exit before outputting references for valid citations.
Bug fixes
Previously, metadata for pmcid citations was retrieved from the NCBI Citation Exporter. This service was taken offline without notice causing citation retrieval to fail. NCBI replaced the previous service with the Literature Citation Exporter. The manubot.cite.pubmed.get_pmc_citeproc function has been changed to use the new service (see GH80).
Previously, CSL JSON Items were being generated with empty date-parts arrays, which would cause pandoc-citeproc to fail. Manubot's CSL JSON pruning infrastructure has been updated to delete empty date-parts arrays (see GH66 and GH65).
Entrez E-Utils returned integer-encoded months for certain pmid citations causing citeproc_from_pubmed_article to fail. Both integer and character month encodings are now supported (see GH72).
- Python
Published by dhimmel over 7 years ago
manubot - manubot version 0.2.0
Manubot version 0.2.0 introduces subcommands to the command line interface. The previous command manubot to process manuscript content for Pandoc is now manubot process. New functionality has been added via the manubot cite subcommand to retrieve bibliographic metadata for citations (see GH37). The cite subcommand can either return CSL JSON (default) or formatted references (--render, requires Pandoc, see GH48).
This release adds support for removing invalid fields from CSL JSON Data, which is enabled by default (see GH47). Previously, certain citeproc APIs returned CSL JSON with extra fields or fields with invalid values according to the CSL JSON Schema. Now CSL JSON is validated against the schema, with invalid fields removed.
Now PMID & PMCID fields are automatically populated when generating CSL data for DOIs (see GH45). CSL for DOIs now uses shortDOIs in the URL field.
As this package now supports more varied use cases and workflows, the code has been refactored to use lazy imports (see GH56). Most functions directly under manubot.cite and manubot.process have been moved to util submodules. manubot.cite.citation_to_citeproc and manubot.cite.standardize_citation remain for backward compatibility.
- Python
Published by dhimmel over 7 years ago