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. Returns empty string on failure so future processing works.

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

Transforms 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

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]#

Copies a document. If it finds clashing ids change ids to autoincrement numbers

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

Copies documents of specific documentType from planning.documents to documents

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

Places the ocid of a release in front of a string (eg. 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]#

This will initially create the contracting process objects and the summary object 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]#

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

Warns ~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