Skip to main content

An in-memory immutable data manager

Project description

libvineyard

vineyard: an in-memory immutable data manager

Build and Test Coverage Docs Artifact HUB

Vineyard is an in-memory immutable data manager that provides out-of-box high-level abstraction and zero-copy in-memory sharing for distributed data in big data tasks, such as graph analytics (e.g., GraphScope), numerical computing (e.g., Mars), and machine learning.

Vineyard is designed to enable zero-copy data sharing between big data systems. Let’s begin with a typical machine learning task of time series prediction with LSTM. We can see that the task is divided into steps of works: First, we read the data from the file system as a pandas.DataFrame. Then, we apply some preprocessing jobs, such as eliminating null values to the dataframe. After that, we define the model, and train the model on the processed dataframe in PyTorch. Finally, the performance of the model is evaluated.

On a single machine, although pandas and PyTorch are two different systems targeting different tasks, data can be shared between them efficiently with little extra-cost, with everything happening end-to-end in a single python script.

Comparing the workflow with and without vineyard

What if the input data is too big to be processed on a single machine? As illustrated on the left side of the figure, a common practice is to store the data as tables on a distributed file system (e.g., HDFS), and replace pandas with ETL processes using SQL over a big data system such as Hive and Spark. To share the data with PyTorch, the intermediate results are typically saved back as tables on HDFS. This can bring some headaches to developers.

  1. For the same task, users are forced to program for multiple systems (SQL & Python).

  2. Data could be polymorphic. Non-relational data, such as tensors, dataframes and graphs/networks (in GraphScope) are becoming increasingly prevalent. Tables and SQL may not be best way to store/exchange or process them. Having the data transformed from/to “tables” back and forth between different systems could be a huge overhead.

  3. Saving/loading the data to/from the external storage requires lots of memory-copies and IO costs.

Vineyard is designed to solve these issues by providing:

  1. In-memory distributed data sharing in a zero-copy fashion to avoid introducing extra I/O costs by exploiting a shared memory manager derived from plasma.

  2. Built-in out-of-box high-level abstraction to share the distributed data with complex structures (e.g., distributed graphs) with nearly zero extra development cost, while the transformation costs are eliminated.

As shown in the right side of the above figure, we illustrate how to integrate vineyard to solve the task in the big data context.

First, we use Mars (a tensor-based unified framework for large-scale data computation which scales Numpy, Pandas and Scikit-learn) to preprocess the raw data just like the single machine solution do, and save the preprocessed dataframe into vineyard.

single

data_csv = pd.read_csv('./data.csv', usecols=[1])

distributed

import mars.dataframe as md
dataset = md.read_csv('hdfs://server/data_full', usecols=[1])
# after preprocessing, save the dataset to vineyard
vineyard_distributed_tensor_id = dataset.to_vineyard()

Then, we modify the training phase to get the preprocessed data from vineyard. Here vineyard makes the sharing of distributed data between Mars and PyTorch just like a local variable in the single machine solution.

single

data_X, data_Y = create_dataset(dataset)

distributed

client = vineyard.connect(vineyard_ipc_socket)
dataset = client.get(vineyard_distributed_tensor_id).local_partition()
data_X, data_Y = create_dataset(dataset)

Finally, we run the training phase distributedly across the cluster.

From the example, we see that with vineyard, the task in the big data context can be handled with only minor modifications to the single machine solution. Compare with the existing approaches, the I/O and transformation overheads are also eliminated.

Features

In-Memory immutable data sharing

Vineyard is an in-memory immutable data manager, sharing immutable data across different systems via shared memory without extra overheads. Vineyard eliminates the overhead of serialization/deserialization and IO during exchanging immutable data between systems.

Out-of-box high level data abstraction

Computation frameworks usually have their own data abstractions for high-level concepts, for example tensor could be torch.tensor, tf.Tensor, mxnet.ndarray etc., not to mention that every graph processing engine has its own graph structure representations.

The variety of data abstractions makes the sharing hard. Vineyard provides out-of-box high-level data abstractions over in-memory blobs, by describing objects using hierarchical metadatas. Various computation systems can utilize the built-in high level data abstractions to exchange data with other systems in computation pipeline in a concise manner.

Stream pipelining

