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)

  • Dynamic Topic Model (tomotopy.DTModel).

The most recent version of tomotopy is 0.7.0.

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

Getting Started

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

$ pip install tomotopy

The supported OS and Python versions are:

  • Linux (x86-64) with Python >= 3.5

  • macOS >= 10.13 with Python >= 3.5

  • Windows 7 or later (x86, x86-64) with Python >= 3.5

  • Other OS with Python >= 3.5: Compilation from source code required (with c++11 compatible compiler)

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

Pining Topics using Word Priors

Since version 0.6.0, a new method tomotopy.LDAModel.set_word_prior has been added. It allows you to control word prior for each topic. For example, we can set the weight of the word ‘church’ to 1.0 in topic 0, and the weight to 0.1 in the rest of the topics by following codes. This means that the probability that the word ‘church’ is assigned to topic 0 is 10 times higher than the probability of being assigned to another topic. Therefore, most of ‘church’ is assigned to topic 0, so topic 0 contains many words related to ‘church’. This allows to manipulate some topics to be placed at a specific topic number.

import tomotopy as tp
mdl = tp.LDAModel(k=20)

# add documents into `mdl`

# setting word prior
mdl.set_word_prior('church', [1.0 if k == 0 else 0.1 for k in range(20)])

See word_prior_example in example.py for more details.

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.7.0 (2020-04-18)
    • tomotopy.DTModel was added into the package.

    • A bug in tomotopy.utils.Corpus.save was fixed.

    • A new method tomotopy.Document.get_count_vector was added into Document class.

    • Now linux distributions use manylinux2010 and an additional optimization is applied.

  • 0.6.2 (2020-03-28)
    • A critical bug related to save and load was fixed. Version 0.6.0 and 0.6.1 have been removed from releases.

  • 0.6.1 (2020-03-22) (removed)
    • A bug related to module loading was fixed.

  • 0.6.0 (2020-03-22) (removed)
    • tomotopy.utils.Corpus class that manages multiple documents easily was added.

    • tomotopy.LDAModel.set_word_prior method that controls word-topic priors of topic models was added.

    • A new argument min_df that filters words based on document frequency was added into every topic model’s __init__.

    • tomotopy.label, the submodule about topic labeling was added. Currently, only tomotopy.label.FoRelevance is provided.

  • 0.5.2 (2020-03-01)
    • A segmentation fault problem was fixed in tomotopy.LLDAModel.add_doc.

    • A bug was fixed that infer of tomotopy.HDPModel sometimes crashes the program.

    • A crash issue was fixed of tomotopy.LDAModel.infer with ps=tomotopy.ParallelScheme.PARTITION, together=True.

  • 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

Project details


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.7.0.tar.gz (1.0 MB view details)

Uploaded Source

Built Distributions

tomotopy-0.7.0-cp38-cp38-win_amd64.whl (4.3 MB view details)

Uploaded CPython 3.8Windows x86-64

tomotopy-0.7.0-cp38-cp38-win32.whl (2.5 MB view details)

Uploaded CPython 3.8Windows x86

tomotopy-0.7.0-cp38-cp38-manylinux2010_x86_64.whl (12.5 MB view details)

Uploaded CPython 3.8manylinux: glibc 2.12+ x86-64

tomotopy-0.7.0-cp38-cp38-macosx_10_13_x86_64.whl (10.6 MB view details)

Uploaded CPython 3.8macOS 10.13+ x86-64

tomotopy-0.7.0-cp37-cp37m-win_amd64.whl (4.3 MB view details)

Uploaded CPython 3.7mWindows x86-64

tomotopy-0.7.0-cp37-cp37m-win32.whl (2.5 MB view details)

Uploaded CPython 3.7mWindows x86

tomotopy-0.7.0-cp37-cp37m-manylinux2010_x86_64.whl (12.5 MB view details)

Uploaded CPython 3.7mmanylinux: glibc 2.12+ x86-64

tomotopy-0.7.0-cp37-cp37m-macosx_10_13_x86_64.whl (10.6 MB view details)

Uploaded CPython 3.7mmacOS 10.13+ x86-64

tomotopy-0.7.0-cp36-cp36m-win_amd64.whl (4.3 MB view details)

Uploaded CPython 3.6mWindows x86-64

tomotopy-0.7.0-cp36-cp36m-win32.whl (2.5 MB view details)

Uploaded CPython 3.6mWindows x86

tomotopy-0.7.0-cp36-cp36m-manylinux2010_x86_64.whl (12.5 MB view details)

Uploaded CPython 3.6mmanylinux: glibc 2.12+ x86-64

tomotopy-0.7.0-cp36-cp36m-macosx_10_13_x86_64.whl (10.6 MB view details)

Uploaded CPython 3.6mmacOS 10.13+ x86-64

tomotopy-0.7.0-cp35-cp35m-win_amd64.whl (4.3 MB view details)

Uploaded CPython 3.5mWindows x86-64

tomotopy-0.7.0-cp35-cp35m-win32.whl (2.5 MB view details)

Uploaded CPython 3.5mWindows x86

tomotopy-0.7.0-cp35-cp35m-manylinux2010_x86_64.whl (12.5 MB view details)

Uploaded CPython 3.5mmanylinux: glibc 2.12+ x86-64

tomotopy-0.7.0-cp35-cp35m-macosx_10_13_x86_64.whl (10.6 MB view details)

Uploaded CPython 3.5mmacOS 10.13+ x86-64

File details

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

File metadata

  • Download URL: tomotopy-0.7.0.tar.gz
  • Upload date:
  • Size: 1.0 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.15.0 pkginfo/1.5.0.1 requests/2.23.0 setuptools/46.1.3 requests-toolbelt/0.9.1 tqdm/4.45.0 CPython/3.5.9

File hashes

Hashes for tomotopy-0.7.0.tar.gz
Algorithm Hash digest
SHA256 1194ae475bd146ebd9476523c134780479b1470e8ac3f8710fb1d1e6a2f1e982
MD5 eb94987b31a1f46a660729f40fc08ae3
BLAKE2b-256 d9b970beb0fbac203488c8fa4093d597a1aa06cb41172f59d4d6fa677edfacd8

See more details on using hashes here.

File details

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

File metadata

  • Download URL: tomotopy-0.7.0-cp38-cp38-win_amd64.whl
  • Upload date:
  • Size: 4.3 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.23.0 setuptools/46.1.3 requests-toolbelt/0.9.1 tqdm/4.45.0 CPython/3.8.2

File hashes

Hashes for tomotopy-0.7.0-cp38-cp38-win_amd64.whl
Algorithm Hash digest
SHA256 157f139318cbbf23364dd0f30c3a1730d1ecf56f376ca9903ba1499c0e1e1ba8
MD5 467bfbdc69b8d7b5ed4fc8169708801b
BLAKE2b-256 dc87ab696afa50f3e34ad40ead99d709b6b31a68b8a4c2d882a8bea870b1e5fc

See more details on using hashes here.

File details

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

File metadata

  • Download URL: tomotopy-0.7.0-cp38-cp38-win32.whl
  • Upload date:
  • Size: 2.5 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.23.0 setuptools/46.1.3 requests-toolbelt/0.9.1 tqdm/4.45.0 CPython/3.8.2

File hashes

Hashes for tomotopy-0.7.0-cp38-cp38-win32.whl
Algorithm Hash digest
SHA256 b864f6a497cb101cbf950051a4b0c0570da50e38d56301de9881dbf783cf0992
MD5 ad8fbb09fc56ca6c8dc31b11b9187fff
BLAKE2b-256 f6e9cb53c03a49ffabdecab4ce52ae84ac74dd3bfce2a8d7523300c470fd5be0

See more details on using hashes here.

File details

Details for the file tomotopy-0.7.0-cp38-cp38-manylinux2010_x86_64.whl.

File metadata

  • Download URL: tomotopy-0.7.0-cp38-cp38-manylinux2010_x86_64.whl
  • Upload date:
  • Size: 12.5 MB
  • Tags: CPython 3.8, manylinux: glibc 2.12+ x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.23.0 setuptools/46.1.3 requests-toolbelt/0.9.1 tqdm/4.45.0 CPython/3.8.2

File hashes

Hashes for tomotopy-0.7.0-cp38-cp38-manylinux2010_x86_64.whl
Algorithm Hash digest
SHA256 f0659a1774e65e6a3a3527bb69a5070e36789aab71a6b57affc949596b7873bb
MD5 cc35b20f2a210d1d9b82f2db6fa5f92d
BLAKE2b-256 1114b46d0281e17892e55e61914eb867e6445bb3dafcbc08f544ac715bc9401d

See more details on using hashes here.

File details

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

File metadata

  • Download URL: tomotopy-0.7.0-cp38-cp38-macosx_10_13_x86_64.whl
  • Upload date:
  • Size: 10.6 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.23.0 setuptools/41.2.0 requests-toolbelt/0.9.1 tqdm/4.45.0 CPython/3.8.2

File hashes

Hashes for tomotopy-0.7.0-cp38-cp38-macosx_10_13_x86_64.whl
Algorithm Hash digest
SHA256 0a201ee56f5c692f8022496285a6fff1ee9b5806ab98a7bb841db4ec5648e2ee
MD5 ade76b8b29ad2264c618938ceea5814d
BLAKE2b-256 37428d1d6b9fdb3406ee3c682dec8c4d52b3441723e2a7428c04f65892b9092b

See more details on using hashes here.

File details

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

File metadata

  • Download URL: tomotopy-0.7.0-cp37-cp37m-win_amd64.whl
  • Upload date:
  • Size: 4.3 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.23.0 setuptools/46.1.3 requests-toolbelt/0.9.1 tqdm/4.45.0 CPython/3.7.6

File hashes

Hashes for tomotopy-0.7.0-cp37-cp37m-win_amd64.whl
Algorithm Hash digest
SHA256 8197c7f3e32cb1c608ce39513f5cbb8ea3b6344c585e8783422cfb78d68a77a2
MD5 b41f5066d26bc84a3e44f6601224c726
BLAKE2b-256 940cd966cc6373768416fd323b626a0cc98e39749834be8571870240597d0c6b

See more details on using hashes here.

File details

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

File metadata

  • Download URL: tomotopy-0.7.0-cp37-cp37m-win32.whl
  • Upload date:
  • Size: 2.5 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.23.0 setuptools/46.1.3 requests-toolbelt/0.9.1 tqdm/4.45.0 CPython/3.7.6

File hashes

Hashes for tomotopy-0.7.0-cp37-cp37m-win32.whl
Algorithm Hash digest
SHA256 c852a8085b08402e0b8fb257663b0f2cb9a0dcc0e453cfe4c2f146ede301ee4f
MD5 9594fdfdcf48089f51ff3d5936810c73
BLAKE2b-256 ea7a27fa2631c490f3c44a0ee0881518ad13c099e7246da9aaba690d248e31fc

See more details on using hashes here.

File details

Details for the file tomotopy-0.7.0-cp37-cp37m-manylinux2010_x86_64.whl.

File metadata

  • Download URL: tomotopy-0.7.0-cp37-cp37m-manylinux2010_x86_64.whl
  • Upload date:
  • Size: 12.5 MB
  • Tags: CPython 3.7m, manylinux: glibc 2.12+ x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.23.0 setuptools/46.1.3 requests-toolbelt/0.9.1 tqdm/4.45.0 CPython/3.8.2

File hashes

Hashes for tomotopy-0.7.0-cp37-cp37m-manylinux2010_x86_64.whl
Algorithm Hash digest
SHA256 f7606664704c68156d8b46db2e9dc05f393588f7bb32be637cb2459072727c71
MD5 901640c1b43c5514eeecd78319748253
BLAKE2b-256 358b15bb5f8fdded4fad50a778bf4c5424786146ed96e2302af93aac8ec83d32

