This release is a pre-release and may not be stable for production use.
Appcraft
Appcraft is a code generator for Python projects: appcraft init scaffolds a new project already organized into Clean Architecture layers (domain, application, infrastructure, presentation, runners), and from there you keep developing inside it like any other Python project. It is not a library your code imports at runtime, beyond a handful of small utilities the generated project ships with itself.
Why Use It
- A consistent structure from the first commit. Business rules (domain/application) stay separate from frameworks and storage (infrastructure), so a project doesn't accumulate ad hoc structure as it grows, and the same conventions apply whether you built it alone or picked it up from someone else.
- Add only what the project needs. Functionality comes from composable templates —
flask_api,sqlalchemy,docker,git, and more. Installing one drops its files and wires itself in automatically: a new Flask route or a new SQLAlchemy model is picked up without touching a central registration file. - Swap infrastructure without rewriting business logic. Interchangeable templates sit behind the same contract (a
Port) —sqlalchemy/mongodbfor the database,selenium/playwright/httpx/curl_cffifor web scraping. Changing which one is installed, or which one a config file prefers, doesn't change the use case that calls it. - One command style for every feature. Every command, from the application's own entry points to one-off maintenance tasks, runs through the same runner system: an interactive menu for a human, and
interactive=falsewithkey=valuearguments for a script or CI. - You own what gets generated. Every file Appcraft drops is plain, readable Python in your project. Templates only keep checking each other's presence at runtime (
is_installed()) so they can adapt to what's installed — Appcraft itself doesn't need to run again once the project exists, except when you choose to add another template.
Use it when starting a new service or tool that's worth keeping organized as it grows. For a quick throwaway script, the scaffolding is more than you need.
Quick Start
pip install --pre appcraft # pre-release while 1.0.0 is still in beta
mkdir my-project && cd my-project
appcraft init flask_ui flask_api sqlalchemy docker
<template_names> can be any combination of the available templates, separated by spaces — see Templates for the full list. appc is a shorter alias for appcraft, and inside a generated project, appc run <module> <method>/appc tools <module> <method> run its own run/tools launchers.
appcraft list_templates # see every available template
appcraft add_template <name> # add one to a project that already exists
Documentation
latest always points at the newest released version; past versions stay available from the version selection page.
License
MIT — see LICENSE.
Metadata
Release files for appcraft 1.0.0b2
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| appcraft-1.0.0b2.tar.gz | 173.7 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| appcraft-1.0.0b2-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 442.9 kB
Release files / appcraft-1.0.0b2.tar.gz
| Download URL | appcraft-1.0.0b2.tar.gz |
|---|---|
| Size | 173.7 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
47fa1df6430258379e5bdc6036e5da2cf9b923c6a9b8e1acefee4b0eacd2e453
|
|
BLAKE2b-256 checksum How to use checksums |
ec984a191f7a7f0942ef4e426f1e6c2f7bcb92c35760da1d85781dba69212278
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Oct 16, 2026.
Transparency logRelease files / appcraft-1.0.0b2-py3-none-any.whl
| Download URL | appcraft-1.0.0b2-py3-none-any.whl |
|---|---|
| Size | 269.2 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
8fe86a0c9510f1d6179f79c28bbbc89d252e388bfc99e135840b32dabb87c62a
|
|
BLAKE2b-256 checksum How to use checksums |
e04e8ff22de6560e52284d9e045a2370084a24d39cc4fc024294a8c4c99c2c74
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Oct 16, 2026.
Transparency log