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

PyBCSV provides Python bindings for the high-performance BCSV (Binary CSV) library, enabling efficient binary CSV file handling with pandas integration.

Features

  • High Performance: Binary format with optional LZ4 compression
  • Pandas Integration: Direct DataFrame read/write support
  • Type Safety: Preserves column types and data integrity
  • Cross-platform: Works on Linux, macOS, and Windows
  • Memory Efficient: Columnar I/O with numpy zero-copy for numeric data

Installation

The Python wrapper has been successfully built and installed. To use it:

cd python
pip install .

Basic Usage

Core BCSV Operations

import pybcsv

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

# Write data
writer = pybcsv.Writer(layout)
writer.open("data.bcsv")
writer.write_row([1, "Alice", 123.45])
writer.write_row([2, "Bob", 678.90])
writer.close()

# Read data
reader = pybcsv.Reader()
reader.open("data.bcsv")
all_rows = reader.read_all()
reader.close()

print(all_rows)
# Output: [[1, 'Alice', 123.45], [2, 'Bob', 678.9]]

Pandas Integration

import pybcsv
import pandas as pd

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

# Write DataFrame to BCSV
pybcsv.write_dataframe(df, "data.bcsv")

# Read back as DataFrame
df_read = pybcsv.read_dataframe("data.bcsv")
print(df_read.equals(df))  # True

CSV Conversion

import pybcsv

# Convert CSV to BCSV
pybcsv.from_csv("input.csv", "output.bcsv")

# Convert BCSV to CSV
pybcsv.to_csv("output.bcsv", "output.csv")

Available Types

  • pybcsv.BOOL - Boolean values
  • 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 floating point
  • pybcsv.DOUBLE - 64-bit floating point
  • pybcsv.STRING - Variable-length strings

API Reference

Layout Class

layout = pybcsv.Layout()
layout.add_column(name: str, column_type: ColumnType)
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

Writer Class

writer = pybcsv.Writer(layout: Layout)
writer.open(filename: str, overwrite: bool = True,
            compression_level: int = 1, block_size_kb: int = 64,
            flags: FileFlags = FileFlags.NONE) -> None  # raises RuntimeError on failure
writer.write_row(values: list) -> None
writer.flush() -> None
writer.close() -> None
writer.is_open() -> bool

Reader Class

reader = pybcsv.Reader()
reader.open(filename: str) -> None  # raises RuntimeError on failure
reader.read_next() -> bool
reader.read_all() -> list[list]
reader.close() -> None
reader.is_open() -> bool
reader.layout() -> Layout

Utility Functions

# Pandas integration
pybcsv.write_dataframe(df: pd.DataFrame, filename: str, compression: bool = True)
pybcsv.read_dataframe(filename: str) -> pd.DataFrame

# CSV conversion
pybcsv.from_csv(csv_filename: str, bcsv_filename: str, compression: bool = True)
pybcsv.to_csv(bcsv_filename: str, csv_filename: str)

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

Performance Benefits

The binary format provides significant advantages:

  1. Faster I/O: Binary format is faster to read/write than text CSV
  2. Type Safety: Preserves exact data types without parsing
  3. Compression: Optional LZ4 compression reduces file size
  4. Memory Efficiency: Columnar I/O with numpy zero-copy for numeric data

Testing

Run the included test scripts to verify functionality:

python -m pytest tests/ -v    # All tests

Python Benchmark Lane (Item 11.B)

Dedicated benchmark runner:

python3 python/benchmarks/run_pybcsv_benchmarks.py --size=S

See python/benchmarks/README.md for workload/mode options and output schema.

File Structure

python/
├── pybcsv/
│   ├── __init__.py           # Main module interface
│   ├── __version__.py        # Version information
│   ├── bindings.cpp          # C++ pybind11 bindings
│   └── pandas_utils.py       # Pandas integration utilities
├── examples/
│   ├── basic_example.py      # Basic usage examples
│   └── pandas_example.py     # Pandas integration examples
├── tests/
│   ├── test_basic.py         # Basic functionality tests
│   └── test_pandas.py        # Pandas integration tests
├── setup.py                  # Package build configuration
├── pyproject.toml           # Modern Python packaging config
└── README.md                # This documentation

