axem-dem


Nameaxem-dem JSON
Version 0.5.0 PyPI version JSON
download
home_pagehttps://axemsolutions.io/
SummaryManager for Containerized Development Environments
upload_time2024-04-24 10:31:06
maintainerNone
docs_urlNone
authorJanos Murai
requires_python<4.0,>=3.10
licenseEclipse Public License - v2.0
keywords iot embedded edge development environment tools containers
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            <div align="center">
    <picture>
        <source media="(prefers-color-scheme: dark)" srcset="docs/wp-content/dem_logo_dark.png">
        <img alt="DEM logo" src="docs/wp-content/dem_logo_light.png" width="150">
    </picture>
</div>

<br>

<h1 align="center">
    Development Environment Manager <br /> for <br /> Embedded Development
</h1>

<h3 align="center">
Manage your isolated Development Environments with ease
</h3>
<br />

<p align="center">
    <a href="https://github.com/axem-solutions/dem/tags" target="_blank"><img src="https://img.shields.io/github/v/tag/axem-solutions/dem?logo=github&color=79A7B5&link=https%3A%2F%2Fgithub.com%2Faxem-solutions%2Fdem%2Freleases" alt="GitHub tag (with filter)"/></a>
    <a href="https://github.com/axem-solutions/dem/issues" target="_blank"><img src="https://img.shields.io/github/issues/axem-solutions/dem?logo=github&color=2ea087&link=https%3A%2F%2Fgithub.com%2Faxem-solutions%2Fdem%2Fissues" alt="GitHub issues"/></a>
    <a href="https://discord.com/invite/Nv6hSzXruK" target="_blank"><img src="https://img.shields.io/discord/1156270239860920431?logo=discord&color=2C2F33&link=https%3A%2F%2Fdiscord.com%2Finvite%Nv6hSzXruK" alt="Discord"/></a>
</p>

<br />

<h3 align="center">
:star2: Join our Community on  <a href="https://discord.com/invite/Nv6hSzXruK">Discord</a> :star2:
</h3>

<h4 align="center">
Get answers to your challenges, and learn more about DEM, embedded development tools, and development platforms.
</h4>

<br />

## Overview

<p align="center">
<strong>
<a href="https://www.axemsolutions.io/dem_doc/index.html">Documentation</a> • <a href="https://www.axemsolutions.io/tutorial/index.html">Tutorial</a> • 
<a href="https://github.com/axem-solutions/.github/blob/4bdc1be72b0a2c97da19408c59d6dd5d1845a469/CONTRIBUTING.md">Contribution guide</a> • 
<a href="https://github.com/axem-solutions/.github/blob/4bdc1be72b0a2c97da19408c59d6dd5d1845a469/SUPPORT.md">Support</a>
</strong>
</p>

The 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!

<p align="center">
Contributors and early adopters are welcome!
</p>

## The Concept in a Nutshell
A 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.

![Dev Env descriptor](/docs/wp-content/dev_env_descriptor.png)

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.

![Catalogs](/docs/wp-content/dem_catalogs.png)

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.

![Dev Env installation](/docs/wp-content/dev_env_installation.png)

## Key features

- Create scalable, reliable, and reproducible containerized Development Environments
- Manage your containerized tools
- Install preconfigured Development Environments from catalogs
- Ensure that everyone in the team works with the same toolset
- Share Development Environments outside of your organization

## Prerequisites

To 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.

## Installation

You can download the installer script from the root of the repository:

    curl -O https://raw.githubusercontent.com/axem-solutions/dem/main/install-dem.sh

If you are happy with the content of the script, you can execute it:

    bash install-dem.sh

### Alternative installation

If all the prerequisites are fulfilled, the DEM can be installed from the 
[PyPI repository](https://pypi.org/project/axem-dem/):

    pip install axem-dem

:information_source: The package name is axem-dem, but the command is `dem`.

### Enable autocompletion

After installation, you can enable the autocompletion for bash and zsh shells

    dem --install-completion

> If the command didn't work, supply your shell type as input parameter (bash or zsh)
> Note for zsh users: `compinit` must be called from your .zshrc.

## Quick start

We 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 --env

You can clone the selected template with:

    dem clone DEV_ENV_NAME

### I'd like to work on a project already configured with DEM...

In this case you only need to initialize the Dev Env with:

    dem init

### I'd like to use a Dev Env someone shared with me...

You can import a Dev Env descriptor JSON with: 

    dem load PATH_TO_DEV_ENV

where PATH_TO_DEV_ENV is the path to the JSON file.

### I'd like to create my own Dev Env from scratch...

Create a brand new Dev Env with the following command:

    dem create DEV_ENV_NAME


Now 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_NAME

Finally, if you are ready to use the Development Environment, you can install it with:

    dem install DEV_ENV_NAME

>For more detailed instructions please refer to the
[Documentation](https://www.axemsolutions.io/dem_doc/index.html)

            

Raw data

            {
    "_id": null,
    "home_page": "https://axemsolutions.io/",
    "name": "axem-dem",
    "maintainer": null,
    "docs_url": null,
    "requires_python": "<4.0,>=3.10",
    "maintainer_email": null,
    "keywords": "iot, embedded, edge, development environment, tools, containers",
    "author": "Janos Murai",
    "author_email": "janos.murai@axemsolutions.io",
    "download_url": "https://files.pythonhosted.org/packages/1c/28/6a292dfdeaa2da19d33404d40322cf989720352cacc1ce24a4655f86686f/axem_dem-0.5.0.tar.gz",
    "platform": null,
    "description": "<div align=\"center\">\n    <picture>\n        <source media=\"(prefers-color-scheme: dark)\" srcset=\"docs/wp-content/dem_logo_dark.png\">\n        <img alt=\"DEM logo\" src=\"docs/wp-content/dem_logo_light.png\" width=\"150\">\n    </picture>\n</div>\n\n<br>\n\n<h1 align=\"center\">\n    Development Environment Manager <br /> for <br /> Embedded Development\n</h1>\n\n<h3 align=\"center\">\nManage your isolated Development Environments with ease\n</h3>\n<br />\n\n<p align=\"center\">\n    <a href=\"https://github.com/axem-solutions/dem/tags\" target=\"_blank\"><img src=\"https://img.shields.io/github/v/tag/axem-solutions/dem?logo=github&color=79A7B5&link=https%3A%2F%2Fgithub.com%2Faxem-solutions%2Fdem%2Freleases\" alt=\"GitHub tag (with filter)\"/></a>\n    <a href=\"https://github.com/axem-solutions/dem/issues\" target=\"_blank\"><img src=\"https://img.shields.io/github/issues/axem-solutions/dem?logo=github&color=2ea087&link=https%3A%2F%2Fgithub.com%2Faxem-solutions%2Fdem%2Fissues\" alt=\"GitHub issues\"/></a>\n    <a href=\"https://discord.com/invite/Nv6hSzXruK\" target=\"_blank\"><img src=\"https://img.shields.io/discord/1156270239860920431?logo=discord&color=2C2F33&link=https%3A%2F%2Fdiscord.com%2Finvite%Nv6hSzXruK\" alt=\"Discord\"/></a>\n</p>\n\n<br />\n\n<h3 align=\"center\">\n:star2: Join our Community on  <a href=\"https://discord.com/invite/Nv6hSzXruK\">Discord</a> :star2:\n</h3>\n\n<h4 align=\"center\">\nGet answers to your challenges, and learn more about DEM, embedded development tools, and development platforms.\n</h4>\n\n<br />\n\n## Overview\n\n<p align=\"center\">\n<strong>\n<a href=\"https://www.axemsolutions.io/dem_doc/index.html\">Documentation</a> \u2022 <a href=\"https://www.axemsolutions.io/tutorial/index.html\">Tutorial</a> \u2022 \n<a href=\"https://github.com/axem-solutions/.github/blob/4bdc1be72b0a2c97da19408c59d6dd5d1845a469/CONTRIBUTING.md\">Contribution guide</a> \u2022 \n<a href=\"https://github.com/axem-solutions/.github/blob/4bdc1be72b0a2c97da19408c59d6dd5d1845a469/SUPPORT.md\">Support</a>\n</strong>\n</p>\n\nThe DEM is a command line tool that provides an easy, reproducible, and scalable way to set up \nDevelopment Environments for embedded software development.\n> The DEM can be used locally, but it is in alpha state, so expect major new features!\n\n<p align=\"center\">\nContributors and early adopters are welcome!\n</p>\n\n## The Concept in a Nutshell\nA set of software tools used for a specific development project is called a Development Environment.\nThese tools for example can be the build system, debugger, test framework, etc...  \n\nThe idea is to pack the tools separately into container images, which are then can be stored in \nregistries.\n\nEach Development Environment has a descriptor. A descriptor, like a blueprint, indicates which tools \nare required in the project, and the place their container images are stored.\n\n![Dev Env descriptor](/docs/wp-content/dev_env_descriptor.png)\n\nThe descriptors can be stored in the Development Environment Catalogs. The users can browse these \ncatalogs, and download a copy of the Development Environment descriptor to their local catalog.\n\n![Catalogs](/docs/wp-content/dem_catalogs.png)\n\nThe users can install a Development Environments from their local catalog or freely create their own \nbased on the tools available in the registries or on their local system.\n\n![Dev Env installation](/docs/wp-content/dev_env_installation.png)\n\n## Key features\n\n- Create scalable, reliable, and reproducible containerized Development Environments\n- Manage your containerized tools\n- Install preconfigured Development Environments from catalogs\n- Ensure that everyone in the team works with the same toolset\n- Share Development Environments outside of your organization\n\n## Prerequisites\n\nTo be able to use the DEM on your PC, you need to have the following software installed:\n\n- Python 3.10+\n- Docker Engine 24.0+\n\n:information_source: Currently only the Linux operating system and the Docker Engine are supported.\n\n## Installation\n\nYou can download the installer script from the root of the repository:\n\n    curl -O https://raw.githubusercontent.com/axem-solutions/dem/main/install-dem.sh\n\nIf you are happy with the content of the script, you can execute it:\n\n    bash install-dem.sh\n\n### Alternative installation\n\nIf all the prerequisites are fulfilled, the DEM can be installed from the \n[PyPI repository](https://pypi.org/project/axem-dem/):\n\n    pip install axem-dem\n\n:information_source: The package name is axem-dem, but the command is `dem`.\n\n### Enable autocompletion\n\nAfter installation, you can enable the autocompletion for bash and zsh shells\n\n    dem --install-completion\n\n> If the command didn't work, supply your shell type as input parameter (bash or zsh)\n> Note for zsh users: `compinit` must be called from your .zshrc.\n\n## Quick start\n\nWe got you covered in all scenarios:\n\n### I'd like to start with a template...\n\nHere at axem we'd like to create a template for every target out there. List the currently available\nones with:\n\n    dem list --all --env\n\nYou can clone the selected template with:\n\n    dem clone DEV_ENV_NAME\n\n### I'd like to work on a project already configured with DEM...\n\nIn this case you only need to initialize the Dev Env with:\n\n    dem init\n\n### I'd like to use a Dev Env someone shared with me...\n\nYou can import a Dev Env descriptor JSON with: \n\n    dem load PATH_TO_DEV_ENV\n\nwhere PATH_TO_DEV_ENV is the path to the JSON file.\n\n### I'd like to create my own Dev Env from scratch...\n\nCreate a brand new Dev Env with the following command:\n\n    dem create DEV_ENV_NAME\n\n\nNow you have the Dev Env descriptor in your local catalog, but you might want to set a few things:\n- Add/remove tools.\n- Change the tool image for a given tool.\n- Set the host where the image should be placed.\n\nYou can edit it with:\n\n    dem modify DEV_ENV_NAME\n\nFinally, if you are ready to use the Development Environment, you can install it with:\n\n    dem install DEV_ENV_NAME\n\n>For more detailed instructions please refer to the\n[Documentation](https://www.axemsolutions.io/dem_doc/index.html)\n",
    "bugtrack_url": null,
    "license": "Eclipse Public License - v2.0",
    "summary": "Manager for Containerized Development Environments",
    "version": "0.5.0",
    "project_urls": {
        "Documentation": "https://axemsolutions.io/dem_doc/",
        "Homepage": "https://axemsolutions.io/",
        "Repository": "https://github.com/axem-solutions/dem"
    },
    "split_keywords": [
        "iot",
        " embedded",
        " edge",
        " development environment",
        " tools",
        " containers"
    ],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "64bcd4c0957e11f4431b4383fa520e74f65e6b52149c687a9d088c883924cb16",
                "md5": "3482905fd69ae3778f3117918bf84af5",
                "sha256": "92b72b147b737e644f878a7fc90c3b62b968e4d651c6751d3b5bbe4053f54439"
            },
            "downloads": -1,
            "filename": "axem_dem-0.5.0-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "3482905fd69ae3778f3117918bf84af5",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": "<4.0,>=3.10",
            "size": 54429,
            "upload_time": "2024-04-24T10:31:04",
            "upload_time_iso_8601": "2024-04-24T10:31:04.698130Z",
            "url": "https://files.pythonhosted.org/packages/64/bc/d4c0957e11f4431b4383fa520e74f65e6b52149c687a9d088c883924cb16/axem_dem-0.5.0-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "1c286a292dfdeaa2da19d33404d40322cf989720352cacc1ce24a4655f86686f",
                "md5": "a33a5ade0908522fe209713af0981692",
                "sha256": "2510450a8b42dbac6db2b6dd9fb07ac1429110ee2460ef6383a5867bffbe0645"
            },
            "downloads": -1,
            "filename": "axem_dem-0.5.0.tar.gz",
            "has_sig": false,
            "md5_digest": "a33a5ade0908522fe209713af0981692",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": "<4.0,>=3.10",
            "size": 38646,
            "upload_time": "2024-04-24T10:31:06",
            "upload_time_iso_8601": "2024-04-24T10:31:06.986263Z",
            "url": "https://files.pythonhosted.org/packages/1c/28/6a292dfdeaa2da19d33404d40322cf989720352cacc1ce24a4655f86686f/axem_dem-0.5.0.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2024-04-24 10:31:06",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "axem-solutions",
    "github_project": "dem",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": true,
    "lcname": "axem-dem"
}
        
Elapsed time: 0.24757s