Understanding the Project's Structure
General Info About the Project 📖
This is a terminal application that allows developers to generate logos (maybe a better term would be banner) for their projects. It uses the following technologies for the development process and for the build pipeline:
- PDM for development scripts and managing (dev)dependencies.
- Ruff for linting and formatting
- Pyright for type checking
- Pytest for unit tests
You can install PDM with the following command:
bash
curl -sSL https://pdm-project.org/install-pdm.py | python3 -The project also uses Vitepress for generating the documentation website.
Files and directories 📂
Configuration Files: ⚙
ruff.toml: Ruff configuration file (for linting and formatting)pyproject.toml: Python module configuration
Source: 🔢
src/octologo/colors/: Contains color schemes (.toml files).src/octologo/fonts/: Contains font files that can be used in the app.src/octologo/styles/: Contains available logo styles.src/octologo/__main__.py: Application entry point.
Other: 📄
assets/: Assets for the GitHub repo only.tests/: Unit test files (pytest).docs/: Documentation site (Vitepress)
PDM scripts
format: Checks for formatting errors and fixes them if possible.format-check: Checks for formatting errors and exists with error code if any is found.lint: Checks for linting errors and fixes them if possible.lint-check: Check for linting errors and exits with error code if any is found.check-types: Check for type errors with Pyright.tests: Run all unit tests.