Skip to main content

FISHDBC

Scalable, incremental hierarchical density-based clustering with a Flexible, Incremental, Scalable, Hierarchical Density-Based Clustering algorithm (FISHDBC is the acronym). This package lets you cluster arbitrary data with an arbitrary distance function you write (or reuse from somebody else's work!) — a true metric is not required, and neither is anything else beyond a number saying how dissimilar two elements are. Clustering is incremental: you can keep adding elements and re-cluster cheaply as new data arrives.

Please see the paper at https://arxiv.org/abs/1910.07283.

Approximate nearest-neighbor search is delegated to the companion anydist package, which provides it through a Hierarchical Navigable Small World graph (HNSW) — the data structure the names below refer to; see anydist for what it is and how to tune it. The freedom in the distance function is anydist's doing too. The hierarchy extraction reuses hdbscan's single-linkage labelling and cluster-tree routines, which are vendored (BSD-3, in fishdbc/_hdbscan.pyx) so clustering needs neither hdbscan nor its scikit-learn/joblib dependency chain.

Two implementations are provided:

  • FISHDBC (an alias of FISHDBCFast) — the default: a Cython implementation over typed data structures, built on anydist.HNSWFast. It supports arbitrary Python distance callbacks, plus an optional built-in metric mode (euclidean, cosine, angular, dot, l1, linf, ...) that skips the Python callback entirely.
  • FISHDBCPure — the pure-Python reference implementation, built on anydist.HNSWPure.

FISHDBC exists only where the compiled extension does, and does not fall back to FISHDBCPure on its own: the reference implementation runs several times slower over the same source, and a clusterer that quietly became it is a performance bug that looks like nothing at all. Importing it then raises, explaining the trade. Write from fishdbc import FISHDBCPure as FISHDBC to take it deliberately; FISHDBC.from_metric below then builds over anydist.HNSWPure as well. anydist.HNSW behaves the same way, and the two extensions are independent: a build can have either, both or neither.

Installation

pip install fishdbc

or, from a checkout of this repository:

pip install .

Windows is not supported: MSVC, the compiler Windows Pythons are built with, lacks the atomic builtins the parallel code needs. Under WSL, the Linux wheels work as usual.

PyPI has prebuilt wheels for the common platforms. Anywhere else, and from a checkout, pip compiles the extensions, so you need a C compiler with OpenMP. On macOS, fishdbc builds and runs on the OpenMP runtime that anydist ships (see anydist.get_openmp_dir()), since libomp aborts a process that loads two copies of itself; only if anydist has to be built from source too does that need Homebrew's libomp (see anydist's installation notes). For an extra speed boost on the machine you build on (at the cost of a non-portable binary):

FISHDBC_NATIVE=1 pip install .

The runtime dependencies are numpy and anydist, nothing else — deliberately, since it is what lets FISHDBC install on interpreters the wider scientific stack has not reached yet (free-threaded builds especially, where scipy and scikit-learn routinely lack wheels for months after a Python release).

The test suite likewise needs only numpy and pytest; its scikit-learn and hdbscan checks skip cleanly when those are absent.

Quickstart

FISHDBC.from_metric(metric, ...) builds a clusterer over a sensibly-configured HNSW. Its only positional argument is the distance between data elements, and it defaults to "euclidean" — so FISHDBC.from_metric() clusters numeric vectors out of the box. What FISHDBC is distinctive for, though, is that it takes a distance of your own over arbitrary objects just as happily:

from fishdbc import FISHDBC

clusterer = FISHDBC.from_metric(my_distance)
for elem in my_data:
    clusterer.add(elem)
result = clusterer.cluster()
labels = result.labels  # result is a named tuple (see Return values)

for elem in some_new_data:  # supports cheap incremental clustering
    clusterer.add(elem)
# new clustering according to the newly available data
labels = clusterer.cluster().labels

The argument is named metric after scikit-learn's and hdbscan's usage, which anydist follows: there too metric= is just the parameter that picks the distance, and both accept distances that are not true metrics. Nothing here requires one either: the triangle inequality may fail — cosine, one of the built-ins below, fails it — and non-metric distances are key in FISHDBC's design. This README says distance throughout for whatever your function returns.

For numeric vectors, the built-in metric mode is substantially faster than Python callbacks. Pass a metric name from anydist.metrics (like euclidean, cosine, angular, dot, l1, linf, or their aliases) — cosine being the one to reach for if you want cosine distance, since it normalizes for you. See the anydist README for the full table and for how to supply your own C/numba implementations for maximum speed.

clusterer = FISHDBC.from_metric("euclidean")  # or just FISHDBC.from_metric()
for v in vectors:
    clusterer.add(v)

"euclidean" is the default, so clustering numeric vectors in an Euclidean space takes no argument at all.

FISHDBC clusters on top of a distance-pair source — any object with an add_recording(elem) -> (i, j, dist) method, anydist.HNSW being the built-in one. FISHDBC.from_metric is a thin wrapper that constructs one; for full control over the HNSW (or to plug in a different source), build it yourself:

from fishdbc import FISHDBC
from anydist import HNSW

clusterer = FISHDBC(HNSW(my_distance, m=16, ef=100, keep_pruned=True))

The source must be empty at construction and thereafter driven only through clusterer.add — it is exposed for reading as clusterer.source, so if the source supports nearest-neighbour queries, you can ask it questions like clusterer.source.search(q, k) which answer "what is this point near?". FISHDBC itself has no search: the protocol is add_recording() alone, and a conforming source (an LSH pair generator, a kNN-graph replayer) need not support nearest-neighbor queries at all. When the elements stop coming, clusterer.drop_source() lets go of it and keeps the clustering (see Saving and loading).

A source that inserts a batch better than one element at a time — in parallel, say — can also offer update_recording(elems, num_threads=None) -> (i, j, dist), and clusterer.update then hands it the elements in chunks instead of calling add_recording for each. num_threads=None asks for the source's own default, so a source that is only safe on one thread stays on one unless the caller asks for more; anything else about how it inserts is set on the source, as HNSW(..., chunksize=...) is. The arrays it returns are handed over rather than lent: FISHDBC may write into them and keep them.

The candidate pool

FISHDBC maintains a minimum spanning tree (MST) — a small structure, n - 1 edges for n elements — from which the clustering is derived. add, add_edges and update do not update it directly: they fill a pool of candidate edges, which flush() processes and empties. cluster() and fishdbc.save flush on their own, so a saved clusterer never carries a pool (see Saving and loading); calling flush() yourself only reclaims the pool's memory at a moment of your choosing.

The pool grows with the source's ef as well as with n, and it is what dominates memory during a build, so it is bounded: max_pool_bytes, a constructor argument that defaults to 1 GiB, flushes it whenever it fills. Below the budget nothing changes, and a single flush at the end stays the fastest path. Above it, peak memory holds at about four to five times the budget on top of what the index and the clusterer keep anyway, and the extra flushes cost time: measured, a 400k-point build whose pool fills 1 GiB twice took 11% longer. Pass max_pool_bytes=None to never flush on your behalf, or a smaller budget under memory pressure. FISHDBCPure counts its pool entries at their real size on the running interpreter, several times what FISHDBC needs for each.

To understand what the MST is and how it drives clustering, see Campello et al., and McInnes and Healy for the accelerated implementation this package vendors its extraction routines from.

Clustering a graph you already have

A source is one way to produce (i, j, distance) triples. The other is to push them in directly, which is what add_edges is for — distances that already exist or are computed elsewhere: a kNN graph from another library, GPU-batched distances, pairwise scores out of a database or a pipeline.

from fishdbc import FISHDBC

clusterer = FISHDBC.from_edges(min_samples=5)
clusterer.add_edges(rows, cols, distances)  # any iterables, any length
labels = clusterer.cluster().labels  # indexed by node id

The three arguments are duck-typed: numpy arrays of any integer or float width, lists, tuples, array.array, range, or a lazy iterator that is never materialised. np.int32/np.float64 arrays — what anydist.HNSW produces — are the one form the Cython implementation consumes with no copy; everything else is converted on the way in. The same holds for the (i, j, dist) triples a source returns from add_recording, so a source of your own may hand back whatever is natural to build.

add_edges is the primitive; add is the same thing with a source asked for the triples first. Nodes are the integer ids in the edges: a node exists as soon as an edge names it, and an id never named is isolated and comes out as noise. With no source, the id space is yours and len() grows to cover the largest id seen. With a source, the source owns the ids and pushed edges may only relate elements it has already issued — supplementary information about existing points (a second modality, a known relation, an exact distance for a pair the ANN only approximated). A larger id is refused rather than absorbed, because it would desync the count from the source's and corrupt later adds.

Two things to know. Give every node at least min_samples neighbours: fewer leaves its core distance infinite, so it can only cluster as noise, and cluster() warns when that happens — pushing a k-nearest-neighbour graph with k < min_samples degenerates every node at once. And feed each unordered pair once: dedup=True (the default) makes a repeat harmless, but kNN graphs naturally carry both (i, j) and (j, i). FISHDBC.from_metric sets dedup=False, since an HNSW cannot report the same pair twice; turn it off yourself only if you are generating the pairs and know they are unique, which saves an O(min_samples) scan on each accepted neighbour.

Extraction-time parameters

cluster() also accepts hdbscan's extraction-time knobs — cluster_selection_epsilon, cluster_selection_persistence, max_cluster_size, cluster_selection_epsilon_max — alongside min_cluster_size, cluster_selection_method, allow_single_cluster. These parameters can be tuned cheaply without rebuilding: changing them and re-running cluster() extracts a new clustering from the existing data, so you can experiment with different parameter values at a fraction of the cost.

Return values

cluster() returns a FISHDBCResult named tuple — still a plain tuple in the same order as hdbscan.hdbscan(), so it unpacks positionally, but its fields are also accessible by name. As documented in the HDBSCAN source code:

  • labels — ndarray, shape (n_samples,). Cluster labels for each point. Noisy samples are given the label -1.
  • probabilities — ndarray, shape (n_samples,). Cluster membership strengths for each point. Noisy samples are assigned 0.
  • cluster_persistence — array, shape (n_clusters,). A score of how persistent each cluster is. A score of 1.0 represents a perfectly stable cluster that persists over all distance scales, while a score of 0.0 represents a perfectly ephemeral cluster. These scores can gauge the relative coherence of the clusters output by the algorithm.
  • condensed_tree — record array. The condensed cluster hierarchy used to generate clusters.
  • single_linkage_tree — ndarray, shape (n_samples - 1, 4). The single linkage tree produced during clustering, in the scipy hierarchical clustering format (see the scipy docs).
  • minimum_spanning_tree — ndarray, shape (n_samples - 1, 3). The minimum spanning tree as an edge list.

Using hdbscan's tree tools

The trees come back as plain arrays, but hdbscan's own wrappers accept exactly those arrays, so everything in Advanced HDBSCAN — dendrogram and icicle plots, to_networkx(), to_pandas(), get_clusters() — works on a FISHDBC result once you wrap it yourself. Where hdbscan would give you clusterer.condensed_tree_, construct the wrapper directly:

from hdbscan.plots import CondensedTree, SingleLinkageTree

result = clusterer.cluster()

# hdbscan's condensed_tree_ takes the tree *and* the per-point labels
ct = CondensedTree(result.condensed_tree, result.labels)
ct.plot(select_clusters=True)
graph = ct.to_networkx()

SingleLinkageTree(result.single_linkage_tree).plot()

This needs hdbscan installed (and matplotlib for the plots) — FISHDBC itself does not require either.

minimum_spanning_tree is the exception. hdbscan.plots.MinimumSpanningTree takes (mst, data) and plots the nodes at their own coordinates, projecting with t-SNE when the data has more than two dimensions, so it only makes sense when you clustered numeric vectors and can hand it that array:

from hdbscan.plots import MinimumSpanningTree

MinimumSpanningTree(result.minimum_spanning_tree, X).plot()

With an arbitrary distance over non-vector objects there is no such X, and hdbscan hits the same limit — it warns and returns None for minimum_spanning_tree_ whenever the raw data is unavailable.

Saving and loading

A clusterer pickles like anything else, and most of the time that is the whole story:

with open("c.pkl", "wb") as f:
    pickle.dump(clusterer, f)

Everything FISHDBC owns is ids and distances in plain arrays, and an anydist.HNSW pickles too — a built-in name like 'euclidean' (what FISHDBC.from_metric uses unless you say otherwise) or a module-level function travels fine. Three kinds of distance function do not: a lambda, a closure, and a C function pointer, where a raw address would be meaningless in the loading process anyway.

