Skip to main content

flexablelib

Fast, dependency-free terminal tables — and optional packages for full terminal apps.
54 border styles · ANSI colours · cell merges · decimal alignment · width fitting · CSV / Markdown / HTML / Excel / LaTeX I/O · grids · 80+ terminal components · C-accelerated frames

PyPI version Python versions Tests Downloads per month Development status License: MIT Typed


flexablelib turns rows and columns into readable tables for terminals, logs, reports and docs. It has no runtime dependencies, ships prebuilt wheels with an optional C speed-up, and is covered by 3,900+ tests on Python 3.8 – 3.14 (Linux, Windows, macOS).

Since 3.3.0 the same library builds complete interactive terminal applications: keyboard focus, key bindings, dialogs, notifications, 80+ ready-made components (inputs, dates, tables, forms, menus, charts, dialogs) and optional C code that computes each interface frame. All of it is opt-in; pip install flexablelib stays a single dependency-free package.

A rounded flexablelib table built in a few lines, with its output

Install

pip install flexablelib — the core: tables, cards, grids, widgets. No dependencies.

Extra Brings For
flexablelib[tui] flexablelib-tui interactive apps: App, keyboard input on Linux, macOS and Windows, focus, key bindings, dialogs, notifications, Live diff redraw
flexablelib[components] flexablelib-components (+ tui) 80+ terminal components: inputs, dates, tables, forms, navigation, dialogs, charts
flexablelib[speed] flexablelib-speedups C code for interface frames: cutting, padding, borders and frame diffs
flexablelib[pandas], [excel], [html] pandas, openpyxl, lxml readers and writers
flexablelib[all] everything above

Quote the extras in shells that expand brackets: pip install "flexablelib[tui,components,speed]". Details: docs/INSTALL.md.

Checking which C backends are live

Terminal applications

A complete back-office terminal app: sidebar, KPI cards, line chart, activity timeline and orders table

examples/admin.py is a complete back-office app built only with flexablelib: AppShell (sidebar, top bar, pages), Stat cards, a braille LineChart, a Timeline, a DataTable bound to a FilterBar (estado:pagado total>5000), forms with validation, a command palette (Ctrl-K), dialogs and notifications. Run it with python examples/admin.py; --frame 120x36 --keys "tab,down,enter" prints a single frame instead (that is how these images are made).

A table and a form side by side in an App, driven by keys

Keyboard and focus — Tab, arrows, Enter, modal dialogs
Six frames of keyboard navigation
Forms — required fields, validators, masks, notifications
A form with validation errors and a success notification
Filter and sort — estado:pagado total>5000, keys 1–9 sort
Orders filtered and sorted
Narrow terminals — the sidebar hides, cards reflow
The same app at 80 and 64 columns
Command palette and help
Command palette and help dialog
No colour — zero escape sequences, same layout
The app without colour

Components

flexablelib[components] adds 80+ components, each rendered at any width, in colour or plain text: the full list, what each does and its keys is in docs/COMPONENTS.md.

Inputs — text, password, numbers, money, masks, expressions, JSON, scanners, choices, colours, files
Input components
Dates and times — calendar, date, time, week, month, ranges, timer
Date components
Display — badges, alerts, code, Markdown, HTML, timelines, steps, stats, charts
Display components
Navigation — tabs, menus, sidebar, wizard, tree, command palette, app shell
Navigation components
Data — interactive table, filters, editable table, catalog, forms, login
Data components
Dialogs — modal, confirm, prompt, loading, popover
Dialog components

Speed

Milliseconds per frame without C, with the core C measurement and with the C frame code

Every frame of an interface is re-laid out and diffed against the previous one; only changed lines are written. flexablelib[speed] moves the per-line work (measuring, cutting, padding, border junctions, the diff) to C: a full back-office screen at 160×48 takes 0.47 ms (2,100 fps) instead of 6.4 ms in pure Python. Results are identical with and without C — the test suite checks both on random input — and FLEXABLELIB_FRAMES=python switches the C code off. Method and numbers: docs/ACCELERATION.md.

30-second quickstart

The image at the top is the whole program. Numbers align on the decimal point, colours never break alignment, and the same table exports anywhere:

Markdown and CSV exports of a table

Styles — 54 presets, from ascii_rows to borderless
Several border styles
Themes — table.apply_theme("ocean")
Theme presets
Text on borders — table.border_text("Production", where="top")
Labels written into the table frame
Cell merges — table.merge_cells(0, 0, last_row=1)
Vertically merged cells
Zebra rows, footer, caption
Striped rows with a footer and caption
Decimal alignment — floats and scientific notation
Numbers aligned on the decimal point

More: all 54 styles · wrapping and ellipsis overflow · per-column / per-cell colour and alignment · vertical alignment · paginate() · stream() for live rows · transpose() · nested tables · fit_terminal() · hide_columns · sort_by · Roman / custom index.

