Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/loveduckie/github-stars-export
A simple Python tool for exporting starred GitHub projects to a Notion database.
https://github.com/loveduckie/github-stars-export
Last synced: about 1 month ago
JSON representation
A simple Python tool for exporting starred GitHub projects to a Notion database.
- Host: GitHub
- URL: https://github.com/loveduckie/github-stars-export
- Owner: LoveDuckie
- License: mit
- Created: 2024-09-11T20:09:25.000Z (4 months ago)
- Default Branch: main
- Last Pushed: 2024-11-14T15:51:19.000Z (about 1 month ago)
- Last Synced: 2024-11-14T16:42:31.008Z (about 1 month ago)
- Language: Python
- Size: 46.9 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# GitHub Stars Export
## Overview
GitHub Stars Export is a Python tool that exports your starred repositories from GitHub to a Notion database. It allows you to easily organize and manage the repositories you have starred, providing a way to store metadata in Notion for easy searching and categorization.
## Features
- Export starred repositories from your GitHub account.
- Save repository information, such as name, URL, and description, to a Notion database.
- Uses environment variables for secure configuration.## Requirements
- Python 3.8+
- Notion API Key
- GitHub Personal Access Token## Installation
1. Clone the repository:
```sh
git clone https://github.com/your-username/github-stars-export.git
cd github-stars-export
```2. Install dependencies using Poetry:
```sh
poetry install
```3. Create a `.env` file to store your API keys:
```sh
touch .env
```Add the following keys to your `.env` file:
```ini
GITHUB_API_TOKEN=your_github_token
NOTION_API_TOKEN=your_notion_token
```## Usage
To export your GitHub starred repositories to Notion, run the following command:
```sh
poetry run python -m github_stars_export
```This command will authenticate using the provided GitHub and Notion tokens and start exporting starred repositories to your Notion database.
### Examples
1. **Basic Export Command**
To export your GitHub starred repositories to a Notion database, you can run the following command with the required options:
```sh
poetry run python -m github_stars_export --github-api-token YOUR_GITHUB_API_TOKEN --notion-api-token YOUR_NOTION_API_TOKEN --notion-database-id YOUR_NOTION_DATABASE_ID
```Alternatively, if you have set the required environment variables in your `.env` file (`GITHUB_API_TOKEN`, `NOTION_API_TOKEN`, `NOTION_DATABASE_ID`), you can simplify the command:
```sh
poetry run python -m github_stars_export
```2. **Using Environment Variables**
You can export the starred repositories without specifying the tokens explicitly in the command if you have the environment variables set:
```sh
export GITHUB_API_TOKEN=your_github_token
export NOTION_API_TOKEN=your_notion_token
export NOTION_DATABASE_ID=your_notion_database_idpoetry run python -m github_stars_export
```3. **Help Command**
To view all the available options and get help with usage:
```sh
poetry run python -m github_stars_export --help
```This will display information about required options such as `--github-api-token`, `--notion-api-token`, and `--notion-database-id`.
### Command-line Options
- `--github-api-token` (required): The GitHub API token used to access your starred repositories.
- `--notion-api-token` (required): The Notion API token used to connect to your Notion workspace.
- `--notion-database-id` (required): The ID of the Notion database where the starred repositories will be saved.These examples show how to configure and run the export using the command-line interface provided by the tool, either by specifying the tokens directly or by using environment variables.
## Scripts
The repository includes several helper scripts:
- `build.sh`: Builds the project for distribution.
- `format.sh`: Formats the code using the preferred code style.
- `lint.sh`: Runs linters to ensure code quality.## Configuration
The project uses `pyproject.toml` to manage dependencies and configuration for tools like linters and formatters. It also includes a `.pylintrc` for customizing `pylint` behavior.
## Development
For local development:
1. Install dependencies:
```sh
poetry install
```2. Run the code formatter:
```sh
./format.sh
```3. Run the linter:
```sh
./lint.sh
```## Contributing
Contributions are welcome! Feel free to open issues or submit pull requests.
## License
This project is licensed under the MIT License. See the [LICENSE](LICENSE) file for more information.
## Contact
If you have any questions or suggestions, feel free to reach out to the repository maintainer.