That is what fishdbc.save/fishdbc.load add — pickle, plus the ability to leave the distance function out and supply it on the way back in:

# the source is kept, its distance function is not
fishdbc.save(clusterer, "c.pkl", include_metric=False)
clusterer = fishdbc.load("c.pkl", metric=my_distance)

They handle the ordinary case as well: fishdbc.save(clusterer, 'c.pkl') writes a self-contained file that fishdbc.load('c.pkl') — or plain pickle.load — opens, and it raises rather than writing a file load could not open, naming the way out, so you never get an artefact that only looks self-contained.

save also calls flush() before writing, so the file holds the retained edges rather than the candidate buffer behind them — measured over 600 elements, 5x smaller at the source's ef=20 and 12x at ef=200, since the buffer grows with ef where the retained set stays at n - 1 edges. The clustering is unaffected; it is the same flush cluster() already does. Plain pickle.dump cannot do this for you (a __reduce__ with side effects would be a trap), so call flush() yourself first if you pickle directly.

include_metric=False is for the HNSW from_metric builds for you: it hands the source to anydist.save and gives it back through anydist.load, so what you pass as metric= must be the same distance the index was built with — that cannot be checked, and a different one leaves the graph answering for a distance it was not built for.

For a source of your own, include_source=False leaves the whole source out, whatever it is, and load(f, source=...) puts it back; the source's length is checked against the clusterer's, which catches a stale or a fresh one. Passing source=fishdbc.NO_SOURCE instead loads the clustering without an index at all — cluster() still answers for every min_samples it was built for and add_edges() still works, but add() has nothing to compute distances with.

clusterer.drop_source() does the same thing in memory, without a round trip through a file:

clusterer.drop_source()  # keep the clustering, release the index

The source is usually the larger half of the pair — it holds the elements and the graph over them, where the clusterer holds ids and distances — so once the elements have stopped coming this is the cheap way to shed it. It is also what makes an unpicklable distance stop mattering: with the index gone, the clusterer pickles as it is. Take clusterer.source first if you want to save or keep it; nothing is handed back, so that a drop is a drop.

Only load files you trust. save/load are built on pickle, and unpickling any file runs code that the file chooses. That is pickle's design, not something this package adds or can screen for: load sees what the file contains only after the interpreter has already executed whatever the stream asked for, and a saved clusterer normally carries a whole HNSW inside it, read back the same way. Supplying the distance yourself does not help — the code runs before your metric= is ever consulted. Treat a saved clusterer exactly as you would a .py you were about to run; it is not a safe interchange format for data from elsewhere.

Demo/Example

Look at examples/fishdbc_example.py for an interactive demo of incremental clustering and of walking the condensed tree to recover the hierarchy (it needs matplotlib and scikit-learn, which FISHDBC itself does not).

Author

Matteo Dell'Amico — della@linux.it

License

BSD 3-clause; see the LICENSE file.

Metadata

Release files for fishdbc 1.0.0

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

Source distribution (sdist)

Source distribution for fishdbc 1.0.0
File Size Uploaded Provenance Actions
fishdbc-1.0.0.tar.gz 106.7 kB Without provenance Details for fishdbc-1.0.0.tar.gz

Built distributions (wheels)