A computation doens’t need to wait all precedent’s result arrive before starting to work. Vineyard provides stream as a special kind of immmutable data for such pipeling scenarios. The precedent job can write the immutable data chunk by chunk to vineyard, while maintaining the data structure semantic, and the successor job reads shared-memory chunks from vineyard’s stream without extra copy cost, then triggers it’s own work. The overlapping helps for reducing the overall processing time and memory consumption.

Drivers

Many big data analytical tasks have lots of boilerplate routines for tasks that unrelated to the computation itself, e.g., various IO adaptors, data partition strategies and migration jobs. As the data structure abstraction usually differs between systems such routines cannot be easily reused.

Vineyard provides such common manipulate routines on immutable data as drivers. Besides sharing the high level data abstractions, vineyard extends the capabily of data structures by drivers, enabling out-of-box reusable runtines for the boilerplate part in computation jobs.

Integrate with Kubernetes

Vineyard helps share immutable data between different workloads, is a natural fit to cloud-native computing. Vineyard could provide efficient distributed data sharing in cloud-native environment by embracing cloud-native big data processing and Kubernetes helps vineyard leverage the scale-in/out and scheduling ability of Kubernetes.

Deployment

For better leveraging the scale-in/out capability of Kubernetes for worker pods of a data analytical job, vineyard could be deployed on Kubernetes to as a DaemonSet in Kubernetes cluster. Vineyard pods shares memory with worker pods using a UNIX domain socket with fine-grained access control.

The UNIX domain socket can be either mounted on hostPath or via a PersistentVolumeClaim. When users bundle vineyard and the workload to the same pod, the UNIX domain socket could also be shared using an emptyDir.

Deployment with Helm

Vineyard also has tight integration with Kubernetes and Helm. Vineyard can be deployed with helm:

helm repo add vineyard https://dl.bintray.com/libvineyard/charts/
helm install vineyard vineyard/vineyard

In the further vineyard will improve the integration with Kubernetes by abstract vineyard objects as as Kubernetes resources (i.e., CRDs), and leverage a vineyard operator to operate vineyard cluster.

Install vineyard

Vineyard is distributed as a python package and can be easily installed with pip:

pip3 install vineyard

The latest version of online documentation can be found at https://v6d.io.

If you want to build vineyard from source, please refer to Installation.

License

libvineyard is distributed under Apache License 2.0. Please note that third-party libraries may not have the same license as libvineyard.

Acknowledgements

  • apache-arrow, a cross-language development platform for in-memory analytics;

  • boost-leaf, a C++ lightweight error augmentation framework;

  • dlmalloc, Doug Lea’s memory allocator;

  • etcd-cpp-apiv3, a C++ API for etcd’s v3 client API;

  • flat_hash_map, an efficient hashmap implementation;

  • pybind11, a library for seamless operability between C++11 and Python;

  • uri, a library for URI parsing.

Getting involved

  • Read contribution guide.

  • Please report bugs by submitting a GitHub issue.

  • Submit contributions using pull requests.

Thank you in advance for your contributions to vineyard!

Project details


Release history Release notifications | RSS feed

Download files

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

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distributions

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

vineyard-0.1.8-cp39-cp39-manylinux2010_x86_64.whl (3.3 MB view details)

Uploaded CPython 3.9manylinux: glibc 2.12+ x86-64

vineyard-0.1.8-cp39-cp39-macosx_10_9_x86_64.whl (585.1 kB view details)

Uploaded CPython 3.9macOS 10.9+ x86-64

vineyard-0.1.8-cp38-cp38-manylinux2010_x86_64.whl (3.3 MB view details)

Uploaded CPython 3.8manylinux: glibc 2.12+ x86-64

vineyard-0.1.8-cp38-cp38-macosx_10_9_x86_64.whl (585.2 kB view details)

Uploaded CPython 3.8macOS 10.9+ x86-64

vineyard-0.1.8-cp37-cp37m-manylinux2010_x86_64.whl (3.3 MB view details)

Uploaded CPython 3.7mmanylinux: glibc 2.12+ x86-64

vineyard-0.1.8-cp37-cp37m-macosx_10_9_x86_64.whl (585.1 kB view details)

Uploaded CPython 3.7mmacOS 10.9+ x86-64

vineyard-0.1.8-cp36-cp36m-manylinux2010_x86_64.whl (3.3 MB view details)

Uploaded CPython 3.6mmanylinux: glibc 2.12+ x86-64

vineyard-0.1.8-cp36-cp36m-macosx_10_9_x86_64.whl (585.1 kB view details)

