Antmicro provides engineering services, open source tools, platforms and strategic R&D for high-tech products.
Renode is an open source software development framework with commercial support from Antmicro that lets you develop, debug and test multi-node device systems reliably, scalably and effectively.
Renode strengths:
- full determinism of execution, shared virtual time
- transparent & robust debugging, tracing, analysis, even in multi-node setups
- easy integration with your everyday tools, plugins
- rich model abstractions with additional functionality "for free" + modular platform
description format - automated tests and CI integrations, other collaboration features
It lets you run, debug and test unmodified embedded software on your PC - from bare System-on-Chips, through complete devices to multi-node systems.
With ansible-builder you can configure and build portable, consistent, customized Ansible control nodes that are packaged as containers by Podman or Docker. These containers are known as execution environments. You can use them on AWX or Ansible Controller, with Ansible Navigator, for local playbook development and testing, in your CI pipelines, and anywhere else you run automation.
You can design and distribute specialized execution environments for your Ansible content, choosing the versions of Python and ansible-core you want, and installing only the Python packages, system packages, and Ansible collections you need for your tasks.
Ansible Runner is a tool and python library that helps when interfacing with Ansible directly or as part of another system whether that be through a container image interface, as a standalone tool, or as a Python module that can be imported. The goal is to provide a stable and consistent interface abstraction to Ansible. This allows Ansible to be embedded into other systems that don’t want to manage the complexities of the interface on their own (such as CI/CD platforms, Jenkins, or other automated tooling).
Topics
A environment management tool for Ansible content development that provides isolated workspaces for development. ansible-dev-environment (ade) manages virtual environments, collection installation and removal, and Python dependency resolution to ensure consistent, reproducible development environments.
Overview
ansible-dev-environment (ade) provides comprehensive collection development environment management by:
- Creating isolated virtual environments
- Installing and removing collections with full dependency tracking
- Resolving and installing collection Python dependencies from requirements.txt and test-requirements.txt
- Installing collections in editable mode with symlinks for active development
- Managing development dependencies like ansible-dev-tools
- Providing configurable workspace isolation
While ansible-galaxy efficiently manages collection installation and dependencies, it does not handle Python package dependencies that collections may require. ade complements this by ensuring all Python requirements are properly managed within isolated environments.
Collections are installed into Python's site-packages directory, making them discoverable by both Ansible and Python tooling including pytest.
Toolbx is a tool for Linux, which allows the use of interactive command line environments for software development and troubleshooting the host operating system, without having to install software on the host. It is built on top of Podman and other standard container technologies from OCI.
Toolbx environments have seamless access to the user’s home directory, the Wayland and X11 sockets, networking (including Avahi), removable devices (like USB sticks), systemd journal, SSH agent, D-Bus, ulimits, /dev and the udev database, etc..
Learn more about Toolbx in the documentation.
Introduction
Ansible Development Tools or ADT for short, aims to streamline the setup and usage of several tools needed to create Ansible content. When it comes to creating automation content using Ansible, there are several packages available that can help users in different parts of the content-creating journey. From bootstrapping new projects, all the way to ensuring content follows best practices and verifying it behaves as intended via well-established test frameworks.
Key Features
-
All-in-One Ansible Toolkit: ansible-dev-tools combines critical Ansible development packages into a unified Python package called ansible-dev-tools.
-
Simplified Ansible Automation: ansible-dev-tools focuses on crafting your automation scenarios and workflows with speed by reducing boilerplate code without dealing with the intricacies of managing and integrating different Ansible libraries.
For those looking for an IDE-based experience, we also recommend you get familiar with the Ansible extension for VSCode.
Molecule project is designed to aid in the development and testing of Ansible roles.
Molecule provides support for testing with multiple instances, operating systems and distributions, virtualization providers, test frameworks and testing scenarios.
Molecule encourages an approach that results in consistently developed roles that are well-written, easily understood and maintained.
Molecule supports only the latest two major versions of Ansible (N/N-1), meaning that if the latest version is 2.9.x, we will also test our code with 2.8.x.
Once installed, the command line can be called using any of the methods below:
molecule ...
python3 -m molecule ... # python module calling method
The VMware Explore Content Catalog Is Live
The sessions, experts, labs and experiences you love and more from the center of the multi-cloud universe.
VSCodium is a community-driven, freely-licensed binary distribution of Microsoft’s editor VSCode
Microsoft’s vscode source code is open source (MIT-licensed), but the the product available for download (Visual Studio Code) is licensed under this not-FLOSS license and contains telemetry/tracking.
Python bindings and code examples for using Varlink access to Podman Service
Once I was working in the software development company. It was a regular company: nothing really bad, but nothing fancy. It had the same problems as other similar companies:
Low-quality code
Unmet deadlines
Budget overflows
And disappointed clients as a final result.
Of course, everyone in management was eager to know, what (or “who”) was the reason. During our workday, it was quite normal to hear something like: “the project is failed because you wrote low-quality code, now the client is moving away from us”.
Did it help in any way? No. Was it pleasant to work there? No. So, once I woke up and decided that I do not want to work in this company anymore.
The ugliest part is that I was the founder of this company.
Bandit is a tool designed to find common security issues in Python code. To do this, Bandit processes each file, builds an AST from it, and runs appropriate plugins against the AST nodes. Once Bandit has finished scanning all the files, it generates a report.
This documentation is generated by the Sphinx toolkit and lives in the source tree.
This is the Dulwich project.
It aims to provide an interface to git repos (both local and remote) that doesn’t call out to git directly but instead uses pure Python.
Handling own exception class
When you raise an exception from within an except block in Python, you have three options:
- If a new/unexpected exception occurs in the code handling the original exception, raise NewException.
- If you want to wrap the original exception(s) (e.g., with a common base exception to reduce complexity for your users), raise NewException from cause.
- If you want to hide the original exception because it is irrelevant for your users, raise NewException from None.
Molecule project is designed to aid in the development and testing of Ansible roles.
Molecule provides support for testing with multiple instances, operating systems and distributions, virtualization providers, test frameworks and testing scenarios.
Molecule encourages an approach that results in consistently developed roles that are well-written, easily understood and maintained.
Molecule supports only the latest two major versions of Ansible (N/N-1), meaning that if the latest version is 2.9.x, we will also test our code with 2.8.x.
Once installed, the command line can be called using any of the methods below:
molecule
Noise is a framework for building crypto protocols. Noise protocols support mutual and optional authentication, identity hiding, forward secrecy, zero round-trip encryption, and other advanced features.
A Frame Stack Sampler for CPython
Austin is a Python frame stack sampler for CPython written in pure C. Samples are collected by reading the CPython interpreter virtual memory space in order to retrieve information about the currently running threads along with the stack of the frames that are being executed. Hence, one can use Austin to easily make powerful statistical profilers that have minimal impact on the target application and that don't require any instrumentation.
The key features of Austin are:
- Zero instrumentation;
- Minimal impact;
- Fast and lightweight;
- Time and memory profiling;
- Built-in support for multi-process applications (e.g. mod_wsgi).
The simplest way to turn Austin into a full-fledged profiler is to combine it with FlameGraph. However, Austin's simple output format can be piped into any other external or custom tool for further processing. Look, for instance, at the following Python TUI