See more details on using hashes here.

File details

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

File metadata

  • Download URL: tomotopy-0.7.0-cp37-cp37m-macosx_10_13_x86_64.whl
  • Upload date:
  • Size: 10.6 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.23.0 setuptools/41.2.0 requests-toolbelt/0.9.1 tqdm/4.45.0 CPython/3.7.6

File hashes

Hashes for tomotopy-0.7.0-cp37-cp37m-macosx_10_13_x86_64.whl
Algorithm Hash digest
SHA256 d1dc4eb023c6e3bca47b2f98093342e860f378beb136c003d06a13c7c5b33cd8
MD5 4a3f8a806013558291d6042ca7150ea9
BLAKE2b-256 49d5423851d35cd507f5f95195d56e90b46808830ed8af798156ea65983bbe61

See more details on using hashes here.

File details

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

File metadata

  • Download URL: tomotopy-0.7.0-cp36-cp36m-win_amd64.whl
  • Upload date:
  • Size: 4.3 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.23.0 setuptools/46.1.3 requests-toolbelt/0.9.1 tqdm/4.45.0 CPython/3.6.8

File hashes

Hashes for tomotopy-0.7.0-cp36-cp36m-win_amd64.whl
Algorithm Hash digest
SHA256 d007e552f07948c51b7bc0bf268836f311d1c5b004e4e2d5852d43ce32444789
MD5 48618c52a1efcc3f5865e5f66e6b9c79
BLAKE2b-256 18da0adb598e33b67917aaf82de8bf2b9fdec66d330d885c8753a5fd20b17db7

See more details on using hashes here.

File details

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

File metadata

  • Download URL: tomotopy-0.7.0-cp36-cp36m-win32.whl
  • Upload date:
  • Size: 2.5 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.23.0 setuptools/46.1.3 requests-toolbelt/0.9.1 tqdm/4.45.0 CPython/3.6.8

File hashes

Hashes for tomotopy-0.7.0-cp36-cp36m-win32.whl
Algorithm Hash digest
SHA256 cd8881668a3b62be0e31efefdd2b4390d697d84648e35eb8d5c288491317aac0
MD5 a538c83db25f67283de9348aa0b74029
BLAKE2b-256 95145e935e3dda1454e80a24f560734ead805d7a2910f828f2d50468506025d9

See more details on using hashes here.

File details

Details for the file tomotopy-0.7.0-cp36-cp36m-manylinux2010_x86_64.whl.

File metadata

  • Download URL: tomotopy-0.7.0-cp36-cp36m-manylinux2010_x86_64.whl
  • Upload date:
  • Size: 12.5 MB
  • Tags: CPython 3.6m, manylinux: glibc 2.12+ x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.23.0 setuptools/46.1.3 requests-toolbelt/0.9.1 tqdm/4.45.0 CPython/3.8.2

File hashes

Hashes for tomotopy-0.7.0-cp36-cp36m-manylinux2010_x86_64.whl
Algorithm Hash digest
SHA256 e88cc8b0be278ec31eb2fe80f65c397f8b7c76db37439ad6a7b435b9cf610962
MD5 17b2111d0360a0e1fcc1d96e949d2947
BLAKE2b-256 be9333e90e825d08ef00f65741a5ecabce491ccebcf6ca5cc9140b577c4a44a6

See more details on using hashes here.

File details

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

File metadata

  • Download URL: tomotopy-0.7.0-cp36-cp36m-macosx_10_13_x86_64.whl
  • Upload date:
  • Size: 10.6 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.23.0 setuptools/40.6.2 requests-toolbelt/0.9.1 tqdm/4.45.0 CPython/3.6.10

File hashes

