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.2.

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.2 (2020-07-14)
    • New properties tomotopy.DTModel.num_timepoints and tomotopy.DTModel.num_docs_by_timepoint have been added.

    • A bug which causes different results with the different platform even if seeds were the same was partially fixed. As a result of this fix, now tomotopy in 32 bit yields different training results from earlier version.

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

Uploaded Source

Built Distributions

tomotopy-0.8.2-cp38-cp38-win_amd64.whl (4.6 MB view details)

Uploaded CPython 3.8Windows x86-64

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

Uploaded CPython 3.8Windows x86

tomotopy-0.8.2-cp38-cp38-manylinux2010_x86_64.whl (13.3 MB view details)

Uploaded CPython 3.8manylinux: glibc 2.12+ x86-64

tomotopy-0.8.2-cp38-cp38-macosx_10_14_x86_64.whl (11.3 MB view details)

Uploaded CPython 3.8macOS 10.14+ x86-64

tomotopy-0.8.2-cp37-cp37m-win_amd64.whl (4.6 MB view details)

Uploaded CPython 3.7mWindows x86-64

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

Uploaded CPython 3.7mWindows x86

tomotopy-0.8.2-cp37-cp37m-manylinux2010_x86_64.whl (13.3 MB view details)

Uploaded CPython 3.7mmanylinux: glibc 2.12+ x86-64

tomotopy-0.8.2-cp37-cp37m-macosx_10_14_x86_64.whl (11.3 MB view details)

Uploaded CPython 3.7mmacOS 10.14+ x86-64

tomotopy-0.8.2-cp36-cp36m-win_amd64.whl (4.6 MB view details)

Uploaded CPython 3.6mWindows x86-64

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

Uploaded CPython 3.6mWindows x86

tomotopy-0.8.2-cp36-cp36m-manylinux2010_x86_64.whl (13.3 MB view details)

Uploaded CPython 3.6mmanylinux: glibc 2.12+ x86-64

tomotopy-0.8.2-cp36-cp36m-macosx_10_14_x86_64.whl (11.3 MB view details)

Uploaded CPython 3.6mmacOS 10.14+ x86-64

tomotopy-0.8.2-cp35-cp35m-win_amd64.whl (4.6 MB view details)

Uploaded CPython 3.5mWindows x86-64

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

Uploaded CPython 3.5mWindows x86

tomotopy-0.8.2-cp35-cp35m-manylinux2010_x86_64.whl (13.3 MB view details)

Uploaded CPython 3.5mmanylinux: glibc 2.12+ x86-64

tomotopy-0.8.2-cp35-cp35m-macosx_10_14_x86_64.whl (11.3 MB view details)

Uploaded CPython 3.5mmacOS 10.14+ x86-64

File details

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

File metadata

  • Download URL: tomotopy-0.8.2.tar.gz
  • Upload date:
  • Size: 1.1 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.15.0 pkginfo/1.5.0.1 requests/2.24.0 setuptools/49.1.0 requests-toolbelt/0.9.1 tqdm/4.47.0 CPython/3.5.9

File hashes

Hashes for tomotopy-0.8.2.tar.gz
Algorithm Hash digest
SHA256 cef6a0a09cb217e2d4958eec18a169a2cb0ac242e233ccb3e75ad58ad97e811b
MD5 eee463b97d9e530828c3cfbcd5598f56
BLAKE2b-256 dbad1eb5275c9847d83fdeeef02688b987094c3de7dd5302365f1ec007d8ecdd

See more details on using hashes here.

File details

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

File metadata

  • Download URL: tomotopy-0.8.2-cp38-cp38-win_amd64.whl
  • Upload date:
  • Size: 4.6 MB
  • Tags: CPython 3.8, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.2.0 pkginfo/1.5.0.1 requests/2.24.0 setuptools/49.2.0 requests-toolbelt/0.9.1 tqdm/4.47.0 CPython/3.8.3

File hashes

Hashes for tomotopy-0.8.2-cp38-cp38-win_amd64.whl
Algorithm Hash digest
SHA256 189901924542c9509636aa8046265f5c31dcff44bf2fc47652fcf029f6f7b4cf
MD5 024367eba6774583273b0a85d5d7e9b7
BLAKE2b-256 92fdbcecdf1ae13ab964f49ca660167ccf3efeb97c74fc0e018f552eb288c310