How it compares

A factual feature matrix from our survey of 89 table libraries. A dash means the feature was not found in that library's documentation during the survey, not a claim that it is impossible there.

flexablelib tabulate prettytable rich
Runtime dependencies none none wcwidth markdown-it-py, pygments
Border style presets 54 many tablefmt — (hrules/vrules toggles) box styles
Decimal-point alignment ✓ ✓ — —
Row and column cell merges ✓ — — —
ANSI colours (header, rows, cells, borders) ✓ — — ✓
Zebra rows / caption / footer ✓ — — ✓
Text written on borders ✓ — — —
Wrap / truncate / ellipsis overflow ✓ — max width ✓
Sorting, pagination ✓ — ✓ —
Exports CSV, MD, HTML, Excel, RST, AsciiDoc, LaTeX HTML, LaTeX, MD, RST, org, jira, … HTML, CSV, JSON, LaTeX — (console)
Readers CSV, Markdown, HTML, dicts, pandas, Excel — CSV, DB cursor, HTML —
Nested tables ✓ — — ✓ (renderables)

rich is a full terminal-rendering toolkit (markup, live displays, progress bars) and tabulate covers many more markup dialects; pick flexablelib when you want a dependency-free, table-focused library with styling, merges and I/O in one place.

Production notes

  • Zero runtime dependencies. Readers/writers that need a third-party package (pandas, openpyxl, lxml) are opt-in extras and imported lazily.
  • Performance. Rendering 10,000 rows × 6 columns takes ~157 ms with the C extension (~172 ms pure Python), on par with prettytable, ~1.3× faster than tabulate and ~18× faster than rich's table. pandas to_string() is faster still (~85 ms). Full method and numbers: docs/BENCHMARKS.md.
  • Wheels. Prebuilt for CPython 3.8 – 3.14 on Linux (manylinux, musllinux), Windows x64 and macOS arm64, for both flexablelib and flexablelib-speedups. Anywhere else it builds from source or falls back to pure Python — installation never fails for want of a compiler. from flexablelib.fast import implementation; implementation() tells you which backend is live.
  • Colour safety. Escape sequences are emitted only to a TTY by default, never when NO_COLOR is set; FORCE_COLOR or table.use_colors = True overrides. Logs and files stay clean.
  • Unicode. Widths are measured in terminal columns, so CJK, emoji and coloured text stay aligned.
  • Windows. Box-drawing styles need a UTF-8 console (chcp 65001 or PYTHONUTF8=1; Windows Terminal is usually UTF-8 already). ASCII styles (ascii_rows, ascii_double_underline_rows, psql, markdown, …) work on any code page.
  • Typed. Ships py.typed (PEP 561).
  • Stability. flexablelib follows semantic versioning: within 3.x, public Table attributes and methods are not removed or renamed without a deprecation period; new features arrive in minor/patch releases and every release is listed in the CHANGELOG.
  • Support. Bugs and requests: issues. Security reports: SECURITY.md. Contributions: CONTRIBUTING.md.

Windows console encoding

Box-drawing styles need a UTF-8 console: run chcp 65001 and set PYTHONUTF8=1 (PowerShell: $env:PYTHONUTF8=1). Windows Terminal is usually UTF-8 already. The terminal packages enable virtual-terminal output on Windows consoles themselves.

Guide

Usage

Creating a table is simple. An empty table has no data, so it only draws its frame; a table with columns but no rows — a query that came back empty — shows its headers rather than raising:

An empty table and a table with headers only

Data can be added as columns or rows, or alternating each one. Any untitled column is named automatically.

Adding columns

Rows with line breaks

The table formats new lines and data types automatically, without trying to parse strings that could be converted to another type.

The Table class offers options for showing the index of each row, changing the style, hiding the headers, and more. See all styles here. The missing value aligns as if it were of the same type as the other data in the column, and the row and column counts ignore the index column (the internal counts include it):

Index column, double_horizontal style and missing values

Changed in 2.3.0: an explicit None is a missing cell, just like a padding gap or table.missing. It displays missing_value (blank by default), not the text "None". Use the string "None" if you want that literal text. This applies to printing, compose(), pagination, streaming, and transposition in every style.

Missing cells do not turn numeric columns into text: numeric alignment and the decimal axis are preserved, and overflow='wrap' does not split floats because a column contains None. Raw rows and exports still represent gaps as None; rendering Table(rows=table.rows) reproduces the same cells (copy headers and display settings too if you changed them).

None displayed as a missing cell

See missing-cell semantics for migration details.

Colour

Colour the header, the borders, whole columns, whole rows, or individual cells. Specs accept names, attributes, 256-colour indexes and hex triples. color_rule receives the original value, so numeric comparisons work directly.

Header, border, column and rule-based colours

