Skip to content

Update project structure - #17

Merged
fillipe-gsm merged 22 commits into
masterfrom
update-project-structure
Dec 11, 2025
Merged

Update project structure#17
fillipe-gsm merged 22 commits into
masterfrom
update-project-structure

Conversation

@fillipe-gsm

Copy link
Copy Markdown
Owner

This PR had way too many changes and history.
I've decided to keep the full commit history to remind me how painful this was.

With this, I finally managed to publish the project into PYPI.

Still missing gif after moved to PYPI
There is a chance files outside `src` do not get packaged, so the script
version won't work.

I am then moving the initializer to `app.py`.
This is the help page that should appear in the PYPI's page of the
library.

As I don't want to repeat myself in both READMEs, this one is
purposefuly plain and links to the Github's repository.
Unfortunately, `kanban-cli` is already taken. I had to use a worse name.
So far, it can install, but still does not work.
When building the project, all required files must be inside `src` or
else the required files outside won't be imported.

I had then to change how `config.py` was imported.

Annoying, but it is what it is.
I'll try to manage my project and change it to a better approach
The former is supposed to be simpler to use and configure, so I am
opting for it.
With the new structure, dynaconf needs to know the default settings.toml
is in the `src` folder.

Notice the user settings are still supposed to be in the user's current
directory
After packaging, it was gone. There really is no real benefit of the
`src` folder, but I was very stupid and followed it blindly.

Sorry, I am a bit angry, it's been days on this.
@fillipe-gsm
fillipe-gsm requested a review from Copilot December 11, 2025 19:55

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR restructures the project to enable PyPI publication by renaming the package from src to kanban_cli and updating all import paths throughout the codebase. The package has been successfully published to PyPI as py-kanban-cli version 0.1.4.

Key changes:

  • Renamed base package from src to kanban_cli with corresponding import path updates
  • Added PyPI metadata, project URLs, and CLI entry point to pyproject.toml
  • Updated configuration to use absolute paths for settings files
  • Added comprehensive README for PyPI with installation and usage instructions

Reviewed changes

Copilot reviewed 62 out of 81 changed files in this pull request and generated 1 comment.

Show a summary per file
File Description
pyproject.toml Updated package name, version, metadata, and build configuration for PyPI publication
src/kanban_cli/config.py Modified settings file paths to use absolute paths relative to module location
src/kanban_cli/app/app.py Added run_app() entry point function and updated imports to new package structure
src/kanban_cli/tasks/models/__init__.py Re-added MODELS list with updated imports (previously deleted from old location)
src/kanban_cli/categories/presenters/cannot_delete_category_presenter.py Added escape() import and fixed Rich markup escaping for category names
All test files Updated imports from src.* to kanban_cli.*
All source files Updated imports from src.* to kanban_cli.* and config to kanban_cli.config
README_PYPI.md Added new PyPI-specific README with installation and usage instructions
README.adoc Expanded with quickstart guide, detailed examples, and configuration documentation
main.py Updated import to use new package structure

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread README_PYPI.md Outdated
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
@fillipe-gsm
fillipe-gsm merged commit f9b9d05 into master Dec 11, 2025
4 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants