Skip to main content

PyPI - Downloads

GitHub tag (with filter) Static Badge Static Badge Static Badge

PyPI - Version PyPI - Format Static Badge Static Badge PyPI - Python Version Static Badge PyPI - Implementation

GitHub License PyPI - Status

cengal_light

This package contains compiled extensions, providing enhanced performance, while omitting mandatory dependency installations.

In order to install Cengal with all requirements execute either:

  • pip install cengal_light[full] - will install Cengal as well as most of requirements
  • pip install cengal - Recommended - will install cengal_light[full] as well as some missed requirements

Cengal

CengalLogo

Cengal is a versatile Python library designed for a wide range of applications. To enhance performance, certain modules within Cengal have been implemented using Cython, C/C++, Nim or Go.

Cengal features an extensive codebase with over 200 projects and more than 80,000 lines of code. I am continually focused on developing new features and making improvements. Contributions are very welcome, especially Pull Requests that include unit tests and documentation enhancements.

If you have any questions or would like to participate in discussions, feel free to join the Cengal Discord. Your support and involvement are greatly appreciated as Cengal evolves.

Github repository

Github repository is a curated public mirror of the project. Active development (including experimental code and private research notes) happens in a private repository; selected snapshots are published here periodically.

Architecture & API Design Rationale

Rationale

The Cengal library adheres to an API design approach used in frameworks such as Qt. For those familiar with the C++ language, I will draw comparisons between the approaches of Qt and the C++ Standard Template Library (STL). The API provided by the STL was designed to significantly reduce the burden on programmers who develop the STL. This decision was logical from the standpoint of marketing the STL among compiler creators. However, this led to the usability of the STL for the user not being great. This is evident in the fact that the STL provides the most minimal possible API, and any conveniences must be programmed anew by each programmer every time - constantly reinventing the wheel. In contrast, Qt uses the opposite approach to API construction: classes have many methods whose purposes are similar, but are aimed at different usage models. This simplifies the use of Qt for users, speeds up the writing of the final code, and avoids many errors that we usually make when we write our own 'bicycles' for the same actions each time (not because the we are not smart, but because we are humans and therefore prone to make mistakes from time to time).

Cengal compatibility and requirements

Compatibility and requirements
  • Target platforms: Win32, Linux, macOS, Android, iOS, Emscripten
  • Target architectures: x64, x86, ARM
  • Target interpreters: CPython, PyPy
  • Recommended Python versions: 3.8+

Installation

General wheel

To get started with Cengal, you can easily install it along with all the mandatory dependencies by running pip install cengal. This command not only installs Cengal and its required dependencies but also takes care of fetching and installing prebuilt wheels tailored for the Cengal library. These wheels are compatible with both Windows and Linux systems and work seamlessly with both CPython and PyPy interpreters.

Wheel without dependencies

If you prefer to install Cengal without its dependencies, you can opt for the 'cengal-light' package, which serves as the backend for the 'cengal' package. Simply run pip install cengal-light to get the lightweight version of Cengal.

Documentation

Cengal Discord

Cengal Documentation

For example Cengal Coroutines Concepts & Usage

Stand-Alone Packages for Specific Cengal Modules

Rationale

To cater to varying needs and streamline the installation process, I've introduced stand-alone packages for select Cengal modules. These packages are designed to offer users the ability to install specific Cengal functionality without the burden of the library's full set of dependencies.

The core of this approach lies in our 'cengal-light' package, which houses both Python and compiled Cengal modules. The 'cengal' package itself serves as a lightweight shell, devoid of its own modules, but dependent on 'cengal-light[full]' for a complete Cengal library installation with all required dependencies.

For users seeking individual Cengal features or looking to minimize dependencies, our stand-alone packages provide a convenient solution. Each stand-alone package is dedicated to a specific Cengal module and relies on 'cengal-light' as its sole dependency.

Below, you'll find a list of these stand-alone packages, each corresponding to a distinct Cengal module:

  • CengalPolyBuild: A Comprehensive and Hackable Build System for Multilingual Python Packages: Cython (including automatic conversion from Python to Cython), C/C++, Objective-C, Go, and Nim, with ongoing expansions to include additional languages. (Planned to be released soon)
  • InterProcessPyObjects (package for cengal.parallel_execution.asyncio.ashared_memory_manager module): High-performance package delivers blazing-fast inter-process communication through shared memory, enabling Python objects to be shared across processes with exceptional efficiency.
  • cengal_memory_barriers (package for cengal.hardware.memory.barriers module): Fast crossplatform memory barriers for Python.
  • cengal_cpu_info (package for cengal.hardware.cpu.info module): Extended, cached CPU info with consistent output format.
  • cengal_app_dir_path_finder (package for cengal.file_system.app_fs_structure.app_dir_path module): Offering a unified API for easy retrieval of OS-specific application directories, enhancing data management across Windows, Linux, and macOS.

Stay tuned for future additions to our collection of stand-alone packages!

Exclusive Features: No Alternatives Online

Build system (work in progress)

Build system (work in progress)

Automatic hackable build system for your package which supports Python modules made with different languages: Cython (including Python to Cython automatic compilation), C/C++, ObjectiveC, Go, Nim. Other languages support is in progress.

Compiles your code, gather binary artifacts and puts them into your wheel.

Examples

Fast inter-process communication through shared memory

Fast inter-process communication through shared memory

blazing-fast inter-process communication through shared memory, enabling Python objects to be shared across processes with exceptional efficiency. By minimizing the need for frequent serialization-deserialization, it enhances overall speed and responsiveness. The package offers a comprehensive suite of functionalities designed to support a diverse array of Python types and facilitate asynchronous IPC, optimizing performance for demanding applications.

Throughput GiB/s

Dict increments per second

from cengal.hardware.memory.shared_memory import *
from cengal.parallel_execution.asyncio.ashared_memory_manager import *

Key Features

  • Shared Memory Communication:

    • Enables sharing of Python objects directly between processes using shared memory.
    • Utilizes a linked list of global messages to inform connected processes about new shared objects.
  • Lock-Free Synchronization:

    • Uses memory barriers for efficient communication, avoiding slow syscalls.
    • Ensures each process can access and modify shared memory without contention.
  • Supported Python Types:

    • Handles various Python data structures including:
      • Basic types: None, bool, 64-bit int, large int (arbitrary precision integers), float, complex, bytes, bytearray, str.
      • Standard types: Decimal, slice, datetime, timedelta, timezone, date, time
      • Containers: tuple, list, classes inherited from: AbstractSet (frozenset), MutableSet (set), Mapping and MutableMapping (dict).
      • Pickable classes instancess: custom classes including dataclass
    • Allows mutable containers (lists, sets, mappings) to save basic types (None, bool, 64 bit int, float) internally, optimizing memory use and speed.
  • NumPy and Torch Support:

    • Supports numpy arrays by creating shared bytes objects coupled with independent arrays.
    • Supports torch tensors by coupling them with shared numpy arrays.
  • Custom Class Support:

    • Projects pickable custom classes instancess (including dataclasses) onto shared dictionaries in shared memory.
    • Modifies the class instance to override attribute access methods, managing data fields within the shared dictionary.
    • supports classes with or without __dict__ attr
    • supports classes with or without __slots__ attr
  • Asyncio Compatibility:

    • Provides a wrapper module for async-await functionality, integrating seamlessly with asyncio.
    • Ensures asynchronous operations work smoothly with the package's lock-free approach.

