The publisher table

One row per organisation whose data is published in the model. code is the short handle every factor's slug and every API filter uses.

Fields#

field type required example meaning
id uuid yes The row's own identifier. Consumers address a factor by its slug, not by this.
code text yes ademe 'ecoinvent', 'ademe', 'aib', 'exiobase', 'defra', 'agribalyse', ...
name text yes Agence de la transition ecologique The full name, as the organisation writes it.
url text Where to find it at the source.
short_name text yes ADEME The handle a reader knows the library by: 'ADEME', 'DESNZ', 'EPA Hub', 'ecoinvent'. Short enough for a filter row or a card title.
home_region text yes FR Where the publisher is at home (the flag beside its name) as a geography code ('FR', 'EU27', 'GLOBAL'). NOT what the data covers: that is each factor's region_code.
kind text yes government What kind of body publishes it; the closed registry is PUBLISHER_KINDS in ingest/models.py.
tags array yes {conversion_factors,spend} What the library is (conversion_factors, lci, spend, epd, grid_mix, ...), many-valued; the closed registry is PUBLISHER_TAG_KEYS in ingest/models.py.
scope text Whether the library is a generalist or a specialist, MEASURED from how its served factors split by Category (ingest/library_scope.py), not declared by the adapter like tags. Rebuilt at the tail of every year-index refresh; NULL while the publisher serves nothing.

Referenced by#

emission_factor.publisher_id, emission_factor_value.publisher_id, release.publisher_id.