https://github.com/praisetompane/app_ide
A plain Python IDE to explore barebones constructs required in an IDE.
https://github.com/praisetompane/app_ide
Last synced: 18 days ago
JSON representation
A plain Python IDE to explore barebones constructs required in an IDE.
- Host: GitHub
- URL: https://github.com/praisetompane/app_ide
- Owner: praisetompane
- License: mit
- Created: 2025-03-13T04:46:37.000Z (about 2 months ago)
- Default Branch: main
- Last Pushed: 2025-03-23T20:21:27.000Z (about 1 month ago)
- Last Synced: 2025-03-23T21:19:47.686Z (about 1 month ago)
- Language: Python
- Homepage:
- Size: 16.6 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# app_ide
## Objectives
A plain Python IDE to explore barebones constructs required in an IDE.## Project Structure
- docs: Project documentation lives in here.
- src: production code lives in folder and is divided in the modules below:
- app_ide: Project package.
- linting:
- Text linting lives in this module.
- model:
- The domain logic of the application lives in this module.
- text_editor:
- Text editing live in this module.
- app.py:
Entry point to startup the application
- tests: Test code lives in folder.
The tests are intentionally separated from production code.
- benefits:
- Tests can run against an installed version after executing `pip install .`.
- Tests can run against the local copy with an editable install after executing `pip install --edit`.
- When using Docker, the entire app_etl folder can be copied without needing to exclude tests, which we don't release to PROD.
- more in depth discussion here: https://docs.pytest.org/en/latest/explanation/goodpractices.html#choosing-a-test-layout-import-rules- utilities: Any useful scripts, such as curl & postman requests, JSON payloads, software installations, etc.
## Dependencies
- [python 3.12+](https://www.python.org/downloads/)## Setup Instructions
- The repository is configured to use [devcontainers](https://containers.dev) for development.
- [Developing inside a Container](https://code.visualstudio.com/docs/devcontainers/containers)
## Run Program
```shell
python src/app.py
```## Testing
- Run unit and integration tests
```shell
pytest
```
- End to End tests
- Not Implemented## Git Conventions
- **NB:** The main is locked and all changes must come through a Pull Request.
- Commit Messages:
- Provide concise commit messages that describe what you have done.
```shell
# example:
git commit -m "feat(core): algorithm" -m"implement my new shiny faster algorithm"
```
- References:
- https://www.conventionalcommits.org/en/v1.0.0/
- https://www.freecodecamp.org/news/how-to-write-better-git-commit-messages/**Disclaimer**: This is still work in progress.