Skip to main content

ESPU

ESPU (EscapedShadows Python Utils) is a modular Python utility ecosystem built around a small core and opt-in extensions and libraries.

The core package is intentionally minimal. Functionality is added via extensions (espu-ext-*) and internal libraries (espu-lib-*), all living under the shared espu.* namespace.

The goal is to provide a clean, extensible foundation without forcing users to install everything up front.


Installation

Install the core package:

pip install espu

The core on its own provides only minimal functionality and acts primarily as an entry point and registry.


Extensions and Extras

Most functionality is provided via extensions, which can be installed using extras:

pip install espu[bezier]

This will install:

  • espu (core)
  • espu-ext-bezier
  • any required internal libraries (for example espu-lib-vector)

Extensions may depend on libraries and/or other extensions. Libraries may only depend on other libraries and never on extensions.

Multiple extras can be combined:

pip install espu[bezier,logger,wol]

Libraries

Internal libraries are reusable building blocks used by extensions or other libraries. They can also be installed explicitly if needed:

pip install espu[lib-vector]

Libraries live under the following namespace:

espu.lib.<name>


Inspecting Installed Components

The ESPU core module provides a small runtime API to inspect what components are known and which are currently installed.

from espu import core

print(core.available())     # All known official components
print(core.installed())     # Components currently installed
print(core.unknown())       # Installed but unregistered components

If core.unknown() returns any entries, it is recommended to review them carefully. Unrecognized packages inside the espu namespace may indicate unintended or potentially malicious code.


Managing Installations

The ESPU GitHub repository contains a management/ directory with helper scripts for maintaining an ESPU installation.

This folder includes:

  • a .sh script (Unix / Linux / macOS)
  • a .bat script (Windows)
  • a .py script (cross-platform)

These scripts are capable of:

  • detecting which ESPU components are currently installed
  • cleanly uninstalling all ESPU-related packages
  • upgrading to newer versions without manual package management pain

They are intended as convenience tools and are not required for normal usage although heavily recommended.


Uninstalling Extensions or Libraries

Extras are install-time only. To remove functionality, uninstall the underlying package directly:

pip uninstall espu-ext-bezier
pip uninstall espu-lib-vector

Or use one of the managing scripts mentioned above.

The core package (espu) will remain installed unless explicitly removed.


Versioning

All ESPU packages share the same version number. While this may seem unusual, it is intentional.

Using a single version across the core, extensions and libraries:

  • simplifies dependency management
  • avoids compatibility mismatches
  • allows predictable upgrades
  • reduces long-term maintenance overhead

This trade-off favors clarity and stability over fine-grained versioning.


Resources

Changelog

Documentation Please be patient as i am working on the documentation.


License

MIT License © EscapedShadows

Metadata

Release files for espu 0.1.3

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

Source distribution (sdist)

Source distribution for espu 0.1.3
File Size Uploaded
espu-0.1.3.tar.gz 4.5 kB Details

Built distribution (wheel)

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

Total release size: 9.2 kB

Release files / espu-0.1.3.tar.gz

Download URL espu-0.1.3.tar.gz
Size 4.5 kB
Tags Source
SHA-256 checksum
How to use checksums
61f7976169962dd5dde993517267b17c8cb018456c94f04c7a4fb4c6460b6afa
BLAKE2b-256 checksum
How to use checksums
914b85700bfd53f01cb38c3b5fc537029b2b7dc3fa764d50e04c979fe9ee1a45
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.11.2

Release files / espu-0.1.3-py3-none-any.whl

Download URL espu-0.1.3-py3-none-any.whl
Size 4.7 kB
Tags Python 3
SHA-256 checksum
How to use checksums
869fe57c6a1908ac8735eaad6fe12c6627c8e4220054a1e1d1599f01c9c06472
BLAKE2b-256 checksum
How to use checksums
3cf2666fcd8b90ff1a6fa7d5ec048826bb74eb6da1c9e329a460f821ea96008b
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.11.2

Release history Release notifications | RSS feed

This release

0.1.3 This release

2 release files

0.1.2

2 release files

0.1.0

2 release files

0.0.3

2 release files

0.0.2

2 release files

0.0.1

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