Skip to main content

flexablelib

Fast, dependency-free terminal tables for Python.
56 border styles · ANSI colours · cell merges · decimal alignment · width fitting · CSV / Markdown / HTML / Excel / LaTeX I/O

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 1,000+ tests on Python 3.8 – 3.14.

A rounded flexablelib table with a coloured header and a red value

Install

pip install flexablelib

Optional extras: pip install "flexablelib[pandas]", "flexablelib[excel]", "flexablelib[html]" or "flexablelib[all]". The base install stays dependency-free.

30-second quickstart

from flexablelib import Table

table = Table(
    rows=[
        ["api-gateway", "eu-west-1", 99.982, 1240],
        ["auth", "us-east-1", 99.9, 312],
        ["billing", "us-east-1", 98.75, 87],
    ],
    headers=["Service", "Region", "Uptime %", "RPS"],
)
table.style_name = "rounded"            # 56 styles, see style_examples.md
table.header_color = "bold cyan"
table.color_rule = lambda value, row, column: (
    "red" if column == "Uptime %" and value < 99.5 else None
)
print(table)
╭─────────────┬───────────┬──────────┬──────╮
│ Service     │ Region    │ Uptime % │  RPS │
├─────────────┼───────────┼──────────┼──────┤
│ api-gateway │ eu-west-1 │   99.982 │ 1240 │
│ auth        │ us-east-1 │   99.9   │  312 │
│ billing     │ us-east-1 │   98.75  │   87 │
╰─────────────┴───────────┴──────────┴──────╯

Numbers align on the decimal point, colours never break alignment, and the same table exports anywhere:

table.to_markdown()                # GitHub / docs
table.to_html("report.html")       # self-contained, sortable, offline
table.to_csv("out.csv"); table.to_latex(); table.to_rst(); table.to_asciidoc()
table.to_excel("report.xlsx")      # pip install "flexablelib[excel]"
Table.from_csv("sales.csv"); Table.from_markdown(md); Table.from_pandas(df)
Styles — 56 presets, from ascii to blocks
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 56 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 56 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. 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, grid, psql, markdown, …) work on any code page.
  • Typed. Ships py.typed (PEP 561).
  • Stability. flexablelib follows semantic versioning: within 2.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

chcp 65001
set PYTHONUTF8=1

(PowerShell: $env:PYTHONUTF8=1.)

Guide

Usage

Creating a table is simple.

Code Example

from flexablelib import Table

new_table = Table()
print(new_table)

Output

++
++
++

This is an empty table. It has no data so it only displays this strange thing.

A table that has columns but no rows — a query that came back empty — shows its headers rather than raising:

┌──────┬───────┐
│ name │ value │
╞══════╪═══════╡
└──────┴───────┘

It's possible to add data as columns or rows, or even alternating each one. Any untitled column will be named automatically.

Code Example

new_table.add_column('Name', ['Jade', 'John', 'Jane'])
new_table.add_column('Age', [20, 30, 40])
new_table.add_column('Results', [9.651, 3, 245.7])
print(new_table)

Output

+----------------------+
| Name   Age   Results |
+======+=====+=========+
| Jade |  20 |   9.651 |
| John |  30 |   3     |
| Jane |  40 | 245.7   |
+------+-----+---------+

Code Example

new_table = Table()
new_table.add_column('Name', ['Jade', 'John', 'Jane'])
new_table.add_column('Age', [20, 30, 40])
new_table.add_column('Test\nResults', [9.651, 3, 245.7])
new_table.add_row(['Piotr\nBaltimore', 27, 3.5])
new_table.add_row(['Sam', 21, 0.6519])
print(new_table)

Output

+----------------------------+
| Name        Age       Test |
|                    Results |
+===========+=====+==========+
| Jade      |  20 |   9.651  |
| John      |  30 |   3      |
| Jane      |  40 | 245.7    |
| Piotr     |  27 |   3.5    |
| Baltimore |     |          |
| Sam       |  21 |   0.6519 |
+-----------+-----+----------+

As it is visible, the table will format automatically new lines and data types, for now without trying to parse strings that could be converted to another type.

The Table class offers a variety of options that allow things like showing the index of each row, changing the style of the table, hiding the headers, etc.

See style examples here.

Code Example

new_table = Table()
new_table.add_column('Name', ['Jade', 'John'])
new_table.add_column('Age', [20, 30])
new_table.add_column('Test\nResults', [9.651, 3, 245.7])
new_table.add_row(['Piotr\nBaltimore', 27, 3.5])
new_table.add_row(['Sam', 21])
new_table.show_index = True
new_table.style_name = 'pretty_columns'
new_table.missing_value = '?'
print(new_table)

