I am a software engineer living in Israel. I am mostly experienced with C, C++ and Python back-end development on Linux platforms. In recent years I am developing complex testing and workflow infrastructures for software-based enterprise storage products.
Except for programming (which I also do on my free time), I am also into graphic design, photography, language learning and linguistics, and music. I play the guitar and drums.
Slash is an open source testing infrastructure aimed at large-scale products and integration testing.
Slash was born after many efforts to build testing products on top of Python's
It offers a rich and robust hook and plugin interfaces, extensible configuration and a flexible loading/running model. It also contains well-documented recipes and facilities to build your own in-house testing infrastructure and tailor it to your needs.View on Github →
Many parts of the workflow in my workplaces so far has involved dedicated web services providing service to both automated and manual processes. These enable for a smoother, more approachable workflow and boost productivity significantly.
You will almost always want to develop these in-house, but the boilerplate needed to get an app running can be overwhelming.
Weber is a full-fledged, fully functioning web application skeleton intended for in-house deployments. It includes a working flask skeleton, authentication, bootstrap styling, database models, an admin interface, asset management, ansible deployment and much more. It aims to come as close as possible to an instant web application.View on Github →
Forge is a record-replay mocking framework inspired by Google's Mox.
It is well-maintained, thoroughly tested and contains a rich set of features for testing replay order, dependencies, and many others.
Unlike other mocking frameworks (most notably Mox and Mock) it puts a very strong emphasis on type and signature checks, which avoids some of Python's common pitfalls having to do with dynamic typing.View on Github →
Flux is a library for mocking time in Python. It presents an interface to manipulate the fake timeline, increase or decrease its speed, schedule callbacks at virtual time points and more.
Flux makes testing long-duration sequences feasible without the use of
Confetti is a Pythonic configuration library. It powers the configuration for Slash and other projects.
Confetti supports backup/restore, path expression assignment with type deduction (useful for command-line applications), inline documentation and metadata assignment.View on Github → Read the Docs →
Mongomock is a mock for MongoDB collections for use with unit tests.
It is meant to alleviate the requirement for a running
Although it aims to be as compliant as possible with the real MongoDB implementation, it is still constantly improved and more features are implemented. Feedl free to open issues for missing functionality you would like added.View on Github →
Head on over to my Github page to find out more!