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)

  • Generalized Dirichlet Multinomial Regression (tomotopy.GDMRModel)

  • 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.8.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

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_doc) # 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_doc)
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.8.1 (2020-06-08)
    • A bug where tomotopy.LDAModel.used_vocabs returned an incorrect value was fixed.

    • Now tomotopy.CTModel.prior_cov returns a covariance matrix with shape [k, k].

    • Now tomotopy.CTModel.get_correlations with empty arguments returns a correlation matrix with shape [k, k].

  • 0.8.0 (2020-06-06)
    • Since NumPy was introduced in tomotopy, many methods and properties of tomotopy return not just list, but numpy.ndarray now.

    • Tomotopy has a new dependency NumPy >= 1.10.0.

    • A wrong estimation of tomotopy.HDPModel.infer was fixed.

    • A new method about converting HDPModel to LDAModel was added.

    • New properties including tomotopy.LDAModel.used_vocabs, tomotopy.LDAModel.used_vocab_freq and tomotopy.LDAModel.used_vocab_df were added into topic models.

    • A new g-DMR topic model(tomotopy.GDMRModel) was added.

    • An error at initializing tomotopy.label.FoRelevance in macOS was fixed.

    • An error that occured when using tomotopy.utils.Corpus created without raw parameters was fixed.

  • 0.7.1 (2020-05-08)
    • tomotopy.Document.path was added for tomotopy.HLDAModel.

    • A memory corruption bug in tomotopy.label.PMIExtractor was fixed.

    • A compile error in gcc 7 was fixed.

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

Uploaded Source

Built Distributions

tomotopy-0.8.1-cp38-cp38-win_amd64.whl (4.7 MB view details)

Uploaded CPython 3.8Windows x86-64

tomotopy-0.8.1-cp38-cp38-win32.whl (2.7 MB view details)

Uploaded CPython 3.8Windows x86

tomotopy-0.8.1-cp38-cp38-manylinux2010_x86_64.whl (12.7 MB view details)

Uploaded CPython 3.8manylinux: glibc 2.12+ x86-64

tomotopy-0.8.1-cp38-cp38-macosx_10_14_x86_64.whl (10.8 MB view details)

Uploaded CPython 3.8macOS 10.14+ x86-64

tomotopy-0.8.1-cp37-cp37m-win_amd64.whl (4.7 MB view details)

Uploaded CPython 3.7mWindows x86-64

tomotopy-0.8.1-cp37-cp37m-win32.whl (2.7 MB view details)

Uploaded CPython 3.7mWindows x86

tomotopy-0.8.1-cp37-cp37m-manylinux2010_x86_64.whl (12.7 MB view details)

Uploaded CPython 3.7mmanylinux: glibc 2.12+ x86-64

tomotopy-0.8.1-cp37-cp37m-macosx_10_14_x86_64.whl (10.8 MB view details)

Uploaded CPython 3.7mmacOS 10.14+ x86-64

tomotopy-0.8.1-cp36-cp36m-win_amd64.whl (4.7 MB view details)

Uploaded CPython 3.6mWindows x86-64

tomotopy-0.8.1-cp36-cp36m-win32.whl (2.7 MB view details)

Uploaded CPython 3.6mWindows x86

tomotopy-0.8.1-cp36-cp36m-manylinux2010_x86_64.whl (12.7 MB view details)

Uploaded CPython 3.6mmanylinux: glibc 2.12+ x86-64

tomotopy-0.8.1-cp36-cp36m-macosx_10_14_x86_64.whl (10.8 MB view details)

Uploaded CPython 3.6mmacOS 10.14+ x86-64

tomotopy-0.8.1-cp35-cp35m-win_amd64.whl (4.7 MB view details)

Uploaded CPython 3.5mWindows x86-64

tomotopy-0.8.1-cp35-cp35m-win32.whl (2.7 MB view details)

Uploaded CPython 3.5mWindows x86

tomotopy-0.8.1-cp35-cp35m-manylinux2010_x86_64.whl (12.7 MB view details)

Uploaded CPython 3.5mmanylinux: glibc 2.12+ x86-64

tomotopy-0.8.1-cp35-cp35m-macosx_10_14_x86_64.whl (10.8 MB view details)

Uploaded CPython 3.5mmacOS 10.14+ x86-64

File details

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

