Skip to content

Commit 2053ef6

Browse files
authored
Merge pull request #563 from DocNow/twarc_purpose
Add some notes about the purpose of core twarc and principles about w…
2 parents 01f9f0e + ff70a3d commit 2053ef6

File tree

2 files changed

+16
-5
lines changed

2 files changed

+16
-5
lines changed

README.md

Lines changed: 13 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,26 @@
11
# twarc
22

3-
4-
53
[![DOI](https://zenodo.org/badge/7605723.svg)](https://zenodo.org/badge/latestdoi/7605723) [![Build Status](https://github.com/docnow/twarc/workflows/tests/badge.svg)](https://github.com/DocNow/twarc/actions/workflows/main.yml)
64

7-
Collect data at the command line from the Twitter API (v1.1 and v2).
5+
twarc is a command line tool and Python library for collecting and archiving Twitter JSON
6+
data via the Twitter API. It has separate commands (twarc and twarc2) for working with the older
7+
v1.1 API and the newer v2 API and Academic Access (respectively).
88

99
* Read the [documentation](https://twarc-project.readthedocs.io)
1010
* Ask questions in [Slack](https://bit.ly/docnow-slack) or [Matrix](https://matrix.to/#/#docnow:matrix.org?via=matrix.org&via=petrichor.me&via=converser.eu)
1111

12+
1213
## Contributing
1314

15+
New features are welcome and encouraged for twarc. However, to keep the core twarc library and command line tool sustainable we will look at new functionality with the following principles in mind:
16+
17+
1. Purpose: twarc is for *collection* and *archiving* of Twitter data via the Twitter API.
18+
2. Sustainability: keeping the surface area of twarc and it's dependencies small enough to ensure high quality.
19+
3. Utility: what is exposed by twarc should be applicable to different people, projects and domains, and not specific use cases.
20+
4. API consistency: as much as sensible we aim to make twarc consistent with the Twitter API, and also aim to make twarc consistent with itself - so commands in core twarc should work similarly to each other, and twarc functionality should align towards the Twitter API.
21+
22+
For features and approaches that fall outside of this, twarc enables external packages to hook into the twarc2 command line tool via [click-plugins](https://github.com/click-contrib/click-plugins). This means that if you want to propose new functionality, you can create your own package without coordinating with core twarc.
23+
1424
### Documentation
1525

1626
The documentation is managed at ReadTheDocs. If you would like to improve the documentation you can edit the Markdown files in `docs` or add new ones. Then send a pull request and we can add it.

docs/README.md

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
# twarc
22

3-
twarc is a command line tool and Python library for archiving Twitter JSON
4-
data. It has separate commands (twarc and twarc2) for working with the older
3+
twarc is a command line tool and Python library for collecting and archiving Twitter JSON
4+
data via the Twitter API. It has separate commands (twarc and twarc2) for working with the older
55
v1.1 API and the newer v2 API and Academic Access (respectively). It also has an ecosystem of [plugins](plugins) for doing things with the collected data.
66

77
See the `twarc` documentation for running commands: [twarc2](twarc2_en_us.md) and [twarc1](twarc2_en_us.md) for using the v1.1 API. If you aren't sure about which one to use you'll want to start with twarc2 since the v1.1 is scheduled to be retired.
@@ -15,6 +15,7 @@ pip3 install twarc
1515
```
1616

1717
Once installed, you should be able to use the twarc and twarc2 command line utilities, or use it as a Python library - check the examples [here](api/library.md) for that.
18+
1819
## Other Tools
1920

2021
Twarc is purpose build for working with the twitter API for archiving and studying digital trace data. It is not built as a general purpose API library for Twitter. While the primary use is academic, it works just as well with "Standard" v2 API and "Premium" v1.1 APIs.

0 commit comments

Comments
 (0)