The Configuration File defines a Package. It is typically named hxpkg.yaml, and has two sections: the top level package section, which describes the Package itself, and the modules section, which lists and describes the Modules it contains.
Each section has its own set of keys that can be configured.
id: id
name: name
version: 1.0.0
publisher: Publisher of the Package
description: Description of the Package
keywords: []
readme: readme.md
changelog: changelog.md
icon: icon.png
include: include.regex
exclude: exclude.regex
apis:
solver:
target: 1.0.0
min: 0.0.0
scripting:
target: 1.0.0
min: 0.0.0
environment:
pip_requirements: requirements.txt
conda_environment: environment.yml
dependencies:
- other.package.id
Table 1. Package Keys
|
Key |
Required? |
Remarks |
|---|---|---|
|
|
Required |
A unique identifier for the Package. Used as the dependency reference by other Packages. Example: |
|
|
Required |
Display name. Example: Collier Aerospace Corp |
|
|
Required |
A version identifier. Should follow Semantic Versioning. Pre-release flags are allowed. Example: 1.0.0 |
|
|
Required |
Who published the Package. Example: Collier Aerospace |
|
|
Optional |
A description of the Package displayed to users in the Package Manager helping them to decide if the Package is right for them. |
|
|
Optional |
Keywords to help users find your Package in the Package Manager. Example: |
|
|
Optional |
A document describing a Package in greater detail than what would go along with a Example: |
|
|
Optional |
Log of changes to the Package over time. We recommend organizing these by version. Example: |
|
|
Optional |
Icon representing the Package. Example: |
|
|
Optional |
Packages that this Package depends on. Example: |
|
|
Optional |
A warning about this Package. Example: |
|
|
Optional |
Regex file pattern to specifically include in the Package, even if they are not called out by another Package Key. E. g. images for the readme, additional reference, extra C# libraries, etc. Match against the file path relative to the Package root. Example: |
|
|
Optional |
Regex file pattern to specifically exclude from the Package. This overrides files included by the Match against the file path relative to the Package root. Example: |
|
|
Optional |
Target Solver API this Package is designed for. The Package is applicable for versions >= target and <= the next major (breaking) Solver API. Example: 1.0.0 |
|
|
Optional |
The minimum Solver API this Package is compatible with. The Package is applicable for versions >= min. Example: 1.0.0 |
|
|
Optional |
Target Scripting API this Package is designed for. The Package is applicable for versions >= target and <= the next major (breaking) Scripting API. Example: 1.0.0 |
|
|
Optional |
The minimum Scripting API this Package is compatible with. The Package is applicable for versions >= min. Example: 1.0.0 |
|
|
Optional |
The file containing Python pip requirements for this Package as printed by Currently unused by HyperX. Example: |
|
|
Optional |
The file containing the Python conda environment for this Package as printed by Currently unused by HyperX. Example: |
modules:
type: criterion
id: criterion.id
name: Name
version: 1.0.0
description: Description of the Module
main: Criterion.dll
docs: CriterionHme.pdf
changelog: changelog.md
icon: icon.png
Table 2. Module Keys
|
Key |
Required? |
Remarks |
|---|---|---|
|
|
Required |
What type of Module this is. Describes what type of capability it provides, and what sort of interface the main file fulfills. Types:
|
|
|
Required |
Uniquely identifies this Module within the Package. |
|
|
Required |
Display name. Example: |
|
|
Required |
A version identifier. Should follow Semantic Versioning. Example: 1.0.0 |
|
|
Optional |
A short description of this Module. |
|
|
Required |
The main entry point for this Module. Example: |
|
|
Optional |
Documentation for this Module. Can be any file format. Example: |
|
|
Optional |
File describing how this module has changed over time. Example: |
|
|
Optional |
Icon representing this module. Example: |
modules:
type: criterion
# ...
criterion:
class: ModuleImplementation
Table 3. Criterion Module Keys
|
Key |
Required? |
Remarks |
|---|---|---|
|
|
Optional |
The name of the class in the See Template Package: Example: |
modules:
type: script
# ...
script:
folder: [Entities, Zones]
Table 4. Script Module Keys
|
Key |
Required? |
Remarks |
|---|---|---|
|
|
Optional |
Describes organizational structure for this Script within the Package. Example: |