Skip to content

Releases: MolSSI/reference_handler

Bugfix: a reference cited with new text locked the database

Choose a tag to compare

@paulsaxe paulsaxe released this 24 Oct 08:13
1047132
  • cite() found an existing citation only by its raw text. SEAMM's own citation
    holds its version in the text, so after an update it was inserted again and
    failed on the unique alias/DOI ("UNIQUE constraint failed: citation.doi"),
    leaving the transaction open. That held the database's lock: a resumed SEAMM job's
    parallel iterations then all failed with "database is locked" (SEAMM job 5366).
  • Citations are now also found by alias or DOI, with their text brought up to
    date; a failed citation is rolled back; and connections wait up to 30 s for a
    lock, since the iterations of a parallel loop share the job's database.

Format books and other entry types

Choose a tag to compare

@paulsaxe paulsaxe released this 17 Oct 17:59
96f3228
  • Books were printed as "Do not have a handler for 'book'" followed by the raw record. Books now get an ACS-style citation, and any other entry type a readable generic one.
  • Bugfix: format_software passed self twice to format_misc, so a software entry raised an error.

Require bibtexparser 1.x, and build on current Python

Choose a tag to compare

@paulsaxe paulsaxe released this 20 Sep 23:29
e2f9c6e
  • bibtexparser is now pinned to 1.x. reference_handler uses
    bibtexparser.loads(), bibtexparser.load(), bibtexparser.bparser.BibTexParser
    and bibtexparser.bibdatabase, all of which were removed in bibtexparser 2.0, but
    the install requirements asked for a bare bibtexparser. Once 2.0.1 reached
    conda-forge, anything installing this package could pair it with a release that
    breaks it -- including every package that builds a bibliography through
    seamm.Node, which failed with
    AttributeError: module 'bibtexparser' has no attribute 'loads'.

  • The package builds on current Python again. The bundled versioneer called
    configparser.SafeConfigParser() and ConfigParser.readfp(), both removed in
    Python 3.12, so pip install reference_handler could not even get as far as
    building. It is now the same versioneer the SEAMM packages use.

  • Internal: the CI and Release workflows have been brought up to date. They used
    action versions whose runtimes GitHub has removed, and tested on Python 3.7 and
    3.8; they now test 3.11 and 3.12 on Linux and macOS. The test environment had an
    empty channels:, so nothing came from conda-forge. The code is formatted with
    black, matching the Makefile, and linted with it rather than yapf. Releases are
    published to PyPI with trusted publishing.

Internal release to fix CI problem.

Choose a tag to compare

@paulsaxe paulsaxe released this 05 May 18:21
0.9.1

Temporarily removing Windows from CI due to database persistence issues.

Improvements to formatted output.

Choose a tag to compare

@paulsaxe paulsaxe released this 05 May 18:03
cebf3f0
Merge pull request #5 from MolSSI/improved_text

Improved text output in support of SEAMM

Initial working version

Pre-release

Choose a tag to compare

@paulsaxe paulsaxe released this 26 Sep 20:43
ec9b858
Merge pull request #2 from MolSSI/travis

Setting up Travis-CI, codecov, PyUp