Skip to main content

eos-core

Type-checked, dependency-free utility library for modern Python

PyPI Version

Introduction

My voyage through the vast and fascinating universe of Python started back in 2004 - when Python 2.3 was still the latest, exciting release... 😊

Since then, both the language and its ecosystem have evolved a lot: in particular, I feel that type hints make Python even more robust, without sacrificing its charming syntax - just like another language I'm fond of: TypeScript.

Consequently, the Eos library is designed to provide a set of shared utilities and patterns emerged during the creation of my open source projects with modern, type-checked Python - and this core package only builds upon the standard library, with no additional runtime dependencies.

For further details, please refer to the sections below, to the documentation within each module, and even to the tests - whose coverage is more than 97%! ^__^

Installation

To install eos.core, just run:

pip install info.gianlucacosta.eos.core

or, if you prefer using Poetry:

poetry add info.gianlucacosta.eos.core

Then, you'll be able to access the info.gianlucacosta.eos.core package and its subpackages.

Highlights

eos.core provides a wide variety of patterns - including:

  • higher-order functional abstractions, such as functions returning adaptable queue writers and readers - whose timeouts vary according to the queue state

  • a disposable TemporaryPath - and a Uuid4TemporaryPath string subclass that perform advanced cleanup, no matter whether you create a file or a whole directory tree upon it

  • a BufferedDbSerializer - using advanced but simple decorators to serialize objects of different types via dedicated SQL statements, but actually writing to DB only when the internal buffer is full

  • an InThreadPool class having the same interface as Python's Pool - but running within the very same thread: definitely handful when debugging and testing

  • a CancelableThread and the related CancelableThreadHandle - enabling the client to send a cancelation request

  • an Atomic class, to read and update arbitrary values atomically

  • a functional module, with expressive type aliases for functions - with ideas borrowed from other languages such as C#, Java and Rust

...and more! ^__^ It's definitely not easy to mention everything in a README file, so please feel free to browse the modules and explore how they are used in the tests!

Metadata

Release files for info.gianlucacosta.eos.core 2.0.2

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

Source distribution (sdist)

Source distribution for info.gianlucacosta.eos.core 2.0.2
File Size Uploaded Provenance Actions
info_gianlucacosta_eos_core-2.0.2.tar.gz 20.7 kB Without provenance Details for info_gianlucacosta_eos_core-2.0.2.tar.gz

Built distribution (wheel)

Table of built distributions (wheels) for info.gianlucacosta.eos.core 2.0.2
File Interpreter ABI Platform Actions
info_gianlucacosta_eos_core-2.0.2-py3-none-any.whl Python 3 none any Details for info_gianlucacosta_eos_core-2.0.2-py3-none-any.whl

Total release size: 41.5 kB

Release files / info_gianlucacosta_eos_core-2.0.2.tar.gz

Download URL info_gianlucacosta_eos_core-2.0.2.tar.gz
Size 20.7 kB
Tags Source
SHA-256 checksum
How to use checksums
7553d838bbc493af20592db9a79bbc50a41fbcf0bb3b33746d4b3d51897b3a9d
BLAKE2b-256 checksum
How to use checksums
3d6cd5e0baba9ee6fcefcc4bc23e2a95989e1cf3985f98375140fdc7190d7bb3
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via pdm/2.28.2 CPython/3.12.3 Linux/6.17.0-1022-azure

Release files / info_gianlucacosta_eos_core-2.0.2-py3-none-any.whl

Download URL info_gianlucacosta_eos_core-2.0.2-py3-none-any.whl
Size 20.8 kB
Tags Python 3
SHA-256 checksum
How to use checksums
4e95ada715c9004783ea24d24416d7166874d593eccbc01841e3e381927feb10
BLAKE2b-256 checksum
How to use checksums
e46bdf5efb3e8d9a8d1dfb088be37a1c9c7018b2e6708d69c420d3b32bd76ee6
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via pdm/2.28.2 CPython/3.12.3 Linux/6.17.0-1022-azure

Security for info.gianlucacosta.eos.core 2.0.2

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.

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