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

The most recent version of tomotopy is 0.5.0.

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

Getting Started

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

$ pip install tomotopy

For Linux, it is neccesary to have gcc 5 or more for compiling C++14 codes. 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

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

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.5.0.tar.gz (973.3 kB view details)

Uploaded Source

Built Distributions

tomotopy-0.5.0-cp38-cp38-win_amd64.whl (3.6 MB view details)

Uploaded CPython 3.8Windows x86-64

tomotopy-0.5.0-cp38-cp38-win32.whl (2.1 MB view details)

Uploaded CPython 3.8Windows x86

tomotopy-0.5.0-cp38-cp38-manylinux1_x86_64.whl (11.1 MB view details)

Uploaded CPython 3.8

tomotopy-0.5.0-cp38-cp38-macosx_10_13_x86_64.whl (9.4 MB view details)

Uploaded CPython 3.8macOS 10.13+ x86-64

tomotopy-0.5.0-cp37-cp37m-win_amd64.whl (3.6 MB view details)

Uploaded CPython 3.7mWindows x86-64

tomotopy-0.5.0-cp37-cp37m-win32.whl (2.1 MB view details)

Uploaded CPython 3.7mWindows x86

tomotopy-0.5.0-cp37-cp37m-manylinux1_x86_64.whl (11.1 MB view details)

Uploaded CPython 3.7m

tomotopy-0.5.0-cp37-cp37m-macosx_10_13_x86_64.whl (9.4 MB view details)

Uploaded CPython 3.7mmacOS 10.13+ x86-64

tomotopy-0.5.0-cp36-cp36m-win_amd64.whl (3.6 MB view details)

Uploaded CPython 3.6mWindows x86-64

tomotopy-0.5.0-cp36-cp36m-win32.whl (2.1 MB view details)

Uploaded CPython 3.6mWindows x86

tomotopy-0.5.0-cp36-cp36m-manylinux1_x86_64.whl (11.1 MB view details)

Uploaded CPython 3.6m

tomotopy-0.5.0-cp36-cp36m-macosx_10_13_x86_64.whl (9.4 MB view details)

Uploaded CPython 3.6mmacOS 10.13+ x86-64

tomotopy-0.5.0-cp35-cp35m-manylinux1_x86_64.whl (11.1 MB view details)

Uploaded CPython 3.5m

tomotopy-0.5.0-cp35-cp35m-macosx_10_13_x86_64.whl (9.4 MB view details)

Uploaded CPython 3.5mmacOS 10.13+ x86-64

tomotopy-0.5.0-cp34-cp34m-manylinux1_x86_64.whl (11.1 MB view details)

Uploaded CPython 3.4m

File details

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

File metadata

  • Download URL: tomotopy-0.5.0.tar.gz
  • Upload date:
  • Size: 973.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: Python-urllib/3.7

File hashes

Hashes for tomotopy-0.5.0.tar.gz
Algorithm Hash digest
SHA256 1e8cd2b402ce2d28d4174954b46f9ec525f3a7d3aaab9b96a343ff6d8e5fb0f2
MD5 1e5d9f4738c594ecfd77d619afb5537f
BLAKE2b-256 eb036fecf1801827ba0e4ecbad94b62a8df316ac61697fa14a7c47fc91a5e740

See more details on using hashes here.

File details

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

File metadata

  • Download URL: tomotopy-0.5.0-cp38-cp38-win_amd64.whl
  • Upload date:
  • Size: 3.6 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.22.0 setuptools/42.0.2 requests-toolbelt/0.9.1 tqdm/4.41.0 CPython/3.8.0

File hashes

Hashes for tomotopy-0.5.0-cp38-cp38-win_amd64.whl
Algorithm Hash digest
SHA256 3a71a16d74445977c6cd6c334a05635699e0b3b1580a8163ca7c79c30b154473
MD5 f6b787b7248304de6a4751c08d8cb74d
BLAKE2b-256 5366e54f69896ac4acb9161fdfefb04f04f55dc009502aade69d68ad003ee37c