File metadata

  • Download URL: tomotopy-0.8.1.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/47.1.1 requests-toolbelt/0.9.1 tqdm/4.46.1 CPython/3.5.9

File hashes

Hashes for tomotopy-0.8.1.tar.gz
Algorithm Hash digest
SHA256 39e2c68fac81767ccbd7a0b799629b33b126b8cdee24aae9c6c61aa201699fda
MD5 36f0c3cd6cb22beb8e3e381a1f75e266
BLAKE2b-256 21fa4890265de4e1ddffa072db6712aa0dbb5fee87d5389e03fba78c96156692

See more details on using hashes here.

File details

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

File metadata

  • Download URL: tomotopy-0.8.1-cp38-cp38-win_amd64.whl
  • Upload date:
  • Size: 4.7 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/47.1.1 requests-toolbelt/0.9.1 tqdm/4.46.1 CPython/3.8.3

File hashes

Hashes for tomotopy-0.8.1-cp38-cp38-win_amd64.whl
Algorithm Hash digest
SHA256 bffe0e69ca52dd197b49515bfc9a8d4992f0d67d9efdb8d4818271257577fd72
MD5 ca663d7557e2c2e44e88f3d45f36a2af
BLAKE2b-256 9c08a1744b81e53e33f3a6b66d3176d48e2341f37fcf98db495f6135af27d994

See more details on using hashes here.

File details

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

File metadata

  • Download URL: tomotopy-0.8.1-cp38-cp38-win32.whl
  • Upload date:
  • Size: 2.7 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/47.1.1 requests-toolbelt/0.9.1 tqdm/4.46.1 CPython/3.8.3

File hashes

Hashes for tomotopy-0.8.1-cp38-cp38-win32.whl
Algorithm Hash digest
SHA256 ee5d8baced2cd16d21d904485f8189f5765145d3cad05c6fb75454936b63262f
MD5 f5f6de75a02f40a5325940ce1ef15bd6
BLAKE2b-256 f92e8c620a1bdb8c06d870a036f8c44a0af942c0dd38c51e7ce38cfd62dd1a43

See more details on using hashes here.

File details

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

File metadata

  • Download URL: tomotopy-0.8.1-cp38-cp38-manylinux2010_x86_64.whl
  • Upload date:
  • Size: 12.7 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/47.1.1 requests-toolbelt/0.9.1 tqdm/4.46.1 CPython/3.8.3

File hashes

Hashes for tomotopy-0.8.1-cp38-cp38-manylinux2010_x86_64.whl
Algorithm Hash digest
SHA256 fb3bd3db6ac68cf0d8d1fef70f8db392fee56d490a7662286cc2638012cd0e1b
MD5 35a0e9c40411fba1f6bb5901f5cb9547
BLAKE2b-256 b95c02b04f6434afda91c5eda8d0f9fd1111f50326abb62b14aa33216e9d9d4d

See more details on using hashes here.

File details

Details for the file tomotopy-0.8.1-cp38-cp38-macosx_10_14_x86_64.whl.

File metadata

  • Download URL: tomotopy-0.8.1-cp38-cp38-macosx_10_14_x86_64.whl
  • Upload date:
  • Size: 10.8 MB
  • Tags: CPython 3.8, macOS 10.14+ 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.46.1 CPython/3.8.3

File hashes

Hashes for tomotopy-0.8.1-cp38-cp38-macosx_10_14_x86_64.whl
Algorithm Hash digest
SHA256 b8a2d524c5d6f0db7cab6edc200a5a9b6469245a6469f742be41a4a2521bcaa3
MD5 a1eed14a0b051525600f0a360ae2d3a2
BLAKE2b-256 45f1597cdf366642867a215b0a6841ca1c195c5aa1fbffb197a2f8255316955b

See more details on using hashes here.

File details

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

File metadata

  • Download URL: tomotopy-0.8.1-cp37-cp37m-win_amd64.whl
  • Upload date:
  • Size: 4.7 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/47.1.1 requests-toolbelt/0.9.1 tqdm/4.46.1 CPython/3.7.7

File hashes

Hashes for tomotopy-0.8.1-cp37-cp37m-win_amd64.whl
Algorithm Hash digest
SHA256 f68cb31e8b5a91bb6d698a963911affd3d93b4a546f1e43752d440ce3ca9b82e
MD5 3786b3593535b26c6184f937e18685fc
BLAKE2b-256 e0ad19568888eba6e3e5e9a8c0505253c630a4e18cbca57ccea636ecc7a6f627

