{"id":28955905,"url":"https://github.com/ganweisoft/toms","last_synced_at":"2026-04-11T10:33:08.347Z","repository":{"id":298444758,"uuid":"999961541","full_name":"ganweisoft/TOMs","owner":"ganweisoft","description":"TOMs is a fully open-source, systematic, plugin-based, high-performance, out-of-the-box, and production-ready development framework for IoT industry applications.","archived":false,"fork":false,"pushed_at":"2025-06-18T10:01:28.000Z","size":22748,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2025-06-18T11:19:42.991Z","etag":null,"topics":["bigdata","cpp","csharp","distributed","docker","dockerfile","golang","industrial-iot","iot","java","k8s","kubernetes","python","rust"],"latest_commit_sha":null,"homepage":"https://opensource.ganweicloud.com","language":"Batchfile","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/ganweisoft.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":"CODE-OF-CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":"SECURITY.md","support":"SUPPORT.md","governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2025-06-11T04:11:47.000Z","updated_at":"2025-06-18T10:01:31.000Z","dependencies_parsed_at":"2025-06-11T06:31:23.228Z","dependency_job_id":"683f15e0-832a-419e-a8e3-a29d5134ff40","html_url":"https://github.com/ganweisoft/TOMs","commit_stats":null,"previous_names":["ganweisoft/toms"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/ganweisoft/TOMs","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ganweisoft%2FTOMs","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ganweisoft%2FTOMs/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ganweisoft%2FTOMs/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ganweisoft%2FTOMs/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ganweisoft","download_url":"https://codeload.github.com/ganweisoft/TOMs/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ganweisoft%2FTOMs/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":261548757,"owners_count":23175502,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["bigdata","cpp","csharp","distributed","docker","dockerfile","golang","industrial-iot","iot","java","k8s","kubernetes","python","rust"],"created_at":"2025-06-23T20:12:05.316Z","updated_at":"2025-12-30T20:04:54.255Z","avatar_url":"https://github.com/ganweisoft.png","language":"Batchfile","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003cp align=\"center\" dir=\"auto\"\u003e\n  \u003ca href=\"https://opensource.ganweicloud.com\" rel=\"nofollow\"\u003e\n    \u003cimg width=\"260\" height=\"260\" src=\"/media/img/logo.png\"\u003e\n  \u003c/a\u003e\n\u003c/p\u003e\n\n[![GitHub license](https://camo.githubusercontent.com/5eaf3ed8a7e8ccb15c21d967b8635ac79e8b1865da3a5ccf78d2572a3e10738a/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f6c6963656e73652f646f746e65742f6173706e6574636f72653f636f6c6f723d253233306230267374796c653d666c61742d737175617265)](https://github.com/ganweisoft/TOMs/blob/main/LICENSE) ![GitHub Pages](https://img.shields.io/github/deployments/ganweisoft/TOMs/github-pages?label=GitHub%20Pages) [![Build Status](https://github.com/ganweisoft/TOMs/actions/workflows/build.yml/badge.svg)](https://github.com/ganweisoft/TOMs/actions) ![Docker](https://img.shields.io/github/v/release/ganweisoft/toms?logo=docker) ![C#](https://img.shields.io/badge/C%23-239120?logo=c-sharp\u0026logoColor=white) ![Java](https://img.shields.io/badge/Java-ED8B00?logo=openjdk\u0026logoColor=white) ![Python](https://img.shields.io/badge/Python-3776AB?logo=python\u0026logoColor=white) ![C++](https://img.shields.io/badge/C%2B%2B-00599C?logo=c%2B%2B\u0026logoColor=white) ![Rust](https://img.shields.io/badge/Rust-000000?logo=rust\u0026logoColor=white) ![Go](https://img.shields.io/badge/Go-00ADD8?logo=go\u0026logoColor=white) ![](https://img.shields.io/badge/join-discord-infomational)\n\nEnglish | [简体中文](README-CN.md)\n\n# 1. Introduction\n\n**TOMs** is a fully open-source, high-performance, systematic, plugin-oriented, and general-purpose development framework designed for various intelligent scenarios. **TOMs** is built on the latest **.NET 9.0**, and its extension plugins can be developed using programming languages such as **C#**, **Java**, **Python**, **C++**, **Go**, and **Rust**. **TOMs** supports cloud-native deployment, local deployment (**Windows**, **Linux**, **macOS**), and embedded device deployment.\n\n## 1.1 The Meaning of TOMs\n|Letter  | Explanation |\n|----|---------------|\n|**T**| Translation，Converts heterogeneous external data into a unified data model |\n|**O**| Orchestrator，Allows customizable orchestration of data processing, business workflows, and UI interfaces|\n|**M**| Module，All features are plugin-based, supporting free installation and uninstallation |\n|**s**| Plural form (s)，Developers can contribute various plugins and enable online transactions, gathering contributions to build a thriving ecosystem |\n\n## 1.2 Framework Overview\n\n![](./media/img/architecture.design.en.png)\n\n## 1.3 Application Scenarios\n\n**TOMs** can be widely applied to various large-scale intelligent scenarios, including but not limited to **Industrial**、**Transportation**、**Port**、**Electricity**、**Construction**、**Agriculture**、**Data Centers**、**New Energy**、**Environmental Protection**、**Smart Cities**.\n\n![应用场景](/media/img/application-scenarios-en.jpg)\n\n## 1.4 Software Interface\n[![Software Interface Cover](/media/img/software-interface-cover.gif)](https://ganweisoft.github.io/TOMs/docs/video-software-interface.html)\n\n💡 Tip: Click to watch video online\n\n## 1.5 Related Sub-Repositories\n\n📦 Core Components\n| Badge | Repository | Description | Status |\n|------------|------------|-------------|--------|\n|\u003cimg src=\"https://raw.githubusercontent.com/ganweisoft/Gateway/main/GWDataCenter/logo.jpg\" width=\"80\" alt=\"Gateway Logo\"\u003e| [Gateway](https://github.com/ganweisoft/Gateway) | high-performance, centralized communication and scheduling module for various device plugins. It uniformly converts heterogeneous data into standardized models and delivers core functionalities such as real-time data storage, alarm triggering, linkage control, and task planning | \u003cimg src=\"https://img.shields.io/badge/status-active-brightgreen\" alt=\"Status\" width=\"200\" height=\"20\" /\u003e |\n|\u003cimg src=\"https://raw.githubusercontent.com/ganweisoft/GrpcServer/main/src/logo.jpg\" width=\"80\" alt=\"GrpcServer Logo\"\u003e| [GrpcServer](https://github.com/ganweisoft/GrpcServer) | Builds a lightweight, high-performance proxy service framework using the gRPC (Google Remote Procedure Call) protocol. It models communication interfaces using the Protocol Buffers (protobuf) interface definition language, and supports cross-language and cross-platform service integration and invocation |  \u003cimg src=\"https://img.shields.io/badge/status-active-brightgreen\" alt=\"Status\" width=\"200\" height=\"20\" /\u003e |\n|\u003cimg src=\"https://raw.githubusercontent.com/ganweisoft/WebPlugins/main/src/logo.jpg\" width=\"80\" alt=\"GrpcServer Logo\"\u003e| [WebPlugins](https://github.com/ganweisoft/WebPlugins) | A modular and pluggable application framework based on ASP.NET Core and VUE. Built on the design principles of loose coupling and high cohesion, it provides an extensible and maintainable application framework. By completely decoupling core logic from functional components, it enables secondary development |  \u003cimg src=\"https://img.shields.io/badge/status-active-brightgreen\" alt=\"Status\" width=\"200\" height=\"20\" /\u003e\n\n\n🛠️ Tools \u0026 Utilities\n| Badge | Repository | Description | Status |\n|------------|------------|-------------|--------|\n|\u003cimg src=\"https://raw.githubusercontent.com/ganweisoft/Devices/main/src/src/logo.jpg\" width=\"80\" alt=\"GrpcServer Logo\"\u003e| [Devices](https://github.com/ganweisoft/Devices) | Natively support Modbus and OPC UA (Open Platform Communications Unified Architecture), two of the most widely used communication protocols in the field of industrial automation, providing efficient and reliable data acquisition and device interaction capabilities |  \u003cimg src=\"https://img.shields.io/badge/status-active-brightgreen\" alt=\"Status\" width=\"200\" height=\"20\" /\u003e\n\n\n🌐 Multi-Language\n| Badge | Repository | Description | Status |\n|------------|------------|-------------|--------|\n|\u003cimg src=\"https://img.shields.io/badge/-Python-3776AB?style=flat\u0026logo=python\u0026logoColor=white\" width=\"67\" height=\"15\" alt=\"Python Logo\"\u003e| [Gateway4Python](https://github.com/ganweisoft/Gateway4Python) | Distributed Gateway for Python | \u003cimg src=\"https://img.shields.io/badge/status-active-brightgreen\" alt=\"Status\" /\u003e |\n|\u003cimg src=\"https://img.shields.io/badge/-Java-ED8B00?style=flat\u0026logo=java\u0026logoColor=white\" width=\"67\" height=\"17\" alt=\"Java Logo\"\u003e| [Gateway4Java](https://github.com/ganweisoft/Gateway4Java) | Distributed Gateway for Java |  \u003cimg src=\"https://img.shields.io/badge/status-active-brightgreen\" alt=\"Status\" /\u003e |\n|\u003cimg src=\"https://img.shields.io/badge/-.NET-512BD4?style=flat\u0026logo=.net\u0026logoColor=white\" width=\"67\" height=\"15\" alt=\"CSharp Logo\"\u003e| [Gateway4CSharp](https://github.com/ganweisoft/Gateway4CSharp) | Distributed Gateway for .NET |  \u003cimg src=\"https://img.shields.io/badge/status-active-brightgreen\" alt=\"Status\" /\u003e\n\n# 2. Prerequisites\n\n## 2.1 Supported OS\n\n| OS          | Supported Versions                     | Architectures      | Notes                      |\n| ----------- | ------------------------------------ | ----------------- | ------------------------- |\n| **Windows** | Windows 10, Windows 11, Windows Server 2012+          | x86/x64/Arm64          | Nano Server is supported in Windows Server 2025, 2019 and 2022    |\n| **Linux**   | OpenEuler, Kylin, OpenKylin, Deepin, UOS, and other mainstream domestic operating systems      | x64/Arm64               |  |\n|             | Ubuntu(25.04, 24.04, 22.04), Debian 12, RHEL(10, 9, 8), CentOS (10, 9), Azure Linux 3.0, Fedora(42, 41), OpenSUSE Leap 15.6, SUSE Enterprise Linux 15.6, Alpine(3.22, 3.21, 3.20, 3.19) | x64/Arm64 |  |\n| **macOS**   | macOS 13(Ventura), macOS 14(Sonoma), macOS 15(Sequoia)                      | x64/Arm64               |                           |\n\n💡Note: As of June 30, 2024, all versions of CentOS Linux have reached end-of-life (EOL). It is recommended to migrate to alternative operating systems.\n\n## 2.2 .NET 9.0 Runtime Installation \n\n### 2.2.1 System Suggests \n\n| Component   | Explanation                                                          |\n|-------------|-----------------------------------------------------------------------|\n| **OS**      | Windows 11 / Linux (Ubuntu 22.04+, Debian 12, Fedora 40+, etc.) / Domestic Linux OS (e.g., OpenEuler, Kylin, Deepin) / macOS 13+     |\n| **Arch**    | x64/Arm64 (recommended to use 64-bit architecture)                                          |\n| **Memory**  | Minimum 1GB (recommended to use 8GB+)                                       |\n| **Storage** | At least 500M free space                                              |\n\n### 2.2.2 Installation Steps\n\n#### macOS\n\n1. **Homebrew Installation** (recommended)\n   ```bash\n   brew install --cask dotnet-sdk\n   ```\n\n2. **Manual Download**\n   - Visit [Microsoft Download Center](https://dotnet.microsoft.com/download/dotnet/9.0)\n   - Download **`.NET 9.0 Runtime (macOS x64/ARM64 Installer)`**\n   - Double-click installer and follow prompts\n\n#### Windows\n\n1. **Installer Method**\n   1. Visit [Microsoft Download Center](https://dotnet.microsoft.com/download/dotnet/9.0)\n   2. Download **`.NET 9.0 Runtime (Windows x64/ARM64 Installer)`**\n   3. Run installer, check **`I accept the license terms`**, click **`Install`**\n\n2. **Command Line Method**\n   ```cmd\n   # Run PowerShell as Administrator\n   Start-Process -FilePath \"dotnet-runtime-9.0.x-win-x64.exe\" -ArgumentList \"/quiet /norestart\" -Wait\n   ```\n\n#### Linux\n\n1. **Ubuntu/Debian**\n ```shell\nwget https://packages.microsoft.com/config/ubuntu/$(lsb_release -rs)/packages-microsoft-prod.deb -O packages-microsoft-prod.deb\nsudo dpkg -i packages-microsoft-prod.deb\nsudo apt-get update\nsudo apt-get install -y aspnetcore-runtime-9.0\n```\n\n2. **CentOS/RHEL**\n```shell\nsudo rpm -Uvh https://packages.microsoft.com/config/centos/$(rpm -E %centos)/packages-microsoft-prod.rpm\nsudo yum install aspnetcore-runtime-9.0\n```\n\n## 2.3 Clone the repo\n\nClone the TOMs repository using:\n```bash\ngit clone https://github.com/ganweisoft/TOMs\n```\n\n# 3. Build \u0026 Release\n\n## 3.1 Local Build\nLocal build script (Windows / Linux)\n```bash\nwindows-linux.bat\n```\nSee [Window-Linux Build Script](https://github.com/ganweisoft/TOMs/blob/main/windows-linux.bat)\n\nLocal build script (Docker)\n```bash\ndocker.bat\n```\nSee [Docker Build Script](https://github.com/ganweisoft/TOMs/blob/main/docker.bat)\n\n## 3.2 Cloud Build\n\nAutomated cloud builds(Windows / Linux / Docker) using [GitHub Actions](https://docs.github.com/en/actions), see [Cloud Build Script](https://github.com/ganweisoft/TOMs/blob/main/.github/workflows/build.yml)\n\n# 4. Installation \u0026 Execution\n\n## 4.1 Windows Installation\nRun installation with:\n```bash\nregist.bat\n```\n💡Note: Requires Administrator privileges on Windows\n\n## 4.2 Linux Installation\nRun installation with:\n```bash\n./install.sh\n```\n\n## 4.3 Docker Installation\nRun installation with:\n```bash\ndocker run -d -p 44380:44380 -p 44381:44381 --name toms ghcr.io/ganweisoft/toms:latest\n```\n\n# 5. License\n\nTOMs uses the permissive MIT License, see [LICENSE](https://github.com/ganweisoft/TOMs/blob/main/LICENSE)\n\n# 6. Release Notes\n\n## 6.1 Windows / Linux Releases\n\nSee Windows and Linux release history at [Releases](https://github.com/ganweisoft/TOMs/releases)\n\n## 6.2 Docker Releases\n\nSee Docker release history at [Releases](https://github.com/ganweisoft/TOMs/pkgs/container/toms/versions)\n\n# 7. Contributing\n\nWe welcome contributions! If you find a bug or have ideas to discuss, please submit an [issue](https://github.com/ganweisoft/TOMs/blob/main/CONTRIBUTING.md)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fganweisoft%2Ftoms","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fganweisoft%2Ftoms","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fganweisoft%2Ftoms/lists"}