Skip to main content

High-performance Python bindings for the BCSV (Binary CSV) library with pandas integration

Project description

PyBCSV — Python Bindings for BCSV Library

High-performance Python bindings for the BCSV (Binary CSV) library — fast, compact time-series storage with pandas integration.

Features

  • High Performance: Binary format with optional LZ4 compression and delta encoding
  • Pandas Integration: Columnar DataFrame read/write via numpy zero-copy
  • Type Safety: Preserves column types and data integrity (10 numeric types + strings)
  • Cross-platform: Linux (x86_64, ARM64), macOS (x86_64, ARM64), Windows (AMD64)
  • Context Managers: All readers/writers support with statements
  • Streaming I/O: Row-by-row read/write, never loads entire file into memory
  • Direct Access: Random-access reads by row index via ReaderDirectAccess
  • Sampler: Bytecode VM for server-side row filtering and column projection
  • CSV Interop: Convert between CSV and BCSV via from_csv() / to_csv()

Installation

pip install pybcsv

# With pandas support
pip install pybcsv[pandas]

Quick Start

Write and Read

import pybcsv

# Define schema
layout = pybcsv.Layout()
layout.add_column("id", pybcsv.INT32)
layout.add_column("name", pybcsv.STRING)
layout.add_column("value", pybcsv.DOUBLE)

# Write rows (context manager auto-closes)
with pybcsv.Writer(layout) as writer:
    writer.open("data.bcsv")
    writer.write_row([1, "Alice", 123.45])
    writer.write_row([2, "Bob", 678.90])

# Read all rows
with pybcsv.Reader() as reader:
    reader.open("data.bcsv")
    for row in reader:          # iterator protocol
        print(row)
    # or: all_rows = reader.read_all()

Pandas Integration

import pybcsv
import pandas as pd

df = pd.DataFrame({
    'id': [1, 2, 3],
    'name': ['Alice', 'Bob', 'Charlie'],
    'value': [123.45, 678.90, 111.22]
})

# Write DataFrame (columnar path, numpy zero-copy for numerics)
pybcsv.write_dataframe(df, "data.bcsv")

# Read back as DataFrame
df_read = pybcsv.read_dataframe("data.bcsv")

CSV Conversion

import pybcsv

pybcsv.from_csv("input.csv", "output.bcsv")   # CSV → BCSV
pybcsv.to_csv("output.bcsv", "output.csv")    # BCSV → CSV

Random Access

import pybcsv

with pybcsv.ReaderDirectAccess() as da:
    da.open("data.bcsv")
    print(f"Total rows: {len(da)}")
    row = da[42]         # read row 42 directly (O(1) seek)
    print(da.read(100))  # alternative syntax

Available Types

Constant Description
pybcsv.BOOL Boolean
pybcsv.INT8 / pybcsv.UINT8 8-bit integers
pybcsv.INT16 / pybcsv.UINT16 16-bit integers
pybcsv.INT32 / pybcsv.UINT32 32-bit integers
pybcsv.INT64 / pybcsv.UINT64 64-bit integers
pybcsv.FLOAT 32-bit float
pybcsv.DOUBLE 64-bit float
pybcsv.STRING Variable-length string

API Reference

Layout

layout = pybcsv.Layout()                              # empty layout
layout = pybcsv.Layout([ColumnDefinition("x", INT32)]) # from list

layout.add_column(name: str, type: ColumnType)
layout.add_column(col: ColumnDefinition)
layout.column_count() -> int
layout.column_name(index: int) -> str
layout.column_type(index: int) -> ColumnType
layout.has_column(name: str) -> bool
layout.column_index(name: str) -> int
layout.get_column_names() -> list[str]
layout.get_column_types() -> list[ColumnType]
layout.get_column(index: int) -> ColumnDefinition
len(layout)           # column count
layout[i]             # ColumnDefinition at index i

Writer

writer = pybcsv.Writer(layout: Layout, row_codec: str = "delta")
writer.open(filename: str, overwrite: bool = True,
            compression_level: int = 1, block_size_kb: int = 64,
            flags: FileFlags = FileFlags.BATCH_COMPRESS)  # raises RuntimeError on failure
writer.write_row(values: list)
writer.write_rows(rows: list[list])     # batch write
writer.flush()
writer.close()
writer.is_open() -> bool
writer.row_count() -> int
writer.row_codec() -> str
writer.compression_level() -> int
writer.layout() -> Layout

