twitterexplorer


Nametwitterexplorer JSON
Version 0.7.1 PyPI version JSON
download
home_pagehttp://github.com/pournaki/twitter-explorer
SummaryA Python tool for interactive network visualizations of Twitter data.
upload_time2024-04-28 09:03:13
maintainerNone
docs_urlNone
authorArmin Pournaki
requires_python>=3.7
licenseGPLv3
keywords networks social media
VCS
bugtrack_url
requirements streamlit tweepy pandas python-igraph twitwi twarc louvain ebbe
Travis-CI No Travis.
coveralls test coverage No coveralls.
            [![twitter explorer][title-img]][title-url]<br/>

An interface to explore Twitter data through interactive network visualizations.

## Features

The **twitter explorer** helps computational social scientists to:

- *Collect* Twitter data by providing a visual interface for the Twitter Search API (v2 Standard, v2 Academic Research, v1.1 Standard).

- *Transform* the collected data into networks: retweet/quote/mention/reply networks capturing different interactions between users and hashtag networks revealing the semantic layer of the debate. 

- *Explore* these networks interactively by using state-of-the-art graph visualizations. 

## Quick start
The **twitter explorer** requires Python ≥ 3.7. If you meet this requirement, open a terminal and run:
<!-- in your preferred folder to clone the repo and install the required libraries: -->
```
$ pip install twitterexplorer
```
You can now run the collector and the visualizer that will open in a new browser tab:
```
$ twitterexplorer collector
$ twitterexplorer visualizer
```
Since v.0.6.0, the twitter-explorer can also be used as a Python package. Please have a look at the examples [here](./examples/).

## Getting started
Please refer to the [documentation](./doc/DOCUMENTATION.md) for detailed installation instructions and how to use the **twitter explorer**.

## Screenshots
![explorer][explorer-img]<br/>

