Skip to main content

No project description provided

Project description

Pygutz

This is a generator project APIs web framework toolkit

pygutz is a tool that helps manage the creation of FastAPI framework projects according to various software architectural design patterns. By default pygutz is set to create web APIs projects as follows a Hexagonal Architechture or plug and adapter patterns.

In the future, we plan to add new design patterns to this package to provide developers with more options for using architectural patterns in software development.

Installation

$ pip install pygutz

Run

Run command line to generate project:

$ pygutz createproject

you will get fastapi project struture like is:

├── app
│   ├── core
│   │   ├── __init__.py
│   │   ├── commands.py
│   │   ├── entities
│   │   │   ├── __init__.py
│   │   │   ├── models.py
│   │   │   ├── schemas.py
│   │   ├── interfaces
│   │       ├── __init__.py
│   │       ├── base.py
│   │       ├── services.py
│   │       ├── repositories.py
│   ├── pkgs
│   │   ├── __init__.py
│   │   ├── logs.py
│   │   ├── database.py
│   │   ├── utils.py
│   ├── server
│   │   ├── __init__.py
│   │   ├── deps.py
│   │   ├── middlewares.py
│   │   ├── routes
│   │       ├── __init__.py
│   ├── services
│   │   ├── __init__.py
│   ├── repositoies
│   │   ├── __init__.py
│   ├── main.py
│   ├── settings.py
│   ├── __init__.py
├── tests
│   ├── __init__.py
├── .gitignore

By defaut project will be set folder app name

if you want to define project name can do this:

$ pygutz createproject --project-name myapp
├── myapp
│   ├── core
│   │   ├── __init__.py
│   │   ├── commands.py
│   │   ├── entities

Dependencies

Pygutz depends on FastAPI, Uvicorn, SQLAlchemy, Pydantic, click.

  • fastapi - for the APIs web framework.
  • uvicorn - for the server that loads and servers your application.
  • sqlalchemy - for the Python SQL Toolkit and Object Relational Mapper.
  • pydantic - for the data serializer.
  • click - for the cli tools.
  • pydantic-settings - for settings management.

License

This project is licensed under the terms of the MIT lincense.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

pygutz-0.1.1.tar.gz (8.6 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

pygutz-0.1.1-py3-none-any.whl (9.4 kB view details)

Uploaded Python 3

File details

Details for the file pygutz-0.1.1.tar.gz.

File metadata

  • Download URL: pygutz-0.1.1.tar.gz
  • Upload date:
  • Size: 8.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.11.9

File hashes

Hashes for pygutz-0.1.1.tar.gz
Algorithm Hash digest
SHA256 689fe9fa1146c147e6265454ddc87a0fb0ddd5031b6b81bbf106e29d12986c18
MD5 a244b5386293f836181255f3c12c30f2
BLAKE2b-256 2bd4dd8b570acf722fa45186509d08ac114587ad21046e913f984eba27771335

See more details on using hashes here.

File details

Details for the file pygutz-0.1.1-py3-none-any.whl.

File metadata

  • Download URL: pygutz-0.1.1-py3-none-any.whl
  • Upload date:
  • Size: 9.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.11.9

File hashes

Hashes for pygutz-0.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 750a7f439cec56b3678a49e8ab057392eba8364af351bd6a199e50036e429c2c
MD5 b2f86f4ea6975e06b6ee382b302e2ed9
BLAKE2b-256 59b109078551c47ba47d2b7a9fa295baa11dd49bc832b67f80dc2544ff73df24

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page