This is a command line interface so you can use David Social from your Terminal.
It uses the David Social API and allows you to read posts from your friends, like things, make new posts, pet cats and check out the profiles of your David Social crushes (i.e. everyone on David Social).
A pre-built executable is available for your executing pleasure. Instructions:
- Download the latest release from releases. Alternatively, you can obtain the executable
david
from the dist folder of this repo. - To install simply
cp david /usr/bin
(may require elevation) - you can now run david with the david command
david
There is currently no standalone executable for Windows or Mac. Maybe there will be one day :)
- Built with
Python 3.11.0
- Required libraries are listed in
requirements.txt
- You will need a David Social account to use this CLI. You can sign up by asking David to make you an account.
- (OPTIONAL) Pyenv for a virtual environment
- Clone this repository
make all
will setup a Pyenv virtual environment and install the required libraries- Run the CLI with
python david.py
- Clone this repository
- (OPTIONAL) Setup a virtual environment with Pyenv
- Install the required libraries with
pip install -r requirements.txt
- Run the CLI with
python david.py
- Run the CLI with
python david.py
- The interace will ask for credentials which you may choose to save
- You may hardcode your credentials in scripts/secrets.py which is probably very insecure.
- If you do not have a David Social account, you can sign up by asking David to make you an account.
config.yaml
will be created if it does not exist. This file contains the configuration for the CLI.- Default configuration is:
preserve_feed_position: false
refresh_rate: 0.1
clear_logs: false
preserve_feed_position
: If true, the CLI will remember your position in the feed when you leave a feed view and return to it. Otherwise feeds will always start at the first post.refresh_rate
: The rate at which the Terminal refreshes. Lower values refresh faster, but this can cause flickering. Increase this value if you experience flickering.clear_logs
: If true, the CLI will clear the log files when you exit. Otherwise log files will be preserved.
The CLI uses Curses to display the interface. You can use the arrow keys to navigate the interface. Pressing enter will select an option.
- Resizing the Terminal can cause the interface to break, despite my best efforts. If this happens, restart the CLI.
- ASCII art may be covered by the menu if the menu spans more than one row
- If the interface does not respond or crashes, view the log files in the logs directory for more information. If you are unable to resolve the issue, please open an issue on this repository.
- Add a way of searching the David Social userbase
- You cannot follow (bootlick) users through the CLI
- You cannot edit your profile through the CLI