Uploaded CPython 3.6mmacOS 10.9+ x86-64

vineyard-0.1.8-1-cp39-cp39-manylinux2010_x86_64.whl (3.3 MB view details)

Uploaded CPython 3.9manylinux: glibc 2.12+ x86-64

vineyard-0.1.8-1-cp39-cp39-macosx_10_9_x86_64.whl (585.3 kB view details)

Uploaded CPython 3.9macOS 10.9+ x86-64

vineyard-0.1.8-1-cp38-cp38-manylinux2010_x86_64.whl (3.3 MB view details)

Uploaded CPython 3.8manylinux: glibc 2.12+ x86-64

vineyard-0.1.8-1-cp38-cp38-macosx_10_9_x86_64.whl (585.4 kB view details)

Uploaded CPython 3.8macOS 10.9+ x86-64

vineyard-0.1.8-1-cp37-cp37m-manylinux2010_x86_64.whl (3.3 MB view details)

Uploaded CPython 3.7mmanylinux: glibc 2.12+ x86-64

vineyard-0.1.8-1-cp37-cp37m-macosx_10_9_x86_64.whl (585.3 kB view details)

Uploaded CPython 3.7mmacOS 10.9+ x86-64

vineyard-0.1.8-1-cp36-cp36m-manylinux2010_x86_64.whl (3.3 MB view details)

Uploaded CPython 3.6mmanylinux: glibc 2.12+ x86-64

vineyard-0.1.8-1-cp36-cp36m-macosx_10_9_x86_64.whl (585.3 kB view details)

Uploaded CPython 3.6mmacOS 10.9+ x86-64

File details

Details for the file vineyard-0.1.8-cp39-cp39-manylinux2010_x86_64.whl.

File metadata

  • Download URL: vineyard-0.1.8-cp39-cp39-manylinux2010_x86_64.whl
  • Upload date:
  • Size: 3.3 MB
  • Tags: CPython 3.9, manylinux: glibc 2.12+ x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.2.0 pkginfo/1.6.1 requests/2.23.0 setuptools/45.2.0 requests-toolbelt/0.9.1 tqdm/4.53.0 CPython/3.8.2

File hashes

Hashes for vineyard-0.1.8-cp39-cp39-manylinux2010_x86_64.whl
Algorithm Hash digest
SHA256 da16cac6831bd60d57afbea219d878331642e62ce37b9c1c8902602c78a59832
MD5 cda7c1ccdf4b24809060efcf6749ab2b
BLAKE2b-256 3d54027e0064212371fc1100eab98461a1f93c73c46e0eb9a4dd93e5ea9cc672

See more details on using hashes here.

File details

Details for the file vineyard-0.1.8-cp39-cp39-macosx_10_9_x86_64.whl.

File metadata

  • Download URL: vineyard-0.1.8-cp39-cp39-macosx_10_9_x86_64.whl
  • Upload date:
  • Size: 585.1 kB
  • Tags: CPython 3.9, macOS 10.9+ x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.2.0 pkginfo/1.6.1 requests/2.23.0 setuptools/45.2.0 requests-toolbelt/0.9.1 tqdm/4.53.0 CPython/3.8.2

File hashes

Hashes for vineyard-0.1.8-cp39-cp39-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 440b98530387edf5f7a20e23da21215ad643595b65bc73ea11ff22fb11653372
MD5 4f49fa1f8dc9528c35291a871d5e212c
BLAKE2b-256 a135d50ece83d2cfc460e863c353b4b8459ea423cb305947455245a3e559272d

See more details on using hashes here.

File details

Details for the file vineyard-0.1.8-cp38-cp38-manylinux2010_x86_64.whl.

File metadata

  • Download URL: vineyard-0.1.8-cp38-cp38-manylinux2010_x86_64.whl
  • Upload date:
  • Size: 3.3 MB
  • Tags: CPython 3.8, manylinux: glibc 2.12+ x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.2.0 pkginfo/1.6.1 requests/2.23.0 setuptools/45.2.0 requests-toolbelt/0.9.1 tqdm/4.53.0 CPython/3.8.2

File hashes

Hashes for vineyard-0.1.8-cp38-cp38-manylinux2010_x86_64.whl
Algorithm Hash digest
SHA256 27ae5a9fdc7fcce77c25be03194d4af885330a4297eba710ba4f7f3b3db34490
MD5 6122bdf2d9c5585812da58a572c5c510
BLAKE2b-256 f29c113e426797b716fc675cd8646e49c0b46dc099de4822ada5f07654d8c5b4

