Skip to main content


HEROS - Highly Efficient Remote Object Service

HEROS is a decentralized object sharing service. In simple words it makes your software objects network transparent. To be fast and efficient, HEROS relies on the minimal overhead eclipse-zenoh protocol as a transport layer. It thus supports different network topologies and hardware transports. Most notably, it can run completely decentralized, avoiding a single point of failure and at the same time guaranteeing low latency and and high bandwidth communication through p2p connections.

HEROS provides a logical representation of software objects and is not tied to any specific language. Even non-object oriented programming languages might provide a collection of functions, variables, and events to be accessible as an object in HEROS.

Very much like a Dynamic Invocation Infrastructure (DII) in a Common Object Broker Architecture (CORBA), HEROS handles objects dynamically during runtime rather than during compile time. While this does not allow to map HEROS objects to be mapped to the language objects in compiled languages, languages supporting monkey-patching (python, js, ...) are still able create proxy objects during runtime.

Find the HEROS documentation under https://atomiq-project.gitlab.io/heros.

Paradigms

Realms

To isolate groups of HEROs from other groups, the concept of realms exists in HEROS. You can think of it as a namespace where objects in the same namespace can talk to each other while communication across realms/namespaces is not easily possible. Note that this is solely a management feature, not a security feature. All realms share the same zenoh network and can thus talk to each other on this level.

Objects

An object that should be shared via HEROS must inherit from the class LocalHero. When python instantiates such an object, it will parse the methods, class attributes, and events (see event decorator) and automatically generate a list of capabilities that describes this HEROS object. The capabilities are announced and a liveliness token for the object is created. HEROSOberserver in the network will thus be notified that our new object joined the realm.

When the object is destroyed or the link gets lost, the liveliness token disappears and any remote object will notice this.

Capabilities

A HEROS object is characterized by the capabilities it provides. There are currently three types of capabilities:

  • Attribute
  • Method
  • Event

Metadata

A HERO can carry metadata that allows for easier classification in environments with many HEROs. In addition to a list of tags, the metadata can also carry information on what interfaces a HERO provides. This allow a HERO to signal that it can seamlessly be used as an object of a certain class.

Metadata

Release files for heros 2026.2.2

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for heros 2026.2.2
File Size Uploaded
heros-2026.2.2.tar.gz 442.2 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for heros 2026.2.2
File Interpreter ABI Platform
heros-2026.2.2-py3-none-any.whl Python 3 none any Details

Total release size: 488.2 kB

Release files / heros-2026.2.2.tar.gz

Download URL heros-2026.2.2.tar.gz
Size 442.2 kB
Tags Source
SHA-256 checksum
How to use checksums
afb71690d93cd2cec6c58a025a7f5ff6ca7fbf7082303c98d924332b114f4bcb
BLAKE2b-256 checksum
How to use checksums
759e1b648b998c46dee48cee17f35b534bc019b15ed5294000d1dd685f3a8515
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.14.8

Release files / heros-2026.2.2-py3-none-any.whl

Download URL heros-2026.2.2-py3-none-any.whl
Size 46.0 kB
Tags Python 3
SHA-256 checksum
How to use checksums
b3e8ba04fff6f2cf626be8a4b356e7bcc7f4d3e50ac88c1507f920140b8000b6
BLAKE2b-256 checksum
How to use checksums
de3b11670720e446a9495047a9837947875e0c29956d9fe0034c0d5bc485b342
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.14.8

Release history Release notifications | RSS feed

This release

2026.2.2 This release

2 release files

0.14.4

2 release files

0.14.3

2 release files

0.14.0

2 release files

0.13.5

2 release files

0.13.4

2 release files

0.13.1

2 release files

0.13.0

2 release files

0.12.0

2 release files

0.11.1

2 release files

0.11.0

2 release files

0.9.1

2 release files

0.9.0

2 release files

0.8.10

2 release files

0.8.9

2 release files

0.8.8

2 release files

0.8.7

2 release files

0.8.6

2 release files

0.8.5

2 release files

0.8.4

2 release files

0.8.3

2 release files

0.8.2

2 release files

0.8.1

2 release files

0.8.0

2 release files

0.7.3

2 release files

0.7.2

2 release files

0.7.1

2 release files

0.7.0

2 release files

0.6.0

2 release files

0.5.9

2 release files

0.5.8

2 release files

0.5.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page