# Context manager
with pybcsv.Writer(layout) as w:
    w.open("out.bcsv")
    w.write_row([...])

Row codec options: "flat", "zoh" (zero-order hold), "delta" (default).

Reader

reader = pybcsv.Reader()
reader.open(filename: str)              # raises RuntimeError on failure
reader.read_next() -> bool              # advance to next row
reader.read_row() -> list | None        # read+advance, None at EOF
reader.read_all() -> list[list]         # read remaining rows
reader.close()
reader.is_open() -> bool
reader.layout() -> Layout
reader.row_pos() -> int                 # current row index
reader.row_value(column: int) -> Any    # typed value from current row
reader.row_dict() -> dict               # current row as {name: value}
reader.file_flags() -> FileFlags
reader.compression_level() -> int
reader.version_string() -> str
reader.creation_time() -> str
reader.count_rows() -> int              # total row count

# Iterator protocol
for row in reader:
    print(row)

# Context manager
with pybcsv.Reader() as r:
    r.open("data.bcsv")
    for row in r:
        print(row)

ReaderDirectAccess

Random-access reader — reads any row by index without scanning.

da = pybcsv.ReaderDirectAccess()
da.open(filename: str, rebuild_footer: bool = False)
da.read(index: int) -> list             # read row at index
da.row_count() -> int
da.layout() -> Layout
da.close()
da.is_open() -> bool
da.file_flags() -> FileFlags
da.compression_level() -> int
da.version_string() -> str
da.creation_time() -> str

len(da)               # row count
da[i]                 # read row at index i

CsvWriter / CsvReader

Native CSV I/O with the same Layout-based schema.

# Write CSV
csv_w = pybcsv.CsvWriter(layout, delimiter=',', decimal_sep='.')
csv_w.open(filename, overwrite=True, include_header=True)
csv_w.write_row(values)
csv_w.write_rows(rows)
csv_w.close()

# Read CSV
csv_r = pybcsv.CsvReader(layout, delimiter=',', decimal_sep='.')
csv_r.open(filename, has_header=True)
for row in csv_r:       # iterator support
    print(row)
csv_r.close()

Sampler

Bytecode VM for filtering and projecting rows from an open Reader.

reader = pybcsv.Reader()
reader.open("data.bcsv")

sampler = pybcsv.Sampler(reader)
sampler.set_conditional("col_a > 10")    # filter expression
sampler.set_selection("col_a, col_b")    # column projection

result = sampler.output_layout()         # SamplerCompileResult (bool-testable)
if result:
    for row in sampler:                  # iterate matching rows
        print(row)

FileFlags

pybcsv.FileFlags.NONE
pybcsv.FileFlags.ZERO_ORDER_HOLD
pybcsv.FileFlags.NO_FILE_INDEX
pybcsv.FileFlags.STREAM_MODE
pybcsv.FileFlags.BATCH_COMPRESS
pybcsv.FileFlags.DELTA_ENCODING

# Combinable with | and &
flags = pybcsv.FileFlags.BATCH_COMPRESS | pybcsv.FileFlags.NO_FILE_INDEX

Utility Functions

# Pandas integration (requires pandas)
pybcsv.write_dataframe(df, filename,
                       compression_level=1,
                       row_codec="delta",
                       type_hints=None)  # dict[str, ColumnType]
pybcsv.read_dataframe(filename, columns=None)  # -> pd.DataFrame

# CSV conversion (requires pandas)
pybcsv.from_csv(csv_file, bcsv_file, compression_level=1, type_hints=None)
pybcsv.to_csv(bcsv_file, csv_file)

# Columnar I/O (numpy arrays)
pybcsv.read_columns(filename) -> dict[str, np.ndarray | list[str]]
pybcsv.write_columns(filename, columns, col_order, col_types,
                     row_codec="delta", compression_level=1)
pybcsv.read_to_dataframe(filename, columns=None) -> pd.DataFrame

# Type utilities
pybcsv.type_to_string(column_type) -> str

Testing

pip install pybcsv[test]
python -m pytest tests/ -v

File Structure

python/
├── pybcsv/
│   ├── __init__.py           # Public API and exports
│   ├── __version__.py        # Version (setuptools-scm)
│   ├── bindings.cpp          # C++ nanobind bindings
│   └── pandas_utils.py       # Pandas/CSV integration
├── examples/
│   ├── basic_usage.py        # Core BCSV operations
│   ├── pandas_integration.py # DataFrame examples
│   ├── advanced_usage.py     # DirectAccess, Sampler, CSV, columnar I/O
│   └── performance_benchmark.py
├── tests/                    # 17 test modules (pytest)
├── benchmarks/               # Python benchmark runner
├── pyproject.toml
└── README.md

Compatibility

  • Python: 3.11, 3.12, 3.13
  • Platforms: Linux (x86_64, ARM64), macOS (x86_64, ARM64), Windows (AMD64)
  • Compilers: GCC 13+, Clang 16+, MSVC 2022 17.4+, Apple Clang (Xcode 15.4+)
  • C++ Standard: C++20
  • Dependencies:
    • numpy >= 1.19.0 (required)
    • pandas >= 1.0.0 (optional — pip install pybcsv[pandas])

License

MIT — see LICENSE for details.

Publishing

Wheels are built automatically via GitHub Actions (cibuildwheel) and published using Trusted Publisher (OIDC) — no API tokens required.

  • TestPyPI: every push to main/master or version tags
  • PyPI: only on v* tags (e.g. git tag v1.4.0 && git push origin v1.4.0)
  1. Trigger the publish workflow:
  • The workflow triggers on pushes to the release branch or via manual workflow_dispatch.
  1. Install from TestPyPI for verification:
# in a fresh virtualenv
python -m venv venv && source venv/bin/activate
pip install --index-url https://test.pypi.org/simple/ --extra-index-url https://pypi.org/simple pybcsv
python -c "import pybcsv; print(pybcsv.__version__)"

If the import and version check succeed the wheel is good for release.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

pybcsv-1.4.2.tar.gz (389.6 kB view details)

Uploaded Source

Built Distributions

If you're not sure about the file name format, learn more about wheel file names.

pybcsv-1.4.2-cp313-cp313-win_amd64.whl (363.5 kB view details)

Uploaded CPython 3.13Windows x86-64

pybcsv-1.4.2-cp313-cp313-musllinux_1_2_x86_64.whl (1.2 MB view details)

Uploaded CPython 3.13musllinux: musl 1.2+ x86-64

pybcsv-1.4.2-cp313-cp313-musllinux_1_2_aarch64.whl (1.1 MB view details)

Uploaded CPython 3.13musllinux: musl 1.2+ ARM64

pybcsv-1.4.2-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (720.4 kB view details)

Uploaded CPython 3.13manylinux: glibc 2.27+ x86-64manylinux: glibc 2.28+ x86-64

pybcsv-1.4.2-cp313-cp313-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl (662.4 kB view details)

Uploaded CPython 3.13manylinux: glibc 2.27+ ARM64manylinux: glibc 2.28+ ARM64

pybcsv-1.4.2-cp313-cp313-macosx_13_0_x86_64.whl (413.1 kB view details)

Uploaded CPython 3.13macOS 13.0+ x86-64

pybcsv-1.4.2-cp313-cp313-macosx_13_0_arm64.whl (382.8 kB view details)

Uploaded CPython 3.13macOS 13.0+ ARM64

pybcsv-1.4.2-cp312-cp312-win_amd64.whl (363.6 kB view details)

Uploaded CPython 3.12Windows x86-64

pybcsv-1.4.2-cp312-cp312-musllinux_1_2_x86_64.whl (1.2 MB view details)

Uploaded CPython 3.12musllinux: musl 1.2+ x86-64

pybcsv-1.4.2-cp312-cp312-musllinux_1_2_aarch64.whl (1.1 MB view details)

Uploaded CPython 3.12musllinux: musl 1.2+ ARM64

pybcsv-1.4.2-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (720.5 kB view details)

Uploaded CPython 3.12manylinux: glibc 2.27+ x86-64manylinux: glibc 2.28+ x86-64

pybcsv-1.4.2-cp312-cp312-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl (662.5 kB view details)

Uploaded CPython 3.12manylinux: glibc 2.27+ ARM64manylinux: glibc 2.28+ ARM64

