API Reference

oc4idskit.transforms.resolve(doc, pointer)[source]
oc4idskit.transforms.resolve_list(doc, pointer)[source]
oc4idskit.transforms.append_if(array, item)[source]
oc4idskit.transforms.check_type(item, item_type)[source]

Check type and if incorrect return empty version of type so that future processing works with bad data.

Should be used with dicts or lists that are then accessed later.

oc4idskit.transforms.cast_number_or_zero(item)[source]

Cast to decimal if fail return 0 so summing still works.

oc4idskit.transforms.cast_string(item)[source]

Cast to string if possible. Does not try to convert dict, list, or None to string.

Return empty string on failure so future processing works.

oc4idskit.transforms.run_transforms(config, releases, project_id=None, records=None, output=None)[source]

Transform a list of OCDS releases into a OC4IDS project.

Parameters:
  • config (dict) – contains optional transform options.

  • releases (list) – list of OCDS releases or release packages

  • project_id (string) – project ID of resulting project

  • records (list) – pre computed list of records

  • output (dict) – initial project output template project where transformed data will be added

oc4idskit.transforms.run_selected_transforms(releases, project_id=None, records=None, output=None, transforms=None)[source]
class oc4idskit.transforms.InitialTransformState(releases_or_release_packages, project_id=None, records=None, output=None)[source]
party_analysis()[source]
oc4idskit.transforms.copy_party_to_party_list(state, party)[source]
oc4idskit.transforms.copy_party_by_role(state, role, new_roles=None)[source]
oc4idskit.transforms.copy_document(state, document)[source]

Copy a document. If IDs clash, change IDs to autoincrement numbers.

oc4idskit.transforms.copy_document_by_type(state, documents, document_type)[source]

Copy documents of a specific documentType from planning.documents to documents.

oc4idskit.transforms.concat_ocid_and_string(state, path_to_string)[source]

Place the ocid of a release in front of a string (e.g. description or title), so that it can be joined unambiguously with others, separated by new lines.

oc4idskit.transforms.public_authority_role(state)[source]

CoST IDS element: Project owner.

oc4idskit.transforms.buyer_role(state)[source]

CoST IDS element: Project owner.

oc4idskit.transforms.sector(state)[source]

CoST IDS element: Sector.

oc4idskit.transforms.additional_classifications(state)[source]

CoST IDS element: Subsector.

oc4idskit.transforms.title(state)[source]

CoST IDS element: Project name.

oc4idskit.transforms.title_from_tender(state)[source]

CoST IDS element: Project name.

oc4idskit.transforms.contracting_process_setup(state)[source]

Create the initial contracting process objects and the summary objects within.

All transforms that use contracting processes need to run this transform first.

oc4idskit.transforms.procuring_entity(state)[source]

CoST IDS element: Procuring entity.

oc4idskit.transforms.administrative_entity(state)[source]

CoST IDS element: Contract administrative entity.

oc4idskit.transforms.contract_status(state)[source]

CoST IDS element: Contract status.

oc4idskit.transforms.procurement_process(state)[source]

CoST IDS element: Procurement process.

oc4idskit.transforms.number_of_tenderers(state)[source]

CoST IDS element: Number of firms tendering.

oc4idskit.transforms.location(state)[source]

CoST IDS element: Project location.

oc4idskit.transforms.location_from_items(state)[source]

CoST IDS element: Project location.

oc4idskit.transforms.budget(state)[source]

CoST IDS element: Budget.

oc4idskit.transforms.budget_approval(state)[source]

CoST IDS element: Project budget approval date.

oc4idskit.transforms.environmental_impact(state)[source]

CoST IDS element: Environmental impact.

oc4idskit.transforms.land_and_settlement_impact(state)[source]

CoST IDS element: Land and settlement impact.

oc4idskit.transforms.purpose(state)[source]

CoST IDS element: Purpose.

oc4idskit.transforms.purpose_needs_assessment(state)[source]

CoST IDS element: Purpose.

oc4idskit.transforms.description(state)[source]

CoST IDS element: Project description.

oc4idskit.transforms.description_tender(state)[source]

CoST IDS element: Project description.

oc4idskit.transforms.funding_sources(state)[source]

CoST IDS element: Funding sources.

oc4idskit.transforms.cost_estimate(state)[source]

CoST IDS element: Cost estimate.

oc4idskit.transforms.contract_title(state)[source]

CoST IDS element: Contract title.

oc4idskit.transforms.suppliers(state)[source]

CoST IDS element: Contract firm(s).

oc4idskit.transforms.contract_price(state)[source]

CoST IDS element: Contract price.

oc4idskit.transforms.contract_process_description(state)[source]

CoST IDS element: Contract scope of work.

oc4idskit.transforms.contract_period(state)[source]

CoST IDS element: Contract start date and contract period (duration).

oc4idskit.transforms.project_scope(state)[source]

CoST IDS element: Project Scope (main output) and Project Scope (projected).

oc4idskit.transforms.project_scope_summary(state)[source]

CoST IDS element: Project Scope (main output).

oc4idskit.transforms.final_audit(state)[source]

CoST IDS element: Reference to audit and evaluation reports.

oc4idskit.combine.combine_project_packages(packages, uri='', publisher=None, published_date='', version='0.9')[source]

Collect the projects from the project packages into one project package.

Warn ~oc4idskit.exceptions.MissingProjectsWarning if the “projects” field is missing from a project package.

Parameters:
  • packages – an iterable of project packages

  • uri (str) – the project package’s uri

  • publisher (dict) – the project package’s publisher

  • published_date (str) – the project package’s publishedDate

  • version (str) – the project package’s version

exception oc4idskit.exceptions.OC4IDSKitWarning[source]

Base class for warnings from within this package.

exception oc4idskit.exceptions.MissingProjectsWarning[source]

Used when the “projects” field is missing from a project package when combining packages.