Skip to main content

A robust and flexible framework for API clients in Python

Project description

NimbRo API

CI PyPI Supported Versions Downloads Docs

NimbRo API is a robust and flexible framework for API clients in Python.


✨ Features

🚢 Ships with clients for the following APIs:

OpenAI:
NimbRo Vision Servers:
Miscellaneous:

🪧 All clients feature:

  • Standardized interfaces
  • Sensible default settings
  • Monitoring of operation success
  • Configurable retry behavior and timeouts
  • Extensive documentation, logging, and tests

🪧 In addition, some clients feature:

  • Response caching
  • Response healing
  • Batching of large requests
  • API generalization across providers

⚙️ Global settings and utilities are exposed at the package level.

🛠️ Custom clients can be implemented using the nimbro_api.Client and nimbro_api.ClientBase classes.


🚀 Quick Start

Install this package:

pip install nimbro-api

Set the API key for the provider you want to use (e.g. OPENROUTER_API_KEY, OPENAI_API_KEY, VLLM_API_KEY):

export OPENROUTER_API_KEY='supersecretkey'

Create and use a ChatCompletions client:

import nimbro_api
# nimbro_api.set_api_key(name="OPENROUTER_API_KEY", key="supersecretkey") # alternatively, set API key here
client = nimbro_api.openai.ChatCompletions(endpoint="OpenRouter", model="google/gemini-3-flash-preview")
success, message, response = client.prompt(text="Tell me a joke!")

📖 Citation

If you utilize this package in your research, please cite one of our relevant publications.

  • Leveraging Vision-Language Models for Open-Vocabulary Instance Segmentation and Tracking
    [arXiv:2503.16538]

    @article{paetzold25vlmgist,
        author={Bastian P{\"a}tzold and Jan Nogga and Sven Behnke},
        title={Leveraging Vision-Language Models for Open-Vocabulary Instance Segmentation and Tracking},
        journal={IEEE Robotics and Automation Letters (RA-L)},
        volume={10},
        number={11},
        pages={11578-11585},
        year={2025}
    }
    
  • A Comparison of Prompt Engineering Techniques for Task Planning and Execution in Service Robotics
    [arXiv:2410.22997]

    @article{bode24prompt,
        author={Jonas Bode and Bastian P{\"a}tzold and Raphael Memmesheimer and Sven Behnke},
        title={A Comparison of Prompt Engineering Techniques for Task Planning and Execution in Service Robotics},
        journal={IEEE-RAS International Conference on Humanoid Robots (Humanoids)},
        pages={309-314},
        year={2024}
    }
    
  • RoboCup@Home 2024 OPL Winner NimbRo: Anthropomorphic Service Robots using Foundation Models for Perception and Planning
    [arXiv:2412.14989]

    @article{memmesheimer25robocup,
        author={Raphael Memmesheimer and Jan Nogga and Bastian P{\"a}tzold and Evgenii Kruzhkov and Simon Bultmann and Michael Schreiber and Jonas Bode and Bertan Karacora and Juhui Park and Alena Savinykh and Sven Behnke},
        title={{RoboCup@Home 2024 OPL Winner NimbRo}: Anthropomorphic Service Robots using Foundation Models for Perception and Planning},
        journal={RoboCup 2024: RoboCup World Cup XXVII},
        volume={15570},
        pages={515-527},
        year={2025}
    }
    

📄 License

NimbRo API is licensed under the BSD-3-Clause License.


👤 Author

Bastian Pätzold – paetzoldbastian@gmail.com

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

nimbro_api-0.1.1.tar.gz (5.6 MB view details)

Uploaded Source

Built Distribution

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

nimbro_api-0.1.1-py3-none-any.whl (5.7 MB view details)

Uploaded Python 3

File details

Details for the file nimbro_api-0.1.1.tar.gz.

File metadata

  • Download URL: nimbro_api-0.1.1.tar.gz
  • Upload date:
  • Size: 5.6 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for nimbro_api-0.1.1.tar.gz
Algorithm Hash digest
SHA256 f637b63a053d3a43571dd36072c8582f3a2a5152ca41f6a8328be0cc2a474a87
MD5 3b6d163eb1c418ece110a48789b5e2ce
BLAKE2b-256 58f306d24b97ae0f4c17a6d74e93b616069bfe02fc7f1519c6aec06eff1888b1

See more details on using hashes here.

Provenance

The following attestation bundles were made for nimbro_api-0.1.1.tar.gz:

Publisher: release.yml on ptzld/nimbro-api

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file nimbro_api-0.1.1-py3-none-any.whl.

File metadata

  • Download URL: nimbro_api-0.1.1-py3-none-any.whl
  • Upload date:
  • Size: 5.7 MB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for nimbro_api-0.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 4b3dc279cf2adce7835e98ad14b70625a02dea411a6ce18c95e824382bf6b74d
MD5 a4e3f62697bfcb6aaf302694dd356f1d
BLAKE2b-256 587d1d26891a298d630977797220fda35e021ff172c3106e418011fb90b28d07

See more details on using hashes here.

Provenance

The following attestation bundles were made for nimbro_api-0.1.1-py3-none-any.whl:

Publisher: release.yml on ptzld/nimbro-api

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

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