Hashes for tomotopy-0.7.0-cp36-cp36m-macosx_10_13_x86_64.whl
Algorithm Hash digest
SHA256 0ec1f6b147d1b9d18f1f0ef9c31edf29ab2e32b3fac900e94070300ca02ff5cd
MD5 1894e801fd6d5c6ee34f6c164354cf91
BLAKE2b-256 08ee887c00feca25d988d4e6cdc91a44a90de5504c8a5e1da03af1df1baba954

See more details on using hashes here.

File details

Details for the file tomotopy-0.7.0-cp35-cp35m-win_amd64.whl.

File metadata

  • Download URL: tomotopy-0.7.0-cp35-cp35m-win_amd64.whl
  • Upload date:
  • Size: 4.3 MB
  • Tags: CPython 3.5m, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.15.0 pkginfo/1.5.0.1 requests/2.23.0 setuptools/46.1.3 requests-toolbelt/0.9.1 tqdm/4.45.0 CPython/3.5.4

File hashes

Hashes for tomotopy-0.7.0-cp35-cp35m-win_amd64.whl
Algorithm Hash digest
SHA256 02afdace074bf7b9ba7487749ed875ec300408b3d4295ac5d21596f6fafc76ad
MD5 f081775ac2640e859be28aaa5333f2c7
BLAKE2b-256 251f595a4b9c3a7e16c8350b424f944d7219994436c15b56fd512a05bf7af6d5

See more details on using hashes here.

File details

Details for the file tomotopy-0.7.0-cp35-cp35m-win32.whl.

File metadata

  • Download URL: tomotopy-0.7.0-cp35-cp35m-win32.whl
  • Upload date:
  • Size: 2.5 MB
  • Tags: CPython 3.5m, Windows x86
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.15.0 pkginfo/1.5.0.1 requests/2.23.0 setuptools/46.1.3 requests-toolbelt/0.9.1 tqdm/4.45.0 CPython/3.5.4

File hashes

Hashes for tomotopy-0.7.0-cp35-cp35m-win32.whl
Algorithm Hash digest
SHA256 2182df737a668322fe094b3fc10d553853215cc970eb34d049933d9ee72d3844
MD5 04a79bd8de1bdfa630c77ea856ebee37
BLAKE2b-256 5dd0fd157531ca4eac2a9c2210d4d69913e85386f74e7b766a1458b67398e383

See more details on using hashes here.

File details

Details for the file tomotopy-0.7.0-cp35-cp35m-manylinux2010_x86_64.whl.

File metadata

  • Download URL: tomotopy-0.7.0-cp35-cp35m-manylinux2010_x86_64.whl
  • Upload date:
  • Size: 12.5 MB
  • Tags: CPython 3.5m, manylinux: glibc 2.12+ x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.23.0 setuptools/46.1.3 requests-toolbelt/0.9.1 tqdm/4.45.0 CPython/3.8.2

File hashes

Hashes for tomotopy-0.7.0-cp35-cp35m-manylinux2010_x86_64.whl
Algorithm Hash digest
SHA256 729316f1a8866e22a69f4f456ecc1cdc850b59fb73e107693059bbd0c3b3eb7c
MD5 4232213355509e9362b31fda74513dfb
BLAKE2b-256 20c58093df5d8540d208af3cf9c0907e606c19ac39774ed0817f88cdb8c46706

See more details on using hashes here.

File details

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

File metadata

  • Download URL: tomotopy-0.7.0-cp35-cp35m-macosx_10_13_x86_64.whl
  • Upload date:
  • Size: 10.6 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.23.0 setuptools/28.8.0 requests-toolbelt/0.9.1 tqdm/4.45.0 CPython/3.5.9

File hashes

Hashes for tomotopy-0.7.0-cp35-cp35m-macosx_10_13_x86_64.whl
Algorithm Hash digest
SHA256 1b6fbca86b522d32a05c3ad89e17681b06edcf0b83e83086cb6b08c9e1b06d8f
MD5 af847e6b6ef955b78ee1e45a69ee940e
BLAKE2b-256 b20f4e451be001ac26015586797ae138bc3ed41622b39cd0d9e1001487258a34

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