API Reference
=============
This page documents the public API exposed by the top-level ``wingfoil`` module.
See the :doc:`User Guide <readme>` for narrative examples covering every
operator and I/O adapter below.
.. currentmodule:: wingfoil
Quick index
-----------
**Sources**: :func:`ticker`, :func:`constant`.
**Composition**: :func:`bimap`, :class:`Graph`, :class:`CustomStream`.
**Core types**: :class:`Stream`, :class:`Node`.
**Stream operators (methods on** :class:`Stream` **)**:
``map``, ``filter``, ``distinct``, ``difference``, ``delay``, ``not``,
``limit``, ``sample``, ``count``, ``sum``, ``average``, ``buffer``,
``collect``, ``with_time``, ``dataframe``, ``inspect``, ``logged``,
``for_each``, ``finally``, ``peek_value``, ``run``.
**Pandas helpers**: :func:`to_dataframe`, :func:`build_dataframe`.
**I/O adapters**:
* CSV — :func:`csv_read`; ``Stream.csv_write(path)``.
* KDB+ — :func:`kdb_read`, :func:`kdb_write`; ``Stream.kdb_write(...)``.
* etcd — :func:`etcd_sub`; ``Stream.etcd_pub(endpoint, lease_ttl=None, force=True)``.
* ZeroMQ — :func:`zmq_sub`, :func:`zmq_sub_etcd`;
``Stream.zmq_pub(port)``, ``Stream.zmq_pub_etcd(name, port, endpoint)``,
``Stream.zmq_pub_etcd_on(name, address, port, endpoint)``.
* iceoryx2 (feature-gated) — :func:`iceoryx2_sub`,
:class:`Iceoryx2ServiceVariant`, :class:`Iceoryx2Mode`;
``Stream.iceoryx2_pub(service_name, variant, history_size, initial_max_slice_len)``.
* FIX 4.4 — :func:`fix_connect`, :func:`fix_connect_tls`, :func:`fix_accept`.
* Prometheus — :class:`PrometheusExporter`.
* OpenTelemetry OTLP — ``Stream.otlp_push(metric_name, endpoint, service_name)``.
Generated reference
-------------------
The table below is auto-generated by ``sphinx-autosummary`` and links to
per-member pages with full signatures and docstrings.
.. autosummary::
:toctree: api_generated
wingfoil