Colour is emitted only to a terminal by default, and never when NO_COLOR is set. FORCE_COLOR or table.use_colors = True overrides that. Because compose() returns a string you may send anywhere, the default errs toward not embedding escape sequences in something bound for a file.

Widths are measured in terminal columns, not characters, so coloured cells and CJK or emoji data stay aligned.

Reading and writing

Readers: Table.from_csv, from_html (standard library parser), from_dicts, from_markdown, from_pandas (flexablelib[pandas]) and from_excel (flexablelib[excel]). Writers: to_csv, to_markdown, to_html (one self-contained file with inline sorting, filtering and pagination that works offline), to_rst, to_asciidoc, to_latex, to_excel and to_records.

Since 2.2.0 every export writes the table as print(table) shows it: rows in sort_by order (with sort_reverse and callables), row_filter applied, hide_columns left out, and the text formats hold the formatted strings — float_format, int_format, leading_zeros, custom_format, strip_cells — without padding or colour. Empty cells are empty strings.

Sorted, filtered and formatted Markdown export and records

to_records() keeps the stored Python values (numbers stay numbers, gaps are None) in display order; to_records(formatted=True) gives the printed strings. to_excel() writes numbers as numbers and turns simple format specs (',d', '.2f', '.1%', '{:,.2f}'…) into the cell's Excel number format.

Text formats deliver everything as strings, and a column of strings is left-aligned. table.parse_str_numbers = True converts numeric-looking text so it aligns as numbers; the readers turn it on for you. Values with leading zeros are left alone, so '007' stays a string.

table.rows is a copy of the stored data, in insertion order and with None in empty cells (sorting, filtering and formats do not touch it), so editing it does not change the table. Use add_row and set_cell(row, column, value) instead (column is a position or a header; table.missing empties a cell).

Merging cells

Render a rectangular block as a single cell, across columns, down rows, or both. Coordinates are inclusive, zero-based, and ignore the index column.

A vertical merge and a horizontal Total merge

A merge never widens the table — columns are still sized by their unmerged content — so text longer than its span is truncated.

Cards, grids, responsive tables and terminal layouts

Card draws one record in a frame, in any of the table styles. The title goes into the top border when the style draws one; field_columns=2 (or 'auto') lays the fields out as tiles and actions adds [ Action ] chips:

Two cards

Cards take style_name, theme (the table themes), border_color, title_color, label_color, value_colors, color (a background for the whole card), zebra, panel and shadow.

table.render(width) makes a table responsive: the normal table when it fits, without its low-priority columns next, squeezed and wrapped after that, and one card per row when nothing else fits. width defaults to max_width, then the terminal width; responsive=True makes print(table) do the same.

The same table at 64, 46 and 30 columns

Grid places cards, tables, text and other grids in columns that reflow with the width. Since 3.3.0 a cell can be pinned with row= and column=; empty slots are closed in bordered grids (fill_gaps=False keeps them open), and to_cards() carries merged cells into every card they cover.

A grid of cards and a grid with pinned cells

A grid can size its columns (12, 'auto', '2fr', '30%', bounds, or one layout per width), span rows, share one border with proper junctions and a title per cell, and fill an exact height. Widgets — ProgressBar, Sparkline, BarChart, StatusBar, KeyHints, LogView, Text, Rule — drop into it, Screen pins a header and footer to the terminal's edges and Live redraws in place:

A bordered terminal layout with a menu, a progress bar, a sparkline and a log

A whole dashboard with a sidebar, KPI cards, a coloured table with merges, bars, sparklines and a log: examples/dashboard.py (python examples/dashboard.py --live 10). More in docs/LAYOUT.md.

