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 4,500+ 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

Keyboard, mouse and accessibility

Since 3.4.0: docs/INPUT.md · docs/ACCESSIBILITY.md · docs/FOLIOS.md.

Every key detected — F1–F24, Ctrl/Alt/Shift/Super, paste, focus, mouse — examples/keys.py
Live key detector
Mouse in every component — click, wheel, drag
Clicks on buttons, tabs, tables and calendars
Focus visible without colour — text markers, not colour alone
Focus with and without colour
High contrast — WCAG AAA text, checked by the tests
High-contrast theme with contrast ratios
Colour-blind themes — deuteranopia, protanopia, tritanopia — simulated
Status colours under colour-blindness simulation
Screen readers — linear text, roles, labels, announcements
Screen-reader linear output
ASCII and reduced motion — no Unicode, still spinners
The app in ASCII mode
Folios — IDs without thousands separators, money with them
Folio columns versus money columns
One name per key — xterm, rxvt, Linux console, kitty, modifyOtherKeys, Windows
Key names across protocols
C acceleration — ASCII fallback and click zones
C versus Python timings

Pictures in the terminal

Since 3.5.0: docs/IMAGES.md — kitty, iTerm2, sixel, Unicode blocks, ASCII, then a link to the browser, then a warning. Real terminals under Xvfb.

kitty graphics protocol — detected, Unicode placeholders
A picture in kitty
iTerm2 inline images — WezTerm, iTerm2, VS Code, Konsole
iTerm2 images in WezTerm
sixel — xterm, foot, mlterm, Windows Terminal
sixel in xterm and foot
Unicode blocks — half blocks, quadrants, sextants
Unicode block pictures
Braille and ASCII — mono with NO_COLOR, ASCII without Unicode
Braille and ASCII pictures
Inside Grid, Card and App — the frame diff keeps working
Pictures inside a dashboard
Link to the browser — OSC 8, Enter or click opens it
Link fallback
No browser, no display — a warning, nothing opened
Warning when no browser is available
Redraws in kitty, xterm and WezTerm — ImageViewer in an App
ImageViewer switching pictures
C acceleration — resize, quantize, sixel, blocks
C versus Python picture timings

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 and mouse input, accessibility.
  • packages/components/ — flexablelib-components: the terminal components.
  • packages/speedups/ — flexablelib-speedups: the C frame code.
  • examples/ — dashboard.py, admin.py, keys.py (live key detector).
  • 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.5.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.5.0
File Size Uploaded Provenance Actions
flexablelib-3.5.0.tar.gz 431.8 kB Without provenance Details for flexablelib-3.5.0.tar.gz

Built distributions (wheels)

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

Total release size: 6.8 MB

Release files / flexablelib-3.5.0.tar.gz

Download URL flexablelib-3.5.0.tar.gz
Size 431.8 kB
Tags Source
SHA-256 checksum
How to use checksums
048f87b83eb270ccc5b44b1e509bfc499b55f272010c4321e99d379120b30d3d
BLAKE2b-256 checksum
How to use checksums
f0b5eac8518b8d33a0b13ca52ea229e78fe3e7532c3f9ab7e37bfbf3be106321
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.5.0-cp314-cp314-win_amd64.whl

Download URL flexablelib-3.5.0-cp314-cp314-win_amd64.whl
Size 221.9 kB
Tags CPython 3.14 Windows x86-64
SHA-256 checksum
How to use checksums
897ed1a4396d803f25128974d631ad3455c0ad55d3f88757ce1497ecd5777a13
BLAKE2b-256 checksum
How to use checksums
569dfeec546d65e848f73a30e287936429187b81b33faf599a77a9d6eb851fc9
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.5.0-cp314-cp314-musllinux_1_2_x86_64.whl

Download URL flexablelib-3.5.0-cp314-cp314-musllinux_1_2_x86_64.whl
Size 233.6 kB
Tags CPython 3.14 Linux musl 1.2+ x86-64
SHA-256 checksum
How to use checksums
4da2fd1c2ca9522b3fcbb930c9f39f34e4e3b9aa8d2254a2048c48fb87a465d4
BLAKE2b-256 checksum
How to use checksums
4de56acf0d88d1d5604b5208a79394b8c40f57c2f855a8406d91623f7b12cd20
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.5.0-cp314-cp314-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl

Download URL flexablelib-3.5.0-cp314-cp314-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl
Size 234.1 kB
Tags CPython 3.14 Linux glibc 2.28+ x86-64 Linux glibc 2.5+ x86-64
SHA-256 checksum
How to use checksums
478deaebde7e4324f1cce03ceac0e4a2e3765ecf7785f67fc8010136ce74b703
BLAKE2b-256 checksum
How to use checksums
f34a93b17d4a93b307199f8adb51e43fe58726e01601da1dd28bc7c93390457a
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.5.0-cp314-cp314-macosx_11_0_arm64.whl

Download URL flexablelib-3.5.0-cp314-cp314-macosx_11_0_arm64.whl
Size 217.2 kB
Tags CPython 3.14 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
8aab2e9a88509db501397db7f18325aa53cf603c724d102b14b1b3253a765e25
BLAKE2b-256 checksum
How to use checksums
484232f28ccfd6e9fe2a9bfcabfb8ebabd1f29e1c6d5b393c6399b84e6750033
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.5.0-cp313-cp313-win_amd64.whl

Download URL flexablelib-3.5.0-cp313-cp313-win_amd64.whl
Size 220.2 kB
Tags CPython 3.13 Windows x86-64
SHA-256 checksum
How to use checksums
1cb79114c5bda03e53dc9fa4c1e787f8e0e83b5fbd9e0cad11703d45f5278102
BLAKE2b-256 checksum
How to use checksums
17cc9e14bb8606c00ee486f81d839a5e8e3da4b7afebb53e484c9f40f13a85e8
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.5.0-cp313-cp313-musllinux_1_2_x86_64.whl

Download URL flexablelib-3.5.0-cp313-cp313-musllinux_1_2_x86_64.whl
Size 233.7 kB
Tags CPython 3.13 Linux musl 1.2+ x86-64
SHA-256 checksum
How to use checksums
a69545b2cd87aa4e88b909197a119139f721c5027dd38f5b8bce02792c983827
BLAKE2b-256 checksum
How to use checksums
a1a64b92907a46b34b4b34fae917a3b1da5d2ab546841c4bd78e56c3190fb9c7
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.5.0-cp313-cp313-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl

Download URL flexablelib-3.5.0-cp313-cp313-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl
Size 234.1 kB
Tags CPython 3.13 Linux glibc 2.28+ x86-64 Linux glibc 2.5+ x86-64
SHA-256 checksum
How to use checksums
38e10e20cd7b60e18b1676a4674c9168bd5861b0a035ced6782f51e60d49e5dc
BLAKE2b-256 checksum
How to use checksums
ae0c828047a605e9916e977dd817094f1dcf4648b56aaa2c2403375ee8fb8d6d
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.5.0-cp313-cp313-macosx_11_0_arm64.whl

Download URL flexablelib-3.5.0-cp313-cp313-macosx_11_0_arm64.whl
Size 217.2 kB
Tags CPython 3.13 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
9898249972d1e586e35646378c84a532d96b68fdc8ee169cac2b78a3eb73d899
BLAKE2b-256 checksum
How to use checksums
69785d23c371d5691e3f9d6ff0b63378886a3ccf822d03b1383a27aab323404d
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.5.0-cp312-cp312-win_amd64.whl

Download URL flexablelib-3.5.0-cp312-cp312-win_amd64.whl
Size 220.2 kB
Tags CPython 3.12 Windows x86-64
SHA-256 checksum
How to use checksums
976f56ed66c0b1e2852b91ea466cd53c0c1289e6e42dd60a861b0af7bf77517d
BLAKE2b-256 checksum
How to use checksums
d98a2617e7174a50cd72bc3233878f96129b100a328e0ae1b68d783180ae66ef
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.5.0-cp312-cp312-musllinux_1_2_x86_64.whl

Download URL flexablelib-3.5.0-cp312-cp312-musllinux_1_2_x86_64.whl
Size 233.6 kB
Tags CPython 3.12 Linux musl 1.2+ x86-64
SHA-256 checksum
How to use checksums
49751ad5312afd0d3b8261e46acdddfe495bb11d16e8eadf3180b03ed152df49
BLAKE2b-256 checksum
How to use checksums
cdeb990a856c371a901a074a837b34dd23f5d2eced5272a75f35f7a8e00b7206
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.5.0-cp312-cp312-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl

Download URL flexablelib-3.5.0-cp312-cp312-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl
Size 234.1 kB
Tags CPython 3.12 Linux glibc 2.28+ x86-64 Linux glibc 2.5+ x86-64
SHA-256 checksum
How to use checksums
b5fc2cc3a9a7d7d71a7f6fbe20d5745de359f4b93612bf58869f261d63d231ee
BLAKE2b-256 checksum
How to use checksums
cb209995736605029ad8b7b5a7820b37203899ddae735fbb9e5cf285a4847aa9
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.5.0-cp312-cp312-macosx_11_0_arm64.whl

