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

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

Getting Started

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

$ pip install --upgrade pip
$ 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))

mdl.summary()

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

Performance by Version

Performance changes by version are shown in the following graph. The time it takes to run the LDA model train with 1000 iteration was measured. (Docs: 11314, Vocab: 60382, Words: 2364724, Intel Xeon Gold 5120 @2.2GHz)

https://bab2min.github.io/tomotopy/images/lda-perf-t1.png https://bab2min.github.io/tomotopy/images/lda-perf-t4.png https://bab2min.github.io/tomotopy/images/lda-perf-t8.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/examples/ .

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.9.0 (2020-08-04)
    • The tomotopy.LDAModel.summary() method, which prints human-readable summary of the model, has been added.

    • The random number generator of package has been replaced with [EigenRand]. It speeds up the random number generation and solves the result difference between platforms.

    • Due to above, even if seed is the same, the model training result may be different from the version before 0.9.0.

    • Fixed a training error in tomotopy.HDPModel.

    • tomotopy.DMRModel.alpha now shows Dirichlet prior of per-document topic distribution by metadata.

    • tomotopy.DTModel.get_count_by_topics() has been modified to return a 2-dimensional ndarray.

    • tomotopy.DTModel.alpha has been modified to return the same value as tomotopy.DTModel.get_alpha().

    • Fixed an issue where the metadata value could not be obtained for the document of tomotopy.GDMRModel.

    • tomotopy.HLDAModel.alpha now shows Dirichlet prior of per-document depth distribution.

    • tomotopy.LDAModel.global_step has been added.

    • tomotopy.MGLDAModel.get_count_by_topics() now returns the word count for both global and local topics.

    • tomotopy.PAModel.alpha, tomotopy.PAModel.subalpha, and tomotopy.PAModel.get_count_by_super_topic() have been added.

[EigenRand]: https://github.com/bab2min/EigenRand

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

Uploaded Source

Built Distributions

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

Uploaded CPython 3.8Windows x86-64

tomotopy-0.9.0-cp38-cp38-win32.whl (2.8 MB view details)

Uploaded CPython 3.8Windows x86

tomotopy-0.9.0-cp38-cp38-manylinux2010_x86_64.whl (13.5 MB view details)

Uploaded CPython 3.8manylinux: glibc 2.12+ x86-64

tomotopy-0.9.0-cp38-cp38-macosx_10_14_x86_64.whl (11.6 MB view details)

Uploaded CPython 3.8macOS 10.14+ x86-64

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

Uploaded CPython 3.7mWindows x86-64

tomotopy-0.9.0-cp37-cp37m-win32.whl (2.8 MB view details)

Uploaded CPython 3.7mWindows x86

tomotopy-0.9.0-cp37-cp37m-manylinux2010_x86_64.whl (13.5 MB view details)

Uploaded CPython 3.7mmanylinux: glibc 2.12+ x86-64

tomotopy-0.9.0-cp37-cp37m-macosx_10_14_x86_64.whl (11.6 MB view details)

Uploaded CPython 3.7mmacOS 10.14+ x86-64

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

Uploaded CPython 3.6mWindows x86-64

tomotopy-0.9.0-cp36-cp36m-win32.whl (2.8 MB view details)

Uploaded CPython 3.6mWindows x86

tomotopy-0.9.0-cp36-cp36m-manylinux2010_x86_64.whl (13.5 MB view details)

Uploaded CPython 3.6mmanylinux: glibc 2.12+ x86-64

tomotopy-0.9.0-cp36-cp36m-macosx_10_14_x86_64.whl (11.6 MB view details)

Uploaded CPython 3.6mmacOS 10.14+ x86-64

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

Uploaded CPython 3.5mWindows x86-64

tomotopy-0.9.0-cp35-cp35m-win32.whl (2.8 MB view details)

Uploaded CPython 3.5mWindows x86

tomotopy-0.9.0-cp35-cp35m-manylinux2010_x86_64.whl (13.5 MB view details)

Uploaded CPython 3.5mmanylinux: glibc 2.12+ x86-64

