************* Release Notes ************* .. contents:: :depth: 2 :local: 0.1 Series ========== 0.1.0 (2022-02-10) ------------------ This is the first public packaged release of dbprocessing. For the convenience of those working directly from git checkouts, these release notes summarize changes made since the creation of the public repository on 2020-07-15. New features ^^^^^^^^^^^^ Support for processes that take no input was added, as part of many enhancements to :ref:`scripts_DBRunner` (`26 `_). New script :ref:`scripts_linkUningested` to find files which match product format but are not in database, and symlink them to the incoming directory so they can be ingested (`54 `_). Python 3 support was added (`77 `_). Added options :option:`printProcessQueue.py --count`, :option:`printProcessQueue.py --exist`, and :option:`printProcessQueue.py --quiet` to allow flow control in shell scripts based on the process queue state (`87 `_, `88 `_). Added options :option:`printProcessQueue.py --product` to filter output and :option:`printProcessQueue.py --sort` to sort output (`93 `_). Initial PostgreSQL support was added; see :ref:`scripts_specifying_database` and :option:`CreateDB.py --dialect` (`64 `_, `78 `_ `114 `_). Deprecations and removals ^^^^^^^^^^^^^^^^^^^^^^^^^ None Dependency requirements ^^^^^^^^^^^^^^^^^^^^^^^ `SQLAlchemy `_ and `dateutil `_ are required. No minimum version has been established, but ``dbprocessing`` is known to work with SQLAlchemy 1.1 and dateutil 2.6. Major bugfixes ^^^^^^^^^^^^^^ Fixed :class:`~dbprocessing.dbprocessing.ProcessQueue.buildChildren` on older databases without ``yesterday`` and ``tomorrow`` columns in the ``Productprocesslink`` table (`20 `_). Fixed :class:`~dbprocessing.runMe.runMe` to always maintain the ``output_interface`` version specified by the code. Updates to a code's interface version will increment the quality version of its output (not the interface); updates to a file's interface version will increment the quality version of child files (rather than assuming children were up-to-date and failing to reprocess them). (`63 `_) Fixed :meth:`~dbprocessing.dbprocessing.ProcessQueue.buildChildren` (specifically, helper method ``_getRequiredProducts``) to only look for files which are recorded in the database as existing on disk. Most notably, this means :ref:`ProcessQueue.py ` will not attempt to use nonexistent files as inputs to processing. Other changes ^^^^^^^^^^^^^ Pull requests merged this release ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ PR `8 `_: Fix unit tests for scripts (`44690a95 `_) PR `13 `_: Circleci project setup (`c99ffc43 `_) PR `18 `_: Fix handling of inspector regex for ECT (`61a2215e `_) PR `1 `_: Basic respository organization (`362a0b72 `_) PR `19 `_: test_checkIncoming update to guarantee directory state (Closes #17) (`16899b2c `_) `17 `_: test_checkIncoming fails when a direction on my system is not empty PR `21 `_: Fix _getRequiredProducts/getInputProductID on old DB (Closes #20) (`07f3e3a1 `_) `20 `_: 'Productprocesslink' has no attribute 'yesterday', old database PR `24 `_: Testing changes in preparation for no-input support (`24ca0b57 `_) PR `27 `_: Run unit tests in CircleCI (`1fe1ef46 `_) `16 `_: Document CircleCI setup and github integration `15 `_: Execute unit tests in CircleCI PR `26 `_: DBRunner enhancements for ingest, update-only, force (Closes #9) (`5c05a165 `_) `9 `_: Support products with no input PR `31 `_: Speed up getFiles by start/stop time (Closes #23) (`b5f30ef3 `_) `23 `_: ProcessQueue "Command Build Progress" is slow PR `36 `_: addFile: fix utc_start_time/stop_time as dates with Unix time table (`333e47dc `_) PR `39 `_: CircleCI: update apt cache before installing packages (fix CreateDBsabrs test) (`00922ed5 `_) PR `38 `_: Fix Unix time table calculation to maintain file day (`20afffc4 `_) PR `41 `_: remove the #! to python2.6 in favor of python, this was making my system barf that wants to use 2.7 (`8e5d3ae4 `_) PR `49 `_: Build Sphinx docs in CI; check for warnings (`240be3df `_) PR `50 `_: More documentation of pull request processing; release notes (`b470f436 `_) `28 `_: Set up release notes `30 `_: Document use of checklists and draft PRs in developer docs `29 `_: Document github magic references for commit messages and PRs PR `51 `_: add docker authentication (`af0ab929 `_) `32 `_: Add Docker auth to CircleCI PR `56 `_: Fix make clean for the autosummary docs (`e4eb0c01 `_) PR `55 `_: Move table definitions to separate, common module. (`bfb806af `_) PR `54 `_: New linkUningested script: find files not in database and symlink for import (`734f37b1 `_) PR `63 `_: Increment output quality versions when input/code interface version changes (`1c153080 `_) PR `64 `_: Minimal postgresql support in dbUtils (`11a417e8 `_) PR `66 `_: Triage scripts and port to argparse (`80d12b59 `_) PR `67 `_: Fix test_DBfile when called by itself (`142a4976 `_) PR `73 `_: Update postgresql dialect name in CreateDBsabrs (`b5ba751b `_) PR `72 `_: fast_data: add option to archive files instead of delete. (`dc3fb0be `_) PR `77 `_: Python 3 support (`29b66787 `_) PR `79 `_: Fix addFromConfig for processes with no output product (`3aafa1e1 `_) PR `78 `_: add postgresql support and unit testing (`5c0082c9 `_) PR `90 `_: Only use products that exist on disk when figuring inputs (`0bae771b `_) `47 `_: _getRequiredProducts should require input files to exist on disc PR `91 `_: fast_data: skip deleting files that don't exist on disk (`b6711a74 `_) PR `92 `_: Use docutils <0.16 when building docs in CI (`d81efdfb `_) PR `88 `_: add count/exist/quiet options to printProcessQueue (`5e6e4132 `_) `87 `_: Use exit code of printProcessQueue to indicate if the queue is empty PR `93 `_: printProcessQueue: add ability to filter by product, sort (`6469cb26 `_) PR `98 `_: Force empty output products to null (Closes #95) (`4a8ec7ad `_) `95 `_: No output fail in postgres PR `94 `_: Make documentation fully automatic (`79363013 `_) PR `99 `_: test_DButils: clarify no-output tests (`34d3cb0b `_) PR `100 `_: Update documentation for scripts (`fdcc7e38 `_) PR `101 `_: Close DBrunner db on exit; document the need to close (`74cec351 `_) PR `102 `_: Document tables/database structure (`6852abd1 `_) PR `112 `_: Documentation overhaul (`a48f2629 `_) PR `113 `_: Create "empty" test database in unit tests (`4300d704 `_) PR `114 `_: Convert all unit tests to use Postgres (`fb95a08f `_) `34 `_: Create RBSP_MAGEIS.sqlite database PR `119 `_: Get unit tests working on Windows (`2ca3554f `_) PR `120 `_: Fix python 3.9 and sqlalchemy 1.4 deprecations (`0a0a7442 `_) `83 `_: deprecations: collections.abc, Engine.table_name PR `122 `_: Provide support documentation integrated with GitHub and other doc tweaks (`6b6ad6b8 `_) `118 `_: Link github page in documentation PR `123 `_: Updates for release 0.1.0 PR `124 `_: Updated docs for release 0.1.0 Other issues closed this release ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `2 `_: Website not finding CSS `42 `_: PR checklist calls for CHANGELOG update, yet there is no changelog `48 `_: Clean up tags in repo