Docs

Readme.md

Examples

Performance Benchmark results

Throughput

Approach sync/async Throughput GiB/s
InterProcessPyObjects (sync) sync 3.770
InterProcessPyObjects + uvloop async 3.222
InterProcessPyObjects + asyncio async 3.079
multiprocessing.shared_memory sync 2.685
uvloop.UnixDomainSockets async 0.966
asyncio + cengal.Streams async 0.942
uvloop.Streams async 0.922
asyncio.Streams async 0.784
asyncio.UnixDomainSockets async 0.708
multiprocessing.Queue sync 0.669
multiprocessing.Pipe sync 0.469

Shared Dict Performance

Approach increments/s
InterProcessPyObjects - IntEnumListStruct 1189730
InterProcessPyObjects - Dataclass 143091
UltraDict 76214
InterProcessPyObjects - Dict 44285
shared_memory_dict 42862
multiprocessing.Manager - dict 2751

Todo

  • Connect more than two processes
  • Use third-party fast hashing implementations instead of or in addition to built in hash() call
  • Continuous performance improvements
Concurrent Execution of blocking CPU-Bound and GUI Tasks on a Single Thread

Concurrent Execution of blocking CPU-Bound and GUI Tasks on a Single Thread

Cengal offers a unique and powerful feature that allows you to execute a diverse set of tasks concurrently on a single thread, effectively managing CPU-bound and GUI-related operations without introducing the complexity of multithreading or multiprocessing. Notably, Cengal can convert blocking CPU-bound functions into proper asynchronous coroutines, preventing them from blocking the thread for extended periods.

Examples

In this example, an application concurrently (at the same time) executes all of the following components within a single thread:

  • own blocking CPU-bound function
  • third-party blocking CPU-bound function
  • Tkinter application
  • CustomTkinter application
  • asyncio-based file reading task.

YouTube Showcase

Watch the video

Source code

Tutorial

Async LMDB database API

Async LMDB database API

An example of usage (unit test of the module):

Async logging into LMDB database

Async logging into LMDB database

Developer can observe their logs in runtime using cengal.parallel_execution.coroutines.coro_tools.loop_administration.admin_tk module (made with Async Tkinter GUI):

An example of usage of the admin_tk:

Alternatively, developer can load logs in off-line mode using Log Viewer application (made with async Tkinter GUI):

Async Tkinter and Customtkinter

Async Tkinter and Customtkinter

Async wxPython

Async wxPython

Async QT (PySide, PySide2, PySide6, PyQt4, PyQt5, PyQt6)

Async QT (PySide, PySide2, PySide6, PyQt4, PyQt5, PyQt6)

Async PyTermGUI

Async PyTermGUI

Wrapper for Netti (reliable UDP connection library for games in Nim)

Wrapper for Netti (reliable UDP connection library for games in Nim)

Transparent background for your desktop applications (TBA)

Transparent background for your desktop applications (TBA)

  • Target OS: Windows 11, Windows 10, Windows 8, Windows 7, Windows Vista.
  • Target frameworks: PySide, PyQt, Kivy, PyWebView

title , title

Tkinter True Borderless apps for Windows platform (TBA)

Tkinter True Borderless apps for Windows platform (TBA)

  • Target OS: Windows 11, Windows 10, Windows 8, Windows 7, Windows Vista.
  • Target frameworks: CustomTkinter, Tkinter, ttkbootstrap, ...

title

Cengal Coroutines and Asyncio Administration and Monitoring Page

Cengal Coroutines and Asyncio Administration and Monitoring Page

Observe loop performance, services state and coroutines list with details. Use an async interactive console in order to interact with your application from inside.

YouTube Showcase

Watch the video

Examples

admin_test.py

Modules with unique functionality

