Skip to content

Configuration pinexq.toml

The pinexq.toml file is used to configure your Pinexq project. The minimal configuration is:

pinexq.toml
[project]
name = "my-project"
pinexq_endpoint = "jobs.api.dev.pinexq.net"
entrypoint = "main.py"
[deployment]
resource_preset = "Medium"
max_replicas = 4

Extended configuration example:

pinexq.toml
[project]
name = "my-project"
pinexq_endpoint = "jobs.api.dev.pinexq.net"
entrypoint = "main.py"
[deployment]
resource_preset = "Medium"
max_replicas = 4
[function.hello_world]
deployment = { resource_preset = "XLarge", max_replicas = 1 }
defaults = { greeting = "Hello PineXQ", interval = 60 }
  • name: The project’s identifier/name. Used to label the project in tooling and platform UI/metadata. Not relevant for the deployment.
  • pinexq_endpoint: The PinexQ API endpoint (host/address) the project should connect to for job-related operations.
  • entrypoint: The startup file that contains the __main__ function and should be executed when running the ProCon.
  • resource_preset: A named compute sizing preset that defines the resource profile for the deployment (CPU/Memory, and ephemeral storage limits). Choose a larger preset for more demanding workloads. See Resource presets for more details.
  • max_replicas: The maximum number of replicas/instances the deployment may scale out to. Higher values allow more parallelism and throughput but increase resource usage and cost.

Function-specific configuration that overrides the project-level configuration.

  • deployment (optional):
    • resource_preset: The resource preset for the function.
    • max_replicas: The maximum number of replicas/instances the function may scale out to.
  • defaults: Default function values that should be configured for the function.
  • TOML files do not have a None value; instead, create defaults and omit those values, e.g. defaults={}
  • If an inline table becomes too large, it may be necessary to use a normal table. For example:
pinexq.toml
[project]
name = "my-project"
pinexq_endpoint = "jobs.api.dev.pinexq.net"
entrypoint = "main.py"
[deployment]
resource_preset = "Medium"
max_replicas = 4
[function.hello_world.defaults]
greeting = "Hello PineXQ"
interval = 60
encoding = "utf8"