Skip to main content

A toolkit for multi-agent systems to interact with FIWARE's context management system

Project description

Documentation

Check out the documentation at: https://spade-fiware-artifacts.readthedocs.io

Documentation Status Build Status https://coveralls.io/repos/github/sosanzma/SPADE-FIWARE-Artifacts/badge.svg PyPI Version

Overview

SPADE-FIWARE-Artifacts is a Python library that bridges SPADE (Smart Python Agent Development Environment) with FIWARE Context Brokers. It provides a toolkit for multi-agent systems to interact with FIWARE’s context management system, supporting both Orion and Scorpio Context Brokers through NGSI-LD.

Key Features

  • NGSI-LD Support: Full compatibility with FIWARE’s NGSI-LD API

  • Asynchronous Operations: Built on asyncio for efficient non-blocking operations

  • Flexible Data Processing: Customizable data transformation and handling

  • Configurable JSON Templates: Allows customized JSON templates for data structuring and flexible formatting.

Core Components

InserterArtifact

A component for managing entity data in FIWARE Context Brokers:

  • Entity Management: - Create new entities with complex attributes - Update existing entities (full or partial updates) - Handle different attribute types (Properties, GeoProperties, Relationships)

Example usage:

inserter = InserterArtifact(
    jid="inserter@xmpp.server",
    passwd="password",
    publisher_jid="publisher@xmpp.server",
    host="broker.example.com",
    project_name="my_project"
)

SubscriptionManagerArtifact

Manages subscriptions and handles notifications from the Context Broker:

  • Subscription Features: - Create and manage NGSI-LD subscriptions - Monitor specific entity attributes under specific conditions - Handle subscription lifecycle (create, update, delete)

Example usage:

subscription_manager = SubscriptionManagerArtifact(
    jid="subscriber@xmpp.server",
    passwd="password",
    config=config_payload,
    broker_url="http://broker.example.com:9090"
)

where:

config_payload = {
    "entity_type": "WasteContainer",
    "entity_id": "088",
    "watched_attributes": [],
    "q_filter": "fillingLevel>0.7",
    "context": [
        "https://raw.githubusercontent.com/smart-data-models/dataModel.WasteManagement/master/context.jsonld"
    ],
    "delete_all_artefact_subscriptions": true,
    "delete_subscription_identifier": "subs_1",
    "subscription_identifier": "subs_2",
    "delete_only": false
}

Installation

Install via pip:

pip install spade-fiware-artifacts

Quick Start

  1. Configure Your Environment

    Create a config.json file:

    {
        "XMPP_SERVER": "your.xmpp.server",
        "subscriber_artifact_name": "art_subscriber",
        "broker_port": "http://localhost:9090"
    }
  2. Initialize Artifacts

    from spade_fiware_artifacts import InserterArtifact, SubscriptionManagerArtifact
    
    inserter = InserterArtifact(
        jid="inserter@xmpp.server",
        passwd="password",
        publisher_jid="publisher@xmpp.server",
        host="localhost",
        project_name="test_project"
    )

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

spade-fiware-artifacts-0.1.2.tar.gz (20.8 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

spade_fiware_artifacts-0.1.2-py3-none-any.whl (13.3 kB view details)

Uploaded Python 3

File details

Details for the file spade-fiware-artifacts-0.1.2.tar.gz.

File metadata

  • Download URL: spade-fiware-artifacts-0.1.2.tar.gz
  • Upload date:
  • Size: 20.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.8.10

File hashes

Hashes for spade-fiware-artifacts-0.1.2.tar.gz
Algorithm Hash digest
SHA256 c6c5b1825efaba183c8b8a7527af3f40d63d3fd481ce485c0466f83dff2c55be
MD5 ecf9a129303a125e90adb98fc0b9d44d
BLAKE2b-256 5ece30b69793c3d98e7388b5c44ed724eff39a3a01cf22c982b666669c2d6b8a

See more details on using hashes here.

File details

Details for the file spade_fiware_artifacts-0.1.2-py3-none-any.whl.

File metadata

File hashes

Hashes for spade_fiware_artifacts-0.1.2-py3-none-any.whl
Algorithm Hash digest
SHA256 08253b5f425c763b774448a30282552377fdfef74e923c4ba1065ed75d9f139f
MD5 9cab074a1337ae3a6b349a4f0928f433
BLAKE2b-256 e2cdc0125fe6d69d6496e2f5b67ba2eca3aabe862d1e5d0e8ec8b4b645788bf8

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page