Table of built distributions (wheels) for fishdbc 1.0.0
File Actions
fishdbc-1.0.0-cp315-cp315t-musllinux_1_2_x86_64.whl CPython 3.15 CPython 3.15 free-threading Linux musl 1.2+ x86-64 Details for fishdbc-1.0.0-cp315-cp315t-musllinux_1_2_x86_64.whl
fishdbc-1.0.0-cp315-cp315t-musllinux_1_2_aarch64.whl CPython 3.15 CPython 3.15 free-threading Linux musl 1.2+ ARM64 Details for fishdbc-1.0.0-cp315-cp315t-musllinux_1_2_aarch64.whl
fishdbc-1.0.0-cp315-cp315t-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl CPython 3.15 CPython 3.15 free-threading Linux glibc 2.28+ x86-64, Linux glibc 2.17+ x86-64 Details for fishdbc-1.0.0-cp315-cp315t-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
fishdbc-1.0.0-cp315-cp315t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl CPython 3.15 CPython 3.15 free-threading Linux glibc 2.17+ ARM64, Linux glibc 2.28+ ARM64 Details for fishdbc-1.0.0-cp315-cp315t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl
fishdbc-1.0.0-cp315-cp315t-macosx_15_0_arm64.whl CPython 3.15 CPython 3.15 free-threading macOS 15.0+ ARM64 Details for fishdbc-1.0.0-cp315-cp315t-macosx_15_0_arm64.whl
fishdbc-1.0.0-cp315-cp315-musllinux_1_2_x86_64.whl CPython 3.15 CPython 3.15 Linux musl 1.2+ x86-64 Details for fishdbc-1.0.0-cp315-cp315-musllinux_1_2_x86_64.whl
fishdbc-1.0.0-cp315-cp315-musllinux_1_2_aarch64.whl CPython 3.15 CPython 3.15 Linux musl 1.2+ ARM64 Details for fishdbc-1.0.0-cp315-cp315-musllinux_1_2_aarch64.whl
fishdbc-1.0.0-cp315-cp315-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl CPython 3.15 CPython 3.15 Linux glibc 2.17+ x86-64, Linux glibc 2.28+ x86-64 Details for fishdbc-1.0.0-cp315-cp315-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
fishdbc-1.0.0-cp315-cp315-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl CPython 3.15 CPython 3.15 Linux glibc 2.17+ ARM64, Linux glibc 2.28+ ARM64 Details for fishdbc-1.0.0-cp315-cp315-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl
fishdbc-1.0.0-cp315-cp315-macosx_15_0_arm64.whl CPython 3.15 CPython 3.15 macOS 15.0+ ARM64 Details for fishdbc-1.0.0-cp315-cp315-macosx_15_0_arm64.whl
fishdbc-1.0.0-cp314-cp314t-musllinux_1_2_x86_64.whl CPython 3.14 CPython 3.14 free-threading Linux musl 1.2+ x86-64 Details for fishdbc-1.0.0-cp314-cp314t-musllinux_1_2_x86_64.whl
fishdbc-1.0.0-cp314-cp314t-musllinux_1_2_aarch64.whl CPython 3.14 CPython 3.14 free-threading Linux musl 1.2+ ARM64 Details for fishdbc-1.0.0-cp314-cp314t-musllinux_1_2_aarch64.whl
fishdbc-1.0.0-cp314-cp314t-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl CPython 3.14 CPython 3.14 free-threading Linux glibc 2.17+ x86-64, Linux glibc 2.28+ x86-64 Details for fishdbc-1.0.0-cp314-cp314t-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
fishdbc-1.0.0-cp314-cp314t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl CPython 3.14 CPython 3.14 free-threading Linux glibc 2.28+ ARM64, Linux glibc 2.17+ ARM64 Details for fishdbc-1.0.0-cp314-cp314t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl
fishdbc-1.0.0-cp314-cp314t-macosx_15_0_arm64.whl CPython 3.14 CPython 3.14 free-threading macOS 15.0+ ARM64 Details for fishdbc-1.0.0-cp314-cp314t-macosx_15_0_arm64.whl
fishdbc-1.0.0-cp314-cp314-musllinux_1_2_x86_64.whl CPython 3.14 CPython 3.14 Linux musl 1.2+ x86-64 Details for fishdbc-1.0.0-cp314-cp314-musllinux_1_2_x86_64.whl
fishdbc-1.0.0-cp314-cp314-musllinux_1_2_aarch64.whl CPython 3.14 CPython 3.14 Linux musl 1.2+ ARM64 Details for fishdbc-1.0.0-cp314-cp314-musllinux_1_2_aarch64.whl
fishdbc-1.0.0-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl CPython 3.14 CPython 3.14 Linux glibc 2.17+ x86-64, Linux glibc 2.28+ x86-64 Details for fishdbc-1.0.0-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
fishdbc-1.0.0-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl CPython 3.14 CPython 3.14 Linux glibc 2.17+ ARM64, Linux glibc 2.28+ ARM64 Details for fishdbc-1.0.0-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl
fishdbc-1.0.0-cp314-cp314-macosx_15_0_arm64.whl CPython 3.14 CPython 3.14 macOS 15.0+ ARM64 Details for fishdbc-1.0.0-cp314-cp314-macosx_15_0_arm64.whl
fishdbc-1.0.0-cp313-cp313-musllinux_1_2_x86_64.whl CPython 3.13 CPython 3.13 Linux musl 1.2+ x86-64 Details for fishdbc-1.0.0-cp313-cp313-musllinux_1_2_x86_64.whl
fishdbc-1.0.0-cp313-cp313-musllinux_1_2_aarch64.whl CPython 3.13 CPython 3.13 Linux musl 1.2+ ARM64 Details for fishdbc-1.0.0-cp313-cp313-musllinux_1_2_aarch64.whl
fishdbc-1.0.0-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl CPython 3.13 CPython 3.13 Linux glibc 2.28+ x86-64, Linux glibc 2.17+ x86-64 Details for fishdbc-1.0.0-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
fishdbc-1.0.0-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl CPython 3.13 CPython 3.13 Linux glibc 2.17+ ARM64, Linux glibc 2.28+ ARM64 Details for fishdbc-1.0.0-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl
fishdbc-1.0.0-cp313-cp313-macosx_15_0_arm64.whl CPython 3.13 CPython 3.13 macOS 15.0+ ARM64 Details for fishdbc-1.0.0-cp313-cp313-macosx_15_0_arm64.whl
fishdbc-1.0.0-cp312-cp312-musllinux_1_2_x86_64.whl CPython 3.12 CPython 3.12 Linux musl 1.2+ x86-64 Details for fishdbc-1.0.0-cp312-cp312-musllinux_1_2_x86_64.whl
fishdbc-1.0.0-cp312-cp312-musllinux_1_2_aarch64.whl CPython 3.12 CPython 3.12 Linux musl 1.2+ ARM64 Details for fishdbc-1.0.0-cp312-cp312-musllinux_1_2_aarch64.whl
fishdbc-1.0.0-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl CPython 3.12 CPython 3.12 Linux glibc 2.28+ x86-64, Linux glibc 2.17+ x86-64 Details for fishdbc-1.0.0-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
fishdbc-1.0.0-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl CPython 3.12 CPython 3.12 Linux glibc 2.28+ ARM64, Linux glibc 2.17+ ARM64 Details for fishdbc-1.0.0-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl
fishdbc-1.0.0-cp312-cp312-macosx_15_0_arm64.whl CPython 3.12 CPython 3.12 macOS 15.0+ ARM64 Details for fishdbc-1.0.0-cp312-cp312-macosx_15_0_arm64.whl
fishdbc-1.0.0-cp311-cp311-musllinux_1_2_x86_64.whl CPython 3.11 CPython 3.11 Linux musl 1.2+ x86-64 Details for fishdbc-1.0.0-cp311-cp311-musllinux_1_2_x86_64.whl
fishdbc-1.0.0-cp311-cp311-musllinux_1_2_aarch64.whl CPython 3.11 CPython 3.11 Linux musl 1.2+ ARM64 Details for fishdbc-1.0.0-cp311-cp311-musllinux_1_2_aarch64.whl
fishdbc-1.0.0-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl CPython 3.11 CPython 3.11 Linux glibc 2.28+ x86-64, Linux glibc 2.17+ x86-64 Details for fishdbc-1.0.0-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
fishdbc-1.0.0-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl CPython 3.11 CPython 3.11 Linux glibc 2.17+ ARM64, Linux glibc 2.28+ ARM64 Details for fishdbc-1.0.0-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl
fishdbc-1.0.0-cp311-cp311-macosx_15_0_arm64.whl CPython 3.11 CPython 3.11 macOS 15.0+ ARM64 Details for fishdbc-1.0.0-cp311-cp311-macosx_15_0_arm64.whl
fishdbc-1.0.0-cp310-cp310-musllinux_1_2_x86_64.whl CPython 3.10 CPython 3.10 Linux musl 1.2+ x86-64 Details for fishdbc-1.0.0-cp310-cp310-musllinux_1_2_x86_64.whl
fishdbc-1.0.0-cp310-cp310-musllinux_1_2_aarch64.whl CPython 3.10 CPython 3.10 Linux musl 1.2+ ARM64 Details for fishdbc-1.0.0-cp310-cp310-musllinux_1_2_aarch64.whl
fishdbc-1.0.0-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl CPython 3.10 CPython 3.10 Linux glibc 2.17+ x86-64, Linux glibc 2.28+ x86-64 Details for fishdbc-1.0.0-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
fishdbc-1.0.0-cp310-cp310-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl CPython 3.10 CPython 3.10 Linux glibc 2.17+ ARM64, Linux glibc 2.28+ ARM64 Details for fishdbc-1.0.0-cp310-cp310-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl
fishdbc-1.0.0-cp310-cp310-macosx_15_0_arm64.whl CPython 3.10 CPython 3.10 macOS 15.0+ ARM64 Details for fishdbc-1.0.0-cp310-cp310-macosx_15_0_arm64.whl