See more details on using hashes here.

File details

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

File metadata

  • Download URL: tomotopy-0.8.1-cp37-cp37m-win32.whl
  • Upload date:
  • Size: 2.7 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/47.1.1 requests-toolbelt/0.9.1 tqdm/4.46.1 CPython/3.7.7

File hashes

Hashes for tomotopy-0.8.1-cp37-cp37m-win32.whl
Algorithm Hash digest
SHA256 acc0af31d74471fac9e4ca59330c87a421b909b76e646f600dbd183bcd4ee1b5
MD5 b298e25717da9a607a6921a82ddbd691
BLAKE2b-256 73ed7b26a6fb8323e5f13ceecd284be5a663c23387f068a3b728f58baab5f898

See more details on using hashes here.

File details

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

File metadata

  • Download URL: tomotopy-0.8.1-cp37-cp37m-manylinux2010_x86_64.whl
  • Upload date:
  • Size: 12.7 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/47.1.1 requests-toolbelt/0.9.1 tqdm/4.46.1 CPython/3.8.3

File hashes

Hashes for tomotopy-0.8.1-cp37-cp37m-manylinux2010_x86_64.whl
Algorithm Hash digest
SHA256 39eb31ad5769adf689faaef19fdfe6540cfe9601195f43c36e562983e40cf6a9
MD5 b15b7f3e28d500d358d301671f517ba6
BLAKE2b-256 5e2fe4947ef0ba528986a4daaa5872495ceb1fa5de30b2df30d9e3c64265bf05

See more details on using hashes here.

File details

Details for the file tomotopy-0.8.1-cp37-cp37m-macosx_10_14_x86_64.whl.

File metadata

  • Download URL: tomotopy-0.8.1-cp37-cp37m-macosx_10_14_x86_64.whl
  • Upload date:
  • Size: 10.8 MB
  • Tags: CPython 3.7m, macOS 10.14+ 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.46.1 CPython/3.7.7

File hashes

Hashes for tomotopy-0.8.1-cp37-cp37m-macosx_10_14_x86_64.whl
Algorithm Hash digest
SHA256 12e49dddcda6d052982d61795c4c4d103807addaa2eba6ea8cfd547042401f11
MD5 1aa38499c223cb8e656e016c2bed4ade
BLAKE2b-256 563c4b3ff5448af9042898e4676586b10517e9faf9d0dd984935fc761a64c668

See more details on using hashes here.

File details

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

File metadata

  • Download URL: tomotopy-0.8.1-cp36-cp36m-win_amd64.whl
  • Upload date:
  • Size: 4.7 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/47.1.1 requests-toolbelt/0.9.1 tqdm/4.46.1 CPython/3.6.8

File hashes

Hashes for tomotopy-0.8.1-cp36-cp36m-win_amd64.whl
Algorithm Hash digest
SHA256 6b0822b8fdd2e8f06be66a593334a53f8efa0efacf504ccc72190259006d9351
MD5 21014b53d357343f9a72e622133a5615
BLAKE2b-256 7bdcfd6ff19a5189f13f1126fcfff502b170a5a8c0f21ee7790ecebd57e2336a

See more details on using hashes here.

File details

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

File metadata

  • Download URL: tomotopy-0.8.1-cp36-cp36m-win32.whl
  • Upload date:
  • Size: 2.7 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/47.1.1 requests-toolbelt/0.9.1 tqdm/4.46.1 CPython/3.6.8

File hashes

Hashes for tomotopy-0.8.1-cp36-cp36m-win32.whl
Algorithm Hash digest
SHA256 a50c94fc137d8c166934159f092f0ad56a0a1fab6463d50eab65e0f780f4b329
MD5 c1dec33737dd3c58621c982668a18b03
BLAKE2b-256 87f0aa2790c2b06dd1d88177c8dc24140524d53d531417b2075526d1ac7f658b

See more details on using hashes here.

File details

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

File metadata

  • Download URL: tomotopy-0.8.1-cp36-cp36m-manylinux2010_x86_64.whl
  • Upload date:
  • Size: 12.7 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/47.1.1 requests-toolbelt/0.9.1 tqdm/4.46.1 CPython/3.8.3

File hashes