See more details on using hashes here.

File details

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

File metadata

  • Download URL: tomotopy-0.5.0-cp38-cp38-win32.whl
  • Upload date:
  • Size: 2.1 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.22.0 setuptools/42.0.2 requests-toolbelt/0.9.1 tqdm/4.41.0 CPython/3.8.0

File hashes

Hashes for tomotopy-0.5.0-cp38-cp38-win32.whl
Algorithm Hash digest
SHA256 77f5c24e3d2768fe13f75f6fdb2c81e7a1f8d5dd650109c3100af477d25928f6
MD5 49445469d57fe26c5745adcf30dfdd9b
BLAKE2b-256 c2f1585531458deabb1a3d1f1cae437e5b71e4ff326483fff23c7b1baebbab2d

See more details on using hashes here.

File details

Details for the file tomotopy-0.5.0-cp38-cp38-manylinux1_x86_64.whl.

File metadata

  • Download URL: tomotopy-0.5.0-cp38-cp38-manylinux1_x86_64.whl
  • Upload date:
  • Size: 11.1 MB
  • Tags: CPython 3.8
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.22.0 setuptools/42.0.2 requests-toolbelt/0.9.1 tqdm/4.41.0 CPython/3.8.1

File hashes

Hashes for tomotopy-0.5.0-cp38-cp38-manylinux1_x86_64.whl
Algorithm Hash digest
SHA256 863e518f127b4407eb5e283fd8da24568fa4a204679b536eabf3c42e7457b361
MD5 b35651654e37ebeacd545c81913733de
BLAKE2b-256 1b06dfcdc7217b1b576406ce1483b1ba205cf0f638618e61701d22b2b8521f52

See more details on using hashes here.

File details

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

File metadata

  • Download URL: tomotopy-0.5.0-cp38-cp38-macosx_10_13_x86_64.whl
  • Upload date:
  • Size: 9.4 MB
  • Tags: CPython 3.8, macOS 10.13+ x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.22.0 setuptools/41.2.0 requests-toolbelt/0.9.1 tqdm/4.41.0 CPython/3.8.0

File hashes

Hashes for tomotopy-0.5.0-cp38-cp38-macosx_10_13_x86_64.whl
Algorithm Hash digest
SHA256 4ee9abd95650cd3b8a351b084a0b2d39b2e07c39a323e1ca7e6f278ae605b0ec
MD5 099169338519cd37ebaf43d6d647b7a3
BLAKE2b-256 58f97d8d824a1e68a57a98f59fa03a33ef39c24c75ec3065896ddc875753d04a

See more details on using hashes here.

File details

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

File metadata

  • Download URL: tomotopy-0.5.0-cp37-cp37m-win_amd64.whl
  • Upload date:
  • Size: 3.6 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.22.0 setuptools/42.0.2 requests-toolbelt/0.9.1 tqdm/4.41.0 CPython/3.7.5

File hashes

Hashes for tomotopy-0.5.0-cp37-cp37m-win_amd64.whl
Algorithm Hash digest
SHA256 6d1ccf57da570ab09c26eb085ccd56282faedb4d0c06af8e8929fe4f17333d69
MD5 313dd768fa52940d0bb0cd02d82491a6
BLAKE2b-256 765e352765d9b716cec90b33814b0df080e251bd5c8f942fef536da66da9a396

See more details on using hashes here.

File details

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

File metadata

  • Download URL: tomotopy-0.5.0-cp37-cp37m-win32.whl
  • Upload date:
  • Size: 2.1 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.22.0 setuptools/42.0.2 requests-toolbelt/0.9.1 tqdm/4.41.0 CPython/3.7.5

File hashes

Hashes for tomotopy-0.5.0-cp37-cp37m-win32.whl
Algorithm Hash digest
SHA256 3bf9a5b2fa4e7a8167a7a33ed5533c60ac82f519a7828ac9fd37fb011dacf661
MD5 7fee89db3ff8559ee2ca593e6af9b656
BLAKE2b-256 7c241d2c3d8a2a85dec9d15a2d416db659868242338b6bdd268cb70f5c00b7dc

