InPhO Topic Explorer and Hypershelf
===================================
|GitHub license| |PyPI|
The InPhO Topic Explorer provides an integrated system for text modeling
making it simple to go from a set of documents to an interactive
visualization of LDA topic models generated using the `InPhO VSM
module <http://github.com/inpho/vsm/>`__. More advanced analysis is made
possible by a built-in pipeline to Jupyter (iPython) notebooks.
Live demos trained on the Stanford Encyclopedia of Philosophy, a
selection of books from the HathiTrust Digital Library, and the original
LDA training set of Associated Press articles are available at
`https://www.hypershelf.org <https://www.hypershelf.org/>`__.
The Hypershelf provides an interactive, document-centered visualization
of the topic models. Each document is represented by a multi-colored,
horizontal bar representing the overall topic distribution for the
document, with different colors representing the topics. The relative
lengths of each segment of the bar indicates the weight of the topic in
that document. The total width of each row indicates similarity to the
focal topic or document, measured by the quantity sim(doc) = 1 –
JSD(doc, focus entity), where JSD is the Jensen-Shannon distance between
the word probability distributions of each item. Each topic’s label and
color is arbitrarily assigned, but is consistent across articles in the
browser.
Display options include topic normalization, alphabetical sort and topic
sort. By normalizing topics, the combined width of each bar expands so
that topic weights per document can be compared. By clicking a topic,
the documents will reorder acoording to that topic’s weight and topic
bars will reorder according to the topic weights in the highest weighted
document. When a topic is selected, clicking “Top Documents for [Topic]”
will take you to a new page showing the most similar documents to that
topic’s word distribution. The original sort order can be restored with
the “Reset Topic Sort” button.
Installation
------------
There are two types of install: Default and Developer. Currently we are
debugging the Windows Default installation. Before installing, Mac users
should install `XCode from
Apple <https://developer.apple.com/xcode/downloads/>`__ and Windows
users should install a Python compiler such as `Microsoft Visual C_\_
Compiler <https://www.microsoft.com/en-us/download/details.aspx?id=44266>`__
**Note:** If you attempt to install this while connected to the Internet
by way of a restricted network (such as eduroam) you may experience
difficulty. Our pypi server requires port 8080 to be accessible, and
this is sometimes blocked on public networks.
**Note:** This package is currently tested with Python 3.12. The most
recent build working with Python 2.7 is 1.0b227.
Default Install (Windows users should use Developer Install until further notice)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
1. Go to the `Anaconda website <http://continuum.io/downloads>`__ and
choose the Python 3.7 Distribution. (Windows users: during
installation, during “Advanced Options” choose “Add Anaconda to my
PATH environment variable” and don’t worry about the warning.)
2. Open a Terminal (Mac and Linux) or PowerShell (Windows).
3. Run ``pip install --pre topicexplorer``.
**Note:** ``--pre`` has *two* ``-`` characters. When the ``1.0``
release happens, ``--pre`` will no longer be necessary.
4. Test installation by typing ``topicexplorer -h`` to print usage
instructions.
Developer Install
~~~~~~~~~~~~~~~~~
1. `Set up Git <https://help.github.com/articles/set-up-git/>`__
2. Install the `Anaconda Python 3.7
Distribution <https://www.anaconda.com/distribution/#download-section>`__.
3. Open a terminal and run
``pip install --src . -e git+https://github.com/inpho/topic-explorer#egg=topicexplorer``
4. Test installation by typing ``topicexplorer -h`` to print usage
instructions.
Usage
-----
.. figure:: http://inphodata.cogs.indiana.edu/img/workflow.png
:alt: Workflow
Workflow
1. Initialize the Topic Explorer on a file, folder of text files, or
folder of folders:
::
topicexplorer init PATH
This will generate a configuration file called *CONFIG*.
2. Train LDA models using the on-screen instructions:
::
topicexplorer train CONFIG
3. Launch the topic explorer:
::
topicexplorer launch CONFIG
4. Press Ctrl+C to quit all servers.
See the sample configuration files in the ``config`` directory for
examples of how to extend the topic explorer.
Bug Reports
-----------
Please report issues on the `issue
tracker <http://github.com/inpho/topic-explorer/issues>`__ or contact
Jaimie directly (contact info at bottom of README).
In your report, please include the error message, the command you ran,
your operating system, and the output of the command
``topicexplorer version``. This will ensure that we can quickly diagnose
your issue.
**Note:** When using a developer install ``topicexplorer version`` will
print in the following format: ``1.0b39-1-g7c834bf-dirty``. \* The first
part is the most recent release tag. (``1.0b39``) \* The second part is
the number of commits since the tag. (``1``) \* The next is the hash of
the most recent commit. (``g7c834bf``) \* The optional ``-dirty`` flag
indicates that the local repository has uncommitted changes.
Alternate Installs
------------------
We highly recommend using the Anaconda Python 3.7 Distribution using the
straightforward instructions provided above. While we continue to
support Python 2.7 installations for the time being, this will not
continue indefinitely.
Below we offer guidance for installing the Python 2.7 version alongside
Python 3 using Anaconda, and for installing without Anaconda, with notes
on dependencies.
Python 2 alongside Python 3
~~~~~~~~~~~~~~~~~~~~~~~~~~~
The InPhO Topic Explorer is compatible with Python 2.7. Anaconda for
Python 3.6 makes it possible to set up a side-by-side install of Python
2.7 so you can use both Python 3.7 and Python 2.7.
1. Install the `Anaconda Python 3.7
Distribution <https://www.anaconda.com/distribution/#download-section>`__.
2. Open a terminal and run ``conda create -n py27 python=2.7 anaconda``.
This will create a Python 2.7 Anaconda environment.
3. Run ``source activate py27`` to activate the Python 2.7 bindings. You
should see ``(py27)`` before your prompt.
4. Use either the Default or Developer `install
instructions <#installation>`__, skipping the step to install
Anaconda Python 2.7.
5. Run ``source deactivate`` to deactivate Python 2.7 bindings and
reactivate Python 3.7 bindings. Note that the ``topicexplorer``
command will only work when the Python 2.7 bindings are activated.
Non-Anaconda Install
~~~~~~~~~~~~~~~~~~~~
- **Miniconda**
1. If using Miniconda (a small version of Anaconda), the necessary
packages are:
``conda install numpy scipy scikit-learn nltk matplotplib ipython unidecode wget decorator chardet ujson requests notebook``
- **Debian/Ubuntu**
1. ``sudo apt-get-install build-essential python-dev python-pip python-numpy python-matplotlib python-scipy python-ipython``
2. `IPython Notebooks <http://ipython.org/install.html>`__
- **Windows**
1. Install `Microsoft Visual C++ Compiler for Python
2.7 <http://www.microsoft.com/en-us/download/details.aspx?id=44266>`__
2. Install the Python packages below:
- `Numpy <http://sourceforge.net/projects/numpy/files/NumPy/>`__
- `Scipy <http://sourceforge.net/projects/scipy/files/scipy/>`__
- `matplotlib <http://matplotlib.org/downloads.html>`__
- `IPython Notebooks <http://ipython.org/install.html>`__
Deployment
----------
The Topic Explorer includes a simple HTTP server through the Bottle Web
Framework. This simple server is what the ``topicexplorer launch`` and
``topicexplorer serve`` commands use.
If you wish to host a high-traffic version of InPhO-TE, we recommend
using the Apache Web Server and the mod_wsgi module. This infrastructure
powers the demos at [http://inphodata.cogs.indiana.edu/] and is readily
available on cloud compute platforms. Details for that configuration are
below.
If you have deployed InPhO-TE using another infrastructure, please
submit a pull request with the documentation. The function
``topicexplorer.server.create_app`` will make a WSGI-compliant
application for use with any WSGI-compliant server.
mod_wsgi
~~~~~~~~
1. Install apache2 with mod_wsgi:
``apt-get install apache2 libapache2-mod-wsgi``
2. Create ``/etc/apache2/sites-available/topicexplorer.conf`` [you will
need to fill in your local paths where specified]:
::
<VirtualHost *:80>
ServerName localhost
ServerAdmin admin@localhost
ErrorLog /var/www/topicexplorer/log/error.log
CustomLog /var/www/topicexplorer/log/access.log combined
WSGIDaemonProcess topicexplorer user=www-data group=www-data \
python-path=[fill in; e.g. /home/jaimie/anaconda3/lib/python3.7/site-packages/]
WSGIScriptAlias /ap /var/www/topicexplorer/app.wsgi
<Directory /var/www/topicexplorer>
WSGIProcessGroup topicexplorer
WSGIApplicationGroup %{GLOBAL}
Options All
AllowOverride All
Require all granted
</Directory>
</VirtualHost>
3. Create the application directory:
``sudo mkdir -p /var/www/topicexplorer/``
4. Create the log directory:
``sudo mkdir -p /var/www/topicexplorer/log``
5. Create the www directory:
``sudo mkdir -p /var/www/topicexplorer/www``
6. Create the config directory:
``sudo mkdir -p /var/www/topicexplorer/config``
7. Add a symlink from ``/var/www/topicexplorer/`` to your local
installation of ``app.wsgi``. For example:
``ln -s /home/jaimie/workspace/topic-explorer/app.wsgi /var/www/topicexplorer/app.wsgi``
8. Add a symlink to your ``.ini`` files in the
``/var/www/topicexplorer/config`` directory. For example, if working
with the AP corpus trained in my home directory:
``ln -s /home/jaimie/ap.ini /var/www/topicexplorer/config/ap.ini``
9. Enable the site: ``sudo a2ensite topicexplorer``
10. Restart apache: ``sudo apache2ctl restart``
11. Test the site at [http://localhost/]. If an HTTP 500 Internal Server
Error is returned, check the log in
``/var/www/topicexplorer/log/error.log``.
Caching
^^^^^^^
Credit to `Digital
Ocean <https://www.digitalocean.com/community/tutorials/how-to-configure-apache-content-caching-on-ubuntu-14-04>`__
for a very helpful guide.
To enable caching: 1. Modify
``/etc/apache2/sites-available/topicexplorer.conf`` to add Cache
directives before the closing ``</VirtualHost>`` tag:
::
<VirtualHost *:80>
# ...
CacheQuickHandler off
CacheLock on
CacheLockPath /tmp/mod_cache-lock
CacheLockMaxAge 5
CacheIgnoreHeaders Set-Cookie
<Location />
CacheEnable disk
CacheHeader on
CacheDefaultExpire 600
CacheMaxExpire 86400
CacheLastModifiedFactor 0.5
</Location>
</VirtualHost>
2. Enable caching modules:
``sudo a2enmod cache && sudo a2enmod cache_disk``
3. Restart apache: ``sudo apache2ctl restart``
Server Status
^^^^^^^^^^^^^
The following snippet may help debug issues, enabling you to visit
[http://localhost/server-status] to find more details. Remove these
lines for production environments.
::
<VirtualHost *:80>
# ...
<Location /server-status>
SetHandler server-status
Order Deny,Allow
Allow from all
</Location>
</VirtualHost>
Licensing and Attribution
-------------------------
The project is released under an `Open-Source Initiative-approved MIT
License <http://opensource.org/licenses/MIT>`__.
The InPhO Topic Explorer may be cited as:
- Jaimie Murdock and Colin Allen. (2015) *Visualization Techniques for
Topic Model Checking* in Proceedings of the 29th AAAI Conference on
Artificial Intelligence (AAAI-15). Austin, Texas, USA, January 25-29,
2015. http://inphoproject.org/papers/
A `BibTeX
file <https://github.com/inpho/topic-explorer/blob/master/citation.bib>`__
is included in the repository for easier attribution.
Collaboration and Maintenance
-----------------------------
The InPhO Topic Explorer is maintained by `Jaimie
Murdock <http://jamram.net/>`__:
- E-mail: jaimie.murdock@gmail.com
- Twitter: `@JaimieMurdock <http://twitter.com/JaimieMurdock>`__
- GitHub: `@JaimieMurdock <http://github.com/JaimieMurdock>`__
- Homepage: http://jamram.net/
Please report issues on the `issue
tracker <http://github.com/inpho/topic-explorer/issues>`__ or contact
Jaimie directly.
We are open to collaboration! If there’s a feature you’d like to see
implemented, please contact us and we can lend advice and technical
assistance.
.. |GitHub license| image:: https://img.shields.io/badge/license-MIT-blue.svg
:target: https://github.com/inpho/topic-explorer/blob/master/LICENSE.txt
.. |PyPI| image:: https://img.shields.io/pypi/v/topicexplorer.svg
:target: https://pypi.python.org/pypi/topicexplorer
Raw data
{
"_id": null,
"home_page": "https://www.hypershelf.org",
"name": "topicexplorer",
"maintainer": "Jaimie Murdock",
"docs_url": null,
"requires_python": null,
"maintainer_email": "jaimie@inphoproject.org",
"keywords": "topic modeling, lda, visualization",
"author": "The Indiana Philosophy Ontology (InPhO) Project",
"author_email": "inpho@indiana.edu",
"download_url": "https://files.pythonhosted.org/packages/52/cf/546ee9e3585eba43b85ed09f4795f8deb3a673fdd8b5017702e6f8ddd27b/topicexplorer-1.0b231.tar.gz",
"platform": null,
"description": "InPhO Topic Explorer and Hypershelf\n===================================\n\n|GitHub license| |PyPI|\n\nThe InPhO Topic Explorer provides an integrated system for text modeling\nmaking it simple to go from a set of documents to an interactive\nvisualization of LDA topic models generated using the `InPhO VSM\nmodule <http://github.com/inpho/vsm/>`__. More advanced analysis is made\npossible by a built-in pipeline to Jupyter (iPython) notebooks.\n\nLive demos trained on the Stanford Encyclopedia of Philosophy, a\nselection of books from the HathiTrust Digital Library, and the original\nLDA training set of Associated Press articles are available at\n`https://www.hypershelf.org <https://www.hypershelf.org/>`__.\n\nThe Hypershelf provides an interactive, document-centered visualization\nof the topic models. Each document is represented by a multi-colored,\nhorizontal bar representing the overall topic distribution for the\ndocument, with different colors representing the topics. The relative\nlengths of each segment of the bar indicates the weight of the topic in\nthat document. The total width of each row indicates similarity to the\nfocal topic or document, measured by the quantity sim(doc) = 1 \u2013\nJSD(doc, focus entity), where JSD is the Jensen-Shannon distance between\nthe word probability distributions of each item. Each topic\u2019s label and\ncolor is arbitrarily assigned, but is consistent across articles in the\nbrowser.\n\nDisplay options include topic normalization, alphabetical sort and topic\nsort. By normalizing topics, the combined width of each bar expands so\nthat topic weights per document can be compared. By clicking a topic,\nthe documents will reorder acoording to that topic\u2019s weight and topic\nbars will reorder according to the topic weights in the highest weighted\ndocument. When a topic is selected, clicking \u201cTop Documents for [Topic]\u201d\nwill take you to a new page showing the most similar documents to that\ntopic\u2019s word distribution. The original sort order can be restored with\nthe \u201cReset Topic Sort\u201d button.\n\nInstallation\n------------\n\nThere are two types of install: Default and Developer. Currently we are\ndebugging the Windows Default installation. Before installing, Mac users\nshould install `XCode from\nApple <https://developer.apple.com/xcode/downloads/>`__ and Windows\nusers should install a Python compiler such as `Microsoft Visual C_\\_\nCompiler <https://www.microsoft.com/en-us/download/details.aspx?id=44266>`__\n\n**Note:** If you attempt to install this while connected to the Internet\nby way of a restricted network (such as eduroam) you may experience\ndifficulty. Our pypi server requires port 8080 to be accessible, and\nthis is sometimes blocked on public networks.\n\n**Note:** This package is currently tested with Python 3.12. The most\nrecent build working with Python 2.7 is 1.0b227.\n\nDefault Install (Windows users should use Developer Install until further notice)\n~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n\n1. Go to the `Anaconda website <http://continuum.io/downloads>`__ and\n choose the Python 3.7 Distribution. (Windows users: during\n installation, during \u201cAdvanced Options\u201d choose \u201cAdd Anaconda to my\n PATH environment variable\u201d and don\u2019t worry about the warning.)\n\n2. Open a Terminal (Mac and Linux) or PowerShell (Windows).\n\n3. Run ``pip install --pre topicexplorer``.\n\n **Note:** ``--pre`` has *two* ``-`` characters. When the ``1.0``\n release happens, ``--pre`` will no longer be necessary.\n\n4. Test installation by typing ``topicexplorer -h`` to print usage\n instructions.\n\nDeveloper Install\n~~~~~~~~~~~~~~~~~\n\n1. `Set up Git <https://help.github.com/articles/set-up-git/>`__\n2. Install the `Anaconda Python 3.7\n Distribution <https://www.anaconda.com/distribution/#download-section>`__.\n3. Open a terminal and run\n ``pip install --src . -e git+https://github.com/inpho/topic-explorer#egg=topicexplorer``\n4. Test installation by typing ``topicexplorer -h`` to print usage\n instructions.\n\nUsage\n-----\n\n.. figure:: http://inphodata.cogs.indiana.edu/img/workflow.png\n :alt: Workflow\n\n Workflow\n\n1. Initialize the Topic Explorer on a file, folder of text files, or\n folder of folders:\n\n ::\n\n topicexplorer init PATH\n\n This will generate a configuration file called *CONFIG*.\n\n2. Train LDA models using the on-screen instructions:\n\n ::\n\n topicexplorer train CONFIG\n\n3. Launch the topic explorer:\n\n ::\n\n topicexplorer launch CONFIG\n\n4. Press Ctrl+C to quit all servers.\n\nSee the sample configuration files in the ``config`` directory for\nexamples of how to extend the topic explorer.\n\nBug Reports\n-----------\n\nPlease report issues on the `issue\ntracker <http://github.com/inpho/topic-explorer/issues>`__ or contact\nJaimie directly (contact info at bottom of README).\n\nIn your report, please include the error message, the command you ran,\nyour operating system, and the output of the command\n``topicexplorer version``. This will ensure that we can quickly diagnose\nyour issue.\n\n**Note:** When using a developer install ``topicexplorer version`` will\nprint in the following format: ``1.0b39-1-g7c834bf-dirty``. \\* The first\npart is the most recent release tag. (``1.0b39``) \\* The second part is\nthe number of commits since the tag. (``1``) \\* The next is the hash of\nthe most recent commit. (``g7c834bf``) \\* The optional ``-dirty`` flag\nindicates that the local repository has uncommitted changes.\n\nAlternate Installs\n------------------\n\nWe highly recommend using the Anaconda Python 3.7 Distribution using the\nstraightforward instructions provided above. While we continue to\nsupport Python 2.7 installations for the time being, this will not\ncontinue indefinitely.\n\nBelow we offer guidance for installing the Python 2.7 version alongside\nPython 3 using Anaconda, and for installing without Anaconda, with notes\non dependencies.\n\nPython 2 alongside Python 3\n~~~~~~~~~~~~~~~~~~~~~~~~~~~\n\nThe InPhO Topic Explorer is compatible with Python 2.7. Anaconda for\nPython 3.6 makes it possible to set up a side-by-side install of Python\n2.7 so you can use both Python 3.7 and Python 2.7.\n\n1. Install the `Anaconda Python 3.7\n Distribution <https://www.anaconda.com/distribution/#download-section>`__.\n2. Open a terminal and run ``conda create -n py27 python=2.7 anaconda``.\n This will create a Python 2.7 Anaconda environment.\n3. Run ``source activate py27`` to activate the Python 2.7 bindings. You\n should see ``(py27)`` before your prompt.\n4. Use either the Default or Developer `install\n instructions <#installation>`__, skipping the step to install\n Anaconda Python 2.7.\n5. Run ``source deactivate`` to deactivate Python 2.7 bindings and\n reactivate Python 3.7 bindings. Note that the ``topicexplorer``\n command will only work when the Python 2.7 bindings are activated.\n\nNon-Anaconda Install\n~~~~~~~~~~~~~~~~~~~~\n\n- **Miniconda**\n\n 1. If using Miniconda (a small version of Anaconda), the necessary\n packages are:\n ``conda install numpy scipy scikit-learn nltk matplotplib ipython unidecode wget decorator chardet ujson requests notebook``\n\n- **Debian/Ubuntu**\n\n 1. ``sudo apt-get-install build-essential python-dev python-pip python-numpy python-matplotlib python-scipy python-ipython``\n\n 2. `IPython Notebooks <http://ipython.org/install.html>`__\n\n- **Windows**\n\n 1. Install `Microsoft Visual C++ Compiler for Python\n 2.7 <http://www.microsoft.com/en-us/download/details.aspx?id=44266>`__\n\n 2. Install the Python packages below:\n\n - `Numpy <http://sourceforge.net/projects/numpy/files/NumPy/>`__\n - `Scipy <http://sourceforge.net/projects/scipy/files/scipy/>`__\n - `matplotlib <http://matplotlib.org/downloads.html>`__\n - `IPython Notebooks <http://ipython.org/install.html>`__\n\nDeployment\n----------\n\nThe Topic Explorer includes a simple HTTP server through the Bottle Web\nFramework. This simple server is what the ``topicexplorer launch`` and\n``topicexplorer serve`` commands use.\n\nIf you wish to host a high-traffic version of InPhO-TE, we recommend\nusing the Apache Web Server and the mod_wsgi module. This infrastructure\npowers the demos at [http://inphodata.cogs.indiana.edu/] and is readily\navailable on cloud compute platforms. Details for that configuration are\nbelow.\n\nIf you have deployed InPhO-TE using another infrastructure, please\nsubmit a pull request with the documentation. The function\n``topicexplorer.server.create_app`` will make a WSGI-compliant\napplication for use with any WSGI-compliant server.\n\nmod_wsgi\n~~~~~~~~\n\n1. Install apache2 with mod_wsgi:\n ``apt-get install apache2 libapache2-mod-wsgi``\n\n2. Create ``/etc/apache2/sites-available/topicexplorer.conf`` [you will\n need to fill in your local paths where specified]:\n\n ::\n\n <VirtualHost *:80>\n ServerName localhost\n ServerAdmin admin@localhost\n\n ErrorLog /var/www/topicexplorer/log/error.log\n CustomLog /var/www/topicexplorer/log/access.log combined\n\n WSGIDaemonProcess topicexplorer user=www-data group=www-data \\\n python-path=[fill in; e.g. /home/jaimie/anaconda3/lib/python3.7/site-packages/]\n WSGIScriptAlias /ap /var/www/topicexplorer/app.wsgi\n\n <Directory /var/www/topicexplorer>\n WSGIProcessGroup topicexplorer\n WSGIApplicationGroup %{GLOBAL}\n Options All\n AllowOverride All\n Require all granted\n </Directory>\n </VirtualHost>\n\n3. Create the application directory:\n ``sudo mkdir -p /var/www/topicexplorer/``\n\n4. Create the log directory:\n ``sudo mkdir -p /var/www/topicexplorer/log``\n\n5. Create the www directory:\n ``sudo mkdir -p /var/www/topicexplorer/www``\n\n6. Create the config directory:\n ``sudo mkdir -p /var/www/topicexplorer/config``\n\n7. Add a symlink from ``/var/www/topicexplorer/`` to your local\n installation of ``app.wsgi``. For example:\n ``ln -s /home/jaimie/workspace/topic-explorer/app.wsgi /var/www/topicexplorer/app.wsgi``\n\n8. Add a symlink to your ``.ini`` files in the\n ``/var/www/topicexplorer/config`` directory. For example, if working\n with the AP corpus trained in my home directory:\n ``ln -s /home/jaimie/ap.ini /var/www/topicexplorer/config/ap.ini``\n\n9. Enable the site: ``sudo a2ensite topicexplorer``\n\n10. Restart apache: ``sudo apache2ctl restart``\n\n11. Test the site at [http://localhost/]. If an HTTP 500 Internal Server\n Error is returned, check the log in\n ``/var/www/topicexplorer/log/error.log``.\n\nCaching\n^^^^^^^\n\nCredit to `Digital\nOcean <https://www.digitalocean.com/community/tutorials/how-to-configure-apache-content-caching-on-ubuntu-14-04>`__\nfor a very helpful guide.\n\nTo enable caching: 1. Modify\n``/etc/apache2/sites-available/topicexplorer.conf`` to add Cache\ndirectives before the closing ``</VirtualHost>`` tag:\n\n::\n\n <VirtualHost *:80>\n # ...\n\n CacheQuickHandler off\n\n CacheLock on\n CacheLockPath /tmp/mod_cache-lock\n CacheLockMaxAge 5\n\n CacheIgnoreHeaders Set-Cookie\n\n <Location />\n CacheEnable disk\n CacheHeader on\n\n CacheDefaultExpire 600\n CacheMaxExpire 86400\n CacheLastModifiedFactor 0.5\n </Location>\n </VirtualHost>\n\n2. Enable caching modules:\n ``sudo a2enmod cache && sudo a2enmod cache_disk``\n3. Restart apache: ``sudo apache2ctl restart``\n\nServer Status\n^^^^^^^^^^^^^\n\nThe following snippet may help debug issues, enabling you to visit\n[http://localhost/server-status] to find more details. Remove these\nlines for production environments.\n\n::\n\n <VirtualHost *:80>\n # ...\n\n <Location /server-status>\n SetHandler server-status\n \n Order Deny,Allow\n Allow from all\n </Location>\n </VirtualHost>\n\nLicensing and Attribution\n-------------------------\n\nThe project is released under an `Open-Source Initiative-approved MIT\nLicense <http://opensource.org/licenses/MIT>`__.\n\nThe InPhO Topic Explorer may be cited as:\n\n- Jaimie Murdock and Colin Allen. (2015) *Visualization Techniques for\n Topic Model Checking* in Proceedings of the 29th AAAI Conference on\n Artificial Intelligence (AAAI-15). Austin, Texas, USA, January 25-29,\n 2015. http://inphoproject.org/papers/\n\nA `BibTeX\nfile <https://github.com/inpho/topic-explorer/blob/master/citation.bib>`__\nis included in the repository for easier attribution.\n\nCollaboration and Maintenance\n-----------------------------\n\nThe InPhO Topic Explorer is maintained by `Jaimie\nMurdock <http://jamram.net/>`__:\n\n- E-mail: jaimie.murdock@gmail.com\n- Twitter: `@JaimieMurdock <http://twitter.com/JaimieMurdock>`__\n- GitHub: `@JaimieMurdock <http://github.com/JaimieMurdock>`__\n- Homepage: http://jamram.net/\n\nPlease report issues on the `issue\ntracker <http://github.com/inpho/topic-explorer/issues>`__ or contact\nJaimie directly.\n\nWe are open to collaboration! If there\u2019s a feature you\u2019d like to see\nimplemented, please contact us and we can lend advice and technical\nassistance.\n\n.. |GitHub license| image:: https://img.shields.io/badge/license-MIT-blue.svg\n :target: https://github.com/inpho/topic-explorer/blob/master/LICENSE.txt\n.. |PyPI| image:: https://img.shields.io/pypi/v/topicexplorer.svg\n :target: https://pypi.python.org/pypi/topicexplorer\n",
"bugtrack_url": null,
"license": "MIT License",
"summary": "InPhO Topic Explorer",
"version": "1.0b231",
"project_urls": {
"Download": "http://github.com/inpho/topic-explorer",
"Homepage": "https://www.hypershelf.org"
},
"split_keywords": [
"topic modeling",
" lda",
" visualization"
],
"urls": [
{
"comment_text": null,
"digests": {
"blake2b_256": "e5ca9205909e9155968174ec688b31c1211f75a52983ac0db17d02cb310fbb2a",
"md5": "2c6fb1dcff13ed498110b6d2c3a6c953",
"sha256": "b7da1c6ca5e527433aaea7834afed509da3ded00be946c240747b95fa352319a"
},
"downloads": -1,
"filename": "topicexplorer-1.0b231-py2.py3-none-any.whl",
"has_sig": false,
"md5_digest": "2c6fb1dcff13ed498110b6d2c3a6c953",
"packagetype": "bdist_wheel",
"python_version": "py2.py3",
"requires_python": null,
"size": 2188444,
"upload_time": "2025-02-17T00:50:26",
"upload_time_iso_8601": "2025-02-17T00:50:26.576530Z",
"url": "https://files.pythonhosted.org/packages/e5/ca/9205909e9155968174ec688b31c1211f75a52983ac0db17d02cb310fbb2a/topicexplorer-1.0b231-py2.py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "52cf546ee9e3585eba43b85ed09f4795f8deb3a673fdd8b5017702e6f8ddd27b",
"md5": "239b7fc8b7dec97f45141179531c30c0",
"sha256": "099ea225becd5740d7be4a67bad7ca44257cc4c41cbaec20a2d6543161096fd5"
},
"downloads": -1,
"filename": "topicexplorer-1.0b231.tar.gz",
"has_sig": false,
"md5_digest": "239b7fc8b7dec97f45141179531c30c0",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 2204914,
"upload_time": "2025-02-17T00:50:33",
"upload_time_iso_8601": "2025-02-17T00:50:33.621242Z",
"url": "https://files.pythonhosted.org/packages/52/cf/546ee9e3585eba43b85ed09f4795f8deb3a673fdd8b5017702e6f8ddd27b/topicexplorer-1.0b231.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2025-02-17 00:50:33",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "inpho",
"github_project": "topic-explorer",
"travis_ci": true,
"coveralls": true,
"github_actions": false,
"appveyor": true,
"requirements": [
{
"name": "bottle",
"specs": [
[
"<",
"0.13.0"
],
[
">=",
"0.12.0"
]
]
},
{
"name": "brewer2mpl",
"specs": [
[
">=",
"1.4.0"
],
[
"<",
"1.5.0"
]
]
},
{
"name": "decorator",
"specs": [
[
">=",
"4.0.5"
]
]
},
{
"name": "future",
"specs": [
[
">=",
"0.16.0"
]
]
},
{
"name": "langdetect",
"specs": [
[
">=",
"1.0.0"
]
]
},
{
"name": "matplotlib",
"specs": [
[
">=",
"2.0.0"
]
]
},
{
"name": "mock",
"specs": [
[
">=",
"2.0.0"
]
]
},
{
"name": "nltk",
"specs": [
[
">=",
"3.0.0"
],
[
"<",
"4.0.0"
]
]
},
{
"name": "notebook",
"specs": [
[
">=",
"4.0.0"
]
]
},
{
"name": "numpy",
"specs": [
[
"<",
"2.0.0"
]
]
},
{
"name": "Paste",
"specs": [
[
"==",
"2.0.3"
]
]
},
{
"name": "pdfminer.six",
"specs": [
[
"==",
"20170720"
]
]
},
{
"name": "profilehooks",
"specs": [
[
">=",
"1.8.0"
]
]
},
{
"name": "progressbar2",
"specs": [
[
">=",
"3.18.0"
]
]
},
{
"name": "pybtex",
"specs": [
[
">=",
"0.21"
]
]
},
{
"name": "pystache",
"specs": [
[
">=",
"0.5.4"
]
]
},
{
"name": "requests",
"specs": [
[
">=",
"2.14.2"
]
]
},
{
"name": "scikit_learn",
"specs": [
[
">=",
"0.18.1"
]
]
},
{
"name": "scipy",
"specs": [
[
">=",
"0.19.0"
]
]
},
{
"name": "snakeviz",
"specs": [
[
">=",
"0.4.0"
]
]
},
{
"name": "sortedcontainers",
"specs": [
[
">=",
"1.5.7"
]
]
},
{
"name": "ujson",
"specs": [
[
">=",
"1.35"
]
]
},
{
"name": "Unidecode",
"specs": []
},
{
"name": "vsm",
"specs": [
[
">=",
"0.4.15"
]
]
},
{
"name": "waitress",
"specs": [
[
">=",
"1.0.0"
]
]
},
{
"name": "webtest",
"specs": [
[
">=",
"2.0.29"
]
]
},
{
"name": "wget",
"specs": [
[
">=",
"3.2"
]
]
},
{
"name": "configparser",
"specs": [
[
"==",
"3.5.0"
]
]
},
{
"name": "futures",
"specs": [
[
">=",
"3.0.5"
]
]
},
{
"name": "importlib",
"specs": [
[
"==",
"1.0.4"
]
]
},
{
"name": "pywin32",
"specs": [
[
">=",
"220"
]
]
},
{
"name": "win_unicode_console",
"specs": []
}
],
"lcname": "topicexplorer"
}