Output

╒═══╤═══════════╤═════╤═════════╕
│ i │ Name      │ Age │    Test │
│   │           │     │ Results │
╞═══╪═══════════╪═════╪═════════╡
│ 0 │ Jade      │  20 │   9.651 │
│ 1 │ John      │  30 │   3     │
│ 2 │ ?         │   ? │ 245.7   │
│ 3 │ Piotr     │  27 │   3.5   │
│   │ Baltimore │     │         │
│ 4 │ Sam       │  21 │       ? │
╘═══╧═══════════╧═════╧═════════╛

The missing value aligns as if it was of the same type of the other data in the column.

This shows how to get the row and column count. If the index is shown, this count remains unaffected by that column, although, you can get the internal count.

Code Example

new_table.show_index = False
new_table.show_headers = False
print(new_table)
print('row:', new_table.row_count)
print('columns:', new_table.column_count)
new_table.show_index = True
print(new_table)
print('internal_row_count:', new_table.internal_row_count)
print('internal_column_count:', new_table.internal_column_count)

Output

╒═══════════╤════╤═════════╕
│ Jade      │ 20 │   9.651 │
│ John      │ 30 │   3     │
│ ?         │  ? │ 245.7   │
│ Piotr     │ 27 │   3.5   │
│ Baltimore │    │         │
│ Sam       │ 21 │       ? │
╘═══════════╧════╧═════════╛
row: 5
columns: 3
╒═══╤═══════════╤════╤═════════╕
│ 0 │ Jade      │ 20 │   9.651 │
│ 1 │ John      │ 30 │   3     │
│ 2 │ ?         │  ? │ 245.7   │
│ 3 │ Piotr     │ 27 │   3.5   │
│   │ Baltimore │    │         │
│ 4 │ Sam       │ 21 │       ? │
╘═══╧═══════════╧════╧═════════╛
internal_row_count: 5
internal_column_count: 4

Colour

Colour the header, the borders, whole columns, whole rows, or individual cells. Specs accept names, attributes, 256-colour indexes and hex triples.

table.header_color = 'bold cyan'
table.border_color = 'grey'
table.column_colors = {'Service': 'bright_white'}
table.color_rule = lambda value, row, column: (
    'red' if column == 'Delta' and value < 0 else None
)

color_rule receives the original value, so numeric comparisons work directly.

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

Table.from_csv('sales.csv')          # numeric columns parsed and aligned
Table.from_html(markup)              # standard library parser, no dependency
Table.from_dicts(records)
Table.from_pandas(dataframe)         # pip install flexablelib[pandas]
Table.from_excel('report.xlsx')      # pip install flexablelib[excel]

table.to_csv('out.csv')
table.to_markdown()
table.to_html('report.html', paginate=25)
table.to_excel('report.xlsx')

to_html writes one self-contained file — the stylesheet and the sorting, filtering and pagination script are inline — so it works offline and from a file:// URL.

Text formats deliver everything as strings, and a column of strings is left-aligned. parse_str_numbers converts numeric-looking text so it aligns as numbers; the readers turn it on for you:

table.parse_str_numbers = True

Values with leading zeros are left alone, so '007' stays a string.

table.rows is a copy of the data, with None in empty cells (the same values as to_records()), so editing it does not change the table. Use add_row and set_cell instead:

table.set_cell(0, 'Uptime', 98.2)    # row position, column position or header
table.set_cell(1, 2, table.missing)  # empty 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.

table.merge_cells(0, 0, last_column=2, value='Quarter summary')
table.merge_cells(1, 0, last_row=3)                # keeps the top-left content
table.merge_cells(0, 0, 2, 2, value='Total', align='r')

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

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/                 # GitHub repository
├── flexablelib/            the Python package (no runtime dependencies)
│   ├── __init__.py          public API: Table, TableComposition, SeparatorLine
│   ├── table.py             the Table class — state and render orchestration
│   ├── columns.py           type inference, alignment, column widths
│   ├── style_compositions.py   the 56 border styles, as data
│   ├── table_strings.py     separator lines and data rows
│   ├── cells.py             cell padding, justification, wrapping
│   ├── options.py           constants and defaults
│   └── utils.py             type predicates and small helpers
├── tests/                   pytest suite — see ARCHITECTURE.md#testing
├── docs/                    issue history and design notes
├── logos/                   brand assets — see logos/README.md
├── ARCHITECTURE.md          how it all fits together
├── style_examples.md        all 56 styles rendered
├── package.json             canonical version number (no npm deps)
└── setup.py                 reads the version from package.json

