How to typed command line arguments in python
How to typed command line arguments in python Creating tools with python is a common practice due to its ease of use and productivity. Now python already has good built-in support for parsing command-line arguments, but we can take it one step further.
Let’s take the following example where we would like to create a platform independent build script that should be able to accept the build type and an option to rebuild.
published on Mon, 22 Apr 2024
How to call a function of a file in python
How to call a function of a file in python Take the following use case, where I have a script that I use in my Continues Integration (CI) pipeline and I would like to call a function in that file from the command-line with parameters.
The inspect module provides several useful functions to help get information about live objects such as modules, classes, methods, functions, tracebacks, frame objects, and code objects.
published on Fri, 17 Nov 2023
Practical cppstd 17 highlights by example
Practical cppstd 17 highlights by example Language Features Library Features Language Features Nested namespace definitions namespace A::B::C { // ... } // Rather than: namespace A { namespace B { namespace C { // ... } } } Structured bindings #include <map>#include <string>#include <iostream> struct Vector3 { float X; float Y; float Z; }; using MappingPair = std::pair<int, std::string>; int main() { const auto [x, y, z] = Vector3{1.
published on Mon, 06 Mar 2023
Create an array of all possible variants alternatives of std::variant type
The standard library std::variant is a usefull feature, introduced since c++17, to define a type that can hold multiple alternative types.
For example a cell of a CSV file could represent multiple data types such as a string or int. Declaring a new type std::variant<std::string, int> allows to store one of the alternative types at the time. The std::variant internally allocates space for the largest alternative type.
But what if you need to extract what the possible alternatives of the std::variant ?
published on Thu, 02 Mar 2023
How to build Macos Universal Binaries with Conan and CMake
*** update (May 2025) ***
Added conan 2.x cmaketoolchain universal binary support. Added VirtualBuildEnv configuration examples. Added section about compiling boost. Added automated patching section. How to build Macos Universal Binaries with Conan and CMake Universal Binaries contain native instructions for multiple target architectures like x86_64 and arm64 to run your app both on Intel Mac and Apple silicon machines. When using Conan there are a few common build systems, or native build tool generators, when creating packages from the Conan Center Index(CCI) like: CMake, Autotools, Pkgconfig, b2 (Boost Build) and Make.
published on Fri, 25 Nov 2022