Changelog

0.2.15 (Unreleased)

Added

New CLI options:

  • mapping-sheet: --no-deprecated, --no-replace-refs

0.2.14 (2020-09-16)

Added

New CLI option:

  • schema-strict: --check

New library method:

0.2.13 (2020-09-16)

Fixed

  • convert-to-oc4ids no longer errors if a party id isn’t set.

0.2.12 (2020-08-19)

Changed

Fixed

  • mapping-sheet correctly populates the extension column for extension fields on OCDS objects that $ref’erence OCDS definitions.

0.2.11 (2020-08-12)

Changed

  • mapping-sheet: The extension column is now the name of the extension that introduced the JSON path, not the name of the extension that defined the field.

0.2.10 (2020-07-28)

Changed

  • indent respects --ascii.
  • tabulate supports any OCDS data.

Fixed

  • compile no longer errors on Windows when using the SQLite backend.

0.2.9 (2020-07-08)

Fixed

  • detect-format respects --root-path.
  • convert-to-oc4ids omits sector and documents if empty.

0.2.8 (2020-04-29)

Changed

  • schema-strict accepts a filename as a positional argument, instead of a schema as standard input.
  • schema-strict adds constraints to all fields, not only required fields.

0.2.7 (2020-04-23)

Added

New CLI options:

  • combine-record-packages: --version
  • combine-release-packages: --version
  • compile: --version
  • convert-to-oc4ids: --version
  • package-records: --version
  • package-releases: --version

New library method:

Changed

Fixed

  • convert-to-oc4ids sets the publishedDate field, not the published_date field.

0.2.6 (2020-04-15)

Added

New library method:

Changed

0.2.5 (2020-04-14)

Fixed

0.2.4 (2020-03-19)

Fixed

  • convert-to-oc4ids no longer errors.

0.2.3 (2020-03-19)

Added

New CLI commands:

  • convert-to-oc4ids

New library module:

Changed

0.2.2 (2020-01-07)

Changed

  • Avoid exception when piping output to tools like head.
  • package-records, package-releases: Use fast writer if --size is set.
  • echo: Use fast writer (assuming --root-path is set anytime input is too large).

0.2.1 (2020-01-06)

Added

New CLI options:

  • package-records: --size
  • package-releases: --size

New CLI commands:

  • echo

Changed

  • Implement iterative JSON writer.
  • Use orjson if available to improve performance of dumping/loading JSON, especially to/from SQL in compile command (see ocdskit.packager).

Fixed

0.2.0 (2019-12-31)

Added

New library module:

Changed

CLI:

  • compile accepts either release packages or individual releases (see merge()).
  • compile is memory efficient if given a long list of inputs (see merge()).

Library:

Fixed

  • --linked-releases no longer uses the same linked releases for all records (see output_records()).

0.1.5 (2019-12-18)

Added

New library methods:

The internal methods ocdskit.util.json_load and ocdskit.util.json_loads are removed.

0.1.4 (2019-11-28)

Added

New CLI options:

  • combine-record-packages: --fake
  • combine-release-packages: --fake
  • compile: --fake
  • package-records: --fake
  • package-releases: --fake

New CLI commands:

  • package-records

New library methods:

Changed

  • mapping-sheet: Improve documentation of --extension and --extension-field.

Fixed

  • detect-format correctly detects concatenated JSON, even if subsequent JSON values are non-OCDS values.

0.1.3 (2019-09-26)

Changed

  • Set missing package metadata to "" instead of null in CLI commands, to mirror library methods.

0.1.2 (2019-09-25)

Changed

0.1.1 (2019-09-19)

Fixed

  • upgrade no longer errors if specific fields are null.
  • upgrade no longer errors on packages that have parties without id fields and that declare no version or a version of “1.0”.

0.1.0 (2019-09-17)

Command-line inputs can now be concatenated JSON or JSON arrays, not only line-delimited JSON.

Added

New CLI commands:

  • detect-format

New CLI options:

  • package-releases:
    • --uri
    • --published-date
    • --publisher-name
    • --publisher-uri
    • --publisher-scheme
    • --publisher-uid
  • compile:
    • --publisher-name
    • --publisher-uri
    • --publisher-scheme
    • --publisher-uid
  • combine-record-packages:
    • --publisher-name
    • --publisher-uri
    • --publisher-scheme
    • --publisher-uid
  • combine-release-packages:
    • --publisher-name
    • --publisher-uri
    • --publisher-scheme
    • --publisher-uid
  • mapping-sheet:
    • --order-by
    • --infer-required
    • --extension
    • --extension-field

The --root-path option is added to all OCDS commands.

New library methods:

Changed

  • Backwards-incompatible: upgrade_10_10(), upgrade_11_11() and upgrade_10_11() now return data, instead of only editing in-place.
  • Backwards-incompatible: mapping-sheet and schema-report now read a file argument instead of standard input, to support schema that $ref other schema.
  • mapping-sheet and schema-report support schema from: Open Contracting for Infrastructure Data Standard (OC4IDS), Beneficial Ownership Data Standard (BODS), and Social Investment Data Lab Specification (SEDL).
  • mapping-sheet outputs:
    • enum values of items
    • enum as “Enum:” instead of “Codelist:”
    • pattern as “Pattern:”
  • schema-strict adds "uniqueItems": true to all arrays, unless --no-unique-items is set.
  • Use https:// instead of http:// for standard.open-contracting.org.

Fixed

  • compile merges extensions’ schema into the release schema before merging releases.
  • mapping-sheet fills in the deprecated column if an object field uses $ref.
  • schema-strict no longer errors if a required field uses $ref.
  • upgrade no longer errors if awards or contracts is null.

0.0.5 (2019-01-11)

Added

New CLI options:

  • compile:
    • --schema: You can create compiled releases and versioned releases using a specific release schema.
    • --linked-releases: You can have the record package use linked releases instead of full releases.
    • --uri, --published-date: You can set the uri and publishedDate of the record package.
      • If not set, these will be null instead of the uri and publishedDate of the last package.
  • combine-record-packages: --uri, --published-date
  • combine-release-packages: --uri, --published-date

New CLI commands:

  • upgrade

Changed

  • compile raises an error if the release packages use different versions.
  • compile determines the version of the release schema to use if --schema isn’t set.
  • compile, combine-record-packages and combine-release-packages have a predictable field order.
  • measure is removed.

Fixed

  • indent prints an error if a path doesn’t exist.
  • compile, combine-record-packages and combine-release-packages succeed if the required publisher field is missing.

0.0.4 (2018-11-23)

Added

New CLI options:

  • schema-report: --no-codelists, --no-definitions, --min-occurrences

Changed

  • schema-report reports definitions that can use a common $ref in the versioned release schema.
  • schema-report reports open and closed codelists in CSV format.

0.0.3 (2018-11-01)

Added

New CLI options:

  • compile: --package, --versioned

New CLI commands:

  • package-releases
  • split-record-packages
  • split-release-packages

Changed

  • Add helpful error messages if:
    • the input is not line-delimited JSON data.
    • the input to the indent command is not valid JSON.
  • Change default behavior to print UTF-8 characters instead of escape sequences.
  • Add --ascii option to print escape sequences instead of UTF-8 characters.
  • Rename base exception class from ReportError to OCDSKitError.

0.0.2 (2018-03-14)

Added

New CLI options:

  • validate: --check-urls and --timeout

New CLI commands:

  • indent
  • schema-report
  • schema-strict
  • set-closed-codelist-enums

0.0.1 (2017-12-25)

Added

New CLI commands:

  • combine-record-packages
  • combine-release-packages
  • compile
  • mapping-sheet
  • measure
  • tabulate
  • validate