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.