Skip to main content

Tidygen

Overview

The Tidygen project is a command-line tool for creating and managing application components in a clean architectural manner.

All dependencies should flow from app > core > entities or app > data > entities. This ensures that the core and data layers are not dependent on each other. However, the adherence to this structure is wholly dependent on the user.

It uses the click library to provide a set of commands for generating application, core, and data classes in specified domains.

Installation

To install, run:

pip install tidygen

Usage

Initialize a New Project

To initialize a new project, use the init command:

tidygen init -d <destination>

Building the Project

Installation

To install the required dependencies, run:

poetry install

Usage

Initialize a New Project

To initialize a new project, use the init command:

python src/tidygen/main.py init -d <destination>

This will create the necessary directory structure and an abstract Operation class.

Create Application Components

Create an Application Class

To create a new application class, use the create command under the app group:

python src/tidygen/main.py app create -d <destination> -e <domain> -n <name>

This will create a new class in the specified domain under the app directory.

Create a Core Class

To create a new core class, use the create command under the core group:

python src/tidygen/main.py core create -d <destination> -e <domain> -n <name>

This will create a new class in the specified domain under the core directory.

Create Data Components

Create a Queries Class

To create a new queries class, use the create_queries command under the data group:

python src/tidygen/main.py data create_queries -d <destination> -e <domain>

This will create a new queries class in the specified domain under the data directory.

Create a Statement Class

To create a new statement class, use the create_statement command under the data group:

python src/tidygen/main.py data create_statement -d <destination> -e <domain>

This will create a new statement class in the specified domain under the data directory.

Directory Structure

The project will generate the following directory structure:

<destination>/
├── app/
│   ├── __init__.py
│   └── <domain>/
│       ├── __init__.py
│       └── <name>.py
├── core/
│   ├── __init__.py
│   └── <domain>/
│       ├── __init__.py
│       └── <name>.py
├── data/
│   ├── __init__.py
│   └── <domain>/
│       ├── __init__.py
│       ├── queries.py
│       └── statements.py
└── entities/
    ├── __init__.py

License

This project is licensed under the MIT License. See the LICENSE file for details.

Metadata

Release files for tidygen 0.0.3

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

Source distribution (sdist)

Source distribution for tidygen 0.0.3
File Size Uploaded
tidygen-0.0.3.tar.gz 2.7 kB Details

Built distribution (wheel)

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

Total release size: 7.8 kB

Release files / tidygen-0.0.3.tar.gz

Download URL tidygen-0.0.3.tar.gz
Size 2.7 kB
Tags Source
SHA-256 checksum
How to use checksums
531ea4ed9be3d48b806eb0861a68d0b0b5ef7cbf207dcee1a3e01bfae0e822cb
BLAKE2b-256 checksum
How to use checksums
a085f3bb0dee22e3a270f58eed69fc68fb17e4a302fd175b73bf7d66ad50aed4
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via poetry/2.0.1 CPython/3.13.2 Darwin/23.1.0

Release files / tidygen-0.0.3-py3-none-any.whl

Download URL tidygen-0.0.3-py3-none-any.whl
Size 5.1 kB
Tags Python 3
SHA-256 checksum
How to use checksums
613c92cc5bf45e113aa8c1de4059ede96f59a45735badbc8219b7803f9a284e1
BLAKE2b-256 checksum
How to use checksums
99f4ae4d5787058f6b2582a03b858c0d7613c4a34bf84e87281588aec1c874ce
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via poetry/2.0.1 CPython/3.13.2 Darwin/23.1.0

Release history Release notifications | RSS feed

This release

0.0.3 This release

2 release files

0.0.2

2 release files

0.0.1

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