Unique modules List (was not updated for some time)
  • "parallel_execution"
    • "coroutines" - asynchronous loop with almost preemptive multitasking within the single thread. Brings an async approach to an unmodified Tkinter, Qt, Kivy, etc. Unlike asyncio/trio/curio, it uses microkernel (services-based) approach which makes it highly- and easily-expandable. Can be executed both independently (asyncio/uvloop loop will be injected within the Cengal-coroutine when needed) and within already executed asyncio/uvloop loop. Can be used from the PyScript for the Web app creation.
      • "coro_standard_services" - set of standard services. You can replace standard service by yours for your app or for third-party module without code changes: by registering your own alias.
        • "loop_yield" - automatically kinda yield from your loops from time to time (priority based). Can be used to make a proper coroutine (which will not hangs on its endless loops) even from the long-running CPU-hungry third-party function (by function's bytecode modification made in runtime).
        • "tkinter" - make your Tkninter app async easily. Run any number of asynchronous Tkinter apps in single thread.
        • "db" - async wrapper around LMDB which provides an appropriate async API
        • "asyncio_loop" - use asyncio-based code directly from your async Cengal-coroutine neither Trio nor Curio able to to do this
        • "wait_coro" - 'put_atomic' request is an analogue of Trio's Nurseries for list of one or more coroutines; 'put_fastest' - returns when at least N of coroutines from the list were done successfully; etc.
        • "read_write_locker" - sync primitive usefull for DB creation (was made for a TagDB)
        • "remote_nodes" - in progress - connect to any opened listener/port of the node (TCP/UDP/Unix_Socket - doesn't matter), and identify your receiver by name (defined once - during the connection creation process). Uses improved version of the asyncio.streams as a backend in order to have a back pressure and an improved performance (see "efficient_streams" module description below).
      • "coro_tools" - tools
        • "await_coro" - await Cengal-coroutine or await for a call to the Cengal-service from your asyncio code
        • "low_latency" - use standard json module from your coroutines without hangs on huge Json-data (which usually hung even fast json implementation like orjson)
      • "integrations" -
        • "Qt" - wrapper around an unmodified Qt (supports: PySide, PySide2, PySide6, PyQt4, PyQt5, PyQt6). Adds asynchronous behavior to Slots. Doesn't require total reimplementation of your Qt app unlike other suggestions and competitors.
        • "customtkinter" - wrapper around an unmodified customtkinter. Implements an additional call, Customtkinter async apps needs to be executed for a proper work
        • "nicegui" - wrapper around an unmodified NiceGUI. Execute nicegui instance from within your code (administrative page for example). Build your pages in an asynchronous way in order to improve your server latency (NiceGUI makes it in a sync way).
        • "uvicorn" - wrapper around an unmodified uvicorn. Run uvicorn as a usual asyncio coroutine.
        • "uvloop" - an easy-install for a uvloop (if available).
        • "PyTermGUI" - wrapper around an unmodified PyTermGUI. Adds asynchronous behavior. No competitors currently.
    • "asyncio" - tools for an asyncio
      • "efficient_streams" - more efficient remake of an asyncion.streams. Better available traffic limits utilisation. Less kerner-calls number. Back pressure. Unlike asyncio, UDP version is planned but is not ready yet.
  • "code_flow_control" -
    • "python_bytecode_manipulator" - modify your or third-party Python function's code in runtime easily
    • "chained_flow" - easy to use monad. Execute your your code if all/none/some of steps were completed withot an exceptions. Use all/none/some resutls of your steps at the final part of monad execution.
    • "multiinterface_essence" - Make your model and add different interfaces to it easily. Can be used for example in games: create "chair", "ball", "person" models and add to them your library of general interfaces like "touch", "push", "sit", "shot", "burn", "wet", etc.
  • "hardware" - hardware related
    • "memory" - RAM related
      • "barriers" - fast full memory barriers for both x86/x64 and ARM (Windows, Linux, OS X, iOS, Android).
  • "time_management" -
    • "high_precision_sync_sleep" - provides an ability to put your thread into legetimate sleep for at least 10x smaller time period than time.sleep() from the Python's Standard Library able to do on same Operating System: uses nanosleep() on Linux and periodic SwitchToThread() on Windows.
    • "cpu_clock_cycles" - Returnes value of RDTSCP on x86/x86_64 or CNTVCT_EL0 on ARM. Fast implementation: 6-12 times faster than all other competitors on Github. Note: CPU Time Stamp Counter (TSC) is not depends on actual current CPU frequency in modern CPUs (starting from around year 2007) so can be safely used as a high precision clock (see time_management.cpu_clock module). Windows, Linux and other Operating Systems are using it internaly.
    • "cpu_clock" - like perf_counter() but 25% faster. Supports both x86/x86_64 and ARM. cpu_clock is slightly faster than cpu_clock_cycles because double (float in Python terms) transfered from C-code to Python code more efficiently than 64-bit int (which needs an addition internal logic inside the Python itself for conversion). Highest-precision possible since it is CPU Time Stamp Counter based which is not depends on actual current CPU frequency in modern CPUs (starting from around year 2007) so can be safely used as a high precision clock (and Windows, Linux and other Operating Systems are using it internaly in this way). Benchmark: cpu_clock_test.py

Some Other modules

Other modules List (was not updated for some time)
  • "parallel_execution"
    • "coroutines" -
      • "coro_tools" - tools
        • "wait_coro" - decorate your coroutine in order to be able to execute it from the plain sunc code as a sync function
        • "run_in_loop" - serves the same purpose as an asyncio.run() call
        • "prepare_loop" - creates and returns loop. You may use it later
    • "asyncio" - tools for an asyncio
      • "run_loop" - similar to asyncio.run() but ends only when all background tasks will be finished (main coro can be finished long before this moment).
      • "timed_yield" - simple (dum-dum but faster) version of the "loop_yield" (see above) but made directly for an asyncio.
  • "bulk_pip_actions" - install lists of required modules. Lists can be different for a different operating systems
  • "code_inspection" -
    • "auto_line_tracer" - smart and easy to use line logger (current func name, file, lines numbers, surrounding code)
    • "line_tracer" - - easy to use line logger (current func name, file, line number)
    • "line_profiling" - confinient work with a line_profiler if available
  • "data_containers" - usefull data containers like stack, fast fifo, etc. Some of them are highly optimized for speed
  • "data_manipulation" -
    • "conversion" -
      • "bit_cast_like" - similar to std::bit_cast from C++
      • "reinterpret_cast" - similar to reinterpret_cast from C++. You have a third-party object and you want to change its type (and behavior) in runtime.
    • "serialization" - automatically choose a fastest appropriate serializer for your type and structure of data (json, simplejson, ujson, ojson, msgpack, cbor, cbor2, marshal, pickle, cloudpickle, ...)
    • "tree_traversal" - both recrsive and nonrecursive tree traversal algorithms
  • "ctypes_tools" - ctypes code and structures used by Cengal.
    • "tools" - ctypes tools usefull for your code
  • "file_system" - normalized relative path, etc.
    • "app_fs_structure" - unified list of the default app directories (data, cache, temp, etc.) recommended by OS (Linux, Windows, Mac OS X) in a runtime for a given application name or a service name. Results are cached. Cache size can be modified in runtime.
  • "hardware" - hardware related
    • "info" - hardware info
      • "cpu" - normalized results from cpuinfo extended with an info from psutil.
  • "introspection" -
    • "inspect" - find out function parameters, entity owners list (method -> subclass -> class -> module), entitie's own properties (excluding parent's properties), etc.
    • "third_party" -
      • "ctypes" - provice an instance of ctypes Structure and take a dict with all internals of this structure. Good for inspecting/logging/printing values of a given structure with all values of all its substructures.
  • "io" -
    • "used_ports" - database of known TCP/UDP ports. Updates from an appropriate Wikipedia page once per Cengal release but you can update if for your self anytime if you want to.
    • "serve_free_ports" - provide ports range with an interested port types set and receive number of the first open appropriate port on your machine within given port range.
    • "named_connections_manager" - base for the "remote_nodes" (see above) and similar entities
    • "net_io" - an experimental networking library with an expandable architecture. Has implemented modules for epoll and select.
  • "math" -
    • "algebra" -
      • "fast_algorithms" - Fast inverse square root (the one from Quake III) implemented efficiently
    • "geometry" -
      • "ellipse" - ellipse related. Also several algorithms for precisely or efficiently compute an ellipse perimeter
      • "point" - numpy (if available) or python implementation of points (1D, 2D, 3D, nD)
      • "vector" - numpy (if available) or python algotithms on vectors (1D, 2D, 3D, nD). Implements CoordinateVectorNd, VectorNd, DirectedGraphNd
  • "modules_management" - reload module, import drop-in-replacement module if an original is not available
  • "statistics" -
    • "normal_distribution" - compute the normal distribution of your data. Booth count or use a formula. 99, 95, 68; standard_deviation: diff_mean, sqrt(variance), max_deviation, min_deviation.
  • "text_processing" - text parsing, patching, detect BOM and encoding
  • "time_management" -
    • "timer" - timer for any synchronous code
    • "sleep_tools" - sleep for a production code. Using usual sleep you may get not wat you want if you are not really into your target OS internals (Windows/Linux)
    • "repeat_for_a_time" - measures code/function executions per second. But it smart and eficiently repeats target code/function not N times but up to a T seconds. Results to a high precision measurements for even smallest and fastest pieces of code.
    • "relative_time" - time related module for a business purposes (calendars, payments, etc.)
  • "unittest" -
    • "patcher" - set of context manager for monkey patching builtins or other entities
  • "user_interface" -
    • "gui" -
      • "nt" -
        • "blur_behind" - Turn on Aero Glass backgrownd in Winndows 7, 10, 11 using documented or undocumented API (which one is available)
        • "dpi_awareness" - Turn on DPI awareness
  • "web_tools" -
    • "detect_browsers_host_device_type" -
      • "by_http_user_agent" - detects is it mobile or tablet device by analizing its http user_agent string

Size of the Cengal library

At the moment of 19 Mar 2024:

Around 200 modules

-------------------------------------------------------------------------------
Language                     files          blank        comment           code
-------------------------------------------------------------------------------
Python                         751          23696          30083          77396
Cython                          10            727            472           1892
C                                2             39             26            163
C/C++ Header                     2             14             26             37
Go                               3             19             37             88
Nim                              2             14              6             36
-------------------------------------------------------------------------------
SUM:                           770          24509          30650          79612
-------------------------------------------------------------------------------

Counted with cloc util.

Unittest coverage

At the moment of 2 Apr 2024:

Linux:

Stmts   Miss  Cover
41576  25826    38%

Examples

Examples locations
  • Can be found in examples dir
  • Each module has a development folder. Examples are usually placed there
  • Some of old examples can be fined inside the tests dir.

Cengal.coroutines examples

Text processing example

Ensures and updates copyright (with dates) in each Cengal's source file

Build from sources

Build instructions

Install and add the required folders to PATH (the list of folders to add is provided either on the corresponding web pages or in the installers' output):

Linux, macOS:

git clone https://github.com/FI-Mihej/Cengal.git
cd ./Cengal
./prepare__setup.sh
./install_in_dev_mode.sh

Windows:

For compilation with Visual Studio (recommended), use Developer Command Prompt for VS xxxx terminal (or an appropriate profile in Terminal App). Different Python version require different Visual Studio versions.

git clone https://github.com/FI-Mihej/Cengal.git
cd .\Cengal
.\prepare__setup.cmd
.\prepare_visual_studio_terminal.cmd
.\install_in_dev_mode.cmd

prepare_visual_studio_terminal.cmd - Optional. Switches the terminal and Python interpreter to Unicode mode during the package build process, and sets Visual Studio to English language mode. This ensures that text output by Visual Studio utilities (such as error messages) remains readable even on non-English setups.

Windows native:

  • At least Visual Studio Community - Build Tools are installed on your Windows and you are installing Cengal from within its Developer Command Prompt for an appropriate target CPU architecture (x64 Native Tools Command Prompt for VS 2022 for example). Make sure that you have compatible version of Visual Studio for your target CPython interpreter (see python -VV command output. For example Python 3.9.11 (tags/v3.9.11:2de452f, Mar 16 2022, 14:33:45) [MSC v.1929 64 bit (AMD64)]: this python interpreter requires Visual Studio 2019 version 16.11.2+ according to 1929 word search in Wikipedia page)
  • Nim installed (Optional). For Windows with Visual Studio compiler: replace cc = gcc with cc = vcc in config\nim.cfg (in Nim installation dir).
  • Go installed (Optional)

Windows + Linux under WSL:

  • GCC/Clang is installed in your Linux/WSL (sudo apt-get --yes install build-essential for Ubuntu. And ./before_install_on_wsl.sh for Ubuntu under WSL for UI like Tkinter or Qt if you are using some kind of XServer on your host Windows)
  • Nim installed (Optional).
  • Go installed (Optional)

Projects using Cengal

  • CengalPolyBuild - A Comprehensive and Hackable Build System for Multilingual Python Packages: Cython (including automatic conversion from Python to Cython), C/C++, Objective-C, Go, and Nim, with ongoing expansions to include additional languages. (Planned to be released soon)
  • InterProcessPyObjects - High-performance package delivers blazing-fast inter-process communication through shared memory, enabling Python objects to be shared across processes with exceptional efficiency.
  • cengal_app_dir_path_finder - A Python module offering a unified API for easy retrieval of OS-specific application directories, enhancing data management across Windows, Linux, and macOS
  • cengal_cpu_info - Extended, cached CPU info with consistent output format.
  • cengal_memory_barriers - Fast crossplatform memory barriers for Python.
  • flet_async - wrapper which makes Flet async and brings booth Cengal.coroutines and asyncio to Flet (Flutter based UI)
  • justpy_containers - wrapper around JustPy in order to bring more security and more production-needed features to JustPy (VueJS based UI)
  • Bensbach - decompiler from Unreal Engine 3 bytecode to a Lisp-like script and compiler back to Unreal Engine 3 bytecode. Made for a game modding purposes
  • Realistic-Damage-Model-mod-for-Long-War - Mod for both the original XCOM:EW and the mod Long War. Was made with a Bensbach, which was made with Cengal
  • SmartCATaloguer.com - TagDB based catalog of images (tags), music albums (genre tags) and apps (categories)

License

Copyright © 2012-2026 ButenkoMS. All rights reserved.

Licensed under the Apache License, Version 2.0.

Metadata

Release files for cengal-light 5.0.1

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

Built distributions (wheels)

Table of built distributions (wheels) for cengal-light 5.0.1
File
cengal_light-5.0.1-pp311-pypy311_pp73-win_amd64.whl PyPy 3.11 PyPy 3.11 7.3 Windows x86-64 Details
cengal_light-5.0.1-pp311-pypy311_pp73-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl PyPy 3.11 PyPy 3.11 7.3 Linux glibc 2.17+ x86-64, Linux glibc 2.28+ x86-64 Details
cengal_light-5.0.1-pp311-pypy311_pp73-macosx_26_0_arm64.whl PyPy 3.11 PyPy 3.11 7.3 macOS 26.0+ ARM64 Details
cengal_light-5.0.1-pp310-pypy310_pp73-win_amd64.whl PyPy 3.10 PyPy 3.10 7.3 Windows x86-64 Details
cengal_light-5.0.1-pp310-pypy310_pp73-macosx_26_0_arm64.whl PyPy 3.10 PyPy 3.10 7.3 macOS 26.0+ ARM64 Details
cengal_light-5.0.1-pp39-pypy39_pp73-win_amd64.whl PyPy 3.9 PyPy 3.9 7.3 Windows x86-64 Details
cengal_light-5.0.1-pp39-pypy39_pp73-macosx_26_0_arm64.whl PyPy 3.9 PyPy 3.9 7.3 macOS 26.0+ ARM64 Details
cengal_light-5.0.1-pp38-pypy38_pp73-macosx_26_0_arm64.whl PyPy 3.8 PyPy 3.8 7.3 macOS 26.0+ ARM64 Details
cengal_light-5.0.1-cp315-cp315-win_amd64.whl CPython 3.15 CPython 3.15 Windows x86-64 Details
cengal_light-5.0.1-cp315-cp315-musllinux_1_2_x86_64.whl CPython 3.15 CPython 3.15 Linux musl 1.2+ x86-64 Details
cengal_light-5.0.1-cp315-cp315-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl CPython 3.15 CPython 3.15 Linux glibc 2.17+ x86-64, Linux glibc 2.28+ x86-64 Details
cengal_light-5.0.1-cp315-cp315-macosx_26_0_arm64.whl CPython 3.15 CPython 3.15 macOS 26.0+ ARM64 Details
cengal_light-5.0.1-cp314-cp314-win_amd64.whl CPython 3.14 CPython 3.14 Windows x86-64 Details
cengal_light-5.0.1-cp314-cp314-musllinux_1_2_x86_64.whl CPython 3.14 CPython 3.14 Linux musl 1.2+ x86-64 Details
cengal_light-5.0.1-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl CPython 3.14 CPython 3.14 Linux glibc 2.28+ x86-64, Linux glibc 2.17+ x86-64 Details
cengal_light-5.0.1-cp314-cp314-macosx_26_0_arm64.whl CPython 3.14 CPython 3.14 macOS 26.0+ ARM64 Details
cengal_light-5.0.1-cp313-cp313-win_amd64.whl CPython 3.13 CPython 3.13 Windows x86-64 Details
cengal_light-5.0.1-cp313-cp313-musllinux_1_2_x86_64.whl CPython 3.13 CPython 3.13 Linux musl 1.2+ x86-64 Details
cengal_light-5.0.1-cp313-cp313-musllinux_1_1_x86_64.whl CPython 3.13 CPython 3.13 Linux musl 1.1+ x86-64 Details
cengal_light-5.0.1-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl CPython 3.13 CPython 3.13 Linux glibc 2.17+ x86-64, Linux glibc 2.28+ x86-64 Details
cengal_light-5.0.1-cp313-cp313-macosx_26_0_arm64.whl CPython 3.13 CPython 3.13 macOS 26.0+ ARM64 Details
cengal_light-5.0.1-cp312-cp312-win_amd64.whl CPython 3.12 CPython 3.12 Windows x86-64 Details
cengal_light-5.0.1-cp312-cp312-musllinux_1_2_x86_64.whl CPython 3.12 CPython 3.12 Linux musl 1.2+ x86-64 Details
cengal_light-5.0.1-cp312-cp312-musllinux_1_1_x86_64.whl CPython 3.12 CPython 3.12 Linux musl 1.1+ x86-64 Details
cengal_light-5.0.1-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl CPython 3.12 CPython 3.12 Linux glibc 2.17+ x86-64, Linux glibc 2.28+ x86-64 Details
cengal_light-5.0.1-cp312-cp312-macosx_26_0_arm64.whl CPython 3.12 CPython 3.12 macOS 26.0+ ARM64 Details
cengal_light-5.0.1-cp311-cp311-win_amd64.whl CPython 3.11 CPython 3.11 Windows x86-64 Details
cengal_light-5.0.1-cp311-cp311-musllinux_1_2_x86_64.whl CPython 3.11 CPython 3.11 Linux musl 1.2+ x86-64 Details
cengal_light-5.0.1-cp311-cp311-musllinux_1_1_x86_64.whl CPython 3.11 CPython 3.11 Linux musl 1.1+ x86-64 Details
cengal_light-5.0.1-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl CPython 3.11 CPython 3.11 Linux glibc 2.17+ x86-64, Linux glibc 2.28+ x86-64 Details
cengal_light-5.0.1-cp311-cp311-macosx_26_0_arm64.whl CPython 3.11 CPython 3.11 macOS 26.0+ ARM64 Details
cengal_light-5.0.1-cp310-cp310-win_amd64.whl CPython 3.10 CPython 3.10 Windows x86-64 Details
cengal_light-5.0.1-cp310-cp310-musllinux_1_2_x86_64.whl CPython 3.10 CPython 3.10 Linux musl 1.2+ x86-64 Details
cengal_light-5.0.1-cp310-cp310-musllinux_1_1_x86_64.whl CPython 3.10 CPython 3.10 Linux musl 1.1+ x86-64 Details
cengal_light-5.0.1-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl CPython 3.10 CPython 3.10 Linux glibc 2.28+ x86-64, Linux glibc 2.17+ x86-64 Details
cengal_light-5.0.1-cp310-cp310-macosx_26_0_arm64.whl CPython 3.10 CPython 3.10 macOS 26.0+ ARM64 Details
cengal_light-5.0.1-cp39-cp39-win_amd64.whl CPython 3.9 CPython 3.9 Windows x86-64 Details
cengal_light-5.0.1-cp39-cp39-musllinux_1_2_x86_64.whl CPython 3.9 CPython 3.9 Linux musl 1.2+ x86-64 Details
cengal_light-5.0.1-cp39-cp39-musllinux_1_1_x86_64.whl CPython 3.9 CPython 3.9 Linux musl 1.1+ x86-64 Details
cengal_light-5.0.1-cp39-cp39-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl CPython 3.9 CPython 3.9 Linux glibc 2.28+ x86-64, Linux glibc 2.17+ x86-64 Details
cengal_light-5.0.1-cp38-cp38-win_amd64.whl CPython 3.8 CPython 3.8 Windows x86-64 Details
cengal_light-5.0.1-cp38-cp38-musllinux_1_1_x86_64.whl CPython 3.8 CPython 3.8 Linux musl 1.1+ x86-64 Details

Total release size: 222.0 MB

Release files / cengal_light-5.0.1-pp311-pypy311_pp73-win_amd64.whl

Download URL cengal_light-5.0.1-pp311-pypy311_pp73-win_amd64.whl
Size 4.7 MB
Tags PyPy 3.11 PyPy 3.11 7.3 Windows x86-64
SHA-256 checksum
How to use checksums
263d3a2c38a1a2eaf7f738df6a0eac88e0c37aba9712e8b3096070b616aa164d
BLAKE2b-256 checksum
How to use checksums
2770f2f5baf26a3e8d5b86d3ad6422d4dfdf08b2c34fb0c82565bcd10a5f7ea4
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.14.6

Release files / cengal_light-5.0.1-pp311-pypy311_pp73-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl

Download URL cengal_light-5.0.1-pp311-pypy311_pp73-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
Size 5.0 MB
Tags Linux glibc 2.17+ x86-64 Linux glibc 2.28+ x86-64 PyPy 3.11 PyPy 3.11 7.3
SHA-256 checksum
How to use checksums
6e54a0ccdeec57e94935a61615cbd5c25f3732deafeef81a68c047c141ade29a
BLAKE2b-256 checksum
How to use checksums
8bede4fdf02c7df6d11bdab403130eb532bfc37c648ca9ef1ccb335842b46c41
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.12.3

Release files / cengal_light-5.0.1-pp311-pypy311_pp73-macosx_26_0_arm64.whl

Download URL cengal_light-5.0.1-pp311-pypy311_pp73-macosx_26_0_arm64.whl
Size 4.7 MB
Tags PyPy 3.11 PyPy 3.11 7.3 macOS 26.0+ ARM64
SHA-256 checksum
How to use checksums
55af0d2db037ec093d9ab5a6d5baa08c5e50abcd837a276e81d975d1d272f25d
BLAKE2b-256 checksum
How to use checksums
c2fd76529e59f9f8a5c87890e5afb26fac70bb3fc4bbe0343bd0910e62fd5c15
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.14.3

Release files / cengal_light-5.0.1-pp310-pypy310_pp73-win_amd64.whl

Download URL cengal_light-5.0.1-pp310-pypy310_pp73-win_amd64.whl
Size 4.6 MB
Tags PyPy 3.10 PyPy 3.10 7.3 Windows x86-64
SHA-256 checksum
How to use checksums
8c56c0e210a94760e7c83ac9ef96d3f77b15f94bc6454870e776c45efed2cb2f
BLAKE2b-256 checksum
How to use checksums
be02fa1c283baa6e0c54a636b2c439a3eac9cbf660ed0709cd7e373151b08a9f
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.14.6

Release files / cengal_light-5.0.1-pp310-pypy310_pp73-macosx_26_0_arm64.whl

Download URL cengal_light-5.0.1-pp310-pypy310_pp73-macosx_26_0_arm64.whl
Size 4.7 MB
Tags PyPy 3.10 PyPy 3.10 7.3 macOS 26.0+ ARM64
SHA-256 checksum
How to use checksums
3a7cf05f7268a3495b913e752c70c35a38ece42c0048916b3c9603255c744be1
BLAKE2b-256 checksum
How to use checksums
c2e0be35c119ff0a3eaecb0452e6c220eb941c13884dab258c1044bd6136fde5
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.14.3

Release files / cengal_light-5.0.1-pp39-pypy39_pp73-win_amd64.whl

Download URL cengal_light-5.0.1-pp39-pypy39_pp73-win_amd64.whl
Size 4.6 MB
Tags PyPy 3.9 PyPy 3.9 7.3 Windows x86-64
SHA-256 checksum
How to use checksums
58abee8e4862e069a4db0868d05a83119f6542db43d956a57c7993e75d4f73e7
BLAKE2b-256 checksum
How to use checksums
1a848ed14b829d85d8713b0d690aa898e3a67820929a3347ca6c12b1263a59ff
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.14.6

Release files / cengal_light-5.0.1-pp39-pypy39_pp73-macosx_26_0_arm64.whl

Download URL cengal_light-5.0.1-pp39-pypy39_pp73-macosx_26_0_arm64.whl
Size 4.7 MB
Tags PyPy 3.9 PyPy 3.9 7.3 macOS 26.0+ ARM64
SHA-256 checksum
How to use checksums
b53f98f6a73c2a158537181fe4e2c6f62ea8af93134007187a2282efb45e8471
BLAKE2b-256 checksum
How to use checksums
2a7da44f97673367fc2a73e48bff7aeadb93685d4f998a5af9c2351e25fa3d36
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.14.3

Release files / cengal_light-5.0.1-pp38-pypy38_pp73-macosx_26_0_arm64.whl

Download URL cengal_light-5.0.1-pp38-pypy38_pp73-macosx_26_0_arm64.whl
Size 4.6 MB
Tags PyPy 3.8 PyPy 3.8 7.3 macOS 26.0+ ARM64
SHA-256 checksum
How to use checksums
4d4c5a14a00ac5e9d76a0a296b743da177989bf68b920cc591f4258b8cf004c1
BLAKE2b-256 checksum
How to use checksums
27325394776a04d46ec0646a1561ecc93c01cdd796c831296f53922a840d8b2a
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.14.3

Release files / cengal_light-5.0.1-cp315-cp315-win_amd64.whl

Download URL cengal_light-5.0.1-cp315-cp315-win_amd64.whl
Size 4.3 MB
Tags CPython 3.15 Windows x86-64
SHA-256 checksum
How to use checksums
369f4b2f9975ea3de1381565d211835098a99073eef7c58c42beeb65d64facdd
BLAKE2b-256 checksum
How to use checksums
b0d71a7eef17895d658b16dec8ab7de85b396f71690d9b78444a223ee9e3d55a
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.14.6

Release files / cengal_light-5.0.1-cp315-cp315-musllinux_1_2_x86_64.whl

Download URL cengal_light-5.0.1-cp315-cp315-musllinux_1_2_x86_64.whl
Size 5.3 MB
Tags CPython 3.15 Linux musl 1.2+ x86-64
SHA-256 checksum
How to use checksums
edf89ea8eb53ba918e243b42c4b55ef917c41f7f12e89f88918fa1d26c55637d
BLAKE2b-256 checksum
How to use checksums
33659d5ce3e3b04be40a944d71a85f8ca7db0056235904bf0740938f2d31cb5f
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.12.3

Release files / cengal_light-5.0.1-cp315-cp315-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl

Download URL cengal_light-5.0.1-cp315-cp315-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
Size 5.2 MB
Tags CPython 3.15 Linux glibc 2.17+ x86-64 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
c30405a6f12a5ebdc9017b476a9c156b6318ce74ac68341f26dbbbc8260d8f94
BLAKE2b-256 checksum
How to use checksums
2491439b5de79bc4ecbd51d438b0b7eedaeaa20ab06202a2cf28adfff24b1c9d
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.12.3

Release files / cengal_light-5.0.1-cp315-cp315-macosx_26_0_arm64.whl

Download URL cengal_light-5.0.1-cp315-cp315-macosx_26_0_arm64.whl
Size 5.0 MB
Tags CPython 3.15 macOS 26.0+ ARM64
SHA-256 checksum
How to use checksums
e435fe6f9fa2eb3484f1572c0dba8c791e9f5677fddc03130b6dbf425f589cbd
BLAKE2b-256 checksum
How to use checksums
e17909138422c3c7d3e88fc2e8e3b105a8989ba3d3eeeda34941dddd01f2f5f0
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.14.3

Release files / cengal_light-5.0.1-cp314-cp314-win_amd64.whl

Download URL cengal_light-5.0.1-cp314-cp314-win_amd64.whl
Size 4.3 MB
Tags CPython 3.14 Windows x86-64
SHA-256 checksum
How to use checksums
34aa90261697083d1087039a3142f5fda99ebc98d5dc2e4bbc132388341d5c83
BLAKE2b-256 checksum
How to use checksums
704f6e059bbddb4bcb628a72f169990d60e8709076dd4e342740ba60899c3013
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.14.6

Release files / cengal_light-5.0.1-cp314-cp314-musllinux_1_2_x86_64.whl

Download URL cengal_light-5.0.1-cp314-cp314-musllinux_1_2_x86_64.whl
Size 5.3 MB
Tags CPython 3.14 Linux musl 1.2+ x86-64
SHA-256 checksum
How to use checksums
787f0b15104fe917acd78a99768ee5d7673ec2d0551160f0aa0855e259a82829
BLAKE2b-256 checksum
How to use checksums
669ee07bbb9afe0c79199733709b316f2c9334a3ba9999f04a4574b5449d7f80
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.12.3

Release files / cengal_light-5.0.1-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl

Download URL cengal_light-5.0.1-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
Size 5.2 MB
Tags CPython 3.14 Linux glibc 2.17+ x86-64 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
a613a26d1db80a9eedd014f9f8deb0652228b8b4e590466d0c4db1e5525104bc
BLAKE2b-256 checksum
How to use checksums
08e76858e1904d7567f33b18e149d25000fc32d2f914bc61475fbfcf68fbf743
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.12.3

Release files / cengal_light-5.0.1-cp314-cp314-macosx_26_0_arm64.whl

Download URL cengal_light-5.0.1-cp314-cp314-macosx_26_0_arm64.whl
Size 4.9 MB
Tags CPython 3.14 macOS 26.0+ ARM64
SHA-256 checksum
How to use checksums
ef6adb3a970b4fb5f25ae83653f39256f17ba08a3f718f261abcdf4c117e6ac9
BLAKE2b-256 checksum
How to use checksums
52411d9a9395814cd589bc78743d3ffec06f06c5bd6629b3b69ee4355959c343
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.14.3

Release files / cengal_light-5.0.1-cp313-cp313-win_amd64.whl

Download URL cengal_light-5.0.1-cp313-cp313-win_amd64.whl
Size 4.3 MB
Tags CPython 3.13 Windows x86-64
SHA-256 checksum
How to use checksums
b4f0d7d5fee60c92e1e04cf900212972129725c54fc24c7add597b00d9517a55
BLAKE2b-256 checksum
How to use checksums
9fe834ed78bc6c59afe834b9652b24ebfcb1977f790c07810a79f4e0fb7da63e
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.14.6

Release files / cengal_light-5.0.1-cp313-cp313-musllinux_1_2_x86_64.whl

Download URL cengal_light-5.0.1-cp313-cp313-musllinux_1_2_x86_64.whl
Size 5.3 MB
Tags CPython 3.13 Linux musl 1.2+ x86-64
SHA-256 checksum
How to use checksums
602e2a027fdeeb81a30a07d76b1a2a4d70d747d0462b7cfcb5227c495a756f7a
BLAKE2b-256 checksum
How to use checksums
714cb84ddd846216903b0317c6c8b35d2bf4e395abee702962462cbe16647cbe
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.12.3

Release files / cengal_light-5.0.1-cp313-cp313-musllinux_1_1_x86_64.whl

Download URL cengal_light-5.0.1-cp313-cp313-musllinux_1_1_x86_64.whl
Size 5.3 MB
Tags CPython 3.13 Linux musl 1.1+ x86-64
SHA-256 checksum
How to use checksums
ac63ec8a6edb242d9c75134d2a62ab35e0e47faca099f8f5bc061b3c3d5f9ae8
BLAKE2b-256 checksum
How to use checksums
632de21f3d7ff58f55904496dc38e67610c4276432e15a3433a2f55e12507895
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.12.3

Release files / cengal_light-5.0.1-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl

Download URL cengal_light-5.0.1-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
Size 5.2 MB
Tags CPython 3.13 Linux glibc 2.17+ x86-64 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
568796d5cbc5c479ece878686e867fa0ea443656e8b4b1c9a98ee10e1fb4168f
BLAKE2b-256 checksum
How to use checksums
441625816a91002d5f1c443f35be2a35bf5b9fef8b8e686dc96b73d7b3712996
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.12.3

Release files / cengal_light-5.0.1-cp313-cp313-macosx_26_0_arm64.whl

Download URL cengal_light-5.0.1-cp313-cp313-macosx_26_0_arm64.whl
Size 5.0 MB
Tags CPython 3.13 macOS 26.0+ ARM64
SHA-256 checksum
How to use checksums
878ae9890c258bf4f773c055dff30bdbf8d532e4e71fb9a360fd6338765e2577
BLAKE2b-256 checksum
How to use checksums
a9bd306cd587dfa48b917ab9e9039f968d2f50b572e1150b3acaa688e3bcf7d3
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.14.3

Release files / cengal_light-5.0.1-cp312-cp312-win_amd64.whl

Download URL cengal_light-5.0.1-cp312-cp312-win_amd64.whl
Size 6.9 MB
Tags CPython 3.12 Windows x86-64
SHA-256 checksum
How to use checksums
1054de950892c6213775141b2b46c612e431c6d0760f0c038c79ef03fd61430e
BLAKE2b-256 checksum
How to use checksums
67acb0e7799ecc0585870ee56a4f1357c5d086d40807aba1a818d7ca04cd944b
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.14.6

Release files / cengal_light-5.0.1-cp312-cp312-musllinux_1_2_x86_64.whl

Download URL cengal_light-5.0.1-cp312-cp312-musllinux_1_2_x86_64.whl
Size 5.3 MB
Tags CPython 3.12 Linux musl 1.2+ x86-64
SHA-256 checksum
How to use checksums
d5730ea852bc527fcaa075745ed1591c41065129bd6a0e54379ce4b50a0a7bd8
BLAKE2b-256 checksum
How to use checksums
3e4d425db9d678cda53d330e1a124b8d2f852c6dc9bc7d71fbdd7cd1aa0de8a1
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.12.3

Release files / cengal_light-5.0.1-cp312-cp312-musllinux_1_1_x86_64.whl

Download URL cengal_light-5.0.1-cp312-cp312-musllinux_1_1_x86_64.whl
Size 5.3 MB
Tags CPython 3.12 Linux musl 1.1+ x86-64
SHA-256 checksum
How to use checksums
2442b3bcb614d74d7e7c8e5aeb70092cf0deab1ebbb9d1b546711992d0fa33c4
BLAKE2b-256 checksum
How to use checksums
e9024f19e75b3564b67940f7168b8344f9c2961e4a17d76db6d21caabcc2ca4a
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.12.3

Release files / cengal_light-5.0.1-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl

Download URL cengal_light-5.0.1-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
Size 5.2 MB
Tags CPython 3.12 Linux glibc 2.17+ x86-64 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
bb94c887fbf67b8c580e7c1d581aded2b4facef67588234198de1bcd7ad87589
BLAKE2b-256 checksum
How to use checksums
c95bb674a346d0dd3387292b46690124ac28c53b8fb9455e4a273135552f2bac
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.12.3

Release files / cengal_light-5.0.1-cp312-cp312-macosx_26_0_arm64.whl

Download URL cengal_light-5.0.1-cp312-cp312-macosx_26_0_arm64.whl
Size 5.0 MB
Tags CPython 3.12 macOS 26.0+ ARM64
SHA-256 checksum
How to use checksums
4c2bb8e9b7ab22801a1be1d683c826135dff67e08b187f8fadb42a4d914331a8
BLAKE2b-256 checksum
How to use checksums
c007b461015c2b31381018565f25eeea572dd8b415c6f7b6df2d46604b8fdacc
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.14.3

Release files / cengal_light-5.0.1-cp311-cp311-win_amd64.whl

Download URL cengal_light-5.0.1-cp311-cp311-win_amd64.whl
Size 5.6 MB
Tags CPython 3.11 Windows x86-64
SHA-256 checksum
How to use checksums
d9bd113a9e43b255825286f47cc40be084d6132a8ce137282453f4ff741aef68
BLAKE2b-256 checksum
How to use checksums
882c5da111332ef9255031a8ca83cd1a811137f429ac9dd691102b7867eb2d6e
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.14.6

Release files / cengal_light-5.0.1-cp311-cp311-musllinux_1_2_x86_64.whl

Download URL cengal_light-5.0.1-cp311-cp311-musllinux_1_2_x86_64.whl
Size 5.2 MB
Tags CPython 3.11 Linux musl 1.2+ x86-64
SHA-256 checksum
How to use checksums
50a77d58ba0b1d36adb2c312cf0f7a2d2ab2417fa9fa8738062a5e501285f52f
BLAKE2b-256 checksum
How to use checksums
27ff263efe9449101829df19f25785f0a3192bc69fab837fbe8ababc3c320c49
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.12.3

Release files / cengal_light-5.0.1-cp311-cp311-musllinux_1_1_x86_64.whl

Download URL cengal_light-5.0.1-cp311-cp311-musllinux_1_1_x86_64.whl
Size 5.2 MB
Tags CPython 3.11 Linux musl 1.1+ x86-64
SHA-256 checksum
How to use checksums
0c45fa1460b2c302045c38859429054fe01b8f25cad61abcd437133c8ec3878c
BLAKE2b-256 checksum
How to use checksums
c2f3db7d233bb23b26ef2ed937479eec7ffec7cc1a6a7ceca19c383edce83190
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.12.3

Release files / cengal_light-5.0.1-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl

Download URL cengal_light-5.0.1-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
Size 5.1 MB
Tags CPython 3.11 Linux glibc 2.17+ x86-64 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
efb8fa4c0cf995fb4f4a8327b9739a1bfe992f6b84e801d0cb5d5010ca8f94d6
BLAKE2b-256 checksum
How to use checksums
d87073a87e762f14b352ec4c5f7b3080f37cfe401cbccece745d4bbab941478f
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.12.3

Release files / cengal_light-5.0.1-cp311-cp311-macosx_26_0_arm64.whl

Download URL cengal_light-5.0.1-cp311-cp311-macosx_26_0_arm64.whl
Size 4.9 MB
Tags CPython 3.11 macOS 26.0+ ARM64
SHA-256 checksum
How to use checksums
e0e1967be34c24f0fc59b74fa0ede6966485191794b7147ca22f5e5d1fafe79b
BLAKE2b-256 checksum
How to use checksums
9f72d315c700add9b9b9ed70acf1ef5f42c610dfd868d500d2aa6d5e285e110e
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.14.3

Release files / cengal_light-5.0.1-cp310-cp310-win_amd64.whl

Download URL cengal_light-5.0.1-cp310-cp310-win_amd64.whl
Size 8.2 MB
Tags CPython 3.10 Windows x86-64
SHA-256 checksum
How to use checksums
e359b780d17c57b9b7c4d6e01862f0b6801ab803e662d06efb16ebea79157c07
BLAKE2b-256 checksum
How to use checksums
ac83f9e392ad7d51d42e57a9d17533011edd7be22d101d5115bfc80c210b0f73
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.14.6

Release files / cengal_light-5.0.1-cp310-cp310-musllinux_1_2_x86_64.whl

Download URL cengal_light-5.0.1-cp310-cp310-musllinux_1_2_x86_64.whl
Size 5.2 MB
Tags CPython 3.10 Linux musl 1.2+ x86-64
SHA-256 checksum
How to use checksums
fd43f80d30ee6fd6487545d825b4b351f3fd02e16d00e88eb396dfd85f04de1e
BLAKE2b-256 checksum
How to use checksums
92e1b05c88bfa1a9876b75f0c673d689d507bdc56ee697e9356aef3bc29294c4
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.12.3

Release files / cengal_light-5.0.1-cp310-cp310-musllinux_1_1_x86_64.whl

Download URL cengal_light-5.0.1-cp310-cp310-musllinux_1_1_x86_64.whl
Size 5.2 MB
Tags CPython 3.10 Linux musl 1.1+ x86-64
SHA-256 checksum
How to use checksums
51b427401e7bca7d8adc46e3bb3287e6eadb6dfa0dfcf083435dc4a783d79de6
BLAKE2b-256 checksum
How to use checksums
73f4a9c2ef858296073bbf741c0a9289f8fea81a6626cee9aeb638efbf801ed3
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.12.3

Release files / cengal_light-5.0.1-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl

Download URL cengal_light-5.0.1-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
Size 5.2 MB
Tags CPython 3.10 Linux glibc 2.17+ x86-64 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
20ad645805c0816c652dc479492dbb2370b37ceba8450f69424c3e10596c98a3
BLAKE2b-256 checksum
How to use checksums
a94faaa44582b5686ba5602c36f0dbe911fef2d2f56d87a1ff593c765b47097b
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.12.3

Release files / cengal_light-5.0.1-cp310-cp310-macosx_26_0_arm64.whl

Download URL cengal_light-5.0.1-cp310-cp310-macosx_26_0_arm64.whl
Size 4.9 MB
Tags CPython 3.10 macOS 26.0+ ARM64
SHA-256 checksum
How to use checksums
46fdf3c51f3a827da0639aae8d4c0ca63a14c8493dcb82239af881f5b40bfb72
BLAKE2b-256 checksum
How to use checksums
920be8ec819b8c4e2dd2c19c51d634b8470cd916f72a3a9752a3a089b1ec5579
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.14.3

Release files / cengal_light-5.0.1-cp39-cp39-win_amd64.whl

Download URL cengal_light-5.0.1-cp39-cp39-win_amd64.whl
Size 6.9 MB
Tags CPython 3.9 Windows x86-64
SHA-256 checksum
How to use checksums
67ee281047c0263f262bca507fa9164426f11112587b81de63d64d84f3d5ccf0
BLAKE2b-256 checksum
How to use checksums
a32ed8846774acb359a39457c935e0f259238d5e15afe4e02e52d6eb04523a25
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.14.6

Release files / cengal_light-5.0.1-cp39-cp39-musllinux_1_2_x86_64.whl

Download URL cengal_light-5.0.1-cp39-cp39-musllinux_1_2_x86_64.whl
Size 5.2 MB
Tags CPython 3.9 Linux musl 1.2+ x86-64
SHA-256 checksum
How to use checksums
b4405f290471a10856f8a8749a995f449ac395a3a2eeb23fddf4a0de81aeb7be
BLAKE2b-256 checksum
How to use checksums
2aa40b4b638c7ca97541c84c65771a7613b19c5f728361a95a46e0d48bb602cd
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.12.3

Release files / cengal_light-5.0.1-cp39-cp39-musllinux_1_1_x86_64.whl

Download URL cengal_light-5.0.1-cp39-cp39-musllinux_1_1_x86_64.whl
Size 5.2 MB
Tags CPython 3.9 Linux musl 1.1+ x86-64
SHA-256 checksum
How to use checksums
500e9525c2403793299cf7c2fcb9a550ac90eacfeea0c22b53337259e0c9b5b5
BLAKE2b-256 checksum
How to use checksums
0edd4c195f8c9087cd6c18f041cb0d97b3a236ca26931d95c3dadceb223f3304
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.12.3

Release files / cengal_light-5.0.1-cp39-cp39-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl

Download URL cengal_light-5.0.1-cp39-cp39-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
Size 5.2 MB
Tags CPython 3.9 Linux glibc 2.17+ x86-64 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
46807f0ccd11d3710a3ec6cff6e8f87a14106daf0d3696fb0d787fae3d15ee54
BLAKE2b-256 checksum
How to use checksums
5e9d8914bf54ead706f7901e18c4ea71e069181c7e884b9363e909e3e41fc4a3
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.12.3

Release files / cengal_light-5.0.1-cp38-cp38-win_amd64.whl

Download URL cengal_light-5.0.1-cp38-cp38-win_amd64.whl
Size 5.6 MB
Tags CPython 3.8 Windows x86-64
SHA-256 checksum
How to use checksums
a438e0d2b4325260a238eb1a77e2c1c30d8ff93983e888ef8f75e857d2be7fd4
BLAKE2b-256 checksum
How to use checksums
6435a6065e9a21fc0c3afa34d97bc8489a87089f0d9803f0504672774f0ccaba
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.14.6

Release files / cengal_light-5.0.1-cp38-cp38-musllinux_1_1_x86_64.whl

Download URL cengal_light-5.0.1-cp38-cp38-musllinux_1_1_x86_64.whl
Size 9.6 MB
Tags CPython 3.8 Linux musl 1.1+ x86-64
SHA-256 checksum
How to use checksums
e46b47df7ac7e2807049f8f958122059223898930d6fa89821235378eb0c3460
BLAKE2b-256 checksum
How to use checksums
ab44e0da5fb4fe2331245e90bb4e676197bb235bc858f6069145a393903fc259
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.12.3

Security for cengal-light 5.0.1

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