Package: axem-dem
Containerized Development Environment ManagerforEmbedded DevelopmentManage your containerized Development Environments with ease:star2: Join our Community onDiscord:star2:Get answers to your challenges, and learn more about DEM, embedded development tools, and development platforms.OverviewDocumentation•Tutorial•Contribution guide•SupportThe DEM is a command line tool that provides an easy, reproducible, and scalable way to set up
Development Environments for embedded software development.The DEM can be used locally, but it is in alpha state, so expect major new features!Contributors and early adopters are welcome!The Concept in a NutshellA set of software tools used for a specific development project is called a Development Environment.
These tools for example can be the build system, debugger, test framework, etc...The idea is to pack the tools separately into container images, which are then can be stored in
registries.Each Development Environment has a descriptor. A descriptor, like a blueprint, indicates which tools
are required in the project, and the place their container images are stored.The descriptors can be stored in the Development Environment Catalogs. The users can browse these
catalogs, and download a copy of the Development Environment descriptor to their local catalog.The users can install a Development Environments from their local catalog or freely create their own
based on the tools available in the registries or on their local system.Key featuresCreate scalable, reliable, and reproducible containerized Development EnvironmentsManage your containerized toolsInstall preconfigured Development Environments from catalogsEnsure that everyone in the team works with the same toolsetShare Development Environments outside of your organizationPrerequisitesTo be able to use the DEM on your PC, you need to have the following software installed:Python 3.10+Docker Engine 24.0+:information_source: Currently only the Linux operating system and the Docker Engine are supported.InstallationUse the following install script to get the latest version of DEM:
curl -fsSL 'https://raw.githubusercontent.com/axem-solutions/dem/main/install-dem.sh' | bashAlternative installationIf all the prerequisites are fulfilled, the DEM can be installed from thePyPI repository:pip install axem-dem:information_source: The package name is axem-dem, but the command isdem.Enable autocompletionAfter installation, you can enable the autocompletion for bash and zsh shellsdem --install-completionIf the command didn't work, supply your shell type as input parameter (bash or zsh)
Note for zsh users:compinitmust be called from your .zshrc.Quick startWe got you covered in all scenarios:I'd like to start with a template...Here at axem we'd like to create a template for every target out there. List the currently available
ones with:dem list --all --envYou can clone the selected template with:dem clone DEV_ENV_NAMEI'd like to work on a project already configured with DEM...In this case you only need to initialize the Dev Env with:dem initI'd like to use a Dev Env someone shared with me...You can import a Dev Env descriptor JSON with:dem load DEV_ENV_NAMEI'd like to create my own Dev Env from scratch...Create a brand new Dev Env with the following command:dem create DEV_ENV_NAMENow you have the Dev Env descriptor in your local catalog, but you might want to set a few things:Add/remove tools.Change the tool image for a given tool.Set the host where the image should be placed.You can edit it with:dem modify DEV_ENV_NAMEFinally, if you are ready to use it, you can initialize it with:dem install DEV_ENV_NAMEFor more detailed instructions please refer to theDocumentation