Compatibility

  • Python: 3.11+ (tested with 3.12)
  • Dependencies:
    • numpy >= 1.19.0 (required)
    • pandas >= 1.3.0 (optional, for DataFrame integration)
  • Platforms: Linux, macOS, Windows
  • Compilers: GCC 7+, Clang 8+, MSVC 2019+

Performance Results

Based on testing with sample data:

  • DataFrame I/O: Perfect data fidelity with type preservation
  • File Size: Efficient binary encoding (varies by data and compression)
  • Speed: Significantly faster than CSV for repeated I/O operations
  • Memory: Columnar I/O with numpy zero-copy for numeric data

The Python wrapper successfully bridges the high-performance C++ BCSV library with Python's data science ecosystem, providing both convenience and performance for data processing workflows.

License

MIT License

Copyright (c) 2025 Tobias Weber weber.tobias.md@gmail.com

Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

See the LICENSE file for full details.

Publishing

To publish built wheels to TestPyPI and PyPI you'll need to create API tokens and add them as GitHub repository secrets.

  1. Create API tokens:
  • TestPyPI: Go to the TestPyPI account page and create an API token. Copy the token: TestPyPI account page.

  • PyPI: Go to the PyPI account page and create an API token for the project (or your account). Copy the token: PyPI account page.

  1. Add GitHub secrets:
  • In your repository on GitHub, go to Settings → Secrets → Actions.

  • Add a new secret named TEST_PYPI_API_TOKEN and paste the TestPyPI token.

  • Optionally add PYPI_API_TOKEN with the PyPI token when you're ready to publish to the main index.

  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.0.tar.gz (47.8 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.0-cp313-cp313-win_amd64.whl (434.3 kB view details)

Uploaded CPython 3.13Windows x86-64

pybcsv-1.4.0-cp313-cp313-musllinux_1_2_x86_64.whl (1.6 MB view details)

Uploaded CPython 3.13musllinux: musl 1.2+ x86-64

pybcsv-1.4.0-cp313-cp313-musllinux_1_2_aarch64.whl (1.6 MB view details)

Uploaded CPython 3.13musllinux: musl 1.2+ ARM64

pybcsv-1.4.0-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (852.4 kB view details)

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

pybcsv-1.4.0-cp313-cp313-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl (793.6 kB view details)

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

pybcsv-1.4.0-cp313-cp313-macosx_13_0_x86_64.whl (569.2 kB view details)

Uploaded CPython 3.13macOS 13.0+ x86-64

pybcsv-1.4.0-cp313-cp313-macosx_13_0_arm64.whl (520.6 kB view details)

Uploaded CPython 3.13macOS 13.0+ ARM64

pybcsv-1.4.0-cp312-cp312-win_amd64.whl (434.3 kB view details)

Uploaded CPython 3.12Windows x86-64

pybcsv-1.4.0-cp312-cp312-musllinux_1_2_x86_64.whl (1.6 MB view details)

Uploaded CPython 3.12musllinux: musl 1.2+ x86-64

pybcsv-1.4.0-cp312-cp312-musllinux_1_2_aarch64.whl (1.6 MB view details)

Uploaded CPython 3.12musllinux: musl 1.2+ ARM64

pybcsv-1.4.0-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (852.3 kB view details)

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

pybcsv-1.4.0-cp312-cp312-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl (793.8 kB view details)

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

pybcsv-1.4.0-cp312-cp312-macosx_13_0_x86_64.whl (569.2 kB view details)

Uploaded CPython 3.12macOS 13.0+ x86-64

pybcsv-1.4.0-cp312-cp312-macosx_13_0_arm64.whl (520.6 kB view details)

Uploaded CPython 3.12macOS 13.0+ ARM64

pybcsv-1.4.0-cp311-cp311-win_amd64.whl (432.3 kB view details)

Uploaded CPython 3.11Windows x86-64

pybcsv-1.4.0-cp311-cp311-musllinux_1_2_x86_64.whl (1.6 MB view details)

Uploaded CPython 3.11musllinux: musl 1.2+ x86-64

pybcsv-1.4.0-cp311-cp311-musllinux_1_2_aarch64.whl (1.6 MB view details)

Uploaded CPython 3.11musllinux: musl 1.2+ ARM64

pybcsv-1.4.0-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (846.3 kB view details)

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

pybcsv-1.4.0-cp311-cp311-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl (791.9 kB view details)

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

pybcsv-1.4.0-cp311-cp311-macosx_13_0_x86_64.whl (560.6 kB view details)

Uploaded CPython 3.11macOS 13.0+ x86-64

pybcsv-1.4.0-cp311-cp311-macosx_13_0_arm64.whl (515.3 kB view details)

Uploaded CPython 3.11macOS 13.0+ ARM64

File details

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

File metadata

  • Download URL: pybcsv-1.4.0.tar.gz
  • Upload date:
  • Size: 47.8 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.0.tar.gz
Algorithm Hash digest
SHA256 d0d108f332e95da0282427c3c27821a74259e70073c23483fa81ebe9db096d96
MD5 0ebd9c648f6d479c0c3eb9d9b72830d7
BLAKE2b-256 383a2028c00753f3b58d350bf800c757707272e966a1af763fdeb12ac43667ec

See more details on using hashes here.

Provenance

The following attestation bundles were made for pybcsv-1.4.0.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.0-cp313-cp313-win_amd64.whl.

File metadata

  • Download URL: pybcsv-1.4.0-cp313-cp313-win_amd64.whl
  • Upload date:
  • Size: 434.3 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.0-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 80d2ff0297065cb5cfa3175e53a6004700fe8bbb7f9b4700758d2677bb4330f6
MD5 84b996d4b6cf581b1f4b38975d6fab87
BLAKE2b-256 39f4f6f6b658780bde3ba41b083a33c4c31dfa04bf85877360d2444b63fc2f3b

See more details on using hashes here.

Provenance

The following attestation bundles were made for pybcsv-1.4.0-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.0-cp313-cp313-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for pybcsv-1.4.0-cp313-cp313-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 375979eabfbe686823c528514cea58af0b379f5e5238e69e0dc5b9c765f07e0e
MD5 53687b7f7c3e9d0bd2eee30613a68951
BLAKE2b-256 d1491cfe87fcdd40c42b3b5cc4556f6e59b224e8b2c5fb8c60319094e5063d51

See more details on using hashes here.

Provenance

The following attestation bundles were made for pybcsv-1.4.0-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.0-cp313-cp313-musllinux_1_2_aarch64.whl.

File metadata

File hashes

Hashes for pybcsv-1.4.0-cp313-cp313-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 531cc47d9f883e520470f1e56d9e1cdeb631d1d6637586ac0379bd5f6b50ba23
MD5 019d005dc6d67859a8a547cb8411123f
BLAKE2b-256 1728001862a9ac3765864f53f29f1f84c2b4c5db0a5d931a29eb6281b2c7f3bf

See more details on using hashes here.

Provenance

The following attestation bundles were made for pybcsv-1.4.0-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.0-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for pybcsv-1.4.0-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 cfb96888ac89f1ab79e970382d025d9161a7081c92ad5aa3717a99d570d5a90b
MD5 75a264f3eef8e105ba808a0955b1c807
BLAKE2b-256 61af691aa6205d8bef1c24bf4401fd59c9272b5f64c1e4175e973b50ca6d7481

See more details on using hashes here.

Provenance

The following attestation bundles were made for pybcsv-1.4.0-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.0-cp313-cp313-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for pybcsv-1.4.0-cp313-cp313-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 75e72391cdfe1ddf0b8cef764978c7af8cac4f3cfbe9e87e69278573be152cac
MD5 3d8f9da2567d32487d32dcccc8b5b00c
BLAKE2b-256 aeda2a6502fd0553f4fe395ec4768196be68c4ed74e23ad29582fb9099cc051e

See more details on using hashes here.

Provenance

The following attestation bundles were made for pybcsv-1.4.0-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.0-cp313-cp313-macosx_13_0_x86_64.whl.

File metadata

File hashes

Hashes for pybcsv-1.4.0-cp313-cp313-macosx_13_0_x86_64.whl
Algorithm Hash digest
SHA256 64e58384a7684ae17c5015e6060031151977aaedf6a0440599bdfb4584b20b91
MD5 acde2bf1ab7ea6cd93984310b353764c
BLAKE2b-256 5144c62c61494ff15c89ac67d109360e018998c0c367c5764f7bd97fc2875fe5

See more details on using hashes here.

Provenance

The following attestation bundles were made for pybcsv-1.4.0-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.0-cp313-cp313-macosx_13_0_arm64.whl.

File metadata

File hashes

Hashes for pybcsv-1.4.0-cp313-cp313-macosx_13_0_arm64.whl
Algorithm Hash digest
SHA256 30b70f6b8eb4a857e0559c1e2ec948d2e1980b2d20a1169c598014888bb66959
MD5 58d5f6bc75264c7d804607ad5ea1d295
BLAKE2b-256 3526cf98348bdc1dcf8aeced1f8d2ef8f54077f43add955a10259fb2c5c300fc

See more details on using hashes here.

Provenance

The following attestation bundles were made for pybcsv-1.4.0-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.0-cp312-cp312-win_amd64.whl.

File metadata

  • Download URL: pybcsv-1.4.0-cp312-cp312-win_amd64.whl
  • Upload date:
  • Size: 434.3 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.0-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 a79975f906924e56258c525c22c51a78df82def95f1ab436c940e0cbf485efbe
MD5 78d313cf790711f5a23a94792f57ff2a
BLAKE2b-256 bfbb2d35af2385779c4e4c3136a0145c61a9dbce5c82a4b5f3499f1401b25afa

See more details on using hashes here.

Provenance

The following attestation bundles were made for pybcsv-1.4.0-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.0-cp312-cp312-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for pybcsv-1.4.0-cp312-cp312-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 1decad7c57f22633a6a0c9da39a4d52289d594642108f696821cf2bfeff71f5b
MD5 c28ebf118e8a39ae6834ee49b5a11819
BLAKE2b-256 32c336b2822da7ab3c41535e603d749872010b158431ca5765f342fce0145143

See more details on using hashes here.

Provenance

The following attestation bundles were made for pybcsv-1.4.0-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.0-cp312-cp312-musllinux_1_2_aarch64.whl.

File metadata

File hashes

Hashes for pybcsv-1.4.0-cp312-cp312-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 d5054ee931da5ad35b25b03a42732ab84b1e277b71c0fe36effa52712aa032f9
MD5 44816d390d52a16728016f414fb94bdb
BLAKE2b-256 295250daf801936ac8e2dec629bf74519373001132bcfa55188bbad59318d1c0

See more details on using hashes here.

Provenance

The following attestation bundles were made for pybcsv-1.4.0-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.0-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for pybcsv-1.4.0-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 bab8bdf29bd9c6f7192aa487edaddb3be5c238eb7898684537f7a3349fb41d34
MD5 1579aae135060e95a58f37559c3a5d41
BLAKE2b-256 d73aa383ca490b7d8afa602aa42e9d79ab6a2632621aaf65c2f9555b78ff3860

See more details on using hashes here.

Provenance

The following attestation bundles were made for pybcsv-1.4.0-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.0-cp312-cp312-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for pybcsv-1.4.0-cp312-cp312-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 a2e57f301b93aeb7d554caf797abde64006c5216dc3ab753ae7d2f108a2267f4
MD5 fe3af1234c180ec85fb847f252c72bf8
BLAKE2b-256 298058c127923f3a86b75b49c8419b8ce31b26c12fc8eaac9331dfd9886ed1cd

See more details on using hashes here.

Provenance

The following attestation bundles were made for pybcsv-1.4.0-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.0-cp312-cp312-macosx_13_0_x86_64.whl.

File metadata

File hashes

Hashes for pybcsv-1.4.0-cp312-cp312-macosx_13_0_x86_64.whl
Algorithm Hash digest
SHA256 52af9374448c06f1130dcb045b444a29f07cde9faab67da000380081ffae98c2
MD5 cc463f1b5b3dc140ba5d6b90293f0104
BLAKE2b-256 7e095eff3ac2eebfd835c0ab27798c3771fc982521c16bf2771d44fe8e253de9

See more details on using hashes here.

Provenance

The following attestation bundles were made for pybcsv-1.4.0-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.0-cp312-cp312-macosx_13_0_arm64.whl.

File metadata

File hashes

Hashes for pybcsv-1.4.0-cp312-cp312-macosx_13_0_arm64.whl
Algorithm Hash digest
SHA256 6952f8657b539b81d4fa3a7d93c4b8e53a3ff5c9c617219ecc26dc478bb36c83
MD5 27b5db992b2631d34503885eaa3fe3ee
BLAKE2b-256 751f990f08a729acabdc64026523d4c605afb99121de03c69686592215637bb3

See more details on using hashes here.

Provenance

The following attestation bundles were made for pybcsv-1.4.0-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.0-cp311-cp311-win_amd64.whl.

File metadata

  • Download URL: pybcsv-1.4.0-cp311-cp311-win_amd64.whl
  • Upload date:
  • Size: 432.3 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.0-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 3ef926666a89e56fbef5af6e34d6359962b6fa7ce5f08735668fcaf29724a02e
MD5 fde2384f7004c389a7814f863849862e
BLAKE2b-256 5c3c61076f488f91d3bee2339f39b94754d46591fbaeae0b89bfd774aa652e27

See more details on using hashes here.

Provenance

The following attestation bundles were made for pybcsv-1.4.0-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.0-cp311-cp311-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for pybcsv-1.4.0-cp311-cp311-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 b19ef7f6747e6a81ddd448ff9b658d0067ab701502634ff815ec581c9f79fefa
MD5 7084a83bb74ad2d8e35aa4ade3d61f3b
BLAKE2b-256 417704b9d7ba0f19198c9b68f1c7715504df147e6677befb1de82fe0b6c9822d

See more details on using hashes here.

Provenance

The following attestation bundles were made for pybcsv-1.4.0-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.0-cp311-cp311-musllinux_1_2_aarch64.whl.

File metadata

File hashes

Hashes for pybcsv-1.4.0-cp311-cp311-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 301931f9ba3ca95817cfd40f01ba765c02cb3083e7c5cdcc849414e5b5fdf512
MD5 d18bf2e2a0f4d6a242a1d5e27b495d01
BLAKE2b-256 9e50605c7863f751a96c86807c15b3e6b6b8e8d8e64c9f67b910f732fc6b9d7b

See more details on using hashes here.

Provenance

The following attestation bundles were made for pybcsv-1.4.0-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.0-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for pybcsv-1.4.0-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 525611a3bfa47ff471112135e3666a22214e6099f475f45ab2050f23acf3a2f1
MD5 0c838350f4c72ee36d6aafd3f8c708bd
BLAKE2b-256 2c3e563cfb63dd03fd8fe01581c9b92862b70820429bad459963519f2d967e24

See more details on using hashes here.

Provenance

The following attestation bundles were made for pybcsv-1.4.0-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.0-cp311-cp311-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for pybcsv-1.4.0-cp311-cp311-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 f6af6b19a232f553c4ad5a2f4d99f2ccb11bb0724f49c5b795db6e4cb82fcb5f
MD5 c32732db3bbd43a371457647286da292
BLAKE2b-256 b41172eadf9b379cf57bdad8e048a5c93ba34c9e9604b56923e3d8b6255e3bce

See more details on using hashes here.

Provenance

The following attestation bundles were made for pybcsv-1.4.0-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.0-cp311-cp311-macosx_13_0_x86_64.whl.

File metadata

File hashes

Hashes for pybcsv-1.4.0-cp311-cp311-macosx_13_0_x86_64.whl
Algorithm Hash digest
SHA256 63e2de57fb9dc2507800eff0cb1bdfbebd7b6ddc44664fe186b7e919601b6f77
MD5 c7184ac35f7ea995111ce37a26d0333a
BLAKE2b-256 5f5204e2324d45b78b5db83f58fb21111243c8fc83daed18cb6efe66eca4a546

See more details on using hashes here.

Provenance

The following attestation bundles were made for pybcsv-1.4.0-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.0-cp311-cp311-macosx_13_0_arm64.whl.

File metadata

File hashes

Hashes for pybcsv-1.4.0-cp311-cp311-macosx_13_0_arm64.whl
Algorithm Hash digest
SHA256 6b58eff474b95c12679a53fe03a3f48011b89dee985eae6d9e0f828643d0f80d
MD5 87245463d18e193781d41dc1d9b6bb0e
BLAKE2b-256 d98f3c52a9bc0e1661da35c5c803db1b046c135422f977c4bbb0bdbc996bd3db

See more details on using hashes here.

Provenance

The following attestation bundles were made for pybcsv-1.4.0-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