Skip to main content

flexablelib

Flexible Table Library — console and HTML tables for Python.

PyPI version Python versions Downloads per month Development status License


flexablelib

Flexible Table Library

Python package for formatting tabular data as console and HTML tables: border styles, cell merges, ANSI colors, per-type and decimal alignment, width fitting, I/O helpers, and optional C-accelerated text measurement.

Installation

pip install flexablelib on Windows.

pip3 install flexablelib on Linux

Prebuilt wheels (with the C speedups) are published for Linux (manylinux/musllinux), Windows (x64) and macOS (arm64); other platforms build from the sdist or fall back to pure Python.

Windows console encoding

Box-drawing styles (┌─┐, ╔═╗, ...) need a UTF-8 console. Legacy cp1252 consoles raise UnicodeEncodeError for them, while ASCII styles work everywhere. Enable UTF-8 with either:

chcp 65001
set PYTHONUTF8=1

(PowerShell: $env:PYTHONUTF8=1.) Windows Terminal with Python 3.8+ is usually UTF-8 already.

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.

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.

Performance

An optional C extension accelerates text measurement, and the render pipeline avoids the second measuring pass when the table already fits. On identical data:

Library 100x4 2000x4 10000x6
flexablelib 1.0 ms 16.9 ms 147 ms
prettytable 1.4 ms 23.2 ms 174 ms
tabulate 1.7 ms 27.5 ms 193 ms
pandas .to_string() 1.7 ms 22.9 ms 228 ms

Reproduce with python3 tools/benchmark.py. This measures one job: turning data already in memory into formatted text. pandas is an analysis engine and to_string is a convenience within it, so this says nothing about groupby or joins.

The extension is built automatically where a compiler is available and falls back to pure Python where it is not, so installation never fails for want of a toolchain.

from flexablelib.fast import implementation
print(implementation())   # 'C extension' or 'pure Python'

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 42 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; drives the release
└── 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.0.14

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.0.14
File Size Uploaded Provenance Actions
flexablelib-2.0.14.tar.gz 163.0 kB Without provenance Details for flexablelib-2.0.14.tar.gz

Built distributions (wheels)

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

Total release size: 3.1 MB

Release files / flexablelib-2.0.14.tar.gz

Download URL flexablelib-2.0.14.tar.gz
Size 163.0 kB
Tags Source
SHA-256 checksum
How to use checksums
e46248d38e7625810d59d3182e97a369ada59f218cbd43bbac48a243b7caa85f
BLAKE2b-256 checksum
How to use checksums
68ec9ea108568f7b63ae6ae24f080b56db87b449f6ad678c8c5885d44ef3ae40
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.5

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

Download URL flexablelib-2.0.14-cp313-cp313-win_amd64.whl
Size 116.2 kB
Tags CPython 3.13 Windows x86-64
SHA-256 checksum
How to use checksums
3beeb85132c5997a438ae1925f86737274d8ad680e411659b392a20ac17cab66
BLAKE2b-256 checksum
How to use checksums
2b6296cc6c54303163053fdddc59b8ebdfead666f26c49317cbb00d7140496e7
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.0.14-cp313-cp313-musllinux_1_2_x86_64.whl

Download URL flexablelib-2.0.14-cp313-cp313-musllinux_1_2_x86_64.whl
Size 130.2 kB
Tags CPython 3.13 Linux musl 1.2+ x86-64
SHA-256 checksum
How to use checksums
d7b5f9b56d2334e247aeea411a9be62ff4f349487ea560c07230b6e7171495ed
BLAKE2b-256 checksum
How to use checksums
a9dd4e9ebe6bfb3feb9e783daf06c16c4861f46f4e2234197822825f7581e954
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.0.14-cp313-cp313-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl

Download URL flexablelib-2.0.14-cp313-cp313-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Size 130.6 kB
Tags CPython 3.13 Linux glibc 2.17+ x86-64 Linux glibc 2.5+ x86-64
SHA-256 checksum
How to use checksums
ced7be52edee354c3e779be92e21569dfb8c55d80da5c1c13a460dda39750b32
BLAKE2b-256 checksum
How to use checksums
b6f1bfea1adb6f382116eeb07ce58c51703494562e0a4ac600dbb39f32f1671c
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.0.14-cp313-cp313-macosx_11_0_arm64.whl

Download URL flexablelib-2.0.14-cp313-cp313-macosx_11_0_arm64.whl
Size 113.8 kB
Tags CPython 3.13 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
58ff6354aae08dd9044a66663aaa1bfa41c65863ac4a39413c28814a8cbae450
BLAKE2b-256 checksum
How to use checksums
4af521ea08c689692394f4d6440379c78cb3711a15aeb76f87fbe53e7915b9de
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.0.14-cp312-cp312-win_amd64.whl

Download URL flexablelib-2.0.14-cp312-cp312-win_amd64.whl
Size 116.2 kB
Tags CPython 3.12 Windows x86-64
SHA-256 checksum
How to use checksums
3dcf1e3a1dd8e7131f4c821de21b3e638d3508aa50a2db676146c82b6a75c7d6
BLAKE2b-256 checksum
How to use checksums
c7a731d8f518359e7d168757a7a4f58ac1bcb6258d71ca24937e33c17badc31c
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.0.14-cp312-cp312-musllinux_1_2_x86_64.whl

