https://github.com/engineervix/create-project-list
a little python script that generates a list of projects for a given GitHub organisation, and saves this information as a table in a .docx document
https://github.com/engineervix/create-project-list
Last synced: 12 months ago
JSON representation
a little python script that generates a list of projects for a given GitHub organisation, and saves this information as a table in a .docx document
- Host: GitHub
- URL: https://github.com/engineervix/create-project-list
- Owner: engineervix
- License: mit
- Created: 2022-06-23T17:29:58.000Z (over 3 years ago)
- Default Branch: main
- Last Pushed: 2025-03-25T13:40:30.000Z (12 months ago)
- Last Synced: 2025-03-25T14:39:02.975Z (12 months ago)
- Language: Python
- Size: 70.3 KB
- Stars: 0
- Watchers: 2
- Forks: 0
- Open Issues: 11
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# create-project-list
[](https://github.com/engineervix/create-project-list/actions/workflows/main.yml)
**Contents** *generated with [DocToc](https://github.com/thlorenz/doctoc)*
- [About](#about)
- [Dependencies](#dependencies)
- [Usage](#usage)
- [First things first](#first-things-first)
- [Run the script](#run-the-script)
- [Customize](#customize)
## About
This is a little python script that generates a list of projects for a given GitHub organisation, and saves this information as a table in a **.docx** document
The table is structured as follows:
| No. | Name | Description | Language | Stars | Forks | Last updated | Has `setup.py` ? |
| --- | ---- | ----------- | -------- | ----- | ----- | ------------ | ---------------- |
| 1 | | | | | | | |
| 2 | | | | | | | |
| 3 | | | | | | | |
| ... | | | | | | | |
## Dependencies
- [PyGithub](https://github.com/PyGithub/PyGithub) -- a Python library to access the [GitHub REST API](https://docs.github.com/en/rest).
- [python-dotenv](https://github.com/theskumar/python-dotenv) -- Reads key-value pairs from a .env file and can set them as environment variables
- [docxtpl](https://github.com/elapouya/python-docx-template) -- Use a **.docx** document as a [Jinja2](https://jinja.palletsprojects.com) template
## Usage
### First things first
- Clone the repo, create a virtual environment and install the dependencies (`pip install -r requirements.txt`).
- Create a [GitHub personal access token](https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/creating-a-personal-access-token), and save it in a `.env` file as `GITHUB_ACCESS_TOKEN=....`. You can make a copy of the provided `.env.sample`:
```bash
cp -v .env.sample .env
```
### Run the script
Make it executable:
```bash
chmod +x ./create_project_list.py
```
Simply pass the organization name to the script:
```bash
./create_project_list.py -o [organization]
```
or
```bash
./create_project_list.py --org [organization]
```
## Customize
If you want additional info for each repo, feel free to customize the script as well as the [template](templates/base_template.docx) to your liking.
Please refer to the [PyGithub docs](https://pygithub.readthedocs.io/en/latest/) for more info. I also created a text file in the **docs** directory to serve as quick reference for methods/properties available for a repo instance, fir example, `repo.html_url` for a repo's URL.