# Changelist-Init
Manage your Git File and Commit Message Workflows with Changelists!
## Introduction
Changelist-Init is the package that gets your changelists ready to go!
- Sync changelists with **git**.
- Creates new changelists data file if necessary.
### About
Changelist-Init is a command-line tool (CLI) in an ecosystem of Changelist CLI tools.
It plays the role of adding file changes from **git** into the project changelist data file.
The related packages `sort` and `foci` serve other changelist management functions by reading, and writing to, the project changelist data file.
### Related Packages
The package [`changelist-sort`](https://github.com/DK96-OS/changelist-sort) is for organizing the files in your Changelists.
- Sorts files into Changelists by directory
The package [`changelist-foci`](https://github.com/DK96-OS/changelist-foci) (File Oriented Commit Information) prints a commit message template for your Changelists.
- Various File Name and Path formatting options
The package [`changelist-data`](https://github.com/DK96-OS/changelist-data) is a dependency of all Changelist packages.
- Provides read and write access to data files
- Contains common data classes, handles data serialization
## Package Details
### Changelist Init
The root package init module provides high level methods:
- `initialize_file_changes() -> list[FileChange]`: Get updated FileChange information from Git.
- `merge_file_changes() -> bool`: Merge updated FileChange information into Changelists.
### Input Package
Using the High-Level package method `validate_input`, converts program arguments into `InputData` object.
Parsing and Validation are handled by internal package modules.
#### Data Classes
**Argument Data**:
- changelists_file: The string path to the Changelists Data File.
- workspace_file: The string path to the Workspace File.
- include_untracked: Whether to include untracked files.
**Input Data**:
- storage: The ChangelistData Storage object.
- include_untracked: Whether untracked files are added to changelists. false by default.
#### Internal Modules
**Argument Parser**
**String Validation**
### Git Package
Use the `get_status_lists()` method to obtain updated file information from git.
#### Data Classes
**Git File Status**:
- `get_tracking_status()`
**Git Status Lists**: A Collection of Data processed from Git Status operation.
- `get_list(GitTrackingStatus) -> list[GitFileStatus]`
- `add_file_status(GitFileStatus)`
#### Enum Class
**Git Tracking Status**:
- UNTRACKED
- UNSTAGED
- STAGED
- PARTIAL_STAGE
#### Internal Modules
**Status Runner**:
- `run_git_status() -> str`: Runs a Git Status Porcelain V1 operation, returns the stdout.
- `run_untracked_status() -> str`: Runs a sequence of Git operations to include untracked files in the Git Status output.
**Status Reader**:
- `read_git_status_output(str) -> GitStatusLists`: Read Git Status Porcelain V1 stdout.
- `read_git_status_line(str) -> GitFileStatus | None`: Read a single line of Git Status Porcelain V1. Ignores Directory lines.
**Status Codes**:
- `get_status_code_change_map(str) -> Callable[]`: Construct a FileChange map function for a Git Status code.
Raw data
{
"_id": null,
"home_page": "https://github.com/DK96-OS/changelist-init/",
"name": "changelist-init",
"maintainer": null,
"docs_url": null,
"requires_python": ">=3.10",
"maintainer_email": null,
"keywords": "changelist, git, vcs",
"author": "DK96-OS",
"author_email": null,
"download_url": "https://files.pythonhosted.org/packages/3b/3a/9cfddb6e7b8ff3cc097731e20a7c2883e848e74f6a180a6aff318bbe6eb2/changelist_init-0.2.2.tar.gz",
"platform": null,
"description": "# Changelist-Init\nManage your Git File and Commit Message Workflows with Changelists!\n\n## Introduction\nChangelist-Init is the package that gets your changelists ready to go!\n- Sync changelists with **git**.\n- Creates new changelists data file if necessary.\n\n### About\nChangelist-Init is a command-line tool (CLI) in an ecosystem of Changelist CLI tools.\nIt plays the role of adding file changes from **git** into the project changelist data file.\n\nThe related packages `sort` and `foci` serve other changelist management functions by reading, and writing to, the project changelist data file.\n\n### Related Packages\nThe package [`changelist-sort`](https://github.com/DK96-OS/changelist-sort) is for organizing the files in your Changelists.\n- Sorts files into Changelists by directory\n\nThe package [`changelist-foci`](https://github.com/DK96-OS/changelist-foci) (File Oriented Commit Information) prints a commit message template for your Changelists.\n- Various File Name and Path formatting options\n\nThe package [`changelist-data`](https://github.com/DK96-OS/changelist-data) is a dependency of all Changelist packages.\n- Provides read and write access to data files\n- Contains common data classes, handles data serialization\n\n## Package Details\n\n### Changelist Init\nThe root package init module provides high level methods:\n- `initialize_file_changes() -> list[FileChange]`: Get updated FileChange information from Git.\n- `merge_file_changes() -> bool`: Merge updated FileChange information into Changelists.\n\n### Input Package\nUsing the High-Level package method `validate_input`, converts program arguments into `InputData` object.\nParsing and Validation are handled by internal package modules.\n\n#### Data Classes\n**Argument Data**:\n- changelists_file: The string path to the Changelists Data File.\n- workspace_file: The string path to the Workspace File.\n- include_untracked: Whether to include untracked files.\n\n**Input Data**:\n- storage: The ChangelistData Storage object.\n- include_untracked: Whether untracked files are added to changelists. false by default.\n\n#### Internal Modules\n**Argument Parser**\n**String Validation**\n\n### Git Package\nUse the `get_status_lists()` method to obtain updated file information from git.\n\n#### Data Classes\n\n**Git File Status**:\n- `get_tracking_status()`\n\n**Git Status Lists**: A Collection of Data processed from Git Status operation.\n- `get_list(GitTrackingStatus) -> list[GitFileStatus]`\n- `add_file_status(GitFileStatus)`\n\n#### Enum Class\n\n**Git Tracking Status**:\n- UNTRACKED\n- UNSTAGED\n- STAGED\n- PARTIAL_STAGE\n\n#### Internal Modules\n\n**Status Runner**:\n- `run_git_status() -> str`: Runs a Git Status Porcelain V1 operation, returns the stdout.\n- `run_untracked_status() -> str`: Runs a sequence of Git operations to include untracked files in the Git Status output.\n\n**Status Reader**:\n- `read_git_status_output(str) -> GitStatusLists`: Read Git Status Porcelain V1 stdout.\n- `read_git_status_line(str) -> GitFileStatus | None`: Read a single line of Git Status Porcelain V1. Ignores Directory lines.\n\n**Status Codes**:\n- `get_status_code_change_map(str) -> Callable[]`: Construct a FileChange map function for a Git Status code.\n",
"bugtrack_url": null,
"license": "GPLv3",
"summary": "Initialize and update Changelists information.",
"version": "0.2.2",
"project_urls": {
"Homepage": "https://github.com/DK96-OS/changelist-init/",
"Issues": "https://github.com/DK96-OS/changelist-init/issues",
"Source Code": "https://github.com/DK96-OS/changelist-init/"
},
"split_keywords": [
"changelist",
" git",
" vcs"
],
"urls": [
{
"comment_text": null,
"digests": {
"blake2b_256": "c61c20f88b2409aaec8a86dc91f9e7f6e206a7b2d0589455a34b27c8309c3c84",
"md5": "25b09eb977b27e6c8441a45d3e0a5e31",
"sha256": "929fe042c8b1a32e8484ea1bf5af7a13908a4630f2dd71e04c91a31b03498732"
},
"downloads": -1,
"filename": "changelist_init-0.2.2-py3-none-any.whl",
"has_sig": false,
"md5_digest": "25b09eb977b27e6c8441a45d3e0a5e31",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.10",
"size": 26247,
"upload_time": "2025-11-03T12:19:02",
"upload_time_iso_8601": "2025-11-03T12:19:02.461381Z",
"url": "https://files.pythonhosted.org/packages/c6/1c/20f88b2409aaec8a86dc91f9e7f6e206a7b2d0589455a34b27c8309c3c84/changelist_init-0.2.2-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "3b3a9cfddb6e7b8ff3cc097731e20a7c2883e848e74f6a180a6aff318bbe6eb2",
"md5": "cd99f52dc360884d4e82a248f0758735",
"sha256": "9a447e9b0a29ef03697ef903522c70ed6f9af243c838679792472c205781eecf"
},
"downloads": -1,
"filename": "changelist_init-0.2.2.tar.gz",
"has_sig": false,
"md5_digest": "cd99f52dc360884d4e82a248f0758735",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.10",
"size": 23070,
"upload_time": "2025-11-03T12:19:03",
"upload_time_iso_8601": "2025-11-03T12:19:03.793120Z",
"url": "https://files.pythonhosted.org/packages/3b/3a/9cfddb6e7b8ff3cc097731e20a7c2883e848e74f6a180a6aff318bbe6eb2/changelist_init-0.2.2.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2025-11-03 12:19:03",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "DK96-OS",
"github_project": "changelist-init",
"travis_ci": false,
"coveralls": false,
"github_actions": true,
"requirements": [
{
"name": "changelist-data",
"specs": [
[
"~=",
"0.2.5"
]
]
}
],
"lcname": "changelist-init"
}