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

Uploaded Source

Built Distributions

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

Uploaded CPython 3.8Windows x86-64

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

Uploaded CPython 3.8Windows x86

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

Uploaded CPython 3.8manylinux: glibc 2.12+ x86-64

tomotopy-0.7.1-cp38-cp38-macosx_10_14_x86_64.whl (10.5 MB view details)

Uploaded CPython 3.8macOS 10.14+ x86-64

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

Uploaded CPython 3.7mWindows x86-64

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

Uploaded CPython 3.7mWindows x86

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

Uploaded CPython 3.7mmanylinux: glibc 2.12+ x86-64

tomotopy-0.7.1-cp37-cp37m-macosx_10_14_x86_64.whl (10.5 MB view details)

Uploaded CPython 3.7mmacOS 10.14+ x86-64

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

Uploaded CPython 3.6mWindows x86-64

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

Uploaded CPython 3.6mWindows x86

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

Uploaded CPython 3.6mmanylinux: glibc 2.12+ x86-64

tomotopy-0.7.1-cp36-cp36m-macosx_10_14_x86_64.whl (10.5 MB view details)

Uploaded CPython 3.6mmacOS 10.14+ x86-64

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

Uploaded CPython 3.5mWindows x86-64

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

Uploaded CPython 3.5mWindows x86

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

Uploaded CPython 3.5mmanylinux: glibc 2.12+ x86-64

tomotopy-0.7.1-cp35-cp35m-macosx_10_14_x86_64.whl (10.5 MB view details)

Uploaded CPython 3.5mmacOS 10.14+ x86-64

File details

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

File metadata

  • Download URL: tomotopy-0.7.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/46.1.3 requests-toolbelt/0.9.1 tqdm/4.46.0 CPython/3.5.9

File hashes

Hashes for tomotopy-0.7.1.tar.gz
Algorithm Hash digest
SHA256 cfc642264810440196ec93250e9920174ed08517501f248c1157f9afa1201d16
MD5 236578fbf32c5821fb0db7854385baf2
BLAKE2b-256 c9001732e609c561fde66848d6f3ba0b71477d6f67441cf505d6adb74a9bba71

See more details on using hashes here.

File details

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

File metadata

  • Download URL: tomotopy-0.7.1-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.46.0 CPython/3.8.2

File hashes

Hashes for tomotopy-0.7.1-cp38-cp38-win_amd64.whl
Algorithm Hash digest
SHA256 5fa932947e9ad488700d2c0396ecc3062d8665a018daf303b5aed3e0029e9be6
MD5 55e71f22fdcc85c42c138d3bb047747c
BLAKE2b-256 fee65fd2ee3d7a0ab86647dd257df9e96a113dd0c8ac1c365758b9f95dd00af0

See more details on using hashes here.

File details

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

File metadata

  • Download URL: tomotopy-0.7.1-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.46.0 CPython/3.8.2

File hashes

Hashes for tomotopy-0.7.1-cp38-cp38-win32.whl
Algorithm Hash digest
SHA256 e4152523b2c05ecd773f5178ab6e4924c12dfaa7156b9c9aa66727737d869088
MD5 3fc00906caf6945135cc2a72bcfbd80e
BLAKE2b-256 e793a36362821f078436b981e6219a0f1fed3e48c3bfe10dd0d195f6c3475129

See more details on using hashes here.

File details

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

File metadata

  • Download URL: tomotopy-0.7.1-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.46.0 CPython/3.8.2

File hashes

Hashes for tomotopy-0.7.1-cp38-cp38-manylinux2010_x86_64.whl
Algorithm Hash digest
SHA256 31ed53c66b9e7c882ca4e1d176d9843e5abcd3c25cd7ad3aa85c6feac873c2c6
MD5 14f545df2b752cfcb4e2b0ba865c4d50
BLAKE2b-256 1d396b186d0302dda00e7eec92633664fc5c33eb080228c18536e4efc71d4839

See more details on using hashes here.

File details

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