See more details on using hashes here.

File details

Details for the file tomotopy-0.5.0-cp37-cp37m-manylinux1_x86_64.whl.

File metadata

  • Download URL: tomotopy-0.5.0-cp37-cp37m-manylinux1_x86_64.whl
  • Upload date:
  • Size: 11.1 MB
  • Tags: CPython 3.7m
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.22.0 setuptools/42.0.2 requests-toolbelt/0.9.1 tqdm/4.41.0 CPython/3.8.1

File hashes

Hashes for tomotopy-0.5.0-cp37-cp37m-manylinux1_x86_64.whl
Algorithm Hash digest
SHA256 c504215c0fff417087387ccce8a2dbf192a948e412cf260f6442a68c4257f5c0
MD5 f8e901686f9cead9901b950e25736cf5
BLAKE2b-256 b41c364b504911c3cc92ab97e9c3a23a1378c034ba34f584c7e5726cb713a819

See more details on using hashes here.

File details

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

File metadata

  • Download URL: tomotopy-0.5.0-cp37-cp37m-macosx_10_13_x86_64.whl
  • Upload date:
  • Size: 9.4 MB
  • Tags: CPython 3.7m, macOS 10.13+ x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.22.0 setuptools/41.2.0 requests-toolbelt/0.9.1 tqdm/4.41.0 CPython/3.7.5

File hashes

Hashes for tomotopy-0.5.0-cp37-cp37m-macosx_10_13_x86_64.whl
Algorithm Hash digest
SHA256 a383c422f900b73f004929664fbbba32341974f875d3f4318d0d00912a3c71fa
MD5 40c7a41aa334553820d2388769fee757
BLAKE2b-256 7f6c9482243f43ec0a6f96184e6eead9cbfc842664ffb7e0af4cfc5f4729bf11

See more details on using hashes here.

File details

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

File metadata

  • Download URL: tomotopy-0.5.0-cp36-cp36m-win_amd64.whl
  • Upload date:
  • Size: 3.6 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.22.0 setuptools/42.0.2 requests-toolbelt/0.9.1 tqdm/4.41.0 CPython/3.6.8

File hashes

Hashes for tomotopy-0.5.0-cp36-cp36m-win_amd64.whl
Algorithm Hash digest
SHA256 d3807ab1ba5e4499348f96c8fb878bf091349d19f7c9cae3e84062192100aa52
MD5 92102f411b11dcb4df4299d527abdc5a
BLAKE2b-256 f86076ddca8f518d410b5424ec1f111b33fe19fa38e43e1a311c1ebd09e7ad96

See more details on using hashes here.

File details

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

File metadata

  • Download URL: tomotopy-0.5.0-cp36-cp36m-win32.whl
  • Upload date:
  • Size: 2.1 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.22.0 setuptools/42.0.2 requests-toolbelt/0.9.1 tqdm/4.41.0 CPython/3.6.8

File hashes

Hashes for tomotopy-0.5.0-cp36-cp36m-win32.whl
Algorithm Hash digest
SHA256 41e8d6be40bb1f5dd2f0ec263f5d8cb12730535bf24561b40ddac89b0e3be5be
MD5 8f4bc3ba1b697bfabc2cc3794b0551aa
BLAKE2b-256 68d1fb0e08850ed431490c8541d9133be2a8adea67d9491153ee5b84797667e3

See more details on using hashes here.

File details

Details for the file tomotopy-0.5.0-cp36-cp36m-manylinux1_x86_64.whl.

File metadata

  • Download URL: tomotopy-0.5.0-cp36-cp36m-manylinux1_x86_64.whl
  • Upload date:
  • Size: 11.1 MB
  • Tags: CPython 3.6m
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.22.0 setuptools/42.0.2 requests-toolbelt/0.9.1 tqdm/4.41.0 CPython/3.8.1

File hashes

Hashes for tomotopy-0.5.0-cp36-cp36m-manylinux1_x86_64.whl
Algorithm Hash digest
SHA256 3b567ad14baef61787022d094760a277b3e7e92604442ed094357e15792ff09d
MD5 479dc3f897c701c94407f60ba4630882
BLAKE2b-256 0882b2ded0eef1efb2ca10af59f7dff7c354fecb15bb763d710d3c3639508be9

See more details on using hashes here.

File details

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

File metadata

  • Download URL: tomotopy-0.5.0-cp36-cp36m-macosx_10_13_x86_64.whl
  • Upload date:
  • Size: 9.4 MB
  • Tags: CPython 3.6m, macOS 10.13+ x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.22.0 setuptools/40.6.2 requests-toolbelt/0.9.1 tqdm/4.41.0 CPython/3.6.9

File hashes

Hashes for tomotopy-0.5.0-cp36-cp36m-macosx_10_13_x86_64.whl
Algorithm Hash digest
SHA256 f207281889a453cfeff346e25025c67ddcd490eddba7950499eb68c36da195b8
MD5 e3ede83ac84ba8d1f6f1eae030791aae
BLAKE2b-256 0d6c99bbca76ef8bcc567ad3f3b0f8892cda354a107a31b4c092fb268a1d1ac7

See more details on using hashes here.

File details

Details for the file tomotopy-0.5.0-cp35-cp35m-manylinux1_x86_64.whl.

File metadata

  • Download URL: tomotopy-0.5.0-cp35-cp35m-manylinux1_x86_64.whl
  • Upload date:
  • Size: 11.1 MB
  • Tags: CPython 3.5m
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.22.0 setuptools/42.0.2 requests-toolbelt/0.9.1 tqdm/4.41.0 CPython/3.8.1

File hashes

Hashes for tomotopy-0.5.0-cp35-cp35m-manylinux1_x86_64.whl
Algorithm Hash digest
SHA256 825544890b2d996c1f60bbe8eb411e794a5817e925000e1c617b2ae66641bb0d
MD5 ec487641e3eeb72bc22b92ff9dfab865
BLAKE2b-256 48a4c5f3f9e91c76a632cbf667f309fc50a219ef6fe34ec4b92dd11bc1915c4f

See more details on using hashes here.

File details

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

File metadata

  • Download URL: tomotopy-0.5.0-cp35-cp35m-macosx_10_13_x86_64.whl
  • Upload date:
  • Size: 9.4 MB
  • Tags: CPython 3.5m, macOS 10.13+ x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.15.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/28.8.0 requests-toolbelt/0.9.1 tqdm/4.41.0 CPython/3.5.7

File hashes

Hashes for tomotopy-0.5.0-cp35-cp35m-macosx_10_13_x86_64.whl
Algorithm Hash digest
SHA256 f0cc4b44c45318601c738b92ede3dd73372b5c9b5957486dc0423731cb8a729b
MD5 c9ceda00830710db81109735417f0c38
BLAKE2b-256 6304165b6ee944808bbc82fb676c810e4a15c8ae06eba316d0005257e61877e1

See more details on using hashes here.

File details

Details for the file tomotopy-0.5.0-cp34-cp34m-manylinux1_x86_64.whl.

File metadata

  • Download URL: tomotopy-0.5.0-cp34-cp34m-manylinux1_x86_64.whl
  • Upload date:
  • Size: 11.1 MB
  • Tags: CPython 3.4m
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.22.0 setuptools/42.0.2 requests-toolbelt/0.9.1 tqdm/4.41.0 CPython/3.8.1

File hashes

Hashes for tomotopy-0.5.0-cp34-cp34m-manylinux1_x86_64.whl
Algorithm Hash digest
SHA256 a51c49eb47203a58988839775648b2ae88a197d5da349c39b133ae3edaff772a
MD5 2a0e16e34fe249fb71762c27569879f8
BLAKE2b-256 887f3825b34f2eb4eac9f269daa7a322188a5963ec65ba1c91b2a61955e3de11

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