jordansissel/fpm · error · FPM::Package::Python::MissingField

Missing required Python metadata field, '#{field}'. This mig

Error message

Missing required Python metadata field, '#{field}'. This might be a bug in the package or in fpm.

What it means

Error "Missing required Python metadata field, '#{field}'. This might be a bug in the package or in fpm." thrown in jordansissel/fpm.

Source

Thrown at lib/fpm/package/python.rb:203

      :@description => "Description",
      :@keywords => "Keywords",
      :@maintainer => "Author-email",

      # Note: License can also come from the deprecated "License" field
      # This is processed later in this method.
      :@license => "License-Expression",

      :@requires => "Requires-Dist",
    }
    
    REQUIRED_FIELDS = [ "Metadata-Version", "Name", "Version" ]

    # headers - a Hash containing field-value pairs from headers as read from a python METADATA file.
    # body - optional, a string containing the body text of a METADATA file
    def initialize(headers, body=nil)
      REQUIRED_FIELDS.each do |field|
        if !headers.include?(field)
          raise MissingField, "Missing required Python metadata field, '#{field}'. This might be a bug in the package or in fpm."
        end
      end

      FIELD_MAP.each do |attr, field|
        if headers.include?(field)
          instance_variable_set(attr, headers.fetch(field))
        end
      end

      # Do any extra processing on fields to turn them into their expected content.
      process_description(headers, body)
      process_license(headers)
      process_homepage(headers)
      process_maintainer(headers)
    end # def initialize

    private
    def process_description(headers, body)

View on GitHub (pinned to b6d77ba72a)

When it happens

Trigger: Thrown at lib/fpm/package/python.rb:203 when the library encounters an invalid state.

Common situations: See trigger scenarios.


AI-assisted analysis of jordansissel/fpm@b6d77ba72a (2026-08-21). Data as JSON: /api/errors/c3c1370b12107679. Report an issue: GitHub.