tomotopy-0.9.0-cp35-cp35m-macosx_10_14_x86_64.whl (11.6 MB view details)

Uploaded CPython 3.5mmacOS 10.14+ x86-64

File details

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

File metadata

  • Download URL: tomotopy-0.9.0.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.2.0 requests-toolbelt/0.9.1 tqdm/4.48.2 CPython/3.5.9

File hashes

Hashes for tomotopy-0.9.0.tar.gz
Algorithm Hash digest
SHA256 5ecb097dca780ef74c62afced1c292747ec8c81753b264aa25812ddc35a67011
MD5 e4115d698a7a4e423aa33259ae8bd8d2
BLAKE2b-256 d0da7ad5928e8784934f1ec1d57beac418682b36323634a218b1ed383dddf69d

See more details on using hashes here.

File details

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

File metadata

  • Download URL: tomotopy-0.9.0-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.1 requests-toolbelt/0.9.1 tqdm/4.48.2 CPython/3.8.5

File hashes

Hashes for tomotopy-0.9.0-cp38-cp38-win_amd64.whl
Algorithm Hash digest
SHA256 1b66b9eca631b43fdff71f719abb910e6c31d7acf21df376179633dacfdef78a
MD5 cab918feb9683964f9e51fa7fee6a0b2
BLAKE2b-256 0e5ad6e11670e9b4d59300c1e2d99967d7e1219e43897f5d8ed0ff25ee05d137

See more details on using hashes here.

File details

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

File metadata

  • Download URL: tomotopy-0.9.0-cp38-cp38-win32.whl
  • Upload date:
  • Size: 2.8 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.1 requests-toolbelt/0.9.1 tqdm/4.48.2 CPython/3.8.5

File hashes

Hashes for tomotopy-0.9.0-cp38-cp38-win32.whl
Algorithm Hash digest
SHA256 81a880eae99d3161d5a83db2fab6515a3abd1ffa43dd72bf279820e0d1c66e59
MD5 c054d8d8f5b5174a8112937743e7cd96
BLAKE2b-256 cd213b42ac4fa0426623bff0a99e9b60520a000f189633d54921d92ad80d5bcb

See more details on using hashes here.

File details

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

File metadata

  • Download URL: tomotopy-0.9.0-cp38-cp38-manylinux2010_x86_64.whl
  • Upload date:
  • Size: 13.5 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.2.0 requests-toolbelt/0.9.1 tqdm/4.48.2 CPython/3.8.5

File hashes

Hashes for tomotopy-0.9.0-cp38-cp38-manylinux2010_x86_64.whl
Algorithm Hash digest
SHA256 d61a4fce79522cc4679c8f7ce99388e49c225aeaeb95d07bd3b48f34356a80db
MD5 97fa3d4a9c189960ee60f662ce2fae98
BLAKE2b-256 019ab6a01a9097f168592939d5a5bd15da05e7af7328b2811ed030d4bd72cbc8

See more details on using hashes here.

File details

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

File metadata

  • Download URL: tomotopy-0.9.0-cp38-cp38-macosx_10_14_x86_64.whl
  • Upload date:
  • Size: 11.6 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/47.1.0 requests-toolbelt/0.9.1 tqdm/4.48.2 CPython/3.8.5

File hashes

Hashes for tomotopy-0.9.0-cp38-cp38-macosx_10_14_x86_64.whl
Algorithm Hash digest
SHA256 636fbe424dddf119fe19978e5f2663ddba2e2118ff6679f45f3882cf8750b430
MD5 ae26f46e9ac190db197e6057b85b6ecf
BLAKE2b-256 64109afacc0ea59b03da7c58d0b81ec01fdb406b79dc4f29a0f8c45e058eed3c

See more details on using hashes here.

File details

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

File metadata

  • Download URL: tomotopy-0.9.0-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.1 requests-toolbelt/0.9.1 tqdm/4.48.2 CPython/3.7.8

File hashes

Hashes for tomotopy-0.9.0-cp37-cp37m-win_amd64.whl
Algorithm Hash digest
SHA256 d4b7c23dff0e1673cc136d564519c14bccc29f60c8d97490e8c209439e846cc5
MD5 40462315aae381d142e177c99b436751
BLAKE2b-256 20cf4f0065880d74af586bffab471bdf3f418c94ed7a523e8e29b2b66293f79f

See more details on using hashes here.

File details

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

File metadata

  • Download URL: tomotopy-0.9.0-cp37-cp37m-win32.whl
  • Upload date:
  • Size: 2.8 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.1 requests-toolbelt/0.9.1 tqdm/4.48.2 CPython/3.7.8

File hashes

Hashes for tomotopy-0.9.0-cp37-cp37m-win32.whl
Algorithm Hash digest
SHA256 fc376d8fd4c0e77af213814674900c1094a6f2c766469527e1794aa6b6f4c7cb
MD5 16b584570b8886983d4addabbee94b77
BLAKE2b-256 f6b51d3028998b4af81d81825056e615aa7472c35cbc32e3cfc1ac9b0c2dcf8d

See more details on using hashes here.

File details

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

File metadata

  • Download URL: tomotopy-0.9.0-cp37-cp37m-manylinux2010_x86_64.whl
  • Upload date:
  • Size: 13.5 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.2.0 requests-toolbelt/0.9.1 tqdm/4.48.2 CPython/3.8.5

File hashes

Hashes for tomotopy-0.9.0-cp37-cp37m-manylinux2010_x86_64.whl
Algorithm Hash digest
SHA256 8be39a2257118a51be9ba78241fcd2f669beeb548a5cbf5d9315fdce5e73fd0f
MD5 6744c6c09f21169f828cbd4177f0c240
BLAKE2b-256 1dfacfb4fa8e2986692518fbd2650d8df2f0e33120303ba380a32c2c87272121

See more details on using hashes here.

File details

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

File metadata

  • Download URL: tomotopy-0.9.0-cp37-cp37m-macosx_10_14_x86_64.whl
  • Upload date:
  • Size: 11.6 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.48.2 CPython/3.7.8

File hashes

Hashes for tomotopy-0.9.0-cp37-cp37m-macosx_10_14_x86_64.whl
Algorithm Hash digest
SHA256 9eef918afa096f9ba70b3747092770fe02e636bd9e5fe562f62ce1c1bd464543
MD5 b23f8c9405d66c8eb0f19f39b40d94e1
BLAKE2b-256 049eabbad44e0401290b0f3e5b9f64e7f5a2522e159d17199be0a432577364b9

See more details on using hashes here.

File details

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

File metadata

  • Download URL: tomotopy-0.9.0-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.1 requests-toolbelt/0.9.1 tqdm/4.48.2 CPython/3.6.8

File hashes

Hashes for tomotopy-0.9.0-cp36-cp36m-win_amd64.whl
Algorithm Hash digest
SHA256 30481666fb717a641c4c6bcf8901574202befcd316c06c0fca45b264410d9dd4
MD5 9e634523ac37a7c7d15dffde02e37831
BLAKE2b-256 8ff142b5a811dee89bcf06a9a26a0816624882773ab04aa05c1030c1ce7446a1

See more details on using hashes here.

File details

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

File metadata

  • Download URL: tomotopy-0.9.0-cp36-cp36m-win32.whl
  • Upload date:
  • Size: 2.8 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.1 requests-toolbelt/0.9.1 tqdm/4.48.2 CPython/3.6.8

File hashes

Hashes for tomotopy-0.9.0-cp36-cp36m-win32.whl
Algorithm Hash digest
SHA256 476171ac5da60a6a3fa7b4697d291c91740512486efdebf78c2d5fb85d156c15
MD5 e999005e229d00bd513f6d0da57c2f35
BLAKE2b-256 23a4d3231b47854d9f56382734a2852ae221c49246cd7944225c8a185ba7b9f0

See more details on using hashes here.

File details

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

File metadata

  • Download URL: tomotopy-0.9.0-cp36-cp36m-manylinux2010_x86_64.whl
  • Upload date:
  • Size: 13.5 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.2.0 requests-toolbelt/0.9.1 tqdm/4.48.2 CPython/3.8.5