See more details on using hashes here.

File details

Details for the file vineyard-0.1.8-cp38-cp38-macosx_10_9_x86_64.whl.

File metadata

  • Download URL: vineyard-0.1.8-cp38-cp38-macosx_10_9_x86_64.whl
  • Upload date:
  • Size: 585.2 kB
  • Tags: CPython 3.8, macOS 10.9+ x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.2.0 pkginfo/1.6.1 requests/2.23.0 setuptools/45.2.0 requests-toolbelt/0.9.1 tqdm/4.53.0 CPython/3.8.2

File hashes

Hashes for vineyard-0.1.8-cp38-cp38-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 b2ec6fe487e554df4b8497f3b69be37c31ea0088d7e5227d452ce736f9ebc776
MD5 ca269da0daa33a259f90085ca8e29b2b
BLAKE2b-256 aa4c98810c6cc869c5891c7ee6db007b9228d2dfa85ce14ca05346ff3aec230e

See more details on using hashes here.

File details

Details for the file vineyard-0.1.8-cp37-cp37m-manylinux2010_x86_64.whl.

File metadata

  • Download URL: vineyard-0.1.8-cp37-cp37m-manylinux2010_x86_64.whl
  • Upload date:
  • Size: 3.3 MB
  • Tags: CPython 3.7m, manylinux: glibc 2.12+ x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.2.0 pkginfo/1.6.1 requests/2.23.0 setuptools/45.2.0 requests-toolbelt/0.9.1 tqdm/4.53.0 CPython/3.8.2

File hashes

Hashes for vineyard-0.1.8-cp37-cp37m-manylinux2010_x86_64.whl
Algorithm Hash digest
SHA256 580b0b4cf57a923d7e1962324eb9b00d993056c2cc6887db443672b46886deb7
MD5 25c96edecb8ec47fa4297a1c7ee95aeb
BLAKE2b-256 19c07f4ad49e9426d085d3be3f152e789c7078c3f8fb856e5855c53fd863e806

See more details on using hashes here.

File details

Details for the file vineyard-0.1.8-cp37-cp37m-macosx_10_9_x86_64.whl.

File metadata

  • Download URL: vineyard-0.1.8-cp37-cp37m-macosx_10_9_x86_64.whl
  • Upload date:
  • Size: 585.1 kB
  • Tags: CPython 3.7m, macOS 10.9+ x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.2.0 pkginfo/1.6.1 requests/2.23.0 setuptools/45.2.0 requests-toolbelt/0.9.1 tqdm/4.53.0 CPython/3.8.2

File hashes

Hashes for vineyard-0.1.8-cp37-cp37m-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 a08f085837e3f95c66b1f9bb1dca8a5b6e22db3b7c11cd6f3f646570c0558202
MD5 c6e676e6ce3c8ab494c8f6d3a8f5fd5b
BLAKE2b-256 d015347bf01a3806e351426aeae129f79a9ed9dd1dd9004a97555de15610322c

See more details on using hashes here.

File details

Details for the file vineyard-0.1.8-cp36-cp36m-manylinux2010_x86_64.whl.

File metadata

  • Download URL: vineyard-0.1.8-cp36-cp36m-manylinux2010_x86_64.whl
  • Upload date:
  • Size: 3.3 MB
  • Tags: CPython 3.6m, manylinux: glibc 2.12+ x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.2.0 pkginfo/1.6.1 requests/2.23.0 setuptools/45.2.0 requests-toolbelt/0.9.1 tqdm/4.53.0 CPython/3.8.2

File hashes

Hashes for vineyard-0.1.8-cp36-cp36m-manylinux2010_x86_64.whl
Algorithm Hash digest
SHA256 a18302007fd6dad4445d43b12fe9b2e696a67c8d746c7528dd3ccb9de65fdf84
MD5 6cb1feae644dc6371c36b8413e1912cc
BLAKE2b-256 44cd83a2e7af95c09c1b579215fe44dac541f88322dec57bf59547e06ce8884c

See more details on using hashes here.

File details

Details for the file vineyard-0.1.8-cp36-cp36m-macosx_10_9_x86_64.whl.

File metadata

  • Download URL: vineyard-0.1.8-cp36-cp36m-macosx_10_9_x86_64.whl
  • Upload date:
  • Size: 585.1 kB
  • Tags: CPython 3.6m, macOS 10.9+ x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.2.0 pkginfo/1.6.1 requests/2.23.0 setuptools/45.2.0 requests-toolbelt/0.9.1 tqdm/4.53.0 CPython/3.8.2

File hashes

Hashes for vineyard-0.1.8-cp36-cp36m-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 d70aba834612a75c29c5d92d5b6a5893c1d6001d9a786f184a211a230e73daed
MD5 a8b439fcc35a573ccfd59f877f5e4a48
BLAKE2b-256 b01d47a0cabb0dae911a8ea49f0822f22bc4a52b967b7069620f9c0b846ffb7c

See more details on using hashes here.

File details

Details for the file vineyard-0.1.8-1-cp39-cp39-manylinux2010_x86_64.whl.

File metadata

  • Download URL: vineyard-0.1.8-1-cp39-cp39-manylinux2010_x86_64.whl
  • Upload date:
  • Size: 3.3 MB
  • Tags: CPython 3.9, manylinux: glibc 2.12+ x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.2.0 pkginfo/1.6.1 requests/2.23.0 setuptools/45.2.0 requests-toolbelt/0.9.1 tqdm/4.53.0 CPython/3.8.2

File hashes

Hashes for vineyard-0.1.8-1-cp39-cp39-manylinux2010_x86_64.whl
Algorithm Hash digest
SHA256 927b549437e49dd396bc5cdb45c627e8c430e496807a8b9bcf99505b51a5927b
MD5 a584a26411acb30795877c054aa6311b
BLAKE2b-256 dd386bd192532c235c2b1b8d51a49030ec199cc35aed95c460762d1eb76804c9

See more details on using hashes here.

File details

Details for the file vineyard-0.1.8-1-cp39-cp39-macosx_10_9_x86_64.whl.

File metadata

  • Download URL: vineyard-0.1.8-1-cp39-cp39-macosx_10_9_x86_64.whl
  • Upload date:
  • Size: 585.3 kB
  • Tags: CPython 3.9, macOS 10.9+ x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.2.0 pkginfo/1.6.1 requests/2.23.0 setuptools/45.2.0 requests-toolbelt/0.9.1 tqdm/4.53.0 CPython/3.8.2

File hashes

Hashes for vineyard-0.1.8-1-cp39-cp39-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 1dcc4d1a71e6cc2187652adab04bd4eb027788b661f6a60a44d0aac418662472
MD5 8cf0e8bd82562a00d40239a986de2cfd
BLAKE2b-256 c9f19a7d22c54aa45565fd48c960bf3622a65b87115ffc7a87c571f033cc2731

See more details on using hashes here.

File details

Details for the file vineyard-0.1.8-1-cp38-cp38-manylinux2010_x86_64.whl.

File metadata

  • Download URL: vineyard-0.1.8-1-cp38-cp38-manylinux2010_x86_64.whl
  • Upload date:
  • Size: 3.3 MB
  • Tags: CPython 3.8, manylinux: glibc 2.12+ x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.2.0 pkginfo/1.6.1 requests/2.23.0 setuptools/45.2.0 requests-toolbelt/0.9.1 tqdm/4.53.0 CPython/3.8.2

File hashes

Hashes for vineyard-0.1.8-1-cp38-cp38-manylinux2010_x86_64.whl
Algorithm Hash digest
SHA256 9f05c6e2f9b831d0bddb7d6708b56cbdf37e44d21630cf8b7789aaac110abc54
MD5 65fddf38ef62f9770c8e2949ab769175
BLAKE2b-256 ece7fca2763bde0bfa7f9d782a410d8f3ad7340754433915cb355ffc834e1d26

See more details on using hashes here.

File details

Details for the file vineyard-0.1.8-1-cp38-cp38-macosx_10_9_x86_64.whl.

File metadata

  • Download URL: vineyard-0.1.8-1-cp38-cp38-macosx_10_9_x86_64.whl
  • Upload date:
  • Size: 585.4 kB
  • Tags: CPython 3.8, macOS 10.9+ x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.2.0 pkginfo/1.6.1 requests/2.23.0 setuptools/45.2.0 requests-toolbelt/0.9.1 tqdm/4.53.0 CPython/3.8.2

File hashes

