Metadata-Version: 2.1
Name: textnets
Version: 0.4.9
Summary: Automated text analysis with networks
Home-page: https://textnets.readthedocs.io
Author: John D. Boy
Author-email: jboy@bius.moe
License: GNU General Public License v3
Keywords: textnets
Platform: UNKNOWN
Classifier: Development Status :: 3 - Alpha
Classifier: Intended Audience :: Science/Research
Classifier: License :: OSI Approved :: GNU General Public License v3 (GPLv3)
Classifier: Natural Language :: English
Classifier: Programming Language :: Python :: 3 :: Only
Classifier: Programming Language :: Python :: 3.8
Classifier: Programming Language :: Python :: 3.9
Classifier: Topic :: Scientific/Engineering :: Visualization
Classifier: Topic :: Sociology
Requires-Python: >=3.7
Requires-Dist: Click (>=7.0)
Requires-Dist: pandas (==1.0.4)
Requires-Dist: python-igraph (==0.8.2)
Requires-Dist: spacy (==2.3.0)
Requires-Dist: scipy (==1.4.1)
Requires-Dist: toolz (==0.10.0)
Requires-Dist: leidenalg (==0.8.0)
Requires-Dist: typing-extensions ; python_version<'3.8'
Requires-Dist: cached-property ; python_version<'3.8'
Provides-Extra: dev
Requires-Dist: pip (==19.2.3) ; extra == 'dev'
Requires-Dist: bump2version (==0.5.11) ; extra == 'dev'
Requires-Dist: wheel (==0.33.6) ; extra == 'dev'
Requires-Dist: watchdog (==0.9.0) ; extra == 'dev'
Requires-Dist: flake8 (==3.7.8) ; extra == 'dev'
Requires-Dist: tox (==3.14.0) ; extra == 'dev'
Requires-Dist: coverage (==4.5.4) ; extra == 'dev'
Requires-Dist: twine (==3.1.1) ; extra == 'dev'
Requires-Dist: pytest (==4.6.5) ; extra == 'dev'
Requires-Dist: pytest-runner (==5.1) ; extra == 'dev'
Requires-Dist: black (==19.3b0) ; extra == 'dev'
Requires-Dist: mypy (==0.770) ; extra == 'dev'
Provides-Extra: doc
Requires-Dist: Sphinx (>=3.0.4) ; extra == 'doc'
Requires-Dist: sphinx-rtd-theme ; extra == 'doc'
Requires-Dist: jupyter-sphinx ; extra == 'doc'
Requires-Dist: sphinxcontrib-bibtex ; extra == 'doc'
Provides-Extra: test
Requires-Dist: pytest (>=4.6.5) ; extra == 'test'
Requires-Dist: Click ; extra == 'test'
Requires-Dist: pandas ; extra == 'test'
Requires-Dist: python-igraph ; extra == 'test'
Requires-Dist: spacy ; extra == 'test'
Requires-Dist: scipy ; extra == 'test'
Requires-Dist: toolz ; extra == 'test'
Requires-Dist: leidenalg ; extra == 'test'
Requires-Dist: pycairo ; extra == 'test'

===============================================
Textnets: automated text analysis with networks
===============================================

.. image:: https://travis-ci.org/jboynyc/textnets.svg?branch=master
   :target: https://travis-ci.org/jboynyc/textnets
   :alt: Travis-CI Status

.. image:: https://readthedocs.org/projects/textnets/badge/?version=stable
   :target: https://textnets.readthedocs.io/en/stable/?badge=stable
   :alt: Documentation Status

.. image:: https://pyup.io/repos/github/jboynyc/textnets/shield.svg
   :target: https://pyup.io/repos/github/jboynyc/textnets/
   :alt: Python Dependency Freshness

.. image:: https://zenodo.org/badge/114368834.svg
   :target: https://zenodo.org/badge/latestdoi/114368834
   :alt: Latest DOI so you can please cite this software

**textnets** represents collections of texts as networks of documents and
words. This provides novel possibilities for the visualization and analysis of
texts.

.. figure:: https://textnets.readthedocs.io/en/dev/_static/impeachment-statements.svg
   :alt: Bipartite network graph

   Network of U.S. Senators and words used in their official statements
   following the acquittal vote in the Senate impeachment trial (`source
   <https://www.jboy.space/blog/enemies-foreign-and-partisan.html>`_).

This is a Python implementation of `Chris Bail's textnets package for R`_.  It
is free software under the terms of the GNU General Public License v3.

.. _`Chris Bail's textnets package for R`: https://github.com/cbail/textnets/

The idea underlying **textnets** is presented in this paper:

  Christopher A. Bail, "`Combining natural language processing and network
  analysis to examine how advocacy organizations stimulate conversation on social
  media`__," *Proceedings of the National Academy of Sciences of the United States
  of America* 113, no. 42 (2016), 11823–11828, doi:10.1073/pnas.1607151113.

__ https://doi.org/10.1073/pnas.1607151113

Features
--------

**textnets** builds on the state-of-the-art library `spacy`_ for
natural-language processing and `igraph`_ for network analysis. It uses the
`Leiden algorithm`_ for community detection, which is able to perform community
detection on the bipartite (word–group) network.

.. _`Leiden algorithm`: https://arxiv.org/abs/1810.08473
.. _`igraph`: http://igraph.org/python/
.. _`spacy`: https://spacy.io/

**textnets** seamlessly integrates with `pandas`_ and other parts of Python's
excellent `scientific stack`_. That means that you can use **textnets** in
Jupyter notebooks to analyze and visualize your data!

.. _`pandas`: https://pandas.io/
.. _`scientific stack`: https://numfocus.org/

Read `the documentation <https://textnets.readthedocs.io>`_ to find out more
about the package's features.

Learn More
----------

==================  =============================================
**Documentation**   https://textnets.readthedocs.io/
**Repository**      https://github.com/jboynyc/textnets
**Issues & Ideas**  https://github.com/jboynyc/textnets/issues
**PyPI**            https://pypi.org/project/textnets/
**DOI**             `10.5281/zenodo.3866676 <https://doi.org/10.5281/zenodo.3866676>`_
==================  =============================================


