Sync GitHub Project issue status transitions to start/end date fields
Project description
psync
Tiny CLI tool that syncs GitHub Project Start Date and End Date fields based on issue/PR activity.
What it does
- Reads timeline events from a GitHub issue or pull request
- Determines when work started and ended
- Updates the linked GitHub Project's date fields
Start date defaults to the issue/PR creation date (configurable via --start-from).
End date is inferred from status transitions (issues) or merge/close time (PRs).
Install
# From source
uv pip install .
# Or install as a global CLI tool
uv tool install .
Usage
# Sync dates for an issue
psync https://github.com/org/repo/issues/42
# Sync dates for a pull request
psync https://github.com/org/repo/pull/7
# Preview without updating (dry run)
psync https://github.com/org/repo/issues/42 --dry-run
# Use "in progress" status change as start date instead of creation date
psync https://github.com/org/repo/issues/42 --start-from in-progress
Authentication
psync needs a GitHub token with read:project and project scopes.
It resolves the token in this order:
GITHUB_TOKENorGH_TOKENenvironment variablegh auth token(GitHub CLI)
To add the required scopes to your existing gh token:
gh auth refresh -s read:project,project
Development
# Install dependencies
uv sync
# Run tests
uv run pytest
# Lint and format
uv run ruff check src/ tests/
uv run ruff format src/ tests/
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 psync_git-0.1.0.tar.gz.
File metadata
- Download URL: psync_git-0.1.0.tar.gz
- Upload date:
- Size: 21.7 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
031da657d3262a45050806b3d6b35a91b3ed25d322434f812f72dc74441a902b
|
|
| MD5 |
8db8b8887c17593ef05fc7ab59776d2e
|
|
| BLAKE2b-256 |
076451dbec5a245c7d2b0944b66ec80cd89d0e0c2ca0fe5008eee6a80a4b1861
|
Provenance
The following attestation bundles were made for psync_git-0.1.0.tar.gz:
Publisher:
publish.yml on 0xbigshaq/psync
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
psync_git-0.1.0.tar.gz -
Subject digest:
031da657d3262a45050806b3d6b35a91b3ed25d322434f812f72dc74441a902b - Sigstore transparency entry: 1055402000
- Sigstore integration time:
-
Permalink:
0xbigshaq/psync@1722cb009e5652d94b044c99c7b0a5b34187d390 -
Branch / Tag:
refs/tags/v0.1.0 - Owner: https://github.com/0xbigshaq
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@1722cb009e5652d94b044c99c7b0a5b34187d390 -
Trigger Event:
release
-
Statement type:
File details
Details for the file psync_git-0.1.0-py3-none-any.whl.
File metadata
- Download URL: psync_git-0.1.0-py3-none-any.whl
- Upload date:
- Size: 8.1 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
bfd252043cc077d84fe565d689de4b2cd3bc19666ad9d94097704e6a1ade4b2f
|
|
| MD5 |
fb0b98cc8690726cc082b6eeba3bf65c
|
|
| BLAKE2b-256 |
9f0db8c922cfa8dea08c5775774206134f01c754eadea5c92c6c924cc5b30b0e
|
Provenance
The following attestation bundles were made for psync_git-0.1.0-py3-none-any.whl:
Publisher:
publish.yml on 0xbigshaq/psync
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
psync_git-0.1.0-py3-none-any.whl -
Subject digest:
bfd252043cc077d84fe565d689de4b2cd3bc19666ad9d94097704e6a1ade4b2f - Sigstore transparency entry: 1055402050
- Sigstore integration time:
-
Permalink:
0xbigshaq/psync@1722cb009e5652d94b044c99c7b0a5b34187d390 -
Branch / Tag:
refs/tags/v0.1.0 - Owner: https://github.com/0xbigshaq
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@1722cb009e5652d94b044c99c7b0a5b34187d390 -
Trigger Event:
release
-
Statement type: