Nexedi has created, maintains and provides customization services for a full stack of free software solutions. Automated tests are available on the test status page. Follow this link to see all tests or filter software-specific tests using "Test Status" links in the entries below.
Nexedi Original Free Software Stack
The components of the stack are listed below (including 3rd party forks being used in the Nexedi stack).
![Nexedi Software Stack](https://www.nexedi.cn/pt/free-software/NXD-Media.Image.Software.Stack.Svg?format=png&display=)
ERP5 | Unified Enterprise ERP ERP5 is a generic and customizable enterprise ERP system consisting of a core and various business templates (bt5s) that provide specific business features (accounting, CRM, et al) or industry templates (government, banking et al). ERP5 is based on five abstract concepts with the idea of being able to model the system to any industry and business scenario.
SlapOS | Decentralized Cloud Computing SlapOS is a software for deploying and managing software applications on a cloud infrastructure automating provisioning, orchestration, backup, resiliency, recovery and invoicing. Everything on SlapOS is run as a service with the Webrunner IDE providing configuration and monitoring access. SlapOS is used to deploy most of Nexedi's solutions, such as ERP5 and Wendelin.
Wendelin | Big Data Application Platform Wendelin is convergent platform for Big Data and Machine Learning and a variant of ERP5 with extensions for ndarrays, a core module managing RAM beyond physical limits and interfaces with libraries such as scikit-learn, jupyter, pandas, fluentD or embulk. Wendelin is hosted on SlapOS and uses NEO for data storage allowing to manage the data life cycle from ingestion to commercialisation.
Officejs | Offline HTML5 Productivity Appstore The OfficeJS appstore is a set of ERP5 business templates (bt5s) adding an ecosystem for RenderJS/jIO-based progressive web applications (PWA) to any ERP5 instance. The appstore includes productivity apps such as editors, converters and compact ERP5 web apps, that work offline, sync automatically and connect to a storage of choice - including ERP5.
Cloudooo | Multimedia Conversion Server Cloudooo is an ERP5 instance with specific extensions (bt5s) for converting the different office formats into HTML, PDF and back. In addition Cloudooo includes multimedia converters (image, video). Cloudooo is used by all ERP5 instances as a service for various conversions including resizing of images on websites and creation of complex PDF reports from HTML using wkhtmltopdf.
WebRunner | SlapOS Web IDE The SlapOS Webrunner is a platform-as-a-service (PAAS) development IDE based in the browser. It contains a sandboxed environment for software development including instance configuration, process overviews, log monitoring, file browser and editor as well as a terminal and git interface allowing to manage all aspects of software development on a single IDE.
NEO | Distributed, Transactional NoSQL Database NEO (neoppod) is a distributed, redundant and transactional storage designed to be an alternative to ZEO and FileStorage. It adds features such as no cluster-wide commit locks, load balancing and replication over multiple machines. Nexedi is using NEO on all recent instances of ERP5 and Wendelin running either a single machine or a cluster of instances provided through SlapOS.
Re6st | Resilient Mesh Network re6st (also called Re6stnet) creates a resilient, scalable, ipv6 network on top of any existing IPv4 network by creating tunnels on the fly, and then routing targeted traffic through these tunnels along the real-time optimal route. Nexedi is using re6st for its internal network optimization and is also offering re6st-based network services from content delivery to software defined radio networks.
Caucase | Certificate Authority Server for Users and Services The goal of caucase is to automate certificate issuance and renewal without constraining how a certificate will be used. For example, there is no assumption that the certificate will be used to secure HTTP, nor to serve anything at all: it may be used as certificate to authenticate users, sign emails, or secure an SQL server socket.
jIO | Virtual Document Database (online/offline) jIO is a promise-based JavaScript library that offers connectors to various storages (ERP5, Dropbox, Google Drive, IndexedDB, et al) and special handlers for replication, compression, encryption or querying using just a single API. jIO allows to create offline-capable and synchronisable progressive web app and is being used for the new ERP5 interface as well as ERP5, Wendelin and OfficeJS based apps.
RenderJS | HTML5 Web Component Microframework RenderJS is a JavaScript library which helps to modularize HTML5 gadgets and applications. It uses self-contained components (HTML5/JS/CSS) which can be reused, sandbox and combined together to build complex stateful single-page web applications. RenderJS is being used with jIO to build the new ERP5 interface as well as Wendelin and OfficeJS applications.
Crib.js | HTML5 Working Copy Manager CribJS is a small JavaScript library which uses serviceworkers and an editor to allow users to configure their way of viewing a specific website. Based on the free web principles, a user should have the freedom to view content in whichever way he or she desires. CribJS will allow this by enabling to customize CribJS-supporting sites made with RenderJS and jIO.
shacache | Self-Certifying File Cache and Signed Index ShaCache is a set of business templates (bt5s) turning an ERP5 instance into a CDN that guarantees own and third party source code relevant for deploying software is always available in the exact same version it was once used and signed (like a wayback machine). ShaCache is used as both download and binary cache within SlapOS.
Pygolang | Go like features for Python and Cython Pygolang provides Go-like features for Python: gpython is a Python interpreter with support for lightweight threads, go spawns a lightweight thread. chan and select provide channels with Go semantic. func allows to define methods separate from class. defer allows to schedule a cleanup from the main control flow. error and package errors provide error chaining. b and u provide way to make sure an object is either bytes or unicode. gimport allows to import python modules by full path in a Go workspace.
rPLC Coupler | An industrial PLC coupler Control motors, relays and sensors with a fully open industrial automation coupler. rPLC coupler is programmable with IEC-61131 compatible Beremiz IDE and supports out of the box OPC-UA and software-defined TSN / real-time Linux. It allows you to build vendor independent automation projects using both open source software and open source hardware.
Typon | A Python Compiler Typon is a Python-to-C++ compiler with powerful concurrency primitives powered by a cutting-edge task scheduler. It can take untyped, idiomatic Python code and output C++ code fully independent of the Python interpreter. It also provides seamless to-and-from Python interoperability, for those cases where you really just need to import numpy.
Nexedi Maintained Third Party Forks
NayuOS | Private OS NayuOS is a web-based operating system (OS) for desktop and laptops based on Chromium OS. It is designed for low maintenance cost and provides provides independence from cloud computing providers, strong privacy, no proprietary software components whatsoever and high interoperability with enterprise IT infrastructure. All staff at Nexedi is working on NayuOS-run Chromebooks.
Babel | Distance-Vector Routing Protocol with Custom Monitoring Babel is a loop-avoiding distance-vector routing protocol roughly based on HSDV and AODV, but with provisions for link cost estimation and redistribution of routes from other routing protocols. Nexedi uses Babel as complement to re6st for optimizing next generation networking.
- RSVP RSVP | Javascript A+Promises RSVP.js provides simple tools for organizing asynchronous code. It is a small implementation of JavaScript Promises/A+ and a mixin for turning objects into event targets. Nexedi extended RSVP to cancel and queue promises and uses the library in both RenderJS and jIO as well as all ERP5, Wendelin and OfficeJS apps.
- Buildout buildout | Devops System in Python The Buildout project provides support for creating Python-based applications offering tools for assembling applications from multiple parts (Python or otherwise) combining multiple programs, processes, and configuration settings. Nexedi is using a modified version of Buildout for all SlapOS related software installation and deployment.
Nexedi Software Sponsorships
MariaDB | Relational Database Management System MariaDB server is a community developed fork of MySQL server. Started by core members of the original MySQL team, MariaDB actively works with outside developers to deliver the most featureful, stable, and sanely licensed open SQL server in the industry. ERP5 uses MariaDB for their their index catalog, sponsors MariaDB developers and works closely on performance and scalability topics.
ManPy | Discrete Event Simulation (DES) objects in Python ManPy is a library for simulating manufacturing scenarios in real-time using discrete event simulation and was developed during a joint research project. Nexedi is maintaining ManPy while its components are more deeply integrated into ERP5 providing a new means for simulating various task allocation scenarios.