## Data protection
The **twitter explorer** facilitates the collection of data through the Twitter Search API. Please respect the [developer agreement](https://developer.twitter.com/en/developer-terms/agreement-and-policy) when handling the collected data. Our interface includes a privacy option that allows to remove all accessible metadata of users that have less than 5000 followers (no public figures) from the interactive visualization in order to comply with current privacy standards. By only displaying tweets that still exist at the time of exploration, the interface complies with [Twitter's display requirements](https://developer.twitter.com/en/developer-terms/display-requirements). 

## Future development
- Add progress bar for collector
- Incorporate dynamics of the retweet networks
- Add different graph measures

## Common errors
**Error:** `StreamlitAPIException` due to an outdated version of Streamlit  
**Fix:** `pip3 install streamlit --upgrade`

**Error:** `AttributeError: module 'google.protobuf.descriptor' has no attribute '_internal_create_key'`  
**Fix:** `pip3 install protobuf --upgrade`

## How to cite
Pournaki, A., Gaisbauer, F., Banisch, S., & Olbrich, E. (2021). The Twitter Explorer: A Framework for Observing Twitter through Interactive Networks. Journal of Digital Social Research, 3(1), 106–118. [https://doi.org/10.33621/jdsr.v3i1.64](https://doi.org/10.33621/jdsr.v3i1.64)

## Related software
- [gazouilloire](https://github.com/medialab/gazouilloire)
  A command line tool for long-term tweets collection, including the possibility of automatic recursive retrieval within the corpus of all tweets to which collected tweets are answering
- [minet](https://github.com/medialab/minet)
  A command line tool for scraping the public Twitter API (among other things). As of v0.4, the minet file format is compatible with the twitter-explorer!
- [DMI-TCAT](https://github.com/digitalmethodsinitiative/dmi-tcat)  
  A tool for streaming real-time tweets and storing them in an SQL database
- [twarc](https://github.com/DocNow/twarc)  
  Another CLI for Twitter search/streaming API

## About 
The idea for the twitter explorer originated from fruitful discussions in the context of the [Odycceus](https://odycceus.eu) project between [Armin Pournaki](https://pournaki.com), [Felix Gaisbauer](https://www.researchgate.net/profile/Felix_Gaisbauer2), [Sven Banisch](http://universecity.de) and [Eckehard Olbrich](https://www.mis.mpg.de/jjost/members/eckehard-olbrich.html). The tool is designed and developed by Armin Pournaki. 

## Acknowledgements

The **twitter explorer** stands on the shoulders of giants:
- [Streamlit](https://www.streamlit.io/)  
  The frontends of the collector and visualizer are made with Streamlit, a powerful and easily accessible tool to create interactive Python applications.
- [force-graph](https://github.com/vasturiano/force-graph)  
  The interactive graph visualization relies on the force-graph library.
- [igraph](https://igraph.org/python/)  
  All the graph operations in the **twitter explorer** are handled by the Python version of igraph.
- [twarc](https://github.com/DocNow/twarc) and [tweepy](http://www.tweepy.org/)  
  Easy-to-use Python wrappers for Twitter APIs.
- [twitwi](https://github.com/medialab/twitwi)  
  A collection of Twitter-related helper functions for Python.

## Funding
This project has received funding from the European Union’s Horizon 2020 research and innovation programme under grant agreement No 732942.

## License
The **twitter explorer** is licensed under the [GNU GPLV3](https://www.gnu.org/licenses/gpl-3.0.en.html) license.

<!-- logos and links -->
[title-img]: https://raw.githubusercontent.com/pournaki/twitter-explorer/master/doc/img/titlelogo.png
[title-url]: https://twitterexplorer.org
[version-img]:https://img.shields.io/badge/version-0.4-000?style=for-the-badge&?color=ffffff&?logoWidth=100
[version-url]:https://twitterexplorer.org
[python-img]:https://img.shields.io/badge/python-%E2%89%A53.6-000?style=for-the-badge&?color=ffffff
[python-url]:https://www.python.org/downloads/release/python-360/
[license-img]:https://img.shields.io/badge/license-GNU%20GPLv3-000?style=for-the-badge&?color=ffffff
[license-url]:https://www.gnu.org/licenses/gpl-3.0.en.html
[explorer-img]:https://raw.githubusercontent.com/pournaki/twitter-explorer/master/doc/img/explorer.png

            

Raw data

            {
    "_id": null,
    "home_page": "http://github.com/pournaki/twitter-explorer",
    "name": "twitterexplorer",
    "maintainer": null,
    "docs_url": null,
    "requires_python": ">=3.7",
    "maintainer_email": null,
    "keywords": "networks, social media",
    "author": "Armin Pournaki",
    "author_email": null,
    "download_url": "https://files.pythonhosted.org/packages/97/c5/c54c86d4ba53283d7b9a818d3c39a3fe23fe04b6cd5ef81b73c8e76d4c55/twitterexplorer-0.7.1.tar.gz",
    "platform": null,
    "description": "[![twitter explorer][title-img]][title-url]<br/>\n\nAn interface to explore Twitter data through interactive network visualizations.\n\n## Features\n\nThe **twitter explorer** helps computational social scientists to:\n\n- *Collect* Twitter data by providing a visual interface for the Twitter Search API (v2 Standard, v2 Academic Research, v1.1 Standard).\n\n- *Transform* the collected data into networks: retweet/quote/mention/reply networks capturing different interactions between users and hashtag networks revealing the semantic layer of the debate. \n\n- *Explore* these networks interactively by using state-of-the-art graph visualizations. \n\n## Quick start\nThe **twitter explorer** requires Python \u2265 3.7. If you meet this requirement, open a terminal and run:\n<!-- in your preferred folder to clone the repo and install the required libraries: -->\n```\n$ pip install twitterexplorer\n```\nYou can now run the collector and the visualizer that will open in a new browser tab:\n```\n$ twitterexplorer collector\n$ twitterexplorer visualizer\n```\nSince v.0.6.0, the twitter-explorer can also be used as a Python package. Please have a look at the examples [here](./examples/).\n\n## Getting started\nPlease refer to the [documentation](./doc/DOCUMENTATION.md) for detailed installation instructions and how to use the **twitter explorer**.\n\n## Screenshots\n![explorer][explorer-img]<br/>\n\n## Data protection\nThe **twitter explorer** facilitates the collection of data through the Twitter Search API. Please respect the [developer agreement](https://developer.twitter.com/en/developer-terms/agreement-and-policy) when handling the collected data. Our interface includes a privacy option that allows to remove all accessible metadata of users that have less than 5000 followers (no public figures) from the interactive visualization in order to comply with current privacy standards. By only displaying tweets that still exist at the time of exploration, the interface complies with [Twitter's display requirements](https://developer.twitter.com/en/developer-terms/display-requirements). \n\n## Future development\n- Add progress bar for collector\n- Incorporate dynamics of the retweet networks\n- Add different graph measures\n\n## Common errors\n**Error:** `StreamlitAPIException` due to an outdated version of Streamlit  \n**Fix:** `pip3 install streamlit --upgrade`\n\n**Error:** `AttributeError: module 'google.protobuf.descriptor' has no attribute '_internal_create_key'`  \n**Fix:** `pip3 install protobuf --upgrade`\n\n## How to cite\nPournaki, A., Gaisbauer, F., Banisch, S., & Olbrich, E. (2021). The Twitter Explorer: A Framework for Observing Twitter through Interactive Networks. Journal of Digital Social Research, 3(1), 106\u2013118. [https://doi.org/10.33621/jdsr.v3i1.64](https://doi.org/10.33621/jdsr.v3i1.64)\n\n## Related software\n- [gazouilloire](https://github.com/medialab/gazouilloire)\n  A command line tool for long-term tweets collection, including the possibility of automatic recursive retrieval within the corpus of all tweets to which collected tweets are answering\n- [minet](https://github.com/medialab/minet)\n  A command line tool for scraping the public Twitter API (among other things). As of v0.4, the minet file format is compatible with the twitter-explorer!\n- [DMI-TCAT](https://github.com/digitalmethodsinitiative/dmi-tcat)  \n  A tool for streaming real-time tweets and storing them in an SQL database\n- [twarc](https://github.com/DocNow/twarc)  \n  Another CLI for Twitter search/streaming API\n\n## About \nThe idea for the twitter explorer originated from fruitful discussions in the context of the [Odycceus](https://odycceus.eu) project between [Armin Pournaki](https://pournaki.com), [Felix Gaisbauer](https://www.researchgate.net/profile/Felix_Gaisbauer2), [Sven Banisch](http://universecity.de) and [Eckehard Olbrich](https://www.mis.mpg.de/jjost/members/eckehard-olbrich.html). The tool is designed and developed by Armin Pournaki. \n\n## Acknowledgements\n\nThe **twitter explorer** stands on the shoulders of giants:\n- [Streamlit](https://www.streamlit.io/)  \n  The frontends of the collector and visualizer are made with Streamlit, a powerful and easily accessible tool to create interactive Python applications.\n- [force-graph](https://github.com/vasturiano/force-graph)  \n  The interactive graph visualization relies on the force-graph library.\n- [igraph](https://igraph.org/python/)  \n  All the graph operations in the **twitter explorer** are handled by the Python version of igraph.\n- [twarc](https://github.com/DocNow/twarc) and [tweepy](http://www.tweepy.org/)  \n  Easy-to-use Python wrappers for Twitter APIs.\n- [twitwi](https://github.com/medialab/twitwi)  \n  A collection of Twitter-related helper functions for Python.\n\n## Funding\nThis project has received funding from the European Union\u2019s Horizon 2020 research and innovation programme under grant agreement No 732942.\n\n## License\nThe **twitter explorer** is licensed under the [GNU GPLV3](https://www.gnu.org/licenses/gpl-3.0.en.html) license.\n\n<!-- logos and links -->\n[title-img]: https://raw.githubusercontent.com/pournaki/twitter-explorer/master/doc/img/titlelogo.png\n[title-url]: https://twitterexplorer.org\n[version-img]:https://img.shields.io/badge/version-0.4-000?style=for-the-badge&?color=ffffff&?logoWidth=100\n[version-url]:https://twitterexplorer.org\n[python-img]:https://img.shields.io/badge/python-%E2%89%A53.6-000?style=for-the-badge&?color=ffffff\n[python-url]:https://www.python.org/downloads/release/python-360/\n[license-img]:https://img.shields.io/badge/license-GNU%20GPLv3-000?style=for-the-badge&?color=ffffff\n[license-url]:https://www.gnu.org/licenses/gpl-3.0.en.html\n[explorer-img]:https://raw.githubusercontent.com/pournaki/twitter-explorer/master/doc/img/explorer.png\n",
    "bugtrack_url": null,
    "license": "GPLv3",
    "summary": "A Python tool for interactive network visualizations of Twitter data.",
    "version": "0.7.1",
    "project_urls": {
        "Homepage": "http://github.com/pournaki/twitter-explorer"
    },
    "split_keywords": [
        "networks",
        " social media"
    ],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "202569cb01fa3c571a68829d8bdb0b115c9ea47fbf9f79f4e541e71c39d2ce41",
                "md5": "600c8e2a300a24b0cb728e7648a105d9",
                "sha256": "7fdece51af94b9acaa2e07cde76e14e85a6025e9f4a2c8ce0c6b0d8ad8e104f3"
            },
            "downloads": -1,
            "filename": "twitterexplorer-0.7.1-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "600c8e2a300a24b0cb728e7648a105d9",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.7",
            "size": 63077,
            "upload_time": "2024-04-28T09:03:04",
            "upload_time_iso_8601": "2024-04-28T09:03:04.017776Z",
            "url": "https://files.pythonhosted.org/packages/20/25/69cb01fa3c571a68829d8bdb0b115c9ea47fbf9f79f4e541e71c39d2ce41/twitterexplorer-0.7.1-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "97c5c54c86d4ba53283d7b9a818d3c39a3fe23fe04b6cd5ef81b73c8e76d4c55",
                "md5": "a1e108a333f153b2810f6ffce8a4c871",
                "sha256": "e02f25b8e562d05a32830c14cb9feca22bfd2ad88fa943fe30af9b4115b9d16b"
            },
            "downloads": -1,
            "filename": "twitterexplorer-0.7.1.tar.gz",
            "has_sig": false,
            "md5_digest": "a1e108a333f153b2810f6ffce8a4c871",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.7",
            "size": 52892,
            "upload_time": "2024-04-28T09:03:13",
            "upload_time_iso_8601": "2024-04-28T09:03:13.880889Z",
            "url": "https://files.pythonhosted.org/packages/97/c5/c54c86d4ba53283d7b9a818d3c39a3fe23fe04b6cd5ef81b73c8e76d4c55/twitterexplorer-0.7.1.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2024-04-28 09:03:13",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "pournaki",
    "github_project": "twitter-explorer",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": false,
    "requirements": [
        {
            "name": "streamlit",
            "specs": [
                [
                    "<",
                    "2"
                ],
                [
                    ">=",
                    "1.7.0"
                ]
            ]
        },
        {
            "name": "tweepy",
            "specs": [
                [
                    ">=",
                    "4.6.0"
                ]
            ]
        },
        {
            "name": "pandas",
            "specs": [
                [
                    ">=",
                    "1.3.4"
                ]
            ]
        },
        {
            "name": "python-igraph",
            "specs": [
                [
                    ">=",
                    "0.9.8"
                ]
            ]
        },
        {
            "name": "twitwi",
            "specs": [
                [
                    ">=",
                    "0.15.0"
                ]
            ]
        },
        {
            "name": "twarc",
            "specs": [
                [
                    ">=",
                    "2.9.4"
                ]
            ]
        },
        {
            "name": "louvain",
            "specs": [
                [
                    ">=",
                    "0.8.0"
                ]
            ]
        },
        {
            "name": "ebbe",
            "specs": [
                [
                    ">=",
                    "1.13.2"
                ]
            ]
        }
    ],
    "lcname": "twitterexplorer"
}
        
Elapsed time: 0.24173s