Skip to main content

Igor

A Runner/Manager of plugins that perform work in response to filesystem events

The intended usage of this is to manage creation/deletion of containers by symlinking into a ‘containers-enabled’ directory

Starting the App

Igor is relativly simple and in most cases cna be run without arguments. -v can be specified multiple times to increase the verbosity of logging to stdout and -c can be used to override the default config file

example:

$ igor

igor also understand/can override the default config dirs with the 2 following environment variables

  • IGOR_CONFIG_DIR: The directory to look for config files in

  • IGOR_CONFIG: The full path to igor’s config file. If this is not specified, igor looks for ‘igor.conf’ in IGOR_CONFIG_DIR

To get a list of all possible environment variables that can be set, use the following command:

$ python -m igor.consts

Plugins

Plugins are defined in a config file ending in *.conf in the IGOR_CONFIG_DIR. These files are a yaml file with at least 2 keys:

  • name: The name of the plugin, mainly used for logging

  • plugin: The path to the plugin in the form path/to/module/on/the/filesystem[:name of the setup function] where the name of the setup function is optional and defaults to ‘setup’

In a plugin there exists a single setup function that takes 3 arguments, a config, a logger and a way to generate inotify instances

  • config: The Yaml config file that defines this plugin as python objects including the ‘name’ and ‘plugin’ as defined above. any extra keys in the config file automatically get passed in via config.

  • logger: logging.getLogger instance that has been set up for this plugin with the correct logging policy applied

  • inotify: Takes a callable and returns a butter.inotify.Inotify instance that allows the adding of watches (listening for events is done by igor). The callable provided is called on each inotify event and is given a butter.inotify.InotifyEvent object

for an example of how this works, take a look at ‘inotify.py’ and ‘inotify.conf’ in example_fs

Metadata

Release files for igor-inotify 0.4

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

Source distributions (sdists)

Source distribution for igor-inotify 0.4
File Size Uploaded Provenance
igor-inotify-0.4.zip 12.2 kB Without provenance Details
igor-inotify-0.4.tar.bz2 5.6 kB Without provenance Details

Release files / igor-inotify-0.4.zip

Download URL igor-inotify-0.4.zip
Size 12.2 kB
Tags Source
SHA-256 checksum
How to use checksums
1527b55b594c6f5ef12add0ddd8f165d45a3e0f6d7faeff69ab086c02db2ce6e
BLAKE2b-256 checksum
How to use checksums
1300886731d94615d91c030758ff5227d72247028a818dc0c48dca762bccdfa7
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No

Release files / igor-inotify-0.4.tar.bz2

Download URL igor-inotify-0.4.tar.bz2
Size 5.6 kB
Tags Source
SHA-256 checksum
How to use checksums
8f687a50c19db03264cc1e528cf38667c58cbf63c3e0a35295e42e4113fa0fff
BLAKE2b-256 checksum
How to use checksums
b8dc46400669124c02debc8a93ab63e11f0f67addc6632fa581861fde0b5a623
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No

Security for igor-inotify 0.4

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

Release history Release notifications | RSS feed

This release

0.4 This release

2 release files No provenance

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