Download URL flexablelib-3.5.0-cp312-cp312-macosx_11_0_arm64.whl
Size 217.1 kB
Tags CPython 3.12 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
54258f57517b6235f3137b7154de4a0669d867c630b1cb71322567315d950ddc
BLAKE2b-256 checksum
How to use checksums
50672928ddea32fb63abcc73f66c3e4d6454b6487d6aee1dfa7de539be1bad79
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.5.0-cp311-cp311-win_amd64.whl

Download URL flexablelib-3.5.0-cp311-cp311-win_amd64.whl
Size 220.1 kB
Tags CPython 3.11 Windows x86-64
SHA-256 checksum
How to use checksums
a965e1acbb7c2701c5804093375018d3162b8b613cffa2e78358aead92effc23
BLAKE2b-256 checksum
How to use checksums
306c981c0e2553f1964f2f977b9edbc3ccd05f8b5456471986f76b273d3e06a2
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.5.0-cp311-cp311-musllinux_1_2_x86_64.whl

Download URL flexablelib-3.5.0-cp311-cp311-musllinux_1_2_x86_64.whl
Size 233.6 kB
Tags CPython 3.11 Linux musl 1.2+ x86-64
SHA-256 checksum
How to use checksums
863050d0196e64d63687178439bf1a7686327990d618ad3df3d380bc5e60bb20
BLAKE2b-256 checksum
How to use checksums
fafed343ef4a36714c05a0169e7a0d9680a9f7dc67ef50a879053820abe4a141
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.5.0-cp311-cp311-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl

Download URL flexablelib-3.5.0-cp311-cp311-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl
Size 234.0 kB
Tags CPython 3.11 Linux glibc 2.28+ x86-64 Linux glibc 2.5+ x86-64
SHA-256 checksum
How to use checksums
1729dedab609b536a02cdb6e49030a1565450fca23ae55ce336970a9d8fa8083
BLAKE2b-256 checksum
How to use checksums
1895247b47bd93974099b864e257c34f30f5e8fd4877da74284ad21b1d8c7386
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.5.0-cp311-cp311-macosx_11_0_arm64.whl

Download URL flexablelib-3.5.0-cp311-cp311-macosx_11_0_arm64.whl
Size 217.2 kB
Tags CPython 3.11 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
3356d77a0f947e4c2e237df12b24440b39910984cc775f78368084429fd72853
BLAKE2b-256 checksum
How to use checksums
044c6f881e093ce223d4cc85f0aec6989f56cc93bc5279b8e6740f8fda0b7370
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.5.0-cp310-cp310-win_amd64.whl

Download URL flexablelib-3.5.0-cp310-cp310-win_amd64.whl
Size 220.1 kB
Tags CPython 3.10 Windows x86-64
SHA-256 checksum
How to use checksums
e628fd722d900df4cea6a5897b79d7a2a36ca2f7e173d5309251c3d8b1171c36
BLAKE2b-256 checksum
How to use checksums
56cd5d30588206f55128a0466e5b8a1069c30439fb5864e833b40195acba10d7
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.5.0-cp310-cp310-musllinux_1_2_x86_64.whl

Download URL flexablelib-3.5.0-cp310-cp310-musllinux_1_2_x86_64.whl
Size 231.2 kB
Tags CPython 3.10 Linux musl 1.2+ x86-64
SHA-256 checksum
How to use checksums
510f90cdaffdab4fef932d67cffedf620eb74cd46e547a63a490e1f0db7c797e
BLAKE2b-256 checksum
How to use checksums
d1c89569792ca60950b73d63207b87efddbfc385b84c4e98b0bafc8fda362add
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.5.0-cp310-cp310-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl

Download URL flexablelib-3.5.0-cp310-cp310-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl
Size 231.5 kB
Tags CPython 3.10 Linux glibc 2.28+ x86-64 Linux glibc 2.5+ x86-64
SHA-256 checksum
How to use checksums
afcbb3d73f6bb5935db95e48114966ac25cc920367612bb142af0c8aeb9ccf09
BLAKE2b-256 checksum
How to use checksums
1738cee623904b7796b41e8d4806b0392b9919f7f4b873cba493c6566610220d
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.5.0-cp310-cp310-macosx_11_0_arm64.whl