See more details on using hashes here.

File details

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

File metadata

  • Download URL: tomotopy-0.8.2-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.2.0 pkginfo/1.5.0.1 requests/2.24.0 setuptools/49.2.0 requests-toolbelt/0.9.1 tqdm/4.47.0 CPython/3.8.3

File hashes

Hashes for tomotopy-0.8.2-cp38-cp38-win32.whl
Algorithm Hash digest
SHA256 443be5a3b05e899e1976d1ef5ab382c678a6e38a7373647217876c79dcd0464b
MD5 1fa466b42a317e830d7ac42ba1d34e81
BLAKE2b-256 e21a7f9a83e35307ec8c71b074bfcc2d54ef5c7f16d602639cc3e44c32c02796

See more details on using hashes here.

File details

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

File metadata

  • Download URL: tomotopy-0.8.2-cp38-cp38-manylinux2010_x86_64.whl
  • Upload date:
  • Size: 13.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.5.0.1 requests/2.24.0 setuptools/49.1.0 requests-toolbelt/0.9.1 tqdm/4.47.0 CPython/3.8.3

File hashes

Hashes for tomotopy-0.8.2-cp38-cp38-manylinux2010_x86_64.whl
Algorithm Hash digest
SHA256 741e0a3b7a885e99c681875b747ed38606802ef147121b422994e37895aba926
MD5 c4182824a47f77162f2802928d56cc9d
BLAKE2b-256 4594caecbe04befd0930bc7118ddc764755c78084d93cad6bd79ed0f55300d63

See more details on using hashes here.

File details

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

File metadata

  • Download URL: tomotopy-0.8.2-cp38-cp38-macosx_10_14_x86_64.whl
  • Upload date:
  • Size: 11.3 MB
  • Tags: CPython 3.8, macOS 10.14+ x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.2.0 pkginfo/1.5.0.1 requests/2.24.0 setuptools/41.2.0 requests-toolbelt/0.9.1 tqdm/4.47.0 CPython/3.8.3

File hashes

Hashes for tomotopy-0.8.2-cp38-cp38-macosx_10_14_x86_64.whl
Algorithm Hash digest
SHA256 7292bad8faea08aedf65ebb92549acecf53f9019a969f8a08eab576ef460f4a5
MD5 d031e4381ed6b3b80e629ba8d8fdb33c
BLAKE2b-256 03d66fdc78d64623baae96a8a139eeca036f799a6e27dcf1d14bea45abe4bb59

See more details on using hashes here.

File details

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

File metadata

  • Download URL: tomotopy-0.8.2-cp37-cp37m-win_amd64.whl
  • Upload date:
  • Size: 4.6 MB
  • Tags: CPython 3.7m, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.2.0 pkginfo/1.5.0.1 requests/2.24.0 setuptools/49.2.0 requests-toolbelt/0.9.1 tqdm/4.47.0 CPython/3.7.8

File hashes

Hashes for tomotopy-0.8.2-cp37-cp37m-win_amd64.whl
Algorithm Hash digest
SHA256 8539d270ed320ae15689115bc6af154e818d3c531f4d26206b1db76979e459be
MD5 d995852d1af8dd81422482b68580d397
BLAKE2b-256 1598878b1a5067b7d82a8bac8805a720cb6b108fb60bf0c2fac79aa1b40715f3

See more details on using hashes here.

File details

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

File metadata

  • Download URL: tomotopy-0.8.2-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.2.0 pkginfo/1.5.0.1 requests/2.24.0 setuptools/49.2.0 requests-toolbelt/0.9.1 tqdm/4.47.0 CPython/3.7.8

File hashes

Hashes for tomotopy-0.8.2-cp37-cp37m-win32.whl
Algorithm Hash digest
SHA256 6737c476fc85d5d73bf43f1f90d6349943353021cd90beaffacf7e6309c5b155
MD5 cf0743f26c89dd31085f10ddf45e70ed
BLAKE2b-256 5cdab154e4005c49e1e6855f0ae174c11b32420c769efda33b38bca40b500a5a