File metadata

  • Download URL: tomotopy-0.7.1-cp38-cp38-macosx_10_14_x86_64.whl
  • Upload date:
  • Size: 10.5 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.0 CPython/3.8.2

File hashes

Hashes for tomotopy-0.7.1-cp38-cp38-macosx_10_14_x86_64.whl
Algorithm Hash digest
SHA256 383007d158d0556b283ac26711a24b3634993bfe0c074b852a6a85c9bd53c75b
MD5 0e3cb2da49bba652ebfdbf6542b08793
BLAKE2b-256 414d895cd6c954da898d560f7f2946b9a20a497d522325f62bb499f5059d345a

See more details on using hashes here.

File details

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

File metadata

  • Download URL: tomotopy-0.7.1-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.46.0 CPython/3.7.7

File hashes

Hashes for tomotopy-0.7.1-cp37-cp37m-win_amd64.whl
Algorithm Hash digest
SHA256 f386851beced6f2cd938f7f968b71537ecea618c28327984e2a85c7fce546b49
MD5 b47724baae605ab00c01b22b3039d353
BLAKE2b-256 e583710ec2a50b8c7444328cf71d40918b6b4aace5f2a883ab66ad19f981a944

See more details on using hashes here.

File details

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

File metadata

  • Download URL: tomotopy-0.7.1-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.46.0 CPython/3.7.7

File hashes

Hashes for tomotopy-0.7.1-cp37-cp37m-win32.whl
Algorithm Hash digest
SHA256 b410fdbfcb6206ea2363e88848228f6568ae68b613927b67d89922f249d7e9fb
MD5 ae718a56a9a522b674185792e0b0d9e3
BLAKE2b-256 ca5976ae0d36861904c5896ac82c61457048e3c637356f27cd483f5b5fb164c7

See more details on using hashes here.

File details

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

File metadata

  • Download URL: tomotopy-0.7.1-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.46.0 CPython/3.8.2

File hashes

Hashes for tomotopy-0.7.1-cp37-cp37m-manylinux2010_x86_64.whl
Algorithm Hash digest
SHA256 ba4eb4b730b13519cd1f09aef81193bc3da9503f4a0b4cd0af55e16c9d09103c
MD5 5984c8d391d6dc42fe5ec08f70b2000d
BLAKE2b-256 8204c282124647730a3f02c16662f40451ce265b6285a3bb290220feb6b427f9

See more details on using hashes here.

File details

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

File metadata

  • Download URL: tomotopy-0.7.1-cp37-cp37m-macosx_10_14_x86_64.whl
  • Upload date:
  • Size: 10.5 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.0 CPython/3.7.7

File hashes

Hashes for tomotopy-0.7.1-cp37-cp37m-macosx_10_14_x86_64.whl
Algorithm Hash digest
SHA256 de0ecff7ba137de1f5fbf463b650156e5f8d9570f7553cf8443cd7b790fdaaa0
MD5 7c7eb555b0adb3c7fc50c896fe618525
BLAKE2b-256 34003d839a1486032f69a7a109d38095a2137eafce870eb5390fecc86a562401

See more details on using hashes here.

File details

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

File metadata

  • Download URL: tomotopy-0.7.1-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.46.0 CPython/3.6.8

File hashes

Hashes for tomotopy-0.7.1-cp36-cp36m-win_amd64.whl
Algorithm Hash digest
SHA256 4d8d0148909ac25fd80f755f22db9aab49bc251cca0e4ce35bd42b6fc6f4be34
MD5 ce301365ebab741cd462ccc2e3ae15e7
BLAKE2b-256 9cba4c5892aaac3af33e9ec4deb2f6d8d4134c45fbf6660e1b75686cf610e677

See more details on using hashes here.

File details

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

File metadata

  • Download URL: tomotopy-0.7.1-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.46.0 CPython/3.6.8

File hashes

