Skip to main content

Idem is an idempotent dataflow programming language. It exposes stateful programming constructs that makes things like enforcing the state of an application, configuration, SaaS system, or others very simple.

Since Idem is a programming language, it can also be used for data processing and pipelining. Idem can be used not only to manage the configuration of interfaces, but also for complex rule engines and processing files or workflows.

Idem is a language to glue together management of all sorts of interfaces. You can think of it like having idempotent scripts. Automation that can be run over and over again that enforces a specific state or process.

Idem is unique in that it is built purely as a language. It can be added to any type of management system out there and can be applied in a cross platform way easily.

Idem’s functionality can also be expanded easily. Instead of storing all of the language components in a single place, the libraries used by Idem can be written independently and seamlessly merged into Idem, just like a normal programming language!

What does Idempotent mean?

The concept of Idempotent is simple! It just means that every time something is run, it always has the same end result regardless of the state of a system when the run starts!

At first glance this might seem useless, but think more deeply. Have you ever needed to make sure that something was set up in a consistent way? It can be very nice to be able to enforce that setup without worrying about breaking it. Or think about data pipelines, have you ever had input data that needed to be processed? Idempotent systems allow for data to be easily processed in a consistent way, over and over again!

How Does This Language Work?

Idem is built using two critical technologies, Python and POP. Since Idem is built on Python it should be easy to extend for most software developers. Extending Idem can be very easy because simple Python modules are all you need to add capabilities!

The other technology, POP, may be new to you. This is the truly secret sauce behind Idem as well as a number of emerging exciting technologies. POP stands for Plugin Oriented Programming. It is the brainchild of the creator of Salt and a new way to write software. The POP system makes the creation of higher level paradigms like Idem possible, but also provides the needed components to make Idem extensible and flexible. If POP is a new concept to you, check it out!

Idem works by taking language files called sls files and compiling them down to data instructions. These data instructions are then run through the Idem runtime. These instructions inform Idem what routines to call to enforce state or process data. It allows you to take a high level dataset as your input, making the use of the system very easy.

Paradigms and Languages, This Sounds Complicated!

Under the hood, it is complicated! The guts of a programming language are complicated, but it is all there to make your life easier! You don’t need to understand complex computer science theory to benefit from Idem. You just need to learn a few simple things and you can start making your life easier today!

Release files for idem 6

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for idem 6
File Size Uploaded
idem-6.tar.gz 26.9 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for idem 6
File Interpreter ABI Platform
idem-6-py3-none-any.whl Python 3 none any Details

Total release size: 66.5 kB

Release files / idem-6.tar.gz

Download URL idem-6.tar.gz
Size 26.9 kB
Tags Source
SHA-256 checksum
How to use checksums
275184d870c1b09058f5c7352362a78f9db436ac9677b0c824f4e693b64a3662
BLAKE2b-256 checksum
How to use checksums
b3fa438060af2a238e05109d86ed9d9ead97dadbb79d4057f87c045033a9a137
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/2.0.0 pkginfo/1.5.0.1 requests/2.23.0 setuptools/46.1.3 requests-toolbelt/0.9.1 tqdm/4.45.0 CPython/3.8.2

Release files / idem-6-py3-none-any.whl

Download URL idem-6-py3-none-any.whl
Size 39.7 kB
Tags Python 3
SHA-256 checksum
How to use checksums
eead7c808c1c2c70ed73ce58606923fa74dc57ed55fa939c8d7ca0f3da5851b7
BLAKE2b-256 checksum
How to use checksums
32856e6ce70e8a45f30b9e7d232998f2895248481bdb8c13f99e8aff7c7ee31b
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/2.0.0 pkginfo/1.5.0.1 requests/2.23.0 setuptools/46.1.3 requests-toolbelt/0.9.1 tqdm/4.45.0 CPython/3.8.2

Release history Release notifications | RSS feed

24.3.0

2 release files

24.2.2

2 release files

24.2.1

2 release files

24.2.0

2 release files

24.1.1

2 release files

24.1.0

2 release files

23.2.0

2 release files

23.1.4

2 release files

23.1.3

2 release files

23.1.2

2 release files

23.1.1

2 release files

23.1.0

2 release files

23.0.3

2 release files

23.0.2

2 release files

23.0.1

2 release files

23.0.0

2 release files

22.2.0

2 release files

22.0.0

2 release files

21.2.0

2 release files

21.1.3

2 release files

21.1.2

2 release files

21.1.0

2 release files

21.0.1

2 release files

21.0.0

2 release files

20.9.4

2 release files

20.9.2

2 release files

20.9.1

2 release files

20.7.2

2 release files

20.7.1

2 release files

20.7.0

2 release files

20.6.0

2 release files

20.5.0

2 release files

20.4.2

2 release files

20.4.1

2 release files

20.3.0

2 release files

20.2.2

2 release files

20.2.1

2 release files

20.2.0

2 release files

20.0.0

2 release files

19.5.0

2 release files

19.4.4

2 release files

19.4.3

2 release files

19.3.1

2 release files

19.3.0

2 release files

19.1.2

2 release files

19.1.1

2 release files

19.1.0

2 release files

18.9.0

2 release files

18.8.1

2 release files

18.8.0

2 release files

18.7.0

2 release files

18.5.0

2 release files

18.3.1

2 release files

18.3.0

2 release files

18.2.2

2 release files

18.2.1

2 release files

18.2.0

2 release files

18.0.1

2 release files

17.0.3

2 release files

17.0.2

2 release files

17.0.1

2 release files

16.1.1

2 release files

16.1.0

2 release files

16.0.0

2 release files

15.0.1

2 release files

14.0.3

2 release files

14.0.2

2 release files

14.0.1

2 release files

14.0.0

2 release files

13.2.5

2 release files

13.2.4

2 release files

13.2.3

2 release files

13.2.2

2 release files

13.2.1

2 release files

13.1.0

2 release files

12.0.4

2 release files

12.0.3

2 release files

12.0.2

2 release files

12.0.1

2 release files

12.0.0

2 release files

11

2 release files

10.1

2 release files

10

2 release files

9

2 release files

7.6

2 release files

7.5

2 release files

7.4

2 release files

7.3

2 release files

7.2

2 release files

7.1

2 release files

7

2 release files

This release

6 This release

2 release files

5.4

2 release files

5.3

2 release files

5.2

2 release files

5.1

2 release files

5

2 release files

0.0.1

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page