Download URL flexablelib-3.5.0-cp310-cp310-macosx_11_0_arm64.whl
Size 217.2 kB
Tags CPython 3.10 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
1865f0c4689656db68c97b28d28d6ed8629178a670da1334e9780353aeb39fd8
BLAKE2b-256 checksum
How to use checksums
72c9fb446720f4a72db2569567701b6a2df08857caa3baccf90d971197a5f47b
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.5.0-cp39-cp39-win_amd64.whl

Download URL flexablelib-3.5.0-cp39-cp39-win_amd64.whl
Size 220.1 kB
Tags CPython 3.9 Windows x86-64
SHA-256 checksum
How to use checksums
45cb3a526d5d17882c1db6e4373fa0e47cf50e8ab6c29e08ceaf5010ffcac7e6
BLAKE2b-256 checksum
How to use checksums
86ac1cbd8dd44cfed59119f43ee22a3c543c2e18efd4acd45205a63c65240b6b
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.5.0-cp39-cp39-musllinux_1_2_x86_64.whl

Download URL flexablelib-3.5.0-cp39-cp39-musllinux_1_2_x86_64.whl
Size 231.1 kB
Tags CPython 3.9 Linux musl 1.2+ x86-64
SHA-256 checksum
How to use checksums
8be14c9ac2da3e1b19924cfe73d70f7372060af4cd3f00927e65a7fd214260dd
BLAKE2b-256 checksum
How to use checksums
18361886dd5799e7c64f8f31e0a79211b3ff6ce85764ce2b5394672b8b6f8574
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.5.0-cp39-cp39-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl

Download URL flexablelib-3.5.0-cp39-cp39-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl
Size 231.3 kB
Tags CPython 3.9 Linux glibc 2.28+ x86-64 Linux glibc 2.5+ x86-64
SHA-256 checksum
How to use checksums
ef151559e8279739283b65053a7c1dbf824490b7c432a538ab92615e451a2749
BLAKE2b-256 checksum
How to use checksums
56f495fcbf44057f82c62a67374e9b4effed9c3c79f850df3faeec0335f6c7a9
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.5.0-cp39-cp39-macosx_11_0_arm64.whl

Download URL flexablelib-3.5.0-cp39-cp39-macosx_11_0_arm64.whl
Size 217.2 kB
Tags CPython 3.9 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
263e0960d202487a0510ddb435cc689d1d6dde173f8fc665d7533ab0469c57a1
BLAKE2b-256 checksum
How to use checksums
6b47fe59197bd57e6856fedd798b80d51f142193aa2b8b1af0ce003cadfb91dc
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.5.0-cp38-cp38-win_amd64.whl

Download URL flexablelib-3.5.0-cp38-cp38-win_amd64.whl
Size 220.0 kB
Tags CPython 3.8 Windows x86-64
SHA-256 checksum
How to use checksums
0f4f965f1de9168485e372d6285bb3801a7ac9c30c45eea92fafb04ff8645692
BLAKE2b-256 checksum
How to use checksums
589a676f0b2887824b915a9601a939f0159311bb502185156051167da0883d67
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.5.0-cp38-cp38-musllinux_1_2_x86_64.whl

Download URL flexablelib-3.5.0-cp38-cp38-musllinux_1_2_x86_64.whl
Size 230.8 kB
Tags CPython 3.8 Linux musl 1.2+ x86-64
SHA-256 checksum
How to use checksums
23e56978e0e1a344dbd63931961acfb360a8a5be1e2b072e34304358c84f83bf
BLAKE2b-256 checksum
How to use checksums
c46abe01d17a3ffdd6aee3885ee42ada36119207db1bc0da11345c15cdae2699
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.5.0-cp38-cp38-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl

Download URL flexablelib-3.5.0-cp38-cp38-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl
Size 231.6 kB
Tags CPython 3.8 Linux glibc 2.28+ x86-64 Linux glibc 2.5+ x86-64
SHA-256 checksum
How to use checksums
b041569a8147fa36d434933c1d62626060c9e2b6cdf51853d9a17a1068a8eb3e
BLAKE2b-256 checksum
How to use checksums
561745c43a3fb3fbcaffcadd44b502fb6938711d797d35b9770223f04b1049ce
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.5.0-cp38-cp38-macosx_11_0_arm64.whl

Download URL flexablelib-3.5.0-cp38-cp38-macosx_11_0_arm64.whl
Size 216.9 kB
Tags CPython 3.8 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
b2685c923d6caa642f2a6e542ba947130e0c39c0ce74495f550ed3f58277658c
BLAKE2b-256 checksum
How to use checksums
7ca1d082a490a80da26757b09a83c9a0795b627a3a2ff33ba859779f7be3fdcb
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.5.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.5.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