pybcsv-1.4.2-cp312-cp312-macosx_13_0_x86_64.whl (413.2 kB view details)

Uploaded CPython 3.12macOS 13.0+ x86-64

pybcsv-1.4.2-cp312-cp312-macosx_13_0_arm64.whl (382.8 kB view details)

Uploaded CPython 3.12macOS 13.0+ ARM64

pybcsv-1.4.2-cp311-cp311-win_amd64.whl (363.5 kB view details)

Uploaded CPython 3.11Windows x86-64

pybcsv-1.4.2-cp311-cp311-musllinux_1_2_x86_64.whl (1.2 MB view details)

Uploaded CPython 3.11musllinux: musl 1.2+ x86-64

pybcsv-1.4.2-cp311-cp311-musllinux_1_2_aarch64.whl (1.1 MB view details)

Uploaded CPython 3.11musllinux: musl 1.2+ ARM64

pybcsv-1.4.2-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (720.9 kB view details)

Uploaded CPython 3.11manylinux: glibc 2.27+ x86-64manylinux: glibc 2.28+ x86-64

pybcsv-1.4.2-cp311-cp311-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl (663.6 kB view details)

Uploaded CPython 3.11manylinux: glibc 2.27+ ARM64manylinux: glibc 2.28+ ARM64

pybcsv-1.4.2-cp311-cp311-macosx_13_0_x86_64.whl (412.3 kB view details)

Uploaded CPython 3.11macOS 13.0+ x86-64

pybcsv-1.4.2-cp311-cp311-macosx_13_0_arm64.whl (383.0 kB view details)

Uploaded CPython 3.11macOS 13.0+ ARM64

File details

Details for the file pybcsv-1.4.2.tar.gz.

File metadata

  • Download URL: pybcsv-1.4.2.tar.gz
  • Upload date:
  • Size: 389.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for pybcsv-1.4.2.tar.gz
Algorithm Hash digest
SHA256 1dbf74b2aa1c6fb5ecdc6e07d52a1899b053f4f6030dee997c198ae46d863327
MD5 bd6ef3b32695e5f0b8683ec99860d99c
BLAKE2b-256 fa9a4ec15dbe36ba43bcabead6b2d128f249e79790b94ae638b79831ce47e235

See more details on using hashes here.

Provenance

The following attestation bundles were made for pybcsv-1.4.2.tar.gz:

Publisher: build-and-publish.yml on webertob/bcsv

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file pybcsv-1.4.2-cp313-cp313-win_amd64.whl.

File metadata

  • Download URL: pybcsv-1.4.2-cp313-cp313-win_amd64.whl
  • Upload date:
  • Size: 363.5 kB
  • Tags: CPython 3.13, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for pybcsv-1.4.2-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 78c4287abe019b9035f511abf5d67e73d7e830a1700b3df4bd550263199aedf8
MD5 19bff6778c5d23bc207c4e2a3e8456aa
BLAKE2b-256 c5432dca544d229c1f839f731fab92de94481308b902266337bb8893ed09e167

See more details on using hashes here.

Provenance

The following attestation bundles were made for pybcsv-1.4.2-cp313-cp313-win_amd64.whl:

Publisher: build-and-publish.yml on webertob/bcsv

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file pybcsv-1.4.2-cp313-cp313-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for pybcsv-1.4.2-cp313-cp313-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 c0e183f9c000c7f0efddd3d300529967ae1c289ca6226771b227a3e1e0392730
MD5 0035500304fba937827f7126ba8255e2
BLAKE2b-256 bb28170b20c286862ae7d78e58092b47cb37b65e28206d7b01f07d13e550dca4

See more details on using hashes here.

Provenance

The following attestation bundles were made for pybcsv-1.4.2-cp313-cp313-musllinux_1_2_x86_64.whl:

Publisher: build-and-publish.yml on webertob/bcsv

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file pybcsv-1.4.2-cp313-cp313-musllinux_1_2_aarch64.whl.

File metadata

File hashes

Hashes for pybcsv-1.4.2-cp313-cp313-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 53a40165f4353a3c807326a73f306836aef8c9f06690f5c88173b4b717f63e6f
MD5 ae75054935fdb5d9b2c19efd34f65a90
BLAKE2b-256 6793c7e7d0d6bc366849b0b52d044285c26fa4c8a13f00cd60d2b44a97a5f670

See more details on using hashes here.

Provenance

The following attestation bundles were made for pybcsv-1.4.2-cp313-cp313-musllinux_1_2_aarch64.whl:

Publisher: build-and-publish.yml on webertob/bcsv

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file pybcsv-1.4.2-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for pybcsv-1.4.2-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 223a8722b5d03c98b80f7002779859f73a4e5c49e036419fbc8c993e56c34592
MD5 421d8387640781c5fe6c081e7e2171c5
BLAKE2b-256 80a5835efa444897ae12f7b473e98752ddfb340136ea023a9b6331d1fdc28186

See more details on using hashes here.

Provenance

The following attestation bundles were made for pybcsv-1.4.2-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl:

Publisher: build-and-publish.yml on webertob/bcsv

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file pybcsv-1.4.2-cp313-cp313-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for pybcsv-1.4.2-cp313-cp313-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 522cd49b9d5135462c4c60e09153b703655ca50a8cffcc457e752cf56e489a56
MD5 e14b592c3e684e645c549f2bb0cf173a
BLAKE2b-256 79c49341508843a526c716f305efb055a278903954e7c5b4ddb8daf80bb0f704

See more details on using hashes here.

Provenance

The following attestation bundles were made for pybcsv-1.4.2-cp313-cp313-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl:

Publisher: build-and-publish.yml on webertob/bcsv

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file pybcsv-1.4.2-cp313-cp313-macosx_13_0_x86_64.whl.

File metadata

File hashes

Hashes for pybcsv-1.4.2-cp313-cp313-macosx_13_0_x86_64.whl
Algorithm Hash digest
SHA256 908c4578f1515ceba84cdf800b91b8bd39ea4d219dee6deda2149bee37023de4
MD5 970501512f0d1304e5edb3098a55d719
BLAKE2b-256 92ac752cecbaf0cc76716c8aa4e2c742e894bbd7fa94f190ca5ed4175b96ee54

See more details on using hashes here.

Provenance

The following attestation bundles were made for pybcsv-1.4.2-cp313-cp313-macosx_13_0_x86_64.whl:

Publisher: build-and-publish.yml on webertob/bcsv

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file pybcsv-1.4.2-cp313-cp313-macosx_13_0_arm64.whl.

File metadata

File hashes

Hashes for pybcsv-1.4.2-cp313-cp313-macosx_13_0_arm64.whl
Algorithm Hash digest
SHA256 df8927503ba3bb3a6e41610fdbb5a07fb3cc78a2a6791276d86f4fcdbca2b4ad
MD5 dc92691ce5b5af1ed8744f84293da226
BLAKE2b-256 75ee995d9a59a8ce7ef23e30761ca4ac90394c2230382dab0eaacdd6f7c8a567

See more details on using hashes here.

Provenance

The following attestation bundles were made for pybcsv-1.4.2-cp313-cp313-macosx_13_0_arm64.whl:

Publisher: build-and-publish.yml on webertob/bcsv

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file pybcsv-1.4.2-cp312-cp312-win_amd64.whl.

File metadata

  • Download URL: pybcsv-1.4.2-cp312-cp312-win_amd64.whl
  • Upload date:
  • Size: 363.6 kB
  • Tags: CPython 3.12, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for pybcsv-1.4.2-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 da341f7cfa107bb090a5bac66466e90df20ac8ecc68b2b565680c7f8b77a2551
MD5 d5b0bb5bd40cd7bdac0c46f978ac955c
BLAKE2b-256 a842adc0642e1a4c1dc66f2dbc78c2fb0c3cd18d354f7e176dafbc5a9f30302d

See more details on using hashes here.

Provenance

The following attestation bundles were made for pybcsv-1.4.2-cp312-cp312-win_amd64.whl:

Publisher: build-and-publish.yml on webertob/bcsv

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file pybcsv-1.4.2-cp312-cp312-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for pybcsv-1.4.2-cp312-cp312-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 2319cfb739ef0e1e01ac5a8e297e26fef0521c2858112772dbbd92bad93f3650
MD5 f0e82c802e1071bf89f86be742f130c6
BLAKE2b-256 82e09d63d91c180d3dc232e7a81d23e39fb6dbc8a939462f5a9c53d999241c56

See more details on using hashes here.

Provenance

