Skip to main content

Welcome to Anomlib

Introduction

Anomlib is a project that my key projects use. It shares libraries such as:

  • Shell command wrapper: Executes shell commands from Python. Made transition easier from Bash to Python.
  • Parameter parser: Splits command-line arguments into logical areas. It currently supports tool and sub-command areas. An args-only area introduced by -- is planned. The nested sub-commands are not planned yet, but considered. Parameters are defined within drafts in TOML configuration files.
  • Pillow: Provides hashing functions and ensures that required directories and files exist. This library may eventually be deprecated or reduced to a hashing-only library.
  • Load: Compares the execution speed of compatible functions.
  • Confman: A simple configuration manager.
  • Cpconf: Copies configuration files into the user’s home configuration directory without overwriting custom configurations that already exist.

Legacy Bash Scripts

Anomlib also includes older Bash scripts that are planned to be rewritten in Python over time.

  • Dowith: Runs command-line arguments in a loop and supports using readline input as a sub-command with arguments.
  • Picload: Organizes collections or albums of pictures from the internet, such as wallpaper sets.
  • u2: Parses YouTube-related data. Its future purpose is not decided yet.
  • w2v and undub: Removes duplicate lines from input.
  • Whitespace: Removes trailing whitespace from lines.
  • Chroot into Gentoo: Some old Gentoo oriented scripts that you can source to simplify entering a freshly installed Gentoo System from the TTY using chroot.

Utility Scripts

Anomlib has several small Bash scripts, that were useful on my path of learning system administration and desktop automation and Linux in general:

  • Finding commands by walking through PATH.
  • Listing Flatpak applications, selecting one through dmenu, and running it.
  • Working with file descriptor fd3.
  • Removing noise from media files using FFmpeg.
  • Making the backlight writable for Window Managers that may require it.
  • Toggling warm screen lighting.
  • Other small utilities for command automation, system configuration, and media processing.

Some scripts are primitive and some were lost in time and never got into git, but they served its purpose at certain point.

Shared uv Makefile

Anomlib provides a common uv.mk Makefile for use across my projects. The uv.mk file is maintained and updated here. It helps build/clean/update venv, push to/fetch from PyPI.

Copy the Makefile into your project and modify it to suit that project’s requirements. Do not delete it, as it contains personal requirements shared across your projects. You will usually need to update the deps and work variables.

The Makefile can download uv.mk automatically. If your local uv.mk file is outdated, remove it and run the Makefile again to download the latest version. You can also customize the download-uv-mk target to download uv.mk from a different URL.

Planned Framework (Ifuse)

I plan to create my first small framework (ifuse) by combining some of my shared libraries into a single entity. It will provide access to configuration files, environment variables, and command-line parameters.

Ifuse may also support an interactive mode using readline. Optionally, it could provide an interactive background API service for controlling the application through API requests. We also may also allow binding some OS signals to events.

Ifuse may be somewhat similar to confuse, although that was not intentional. The original goal was simply to create my first small framework. The framework has staged processing of input channels, while both original input and processed will remain accessible. Main idea is to merge all channels into one settings object, and let all input sources simple to access and control over app.

Learn Markdown Notes

To lean how to write Markdown, you can check GitHub-flavored Markdown guide.

Metadata

Release files for anomlib 0.3.14

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

Source distribution (sdist)

Source distribution for anomlib 0.3.14
File Size Uploaded
anomlib-0.3.14.tar.gz 39.4 kB Details

Built distribution (wheel)

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

Total release size: 80.6 kB

Release files / anomlib-0.3.14.tar.gz

Download URL anomlib-0.3.14.tar.gz
Size 39.4 kB
Tags Source
SHA-256 checksum
How to use checksums
719f43030783eccb903208700b9edff66e762d8577e0fac95e3995f43c71cb73
BLAKE2b-256 checksum
How to use checksums
7460e5f103a27c839216f572b6d2d71f3956295a623fdd6b01d0f43782c06c83
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.12.13

Release files / anomlib-0.3.14-py3-none-any.whl

Download URL anomlib-0.3.14-py3-none-any.whl
Size 41.2 kB
Tags Python 3
SHA-256 checksum
How to use checksums
2516c4f878d4530d510dfe0739f8711a3acc55b7e4b9aee5e10212cfee7e3909
BLAKE2b-256 checksum
How to use checksums
d8865b548025d52521b83a115001a1bd076ef5e6c7468df9133f946051b14f71
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.12.13

Release history Release notifications | RSS feed

This release

0.3.14 This release

2 release files

0.3.11

2 release files

0.3.10

2 release files

0.3.9

2 release files

0.3.8

2 release files

0.3.6

2 release files

0.3.5

2 release files

0.3.3

2 release files

0.3.2

2 release files

0.3.1

2 release files

0.3.0

2 release files

0.2.1

2 release files

0.2.0

2 release files

0.1.2

2 release files

0.1.1

2 release files

0.1.0

2 release files

0.0.23

2 release files

0.0.22

2 release files

0.0.21

2 release files

0.0.20

2 release files

0.0.19

2 release files

0.0.18

2 release files

0.0.16

2 release files

0.0.15

2 release files

0.0.14

2 release files

0.0.13

2 release files

0.0.12

2 release files

0.0.11

2 release files

0.0.10

2 release files

0.0.9

2 release files

0.0.8

2 release files

0.0.7

2 release files

0.0.6

2 release files

0.0.5

2 release files

0.0.4

2 release files

0.0.3

2 release files

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