Skip to main content

pykatana

pykatana is a Python-based build system designed for creating static websites with ease and flexibility.

Overview

A Katana project comprises several essential components:

  1. src/make.py: This file contains a run function responsible for building the website. Whenever the contents of the src folder change, this function is triggered. It takes an EZJinja object and processes the templates to generate the website.

  2. Jinja2 Templates: Found in the src/templates directory, these templates form the backbone of your website's structure and content. They provide the flexibility to customize and design your site according to your requirements.

  3. Static Files: The src/static directory houses static files such as CSS, JavaScript, images, and other assets required for your website. These files are served directly to users without any processing.

  4. Meta Technique Files: Located in the src/meta directory, these files enable dynamic content generation for your website. Using the meta technique, you can access and utilize metadata stored in JSON files within your Jinja2 templates. This allows for dynamic updates and customization of your site based on external data sources.

Installation

Method 1: Install via pip

You can install pykatana using pip:

pip install pykatana

Method 2: Use prebuilt executables

Download prebuilt executables from the Releases section.

Method 3: Clone the repository

Clone the repository and copy "pykatana/pykatana" inside your project folder. You can then access pykatana using:

python3 -m pykatana [args]

Method 4: Clone and build from source

  1. Clone the repository:
git clone https://github.com/adanayi/pykatana.git
cd pykatana
  1. Copy the necessary files:
cp -r pykatana/project_make/* .
  1. On Linux:
./make.sh

On Windows:

./make.bat

On Mac: pykatana never supports mac.

  1. The executable will be generated as ./dist/pykatana (or pykatana.exe).

Usage

How to use pykatana?

Method1: Executable files (prebuilt or built)

pykatana [args]

Method2: With python packages (pip3 or clone)

python3 -m pykatana [args]

Usage modes

Development server

cd to your project's folder (root), then simply run pykatana without any args. If the folder is empty, pykatana initializes it and opens the development server. Otherwise, it sets up the development server, allowing you to continue your development.

Deploy

The output of your project will always be put into the ./build folder alongside ./src. You can statically serve this folder. If you want to only build the folder without starting the development server, you can use:

pykatana -b

or

python3 -m pykatana -b

License

This project is licensed under the GNU General Public License v3.0.

Release files for pykatana 1.0.12

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for pykatana 1.0.12
File Size Uploaded
pykatana-1.0.12.tar.gz 190.3 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for pykatana 1.0.12
File Interpreter ABI Platform
pykatana-1.0.12-py3-none-any.whl Python 3 none any Details

Total release size: 397.2 kB

Release files / pykatana-1.0.12.tar.gz

Download URL pykatana-1.0.12.tar.gz
Size 190.3 kB
Tags Source
SHA-256 checksum
How to use checksums
1dc049b0c8114ca4fb8f1da90216262215a6af29e9216e1c0afac477fb295d7e
BLAKE2b-256 checksum
How to use checksums
9ba032a3978aa305763a78d546166c596a9c5461965902dfa9557050854c259f
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/5.0.0 CPython/3.10.12

Release files / pykatana-1.0.12-py3-none-any.whl

Download URL pykatana-1.0.12-py3-none-any.whl
Size 206.9 kB
Tags Python 3
SHA-256 checksum
How to use checksums
9e746743e627bfc00649ab03af01b7f7edf6fc2156c6818a3b470d4a899359ba
BLAKE2b-256 checksum
How to use checksums
cd33fe419e85ded7d7321375bef9afb51bd9240bbf201c762e0ed3e135d4fd69
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/5.0.0 CPython/3.10.12

Release history Release notifications | RSS feed

This release

1.0.12 This release

2 release files

1.0.11

2 release files

1.0.10

2 release files

1.0.8

2 release files

1.0.7

1 release file

1.0.6

2 release files

1.0.5

2 release files

1.0.4

2 release files

1.0.3

2 release files

1.0.2

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page