The following attestation bundles were made for pybcsv-1.4.2-cp312-cp312-musllinux_1_2_x86_64.whl:

Publisher: build-and-publish.yml on webertob/bcsv

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file pybcsv-1.4.2-cp312-cp312-musllinux_1_2_aarch64.whl.

File metadata

File hashes

Hashes for pybcsv-1.4.2-cp312-cp312-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 948c026f5f9001c39fcdcef0a716587ca490e5591beb267176c30555c4d03c54
MD5 59ee28f932ef57e8598f339112cbc728
BLAKE2b-256 c52ecde6a8fbd1197bbbdd032c826ad10446b3bd9c443ace48aa9dbb59103092

See more details on using hashes here.

Provenance

The following attestation bundles were made for pybcsv-1.4.2-cp312-cp312-musllinux_1_2_aarch64.whl:

Publisher: build-and-publish.yml on webertob/bcsv

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file pybcsv-1.4.2-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for pybcsv-1.4.2-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 c2548dedbbcb9fd9d500e7b265e9da2605228b96c848be05f8b8560fdde9f6d0
MD5 48567fc448613da22c69c65b8dce8e5d
BLAKE2b-256 85d8d346fb7a679c2d22565115cbc6092fdb8cef5de9b302c981131fab5f9851

See more details on using hashes here.

Provenance

The following attestation bundles were made for pybcsv-1.4.2-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl:

Publisher: build-and-publish.yml on webertob/bcsv

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file pybcsv-1.4.2-cp312-cp312-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for pybcsv-1.4.2-cp312-cp312-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 2502b70914d857a30821386d0aa0e6d75ee30cdc1bc3b5db2d66c7d02bce26af
MD5 83484b4cc240f1cb877c759d63e18ee4
BLAKE2b-256 1b5c889f7c76087ba6ae19de8cd7da50ac5325d886811cced5a9da1a81d06469

See more details on using hashes here.

Provenance

The following attestation bundles were made for pybcsv-1.4.2-cp312-cp312-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl:

Publisher: build-and-publish.yml on webertob/bcsv

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file pybcsv-1.4.2-cp312-cp312-macosx_13_0_x86_64.whl.

File metadata

File hashes

Hashes for pybcsv-1.4.2-cp312-cp312-macosx_13_0_x86_64.whl
Algorithm Hash digest
SHA256 181d31a1769936a781a1116cc82ac8c5768d59dcf0f85e319a8ccfe240651c9a
MD5 37bd782ba30757ff50bb361cc0a155c2
BLAKE2b-256 5784e19b83ed7bde5c97a77c0ba31c1f8abedc6555ead25e983876e6520f701b

See more details on using hashes here.

Provenance

The following attestation bundles were made for pybcsv-1.4.2-cp312-cp312-macosx_13_0_x86_64.whl:

Publisher: build-and-publish.yml on webertob/bcsv

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file pybcsv-1.4.2-cp312-cp312-macosx_13_0_arm64.whl.

File metadata

File hashes

Hashes for pybcsv-1.4.2-cp312-cp312-macosx_13_0_arm64.whl
Algorithm Hash digest
SHA256 5a9b914e4759a04cb42fe5f29cf6ac19ddb0992b152243e28cf3c60e64f7bef3
MD5 cf0aba69b64c10a506ea3e1c8d2ee5de
BLAKE2b-256 ff45296e78a196a15c201c70b460faf66672926f94dc5538210b5fcf4b1ba8ba

See more details on using hashes here.

Provenance

The following attestation bundles were made for pybcsv-1.4.2-cp312-cp312-macosx_13_0_arm64.whl:

Publisher: build-and-publish.yml on webertob/bcsv

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file pybcsv-1.4.2-cp311-cp311-win_amd64.whl.

File metadata

  • Download URL: pybcsv-1.4.2-cp311-cp311-win_amd64.whl
  • Upload date:
  • Size: 363.5 kB
  • Tags: CPython 3.11, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for pybcsv-1.4.2-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 9cabdd37617c585871f2283d06253962223cd458e911cc1f4dbfe822efce636d
MD5 226508ab23fa456bf82f2b0f5c3fbbdb
BLAKE2b-256 eee7d6f5cd8e10c2fb3560fdce1207dbb35868b7caf54ba2418104b16dd99ec7

See more details on using hashes here.

