baldwin

Simple tracking of your home directory with easy-to-read diffs.

https://github.com/tatsh/baldwin

Science Score: 44.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
    Found CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
    Found .zenodo.json file
  • DOI references
  • Academic publication links
  • Committers with academic emails
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (12.1%) to scientific vocabulary

Keywords

command-line file-management git version-control

Keywords from Contributors

interactive optical preferences mesh interpretability profiles sequences generic projection standardization
Last synced: 4 months ago · JSON representation ·

Repository

Simple tracking of your home directory with easy-to-read diffs.

Basic Info
Statistics
  • Stars: 2
  • Watchers: 1
  • Forks: 0
  • Open Issues: 0
  • Releases: 0
Topics
command-line file-management git version-control
Created about 1 year ago · Last pushed 4 months ago
Metadata Files
Readme Changelog Contributing Funding License Citation Codeowners Security

README.md

Baldwin

Python versions PyPI - Version GitHub tag (with filter) License GitHub commits since latest release (by SemVer including pre-releases) CodeQL QA Tests Coverage Status Documentation Status mypy pre-commit pydocstyle pytest Ruff Downloads Stargazers

@Tatsh Mastodon Follow

This is a conversion of my simple scripts to version my home directory with very specific excludes and formatting every file upon commit so that readable diffs can be generated.

Installation

Pip

shell pip install baldwin

Usage

```plain $ bw -h Usage: bw [OPTIONS] COMMAND [ARGS]...

Manage a home directory with Git.

Options: -d, --debug Enable debug logging. -h, --help Show this message and exit.

Commands: auto-commit format git info init install-units ```

In addition to the bw command, hgit is a shortcut for bw git.

Start a new repository

shell bw init

Find out where the Git directory is by running bw info. This can be done even if init has not been run.

Automation

systemd

shell bw install-units

This will install a timer that will automatically make a new commit every 6 hours. It does not push.

Keep in mind that systemd units require a full path to the executable, so you must keep the unit up-to-date if you move where you install this package. Simply run bw install-units again.

Note that user systemd units only run while logged in.

To disable and remove the units, use the following commands:

shell systemctl disable --now home-vcs.timer rm ~/.config/systemd/user/home-vcs.*

Pushing

To push, use either of the following:

  • bw git push
  • hgit push

The above also demonstrates that bw git/hgit are just frontends to git with the correct environment applied.

Formatting

If Prettier is installed, it will be used to format files. The configuration used comes with this package. Having consistent formatting allows for nice diffs to be generated.

If you have initialised a repository without having prettier or jq in PATH, you need to run the following commands to enable readable diffs:

shell hgit config diff.json.textconv 'jq -MS .' hgit config diff.json.cachetextconv true hgit config diff.yaml.textconv 'prettier --no-editorconfig --parser yaml' hgit config diff.yaml.cachetextconv true

If you have the XML plugin installed:

shell hgit config diff.xml.textconv 'prettier --no-editorconfig --parser xml --xml-whitespace-sensitivity ignore' hgit config diff.xml.cachetextconv true

Binary files

Any file that is untracked and detected to be binary will not be added. Use hgit add to add a binary file manually.

Other details

Default .gitignore and .gitattributes files are installed on initialisation. They are never modified by this tool. Please customise as necessary.

Owner

  • Login: Tatsh
  • Kind: user

Citation (CITATION.cff)

authors:
  - family-names: 'Udvare'
    given-names: 'Andrew'
cff-version: '1.2.0'
date-released: '2025-08-27'
message: 'If you use this software, please cite it as below.'
title: 'baldwin'
version: '0.0.9'

GitHub Events

Total
  • Delete event: 58
  • Issue comment event: 36
  • Push event: 127
  • Pull request event: 115
  • Create event: 70
Last Year
  • Delete event: 58
  • Issue comment event: 36
  • Push event: 127
  • Pull request event: 115
  • Create event: 70

Committers

Last synced: 6 months ago

All Time
  • Total Commits: 129
  • Total Committers: 3
  • Avg Commits per committer: 43.0
  • Development Distribution Score (DDS): 0.488
Past Year
  • Commits: 129
  • Committers: 3
  • Avg Commits per committer: 43.0
  • Development Distribution Score (DDS): 0.488
Top Committers
Name Email Commits
Andrew Udvare a****e@g****m 66
dependabot[bot] 4****] 59
Andrew Udvare a****d@d****m 4
Committer Domains (Top 20 + Academic)

Issues and Pull Requests

Last synced: 4 months ago

All Time
  • Total issues: 0
  • Total pull requests: 97
  • Average time to close issues: N/A
  • Average time to close pull requests: about 13 hours
  • Total issue authors: 0
  • Total pull request authors: 1
  • Average comments per issue: 0
  • Average comments per pull request: 0.67
  • Merged pull requests: 92
  • Bot issues: 0
  • Bot pull requests: 97
Past Year
  • Issues: 0
  • Pull requests: 97
  • Average time to close issues: N/A
  • Average time to close pull requests: about 13 hours
  • Issue authors: 0
  • Pull request authors: 1
  • Average comments per issue: 0
  • Average comments per pull request: 0.67
  • Merged pull requests: 92
  • Bot issues: 0
  • Bot pull requests: 97
Top Authors
Issue Authors
Pull Request Authors
  • dependabot[bot] (112)
Top Labels
Issue Labels
Pull Request Labels
dependencies (112) javascript (78) python (34)

Packages

  • Total packages: 1
  • Total downloads:
    • pypi 44 last-month
  • Total dependent packages: 0
  • Total dependent repositories: 0
  • Total versions: 8
  • Total maintainers: 1
pypi.org: baldwin

Simple tracking of your home directory with easy-to-read diffs.

  • Versions: 8
  • Dependent Packages: 0
  • Dependent Repositories: 0
  • Downloads: 44 Last month
Rankings
Dependent packages count: 10.0%
Average: 33.0%
Dependent repos count: 56.1%
Maintainers (1)
Last synced: 4 months ago