Skip to main content

PortableTab

Python 3.8 Python 3.9 Python 3.10 Python 3.11 Python 3.12 Python 3.13

PortableTab is a Python library that allows for serialization of typed tables into a set of files, as well as deserialization of specific rows extracted from the files.

Features

The serialized files are independent of OS and CPU architecture, so it can be used to create portable table which is useful when working with large datasets that need to be shared between different systems or environments.

It also allows fast deserialization of only specified rows without loading the entire table into memory, so it does not take time to load and deserialize the table on the first access, nor consume memory during execution.

  • Capn' Proto is used for serialization, making the file format portable.
  • Since PortableTab uses mmap for file access, it does not consume much memory even when handling large tables.
  • Indexes on strings are created using Marisa-trie, the output files are also portable and accessible using mmap.

Limitations

The tables are serialized into compact files so they cannot be dynamically modified.

  • Rows can only be retrieved at their specified position. If you want to access by an attribute such as id, you must create an index on that attribute.
  • Updating records in serialized files is possible but very slow.
  • It is not possible to insert rows in the middle of a serialized file. If you want to insert rows in the middle, the only way is to deserialize the entire table and recreate another table.

How to use

Please refer to the documentation at PortableTab Document.

Development status

Unstable alpha version.

License

This package is available according to the MIT license.

Author

Takeshi SAGARA sagara@info-proto.com

Metadata

Release files for PortableTab 0.3.7.post1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for PortableTab 0.3.7.post1
File Size Uploaded
portabletab-0.3.7.post1.tar.gz 10.4 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for PortableTab 0.3.7.post1
File Interpreter ABI Platform
portabletab-0.3.7.post1-py3-none-any.whl Python 3 none any Details

Total release size: 23.3 kB

Release files / portabletab-0.3.7.post1.tar.gz

Download URL portabletab-0.3.7.post1.tar.gz
Size 10.4 kB
Tags Source
SHA-256 checksum
How to use checksums
d3ca9744d882a38ceb7fdd782df66def68108a2a7ead6e401e8bad1758b211e8
BLAKE2b-256 checksum
How to use checksums
968ff0c07ad037d47839a39fbe4d09f7e13e07b9f4f17ddef6ca785cbba8f707
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via poetry/1.8.3 CPython/3.10.12 Linux/5.15.0-140-generic

Release files / portabletab-0.3.7.post1-py3-none-any.whl

Download URL portabletab-0.3.7.post1-py3-none-any.whl
Size 12.9 kB
Tags Python 3
SHA-256 checksum
How to use checksums
f8f3b02b01f8d31a3753cf433af972d65b1827a27d933262333c6ebebbfbaf42
BLAKE2b-256 checksum
How to use checksums
34622708293c44453f3e3f979114638be47e3fd38790227b1bd30399ab06d487
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via poetry/1.8.3 CPython/3.10.12 Linux/5.15.0-140-generic

Release history Release notifications | RSS feed

This release

0.3.7.post1 This release

2 release files

0.3.7

2 release files

0.3.5

2 release files

0.3.4

2 release files

0.3.3

2 release files

0.3.2

2 release files

0.3.1

2 release files

0.3.0

2 release files

0.2.0

2 release files

0.1.0

2 release files

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