Sandbox
@ankraft/ACME-oneM2M-CSE

oneM2M CSE middleware for Python and IoT

ACME oneM2M CSE is a Python middleware server that implements part of the oneM2M standard. It provides a CSE runtime, web UI, plugin support, and test coverage for running educational and IoT setups.

30 stars22 forksPythonUpdated 23d ago
Who it's for

Builders who want to run a oneM2M CSE for IoT learning or prototyping.

What it delivers

You can run a working oneM2M CSE instead of building the middleware layer yourself.

What it does

oneM2M CSE implementation

Implements a subset of the oneM2M standard as a CSE middleware server.

Plugin support

Lets you extend the CSE with custom handlers, bindings, and HTTP server behavior without changing core code.

Web UI and text UI

Includes `acmecse/webui` and `acmecse/textui` for interacting with the CSE.

Test suite

Includes many focused tests under `tests/` for resource types, requests, discovery, subscriptions, and remote behavior.

Tools and docs

Includes `docs/` and `tools/` for API docs, Docker, packaging, and helper scripts.

README

ACME oneM2M CSE

An open source CSE Middleware for Education.

Version 2026.05.1

oneM2M Python Maintenance License MyPy
GitHub Actions Workflow Status
Mastodon
Discord

Overview

This oneM2M compliant CSE implements a subset of the oneM2M standard (see http://www.onem2m.org). The intention is to provide an easy to install, extensible, and easy to use and maintainable CSE for educational purposes.

See https://acmecse.net for more exhaustive information.

Changes

Please see the Changelog and this discussion for a detailed list of changes.

Highlights in this release

  • Support for plugins to extend the CSE's functionality.
    Most of the CSE's functionality is now implemented in plugins. This allows for better modularity and extensibility of the CSE's functionality. Plugins can be enabled and disabled, depending on the use case, requirements, and available system resources.
    User defined plugins can be added to the CSE to extend the CSE's functionality with custom handlers, bindings, HTTP server extensions, etc. This allows to easily add custom functionality to the CSE without modifying the CSE's source code.
  • The full API documentation is now available at https://api.acmecse.net.
  • Implementation of various new oneM2M features, such as support for SP-ID and IN-CSE-ID attributes for remote CSEs.
  • Internal restructuring how resource types are defined and configured. The resource types are now defined by an external JSON file that is loaded during CSE initialization. This allows for better modularity and extensibility of the resource types and their attributes.
  • Improved support for data types for the ContentInstance resource type.
  • Many performance improvements and bug fixes, such as much better performance when many AE registrations are present.

What to expect in the next release

See the announcement in the discussions.

Acknowledgements

Many People have contributed to this project and helped to make it what it is today with their ideas, suggestions, and code. Please see the Acknowledgements for the list of contributors.

Join the Discussions on Discord

Join the ACME CSE community on Discord to discuss the project, ask questions, and get help.

License

BSD 3-Clause License for the CSE and its native components and modules. Please see the individual licenses of the used third-party components.

Files in the repo

Repository payload15 top-level entries
  • .github
  • acmecse
  • docs
  • skills
  • tests
  • tools
  • .gitignore
  • CHANGELOG.md
  • CITATION.cff
  • LICENSE
  • MANIFEST.in
  • mypy.ini
  • README.md
  • requirements.txt
  • setup.py

Discussion (0)

Ask about usage, or say what you built with it

Sign in to join the discussion.

No comments yet. Be the first to say what this is good for.

More other

HKUDS/
Vibe-Trading

"Vibe-Trading: Your Personal Trading Agent"

33k

AIPOCH Open-Science is an open-source, local-first, model-agnostic AI research workbench for macOS, Windows, and Linux, with scientific agents, Python/R notebooks, data connectors, and reproducible provenance.

4k

Open-source, desktop-grade AI agent that gets real work done — data analysis, slides, docs, video & web research. Built on OpenClaw; runs tools on your real desktop and takes commands from your phone via WeChat, Feishu, DingTalk & Telegram.

6k
OpenLabs-so/
openanalytics

Open-source, privacy-first and cookieless web analytics with revenue attribution and an MCP server.

513
LinklyAI/
best-skills

Daily-updated Top 100 Agent Skills rankings — installs, growth, and social buzz aggregated from skills.sh, ClawHub, Tencent SkillHub, GitHub, X and 10+ communities. Open data (CSV).

461

Chat2DB is a free, cross-platform, local-first database client and SQL workspace for developers, DBAs, analysts, and data teams. Connect to 40+ databases, manage data, edit and run SQL, and use your own AI model to generate, explain, and optimize queries. Available on desktop, web, Docker, and CLI, with MCP support.

28k