See more details on using hashes here.

File details

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

File metadata

  • Download URL: tomotopy-0.8.2-cp37-cp37m-manylinux2010_x86_64.whl
  • Upload date:
  • Size: 13.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.5.0.1 requests/2.24.0 setuptools/49.1.0 requests-toolbelt/0.9.1 tqdm/4.47.0 CPython/3.8.3

File hashes

Hashes for tomotopy-0.8.2-cp37-cp37m-manylinux2010_x86_64.whl
Algorithm Hash digest
SHA256 dad3baaca70b9d26d1fa53085ef6d08c947c4691990e12ba0d49747d25f59dee
MD5 933917074a09b66f6d099fd9832c579d
BLAKE2b-256 33255f715793a1507d5a0dbb9def9ddab4cd4415effbe6fedcc3a29e1ae37b2e

See more details on using hashes here.

File details

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

File metadata

  • Download URL: tomotopy-0.8.2-cp37-cp37m-macosx_10_14_x86_64.whl
  • Upload date:
  • Size: 11.3 MB
  • Tags: CPython 3.7m, macOS 10.14+ x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.2.0 pkginfo/1.5.0.1 requests/2.24.0 setuptools/47.1.0 requests-toolbelt/0.9.1 tqdm/4.47.0 CPython/3.7.8

File hashes

Hashes for tomotopy-0.8.2-cp37-cp37m-macosx_10_14_x86_64.whl
Algorithm Hash digest
SHA256 1c61d5fd072754f95dadd91b35bf44c53f3c0cfc023cf23834a8ff7cb2de9330
MD5 2b2a3a14392f24295442998c9ab2ca5d
BLAKE2b-256 9392f450aabeaa13744b4bb582e302979ea8a1c05b797979e7d23e9ebdeb58f3

See more details on using hashes here.

File details

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

File metadata

  • Download URL: tomotopy-0.8.2-cp36-cp36m-win_amd64.whl
  • Upload date:
  • Size: 4.6 MB
  • Tags: CPython 3.6m, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.2.0 pkginfo/1.5.0.1 requests/2.24.0 setuptools/49.2.0 requests-toolbelt/0.9.1 tqdm/4.47.0 CPython/3.6.8

File hashes

Hashes for tomotopy-0.8.2-cp36-cp36m-win_amd64.whl
Algorithm Hash digest
SHA256 53ef69e7056a5bff6624454e61e4a31089c014e836bc4ed98bec11470f1275f8
MD5 30fe7f346da5751fb3582db82fdde70a
BLAKE2b-256 881ea95dcdc84c027b9478a29454032af81489307fc06827a68ac2b9567f862f

See more details on using hashes here.

File details

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

File metadata

  • Download URL: tomotopy-0.8.2-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.2.0 pkginfo/1.5.0.1 requests/2.24.0 setuptools/49.2.0 requests-toolbelt/0.9.1 tqdm/4.47.0 CPython/3.6.8

File hashes

Hashes for tomotopy-0.8.2-cp36-cp36m-win32.whl
Algorithm Hash digest
SHA256 e03109b8f82a218c2ab277ea33e397f6535430fc9f2ba1b8eb8d38ed9201544a
MD5 9eede0a7dca8924c0a3d498ddf82d691
BLAKE2b-256 5e4f380ffba7bb48817e1b620470726243027920da727ba16899cacd9ab6b157

See more details on using hashes here.

File details

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

File metadata

  • Download URL: tomotopy-0.8.2-cp36-cp36m-manylinux2010_x86_64.whl
  • Upload date:
  • Size: 13.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.5.0.1 requests/2.24.0 setuptools/49.1.0 requests-toolbelt/0.9.1 tqdm/4.47.0 CPython/3.8.3

File hashes

Hashes for tomotopy-0.8.2-cp36-cp36m-manylinux2010_x86_64.whl
Algorithm Hash digest
SHA256 1e30af6f24aeadca6078ade255e1bb6cf3a2aa9fcdb3b09e382a45c0c02a7915
MD5 ef9c41b32142b2a414e03fd478fdd392
BLAKE2b-256 f89c7905d3031f9419b13f953f1321b09564124e0cc449998ed6525fea6adafb

