Skip to main content

abstract_essentials

The lean, dependency-free core carved out of abstract_utilities.

Every symbol here depends only on the Python standard library — no third-party imports, no from .imports import * chains, no submodule fan-out. It imports fast and installs anywhere (desktop, server, Termux/Android phone), which makes it a safe foundation for the rest of the abstract_* tree to build on without dragging in the monolith.

Why this exists

abstract_utilities is imported by nearly every abstract_* package, so its size and entanglement (star-exports across a dozen submodules) ripple everywhere. abstract_essentials is the ~50-function subset that is actually used in practice, extracted as a clean, explicit API.

Install

pip install abstract_essentials

Use

from abstract_essentials import make_list, get_any_value, safe_read_from_json, get_logFile

The public API is whatever is listed in abstract_essentials.__all__ (53 symbols: json/path/file/string/list/type/log helpers).

Migrating off abstract_utilities

abstract_utilities can become a thin compatibility shim that re-exports from here (see abstract_utilities_compat_shim.py shipped alongside this scaffold), so existing from abstract_utilities import X keeps working while new code imports from abstract_essentials.

ML/model MIME hints

MIME_TYPES['machine_learning'] and MEDIA_TYPES['machine_learning'] cover GGUF, safetensors, ONNX, PyTorch, TFLite, Keras and Core ML files, plus shared checkpoint, array and serialization extensions. The application/x-* model labels are local package conventions, not asserted IANA registrations.

from abstract_essentials import get_mime_type, derive_media_type, derive_media_types

get_mime_type('weights.SAFETENSORS')  # 'application/x-safetensors'
derive_media_type('weights.gguf')    # 'machine_learning'
derive_media_types('weights.bin')   # ('executable', 'machine_learning')
derive_media_types('weights.h5')    # ('data_science', 'pandas_data', 'machine_learning')

These functions inspect the filename only and accept paths or dotted extensions. Both category helpers are case-insensitive. The singular helper preserves the first-match order of existing categories; the plural helper retains ambiguity. Generic .bin, .ckpt, .pb, .model, and pickle files keep application/octet-stream: an extension does not establish model contents. JSON configs remain documents; a model directory's supporting files are not automatically models. Directory bundles are not detected by these helpers.

For discovery, use these mappings to shortlist candidates, then inspect content and retain detected format, container MIME, and extension agreement separately. For example, PyTorch checkpoints can use ZIP containers, while safetensors uses a length-prefixed JSON tensor header. A filename MIME hint is not proof that either parser will accept the file, nor permission to unpickle it.

The existing find_utils defaults derive their extension sets from this registry, so new ML extensions also enter its default exclusion set. Pass explicit scan filters when collecting model files.

License

MIT — putkoff / Abstract Endeavors.

Generic file and data helpers

The shared helpers formerly implemented in hugpy_resources now live here:

  • file_ops: atomic text writes, mode/ownership writes, encoding-aware reads, line ranges, exact edits, metadata, directory listings, trees, and POSIX locks.
  • path_utils: path resolution, confinement, repository-relative references, globs, and metadata snapshots that do not traverse symlinked directories.
  • json_utils: deterministic dumps/digest, surrogate-safe readable_dumps, and unique_pairs for rejecting duplicate JSON keys.
  • json_utils.structured: JSON/TOML/YAML reading and atomic JSON writing.
  • env_utils: environment values, home expansion and file parsing. read_env keeps the last duplicate; parse_env_file keeps the first nonempty value and handles export and paired quotes. These are deliberately distinct contracts.
  • terminal_utils, time_utils, sql_utils, argument_utils, numeric_utils, and callable_utils: terminal cell widths, UTC timestamps, SQL quoting, argument parsing, strict integers/statistics, and optional calls.

File encoding tables, terminal escape rules, structured-format extensions, boolean vocabularies, and confinement exception types can be supplied by the caller. Nothing imports Hugpy or reads its configuration. The package remains stdlib-only; YAML needs PyYAML only when used, TOML needs Python 3.11+, and file_ops.exclusive loads POSIX fcntl only when called.

Metadata

Release files for abstract-essentials 0.0.0.30

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

Source distribution (sdist)

Source distribution for abstract-essentials 0.0.0.30
File Size Uploaded Provenance Actions
abstract_essentials-0.0.0.30.tar.gz 77.8 kB Without provenance Details for abstract_essentials-0.0.0.30.tar.gz

Built distribution (wheel)

Table of built distributions (wheels) for abstract-essentials 0.0.0.30
File Interpreter ABI Platform Actions
abstract_essentials-0.0.0.30-py3-none-any.whl Python 3 none any Details for abstract_essentials-0.0.0.30-py3-none-any.whl

Total release size: 169.6 kB

Release files / abstract_essentials-0.0.0.30.tar.gz

Download URL abstract_essentials-0.0.0.30.tar.gz
Size 77.8 kB
Tags Source
SHA-256 checksum
How to use checksums
84d677180d65ca50866f06d8423c1c0b7c4cbf930a503d283a41bf5477b8a089
BLAKE2b-256 checksum
How to use checksums
ed84a9422737e12a25a0192b8594e92d277751da75b4e445ca7a9764441ada14
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.12.3

Release files / abstract_essentials-0.0.0.30-py3-none-any.whl

Download URL abstract_essentials-0.0.0.30-py3-none-any.whl
Size 91.8 kB
Tags Python 3
SHA-256 checksum
How to use checksums
b244caec69682d36323aebc0ac8d0213c9d8d4ff33ce9801fd30bde0e8a42bd9
BLAKE2b-256 checksum
How to use checksums
6c5559c90baaf6517ded4479bd9a71766fd3b859c9fc4dd489d3088127e43c27
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.12.3

Security for abstract-essentials 0.0.0.30

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.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Release history Release notifications | RSS feed

This release

0.0.0.30 This release

2 release files No provenance

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