Skip to main content

No project description provided

Project description

Hidori

pre-commit.ci status Code style: black

Hidori is a modern, agentless, zero-dependency[^1][^2] variation on updating system state. General rule of thumb is that changes to the system are only done if the requested state is different from the actual state. Hidori modules are idempotent if the system is already in the desired state. Every change in the target system is reported through the modules log as "affected".

Hidori communicates with a target machine through appropriate protocol that is designated by the chosen driver.

Install

Depending on your environment you might wish to install Hidori globally or locally using chosen Python dependency manager such as poetry or pip. Ultimately, the choice is yours. Either way, Hidori is safe for your Python environment - it does not pull any dependencies from PyPI[^2].

Example using pip:

pip install hidori

Hello World

With Hidori installed you need a single TOML file that provides where and what should be done. A simple 'hello world' example assuming that some machine is available at the given IP address:

[hosts]

  [hosts.vm]
  ip = "192.168.122.31"
  user = "root"

[tasks]

  [tasks."Say hello"]
  module = "hello"

Now you just need to run it (example assumes the file is named pipeline.toml):

hidori-pipeline run pipeline.toml

The result on my machine is:

[root@vm: Say hello]
[16:03:19] OK: Hello from Linux debian 4.19.0-21-amd64

Support

In general, Hidori is based on Python 3.11, but hidori_core runs with any version of Python that is still supported. Reason for that is vast majority of target systems don't have the latest Python runtime installed, so therefore hidori_core which includes all the code that runs on a target system can be expected to be supported according to the following table:

Python Version EOL Date
3.7 July 2023
3.8 November 2024
3.9 November 2025
3.10 November 2026
3.11 November 2027(?)

Development

The dev environment can be setup with poetry:

poetry install

[^1]: Except for the necessary runtime - python, and system libraries that are used by modules [^2]: typing-extensions are necessary until at least July 2023 when Python 3.7's support will end

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

hidori-0.1.0.tar.gz (12.7 kB view details)

Uploaded Source

Built Distribution

hidori-0.1.0-py3-none-any.whl (17.7 kB view details)

Uploaded Python 3

File details

Details for the file hidori-0.1.0.tar.gz.

File metadata

  • Download URL: hidori-0.1.0.tar.gz
  • Upload date:
  • Size: 12.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.1 CPython/3.11.0rc1

File hashes

Hashes for hidori-0.1.0.tar.gz
Algorithm Hash digest
SHA256 cfc8f56cc396acad7ed2ed52827b7750d2fc65f3b04253fa823f986342c4ca41
MD5 34405ff958f75be8551438a12dd19b4e
BLAKE2b-256 d2335f3b8af4d539cb8c30db85cd93e16a0551c1ec61223d9f1e1acf4cc50fa1

See more details on using hashes here.

File details

Details for the file hidori-0.1.0-py3-none-any.whl.

File metadata

  • Download URL: hidori-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 17.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.1 CPython/3.11.0rc1

File hashes

Hashes for hidori-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 4de56d2bc853fc8139a327d346369a93212eda882580a0b5c7e4b8a20da62266
MD5 512e42dead6a2a84eab2867a0d7d2589
BLAKE2b-256 2f257cb3f53bd6abfa34edf50aafbc6cf1e8181847e1fd7e98b58a4f53fe0cfa

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page