Hashes for vineyard-0.1.8-1-cp38-cp38-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 e2667a55750d3b2c1d10dca5a3dae898b70a22a1311576998069161584df8d43
MD5 684a01a9731a98d602b578af6066672e
BLAKE2b-256 f671addcf3731c9d1db8efd858aaaec4ad975a0f6d6fdb0c84d24af707d61a2b

See more details on using hashes here.

File details

Details for the file vineyard-0.1.8-1-cp37-cp37m-manylinux2010_x86_64.whl.

File metadata

  • Download URL: vineyard-0.1.8-1-cp37-cp37m-manylinux2010_x86_64.whl
  • Upload date:
  • Size: 3.3 MB
  • Tags: CPython 3.7m, manylinux: glibc 2.12+ x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.2.0 pkginfo/1.6.1 requests/2.23.0 setuptools/45.2.0 requests-toolbelt/0.9.1 tqdm/4.53.0 CPython/3.8.2

File hashes

Hashes for vineyard-0.1.8-1-cp37-cp37m-manylinux2010_x86_64.whl
Algorithm Hash digest
SHA256 11191ce14441366ab6ea635cb8b57bfe05f293d5a6612eb9d1cc7966d76a8a2e
MD5 fad5eb85f79fc60c18b02a510492014f
BLAKE2b-256 a9c7e5e456aeb1abf26e88c09cda2fe76cf46f9c7aba3332ffc026192a6536f2

See more details on using hashes here.

File details

Details for the file vineyard-0.1.8-1-cp37-cp37m-macosx_10_9_x86_64.whl.

File metadata

  • Download URL: vineyard-0.1.8-1-cp37-cp37m-macosx_10_9_x86_64.whl
  • Upload date:
  • Size: 585.3 kB
  • Tags: CPython 3.7m, macOS 10.9+ x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.2.0 pkginfo/1.6.1 requests/2.23.0 setuptools/45.2.0 requests-toolbelt/0.9.1 tqdm/4.53.0 CPython/3.8.2

File hashes

Hashes for vineyard-0.1.8-1-cp37-cp37m-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 74eefad135e227357b91fdc56fc3394d6c63dc92938b4e7b5e6f388ac724f2ec
MD5 cc174171cf8a05d404ad2f78933f90fd
BLAKE2b-256 db478cdd96e5371bbc6af642a56dce63dbb0e0c19ae5695f9581684276a508b2

See more details on using hashes here.

File details

Details for the file vineyard-0.1.8-1-cp36-cp36m-manylinux2010_x86_64.whl.

File metadata

  • Download URL: vineyard-0.1.8-1-cp36-cp36m-manylinux2010_x86_64.whl
  • Upload date:
  • Size: 3.3 MB
  • Tags: CPython 3.6m, manylinux: glibc 2.12+ x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.2.0 pkginfo/1.6.1 requests/2.23.0 setuptools/45.2.0 requests-toolbelt/0.9.1 tqdm/4.53.0 CPython/3.8.2

File hashes

Hashes for vineyard-0.1.8-1-cp36-cp36m-manylinux2010_x86_64.whl
Algorithm Hash digest
SHA256 c33fddf4bcac3e84744ea6c2e7b535d0865e888e8394d92caecc169a7f262a31
MD5 2d5eb1fd158b3e053f599fdf64905d49
BLAKE2b-256 64da7bea48d5ae6880297eb011e15da846b8de20e5baa84fa98b16641b163ef4

See more details on using hashes here.

File details

Details for the file vineyard-0.1.8-1-cp36-cp36m-macosx_10_9_x86_64.whl.

File metadata

  • Download URL: vineyard-0.1.8-1-cp36-cp36m-macosx_10_9_x86_64.whl
  • Upload date:
  • Size: 585.3 kB
  • Tags: CPython 3.6m, macOS 10.9+ x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.2.0 pkginfo/1.6.1 requests/2.23.0 setuptools/45.2.0 requests-toolbelt/0.9.1 tqdm/4.53.0 CPython/3.8.2

File hashes

Hashes for vineyard-0.1.8-1-cp36-cp36m-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 d9256fd8afd265a2947529bd11bb7fd12279badd52f0b9ccf4136614c70e7677
MD5 62fce3487dfcc536a371acf69b69224b
BLAKE2b-256 099d30560e50958af1816b2ad6b2655a9c51a5104df11c95026c1fc9a6079186

See more details on using hashes here.

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