fast-rocksdb
Python-Bindings für RocksDB. Der Importname bleibt rocksdb.
Version 0.7.0 ist ein py3-none-any-Wheel mit der Erweiterung _rocksdb.cpython-310-x86_64-linux-gnu.so. CPython 3.14 lädt diese Datei nicht, deshalb endet import rocksdb mit ModuleNotFoundError: No module named 'rocksdb._rocksdb'.
Diese Version baut die Erweiterung für den laufenden Interpreter. Getestet ist die Binding-Basis mit CPython 3.11–3.14 und RocksDB 8.x–10.x. Auf Ubuntu 24.04 liefert librocksdb-dev RocksDB 8.9.1, das in diesem Bereich liegt.
Installation im Ubuntu-24.04-Container
Im Image mit Python 3.14 unter /usr/local die Systembibliothek und die Übersetzerwerkzeuge installieren, das alte Paket entfernen und aus diesem Quellbaum bauen:
sudo apt-get update
sudo apt-get install -y --no-install-recommends \
build-essential pkg-config \
librocksdb-dev libsnappy-dev zlib1g-dev libbz2-dev \
liblz4-dev libzstd-dev libgflags-dev
python3.14 -m pip uninstall -y py3-rocksdb
python3.14 -m pip install .
python3.14 -c "import rocksdb; db = rocksdb.DB('/tmp/rocks-smoke', rocksdb.Options(create_if_missing=True)); db.put(b'a', b'data'); assert db.get(b'a') == b'data'; print(rocksdb.__file__)"
Dasselbe macht scripts/build-ubuntu.sh. Es legt zusätzlich ein plattformspezifisches Wheel unter pip-package/ ab. Der Dateiname muss cp314 enthalten, nicht py3-none-any.
Beispiel
import rocksdb
db = rocksdb.DB("test.db", rocksdb.Options(create_if_missing=True))
db.put(b"a", b"data")
print(db.get(b"a"))
Hinweise zum Wechsel von 0.7.0
Python 3.10 und älter wird nicht mehr gebaut. Der laufende Container nutzt 3.14.
RocksDB muss mindestens 8.0 sein. Die Header von Ubuntu 22.04 (RocksDB 6.11) reichen nicht.
Einige alte Options-Felder gibt es in RocksDB 8 nicht mehr, darunter max_background_compactions, base_background_compactions und preserve_deletes. Eigene Python-Filterpolicies werden nicht mehr unterstützt. BloomFilterPolicy bleibt.
Bestehende Datenbanken, die mit RocksDB 6 geschrieben wurden, öffnet RocksDB 8 in der Regel weiter. Vor dem Produktivlauf eine Kopie prüfen.
Herkunft
Die Cython-Bindings stammen aus f321x/python-rocksdb 2.4.0, einer Weiterführung der Forks von twmht und NightTsarina. Die ursprünglichen Bindings hat Stephan Hofmockel geschrieben. Lizenz: BSD-3-Clause.
Metadata
Release files for fast-rocksdb 2.4.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | |
|---|---|---|---|---|
| fast_rocksdb-2.4.0.tar.gz | 442.1 kB | Without provenance | Details |
Release files / fast_rocksdb-2.4.0.tar.gz
| Download URL | fast_rocksdb-2.4.0.tar.gz |
|---|---|
| Size | 442.1 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
22f7c6ee045c685e70eda0066d6255d29152520a9351472de85aef3655938a04
|
|
BLAKE2b-256 checksum How to use checksums |
727f74ca839383dd53ee746732dc6c4e1e4ee8b66a246ff5b391f03e324e36e5
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.14.4
|
Security for fast-rocksdb 2.4.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.