File hashes

Hashes for tomotopy-0.9.0-cp36-cp36m-manylinux2010_x86_64.whl
Algorithm Hash digest
SHA256 97f2ea29ed92a92b49f7106d1343289c40b2f0d250d44997b7fe9f8e047d89ce
MD5 12982212ae8f8f05f5aba60c18380fc4
BLAKE2b-256 5a9d714a7f52fc666f1bad49eab66c6cdef9652bb9a2dd9a121a38fb8bbbb5a5

See more details on using hashes here.

File details

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

File metadata

  • Download URL: tomotopy-0.9.0-cp36-cp36m-macosx_10_14_x86_64.whl
  • Upload date:
  • Size: 11.6 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.48.2 CPython/3.6.11

File hashes

Hashes for tomotopy-0.9.0-cp36-cp36m-macosx_10_14_x86_64.whl
Algorithm Hash digest
SHA256 d7e897819585d1406026796ed1ae9bedd43180125f91db24b605ba2f4dc0c001
MD5 5760b217413b235a7868841bc4ffbc4d
BLAKE2b-256 0fad1cc0835db1d4e9dea8f5688ee1511a4f0830310e28a045c4d3ffe375f0f8

See more details on using hashes here.

File details

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

File metadata

  • Download URL: tomotopy-0.9.0-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.1 requests-toolbelt/0.9.1 tqdm/4.48.2 CPython/3.5.4

File hashes

Hashes for tomotopy-0.9.0-cp35-cp35m-win_amd64.whl
Algorithm Hash digest
SHA256 c0a821a6ad450711ad22c386e6d193789a4c44797a274a57db06a7befc631f13
MD5 214560c35c95266930d2ea95fbb541c4
BLAKE2b-256 05edf9075dfe8d61cd8b57cdfa4cacbe3db6fb95914c62daa44d469c4ca51ad1

See more details on using hashes here.

File details

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

File metadata

  • Download URL: tomotopy-0.9.0-cp35-cp35m-win32.whl
  • Upload date:
  • Size: 2.8 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.1 requests-toolbelt/0.9.1 tqdm/4.48.2 CPython/3.5.4

File hashes

Hashes for tomotopy-0.9.0-cp35-cp35m-win32.whl
Algorithm Hash digest
SHA256 1e716b6b80a51d956b9409b7deaea083af3d9301b2b639546b2fbe90e0b9acc1
MD5 381d590adce5cb36b1c063351f22680f
BLAKE2b-256 e27bb049bb064814bd60989c83fa9faddc20080406d8ecca9066d7041e8e7797

See more details on using hashes here.

File details

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

File metadata

  • Download URL: tomotopy-0.9.0-cp35-cp35m-manylinux2010_x86_64.whl
  • Upload date:
  • Size: 13.5 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.2.0 requests-toolbelt/0.9.1 tqdm/4.48.2 CPython/3.8.5

File hashes

Hashes for tomotopy-0.9.0-cp35-cp35m-manylinux2010_x86_64.whl
Algorithm Hash digest
SHA256 c3a0032d89c88bf982df8ecf6a72f835d373e530b0392715307301bd17db48cf
MD5 360df8d3f87a7918c253441fc8b4e535
BLAKE2b-256 094e3be349c08843bea21d923fa65202cb317cce7cd06d6c6b596eaa26ee4246

See more details on using hashes here.

File details

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

File metadata

  • Download URL: tomotopy-0.9.0-cp35-cp35m-macosx_10_14_x86_64.whl
  • Upload date:
  • Size: 11.6 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.48.2 CPython/3.5.9

File hashes

Hashes for tomotopy-0.9.0-cp35-cp35m-macosx_10_14_x86_64.whl
Algorithm Hash digest
SHA256 9daf02daedbfb5d50c67b57ade637aee458dae692eaf05885ca716814b103426
MD5 2693822f7dbd98595a7341809f598cfc
BLAKE2b-256 b893332ee211c0302e2c725de32dff3e9c56ae97407482a1fec5986527d914ed

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