A lightweight TUI app for managing and simplifying your Markdown changelogs.
Project description
Developer Assistant
Installing from PyPI
The program is designed for minimal friction and simple setup. Only installation is required, on first run DA will create local user data automatically. The same automatic process is used for creating new profiles.
Using uv:
uv tool install developer-assistant
Using pip:
pip install developer-assistant
Then use da-ui anywhere in your terminal to run it
Tip: Once setup is complete and you start the program, an intro with all the necessary information will be displayed for you in the terminal.
Linux note: Avoid using
sudo pip installbecause it installs into the system Python. If you want a system‑wide install, use the uv method or usepip install --user
Updating DA
Two possibilities, depending on how you installed.
A. Using uv: uv tool upgrade developer-assistant
B. Using pip: python -m pip install -U developer-assistant
Introduction
What does this program do?
Developer Assistant is a lightweight TUI for simplifying and managing your changelogs. You can customize the templates for each profile to match your existing format, and use DA as a central hub to access every changelog and project folder you maintain.
You can create as many profiles as you need. Each profile gets its own project specific .ini files, created automatically through the menu based on the information you provide. These act as links that tell DA where your changelogs are, which profile owns them and what's the last version number.
Each project .ini can also hold a custom terminal command, that's run in the projects folder. So you can easly integrate updating your changelogs in DA with Git commands for example.
Your files are kept safe at all times. Before adding new changes, your existing CHANGELOG.md is automatically backed up. While editing, all changes are written to a temporary file first and only prepended to & replaced with your real changelog once you confirm them.
Using the program.
- What not to do
Don't change the folder structure or modify variable names inside .ini files.
- Features and information
The user's data (Templates/, Projects/, memory.ini) is stored in standard locations:
-
Windows:
C:\Users\...\AppData\Roaming\da-ui\ -
Linux:
~/.config/da-ui/ -
macOS:
~/Library/Application Support/da-ui/
The da-ui/ folder and subfolders will be created automatically.
Tip: You can access its content quickly when going to:
Main menu / Settings
Profiles for seperate projects and templates
The program comes with the "Default" profile, you can choose to either stick with this one or create your own profiles in Main menu / Profiles. Each profile has seperate projects and they can't be accessed by other profiles. You can choose to customize the templates seperately too.
Note: Migrating a project or template from one profile to another is currently manual, make sure to also change the "owner" value in
.inifiles accordingly.
Customizable templates
In the local Templates/ folder you can modify the template contents to your liking - just avoid changing the {{placeholder}} names.
Templates come in three flavours:
-
changelog_template.txt - Changelog title
-
header_template.txt - Version and date
-
entry_template.txt - Change entry and comments
Linked projects all in one place
The Projects/ folder holds the .ini files you create when starting a new project with DA.
The command variable is a custom command that DA will run in your project folder once you choose "Format & commit" in Main menu / Projects / Project menu / Changelog. Even when provided, it is not run without your confirmation, first it's printed with the folder name and you can choose to skip it.
owner & edited are filled out automatically when a new project is created and edited updates with every changelog update.
Safe changelog updates
Before applying any changes, your previous CHANGELOG.md is automatically backed up into your project folder.
New changes are first written to a temporary file and only prepended to & replaced with your real changelog once you confirm them.
This ensures your existing changelog is never overwritten or corrupted, and you always have a fallback copy. If the temporary changelog is present on startup you are prompted to remove or keep it.
Furthermore, you can safely work on one changelog in separate sessions, your changes are staged in the temporary log file and only deleted with your confirmation.
Note: DA can only keep one projects WIP changes staged, switching projects with staged changes appends the same file. If you update/reinstall the program with unsaved changes they are lost for good, so it's not long-term storage.
Ease of navigation
You can access files/folders and configuration straight from the menus, so you shouldn't find yourself searching through the program's directory or even your local user data very often.
Configuration
The memory.ini file does exactly what you'd expect, it features:
-
Last project
-
Pinned projects
-
Active profile
-
Custom colour
Last project & active profile get updated automatically, the rest are up to you.
Tip:
Ctrl+Cworks everywhere to quickly exit DA.
Setting up the test project
For a dummy changelog to experiment with, navigate to Main menu / Projects, choose test-project, then choose option 3. to start adjusting this projects paths. Before setting up your own profile don't change "Default"
The test-project/ folder is included in the programs root folder for repo clones and is safe to experiment with. If you installed from PyPI just make a CHANGELOG.md anywhere and point the .ini file to it.
Once configured, you can create as many changelog entries as you want by picking that project in the menu.
Project details
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 developer_assistant-0.3.7.tar.gz.
File metadata
- Download URL: developer_assistant-0.3.7.tar.gz
- Upload date:
- Size: 17.3 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
ae00569bd06b46bfa08159176daefe346533383d374b65a6c31a750c16dd1f4b
|
|
| MD5 |
fe5b753530c24a92f1f890b567e4278c
|
|
| BLAKE2b-256 |
7c6de94b074cf4621a4b9de1a695642b570ee3c7d6c04ab4b6f8414cccc181a6
|
Provenance
The following attestation bundles were made for developer_assistant-0.3.7.tar.gz:
Publisher:
publish.yml on Ivory-Hubert/Developer-Assistant
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
developer_assistant-0.3.7.tar.gz -
Subject digest:
ae00569bd06b46bfa08159176daefe346533383d374b65a6c31a750c16dd1f4b - Sigstore transparency entry: 1204143531
- Sigstore integration time:
-
Permalink:
Ivory-Hubert/Developer-Assistant@51ec9bd785e2b5ec52c2522a9cf8872d67f4c5ea -
Branch / Tag:
refs/tags/v0.3.7 - Owner: https://github.com/Ivory-Hubert
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@51ec9bd785e2b5ec52c2522a9cf8872d67f4c5ea -
Trigger Event:
push
-
Statement type:
File details
Details for the file developer_assistant-0.3.7-py3-none-any.whl.
File metadata
- Download URL: developer_assistant-0.3.7-py3-none-any.whl
- Upload date:
- Size: 19.7 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 |
21077d5559898b64fe7916addffd939f153ee6475bd7d889910351650632169a
|
|
| MD5 |
9bd702480903c094b009b5f27fa506aa
|
|
| BLAKE2b-256 |
f92e4f143c2d94ad9deec9f5f4ad1e28fdcf63280f9862f13627f7b20c4d6299
|
Provenance
The following attestation bundles were made for developer_assistant-0.3.7-py3-none-any.whl:
Publisher:
publish.yml on Ivory-Hubert/Developer-Assistant
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
developer_assistant-0.3.7-py3-none-any.whl -
Subject digest:
21077d5559898b64fe7916addffd939f153ee6475bd7d889910351650632169a - Sigstore transparency entry: 1204143537
- Sigstore integration time:
-
Permalink:
Ivory-Hubert/Developer-Assistant@51ec9bd785e2b5ec52c2522a9cf8872d67f4c5ea -
Branch / Tag:
refs/tags/v0.3.7 - Owner: https://github.com/Ivory-Hubert
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@51ec9bd785e2b5ec52c2522a9cf8872d67f4c5ea -
Trigger Event:
push
-
Statement type: