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.0

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.0
File Size Uploaded Provenance Actions
flexablelib-3.3.0.tar.gz 351.0 kB Without provenance Details for flexablelib-3.3.0.tar.gz

Built distributions (wheels)

Table of built distributions (wheels) for flexablelib 3.3.0
File Actions
flexablelib-3.3.0-cp314-cp314-win_amd64.whl CPython 3.14 CPython 3.14 Windows x86-64 Details for flexablelib-3.3.0-cp314-cp314-win_amd64.whl
flexablelib-3.3.0-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.0-cp314-cp314-musllinux_1_2_x86_64.whl
flexablelib-3.3.0-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.0-cp314-cp314-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl
flexablelib-3.3.0-cp314-cp314-macosx_11_0_arm64.whl CPython 3.14 CPython 3.14 macOS 11.0+ ARM64 Details for flexablelib-3.3.0-cp314-cp314-macosx_11_0_arm64.whl
flexablelib-3.3.0-cp313-cp313-win_amd64.whl CPython 3.13 CPython 3.13 Windows x86-64 Details for flexablelib-3.3.0-cp313-cp313-win_amd64.whl
flexablelib-3.3.0-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.0-cp313-cp313-musllinux_1_2_x86_64.whl
flexablelib-3.3.0-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.0-cp313-cp313-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl
flexablelib-3.3.0-cp313-cp313-macosx_11_0_arm64.whl CPython 3.13 CPython 3.13 macOS 11.0+ ARM64 Details for flexablelib-3.3.0-cp313-cp313-macosx_11_0_arm64.whl
flexablelib-3.3.0-cp312-cp312-win_amd64.whl CPython 3.12 CPython 3.12 Windows x86-64 Details for flexablelib-3.3.0-cp312-cp312-win_amd64.whl
flexablelib-3.3.0-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.0-cp312-cp312-musllinux_1_2_x86_64.whl
flexablelib-3.3.0-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.0-cp312-cp312-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl
flexablelib-3.3.0-cp312-cp312-macosx_11_0_arm64.whl CPython 3.12 CPython 3.12 macOS 11.0+ ARM64 Details for flexablelib-3.3.0-cp312-cp312-macosx_11_0_arm64.whl
flexablelib-3.3.0-cp311-cp311-win_amd64.whl CPython 3.11 CPython 3.11 Windows x86-64 Details for flexablelib-3.3.0-cp311-cp311-win_amd64.whl
flexablelib-3.3.0-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.0-cp311-cp311-musllinux_1_2_x86_64.whl
flexablelib-3.3.0-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.28+ x86-64, Linux glibc 2.5+ x86-64 Details for flexablelib-3.3.0-cp311-cp311-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl
flexablelib-3.3.0-cp311-cp311-macosx_11_0_arm64.whl CPython 3.11 CPython 3.11 macOS 11.0+ ARM64 Details for flexablelib-3.3.0-cp311-cp311-macosx_11_0_arm64.whl
flexablelib-3.3.0-cp310-cp310-win_amd64.whl CPython 3.10 CPython 3.10 Windows x86-64 Details for flexablelib-3.3.0-cp310-cp310-win_amd64.whl
flexablelib-3.3.0-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.0-cp310-cp310-musllinux_1_2_x86_64.whl
flexablelib-3.3.0-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.5+ x86-64, Linux glibc 2.28+ x86-64 Details for flexablelib-3.3.0-cp310-cp310-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl
flexablelib-3.3.0-cp310-cp310-macosx_11_0_arm64.whl CPython 3.10 CPython 3.10 macOS 11.0+ ARM64 Details for flexablelib-3.3.0-cp310-cp310-macosx_11_0_arm64.whl
flexablelib-3.3.0-cp39-cp39-win_amd64.whl CPython 3.9 CPython 3.9 Windows x86-64 Details for flexablelib-3.3.0-cp39-cp39-win_amd64.whl
flexablelib-3.3.0-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.0-cp39-cp39-musllinux_1_2_x86_64.whl
flexablelib-3.3.0-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.0-cp39-cp39-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl
flexablelib-3.3.0-cp39-cp39-macosx_11_0_arm64.whl CPython 3.9 CPython 3.9 macOS 11.0+ ARM64 Details for flexablelib-3.3.0-cp39-cp39-macosx_11_0_arm64.whl
flexablelib-3.3.0-cp38-cp38-win_amd64.whl CPython 3.8 CPython 3.8 Windows x86-64 Details for flexablelib-3.3.0-cp38-cp38-win_amd64.whl
flexablelib-3.3.0-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.0-cp38-cp38-musllinux_1_2_x86_64.whl
flexablelib-3.3.0-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.5+ x86-64, Linux glibc 2.28+ x86-64 Details for flexablelib-3.3.0-cp38-cp38-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl
flexablelib-3.3.0-cp38-cp38-macosx_11_0_arm64.whl CPython 3.8 CPython 3.8 macOS 11.0+ ARM64 Details for flexablelib-3.3.0-cp38-cp38-macosx_11_0_arm64.whl

Total release size: 6.1 MB

Release files / flexablelib-3.3.0.tar.gz

Download URL flexablelib-3.3.0.tar.gz
Size 351.0 kB
Tags Source
SHA-256 checksum
How to use checksums
098c9468d0d1134d1f1cb9442fd32681fb04428993cd7a9931171f98b9ab175e
BLAKE2b-256 checksum
How to use checksums
afbd872f6c0a392f7208c5076cd741b3d4f7045977a369a1980d9d3c7a3e5a62
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.0-cp314-cp314-win_amd64.whl

Download URL flexablelib-3.3.0-cp314-cp314-win_amd64.whl
Size 199.9 kB
Tags CPython 3.14 Windows x86-64
SHA-256 checksum
How to use checksums
0813a39808838e689aba5346604b9684a5b00b7e400fce474c72f6c2047bab8e
BLAKE2b-256 checksum
How to use checksums
d968f542567e598168b3e62c9821277b7ab3799a0fbf0bdfea44fe7391896624
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.0-cp314-cp314-musllinux_1_2_x86_64.whl

Download URL flexablelib-3.3.0-cp314-cp314-musllinux_1_2_x86_64.whl
Size 211.8 kB
Tags CPython 3.14 Linux musl 1.2+ x86-64
SHA-256 checksum
How to use checksums
45c2ff15c3738cffd1639aa991e96f1eeacb1dbf899202e718195f213657a0c9
BLAKE2b-256 checksum
How to use checksums
30d2261a6210b07064d8a4c34ab88c65991293a8305c91c4a08d692418f6ed0d
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.0-cp314-cp314-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl

Download URL flexablelib-3.3.0-cp314-cp314-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl
Size 212.3 kB
Tags CPython 3.14 Linux glibc 2.28+ x86-64 Linux glibc 2.5+ x86-64
SHA-256 checksum
How to use checksums
25eca1c83eccf07d48d6ae57949f81f8c18c266e2fd5bc7307e4f4acfe31af7e
BLAKE2b-256 checksum
How to use checksums
6b8e4f8399f22a71c884e26d815f579a94dde7d0fb03a1a8197fb3b360a79ae9
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.0-cp314-cp314-macosx_11_0_arm64.whl

Download URL flexablelib-3.3.0-cp314-cp314-macosx_11_0_arm64.whl
Size 195.3 kB
Tags CPython 3.14 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
7fe182fbb768062201f73ce65e0a25f933a6e38038e07daccb94ee6fd0e28946
BLAKE2b-256 checksum
How to use checksums
679169dc48c56464bc750aaf22e22b1d82b022e95744b3f1b50a72ed906f6b98
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.0-cp313-cp313-win_amd64.whl

Download URL flexablelib-3.3.0-cp313-cp313-win_amd64.whl
Size 198.3 kB
Tags CPython 3.13 Windows x86-64
SHA-256 checksum
How to use checksums
080950d2893ddf1b95e07a3555bb9c4f1847143fbaf0c0fc62fda48aa27988d8
BLAKE2b-256 checksum
How to use checksums
0ac2a30026b774f7231d2a78abc2621e72710f16c99f9f8fca45a1909d32d8fa
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.0-cp313-cp313-musllinux_1_2_x86_64.whl

Download URL flexablelib-3.3.0-cp313-cp313-musllinux_1_2_x86_64.whl
Size 211.8 kB
Tags CPython 3.13 Linux musl 1.2+ x86-64
SHA-256 checksum
How to use checksums
89e86b12958df5c2d74abe6ff8e03e8e67e79ae69f8da979500b610bae2754fd
BLAKE2b-256 checksum
How to use checksums
896b28dc2d5d72f2e8557412895dc333c25f0369a73a9410bb141b206ee68eb3
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.0-cp313-cp313-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl

Download URL flexablelib-3.3.0-cp313-cp313-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl
Size 212.3 kB
Tags CPython 3.13 Linux glibc 2.28+ x86-64 Linux glibc 2.5+ x86-64
SHA-256 checksum
How to use checksums
5c54d1f4db48029c1520c5aae4cddea7f89ba529e00dad72fe1e77a7a22d8108
BLAKE2b-256 checksum
How to use checksums
ab1607c68c3e32e687850a1226e39f8d9f37940be1087b81884b384546af42df
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.0-cp313-cp313-macosx_11_0_arm64.whl

Download URL flexablelib-3.3.0-cp313-cp313-macosx_11_0_arm64.whl
Size 195.3 kB
Tags CPython 3.13 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
ce427778efb5a5564fe6ffebdd3cdfb8ee56e93677203c760e8fde40e5767040
BLAKE2b-256 checksum
How to use checksums
486ef0546efc3c54260488679eb9f94bf1ea5abb0e51f2757ce57e81658ce313
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.0-cp312-cp312-win_amd64.whl

Download URL flexablelib-3.3.0-cp312-cp312-win_amd64.whl
Size 198.3 kB
Tags CPython 3.12 Windows x86-64
SHA-256 checksum
How to use checksums
2cff75e7b182e47e3eb09f62a31783d3c84fe57e7d60a56309057167c7aa7e9f
BLAKE2b-256 checksum
How to use checksums
e189a6bce3b664b655c8f1a818fb6b7fe6762b6d3fe78e004bdfaeccb9814fee
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.0-cp312-cp312-musllinux_1_2_x86_64.whl

Download URL flexablelib-3.3.0-cp312-cp312-musllinux_1_2_x86_64.whl
Size 211.8 kB
Tags CPython 3.12 Linux musl 1.2+ x86-64
SHA-256 checksum
How to use checksums
42b41cccd57280e23d298b959c9e1caa2d50b227a4f7e2d8ba8bc9e6d3b0314e
BLAKE2b-256 checksum
How to use checksums
bd552c83498602efd082368d1b3d33c574d79d00ca5eca450c06de60796d613d
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.0-cp312-cp312-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl

Download URL flexablelib-3.3.0-cp312-cp312-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl
Size 212.3 kB
Tags CPython 3.12 Linux glibc 2.28+ x86-64 Linux glibc 2.5+ x86-64
SHA-256 checksum
How to use checksums
d91d8e8071a7e88032e4a268551f8c22c00450c3c9ee4672de28265ea4f41d52
BLAKE2b-256 checksum
How to use checksums
8c75264cd99474567adc181c7b11414934f47100ec11f912c436a88f8e1499bf
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.0-cp312-cp312-macosx_11_0_arm64.whl

Download URL flexablelib-3.3.0-cp312-cp312-macosx_11_0_arm64.whl
Size 195.3 kB
Tags CPython 3.12 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
3d9ba6cf758771d130a0e29dace63f856b470b661c27a3c05043fef0353b63df
BLAKE2b-256 checksum
How to use checksums
9552eaed01d67f717482655edeb455a77626bd66120c025ff08c37c294ab2bd9
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.0-cp311-cp311-win_amd64.whl

Download URL flexablelib-3.3.0-cp311-cp311-win_amd64.whl
Size 198.2 kB
Tags CPython 3.11 Windows x86-64
SHA-256 checksum
How to use checksums
234c629c1acb73938e5c53d3cfa23becbf7313b3369ca5a651482b0b55eaabac
BLAKE2b-256 checksum
How to use checksums
442e60fdbf104ba26f6b08dd598dc8e0f55b0e2c75e89bd8692fb3abe5be2ad2
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.0-cp311-cp311-musllinux_1_2_x86_64.whl

Download URL flexablelib-3.3.0-cp311-cp311-musllinux_1_2_x86_64.whl
Size 211.8 kB
Tags CPython 3.11 Linux musl 1.2+ x86-64
SHA-256 checksum
How to use checksums
98b55181419fc19a471ad19612d88e790aed1c430837954a1a2ff431466faa25
BLAKE2b-256 checksum
How to use checksums
04f2b3de2ddb341282f7c146627a31d5cf6a770dc934b5e07c8c9893161fc529
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.0-cp311-cp311-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl

Download URL flexablelib-3.3.0-cp311-cp311-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl
Size 212.2 kB
Tags CPython 3.11 Linux glibc 2.28+ x86-64 Linux glibc 2.5+ x86-64
SHA-256 checksum
How to use checksums
3b32258614d0f9d90c7008490ac2454634de5940d2b781ff5a0124168728e7f6
BLAKE2b-256 checksum
How to use checksums
7ce35b53fb320b521aab1ac7db7dec483f20400b1fc852b96ecfe066b6fbff65
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.0-cp311-cp311-macosx_11_0_arm64.whl

Download URL flexablelib-3.3.0-cp311-cp311-macosx_11_0_arm64.whl
Size 195.3 kB
Tags CPython 3.11 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
797059b19a5aafaa2ca98ab59159a0e82cc5d70f762bc1ea20cd88925b27561c
BLAKE2b-256 checksum
How to use checksums
15d0278e7a36104268a0d950d23a43319c3e0145eadccbc23f6d09811049fd1b
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.0-cp310-cp310-win_amd64.whl

Download URL flexablelib-3.3.0-cp310-cp310-win_amd64.whl
Size 198.2 kB
Tags CPython 3.10 Windows x86-64
SHA-256 checksum
How to use checksums
57048b22391d2be2768fea138861cb45028545a78659d13727f93187cb05d5ff
BLAKE2b-256 checksum
How to use checksums
afc3006d64302206cf35f86d1e7617ddaa0fcee6f44cc00898577143d0b09281
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.0-cp310-cp310-musllinux_1_2_x86_64.whl

Download URL flexablelib-3.3.0-cp310-cp310-musllinux_1_2_x86_64.whl
Size 209.4 kB
Tags CPython 3.10 Linux musl 1.2+ x86-64
SHA-256 checksum
How to use checksums
e70750c4f188e2cba86fe52522672882cecdd849760816b5e9e3f6e255ec0fbe
BLAKE2b-256 checksum
How to use checksums
ca40c45b8870a5f05bc4e7595419b1eb3f85f500b8ce9efd6e80ccbf200ded7d
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.0-cp310-cp310-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl

Download URL flexablelib-3.3.0-cp310-cp310-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl
Size 209.6 kB
Tags CPython 3.10 Linux glibc 2.28+ x86-64 Linux glibc 2.5+ x86-64
SHA-256 checksum
How to use checksums
c4bf903c62c840ed1134b3578954dfdcd990925804753f7a4249945f56e8788b
BLAKE2b-256 checksum
How to use checksums
859ae4f1e6c436b443368f0299074aa1c19b2d361161758ea5f3b243b60f9bdd
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.0-cp310-cp310-macosx_11_0_arm64.whl

Download URL flexablelib-3.3.0-cp310-cp310-macosx_11_0_arm64.whl
Size 195.3 kB
Tags CPython 3.10 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
30731ea1fb52c0f49e83f553f713bf3ef097c47c9021e73412f4944572b9cc8d
BLAKE2b-256 checksum
How to use checksums
17f40a32d27e92de54986dad8136d0c351db8b0ddf136a986ba92a7bc4b07ed3
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.0-cp39-cp39-win_amd64.whl