Download URL flexablelib-2.0.14-cp312-cp312-musllinux_1_2_x86_64.whl
Size 130.2 kB
Tags CPython 3.12 Linux musl 1.2+ x86-64
SHA-256 checksum
How to use checksums
f1fbc18198efbbd5cb63932a39e69dd4e985e48597ff466aee8071f709fc0331
BLAKE2b-256 checksum
How to use checksums
206620427085ebb868ee47b6e86e279513e1abafd710dfcae6628584903e4679
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.0.14-cp312-cp312-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl

Download URL flexablelib-2.0.14-cp312-cp312-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Size 130.7 kB
Tags CPython 3.12 Linux glibc 2.17+ x86-64 Linux glibc 2.5+ x86-64
SHA-256 checksum
How to use checksums
119c3363fbdd230db035bef1a19ca903b532081e0eeafbd9beb69dbe02b4aef9
BLAKE2b-256 checksum
How to use checksums
ce9ffd0ba07e0e31aa6a8a337fad93e4bd798db541a01b060b9f9f8e0b0109b8
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.0.14-cp312-cp312-macosx_11_0_arm64.whl

Download URL flexablelib-2.0.14-cp312-cp312-macosx_11_0_arm64.whl
Size 113.8 kB
Tags CPython 3.12 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
c20e44c6234c9c0e95348285e4d455dc9936eee09b08adceb0440e2014b709fe
BLAKE2b-256 checksum
How to use checksums
16677e47062dac136c57eb2ad0b0111ddd4eb5ed0fe72ce2e25ef3b0c3129299
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.0.14-cp311-cp311-win_amd64.whl

Download URL flexablelib-2.0.14-cp311-cp311-win_amd64.whl
Size 116.2 kB
Tags CPython 3.11 Windows x86-64
SHA-256 checksum
How to use checksums
d74619c69d93247eee32f0486cd8aa50fffb3cc96d1b9d0dda56ed3b56fd4f23
BLAKE2b-256 checksum
How to use checksums
c1c7503f54a999618eb3e390bb307887a3f56ab518eb9121837d15c30781d327
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.0.14-cp311-cp311-musllinux_1_2_x86_64.whl

Download URL flexablelib-2.0.14-cp311-cp311-musllinux_1_2_x86_64.whl
Size 130.2 kB
Tags CPython 3.11 Linux musl 1.2+ x86-64
SHA-256 checksum
How to use checksums
a9a2ba42fb4903c5bdd881499a72354072478291e8b494e69fec509e625ee687
BLAKE2b-256 checksum
How to use checksums
1cc8d7d52d4fe8719e719f38bc7cd2e26851761919421adf542cfe5b93f6810b
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.0.14-cp311-cp311-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl

Download URL flexablelib-2.0.14-cp311-cp311-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Size 130.4 kB
Tags CPython 3.11 Linux glibc 2.17+ x86-64 Linux glibc 2.5+ x86-64
SHA-256 checksum
How to use checksums
c902335140196b37734ee4ff3ae24267f63a3bef16dcf43390ce9073e9f59149
BLAKE2b-256 checksum
How to use checksums
2e2943290aa87a860ff8342e4e140eb5183845ba724a4bcfbd823b43524730f1
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.0.14-cp311-cp311-macosx_11_0_arm64.whl

Download URL flexablelib-2.0.14-cp311-cp311-macosx_11_0_arm64.whl
Size 113.7 kB
Tags CPython 3.11 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
d2dfe706afe92d83fb29f45e15979210e0b2e808625ed0bdf9285e7dd9aeead3
BLAKE2b-256 checksum
How to use checksums
72f0fb883d75867207cec1b2fa2ccc3c18a1b751db40c1e6923c11a04a66b3cc
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.0.14-cp310-cp310-win_amd64.whl

Download URL flexablelib-2.0.14-cp310-cp310-win_amd64.whl
Size 116.2 kB
Tags CPython 3.10 Windows x86-64
SHA-256 checksum
How to use checksums
804b50c81876696908052b45ff11d0b25e2db5f9c6797c0e6386a3728ac0a1cc
BLAKE2b-256 checksum
How to use checksums
dad4421fa240d016662932bfe1b6ddaf5c7712b9b86d52bf13570ab7173ef637
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.0.14-cp310-cp310-musllinux_1_2_x86_64.whl

Download URL flexablelib-2.0.14-cp310-cp310-musllinux_1_2_x86_64.whl
Size 127.8 kB
Tags CPython 3.10 Linux musl 1.2+ x86-64
SHA-256 checksum
How to use checksums
8e9822a0305574057979956dca22ccde7e939dd1f47f3b02035ce81712b01650
BLAKE2b-256 checksum
How to use checksums
b8ad7a877f112a0a12612b9e46062322daa1ba9b7ee7f4a03e4a08f11769da12
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.0.14-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl

Download URL flexablelib-2.0.14-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Size 127.8 kB
Tags CPython 3.10 Linux glibc 2.17+ x86-64 Linux glibc 2.5+ x86-64
SHA-256 checksum
How to use checksums
c8904023e533a51d4e1e7d883ef4f1461e64786c4b5894fa994ef3874c7f48e1
BLAKE2b-256 checksum
How to use checksums
e2d2c172443e722a2fa7a05afd18ea6e128192e3f4de26c067b2a21edab2dd1a
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.0.14-cp310-cp310-macosx_11_0_arm64.whl

Download URL flexablelib-2.0.14-cp310-cp310-macosx_11_0_arm64.whl
Size 113.7 kB
Tags CPython 3.10 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
c606507ab6f4586020c06ccb176b2a2799852f183c27e633c011ec3f002a0fd3
BLAKE2b-256 checksum
How to use checksums
2a598c2c60339f02c9541915208d0d42335050a9a2c98894f1d883a4d4a8be6c
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.0.14-cp39-cp39-win_amd64.whl

Download URL flexablelib-2.0.14-cp39-cp39-win_amd64.whl
Size 116.2 kB
Tags CPython 3.9 Windows x86-64
SHA-256 checksum
How to use checksums
44925dd7eb2efbe7f51b396df34eb282784ee3e8287669c9e0970cf85d246123
BLAKE2b-256 checksum
How to use checksums
3161a1a1f61700d485cb8c76b9583a1e4123bd448c33a8db9aaa89ca65164a90
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.0.14-cp39-cp39-musllinux_1_2_x86_64.whl

Download URL flexablelib-2.0.14-cp39-cp39-musllinux_1_2_x86_64.whl
Size 127.6 kB
Tags CPython 3.9 Linux musl 1.2+ x86-64
SHA-256 checksum
How to use checksums
98df165c235d7ebe5ce0e369c35577241373a09b9e087aee966f53ad933fdcd4
BLAKE2b-256 checksum
How to use checksums
ff48fd582276b60e119bdbe13e806bac9ebc9ce1c046b64580f1bba25c4c9f6f
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.0.14-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl

Download URL flexablelib-2.0.14-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Size 127.7 kB
Tags CPython 3.9 Linux glibc 2.17+ x86-64 Linux glibc 2.5+ x86-64
SHA-256 checksum
How to use checksums
1d7a4f3ce26caa76b28963c9d30ab67b40e339465fde6b1c536e90db4372f326
BLAKE2b-256 checksum
How to use checksums
dee7f195c0e773dd183d73b83df94fe0d3acad7438e7088480d9b038ae24dc63
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.0.14-cp39-cp39-macosx_11_0_arm64.whl

Download URL flexablelib-2.0.14-cp39-cp39-macosx_11_0_arm64.whl
Size 113.7 kB
Tags CPython 3.9 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
788fbc1fd807cfbcf0541e8f8dd8e53f785c02aab29e4b1dce2b49eb4b7600d6
BLAKE2b-256 checksum
How to use checksums
3dfabb350b8d066387343794f3642443843b074ea6fb554a0bc2c092c3589dae
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.0.14-cp38-cp38-win_amd64.whl

Download URL flexablelib-2.0.14-cp38-cp38-win_amd64.whl
Size 116.1 kB
Tags CPython 3.8 Windows x86-64
SHA-256 checksum
How to use checksums
06c257196308619763a75856adecfecf99964f06c1c8ac9020175766ff04559f
BLAKE2b-256 checksum
How to use checksums
15bd77e3509af5f7a88dc88551b5a6f95650b1a02cd33ba1861d94064a0850a4
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.0.14-cp38-cp38-musllinux_1_2_x86_64.whl

Download URL flexablelib-2.0.14-cp38-cp38-musllinux_1_2_x86_64.whl
Size 127.4 kB
Tags CPython 3.8 Linux musl 1.2+ x86-64
SHA-256 checksum
How to use checksums
11ebb9b57b5f309bea9fa9d9ae519f30945bee738531980b4b74eec519893b63
BLAKE2b-256 checksum
How to use checksums
94a8f132781f68e6c55850cf4f9f80d9b317ad697d7550b8da56152910e1b75e
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.0.14-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl

Download URL flexablelib-2.0.14-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Size 128.0 kB
Tags CPython 3.8 Linux glibc 2.17+ x86-64 Linux glibc 2.5+ x86-64
SHA-256 checksum
How to use checksums
c1acce8e242a445941a4504cc08afb0e4ddab6714c106b4e8448d0478c2df650
BLAKE2b-256 checksum
How to use checksums
d9efc01e58d044ebf2d10894c49db758c4913474077cf9f97f5942b163902470
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.0.14-cp38-cp38-macosx_11_0_arm64.whl

Download URL flexablelib-2.0.14-cp38-cp38-macosx_11_0_arm64.whl
Size 113.5 kB
Tags CPython 3.8 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
fb39589a81d7eeaa1d57924f5b96a609a5b0fe6389ae4c8480b0dd559ea90025
BLAKE2b-256 checksum
How to use checksums
351cb40d551b10f7256254c03b4c15ca9e03cfed311830ee03bff854a988bc8b
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.0.14

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.0.14 This release

25 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