Skip to main content

Tomoto, The Topic Modeling Tool for Python

Project description

What is tomotopy?

tomotopy is a Python extension of tomoto (Topic Modeling Tool) which is a Gibbs-sampling based topic model library written in C++. It utilizes a vectorization of modern CPUs for maximizing speed. The current version of tomoto supports several major topic models including

  • Latent Dirichlet Allocation (tomotopy.LDAModel)

  • Labeled LDA (tomotopy.LLDAModel)

  • Partially Labeled LDA (tomotopy.PLDAModel)

  • Supervised LDA (tomotopy.SLDAModel)

  • Dirichlet Multinomial Regression (tomotopy.DMRModel)

  • Hierarchical Dirichlet Process (tomotopy.HDPModel)

  • Hierarchical LDA (tomotopy.HLDAModel)

  • Multi Grain LDA (tomotopy.MGLDAModel)

  • Pachinko Allocation (tomotopy.PAModel)

  • Hierarchical PA (tomotopy.HPAModel)

  • Correlated Topic Model (tomotopy.CTModel).

The most recent version of tomotopy is 0.5.1.

https://badge.fury.io/py/tomotopy.svg

Getting Started

You can install tomotopy easily using pip. (https://pypi.org/project/tomotopy/)

$ pip install tomotopy

For Linux, it is neccesary to have gcc 5 or more for compiling C++14 codes. After installing, you can start tomotopy by just importing.

import tomotopy as tp
print(tp.isa) # prints 'avx2', 'avx', 'sse2' or 'none'

Currently, tomotopy can exploits AVX2, AVX or SSE2 SIMD instruction set for maximizing performance. When the package is imported, it will check available instruction sets and select the best option. If tp.isa tells none, iterations of training may take a long time. But, since most of modern Intel or AMD CPUs provide SIMD instruction set, the SIMD acceleration could show a big improvement.

Here is a sample code for simple LDA training of texts from ‘sample.txt’ file.

import tomotopy as tp
mdl = tp.LDAModel(k=20)
for line in open('sample.txt'):
    mdl.add_doc(line.strip().split())

for i in range(0, 100, 10):
    mdl.train(10)
    print('Iteration: {}\tLog-likelihood: {}'.format(i, mdl.ll_per_word))

for k in range(mdl.k):
    print('Top 10 words of topic #{}'.format(k))
    print(mdl.get_topic_words(k, top_n=10))

Performance of tomotopy

tomotopy uses Collapsed Gibbs-Sampling(CGS) to infer the distribution of topics and the distribution of words. Generally CGS converges more slowly than Variational Bayes(VB) that [gensim’s LdaModel] uses, but its iteration can be computed much faster. In addition, tomotopy can take advantage of multicore CPUs with a SIMD instruction set, which can result in faster iterations.

[gensim’s LdaModel]: https://radimrehurek.com/gensim/models/ldamodel.html

Following chart shows the comparison of LDA model’s running time between tomotopy and gensim. The input data consists of 1000 random documents from English Wikipedia with 1,506,966 words (about 10.1 MB). tomotopy trains 200 iterations and gensim trains 10 iterations.

https://bab2min.github.io/tomotopy/images/tmt_i5.png

↑ Performance in Intel i5-6600, x86-64 (4 cores)

https://bab2min.github.io/tomotopy/images/tmt_xeon.png

↑ Performance in Intel Xeon E5-2620 v4, x86-64 (8 cores, 16 threads)

https://bab2min.github.io/tomotopy/images/tmt_r7_3700x.png

↑ Performance in AMD Ryzen7 3700X, x86-64 (8 cores, 16 threads)

Although tomotopy iterated 20 times more, the overall running time was 5~10 times faster than gensim. And it yields a stable result.

It is difficult to compare CGS and VB directly because they are totaly different techniques. But from a practical point of view, we can compare the speed and the result between them. The following chart shows the log-likelihood per word of two models’ result.

https://bab2min.github.io/tomotopy/images/LLComp.png

The SIMD instruction set has a great effect on performance. Following is a comparison between SIMD instruction sets.

https://bab2min.github.io/tomotopy/images/SIMDComp.png

Fortunately, most of recent x86-64 CPUs provide AVX2 instruction set, so we can enjoy the performance of AVX2.

Model Save and Load

tomotopy provides save and load method for each topic model class, so you can save the model into the file whenever you want, and re-load it from the file.

import tomotopy as tp

mdl = tp.HDPModel()
for line in open('sample.txt'):
    mdl.add_doc(line.strip().split())

for i in range(0, 100, 10):
    mdl.train(10)
    print('Iteration: {}\tLog-likelihood: {}'.format(i, mdl.ll_per_word))

# save into file
mdl.save('sample_hdp_model.bin')

# load from file
mdl = tp.HDPModel.load('sample_hdp_model.bin')
for k in range(mdl.k):
    if not mdl.is_live_topic(k): continue
    print('Top 10 words of topic #{}'.format(k))
    print(mdl.get_topic_words(k, top_n=10))

# the saved model is HDP model,
# so when you load it by LDA model, it will raise an exception
mdl = tp.LDAModel.load('sample_hdp_model.bin')

When you load the model from a file, a model type in the file should match the class of methods.

See more at tomotopy.LDAModel.save and tomotopy.LDAModel.load methods.

Documents in the Model and out of the Model

We can use Topic Model for two major purposes. The basic one is to discover topics from a set of documents as a result of trained model, and the more advanced one is to infer topic distributions for unseen documents by using trained model.

We named the document in the former purpose (used for model training) as document in the model, and the document in the later purpose (unseen document during training) as document out of the model.

In tomotopy, these two different kinds of document are generated differently. A document in the model can be created by tomotopy.LDAModel.add_doc method. add_doc can be called before tomotopy.LDAModel.train starts. In other words, after train called, add_doc cannot add a document into the model because the set of document used for training has become fixed.

To acquire the instance of the created document, you should use tomotopy.LDAModel.docs like:

mdl = tp.LDAModel(k=20)
idx = mdl.add_doc(words)
if idx < 0: raise RuntimeError("Failed to add doc")
doc_inst = mdl.docs[idx]
# doc_inst is an instance of the added document

A document out of the model is generated by tomotopy.LDAModel.make_doc method. make_doc can be called only after train starts. If you use make_doc before the set of document used for training has become fixed, you may get wrong results. Since make_doc returns the instance directly, you can use its return value for other manipulations.

mdl = tp.LDAModel(k=20)
# add_doc ...
mdl.train(100)
doc_inst = mdl.make_doc(unseen_words) # doc_inst is an instance of the unseen document

Inference for Unseen Documents

If a new document is created by tomotopy.LDAModel.make_doc, its topic distribution can be inferred by the model. Inference for unseen document should be performed using tomotopy.LDAModel.infer method.

mdl = tp.LDAModel(k=20)
# add_doc ...
mdl.train(100)
doc_inst = mdl.make_doc(unseen_words)
topic_dist, ll = mdl.infer(doc_inst)
print("Topic Distribution for Unseen Docs: ", topic_dist)
print("Log-likelihood of inference: ", ll)

The infer method can infer only one instance of tomotopy.Document or a list of instances of tomotopy.Document. See more at tomotopy.LDAModel.infer.

Parallel Sampling Algorithms

Since version 0.5.0, tomotopy allows you to choose a parallelism algorithm. The algorithm provided in versions prior to 0.4.2 is COPY_MERGE, which is provided for all topic models. The new algorithm PARTITION, available since 0.5.0, makes training generally faster and more memory-efficient, but it is available at not all topic models.

The following chart shows the speed difference between the two algorithms based on the number of topics and the number of workers.

https://bab2min.github.io/tomotopy/images/algo_comp.png https://bab2min.github.io/tomotopy/images/algo_comp2.png

Examples

You can find an example python code of tomotopy at https://github.com/bab2min/tomotopy/blob/master/example.py .

You can also get the data file used in the example code at https://drive.google.com/file/d/18OpNijd4iwPyYZ2O7pQoPyeTAKEXa71J/view .

License

tomotopy is licensed under the terms of MIT License, meaning you can use it for any reasonable purpose and remain in complete ownership of all the documentation you produce.

History

  • 0.5.1 (2020-01-11)
    • A bug was fixed that tomotopy.SLDAModel.make_doc doesn’t support missing values for y.

    • Now tomotopy.SLDAModel fully supports missing values for response variables y. Documents with missing values (NaN) are included in modeling topic, but excluded from regression of response variables.

  • 0.5.0 (2019-12-30)
    • Now tomotopy.PAModel.infer returns both topic distribution nd sub-topic distribution.

    • New methods get_sub_topics and get_sub_topic_dist were added into tomotopy.Document. (for PAModel)

    • New parameter parallel was added for tomotopy.LDAModel.train and tomotopy.LDAModel.infer method. You can select parallelism algorithm by changing this parameter.

    • tomotopy.ParallelScheme.PARTITION, a new algorithm, was added. It works efficiently when the number of workers is large, the number of topics or the size of vocabulary is big.

    • A bug where rm_top didn’t work at min_cf < 2 was fixed.

  • 0.4.2 (2019-11-30)
    • Wrong topic assignments of tomotopy.LLDAModel and tomotopy.PLDAModel were fixed.

    • Readable __repr__ of tomotopy.Document and tomotopy.Dictionary was implemented.

  • 0.4.1 (2019-11-27)
    • A bug at init function of tomotopy.PLDAModel was fixed.

  • 0.4.0 (2019-11-18)
    • New models including tomotopy.PLDAModel and tomotopy.HLDAModel were added into the package.

  • 0.3.1 (2019-11-05)
    • An issue where get_topic_dist() returns incorrect value when min_cf or rm_top is set was fixed.

    • The return value of get_topic_dist() of tomotopy.MGLDAModel document was fixed to include local topics.

    • The estimation speed with tw=ONE was improved.

  • 0.3.0 (2019-10-06)
    • A new model, tomotopy.LLDAModel was added into the package.

    • A crashing issue of HDPModel was fixed.

    • Since hyperparameter estimation for HDPModel was implemented, the result of HDPModel may differ from previous versions.

      If you want to turn off hyperparameter estimation of HDPModel, set optim_interval to zero.

  • 0.2.0 (2019-08-18)
    • New models including tomotopy.CTModel and tomotopy.SLDAModel were added into the package.

    • A new parameter option rm_top was added for all topic models.

    • The problems in save and load method for PAModel and HPAModel were fixed.

    • An occassional crash in loading HDPModel was fixed.

    • The problem that ll_per_word was calculated incorrectly when min_cf > 0 was fixed.

  • 0.1.6 (2019-08-09)
    • Compiling errors at clang with macOS environment were fixed.

  • 0.1.4 (2019-08-05)
    • The issue when add_doc receives an empty list as input was fixed.

    • The issue that tomotopy.PAModel.get_topic_words doesn’t extract the word distribution of subtopic was fixed.

  • 0.1.3 (2019-05-19)
    • The parameter min_cf and its stopword-removing function were added for all topic models.

  • 0.1.0 (2019-05-12)
    • First version of tomotopy

Download files

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

Source Distribution

tomotopy-0.5.1.tar.gz (974.3 kB view details)

Uploaded Source

Built Distributions

tomotopy-0.5.1-cp38-cp38-win_amd64.whl (3.6 MB view details)

Uploaded CPython 3.8Windows x86-64

tomotopy-0.5.1-cp38-cp38-win32.whl (2.1 MB view details)

Uploaded CPython 3.8Windows x86

tomotopy-0.5.1-cp38-cp38-manylinux1_x86_64.whl (11.1 MB view details)

Uploaded CPython 3.8

tomotopy-0.5.1-cp38-cp38-macosx_10_13_x86_64.whl (9.4 MB view details)

Uploaded CPython 3.8macOS 10.13+ x86-64

tomotopy-0.5.1-cp37-cp37m-win_amd64.whl (3.6 MB view details)

Uploaded CPython 3.7mWindows x86-64

tomotopy-0.5.1-cp37-cp37m-win32.whl (2.1 MB view details)

Uploaded CPython 3.7mWindows x86

tomotopy-0.5.1-cp37-cp37m-manylinux1_x86_64.whl (11.1 MB view details)

Uploaded CPython 3.7m

tomotopy-0.5.1-cp37-cp37m-macosx_10_13_x86_64.whl (9.4 MB view details)

Uploaded CPython 3.7mmacOS 10.13+ x86-64

tomotopy-0.5.1-cp36-cp36m-win_amd64.whl (3.6 MB view details)

Uploaded CPython 3.6mWindows x86-64

tomotopy-0.5.1-cp36-cp36m-win32.whl (2.1 MB view details)

Uploaded CPython 3.6mWindows x86

tomotopy-0.5.1-cp36-cp36m-manylinux1_x86_64.whl (11.1 MB view details)

Uploaded CPython 3.6m

tomotopy-0.5.1-cp36-cp36m-macosx_10_13_x86_64.whl (9.4 MB view details)

Uploaded CPython 3.6mmacOS 10.13+ x86-64

tomotopy-0.5.1-cp35-cp35m-manylinux1_x86_64.whl (11.1 MB view details)

Uploaded CPython 3.5m

tomotopy-0.5.1-cp35-cp35m-macosx_10_13_x86_64.whl (9.4 MB view details)

Uploaded CPython 3.5mmacOS 10.13+ x86-64

tomotopy-0.5.1-cp34-cp34m-manylinux1_x86_64.whl (11.1 MB view details)

Uploaded CPython 3.4m

File details

Details for the file tomotopy-0.5.1.tar.gz.

File metadata

  • Download URL: tomotopy-0.5.1.tar.gz
  • Upload date:
  • Size: 974.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: Python-urllib/3.7

File hashes

Hashes for tomotopy-0.5.1.tar.gz
Algorithm Hash digest
SHA256 f6f4ce9b9315b3f712709e39bda8e122652e726d52f82b71a0c9d8d43112dccd
MD5 e650de7f04ea11107a673dacd71db441
BLAKE2b-256 022b77cdca991bdcc6612f278fd469cd105c05eaaea4d1bfc0e36ee4ebd5fde2

See more details on using hashes here.

File details

Details for the file tomotopy-0.5.1-cp38-cp38-win_amd64.whl.

File metadata

  • Download URL: tomotopy-0.5.1-cp38-cp38-win_amd64.whl
  • Upload date:
  • Size: 3.6 MB
  • Tags: CPython 3.8, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.22.0 setuptools/44.0.0 requests-toolbelt/0.9.1 tqdm/4.41.1 CPython/3.8.0

File hashes

Hashes for tomotopy-0.5.1-cp38-cp38-win_amd64.whl
Algorithm Hash digest
SHA256 4b01e7f0b7113f4955d8e2f3e397ee3c2ebf88b3628c6093fe10d51652674420
MD5 d99410ac7390fc5ddcf9a5ef6134d729
BLAKE2b-256 e387fed9d68ede2c2385586f1fded7f16f623c0d3f588a795d0fa900b26b9756

See more details on using hashes here.

File details

Details for the file tomotopy-0.5.1-cp38-cp38-win32.whl.

File metadata

  • Download URL: tomotopy-0.5.1-cp38-cp38-win32.whl
  • Upload date:
  • Size: 2.1 MB
  • Tags: CPython 3.8, Windows x86
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.22.0 setuptools/44.0.0 requests-toolbelt/0.9.1 tqdm/4.41.1 CPython/3.8.0

File hashes

Hashes for tomotopy-0.5.1-cp38-cp38-win32.whl
Algorithm Hash digest
SHA256 ea3ebcc2936627deb810a754a3de6791c31df2d5a61b4de4f4d5771fd836fc03
MD5 31ce7e879e4eeb2571591455220eba67
BLAKE2b-256 51b0c4371e3c66efc03edfdba6e4120c19e6d0f838480e3bb861cb2b49570bf7

See more details on using hashes here.

File details

Details for the file tomotopy-0.5.1-cp38-cp38-manylinux1_x86_64.whl.

File metadata

  • Download URL: tomotopy-0.5.1-cp38-cp38-manylinux1_x86_64.whl
  • Upload date:
  • Size: 11.1 MB
  • Tags: CPython 3.8
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.22.0 setuptools/42.0.2 requests-toolbelt/0.9.1 tqdm/4.41.1 CPython/3.8.1

File hashes

Hashes for tomotopy-0.5.1-cp38-cp38-manylinux1_x86_64.whl
Algorithm Hash digest
SHA256 4370a2113673d792346c9c2fa47d28d8544a4d061b83bb4186d40b9f8f5d80a5
MD5 61759e7e99655e67f52bdb2c4be10706
BLAKE2b-256 dc172d36fa523cc0529ba4d45581720cc8a4d4da4a70330b50e363267ec6770b

See more details on using hashes here.

File details

Details for the file tomotopy-0.5.1-cp38-cp38-macosx_10_13_x86_64.whl.

File metadata

  • Download URL: tomotopy-0.5.1-cp38-cp38-macosx_10_13_x86_64.whl
  • Upload date:
  • Size: 9.4 MB
  • Tags: CPython 3.8, macOS 10.13+ x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.22.0 setuptools/41.2.0 requests-toolbelt/0.9.1 tqdm/4.41.1 CPython/3.8.0

File hashes

Hashes for tomotopy-0.5.1-cp38-cp38-macosx_10_13_x86_64.whl
Algorithm Hash digest
SHA256 2db878690a227926037754014934b098724971d99600336176aa275de41e6818
MD5 e54831a869465adb8fcfcf378538f484
BLAKE2b-256 6db0123fbca7e731f529c78023705c5acb9c459b5dfe0bb5184d73a51c1c0cc1

See more details on using hashes here.

File details

Details for the file tomotopy-0.5.1-cp37-cp37m-win_amd64.whl.

File metadata

  • Download URL: tomotopy-0.5.1-cp37-cp37m-win_amd64.whl
  • Upload date:
  • Size: 3.6 MB
  • Tags: CPython 3.7m, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.22.0 setuptools/44.0.0 requests-toolbelt/0.9.1 tqdm/4.41.1 CPython/3.7.5

File hashes

Hashes for tomotopy-0.5.1-cp37-cp37m-win_amd64.whl
Algorithm Hash digest
SHA256 f15d670e60976a95ec1afd24e7c70a0d6b016742cec46a0a54539858f65dcabc
MD5 53de1cebf90bf717c5e63a4a1c02eb81
BLAKE2b-256 443708182c3dca0ac85cdf6c191463388b54045aba479c5fcd45996da339dc5c

See more details on using hashes here.

File details

Details for the file tomotopy-0.5.1-cp37-cp37m-win32.whl.

File metadata

  • Download URL: tomotopy-0.5.1-cp37-cp37m-win32.whl
  • Upload date:
  • Size: 2.1 MB
  • Tags: CPython 3.7m, Windows x86
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.22.0 setuptools/44.0.0 requests-toolbelt/0.9.1 tqdm/4.41.1 CPython/3.7.5

File hashes

Hashes for tomotopy-0.5.1-cp37-cp37m-win32.whl
Algorithm Hash digest
SHA256 63d8347f14ee4c61c4d2c74057e34bc16367b9f7dcd8dbb1867f4cd0e57b753e
MD5 59013e207c664c96da128ae94878ec35
BLAKE2b-256 146be4995d46bd17d30cc3fc90be4e145dd436890f998d2564920b54e4ad6510

See more details on using hashes here.

File details

Details for the file tomotopy-0.5.1-cp37-cp37m-manylinux1_x86_64.whl.

File metadata

  • Download URL: tomotopy-0.5.1-cp37-cp37m-manylinux1_x86_64.whl
  • Upload date:
  • Size: 11.1 MB
  • Tags: CPython 3.7m
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.22.0 setuptools/42.0.2 requests-toolbelt/0.9.1 tqdm/4.41.1 CPython/3.8.1

File hashes

Hashes for tomotopy-0.5.1-cp37-cp37m-manylinux1_x86_64.whl
Algorithm Hash digest
SHA256 06e1558761bb76a5a08fd8abdb9064b5f424f543ff989749a3317645cbe45e67
MD5 3be0b234cb1d585e3d1aaf499fb0c505
BLAKE2b-256 534b500c9a75fdc5ce137354e7c84808bfd07282b7ccc374d3b056085c4e5511

See more details on using hashes here.

File details

Details for the file tomotopy-0.5.1-cp37-cp37m-macosx_10_13_x86_64.whl.

File metadata

  • Download URL: tomotopy-0.5.1-cp37-cp37m-macosx_10_13_x86_64.whl
  • Upload date:
  • Size: 9.4 MB
  • Tags: CPython 3.7m, macOS 10.13+ x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.22.0 setuptools/41.2.0 requests-toolbelt/0.9.1 tqdm/4.41.1 CPython/3.7.5

File hashes

Hashes for tomotopy-0.5.1-cp37-cp37m-macosx_10_13_x86_64.whl
Algorithm Hash digest
SHA256 38152c1105ad434943be7c2ff66487443e28209e29ff9e652e27588490b23f56
MD5 f7675d31862fd93b57814fbcbdac4299
BLAKE2b-256 fb1d27b27c06d6cd18d07b7b9050b9e9447a75962db47c8d78b0a44348a5e557

See more details on using hashes here.

File details

Details for the file tomotopy-0.5.1-cp36-cp36m-win_amd64.whl.

File metadata

  • Download URL: tomotopy-0.5.1-cp36-cp36m-win_amd64.whl
  • Upload date:
  • Size: 3.6 MB
  • Tags: CPython 3.6m, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.22.0 setuptools/44.0.0 requests-toolbelt/0.9.1 tqdm/4.41.1 CPython/3.6.8

File hashes

Hashes for tomotopy-0.5.1-cp36-cp36m-win_amd64.whl
Algorithm Hash digest
SHA256 c11c019b22b12522caf578dd7d2b26d816b72260bed2274b47390e526fc88d08
MD5 d243f3374909996fa2bb21140a513fe2
BLAKE2b-256 3022e9b444576d4bb66718863ddb55622f36574600eb56f8c1a57cc7856721cd

See more details on using hashes here.

File details

Details for the file tomotopy-0.5.1-cp36-cp36m-win32.whl.

File metadata

  • Download URL: tomotopy-0.5.1-cp36-cp36m-win32.whl
  • Upload date:
  • Size: 2.1 MB
  • Tags: CPython 3.6m, Windows x86
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.22.0 setuptools/44.0.0 requests-toolbelt/0.9.1 tqdm/4.41.1 CPython/3.6.8

File hashes

Hashes for tomotopy-0.5.1-cp36-cp36m-win32.whl
Algorithm Hash digest
SHA256 20a5b605302576a5e32d820b7afc611f40e5bbdeace014df708dd0666ce101df
MD5 93793bcfb4f47d691c55d7b31f704570
BLAKE2b-256 a75fa4f20afedd2af226fc532e3d61aec05bbc6a6ab2a4e58a28acf0fb0c7702

See more details on using hashes here.

File details

Details for the file tomotopy-0.5.1-cp36-cp36m-manylinux1_x86_64.whl.

File metadata

  • Download URL: tomotopy-0.5.1-cp36-cp36m-manylinux1_x86_64.whl
  • Upload date:
  • Size: 11.1 MB
  • Tags: CPython 3.6m
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.22.0 setuptools/42.0.2 requests-toolbelt/0.9.1 tqdm/4.41.1 CPython/3.8.1

File hashes

Hashes for tomotopy-0.5.1-cp36-cp36m-manylinux1_x86_64.whl
Algorithm Hash digest
SHA256 075a6c5a51a0b5ddd86ccbb92258a46b96498433cb2dc6b6c1039228bc8548f6
MD5 6e81c03fc262108ffdf3fa47c47ce4f6
BLAKE2b-256 3d2d69791dc9b0e4f412da4bdb93a977474ec22e7eb2398b0674c803e7ff4017

See more details on using hashes here.

File details

Details for the file tomotopy-0.5.1-cp36-cp36m-macosx_10_13_x86_64.whl.

File metadata

  • Download URL: tomotopy-0.5.1-cp36-cp36m-macosx_10_13_x86_64.whl
  • Upload date:
  • Size: 9.4 MB
  • Tags: CPython 3.6m, macOS 10.13+ x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.22.0 setuptools/40.6.2 requests-toolbelt/0.9.1 tqdm/4.41.1 CPython/3.6.9

File hashes

Hashes for tomotopy-0.5.1-cp36-cp36m-macosx_10_13_x86_64.whl
Algorithm Hash digest
SHA256 419e261094f9483091f845277367a57e08595488faa8b60dd2c4d3ea8322708a
MD5 cb2d4051b52c4a07120e4e8c08a397f9
BLAKE2b-256 ef567a2ce0e3b87732a14205e98bba9fd72a55f3032027671a1579fe004da337

See more details on using hashes here.

File details

Details for the file tomotopy-0.5.1-cp35-cp35m-manylinux1_x86_64.whl.

File metadata

  • Download URL: tomotopy-0.5.1-cp35-cp35m-manylinux1_x86_64.whl
  • Upload date:
  • Size: 11.1 MB
  • Tags: CPython 3.5m
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.22.0 setuptools/42.0.2 requests-toolbelt/0.9.1 tqdm/4.41.1 CPython/3.8.1

File hashes

Hashes for tomotopy-0.5.1-cp35-cp35m-manylinux1_x86_64.whl
Algorithm Hash digest
SHA256 775d2189aeae67d47e3eae9e0c4f71fc2a227c1847938a9f5f9bceeed118ec71
MD5 3f43b05e4c8cf3cab5efd496f36ba5ae
BLAKE2b-256 40c7e944e43880685d03405108a9c00c282d821ca8ba1d2768753506f852e1f0

See more details on using hashes here.

File details

Details for the file tomotopy-0.5.1-cp35-cp35m-macosx_10_13_x86_64.whl.

File metadata

  • Download URL: tomotopy-0.5.1-cp35-cp35m-macosx_10_13_x86_64.whl
  • Upload date:
  • Size: 9.4 MB
  • Tags: CPython 3.5m, macOS 10.13+ x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.15.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/28.8.0 requests-toolbelt/0.9.1 tqdm/4.41.1 CPython/3.5.7

File hashes

Hashes for tomotopy-0.5.1-cp35-cp35m-macosx_10_13_x86_64.whl
Algorithm Hash digest
SHA256 c0b1b1a43df4dcf583939ecc7e4a32533f9f3f4de8f7f614819b21e22e431844
MD5 162d5b31a6c5206c0f02f3a6efa79017
BLAKE2b-256 0c5f746ebe1599ad09bb7dcda0afd50dbc90e81f16679242c244bb7f4e5688fe

See more details on using hashes here.

File details

Details for the file tomotopy-0.5.1-cp34-cp34m-manylinux1_x86_64.whl.

File metadata

  • Download URL: tomotopy-0.5.1-cp34-cp34m-manylinux1_x86_64.whl
  • Upload date:
  • Size: 11.1 MB
  • Tags: CPython 3.4m
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.22.0 setuptools/42.0.2 requests-toolbelt/0.9.1 tqdm/4.41.1 CPython/3.8.1

File hashes

Hashes for tomotopy-0.5.1-cp34-cp34m-manylinux1_x86_64.whl
Algorithm Hash digest
SHA256 477106f7ab7fee7eeb01bbcb59594676fbe3194fe9bbff5be7b55ae2deb26596
MD5 491e113d7d48b37eec7fb7ece1f3bf1f
BLAKE2b-256 a2b9f242ffa3567f90d513ae08a133f81696749e6e30619119b66be9d3a55958

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page