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.0.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.0-py3-none-any.whl (9.4 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: pygutz-0.1.0.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.0.tar.gz
Algorithm Hash digest
SHA256 a0e697392f6b635980bd40ed339d8c6dee61f5cd360422ca78b5463e78a4d51f
MD5 28de6931725c643a3aedf0520a3c851d
BLAKE2b-256 d4fe3711cead73f58fdddc6a5fed7a47b82aee1161984c16400b41fad0382953

See more details on using hashes here.

File details

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

File metadata

  • Download URL: pygutz-0.1.0-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.0-py3-none-any.whl
Algorithm Hash digest
SHA256 516fd9aa08c48e64c514a1e7362e3f50fc9090330c1f61f3ecbeeaf3d30b04bd
MD5 fa15923c12418443c0395bd658a6f933
BLAKE2b-256 59750a2ef13cb60112fed62b49ca6377ce813b37b4009b7b36a99e1d53372101

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