An open-source DEV Community toolkit written in Python that lets users export information gathered from the DEV.to API
Project description
devtkit
DEV Tool Kit (devtkit) is an open-source DEV Community toolkit written in Python that lets users export information gathered from the DEV.to API.
Installation
Currently, there are 2 ways to install devtkit
Universal (Windows, Linux, and macOS)
Install pipx (if you do not have it)
- Windows:
pip install pipx
pipx ensurepath
- Linux (Debian/Ubuntu):
sudo apt update
sudo apt install pipx
pipx ensurepath
- Linux (Fedora):
sudo dnf install pipx
pipx ensurepath
- macOS (via Homebrew):
brew install pipx
pipx ensurepath
Installing the CLI Utility
Now that you have installed pipx, run the following command to install devtkit:
pipx install devtkit
Clone the repository and run the script
If you want to run the script, view the source code, or contribute, clone the repository locally:
git clone https://github.com/tyleruploads/devtkit.git
cd devtkit
pip install -r requirements.txt
If you are getting a PEP 668 error, ensure you have
pipxinstalled and run:pipx install --editable .
If you installed with pipx:
Run devtkit
Otherwise:
Run python3 src/main.py
Usage
To use devtkit, simply follow along with the prompts the script gives you.
To get a DEV.to API Key, navigate to: DEV.to -> Settings -> Extensions, and scroll till you find "DEV Community API Keys" The API Key you generate will still be available for you to see after you close the tab, so you do not need to save it (unlike most API Keys)
An example run is:
--- Formats ---
0. Markdown
1. CSV
2. JSON
Please enter the numbers for the following formats you would like to save to: 012
--- File Save Locations ---
Please enter save path for Markdown (Default: followers.md): ~/Documents/followers.md
Please enter save path for Csv (Default: followers.csv): ~/Documents/followers.csv
Please enter save path for Json (Default: followers.json): ~/Documents/followers.json
To get an API Key, go to: DEV.to -> Settings -> Extensions, and scroll to the bottom.
DEV.to API Key: (securely collected with the getpass module from the Python STL)
Followers to pull in each GET request (default is 1000):
A maximum of 1000 users will be pulled from each page.
Page count: 1.
534 followers pulled on page 1. 534 total followers have been found so far.
Page count: 2.
0 followers pulled on page 2. 534 total followers found.
Saved in the Markdown file format to /home/tyler/Documents/followers.md
Saved in the CSV file format to /home/tyler/Documents/followers.csv
Saved in the JSON file format to /home/tyler/Documents/followers.json
Features
devtkit has a large array of features that make it stand out from projects like it.
- Multi-Format Export: Save to Markdown, CSV, and JSON files
- Secure API Key Handling: Securely collects the user's DEV.to API Key with the Python STL Module getpass and only uses it to interact with the DEV.to API endpoint
- Smart Rate-Limiting: Automatically handles
429 Too Many Requestsresponses - Beautiful and Detailed Output: Outputs a beautiful and detailed Markdown file, a detailed CSV or JSON file, or all 3
Contributing
Contributions are what make open-source projects important. All contributions are highly appreciated
- Found a bug or issue: Open an Issue and show the output of the script, the steps to reproduce it, and as much information as possible
- Have an idea: Open an Issue and explain your idea as much as possible, why you think it would be a good addition to the project, and any other important information.
License
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file devtkit-0.1.1.tar.gz.
File metadata
- Download URL: devtkit-0.1.1.tar.gz
- Upload date:
- Size: 9.1 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
0a35be0c2ee967d9112a13cdfc47e9adbcae79426ea698b994979291e64a1ec4
|
|
| MD5 |
a97422640cd687d7e5cf56786ef2b597
|
|
| BLAKE2b-256 |
8a3bfb3cc979b0fedee964ac284359fd987d28ae0df7b9f092a6d4b52b9564f1
|
Provenance
The following attestation bundles were made for devtkit-0.1.1.tar.gz:
Publisher:
publish.yaml on tyleruploads/devtkit
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
devtkit-0.1.1.tar.gz -
Subject digest:
0a35be0c2ee967d9112a13cdfc47e9adbcae79426ea698b994979291e64a1ec4 - Sigstore transparency entry: 1820705919
- Sigstore integration time:
-
Permalink:
tyleruploads/devtkit@c9163316f945baf68ba2d70f153366ee333ca023 -
Branch / Tag:
refs/tags/v0.1.1 - Owner: https://github.com/tyleruploads
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yaml@c9163316f945baf68ba2d70f153366ee333ca023 -
Trigger Event:
push
-
Statement type:
File details
Details for the file devtkit-0.1.1-py3-none-any.whl.
File metadata
- Download URL: devtkit-0.1.1-py3-none-any.whl
- Upload date:
- Size: 7.5 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
2112de5bd8e50720df42109d8b30d8a76dd57e3c82787b99b686a5362c7bee21
|
|
| MD5 |
bba80041f24677ef53ca39a0ba266d07
|
|
| BLAKE2b-256 |
e8021b53f10169461780463d76e5e67b197ec85a79c27c4b22f580cbcea6d70e
|
Provenance
The following attestation bundles were made for devtkit-0.1.1-py3-none-any.whl:
Publisher:
publish.yaml on tyleruploads/devtkit
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
devtkit-0.1.1-py3-none-any.whl -
Subject digest:
2112de5bd8e50720df42109d8b30d8a76dd57e3c82787b99b686a5362c7bee21 - Sigstore transparency entry: 1820705944
- Sigstore integration time:
-
Permalink:
tyleruploads/devtkit@c9163316f945baf68ba2d70f153366ee333ca023 -
Branch / Tag:
refs/tags/v0.1.1 - Owner: https://github.com/tyleruploads
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yaml@c9163316f945baf68ba2d70f153366ee333ca023 -
Trigger Event:
push
-
Statement type: