Changelog¶
0.2.18 (2020-12-15)¶
0.2.16 (2020-10-06)¶
Fixed¶
upgrade
: If a party’sroles
field isn’t a list of strings, no error occurs.
0.2.15 (2020-09-30)¶
Changed¶
upgrade
: If a party’sroles
field is a string, it is coerced to an array.
0.2.12 (2020-08-19)¶
Changed¶
ocdskit.util.get_ocds_minor_version()
now supports records.
Fixed¶
mapping-sheet
correctly populates theextension
column for extension fields on OCDS objects that$ref
’erence OCDS definitions.
0.2.11 (2020-08-12)¶
Changed¶
mapping-sheet
: Theextension
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
omitssector
anddocuments
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¶
merge
sets"version": "1.1"
even on OCDS 1.0 data (seemerge()
).package-records
andpackage-releases
omit theextensions
field if empty (seepackage_records()
,package_releases()
).
Fixed¶
convert-to-oc4ids
sets thepublishedDate
field, not thepublished_date
field.
0.2.6 (2020-04-15)¶
Changed¶
combine-record-packages
andcombine-release-packages
warn if the"records"
and"releases"
fields aren’t set (seecombine_record_packages()
,combine_release_packages()
).
0.2.5 (2020-04-14)¶
Fixed¶
combine-record-packages
andcombine-release-packages
no longer error if the"records"
and"releases"
fields aren’t set (seecombine_record_packages()
,combine_release_packages()
).
0.2.3 (2020-03-19)¶
Changed¶
compile
errors if anocid
field is missing from a release (seeadd_release()
).upgrade
upgrades records (seeupgrade_10_11()
).
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)¶
Changed¶
- Implement iterative JSON writer.
- Use
orjson
if available to improve performance of dumping/loading JSON, especially to/from SQL incompile
command (seeocdskit.packager
).
Fixed¶
combine-record-packages
no longer duplicates release package URLs inpackages
(seeocdskit.combine.combine_record_packages()
).
0.2.0 (2019-12-31)¶
Changed¶
CLI:
compile
accepts either release packages or individual releases (seemerge()
).compile
is memory efficient if given a long list of inputs (seemerge()
).
Library:
- Deprecate
ocdskit.combine.compile_release_packages
in favor ofocdskit.combine.merge()
.
Fixed¶
--linked-releases
no longer uses the same linked releases for all records (seeoutput_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 ofnull
in CLI commands, to mirror library methods.
0.1.2 (2019-09-25)¶
Changed¶
- Align the library methods
ocdskit.util.json_dump()
andocdskit.util.json_dumps()
.
0.1.1 (2019-09-19)¶
Fixed¶
upgrade
no longer errors if specific fields arenull
.upgrade
no longer errors on packages that haveparties
withoutid
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()
andupgrade_10_11()
now return data, instead of only editing in-place. - Backwards-incompatible:
mapping-sheet
andschema-report
now read a file argument instead of standard input, to support schema that$ref
other schema. mapping-sheet
andschema-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 ofitems
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 ofhttp://
forstandard.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 ifawards
orcontracts
isnull
.
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 theuri
andpublishedDate
of the record package.- If not set, these will be
null
instead of theuri
andpublishedDate
of the last package.
- If not set, these will be
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
andcombine-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
andcombine-release-packages
succeed if the requiredpublisher
field is missing.
0.0.4 (2018-11-23)¶
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
toOCDSKitError
.