not really known
You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 
Go to file
J. Fernando Sánchez 9c82dea298 Config from variable or file
This replaces the old file of credentials (with one per line) with a
configuration in YAML format.

The configuration can be stored either in a file or in an environment variable
(BITTER_CONFIG).

There is still a command line argument to add the credentials in that file to
the config.
6 years ago
bitter Config from variable or file 6 years ago
tests Config from variable or file 6 years ago
.gitignore Config from variable or file 6 years ago
Dockerfile Drone tests, fixed get_credentials 8 years ago
Dockerfile-2.7 Added CI and tests 8 years ago
Dockerfile-3.4 Added CI and tests 8 years ago
Dockerfile.template Added CI and tests 8 years ago
MANIFEST.in Added CI and tests 8 years ago
Makefile Config from variable or file 6 years ago
README.md Config from variable or file 6 years ago
requirements-py2.txt Changed versioning, added locks 8 years ago
requirements.txt Config from variable or file 6 years ago
setup.cfg Added CI and tests 8 years ago
setup.py Added CI and tests 8 years ago
test-requirements.txt Drone tests, fixed get_credentials 8 years ago

README.md

#Description There are two parts to bitter. First of all, it is a wrapper over Python twitter that adds support for several Twitter API credentials (e.g. authorizing the same app with different user accounts). Secondly, it is a command line tool to automate several actions (e.g. downloading user networks) using the wrapper.

Instructions

In the command line:

python -m bitter --help

or

bitter --help

Programmatically:

from bitter import easy
wq = easy()
print(wq.users.show(user_name='balkian'))

You can also make custom calls to the API through the command line. e.g. to get the latest 500 tweets by the python software foundation:

bitter api statuses/user_timeline --id thepsf --count 500

Examples

The CLI can query the rest API:

bitter api <URL endpoint> --parameter VALUE ... | [--tweets | --users] [--max_count MAX_COUNT] [--count COUNT_PER_CALL]

For instance:

# Get 100 tweets that mentioned Obama after tweet 942689870501302300
bitter api '/search/tweets' --since_id 942689870501302300 --count 100 --q Obama

That is equivalent to this call to the api: api/1.1/searc/tweets?since_id=942689870501302300&count=100&q=Obama.

The flags --tweets and --users are optional. If you use them, bitter will try to intelligently fetch all the tweets/users by using pagination with the API.

For example:

# Download 1000 tweets, 100 tweets per call.
bitter api '/search/tweets' --since_id 942689870501302300 --count 100 --q Obama --max_count=1000 --tweets
# Download all the followers of @balkian
bitter api 'followers/list' --_id balkian --users --max_count -1

Note that some reserved words (such as id) have to be preceeded by an underscore. This limitation is imposed by the python-twitter library.

Configuration format

credentials:
- user: "balkian"
  consumer_secret: "xxx"
  consumer_key: "xxx"
  token_key: "xxx"
  token_secret: "xxx"
- user: ....

By default, bitter uses '~/.bitter.yaml', but you may choose a different file:

python -m bitter --config <config_file> ...

Or use an environment variable:

export BITTER_CONFIG=$(cat myconfig.yaml)

Server

To add more users to the credentials file, you may run the builtin server, with the consumer key and secret of your app:

python -m bitter server <consumer_key> <consumer_secret>

If you get an error about missing dependencies, install the extra dependencies for the server. e.g.:

pip install bitter[web]

Make sure the callback url of your app is set to http://127.0.0.1:5000/callback_url/

Notice

Please, use according to Twitter's Terms of Service

TODO

  • Tests
  • Docs