Repository navigation
Releases: MolSSI/reference_handler
Release list
Bugfix: a reference cited with new text locked the database
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
- 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_softwarepassedselftwice toformat_misc, so asoftwareentry raised an error.
Require bibtexparser 1.x, and build on current Python
-
bibtexparseris now pinned to 1.x.reference_handleruses
bibtexparser.loads(),bibtexparser.load(),bibtexparser.bparser.BibTexParser
andbibtexparser.bibdatabase, all of which were removed in bibtexparser 2.0, but
the install requirements asked for a barebibtexparser. 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()andConfigParser.readfp(), both removed in
Python 3.12, sopip install reference_handlercould 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
emptychannels:, 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.
0.9.1 Temporarily removing Windows from CI due to database persistence issues.
Improvements to formatted output.
Merge pull request #5 from MolSSI/improved_text Improved text output in support of SEAMM
Initial working version
Merge pull request #2 from MolSSI/travis Setting up Travis-CI, codecov, PyUp