Run the tests from the repository root:

pip install -r requirements-dev.txt
python -m pytest

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

Metadata

Release files for flexablelib 2.1.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 2.1.0
File Size Uploaded Provenance Actions
flexablelib-2.1.0.tar.gz 209.1 kB Without provenance Details for flexablelib-2.1.0.tar.gz

Built distributions (wheels)

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

Total release size: 4.3 MB

Release files / flexablelib-2.1.0.tar.gz

Download URL flexablelib-2.1.0.tar.gz
Size 209.1 kB
Tags Source
SHA-256 checksum
How to use checksums
15a022097a53b93c88390666fb9cd8b93bd4c8ab3c1233bf63ea9cbfa460d3b0
BLAKE2b-256 checksum
How to use checksums
cb901b4a980501a1230abd44482ad7781b5f57229e38ccf7bd388ed2bcbb34dd
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.16

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

Download URL flexablelib-2.1.0-cp314-cp314-win_amd64.whl
Size 142.9 kB
Tags CPython 3.14 Windows x86-64
SHA-256 checksum
How to use checksums
3590834de84e4f196132294b6029c2f753f08e0e64d558631abee06c0c8344cc
BLAKE2b-256 checksum
How to use checksums
6d602814e1a27c2789dfb39fa94541a8d20fa2eec937f00bc729b8fb0ad8f30e
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.16

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

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

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

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

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

Download URL flexablelib-2.1.0-cp314-cp314-macosx_11_0_arm64.whl
Size 138.9 kB
Tags CPython 3.14 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
bf66ea605fcc332635b253eeff0733a8a3f2f62e102959b1c2b11ea1c99990a7
BLAKE2b-256 checksum
How to use checksums
3f8cd405ba6c3d55e863e6a3bea23b8fb49acc671f7422168490f3eb127f499c
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.16

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

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

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

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

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

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

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

Download URL flexablelib-2.1.0-cp313-cp313-macosx_11_0_arm64.whl
Size 138.9 kB
Tags CPython 3.13 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
facbe193508c7b93c3f45cb48d479b697cb2046fef8ff43683d152cef699d7ee
BLAKE2b-256 checksum
How to use checksums
96ccaf2bca2f32820203f2e5c6da5ed1eb0e307b41aa7c835f2c4340d63f4e91
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.16

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

Download URL flexablelib-2.1.0-cp312-cp312-win_amd64.whl
Size 141.6 kB
Tags CPython 3.12 Windows x86-64
SHA-256 checksum
How to use checksums
4e00abaee168ac9f4216524fcaef2492dd97a12bd9b700f153a8ce773152fac1
BLAKE2b-256 checksum
How to use checksums
412fcd707047a10bb06667162e8b403962bacb884621212028dc1f099c3806ae
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.16

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

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

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

Download URL flexablelib-2.1.0-cp312-cp312-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl
Size 155.9 kB
Tags CPython 3.12 Linux glibc 2.28+ x86-64 Linux glibc 2.5+ x86-64
SHA-256 checksum
How to use checksums
3c6b0c98494d68cff900615b82cf2af05563b662cea01a0862dd8f1250274583
BLAKE2b-256 checksum
How to use checksums
78959f61babe5e66dba4ae07591d8c1cfa6d64faef3ab1de4536a11fc56eed9e
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.16

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

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

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

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

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

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

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

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

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

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

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

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

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

Download URL flexablelib-2.1.0-cp310-cp310-musllinux_1_2_x86_64.whl
Size 153.0 kB
Tags CPython 3.10 Linux musl 1.2+ x86-64
SHA-256 checksum
How to use checksums
94fe9ac9609294e48e3e45c979361b60af9858550755052b185856a53cde0233
BLAKE2b-256 checksum
How to use checksums
0654ed999744eb2576428652d2aa314f5dea15d1d790fc6d66966746f9b14eb8
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.16

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

Download URL flexablelib-2.1.0-cp310-cp310-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl
Size 153.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
2f35e5de84c46314ed3428cfb5f00ebb6d30184ee117195c8b0b798a28d6326d
BLAKE2b-256 checksum
How to use checksums
84a5cbdcafeeeb07b940c6d9ecdf38db5f265a5dd34d0b0abb1f0d1724fb2fe3
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.16

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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