Hashes for tomotopy-0.8.1-cp36-cp36m-manylinux2010_x86_64.whl
Algorithm Hash digest
SHA256 3b8b061f1105ef5d668ffdaa08ed45e6422eddbac9194f8c68c73e62d4098057
MD5 1ebf009090b4f7e9aad3331c9365cd05
BLAKE2b-256 d8f10f106ebb1c3ee1b3b822f0b3f22526ca32a27779eb945917288bf4815c1c

See more details on using hashes here.

File details

Details for the file tomotopy-0.8.1-cp36-cp36m-macosx_10_14_x86_64.whl.

File metadata

  • Download URL: tomotopy-0.8.1-cp36-cp36m-macosx_10_14_x86_64.whl
  • Upload date:
  • Size: 10.8 MB
  • Tags: CPython 3.6m, macOS 10.14+ 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.46.1 CPython/3.6.10

File hashes

Hashes for tomotopy-0.8.1-cp36-cp36m-macosx_10_14_x86_64.whl
Algorithm Hash digest
SHA256 268a6f8b382f0368997b5a0e2c8af1a9602afe87eef7dc10767c1ab5e9ad7833
MD5 e2acd8e5e88191c53e86df97cca86123
BLAKE2b-256 28bc36a0d44d0668ef6dbc1bf19d5d952a0b1e48056b46a8ecc9628aa954de48

See more details on using hashes here.

File details

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

File metadata

  • Download URL: tomotopy-0.8.1-cp35-cp35m-win_amd64.whl
  • Upload date:
  • Size: 4.7 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/47.1.1 requests-toolbelt/0.9.1 tqdm/4.46.1 CPython/3.5.4

File hashes

Hashes for tomotopy-0.8.1-cp35-cp35m-win_amd64.whl
Algorithm Hash digest
SHA256 31021ee96a39a29776a40241c9db81ba012add7f6301b637378edb5e4009f7e3
MD5 8180aa08e3dd44a361f9f01dba63b1ee
BLAKE2b-256 8dcc846e8e1e134a8562d6110adc685ab945e44d5ee033c92023ab4b5c347f05

See more details on using hashes here.

File details

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

File metadata

  • Download URL: tomotopy-0.8.1-cp35-cp35m-win32.whl
  • Upload date:
  • Size: 2.7 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/47.1.1 requests-toolbelt/0.9.1 tqdm/4.46.1 CPython/3.5.4

File hashes

Hashes for tomotopy-0.8.1-cp35-cp35m-win32.whl
Algorithm Hash digest
SHA256 5000cca7014f961f291a08b2b2c13d4fdfe23b64048bfebae73c737272b2ad84
MD5 65a6e13698180d6dda1056abb8369404
BLAKE2b-256 d81116858ffe3eac5b141401915cc88aee924699d496eb76786af1f877c5c276

See more details on using hashes here.

File details

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

File metadata

  • Download URL: tomotopy-0.8.1-cp35-cp35m-manylinux2010_x86_64.whl
  • Upload date:
  • Size: 12.7 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/47.1.1 requests-toolbelt/0.9.1 tqdm/4.46.1 CPython/3.8.3

File hashes

Hashes for tomotopy-0.8.1-cp35-cp35m-manylinux2010_x86_64.whl
Algorithm Hash digest
SHA256 67b60bfe38b7422c2ca177e68e05a263a3e39556120df0526282bd6fb50c68d9
MD5 c68daccdd072ee35092fb1f79d578c8e
BLAKE2b-256 f6b6b9ba347bf81a13663d8a21f1b47658f6ba56ab670db94bb45faee3c85326

See more details on using hashes here.

File details

Details for the file tomotopy-0.8.1-cp35-cp35m-macosx_10_14_x86_64.whl.

File metadata

  • Download URL: tomotopy-0.8.1-cp35-cp35m-macosx_10_14_x86_64.whl
  • Upload date:
  • Size: 10.8 MB
  • Tags: CPython 3.5m, macOS 10.14+ 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.46.1 CPython/3.5.9

File hashes

Hashes for tomotopy-0.8.1-cp35-cp35m-macosx_10_14_x86_64.whl
Algorithm Hash digest
SHA256 84197e04365e59c2f872a92a572c214665bf4308f821a9aacb704fb9e9b80b87
MD5 17f83a1e5cc99090093b76726e246a5e
BLAKE2b-256 07236a54c24aa3537aed594561cf9cd6cf9a79e83effaa0c8f93ef2f2ea8b6a0

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