Total release size: 90.0 MB

Release files / fishdbc-1.0.0.tar.gz

Download URL fishdbc-1.0.0.tar.gz
Size 106.7 kB
Tags Source
SHA-256 checksum
How to use checksums
fdc0b5f2a0bace7d066b6936650a9ecb8fc10f2ae028442786c073e39266d1d6
BLAKE2b-256 checksum
How to use checksums
c8a7ea82dbee31d130bb2c423c9dbbd47676e0fde42727681f54024bea282890
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.14.8

Release files / fishdbc-1.0.0-cp315-cp315t-musllinux_1_2_x86_64.whl

Download URL fishdbc-1.0.0-cp315-cp315t-musllinux_1_2_x86_64.whl
Size 2.7 MB
Tags CPython 3.15 CPython 3.15 free-threading Linux musl 1.2+ x86-64
SHA-256 checksum
How to use checksums
f8ba5c03a4ec661e5c04afb40189685af0f02234cff7a51ac2579204ba40829d
BLAKE2b-256 checksum
How to use checksums
0e2288c57f9de18d30f51202be4ec6ecdccc50579a2d2a19699a380e1806bb38
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.14.8

Release files / fishdbc-1.0.0-cp315-cp315t-musllinux_1_2_aarch64.whl

Download URL fishdbc-1.0.0-cp315-cp315t-musllinux_1_2_aarch64.whl
Size 2.7 MB
Tags CPython 3.15 CPython 3.15 free-threading Linux musl 1.2+ ARM64
SHA-256 checksum
How to use checksums
9d69f02b0bd1db3b75a9692e7dea921376ab0777e47e1bdeb1864dcf6be671ad
BLAKE2b-256 checksum
How to use checksums
17750b04d87624653643f2001787c77ecbc74b6f711f8e263b80fdc2a4d9f8b9
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.14.8

Release files / fishdbc-1.0.0-cp315-cp315t-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl

Download URL fishdbc-1.0.0-cp315-cp315t-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
Size 2.7 MB
Tags CPython 3.15 CPython 3.15 free-threading Linux glibc 2.17+ x86-64 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
dd78ebd98eb8adb9f7559fea814d76b6247d9590cc1085618eb3054971e86b4e
BLAKE2b-256 checksum
How to use checksums
1158b4d84e11e318952e90baddac8466a2e79ebf8c9cfe467f2a7015ea9b82dd
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.14.8

Release files / fishdbc-1.0.0-cp315-cp315t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl

Download URL fishdbc-1.0.0-cp315-cp315t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl
Size 2.7 MB
Tags CPython 3.15 CPython 3.15 free-threading Linux glibc 2.17+ ARM64 Linux glibc 2.28+ ARM64
SHA-256 checksum
How to use checksums
933ef3aacea7bb1e50bd357d7471fe0720ac3c96674dc64bb04671f3bf665f1d
BLAKE2b-256 checksum
How to use checksums
76bcbe42c6f82c15090f94fe72d094d156f0a8b08ad84a59412e821b9a565f91
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.14.8

Release files / fishdbc-1.0.0-cp315-cp315t-macosx_15_0_arm64.whl

Download URL fishdbc-1.0.0-cp315-cp315t-macosx_15_0_arm64.whl
Size 478.8 kB
Tags CPython 3.15 CPython 3.15 free-threading macOS 15.0+ ARM64
SHA-256 checksum
How to use checksums
254c3010fb90223ec48c3e531fcfa36f4581e2934033067b672593c1119b24ba
BLAKE2b-256 checksum
How to use checksums
6741d528f57d4330eddcd2f0eb0e0b87645b61cb8f92dd5d2e9652fcc3167cf6
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.14.8

Release files / fishdbc-1.0.0-cp315-cp315-musllinux_1_2_x86_64.whl

Download URL fishdbc-1.0.0-cp315-cp315-musllinux_1_2_x86_64.whl
Size 2.7 MB
Tags CPython 3.15 Linux musl 1.2+ x86-64
SHA-256 checksum
How to use checksums
acf0cbf46596d0bf34ef952db638f2e41e3e27dbc565d479b9151605d43c527d
BLAKE2b-256 checksum
How to use checksums
788e5cf880da34acbce69de7a393ede25df3f5f93cbf33f69c0198066cfb1883
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.14.8

Release files / fishdbc-1.0.0-cp315-cp315-musllinux_1_2_aarch64.whl

Download URL fishdbc-1.0.0-cp315-cp315-musllinux_1_2_aarch64.whl
Size 2.6 MB
Tags CPython 3.15 Linux musl 1.2+ ARM64
SHA-256 checksum
How to use checksums
1dda36b32aa9791787163860092980b8cf3bc9683b859fdcad662129f551dc3d
BLAKE2b-256 checksum
How to use checksums
f232941aa44d9393d382d5abe55da4fbdae13afcf9df5a79856d9214df38a6b2
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.14.8

Release files / fishdbc-1.0.0-cp315-cp315-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl

Download URL fishdbc-1.0.0-cp315-cp315-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
Size 2.7 MB
Tags CPython 3.15 Linux glibc 2.17+ x86-64 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
132a839415dd7fc0de617b946d1834548e84791eee3c924d37c3dec2e5d862fb
BLAKE2b-256 checksum
How to use checksums
367cc26e565b53324e827fe9bcb9c4abe4663e99c16299a8445e2fa3863ef23c
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.14.8

Release files / fishdbc-1.0.0-cp315-cp315-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl

Download URL fishdbc-1.0.0-cp315-cp315-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl
Size 2.6 MB
Tags CPython 3.15 Linux glibc 2.17+ ARM64 Linux glibc 2.28+ ARM64
SHA-256 checksum
How to use checksums
3e1df883f4c03c39f488e32ce1a78e684ad931d06d300434fbba2abedb0ebe53
BLAKE2b-256 checksum
How to use checksums
8ea774f7ad5a213cc0e61de97b9162375a10017fe2e7f595f56a37f117ee6a02
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.14.8

Release files / fishdbc-1.0.0-cp315-cp315-macosx_15_0_arm64.whl

Download URL fishdbc-1.0.0-cp315-cp315-macosx_15_0_arm64.whl
Size 452.8 kB
Tags CPython 3.15 macOS 15.0+ ARM64
SHA-256 checksum
How to use checksums
9fa4e384c952dda2274610da42ff89e3570b0c22ee0a5ad35c14eb55cd4cd7d2
BLAKE2b-256 checksum
How to use checksums
662cd468ae5d01dd0dda4ef0d5eedd3370954b0ac75672b5f6a21ebd6be87435
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.14.8

Release files / fishdbc-1.0.0-cp314-cp314t-musllinux_1_2_x86_64.whl

Download URL fishdbc-1.0.0-cp314-cp314t-musllinux_1_2_x86_64.whl
Size 2.7 MB
Tags CPython 3.14 CPython 3.14 free-threading Linux musl 1.2+ x86-64
SHA-256 checksum
How to use checksums
ee8f90e468f49e5212de2e2e2ba48a371d4ba985c84d80b54a22ea4d1a5a2fc5
BLAKE2b-256 checksum
How to use checksums
4af99cfe6189f2b0951ad2417bf8f9bc16c655b67b3f697b43782b26b24538f7
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.14.8

Release files / fishdbc-1.0.0-cp314-cp314t-musllinux_1_2_aarch64.whl

Download URL fishdbc-1.0.0-cp314-cp314t-musllinux_1_2_aarch64.whl
Size 2.6 MB
Tags CPython 3.14 CPython 3.14 free-threading Linux musl 1.2+ ARM64
SHA-256 checksum
How to use checksums
56e6ce289fa54867e70e855bcaf2ef3e19eab20ed6e7de254fea66b3a6626ab7
BLAKE2b-256 checksum
How to use checksums
b45c363ad4b22ebd2636fa11a41a03d2f63b2586b24b52741481325908fbd67a
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.14.8

Release files / fishdbc-1.0.0-cp314-cp314t-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl

Download URL fishdbc-1.0.0-cp314-cp314t-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
Size 2.7 MB
Tags CPython 3.14 CPython 3.14 free-threading Linux glibc 2.17+ x86-64 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
5fa82d8ab011d3e58410c4b9707e90fb459823b419e08d694b838b85f37cfaba
BLAKE2b-256 checksum
How to use checksums
5a689dc826ed4f1e36429240f00aa0b03544a07678b98bc0c1cab019fdae5c14
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.14.8

Release files / fishdbc-1.0.0-cp314-cp314t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl

Download URL fishdbc-1.0.0-cp314-cp314t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl
Size 2.7 MB
Tags CPython 3.14 CPython 3.14 free-threading Linux glibc 2.17+ ARM64 Linux glibc 2.28+ ARM64
SHA-256 checksum
How to use checksums
eb97b8c12507155d74616ba019e6df86ff76172d7faeddb9cd832bfd1c0c1146
BLAKE2b-256 checksum
How to use checksums
6a01739e8618b409514576bc8c831896d0b820abc560850a243ce498e9ac2315
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.14.8

Release files / fishdbc-1.0.0-cp314-cp314t-macosx_15_0_arm64.whl

Download URL fishdbc-1.0.0-cp314-cp314t-macosx_15_0_arm64.whl
Size 480.7 kB
Tags CPython 3.14 CPython 3.14 free-threading macOS 15.0+ ARM64
SHA-256 checksum
How to use checksums
f5d87a2e8f21a5a819500926089e9541722158e94c19e357eb44fd41da6d50a7
BLAKE2b-256 checksum
How to use checksums
918534956c68ed5a4ab4bf479643ab2b33af17c1e9a21ad1ba5faddce6ef3041
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.14.8

Release files / fishdbc-1.0.0-cp314-cp314-musllinux_1_2_x86_64.whl

Download URL fishdbc-1.0.0-cp314-cp314-musllinux_1_2_x86_64.whl
Size 2.7 MB
Tags CPython 3.14 Linux musl 1.2+ x86-64
SHA-256 checksum
How to use checksums
29d522ce59e14a0ef48a5deedb76e97fbd4289e8868c4d1225fc0d6ca15ad2b3
BLAKE2b-256 checksum
How to use checksums
61d4f8fa745d15445326e9c639151ed3607430301d3e1ebca7bc35a66a9cff8b
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.14.8

Release files / fishdbc-1.0.0-cp314-cp314-musllinux_1_2_aarch64.whl

Download URL fishdbc-1.0.0-cp314-cp314-musllinux_1_2_aarch64.whl
Size 2.6 MB
Tags CPython 3.14 Linux musl 1.2+ ARM64
SHA-256 checksum
How to use checksums
19bb01ce0309eb6df521bc6ca169a91ec61a7a1d05c193409d3de75ff7ec49d1
BLAKE2b-256 checksum
How to use checksums
1f34bef9fc2d73c563f6c62771302437a98c42f39e3f5f7fb9faacd530805a8b
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.14.8

Release files / fishdbc-1.0.0-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl

Download URL fishdbc-1.0.0-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
Size 2.7 MB
Tags CPython 3.14 Linux glibc 2.17+ x86-64 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
0208da6d93a5847d17d4b5b23a8c8f6352826a94544628c2e42adbda2f009c60
BLAKE2b-256 checksum
How to use checksums
c1b2113b9fd0eb67339224366576d1388fabf4c08a7c3f42ff049747ee5cf711
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.14.8

Release files / fishdbc-1.0.0-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl

Download URL fishdbc-1.0.0-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl
Size 2.6 MB
Tags CPython 3.14 Linux glibc 2.17+ ARM64 Linux glibc 2.28+ ARM64
SHA-256 checksum
How to use checksums
fe2435c408c8f504ba8b762a86dc8905aada74b63e9e8a1672f7adf59b0c7352
BLAKE2b-256 checksum
How to use checksums
665cb87c295920a9ef16c8aebd0a4ed19e7d59418b2ddbe4d5934ef3e9b1b9c6
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.14.8

Release files / fishdbc-1.0.0-cp314-cp314-macosx_15_0_arm64.whl

Download URL fishdbc-1.0.0-cp314-cp314-macosx_15_0_arm64.whl
Size 453.1 kB
Tags CPython 3.14 macOS 15.0+ ARM64
SHA-256 checksum
How to use checksums
b01ec4371b07f7de266e7c97ab2b369042a847b9f904fee8eb4c2604bdb97264
BLAKE2b-256 checksum
How to use checksums
2df4345d6a797ce30a7e0f7aec3b9ecd70a1e2528ef0ddca9cbb62fe7f3c405a
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.14.8

Release files / fishdbc-1.0.0-cp313-cp313-musllinux_1_2_x86_64.whl

Download URL fishdbc-1.0.0-cp313-cp313-musllinux_1_2_x86_64.whl
Size 2.8 MB
Tags CPython 3.13 Linux musl 1.2+ x86-64
SHA-256 checksum
How to use checksums
a48f1510902095bd839a0349682a619adcbd42eb7e96c1f571e7ba93cf6c41eb
BLAKE2b-256 checksum
How to use checksums
56b005eff1112ed34676ab92178b17ec2b71bc681b341c01630560605bee6def
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.14.8

Release files / fishdbc-1.0.0-cp313-cp313-musllinux_1_2_aarch64.whl

Download URL fishdbc-1.0.0-cp313-cp313-musllinux_1_2_aarch64.whl
Size 2.6 MB
Tags CPython 3.13 Linux musl 1.2+ ARM64
SHA-256 checksum
How to use checksums
af5f2d3f270630ce809f048827478d3ccfcb5f17547ae2537c6ef3158e62669c
BLAKE2b-256 checksum
How to use checksums
58e4aa66d642a07b72ea06c5ed5bec73a66f8f3bdacc00d0e48813221eb2738f
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.14.8

Release files / fishdbc-1.0.0-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl

Download URL fishdbc-1.0.0-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
Size 2.7 MB
Tags CPython 3.13 Linux glibc 2.17+ x86-64 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
6932b10df349f1d0a47f3fef5596225141c1810f9ee2b1d9e4a073efff06fcd1
BLAKE2b-256 checksum
How to use checksums
962233555e2420d3d8c70890cf89b020749acd82905c49f7a1a4dc4e0a4dcf9a
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.14.8

Release files / fishdbc-1.0.0-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl

Download URL fishdbc-1.0.0-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl
Size 2.6 MB
Tags CPython 3.13 Linux glibc 2.17+ ARM64 Linux glibc 2.28+ ARM64
SHA-256 checksum
How to use checksums
a8661b163d914ce988487e97f2d3292cda6661f2cddf3562c8b4516b3478e32c
BLAKE2b-256 checksum
How to use checksums
773154e415f21661fb1ed2ecdf711eeaaf08f48a8d57f41559333bc241f63e1d
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.14.8

Release files / fishdbc-1.0.0-cp313-cp313-macosx_15_0_arm64.whl

Download URL fishdbc-1.0.0-cp313-cp313-macosx_15_0_arm64.whl
Size 450.5 kB
Tags CPython 3.13 macOS 15.0+ ARM64
SHA-256 checksum
How to use checksums
d01dd661129d58af19e02dc711b6a3ae95c19ef2aab4271e44a0cbbe696e44c4
BLAKE2b-256 checksum
How to use checksums
7b169a01943ca42537dd5672616e0647e21563552be52f3a0b5e9664d6caa51b
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.14.8

Release files / fishdbc-1.0.0-cp312-cp312-musllinux_1_2_x86_64.whl

Download URL fishdbc-1.0.0-cp312-cp312-musllinux_1_2_x86_64.whl
Size 2.8 MB
Tags CPython 3.12 Linux musl 1.2+ x86-64
SHA-256 checksum
How to use checksums
2827e1361c9a6a4a4222c1446ed4b08200f97cd145f7445e4023533d10916347
BLAKE2b-256 checksum
How to use checksums
956226e773e55c3b013f0fe98eba01f1359d0f7229d06dcea0217a7b11a31e1a
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.14.8

Release files / fishdbc-1.0.0-cp312-cp312-musllinux_1_2_aarch64.whl

Download URL fishdbc-1.0.0-cp312-cp312-musllinux_1_2_aarch64.whl
Size 2.6 MB
Tags CPython 3.12 Linux musl 1.2+ ARM64
SHA-256 checksum
How to use checksums
df2a9d50ebbd495505bc654942bd39de52c2dde05f4b42f405ce8324aaa15ea1
BLAKE2b-256 checksum
How to use checksums
db8077fb6c1d5be180b9fc74f1477d4902b523d09594baba503a17c02c1d964c
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.14.8

Release files / fishdbc-1.0.0-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl

Download URL fishdbc-1.0.0-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
Size 2.7 MB
Tags CPython 3.12 Linux glibc 2.17+ x86-64 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
c222fde0dc4d505d43b3e526cc852023f0f9c63d0b0610abb09ed0da2295d8e2
BLAKE2b-256 checksum
How to use checksums
1d170f31d369a468054fe3b96c563da95f60cd9b5d6c24a224f2832fb6f185da
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.14.8

Release files / fishdbc-1.0.0-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl

Download URL fishdbc-1.0.0-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl
Size 2.7 MB
Tags CPython 3.12 Linux glibc 2.17+ ARM64 Linux glibc 2.28+ ARM64
SHA-256 checksum
How to use checksums
de06f7ee11027fa49805f5f7cbd9ee4431d97922e83374f0f89bb9bdbfc2532f
BLAKE2b-256 checksum
How to use checksums
75024eb011e22466cac8d8a3130b86b8142f6b59c732b6fefc5c3c8da41771c3
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.14.8

Release files / fishdbc-1.0.0-cp312-cp312-macosx_15_0_arm64.whl

