hired.base#

Core data models and protocols for the hired package.

Define:

  • RenderingConfig: Configuration for rendering pipeline

  • ContentSource: Protocol for data sources (candidate/job info)

  • AIAgent: Protocol for content generation agents

  • Renderer: Protocol for resume renderers

  • ResumeSchemaExtended: Extended version of ResumeSchema that allows extra fields

Functions

get_renderer_registry()

Get the global renderer registry.

register_renderer(format_name)

Decorator for registering renderer classes.

Classes

AIAgent(*args, **kwargs)

Protocol for AI agents that generate resume content.

ContentSource(*args, **kwargs)

Protocol for sources that provide candidate or job information.

Renderer(*args, **kwargs)

Protocol for resume renderers.

RendererRegistry()

Registry for managing multiple renderer implementations.

RenderingConfig([format, theme, custom_css, ...])

Configuration for resume rendering.

ResumeSchemaExtended(**data)

Extended version of ResumeSchema that allows extra fields for custom sections.

class hired.base.AIAgent(*args, **kwargs)[source]#

Bases: Protocol

Protocol for AI agents that generate resume content.

class hired.base.ContentSource(*args, **kwargs)[source]#

Bases: Protocol

Protocol for sources that provide candidate or job information.

class hired.base.Renderer(*args, **kwargs)[source]#

Bases: Protocol

Protocol for resume renderers.

class hired.base.RendererRegistry[source]#

Bases: object

Registry for managing multiple renderer implementations.

get_renderer(format_name)[source]#

Get a renderer instance for the specified format.

Return type:

Renderer

is_registered(format_name)[source]#

Check if a format is registered.

Return type:

bool

list_formats()[source]#

List all registered format names.

Return type:

list[str]

register(format_name, renderer_class)[source]#

Register a renderer class for a specific format.

Return type:

None

class hired.base.RenderingConfig(format='pdf', theme='default', custom_css=None, custom_template=None)[source]#

Bases: object

Configuration for resume rendering.

class hired.base.ResumeSchemaExtended(**data)[source]#

Bases: ResumeSchema

Extended version of ResumeSchema that allows extra fields for custom sections.

This class inherits all the validation and structure from ResumeSchema but allows additional fields to be stored for custom sections.

model_config: ClassVar[ConfigDict] = {'extra': 'allow'}#

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

hired.base.get_renderer_registry()[source]#

Get the global renderer registry.

Return type:

RendererRegistry

hired.base.register_renderer(format_name)[source]#

Decorator for registering renderer classes.

Return type:

Callable[[TypeVar(_RendererClass, bound= type[Renderer])], TypeVar(_RendererClass, bound= type[Renderer])]