Changelog#
Unreleased#
Add support for Sphinx 7.
Drop support for Sphinx 4.
0.3.8 (2023-07-20)#
feat:
ProfileBuilder
:__init__()
: Theextension_versions
argument can be a dict in which values are URLs, in addition to versions.
0.3.7 (2023-07-19)#
feat: Change assertions to warnings, when adding or removing codes from an extension’s codelist.
0.3.6 (2023-07-12)#
fix: Make
ocdsextensionregistry.extension_version.ExtensionVersion.files()
,schemas()
,codelists()
thread-safe.
0.3.5 (2023-07-12)#
fix: Make
ocdsextensionregistry.profile_builder.ProfileBuilder.get_standard_file_contents()
thread-safe.
0.3.4 (2023-07-08)#
feat:
ocdsextensionregistry.profile_builder.ProfileBuilder
acceptsstandard_base_url
as a ZIP file, in addition to a directory.
0.3.3 (2023-07-07)#
feat: Make ExtensionVersion more robust to bad data, when using a package’s
extensions
field as input.Warn if the request errors for an extension’s codelist file (unreachable host, request timeout, HTTP error, too many redirects, etc.), if the bulk file is not a ZIP file, or if the codelist is not UTF-8.
The previous behavior of raising an exception can be restored with:
import warnings from ocdsextensionregistry.exceptions import ExtensionCodelistWarning with warnings.catch_warnings(): warnings.filterwarnings('error', category=ExtensionCodelistWarning) # Use of ExtensionVersion.codelist that warns.
feat: Warn if the extension’s release schema patch or codelist file is not UTF-8.
feat: Add
ocdsextensionregistry.extension_version.ExtensionVersion.input_url
for the URL that was provided in a list toocdsextensionregistry.profile_builder.ProfileBuilder.extensions()
.fix:
ocdsextensionregistry.extension_version.ExtensionVersion.repository_ref
only matches if the extension’s files are in the repository’s root – which is required byrepository_ref_download_url
.
0.3.2 (2023-07-07)#
feat: Add
ocdsextensionregistry.extension_version.ExtensionVersion.repository_ref
andrepository_ref_download_url
.feat: Set
ocdsextensionregistry.extension_version.ExtensionVersion.download_url
torepository_ref_download_url
on initialization, if possible.
0.3.1 (2023-07-07)#
fix:
extensions()
: Support retrieval of the metadata file, if theextension_versions
argument is a list of extensions’ metadata files served via API.
0.3.0 (2023-07-06)#
feat: Make ProfileBuilder more robust to bad data, when using a package’s
extensions
field as input.Skip a package’s
extensions
field if it is not an array.Skip an entry in the package’s
extensions
array if it is blank or is not a string.Warn if the request errors for the extension’s release schema patch (unreachable host, request timeout, HTTP error, too many redirects, etc.), if the bulk file is not a ZIP file, or if the release schema is not a JSON file.
The previous behavior of raising an exception can be restored with:
import warnings from ocdsextensionregistry.exceptions import ExtensionWarning with warnings.catch_warnings(): warnings.filterwarnings('error', category=ExtensionWarning) # Use of ProfileBuilder.release_schema_path() that warns.
feat: Configure the expiration behavior of the responses cache using a
REQUESTS_CACHE_EXPIRE_AFTER
environment variable. See requests-cache’s documentation (NEVER_EXPIRE
is-1
andEXPIRE_IMMEDIATELY
is0
, in the source).fix:
ocdsextensionregistry.extension_version.ExtensionVersion.__repr__()
no longer errors if initialized withfile_urls
only.fix:
ocdsextensionregistry.extension_version.ExtensionVersion.get_url()
raises clearer error if initialized with a Download URL only.Add support for Sphinx 6.2 on Python 3.11.
0.2.2 (2023-06-05)#
fix:
repository_full_name
andrepository_name
return the correct name for GitLab URLs.fix: Clarify error message for
AttributeError
onrepository_full_name
,repository_name
, andrepository_user
.
0.2.1 (2023-05-24)#
feat: Add a
--no-frozen
option to all commands.Drop support for Python 3.7.
0.2.0 (2022-10-29)#
fix:
release_package_schema()
andrecord_package_schema()
return a JSON-serializable object whenembed=True
.
0.1.14 (2022-09-07)#
fix: Skip version of
cattrs
that fails on PyPy.
0.1.13 (2022-06-20)#
feat:
ProfileBuilder
:__init__()
: Theextension_versions
argument can be a list of extensions’ metadata files served via API.
0.1.12 (2022-04-06)#
generate-pot-files
: Drop support for Sphinx<4.3, before which Python 3.10 is unsupported.fix: Ignore ResourceWarning from requests-cache.
0.1.11 (2022-02-01)#
feat: Retry requests up to 3 times.
0.1.10 (2022-01-31)#
feat:
ProfileBuilder
:__init__()
: Theextension_versions
argument can be a list of extensions’ release schema patch files.
0.1.9 (2022-01-24)#
fix: Convert the
REQUESTS_POOL_MAXSIZE
environment variable toint
.
0.1.8 (2022-01-20)#
fix: Fix the default value for an extension’s
release-schema.json
file ({}
).
0.1.7 (2022-01-12)#
feat: Use the
REQUESTS_POOL_MAXSIZE
environment variable to set the maximum number of connections to save in the connection pool.Drop support for Python 3.6 (end-of-life 2021-12-23).
0.1.6 (2021-11-29)#
feat:
ExtensionVersion
:remote()
returns thedefault
argument, if provided, if the file does not exist.release_schema_patch()
uses a default of{}
forrelease-schema.json
.
0.1.5 (2021-11-24)#
Do not patch
requests
to cache responses.
0.1.4 (2021-04-10)#
Add Python wheels distribution.
0.1.3 (2021-03-05)#
generate-pot-files
: Add-W
option to turn Sphinx warnings into errors, for debugging.
0.1.2 (2021-02-19)#
ProfileBuilder
:release_schema_patch()
andpatched_release_schema()
: Add alanguage
argument to set the language to use for the name of the extension.
0.1.1 (2021-02-17)#
generate-data-file
: Use Authorization header instead ofaccess_token
query string parameter to authenticate with GitHub.
0.1.0 (2021-02-16)#
Switch to MyST-Parser from recommonmark.
Drop support for Sphinx directives.
0.0.26 (2021-02-16)#
get_latest_version()
: If an extension has no “master” version, check for a “1.1” version.
0.0.25 (2021-02-12)#
CodelistCode
: Add__lt__()
.
0.0.24 (2020-09-12)#
ocdsextensionregistry.api.build_profile()
aggregatesdependencies
andtestDependencies
from extensions.ExtensionVersion
: Addget_url()
.
0.0.23 (2020-08-20)#
ProfileBuilder
:get_standard_file_contents()
: Fix for OCDS 1.1.5.
0.0.22 (2020-08-11)#
-
__init__()
: No longer errors ifstandard_tag
argument isNone
.release_schema_patch()
: Only annotates definitions and fields withtitle
properties.
0.0.21 (2020-07-22)#
-
__init__()
: Theextension_versions
argument can be a list of extensions’ local directories.__init__()
: Add astandard_base_url
argument, which can be afile://
URL to the standard’s directory.release_package_schema()
: Add aembed
argument to indicate whether to embed the patched release schema in the release package schema.Add
record_package_schema()
method, to matchrelease_package_schema()
.
-
Remove
available_in_bulk()
method.Remove
directory()
property (overloaddownload_url
instead).
Add a
standard_base_url
argument toocdsextensionregistry.api.build_profile()
to modify the standard base URL.
0.0.20 (2020-06-08)#
0.0.19 (2020-04-07)#
The
generate-data-file
command warns if an MO file is missing.Rename environment variable from
GITHUB_ACCESS_TOKEN
toOCDS_GITHUB_ACCESS_TOKEN
.
0.0.18 (2020-04-06)#
ExtensionVersion
:__repr__()
falls back to Base URL and Download URL if Id or Version is blank.The
generate-data-file
command uses a null translator if an MO file is missing.
0.0.17 (2020-04-03)#
ExtensionVersion
:remote()
raisesDoesNotExist
instead ofKeyError
if a file does not exist.ExtensionVersion
: Add__repr__()
.Extension
: Add__repr__()
.
0.0.16 (2019-11-20)#
Add support for Sphinx>=1.6.
0.0.15 (2019-09-30)#
Add a
update_codelist_urls
argument toocdsextensionregistry.api.build_profile()
to modify codelist reference URLs.
0.0.14 (2019-09-18)#
Use in-memory cache for HTTP responses.
0.0.13 (2019-08-29)#
ProfileBuilder
: Add aschema
argument topatched_release_schema()
andrelease_package_schema()
methods to override the release schema or release package schema.
0.0.12 (2019-08-29)#
ProfileBuilder
: Unregistered extensions are now supported by the profile builder. Theextension_versions
argument to__init__()
can be a list of extensions’ metadata URLs, base URLs and/or download URLs.ProfileBuilder
: Add anextension_field
argument torelease_schema_patch()
andpatched_release_schema()
methods to annotate all definitions and fields with extension names.Add
ocdsextensionregistry.utils.get_latest_version()
, to return the identifier of the latest version from a list of versions of the same extension.
0.0.11 (2019-06-26)#
The generate-pot-files
and generate-data-file
commands can now be run offline (see documentation for details).
ExtensionRegistry
: Support thefile://
scheme for theextension_versions_data
andextensions_data
arguments to__init__()
. This means the--extension-versions-url
and--extensions-url
CLI options can now refer to local files.Add a
--versions-dir
option to thegenerate-pot-files
andgenerate-data-file
commands to specify a local directory of extension versions.ExtensionVersion
: Addavailable_in_bulk()
, to return whether the extension’s files are available in bulk.ExtensionVersion
: Addzipfile()
, to return a ZIP archive of the extension’s files.Upgrade to ocds-babel 0.1.0.
0.0.10 (2019-01-28)#
Fix invalid
dependencies
inextension.json
.
0.0.9 (2019-01-23)#
Drop support for
docs/
directory in extensions.Use UTF-8 characters in JSON files when building profiles.
No longer write extension readme files when building profiles.
0.0.8 (2019-01-18)#
Fix rate limiting error when getting publisher names from GitHub in
generate-data-file
tool.
0.0.7 (2019-01-18)#
Add
publisher
data to thegenerate-data-file
tool.ExtensionVersion
: Addrepository_user
andrepository_user_page
properties, to return user or organization to which the extension’s repository belongs.
0.0.6 (2018-11-20)#
Add command-line tools (see documentation for details).
Fix edge case so that
metadata
language maps are ordered, even ifextension.json
didn’t have language maps.
0.0.5 (2018-10-31)#
Add
ProfileBuilder
,Codelist
,CodelistCode
classes.-
Add
files
property, to return the contents of all files within the extension.Add
schemas
property, to return the schemas.Add
codelists
property, to return the codelists.Add
docs
property, to return the contents of documentation files within the extension.The
metadata
property normalizes the contents ofextension.json
to provide consistent access.
0.0.4 (2018-06-27)#
ExtensionVersion
: Themetadata
property is cached.
0.0.3 (2018-06-27)#
ExtensionVersion
: Addremote()
method, to return the contents of a file within the extension.ExtensionVersion
: Addas_dict()
method, to avoid returning private properties.Extension
: Addas_dict()
method, to avoid returning private properties.
0.0.2 (2018-06-12)#
-
Add
get()
method, to get a specific extension version.Make it iterable, to iterate over all extension versions.
Remove
all()
method.
Add package-specific exceptions.
0.0.1 (2018-06-11)#
First release.