Download URL flexablelib-3.3.0-cp39-cp39-win_amd64.whl
Size 198.2 kB
Tags CPython 3.9 Windows x86-64
SHA-256 checksum
How to use checksums
fdc45cd4548af756770e97377744804ed388357ee9c02ca94b15bf4cdaebafe5
BLAKE2b-256 checksum
How to use checksums
15cfe6ecec3564092eb5b3ba23a57cd14ae2b996f234f15ec0c1e8149f0031f4
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.0-cp39-cp39-musllinux_1_2_x86_64.whl

Download URL flexablelib-3.3.0-cp39-cp39-musllinux_1_2_x86_64.whl
Size 209.2 kB
Tags CPython 3.9 Linux musl 1.2+ x86-64
SHA-256 checksum
How to use checksums
cf6d2b2f03bf1a7e2ba85696f44668ab368c1df8e67b46d1225e7a1daa8e348c
BLAKE2b-256 checksum
How to use checksums
f14efee0dbce6017a5465b4861245737b08b6fd378b88633f038db7787dfb513
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.0-cp39-cp39-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl

Download URL flexablelib-3.3.0-cp39-cp39-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl
Size 209.5 kB
Tags CPython 3.9 Linux glibc 2.28+ x86-64 Linux glibc 2.5+ x86-64
SHA-256 checksum
How to use checksums
07bcd722843e5dfce6c29922fc1ceb01da63051c3339fff9c14836e112ee7f21
BLAKE2b-256 checksum
How to use checksums
1c85eefa93d6b482dfa7d2f00d533b4ee3359a8c2ff26c40dc116bf6f99f8bcb
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.0-cp39-cp39-macosx_11_0_arm64.whl

Download URL flexablelib-3.3.0-cp39-cp39-macosx_11_0_arm64.whl
Size 195.3 kB
Tags CPython 3.9 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
cef5edef0e218cad3e61c553b15ac246ee6ebaa3e7b008d0e72ab35001529396
BLAKE2b-256 checksum
How to use checksums
395450074a50dbb4769dbb1374910fe8a58e27e15a5e3ea4bc8c6781b013031e
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.0-cp38-cp38-win_amd64.whl

Download URL flexablelib-3.3.0-cp38-cp38-win_amd64.whl
Size 198.1 kB
Tags CPython 3.8 Windows x86-64
SHA-256 checksum
How to use checksums
35464e79b0aa4d20b84710234e263c29d4c32385c5379174d6f6f3bb226c68b7
BLAKE2b-256 checksum
How to use checksums
2f586e42cfb1040445de642bbedd471a5df4311df5e3baf02411e4b06c040113
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.0-cp38-cp38-musllinux_1_2_x86_64.whl

Download URL flexablelib-3.3.0-cp38-cp38-musllinux_1_2_x86_64.whl
Size 209.0 kB
Tags CPython 3.8 Linux musl 1.2+ x86-64
SHA-256 checksum
How to use checksums
343830a552b12f57af19fe80a0597877988e9fb4102c21e8b41b2b65c8788652
BLAKE2b-256 checksum
How to use checksums
82eab34a7fbd2f29e984f2b91b37ee091ac961989c9c2d74a519708cbdcee99c
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.0-cp38-cp38-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl

Download URL flexablelib-3.3.0-cp38-cp38-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl
Size 209.8 kB
Tags CPython 3.8 Linux glibc 2.28+ x86-64 Linux glibc 2.5+ x86-64
SHA-256 checksum
How to use checksums
b949c5bcb7afc3df2072fd556019683d0ce437a2cea5ce0dc1dd4d53aefc72e3
BLAKE2b-256 checksum
How to use checksums
4211ebe58cbbbffdb0fbb43e01266e22ca0a26b86fbfe148e26f3a21916cadd1
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.0-cp38-cp38-macosx_11_0_arm64.whl

Download URL flexablelib-3.3.0-cp38-cp38-macosx_11_0_arm64.whl
Size 195.0 kB
Tags CPython 3.8 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
1f908414ecc93ff83d82184b2e780b506aca27a5810b2dc68dc4928acfe13c13
BLAKE2b-256 checksum
How to use checksums
5e033d59dd8b8167d767749dc85295b31e14277615142ed046334502f4cef0ac
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.0

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.0 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