Download URL fishdbc-1.0.0-cp312-cp312-macosx_15_0_arm64.whl
Size 450.4 kB
Tags CPython 3.12 macOS 15.0+ ARM64
SHA-256 checksum
How to use checksums
54e14956454d052de509a8674b20d39ce4b183c24f956ef9d955b7573485623a
BLAKE2b-256 checksum
How to use checksums
5681b9630bf4dd4879af8f289d0cf054c28af9d4182c7e3c90ed2e31e0660e17
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.14.8

Release files / fishdbc-1.0.0-cp311-cp311-musllinux_1_2_x86_64.whl

Download URL fishdbc-1.0.0-cp311-cp311-musllinux_1_2_x86_64.whl
Size 2.9 MB
Tags CPython 3.11 Linux musl 1.2+ x86-64
SHA-256 checksum
How to use checksums
fb30db39a991a37df6b4f741ef4d420c0e300da0e99bafa97764948ad5e355d3
BLAKE2b-256 checksum
How to use checksums
5028bd6349f57adf29d02f5edc02d990daad115644caba0dfecdf963846c2f2a
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.14.8

Release files / fishdbc-1.0.0-cp311-cp311-musllinux_1_2_aarch64.whl

Download URL fishdbc-1.0.0-cp311-cp311-musllinux_1_2_aarch64.whl
Size 2.8 MB
Tags CPython 3.11 Linux musl 1.2+ ARM64
SHA-256 checksum
How to use checksums
7a98631feb982dad00cfaf15d036ec32f04b92f97fd30628afd19eb69726943f
BLAKE2b-256 checksum
How to use checksums
f19d8c5b4a65f82b7ab90043313b8da832e1f0a33ff86d777ded81b758124f5b
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.14.8

Release files / fishdbc-1.0.0-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl

Download URL fishdbc-1.0.0-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
Size 2.8 MB
Tags CPython 3.11 Linux glibc 2.17+ x86-64 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
2361b16bc2aa0efa1170ae4966e0ac3a9a4ee38f5836e8b4be816b6c05c1a3cf
BLAKE2b-256 checksum
How to use checksums
d546e3f45a687ad233638f32187eebe1a5b8c6f13ea7ff8955b5ad26ffcd48b4
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.14.8

Release files / fishdbc-1.0.0-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl

Download URL fishdbc-1.0.0-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl
Size 2.7 MB
Tags CPython 3.11 Linux glibc 2.17+ ARM64 Linux glibc 2.28+ ARM64
SHA-256 checksum
How to use checksums
71d1cea444fa3f2e1c22a0c37bba578e5ebdd6d5168db9d5b74ccd19c742d0d0
BLAKE2b-256 checksum
How to use checksums
f774f13262ffcda29dfd7c97959b8b41e40dc0e354389e65ea3016dd505c83bb
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.14.8

Release files / fishdbc-1.0.0-cp311-cp311-macosx_15_0_arm64.whl

Download URL fishdbc-1.0.0-cp311-cp311-macosx_15_0_arm64.whl
Size 449.9 kB
Tags CPython 3.11 macOS 15.0+ ARM64
SHA-256 checksum
How to use checksums
aff8daa6a667591439be42ebdb9e0697cf48ef02dcf3a296891cf7d7000cf55b
BLAKE2b-256 checksum
How to use checksums
4d0e93ace024845058705d11f0123fd527cd496934e2d916371c7a92d3f8e82d
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.14.8

Release files / fishdbc-1.0.0-cp310-cp310-musllinux_1_2_x86_64.whl

Download URL fishdbc-1.0.0-cp310-cp310-musllinux_1_2_x86_64.whl
Size 2.8 MB
Tags CPython 3.10 Linux musl 1.2+ x86-64
SHA-256 checksum
How to use checksums
c35b001b4a7cfd27a599d45c288725fa90bf14273bf73d0412282adb71841b82
BLAKE2b-256 checksum
How to use checksums
b9146810664158355b1528b11a17f8fe128e534394a878d3ab403b2e031d5eac
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.14.8

Release files / fishdbc-1.0.0-cp310-cp310-musllinux_1_2_aarch64.whl

Download URL fishdbc-1.0.0-cp310-cp310-musllinux_1_2_aarch64.whl
Size 2.7 MB
Tags CPython 3.10 Linux musl 1.2+ ARM64
SHA-256 checksum
How to use checksums
4cd8f0177d7b032b9d6674e19f55c920ba2cdeb003063b185278e237c0f25e2d
BLAKE2b-256 checksum
How to use checksums
a208cc65f3ec84d9714b737f946b59f400eb9fc71b5db023f0044160e2629ffc
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.14.8

Release files / fishdbc-1.0.0-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl

Download URL fishdbc-1.0.0-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
Size 2.7 MB
Tags CPython 3.10 Linux glibc 2.17+ x86-64 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
ba63597b44011c521d5eb92cad34cb381d3a987c0b7ed1537f4f94cb7d2fa76f
BLAKE2b-256 checksum
How to use checksums
18726e4a5559fc017cf634512d56679f6094b788993571c4fdd973e874af90c7
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.14.8

Release files / fishdbc-1.0.0-cp310-cp310-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl

Download URL fishdbc-1.0.0-cp310-cp310-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl
Size 2.6 MB
Tags CPython 3.10 Linux glibc 2.17+ ARM64 Linux glibc 2.28+ ARM64
SHA-256 checksum
How to use checksums
835730828dd7d6fcc76cb7d5409b2a9922bc8d3c87d35867095b865584689b47
BLAKE2b-256 checksum
How to use checksums
d11523dae6c542811562fdf59e42d1b93ac61f4353ecd5ff4e75f32bc2d7e961
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.14.8

Release files / fishdbc-1.0.0-cp310-cp310-macosx_15_0_arm64.whl

Download URL fishdbc-1.0.0-cp310-cp310-macosx_15_0_arm64.whl
Size 455.9 kB
Tags CPython 3.10 macOS 15.0+ ARM64
SHA-256 checksum
How to use checksums
cfec13b623d2266b18d28f330e66895f2124e22f9b574e99e2b6c7fc5c6564a2
BLAKE2b-256 checksum
How to use checksums
b8f0fa4128b94145949357581d47ee6c7195a0adb4a661f94535ba2f41dc0508
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.14.8

Security for fishdbc 1.0.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.

Release history Release notifications | RSS feed

This release

1.0.0 This release

41 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