Notes

  • A column named "i" does not collide with the index column (utils.IndexColumnTitle).
  • Exponential numbers align on the decimal / exponent axis with the rest of the float column.
  • Shrinking a float column drops decimals instead of chopping characters, so decimal alignment survives a terminal fit (#23).

Open work and the issue map: docs/ISSUES.md.

Project layout

  • flexablelib/ — the core package (no runtime dependencies): table.py (the Table class), layout.py (Card, Grid, GridCell), _frames.py (frame primitives, C or Python), columns.py, cells.py, table_strings.py, style_compositions.py (the 54 styles, as data), text_width.py / fast.py (terminal-width measurement, C or Python), readers and writers.
  • packages/tui/ — flexablelib-tui: widgets, Screen, Live, App, keyboard input.
  • packages/components/ — flexablelib-components: the terminal components.
  • packages/speedups/ — flexablelib-speedups: the C frame code.
  • examples/ — dashboard.py, admin.py.
  • tests/ — the pytest suite; tools/ — benchmarks and generators; docs/ — guides and images.
  • ARCHITECTURE.md — how it all fits together; style_examples.md — all 54 styles; package.json — the canonical version number.

Running the test suite

See ARCHITECTURE.md for the rendering pipeline, how styles are defined, and how to add one.

Metadata

Release files for flexablelib 3.3.1

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

Source distribution (sdist)

Source distribution for flexablelib 3.3.1
File Size Uploaded Provenance Actions
flexablelib-3.3.1.tar.gz 358.6 kB Without provenance Details for flexablelib-3.3.1.tar.gz

Built distributions (wheels)

Table of built distributions (wheels) for flexablelib 3.3.1
File Actions
flexablelib-3.3.1-cp314-cp314-win_amd64.whl CPython 3.14 CPython 3.14 Windows x86-64 Details for flexablelib-3.3.1-cp314-cp314-win_amd64.whl
flexablelib-3.3.1-cp314-cp314-musllinux_1_2_x86_64.whl CPython 3.14 CPython 3.14 Linux musl 1.2+ x86-64 Details for flexablelib-3.3.1-cp314-cp314-musllinux_1_2_x86_64.whl
flexablelib-3.3.1-cp314-cp314-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl CPython 3.14 CPython 3.14 Linux glibc 2.5+ x86-64, Linux glibc 2.28+ x86-64 Details for flexablelib-3.3.1-cp314-cp314-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl
flexablelib-3.3.1-cp314-cp314-macosx_11_0_arm64.whl CPython 3.14 CPython 3.14 macOS 11.0+ ARM64 Details for flexablelib-3.3.1-cp314-cp314-macosx_11_0_arm64.whl
flexablelib-3.3.1-cp313-cp313-win_amd64.whl CPython 3.13 CPython 3.13 Windows x86-64 Details for flexablelib-3.3.1-cp313-cp313-win_amd64.whl
flexablelib-3.3.1-cp313-cp313-musllinux_1_2_x86_64.whl CPython 3.13 CPython 3.13 Linux musl 1.2+ x86-64 Details for flexablelib-3.3.1-cp313-cp313-musllinux_1_2_x86_64.whl
flexablelib-3.3.1-cp313-cp313-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl CPython 3.13 CPython 3.13 Linux glibc 2.5+ x86-64, Linux glibc 2.28+ x86-64 Details for flexablelib-3.3.1-cp313-cp313-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl
flexablelib-3.3.1-cp313-cp313-macosx_11_0_arm64.whl CPython 3.13 CPython 3.13 macOS 11.0+ ARM64 Details for flexablelib-3.3.1-cp313-cp313-macosx_11_0_arm64.whl
flexablelib-3.3.1-cp312-cp312-win_amd64.whl CPython 3.12 CPython 3.12 Windows x86-64 Details for flexablelib-3.3.1-cp312-cp312-win_amd64.whl
flexablelib-3.3.1-cp312-cp312-musllinux_1_2_x86_64.whl CPython 3.12 CPython 3.12 Linux musl 1.2+ x86-64 Details for flexablelib-3.3.1-cp312-cp312-musllinux_1_2_x86_64.whl
flexablelib-3.3.1-cp312-cp312-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl CPython 3.12 CPython 3.12 Linux glibc 2.28+ x86-64, Linux glibc 2.5+ x86-64 Details for flexablelib-3.3.1-cp312-cp312-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl
flexablelib-3.3.1-cp312-cp312-macosx_11_0_arm64.whl CPython 3.12 CPython 3.12 macOS 11.0+ ARM64 Details for flexablelib-3.3.1-cp312-cp312-macosx_11_0_arm64.whl
flexablelib-3.3.1-cp311-cp311-win_amd64.whl CPython 3.11 CPython 3.11 Windows x86-64 Details for flexablelib-3.3.1-cp311-cp311-win_amd64.whl
flexablelib-3.3.1-cp311-cp311-musllinux_1_2_x86_64.whl CPython 3.11 CPython 3.11 Linux musl 1.2+ x86-64 Details for flexablelib-3.3.1-cp311-cp311-musllinux_1_2_x86_64.whl
flexablelib-3.3.1-cp311-cp311-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl CPython 3.11 CPython 3.11 Linux glibc 2.5+ x86-64, Linux glibc 2.28+ x86-64 Details for flexablelib-3.3.1-cp311-cp311-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl
flexablelib-3.3.1-cp311-cp311-macosx_11_0_arm64.whl CPython 3.11 CPython 3.11 macOS 11.0+ ARM64 Details for flexablelib-3.3.1-cp311-cp311-macosx_11_0_arm64.whl
flexablelib-3.3.1-cp310-cp310-win_amd64.whl CPython 3.10 CPython 3.10 Windows x86-64 Details for flexablelib-3.3.1-cp310-cp310-win_amd64.whl
flexablelib-3.3.1-cp310-cp310-musllinux_1_2_x86_64.whl CPython 3.10 CPython 3.10 Linux musl 1.2+ x86-64 Details for flexablelib-3.3.1-cp310-cp310-musllinux_1_2_x86_64.whl
flexablelib-3.3.1-cp310-cp310-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl CPython 3.10 CPython 3.10 Linux glibc 2.28+ x86-64, Linux glibc 2.5+ x86-64 Details for flexablelib-3.3.1-cp310-cp310-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl
flexablelib-3.3.1-cp310-cp310-macosx_11_0_arm64.whl CPython 3.10 CPython 3.10 macOS 11.0+ ARM64 Details for flexablelib-3.3.1-cp310-cp310-macosx_11_0_arm64.whl
flexablelib-3.3.1-cp39-cp39-win_amd64.whl CPython 3.9 CPython 3.9 Windows x86-64 Details for flexablelib-3.3.1-cp39-cp39-win_amd64.whl
flexablelib-3.3.1-cp39-cp39-musllinux_1_2_x86_64.whl CPython 3.9 CPython 3.9 Linux musl 1.2+ x86-64 Details for flexablelib-3.3.1-cp39-cp39-musllinux_1_2_x86_64.whl
flexablelib-3.3.1-cp39-cp39-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl CPython 3.9 CPython 3.9 Linux glibc 2.5+ x86-64, Linux glibc 2.28+ x86-64 Details for flexablelib-3.3.1-cp39-cp39-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl
flexablelib-3.3.1-cp39-cp39-macosx_11_0_arm64.whl CPython 3.9 CPython 3.9 macOS 11.0+ ARM64 Details for flexablelib-3.3.1-cp39-cp39-macosx_11_0_arm64.whl
flexablelib-3.3.1-cp38-cp38-win_amd64.whl CPython 3.8 CPython 3.8 Windows x86-64 Details for flexablelib-3.3.1-cp38-cp38-win_amd64.whl
flexablelib-3.3.1-cp38-cp38-musllinux_1_2_x86_64.whl CPython 3.8 CPython 3.8 Linux musl 1.2+ x86-64 Details for flexablelib-3.3.1-cp38-cp38-musllinux_1_2_x86_64.whl
flexablelib-3.3.1-cp38-cp38-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl CPython 3.8 CPython 3.8 Linux glibc 2.28+ x86-64, Linux glibc 2.5+ x86-64 Details for flexablelib-3.3.1-cp38-cp38-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl
flexablelib-3.3.1-cp38-cp38-macosx_11_0_arm64.whl CPython 3.8 CPython 3.8 macOS 11.0+ ARM64 Details for flexablelib-3.3.1-cp38-cp38-macosx_11_0_arm64.whl

Total release size: 6.1 MB

Release files / flexablelib-3.3.1.tar.gz

Download URL flexablelib-3.3.1.tar.gz
Size 358.6 kB
Tags Source
SHA-256 checksum
How to use checksums
714ca6f181d4f8f53fd4808806c6a9eabb9fa4e34dee24a2b482dbc0d71a7574
BLAKE2b-256 checksum
How to use checksums
799f5ee12ef5d959c0812d609b9dfcd4b25cdfc3ab4352395a9a5e951a1a8ecd
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.16

Release files / flexablelib-3.3.1-cp314-cp314-win_amd64.whl

Download URL flexablelib-3.3.1-cp314-cp314-win_amd64.whl
Size 201.4 kB
Tags CPython 3.14 Windows x86-64
SHA-256 checksum
How to use checksums
4de9136445261ecbe1e04584be9a8995dc761158499ac32ed7d042bd6c064d80
BLAKE2b-256 checksum
How to use checksums
598445430d9aeef376e1c3dc40620413837d293dcd4fcaba17d79b1ea0d60127
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.16

Release files / flexablelib-3.3.1-cp314-cp314-musllinux_1_2_x86_64.whl

Download URL flexablelib-3.3.1-cp314-cp314-musllinux_1_2_x86_64.whl
Size 213.4 kB
Tags CPython 3.14 Linux musl 1.2+ x86-64
SHA-256 checksum
How to use checksums
369b3ea78d962c95e8b94d6c1062bb27cb6e97b51efdf7ff049293230c80c1a5
BLAKE2b-256 checksum
How to use checksums
fd0efaa156768aad47f81478789ecebe8dfde48817f8f0820432f5245fa548d8
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.16

Release files / flexablelib-3.3.1-cp314-cp314-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl

Download URL flexablelib-3.3.1-cp314-cp314-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl
Size 213.8 kB
Tags CPython 3.14 Linux glibc 2.28+ x86-64 Linux glibc 2.5+ x86-64
SHA-256 checksum
How to use checksums
8ebc8a821273f4e61f905b0445490c08df321596ca1dc503c4f070d9783318fe
BLAKE2b-256 checksum
How to use checksums
39101cf7fbee8228b90103a76aef04602a49c056246e6ec8e31e2eab875bac0c
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.16

Release files / flexablelib-3.3.1-cp314-cp314-macosx_11_0_arm64.whl

Download URL flexablelib-3.3.1-cp314-cp314-macosx_11_0_arm64.whl
Size 196.9 kB
Tags CPython 3.14 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
6bac4e30c4e2d2b0d607145744629f248f0e81115bc9b3d2fcd2c358e7ebafbf
BLAKE2b-256 checksum
How to use checksums
86d4edd3051b29457323e9b47626e0c277d6b2da799f574f085727448de1bf6a
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.16

Release files / flexablelib-3.3.1-cp313-cp313-win_amd64.whl

Download URL flexablelib-3.3.1-cp313-cp313-win_amd64.whl
Size 199.8 kB
Tags CPython 3.13 Windows x86-64
SHA-256 checksum
How to use checksums
af3debc98793e448d8a3714fe51efc4b5c6a4fe6919b6250a677e505bbe08674
BLAKE2b-256 checksum
How to use checksums
f7b99689e3c31a05f6b8c50434f3c0532319466f4a33c9e3fd5ab71126875d81
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.16

Release files / flexablelib-3.3.1-cp313-cp313-musllinux_1_2_x86_64.whl

Download URL flexablelib-3.3.1-cp313-cp313-musllinux_1_2_x86_64.whl
Size 213.4 kB
Tags CPython 3.13 Linux musl 1.2+ x86-64
SHA-256 checksum
How to use checksums
a6510873030db539c5393b75f12da57cc80aeb382d5e792ecb8ba3dc89d30766
BLAKE2b-256 checksum
How to use checksums
4571d2233469a8c0118cffe6aa3ef420d661772a41f70e70fdda77decd186e46
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.16

Release files / flexablelib-3.3.1-cp313-cp313-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl

Download URL flexablelib-3.3.1-cp313-cp313-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl
Size 213.8 kB
Tags CPython 3.13 Linux glibc 2.28+ x86-64 Linux glibc 2.5+ x86-64
SHA-256 checksum
How to use checksums
acce9e11ea45236918729ab1a281986cef022661f436fc74cb3e626141c4968c
BLAKE2b-256 checksum
How to use checksums
840c7563c96938fd08b6adbfea449efc6aefb6f74f4524020cf99b8ccff4f1c2
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.16

Release files / flexablelib-3.3.1-cp313-cp313-macosx_11_0_arm64.whl

Download URL flexablelib-3.3.1-cp313-cp313-macosx_11_0_arm64.whl
Size 196.9 kB
Tags CPython 3.13 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
635c96b4c569777f934d18720b6c33f8449440881145595b540286c6fdf2e888
BLAKE2b-256 checksum
How to use checksums
7fb3abf79211c170e247c2b897288002c7f8b03f2ffbf226f8ea71de1bbfe879
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.16

Release files / flexablelib-3.3.1-cp312-cp312-win_amd64.whl

Download URL flexablelib-3.3.1-cp312-cp312-win_amd64.whl
Size 199.8 kB
Tags CPython 3.12 Windows x86-64
SHA-256 checksum
How to use checksums
9524122e535cc55520ed74d221b0044940cf91ee56e44e565f8e85d266cc72fb
BLAKE2b-256 checksum
How to use checksums
c8f5d66313406fca269a34e10b303ba4afa7178104282284d2c4dbca192cd036
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.16

Release files / flexablelib-3.3.1-cp312-cp312-musllinux_1_2_x86_64.whl

Download URL flexablelib-3.3.1-cp312-cp312-musllinux_1_2_x86_64.whl
Size 213.3 kB
Tags CPython 3.12 Linux musl 1.2+ x86-64
SHA-256 checksum
How to use checksums
b8b45a68336df18ee8db101c8fd7e5361b9e2ce42db8c7612d180205ff493be6
BLAKE2b-256 checksum
How to use checksums
43cf76f96261d85d78415ea80834446756cc905022fc13cd8699aff5afd7b00b
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.16

Release files / flexablelib-3.3.1-cp312-cp312-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl

Download URL flexablelib-3.3.1-cp312-cp312-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl
Size 213.8 kB
Tags CPython 3.12 Linux glibc 2.28+ x86-64 Linux glibc 2.5+ x86-64
SHA-256 checksum
How to use checksums
01ab9d42f0d15913954a65c56201541286daf5cd7c0dfdf7bf029f8ea3c0bdca
BLAKE2b-256 checksum
How to use checksums
70b39359a495f2480eaec680f0ac36fb72db268a05455266f01f490b1001396c
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.16

Release files / flexablelib-3.3.1-cp312-cp312-macosx_11_0_arm64.whl

Download URL flexablelib-3.3.1-cp312-cp312-macosx_11_0_arm64.whl
Size 196.9 kB
Tags CPython 3.12 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
b6b7595a06c77a1e67b5f1e516bb52f621124f4ead501946799eec311ff269b5
BLAKE2b-256 checksum
How to use checksums
300b3c34e021bd2fa5d87f7cdf8d7ba861569d9fadd6ca5946243abce61afd60
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.16

Release files / flexablelib-3.3.1-cp311-cp311-win_amd64.whl

Download URL flexablelib-3.3.1-cp311-cp311-win_amd64.whl
Size 199.7 kB
Tags CPython 3.11 Windows x86-64
SHA-256 checksum
How to use checksums
54a8defc1f58047a298a3c58891ff68d259fc49e2fd6b6bd43fcc4336158fd82
BLAKE2b-256 checksum
How to use checksums
b6fd88b7c47792ee681022fc6f0b73844e21821610bde1ad9e4108188e0c51f3
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.16

Release files / flexablelib-3.3.1-cp311-cp311-musllinux_1_2_x86_64.whl

Download URL flexablelib-3.3.1-cp311-cp311-musllinux_1_2_x86_64.whl
Size 213.3 kB
Tags CPython 3.11 Linux musl 1.2+ x86-64
SHA-256 checksum
How to use checksums
1e3b22149a8da303e978255bbb87263cebcf144ee2dd78d5be72d6c3858dc264
BLAKE2b-256 checksum
How to use checksums
10fb294e96c178e438bcf7a805992a2685da90dcdadd6a28c1da599c2ce74095
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.16

Release files / flexablelib-3.3.1-cp311-cp311-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl

Download URL flexablelib-3.3.1-cp311-cp311-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl
Size 213.7 kB
Tags CPython 3.11 Linux glibc 2.28+ x86-64 Linux glibc 2.5+ x86-64
SHA-256 checksum
How to use checksums
799b054d9603caa9ca15795a01037cd879b06a1b93967374e40db96e22bc011a
BLAKE2b-256 checksum
How to use checksums
274897a2ca22cfc1e73c1908d9a3cd641ac15dcb3969b782728f12795751f6dc
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.16

Release files / flexablelib-3.3.1-cp311-cp311-macosx_11_0_arm64.whl

Download URL flexablelib-3.3.1-cp311-cp311-macosx_11_0_arm64.whl
Size 196.9 kB
Tags CPython 3.11 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
016d39b68bf7607685fb65743f18bfcab8e332550fb2226d95aae7fbafafdb65
BLAKE2b-256 checksum
How to use checksums
2d462f4c3df54d1c0d708f36b246a57d31dec43816b1c51bc91e0ff4005cd1f2
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.16

Release files / flexablelib-3.3.1-cp310-cp310-win_amd64.whl

Download URL flexablelib-3.3.1-cp310-cp310-win_amd64.whl
Size 199.7 kB
Tags CPython 3.10 Windows x86-64
SHA-256 checksum
How to use checksums
ae490b3300aa6ca1f8eadb292e293cd1ccbd419e883394839b482e1745f372c9
BLAKE2b-256 checksum
How to use checksums
67951ff5832ca9ee0f05c93589b00f0c6728dd3d1490a425ad0ad3eeab293597
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.16

Release files / flexablelib-3.3.1-cp310-cp310-musllinux_1_2_x86_64.whl

Download URL flexablelib-3.3.1-cp310-cp310-musllinux_1_2_x86_64.whl
Size 210.9 kB
Tags CPython 3.10 Linux musl 1.2+ x86-64
SHA-256 checksum
How to use checksums
5e68fd83ce28bbe353631518986864cd5efdd8c7e8c0f3b67c14411184e8f3ad
BLAKE2b-256 checksum
How to use checksums
0bb587de5cd179229d79bc48328d3246a42e4553ddf48f516fa6523bcd816d94
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.16

Release files / flexablelib-3.3.1-cp310-cp310-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl

Download URL flexablelib-3.3.1-cp310-cp310-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl
Size 211.2 kB
Tags CPython 3.10 Linux glibc 2.28+ x86-64 Linux glibc 2.5+ x86-64
SHA-256 checksum
How to use checksums
8f76c4e07d846bae920fb1db4a9196946a1c3faf88da457f99acdcdeec34a78a
BLAKE2b-256 checksum
How to use checksums
15bc94f067a95ef3ddb0e5cafc39692c07fcec7b45886ff8cde9f51f97a29f1e
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.16

Release files / flexablelib-3.3.1-cp310-cp310-macosx_11_0_arm64.whl

Download URL flexablelib-3.3.1-cp310-cp310-macosx_11_0_arm64.whl
Size 196.9 kB
Tags CPython 3.10 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
86060d9fe2a83ab7946973dd818461d267b41b8be7f7f3db6e7c1a0d85faa5c6
BLAKE2b-256 checksum
How to use checksums
3df61422c1d5a4b5258b4b6d80cc16e8ee0dc26aabc8a1c540cb53e7ca940d1f
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.16

Release files / flexablelib-3.3.1-cp39-cp39-win_amd64.whl

Download URL flexablelib-3.3.1-cp39-cp39-win_amd64.whl
Size 199.7 kB
Tags CPython 3.9 Windows x86-64
SHA-256 checksum
How to use checksums
d356bcddfe1ca9ff20ed02f1663bfa2f810817ab50896f07fc03e715b9e31f1c
BLAKE2b-256 checksum
How to use checksums
df6ba6949edfe2d9626ff26808d874b0349bbf37a663872f73d60cb73c5392c5
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.16

Release files / flexablelib-3.3.1-cp39-cp39-musllinux_1_2_x86_64.whl

Download URL flexablelib-3.3.1-cp39-cp39-musllinux_1_2_x86_64.whl
Size 210.8 kB
Tags CPython 3.9 Linux musl 1.2+ x86-64
SHA-256 checksum
How to use checksums
dd0f0c9f963acf0707c476570627bc1de5d71b61692cbfb5c58f528a6385b4d3
BLAKE2b-256 checksum
How to use checksums
03b9f117923aae85c88ea514a444e5d3b6e37128869cc6db6cca9bded6dd4106
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.16

Release files / flexablelib-3.3.1-cp39-cp39-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl

Download URL flexablelib-3.3.1-cp39-cp39-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl
Size 211.0 kB
Tags CPython 3.9 Linux glibc 2.28+ x86-64 Linux glibc 2.5+ x86-64
SHA-256 checksum
How to use checksums
430822ea04250c9d0fac97080f069cf795c6afbda134dba5135c7101e98f2e8a
BLAKE2b-256 checksum
How to use checksums
e9b4b63c3cdea61fd533d8e00ec5a4d49eff10cee6be4b3d5460fa302ee75737
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.16

Release files / flexablelib-3.3.1-cp39-cp39-macosx_11_0_arm64.whl

Download URL flexablelib-3.3.1-cp39-cp39-macosx_11_0_arm64.whl
Size 196.9 kB
Tags CPython 3.9 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
17a3897fc529892d3bd228a4f0c69eefe44c6b31e1b74b524f8b048415110a28
BLAKE2b-256 checksum
How to use checksums
fd8626a83f3f5dc441acfef70ddf2e19a1deb6edf53aca10f499b3632e7bae48
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.16

Release files / flexablelib-3.3.1-cp38-cp38-win_amd64.whl

Download URL flexablelib-3.3.1-cp38-cp38-win_amd64.whl
Size 199.6 kB
Tags CPython 3.8 Windows x86-64
SHA-256 checksum
How to use checksums
aab67d96eb88ccde3f3a9fc9cb8df851965bf9bd2af81c2ab8a350cb8de02a7b
BLAKE2b-256 checksum
How to use checksums
b1340c18251da23f167470d47b7f49870346520a786004b039056391dac06dd6
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.16

Release files / flexablelib-3.3.1-cp38-cp38-musllinux_1_2_x86_64.whl

Download URL flexablelib-3.3.1-cp38-cp38-musllinux_1_2_x86_64.whl
Size 210.5 kB
Tags CPython 3.8 Linux musl 1.2+ x86-64
SHA-256 checksum
How to use checksums
9c610c98a975797d3af07e6186d2f26dfbca780c04f0fc62b525909889b21d2b
BLAKE2b-256 checksum
How to use checksums
bccc8681239866d27500566d2ced614bc58f5062edaf25cfd22d4502e1fe8cb0
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.16

Release files / flexablelib-3.3.1-cp38-cp38-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl

Download URL flexablelib-3.3.1-cp38-cp38-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl
Size 211.3 kB
Tags CPython 3.8 Linux glibc 2.28+ x86-64 Linux glibc 2.5+ x86-64
SHA-256 checksum
How to use checksums
b19ea487e97d805743494534c455288c6f431d838b550b825b101ed6ad3c1fec
BLAKE2b-256 checksum
How to use checksums
db471a7d47bc90f6620b931170c3a4730d9fec611d592a8d1be7bae1d2bc5971
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.16

Release files / flexablelib-3.3.1-cp38-cp38-macosx_11_0_arm64.whl

Download URL flexablelib-3.3.1-cp38-cp38-macosx_11_0_arm64.whl
Size 196.6 kB
Tags CPython 3.8 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
f7427109faff7895bc5d12d64925b3b49b8e3da4f30e2d7858aa0cbfd765450f
BLAKE2b-256 checksum
How to use checksums
173fcb0de0234f53aedc79a9ef14b576fc3d1af382664f50642ec6a0a1a8a130
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.16

Security for flexablelib 3.3.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.

Release history Release notifications | RSS feed

This release

3.3.1 This release

29 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