Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/necraul/gist-neko
CLI for downloading all gists from a specified user
https://github.com/necraul/gist-neko
downloader gist-api gist-cli gist-neko gists kuroneko python python3 requests
Last synced: about 4 hours ago
JSON representation
CLI for downloading all gists from a specified user
- Host: GitHub
- URL: https://github.com/necraul/gist-neko
- Owner: NecRaul
- License: lgpl-2.1
- Created: 2023-08-31T01:14:19.000Z (about 1 year ago)
- Default Branch: main
- Last Pushed: 2024-02-24T10:20:12.000Z (9 months ago)
- Last Synced: 2024-04-27T08:04:25.167Z (7 months ago)
- Topics: downloader, gist-api, gist-cli, gist-neko, gists, kuroneko, python, python3, requests
- Language: Python
- Homepage: https://pypi.org/project/gist-neko/
- Size: 47.9 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# gist-neko
CLI for downloading all gists from a specified user.
## Requirements
`requests` is used to get information from the Github API and download the gists (if you don't use -g/--git to download using git).
Note that `requests` will not download submodules but git will.
If you want to build this on your own, you can install the requirements with
```Python
pip install -r requirements.txt
```or install the package by running
```Python
pip install gist-neko
```Python's native `os` (used to check for whether a folder exists or not), `argparse` (parse return request and set command argument), `subprocess` (call `git clone` and `git pull` on gists) and `setuptools` (used to build the script) packages are also used.
## How it works
I send requests to `https://api.github.com/users/{username}/gists`, depending on the arguments passed to the script, I either download all the gists in specified user's account with either `requests` or `git`.
You can run the script with
```Python
gist-neko
-u
-t (optional - you will just download the public gists instead of all gists)
-e (optional - means you will be using environment variables. This overrides -u and -t)
-g (optional - means you will be downloading using git)
-gu (this will set as environment variable)
-gpat (this will set as environment variable)
```### Examples
#### Setting Environment Variables
This will set the specified **Github username** and **personal access token** as your `GITHUB_USERNAME` and `GITHUB_PERSONAL_ACCESS_TOKEN` environment variable respectively. On Linux this is a bit buggy.
```Python
gist-neko -gu -gpat
```This will set the specified **Github username** as your `GITHUB_USERNAME` environment variable. On Linux this is a bit buggy.
```Python
gist-neko -gu
```This will set the specified **personal access token** as your `GITHUB_PERSONAL_ACCESS_TOKEN` environment variable. On Linux this is a bit buggy.
```Python
gist-neko -gpat
```#### Public Gists without Environment Variables
This will use the specified **Github username** and download all **public gists** using `requests`.
```Python
gist-neko -u -t
```This will use the specified **Github username** and download all **public gists** using `git`.
```Python
gist-neko -u -t -g
```#### Public and Private Gists without Environment Variables
This will use the specified **Github username** and **personal access token** and download all **public and private gists** using `requests`.
```Python
gist-neko -u -t
```This will use the specified **Github username** and **personal access token** and download all **public and private gists** using `git`.
```Python
gist-neko -u -t -g
```#### Public and Private Gists with Environment Variables
This will use the **Github username** and **personal access token** in the **environment variables** and download all **public and private gists** using `requests`.
```Python
gist-neko -e
```This will use the **Github username** and **personal access token** in the **environment variables** and download all **public and private gists** using `git`.
```Python
gist-neko -e -g
```#### Public and Private Gists with Environment Variables (Overriding passed Username and Personal Access Token)
This will **ignore** the passed **Github username** and **personal access token** instead using **environment variables** and download all **public and private gists** using `requests`.
```Python
gist-neko -u -t -e
```This will **ignore** the passed **Github username** and **personal access token** instead using **environment variables** and download all **public and private gists** using `git`.
```Python
gist-neko -u -t -e -g
```### Simplified Examples
If you want to only download your gists (public), you can do
```Python
gist-neko -u
```If you want to only download your gists (public and private), you can either do
```Python
gist-neko -u -t
```or you can put your information on environment variables and do
```Python
gist-neko -e
```If you want to download other people's gists (public), you can do
```Python
gist-neko -u
```If you want to download other people's gists (public and private), you can do
```Python
gist-neko -u -t
```