See more details on using hashes here.

File details

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

File metadata

  • Download URL: tomotopy-0.8.2-cp36-cp36m-macosx_10_14_x86_64.whl
  • Upload date:
  • Size: 11.3 MB
  • Tags: CPython 3.6m, macOS 10.14+ x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.2.0 pkginfo/1.5.0.1 requests/2.24.0 setuptools/40.6.2 requests-toolbelt/0.9.1 tqdm/4.47.0 CPython/3.6.11

File hashes

Hashes for tomotopy-0.8.2-cp36-cp36m-macosx_10_14_x86_64.whl
Algorithm Hash digest
SHA256 4c57ea4b16a72c2bf5c3a40fcb2a219123d55c2bbc2130f0169e60e2ee902d2b
MD5 4960933f91d83ad5d3092aa5aae53754
BLAKE2b-256 cdb55101a079abc696700276bf2b18f36f494ccbc8c3738f1847a8ca01131f15

See more details on using hashes here.

File details

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

File metadata

  • Download URL: tomotopy-0.8.2-cp35-cp35m-win_amd64.whl
  • Upload date:
  • Size: 4.6 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.24.0 setuptools/49.2.0 requests-toolbelt/0.9.1 tqdm/4.47.0 CPython/3.5.4

File hashes

Hashes for tomotopy-0.8.2-cp35-cp35m-win_amd64.whl
Algorithm Hash digest
SHA256 3684eb95b73a5c12c80896595795531a2b0eb8fce63d4ad03cde76f622ba33b2
MD5 fa3e11d734b5c1fce9954f48149dc9ad
BLAKE2b-256 d584f79cf272592d9dd95e529a73fa0fccbd096b8fe35c08cc1153df12b7ad89

See more details on using hashes here.

File details

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

File metadata

  • Download URL: tomotopy-0.8.2-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.24.0 setuptools/49.2.0 requests-toolbelt/0.9.1 tqdm/4.47.0 CPython/3.5.4

File hashes

Hashes for tomotopy-0.8.2-cp35-cp35m-win32.whl
Algorithm Hash digest
SHA256 80b7d4d6bb8baffe0fb86a974567c06c8a55e4295ec35cb98a410a7237f0fbe6
MD5 146f66795779a3c7bb0a9f8dac71fab1
BLAKE2b-256 7211a2754e3aa560d82f13773c08e0ed7a081dd020bc17a2d7e1b9e59ae96211

See more details on using hashes here.

File details

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

File metadata

  • Download URL: tomotopy-0.8.2-cp35-cp35m-manylinux2010_x86_64.whl
  • Upload date:
  • Size: 13.3 MB
  • Tags: CPython 3.5m, manylinux: glibc 2.12+ x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.2.0 pkginfo/1.5.0.1 requests/2.24.0 setuptools/49.1.0 requests-toolbelt/0.9.1 tqdm/4.47.0 CPython/3.8.3

File hashes

Hashes for tomotopy-0.8.2-cp35-cp35m-manylinux2010_x86_64.whl
Algorithm Hash digest
SHA256 79b4e2c0951dfe6fd759d4062945c4960856b28f79475b04a4585982574fd38f
MD5 01ab7294fd06d7e490953186e2b30e45
BLAKE2b-256 7f68672a8af1589a535aaf26a5e41520cb77c3ade14663cfa87400fcc95b9fee

See more details on using hashes here.

File details

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

File metadata

  • Download URL: tomotopy-0.8.2-cp35-cp35m-macosx_10_14_x86_64.whl
  • Upload date:
  • Size: 11.3 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.24.0 setuptools/28.8.0 requests-toolbelt/0.9.1 tqdm/4.47.0 CPython/3.5.9

File hashes

Hashes for tomotopy-0.8.2-cp35-cp35m-macosx_10_14_x86_64.whl
Algorithm Hash digest
SHA256 cc4f24b87ed12909efdde4ced222d72f39b48303f118ba25191d775603897851
MD5 427f211de3c2e588d96c19f05e682bb4
BLAKE2b-256 545bed447dd08203aacaaa0fa0ede33dc189bb504653b3b588cb62a7b684b8c4

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