fiboa Extensions
This repository provides you with all information about existing extensions
and also guides you how to create your own extension.
List of extensions
Title |
Description |
Ai Ecosystem Extension |
Extension for properties needed for fiboa to interface with AI ecosystem |
Crop Extension |
Identify crop codes and crop names from a custom codelist |
Flik Extension |
The area identifier (FLIK) is a 16-digit key to clearly identify field blocks and other entities, used mostly in Germany. |
Hcat Extension |
This Fiboa extension enables validation against the Hierarchical Crop and Agriculture Taxonomy (HCAT), which harmonizes all declared crops across the European Union. |
Inspire Extension |
Extension to define INSPIRE-compliant fields |
Tillage Extension |
Fiboa extension to describe tillage on a field |
Timestamps Extension |
Timestamps for the whole lifetime of field boundaries. |
- Last updated: Nov 22 2024, 01:17
- Count: 7
Adding a new extension
Everyone is welcome to create and propose new extensions.
We created a template for it to give you a starting point, which includes
CI actions, templates for Markdown, Schema, and examples.
Here's a guideline how to use the extension template:
Create the repository
- Go to the template repository
- Click the green 'Use this template' button and choose 'Create a new repository'
- Don't change the 'Repository template'
- Tick the checkbox 'Include all branches'
- Pick the right place ('Owner' and 'Repository name') to create it.
The name should have a
-extension
suffix.
You can request to become a member of the fiboa organization or
put the next repository under your personal account or any other organization.
- Add a concise and clear description of the extension, it will be used as a description in the list above!
- Set the visibility of the repository to 'Public'
(i.e. anyone on the internet can see this repository, but you choose who can commit).
- Finish this by clicking the 'Create repository' button.
- You'll be redirected to your new repository for the extension.
- Add the
extension
topic to the repository:
- In the 'About' section of the repository, click the gear icon.
- In the field for "Topics", add
extension
.
- It should be enabled by default, but if CI is not running make sure that it is enabled:
- In the repository 'Settings' go to 'Pages'.
- Ensure that the 'Source' is set to 'Deploy from a branch'.
- Ensure that the 'Branch' is set to 'gh-pages' and '/ (root)'.
- If you had to change anything, click 'Save'.
- In the repository 'Settings' go to 'Actions' and then "General".
- Ensure that the 'Workflow permissions' is set to 'Read and write permissions'.
- If you had to change anything, click 'Save'.
- Clone the newly created repository to your machine.
- Install fiboa CLI using
pip install fiboa-cli
Write your extension
- Use fiboa CLI to replace the template placeholders
README.md
:
- Update the owner to be your GitHub handle.
- Update the properties, select where they can be used, add documentation, etc. in the README.md
schema/schema.yaml
:
- Update the Schema accordingly to your changes in the README.md
The Schema language is similar to JSON Schema, but has some specifics, especially the data types.
See fiboa Schema for details.
examples/
folder:
- Add at least one GeoJSON example
- Add a GeoParquet example. You can generate it from GeoJSON with the fiboa CLI.
- Run the tests
CHANGELOG.md
: Update the Changelog
- Let people discuss your extension, e.g. via chat, email, etc.
- Eventually, release the extension via GitHub Releases.
This will automatically publish the schemas.
- Add your extension to the list above if needed.
All extensions hosted in the fiboa organization will be added automatically each night.
You can add external/community extensions to the list above by editing the config file and creating a PR from it.