Hashes for tomotopy-0.7.1-cp36-cp36m-win32.whl
Algorithm Hash digest
SHA256 ca876e86209ea43e7de8fd85c6fd282cc5ab1a66c5ce180bb726d9d083b55a07
MD5 883b49dca6d8d776d2dd5c6235a5a9e5
BLAKE2b-256 447dfb8ddc0cecdf5be0f279c0cea0a5b4361d55e4db38542afda8346570b5e0

See more details on using hashes here.

File details

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

File metadata

  • Download URL: tomotopy-0.7.1-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.46.0 CPython/3.8.2

File hashes

Hashes for tomotopy-0.7.1-cp36-cp36m-manylinux2010_x86_64.whl
Algorithm Hash digest
SHA256 b7e08bc5e7f53b6d9125ac5067c6e19128805953df607c91a1eb06ac7eb4c0e4
MD5 8f44e6cd2b29ccd831ffcf669a11e79a
BLAKE2b-256 91d6ac6bb47d8b36616bf3c27b41a49adcd6f676a891169bde7ba730a4d63529

See more details on using hashes here.

File details

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

File metadata

  • Download URL: tomotopy-0.7.1-cp36-cp36m-macosx_10_14_x86_64.whl
  • Upload date:
  • Size: 10.5 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.0 CPython/3.6.10

File hashes

Hashes for tomotopy-0.7.1-cp36-cp36m-macosx_10_14_x86_64.whl
Algorithm Hash digest
SHA256 39a5ade96b787a5a2cbc1dce9cc128bcd550378c43957a49bb42f1b51f7194b7
MD5 dde235f9778979de692f739fcf178662
BLAKE2b-256 6b2d65185e3decc0d027b3e85a0f662251de2c1c121ef4e8c9285d014cbc60f1

See more details on using hashes here.

File details

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

File metadata

  • Download URL: tomotopy-0.7.1-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.46.0 CPython/3.5.4

File hashes

Hashes for tomotopy-0.7.1-cp35-cp35m-win_amd64.whl
Algorithm Hash digest
SHA256 c7bd902a5adcf4a4b5762dbf6628f3f72b4beb807b5b2479a7267ff4adffcc46
MD5 20173a721ec8518852c590dafdd09614
BLAKE2b-256 f31451e577521c29a745a0478e95a6a661ad29eaf101d0f14c87d2809ce540a3

See more details on using hashes here.

File details

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

File metadata

  • Download URL: tomotopy-0.7.1-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.46.0 CPython/3.5.4

File hashes

Hashes for tomotopy-0.7.1-cp35-cp35m-win32.whl
Algorithm Hash digest
SHA256 9530a29e6bfb06d7c5896d204cf95203cac07e8917502b678469335fadeee410
MD5 48fa79c52cd0947f721dbafa90d3a8b9
BLAKE2b-256 1901dcb5e92cc8ffbe7efc33385617b673363403db2353ea84f7696c3533b89f

See more details on using hashes here.

File details

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

File metadata

  • Download URL: tomotopy-0.7.1-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.46.0 CPython/3.8.2

File hashes

Hashes for tomotopy-0.7.1-cp35-cp35m-manylinux2010_x86_64.whl
Algorithm Hash digest
SHA256 808341c4397eb215552f28c79e375dc210b5c8b3bb70532ec4894c1d431d19e3
MD5 ceaa3c668a918f9b5673998400871b98
BLAKE2b-256 914c8a8e4ccaa764aa9c0c063c7adedeb2eafd09430526cc0f2367e481e73391

See more details on using hashes here.

File details

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

File metadata

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

File hashes

Hashes for tomotopy-0.7.1-cp35-cp35m-macosx_10_14_x86_64.whl
Algorithm Hash digest
SHA256 a1503902058bc47c983c50b9b1d4f69435bd1d0d0fd2c18b9fb1cb46e0970fc2
MD5 9e540464ffcfd594564207a3891ec10e
BLAKE2b-256 cb4e381223c9c4af77184673d0806708a9b15c2ee25e70b7ef8ac0d78d819d3a

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