Structure of a PyCK ProjectΒΆ
Here is the structure of a typical PyCK project (as though of till now) assuming a project named combined_apps and one pluggable application named blog
combined_apps/
|-- CHANGES.txt
|-- MANIFEST.in
|-- README.txt
|-- combined_apps (The main project folder containing all the code)
| |-- __init__.py (Project's init file containing initialization code and routes)
|
| |-- apps (This folder contains any pluggable apps)
| | |-- __init__.py (This file contains enabled apps list and some utility stuff)
| | `-- blog (A sample blog app that is pluggable)
| | |-- __init__.py (Apps initialization code & the application_routes function)
| | |-- controllers (The controllers folder containing all the controllers for the app)
| | | |-- __init__.py
| | |-- models (Application's models)
| | | |-- __init__.py
| | |-- scripts (Other scripts including the populate script containing the populate_app function)
| | | |-- __init__.py
| | | |-- populate.py
| | |-- static (Application specific static media like images, css, javascript, etc)
| | |-- templates (Application's template - normally (but not compulsarily) in mako templating language)
| | `-- tests (Application's Tests)
| | |-- __init__.py
| |-- controllers (Main project's controllers)
| | |-- __init__.py
| |-- models (Main project's models)
| | |-- __init__.py
| |-- scripts (Main project's scripts including the populate script)
| | |-- __init__.py
| | |-- populate.py
| |-- static (Main proejct's static media)
| |-- templates (Main project's templates)
| `-- tests (Main project's tests)
| |-- __init__.py
|-- combined_apps.db (Project's DB if using sqlite)
|-- combined_apps.egg-info (Project's egg/setup related files)
|-- development.ini (Project's configuration for development setup)
|-- production.ini (Project's configuration for production deployment)
|-- setup.cfg (Configuration for the setup script)
`-- setup.py (Project's setup script)