Provenance

The following attestation bundles were made for pybcsv-1.4.2-cp311-cp311-win_amd64.whl:

Publisher: build-and-publish.yml on webertob/bcsv

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file pybcsv-1.4.2-cp311-cp311-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for pybcsv-1.4.2-cp311-cp311-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 2529a4668f694d2b0f0f39659eb0f7b3cf2c6cff79c1b4540b33c0864e19182e
MD5 fce509b3f66a902637d87892c7a74bc2
BLAKE2b-256 5fee724c151cb09b23f94a3e582e529ea596c033b06600a768bfd59b4984db1c

See more details on using hashes here.

Provenance

The following attestation bundles were made for pybcsv-1.4.2-cp311-cp311-musllinux_1_2_x86_64.whl:

Publisher: build-and-publish.yml on webertob/bcsv

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file pybcsv-1.4.2-cp311-cp311-musllinux_1_2_aarch64.whl.

File metadata

File hashes

Hashes for pybcsv-1.4.2-cp311-cp311-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 a3068e5974de05256d99531a7803125b19ef5f6c080fc147f04d83b22e789198
MD5 93fc30d49b65ec774f6d6ef6d13701bf
BLAKE2b-256 6db05686aeed618f5c9a2af1ab38b943a12a162121a769315fe7d78de8ea48aa

See more details on using hashes here.

Provenance

The following attestation bundles were made for pybcsv-1.4.2-cp311-cp311-musllinux_1_2_aarch64.whl:

Publisher: build-and-publish.yml on webertob/bcsv

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file pybcsv-1.4.2-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for pybcsv-1.4.2-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 33403a39a1f417c9157b454ebae6052d4116e6e96de4d18dd880d4f910338cc1
MD5 1c8de5d6814be6c055fb87a2189c4951
BLAKE2b-256 08e7b7fb282b6d16a96a2aec66ebc2b668fb07b8200a59e4c0b87224c56bbd05

See more details on using hashes here.

Provenance

The following attestation bundles were made for pybcsv-1.4.2-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl:

Publisher: build-and-publish.yml on webertob/bcsv

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file pybcsv-1.4.2-cp311-cp311-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for pybcsv-1.4.2-cp311-cp311-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 979ae56b94df76c54efaa08ae7fd96393e469a957e4b0325c5c6f33833cff1cf
MD5 112642dfb36e7aa4852d85e1476e8729
BLAKE2b-256 f6d4c768aea11c04c3f1a3e27987ead9765239801163d0663a8a620e51222346

See more details on using hashes here.

Provenance

The following attestation bundles were made for pybcsv-1.4.2-cp311-cp311-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl:

Publisher: build-and-publish.yml on webertob/bcsv

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file pybcsv-1.4.2-cp311-cp311-macosx_13_0_x86_64.whl.

File metadata

File hashes

Hashes for pybcsv-1.4.2-cp311-cp311-macosx_13_0_x86_64.whl
Algorithm Hash digest
SHA256 febd8f2129594dca00d482a5bc19b65eb66fb2b235fac5283358738973309e06
MD5 a01aef5f016f3a8141eeba40d8bfac0a
BLAKE2b-256 568be3d4e30abde988e207d358ccb94652058a237f0c307fbfecfc0d91b0b5d9

See more details on using hashes here.

Provenance

The following attestation bundles were made for pybcsv-1.4.2-cp311-cp311-macosx_13_0_x86_64.whl:

Publisher: build-and-publish.yml on webertob/bcsv

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file pybcsv-1.4.2-cp311-cp311-macosx_13_0_arm64.whl.

File metadata

File hashes

Hashes for pybcsv-1.4.2-cp311-cp311-macosx_13_0_arm64.whl
Algorithm Hash digest
SHA256 f8711fd1e0b5db5095c19671e822c8f0301dbb94f9f4a0e4306498aa1572d48e
MD5 ee643c628df091b0718f9bdbf06c9525
BLAKE2b-256 ef2f8081bffcc8a2c53ce1b716d99675e4ce22f0fc536ddea101e1d58712400a

See more details on using hashes here.

Provenance

The following attestation bundles were made for pybcsv-1.4.2-cp311-cp311-macosx_13_0_arm64.whl:

Publisher: build-and-publish.yml on webertob/bcsv

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page